热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何从零开始教女同学进行PHP开发:写需求文档_PHP教程

如何从零开始教女同学进行PHP开发:写需求文档。背景:远在北京的高中女同学让我帮忙当她的实训技术顾问,实训要求个人独立开发一个web项目,她选择的开发语言是php。其实我又当了一
背景:远在北京的高中女同学让我帮忙当她的实训“技术顾问”,实训要求个人独立开发一个web项目,她选择的开发语言是php。其实我又当了一次标题党,她虽然以前从来没用过PHP,但是却有一点点html、css、Javascript基础据说已经忘光了),有用过C和java写过东西。

项目描述:

题目——资源预定管理系统

功能需求——

1. 针对企事业单位开发一个资源预定管理系统

2. 针对不同类别的资源,例如会议室、汽车、仪器设备等,向员工提供预约使用的功能

3. 员工登录系统后,可以查看指定的资源当前的预定情况,可以预定指定时间段内空闲的资源。

4. 不同的资源需要根据情况设置不同开放时间,例如每天的8:00到18:00,用于智能在开发时间内进行预定

5. 不同的资源可以预定的最小时间单位是不同的,例如会议室按分钟进行预定,最短15分钟,汽车按小时预定,最短2个小时。

6. 系统遵循先到先得的原则进行预定。

7. 用户预定后,尚未使用前可以取消,取消后,其它用户可以继续预定

第一步:写需求文档

计算机专业的同学一般都上过软件工程这门课,自然知道做需求的重要性。就算没上过,有过工作经验的同志们也应该看过别人写的需求文档。如果把一个项目的完成比作造房子,那么需求就好比建筑设计图,如果设计的不好,那么造出来的房子也不会好看。虽然软件开发比建筑有更大的灵活性起码房子不能动不动就回滚代码,撤销更改),但是需求要是做得不全面不严格,往往会极大地增加不必要的工作量和降低工作效率。

你想想,今天告诉你这样一个需求,你代码写了一半,过几天告诉你需求改了,之前的代码都没用了,你什么感觉?虽然需求变更是常有的事,但是一旦需求发生失控,对项目的影响往往是灾难性的。

幸好妹子之前做桌面软件课程设计的时候写过需求文档,不然要从头开始学怎么做需求还是一件蛮麻烦的事情。但如果刚入门的童鞋嫌麻烦不做需求是大大的不妥,且不论进入正式工作后要接触更为严格严谨的需求文档,哪怕只是应付学校里的课程设计,在软件规模足够大的情况下,做需求用一天的时间,起码可以使开发的时间缩短一个星期。

第二步:登录页面的举例

妹子写需求文档去了,那我也不能闲着。因为我之前只是稍微看过php的相关资料,并没有用过php写过一行代码,为了走在妹子前面,必须要提前学习妹子要用的东西。由于这个课程设计的项目有登录的功能,所以我打算用这个页面作为介绍php的第一个例子,并且往后还会就登录功能整个流程进行更加详尽的说明。

首先,我们看一个最简单的html登录页面,上代码!

  1. <html>
  2. <head>
  3. <meta charset="gbk">
  4. <title>用户登录界面title>
  5. head>
  6. <body>
  7. <form name="login" action="Controller.php" method="post" >
  8. <td class="tbl">用户名:td><td><input type="text" name="user_id">td>
  9. <td class="tbl">密码:td><td><input type="text" name="user_password">td>
  10. <td><input type="submit" value="登入系统">td>
  11. form>
  12. body>
  13. html>

为了让大家不当极致的伸手党,我就不把页面截图上来了,大家自己 用浏览器看看效果。为什么我要给妹子写这几行代码呢?主要是想让妹子重新熟悉一下html代码长什么样子,而且是为了下面让妹子知道php与html为什么混合在一起做铺垫。过了这么一会儿,大家应该已经看过上面那些代码的显示效果了吧。既然这样,请看下面加入php后的代码:

  1. php //php代码部分开始
  2. echo "<html>";
  3. echo "<head>";
  4. echo "<meta charset=\"gbk\">";
  5. echo "<title>用户登录界面title>";
  6. ?>
  7. head>
  8. <body>
  9. <form name="login" action="Controller.php" method="post" >
  10. <td class="tbl">用户名:td><td><input type="text" name="user_id">td>
  11. <td class="tbl">密码:td><td><input type="text" name="user_password">td>
  12. php
  13. echo "<td><input type=\"submit\" value=\"登入系统\">td>"
  14. ?>
  15. form>
  16. body>
  17. html>

这段代码主要让妹子了解这么几点:1)php代码要用标签进行标识2)如何使用echo语句进行输出html代码,另外关于要用对""中的"(双引号)用\转义符)进行转义。3)php代码是如何跟html代码进行混合的。

PS:完事开头难,第一篇文章就先写这么多。起点定的太高反而不好,容易把初学者搞迷糊了。多看作为例子的代码,自己动手改一改,写一写,感受一下。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/601050.htmlTechArticle背景:远在北京的高中女同学让我帮忙当她的实训技术顾问,实训要求个人独立开发一个web项目,她选择的开发语言是php。其实我又当了一...


推荐阅读
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
author-avatar
c33454059
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有