第三次作业——结对编程
031302418 031302442
一、功能的分析
此次结对编程主要是用代码实现读取excel表格的内容插入到数据库当中,并从数据库中调出内容显示在界面上。这个功能,比起手动插入数据到数据库,方便很多。而且,为后期用数据库导出excel表格,避免手动汇总报课信息奠定了基础。
二、实现的思路
上述功能的实现,我们组原本想采用APP的方式,在尝试了几天之后,问题层出不穷,最后经过多次商议,采用web的形式,使用PHP+HTML+CSS的做法。PHP相比安卓更加简单,PHP客服端、服务器一体化,无需像安卓一样借助第三方服务器访问数据库,为我们小组实现此次功能,节约了不少的时间。
1、首先,先写一个demo,实现PHP和数据库的连接。
2、其次,编些.php文件,调用PHPexcel实现excel导入数据库的功能。
3、然后,搭建html+css页面,实现数据库和网页的交互。
三、数据库设计的考量
此次实现只需,展示报课信息表,没有复杂的数据表的关联,所以此次数据表的结构和excel的表的结构类似,仅在导入数据库的时候,增加了一个主键course_id,做唯一标识。
虽然此次功能所需的数据库的比较简单,仅仅需要一张表,但是我们小组,仍然学习了powerdesigner的用法。
1、创建一个名为course的Conceptual Data Model
2、创建一个新的实体,在实体内部增加字段
3、后续操作,导入数据库
由于我们这次采用的开发环境是wamp server,是PHP+mysql的集成开发环境,但是powerdesigner导入到mysql中去,也由于时间的紧迫,我们就直接在mysql中建立数据库表。此处不做演示导入SQL server的例子,详细可参考本班同学博客http://www.cnblogs.com/beasthunter/p/4842152.html#3276082。
4、数据库展示
四、PSP表格
五、页面展示
六、源码的Github链接
https://github.com/Maybe001/CourseManagement
七、Github上的commit的日志
八、结对的两张照片
九、两次结对经历的小结
经过两次的结对编程,总体而言,了解了需求分析的大致流程,以及开发过程中,不断修改,不断完善的过程,体会到团队协作之间的重要性。上一次结对,我们小组经过对客户需求的分析,拟定了大致的需求分析文档,我主要负责原型设计,学习了Axure RP的使用。 一个好的交流和规划,有利于后阶段项目的开展实施,为编码、完善阶段省下不少时间。
此次结对,我们小组把任务分成两个部分,我负责编写把excel导入数据库的部分,队友负责把数据库的内容展现在数据库上。这次的结对经历,让我重新温习了php的用法,更让我学习了新的知识。在编码的过程中,我遇到了中文乱码的问题,后找到解决方案,把数据库、php、html的字符都设置为utf-8的格式,很好的解决了乱码问题。在此次结对Git使用过程中,也遇到了很多问题,例如仓库创建者和team内成员的权限不同,无法上传代码。同时,我个人还遇到一次上传成功后无法再次上传,更新远程仓库的问题,问了同学才知道,是需要建立分支上传,不能放在master里。我认为学会使用Git代码托管,是做软件工程开发的必备技能,我将继续学习,查缺补漏。