前言
本周在进行教程的复习,对一些知识点有了更深的体会
因为下周就开始开发了,我觉的下周的技术问题可能会出现特别多
所以这周对照着我们的教程,整理了一下我们开发的流程思路。
我们的目标:一个开发团队写出的代码,就像一个人写的一样!
首先跑起来环境,搭建好数据库
开发流程
一、找对象
分析一下我们的项目需要什么样子的的对象
一个系统离不开数据库、数据表,我们需要先分析出系统需要的对象种类、以我们学习的结构为例,我们要先分析出我们的对象,对象包括教室、班级、学生、课程,找到英文名字一一对应好。
开启环境、建立数据库、数据表等到做好
二、把这些东西列出来,放到E-R图中
E-R图中必须具有的东西:键值,我们统称为id,创建时间,更新时间(什么时候加入更新时间),然后把他们绘制到一个图像,在图像当中标出相关的信息
把E-R图做好之后,分析其中不同对象之间的对应关系,将多对多的关系拆分掉
三、思考我们需要什么样页面、功能
这一部分我们应该首先思考的是功能、然后把功能和页面联系起来,我们设计的系统的页面都是和对象紧密联系的
这个过程单一思考的时候有种笼统、无从下手的感觉,但我们还是要把他们结合起来思考,我们在E-R图中已经把我们要写的元素展示出来了,接下来考虑我们需要是什么样的关系,我们可以逐个的入手讨论。
注意的是:一个动作对应一个action,这是我学习的时候一个误区,关于跳转的动作当时没有理解清楚。
一个动作对应一个方法,然后建立出一个网状结构,把所需要的action对应好。
(我们从让系统首先展示出来的页面开始思考、index页面需要展示出教师的首页,所以应该是读取、同时首页中有编辑和删除的两个按钮,我们要在首页当中的按钮与C层的方法链接起来,按照这种思路,我们把这些功能列出来)教师对象:添加、编辑、删除
班级对象:添加、编辑、删除
学生对象:添加、编辑、删除
班级课程对象:添加、读取数据
课程对象:添加、编辑
有了这些我们需要制作的功能之后,从每个功能入手,分析功能会涉及到的对象,权限,功能方法,就像在学生对象中,我们会涉及到直接调用课程对象的问题,把这些做成属性添加到UML图中去。并且把相关功能的注释,以及方法的内容添加到UML图当中。
完善UML图,分析逻辑是否合理,然后开始写代码。
四、数据库
创建好了数据库,我们要在给相应的对象建立数据表,用管理工具可以不需要sql语言建立,sql语言需要逐渐的学习,注意我们的要求规范:
五、配套设施走起
首先链接数据库,按照教程中的方法,在我们的php当中把相关的信息搭建好
先把我们之前UML图中涉及到对象模块的
M层、C层、验证的相关文件夹、文件
都建立起来,相关的文件名都写好,文件的use内容弄好(也可以在写功能的时候完善,但是提前多写一点总能避免一些问题吧),借助UML图把框架搭建完成。
四、页面
我们开始设计V层的html,先从首要的对象入手(如教师或者学生,由于我们是教师管理系统,登录需要用教师的id,所以首先完成教师对象的设计)
在bootstrap里面查找相应的模板,然后把他加入到V层
注意要多写注释。
把设计好需要显示的数据、功能按键、把相关功能的url位置标注出来
五、写功能
注意一个动作对应一个action,然后把我们需要写的功能去完善,参照教程里面的代码,还有开发手册里的代码进行添加功能。ThinkPHP里有很多东西都是自动联系好的,要不断的去参照教程去写代码。
能写到M层里的功能就不要放到C层
在这里写功能的时候,目前自己感觉还不是很熟练,只有照着教程一步一步走了。
六、调试
就像当初写c++的实验,作为一个客户把功能都验证一遍,看自己的程序有什么错。
在完成功能的时候就应该不断地调试,有些常见的问题我们在之前的学习当中已经遇到过,但是相关的问题肯定还会层出不穷,要有耐心。
按照教程中的方法开启trace,看着控制台,一步一步验证。
七、定制路由
把代码按照教程中的方法定制成我们需要的域名的格式
八、代码重构
对象的方法完成并且调试结束之后,我们也就有了对代码的整体把握,现在开始重构代码,我们把教程中重构的方法用起来,给代码进行越来越精简的重构,并且团队要尽量把代码的格式写成一致。
其他
下周就开始开发了,最近的事情好像一下子多了起来,有团队的任务,还有开学的考试,目前剩下的时间也就半个月左右了,努力抓时间干吧。
在网上看到一段话,作为本周的总结吧
每天至少有一半的时间和精力都花在了没有意义的人和事上,而一年下来你却感觉毫无收获。我想这就是一天很长,一年却很短的原因。
本文作者:河北工业大学梦云智开发团队 温宇航
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[ThinkPHP5(五)]http://www.zyiz.net/tech/detail-144185.html