实验四 软件项目案例分析
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12616341.html |
我的课程学习目标 | (1)学习团队软件项目流程(TSP)、团队成员协作要求; (2)掌握敏捷流程原则及相关概念。 |
这个作业在哪些方面帮助我实现学习目标 | (1)在对其他人的项目进行分析的能力; (2)更能理解团队协作、讨论的意义 (3)对于一些开发模型等有了进一步的理解。 |
结对方学号-姓名 | 201771030130-张芹 |
结对方本次博客作业链接 | https://www.cnblogs.com/zhangqin1/p/12669874.html |
实验内容
任务一:实验三优秀案例
在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价,具体要求如下:
(1)对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。 (2)克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。 (3)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。 |
1.案例作业博客链接:https://www.cnblogs.com/Jenna-wang/p/12545576.html
2.案例作业项目仓库链接:https://github.com/Jenna-yuan/NWNU-WEB
Fork该项目

3.符合(1)要求的博客评论

4.符合(2)要求的系统运行截图、软件功能总结(15分);附加分要求:若测试发现案例代码存在bug,截图为证,一个bug得2分,本次作业附加分最高不超过10分;
主界面:

填报选择界面:

学生疫情信息填报:

教师疫情信息填报:

二级登录以及防控办登录界面:

二级界面:

二级数据统计界面:

防控办界面:

防控办高级搜索界面:

防控办数据统计:

软件功能总结:
通过对于其博文的阅读,可以清楚地了解他们的功能设想以及逻辑,也存在代码规范文档,通过代码的查看可以发现还是比较好的按照代码规范编写。在功能方面,首先可以根据身份不同进行填写,可以对所有填报人员的信息进行统计,并显示可以将数据以可视化的形式展示出来
但是也存在许多问题:
(1)教师和学生没有登录功能,可能存在误报的情况
(2)在填报的时间方面,由图可知我填报的时间已经超过了10点,但是依旧显示填报成功,而且填报信息没有进入数据库中

(3)在登录方面,密码我认为最后还是不要直接显示出来

(4)登录时报错,已经解决,发现是在teacherImpl中没有注入service


(5)改完后,登录时没有办法正确获取用户名即数据库中name的填写字段,经检查,是admin.jsp获取的为数据库code字段没有与name对应,已经改正

(6)改完上述的问题之后,又存在错误,显示StudentDao.xml中缺少了很多如selectStudentList,selectStudentListCount等的sql语句,发现已经进行改正

(7)在上述修改完后,又出现了没有定义过得属性(class_name,hn,in等)以及定义类型错误地情况(gn),已经改正

(8)在登录修改完成后后出现了转向的问题 而且报错,由于转向存在问题导致后面的查询也实现不了

(9)数据库中一个账号即可以登录二级也可以登录学校,由于转向问题只能在界面下运行
(10)二级图表只能显示计算机科学与工程学院的填报情况,限制性过强

案例博文其实在项目整体的把控上有很大的帮助,就项目的逻辑以及采用的方式方法等对于我们没有参与过编码的人而言很有帮助,但是,在一些细节问题上还是存在一定的疏忽,正如我在博客评论中所说,有一些属性对于我们而言是一个陌生的定义,像an,bn这种含糊不清的属性,针对这样的属性要么更改为一个大家一眼就能明白是什么含义的属性名,要么就在底下备注一下这些模糊字段所对应的意思是什么,这样更有助于在细节上更容易让大家理解。
5.符合(3)要求的总结,代码运行存在的问题截图为证。
(1)实验三的作业就博客作业而言,我缺少对于整个程序的一个系统图来简明扼要的描述团队项目的逻辑以及功能还有我的博客的截图大小不一就显得有些乱
(2)代码运行存在的不足:
在提醒功能上,如果你已经在10点之前填写过防疫信息,但是在9:55时,系统还是会提醒你让你填写。(以学号为1000例登陆填写信息)
在对于时间的处理中仍然存在一定的问题,我们在数据库定义的类型为Date型,但是在代码编写时,在String类型的date和Date类型转换的时候还是存在问题,所以我们就将一开始定义为Date类型的date在eclipse中改变成了int型,所以输入的时候年月日之间的"-"也就不再输入了。

针对最后在防控办信息统计中的各院的填报信息的可视化方面,我们没有仅仅实现的是各个学院全部日期的信息统计,在当天各个学院的信息填报情况的数据可视化上还是没能实现。

任务2:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;
团队的特点:

团队的模式:

瀑布模型及其变形、渐进交付流程:

敏捷流程:

TSP原则:

任务3:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。
1.团队项目作业发布账号链接:https://www.cnblogs.com/hbtt/
2.团队项目仓库github链接:https://github.com/hbttd/User_requirement
3.陈述你选择该团队项目进行分析的理由:
通过我们对于整个西北师范大学2016级小组的实验一查看,我们选择的这个小组(黑白团团队)计划做的项目是旅游管理系统,首先,旅行对于如今工作繁忙的人来说是一种放松的必要途径,通过这个系统,可以让想要出行的人能够切实了解到各个景区的风景,选择自己喜欢的景区前往。还有现在存在一些导游存在强买强卖的行为,这样一些旅客非常不满,通过这个项目可以让旅客有目的地选择适合自己旅游风格的公司以及导游,保证自己有一个愉快的旅行。最后,因为今年的疫情缘故,不方便出去旅游,如果有这么一个系统,能够让人们足不出户,通过一个网站欣赏到美丽的风景,也是算大饱眼福。遗憾的是,根据我后面对于这个小组的项目追踪,我们发现他们舍弃了对于景点的管理。 |
4.结合项目系列博客文档,总结项目团队成员的分工合作情况;
通过这个小组的分工,我觉得值得肯定的是他们的学习时间是对等的,不存在过度依赖于一个人的情况,也体现了团队的协作能力。在一开始的人员具体的分工上面,针对不同的功能模块也分配的比较合理,说明书的撰写也是大家两人一组分别撰写的以及后期对于软件安装的学习使用也能够分工合作,减少了时间的浪费,还有在后面对于第二天任务的执行也是按照计划的。 不过还是存在一定的问题: ![]() 通过上图可以显示出,在具体的编码过程中,但是在前期的针对功能模块的分工并没有体现出来,相反显得有些凌乱,虽然敏捷过程模型有说明可以针对不同情况进行改动或者整个团队就一段时间大家共同解决一个问题,一开始规定负责这个模块的人在这个模块没有完成的情况下又开始进行另一个模块的代码撰写,就显得对于前期的工作执行以及整体分工还是存在问题的。 |
5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP)
(1)需要自我管理、自我组织、多功能型。通过该团队的项目撰写,该团队的自我组织能力以及自我管理较好,在后期的分工也能积极配合,工作时间也几乎匹配。但是多功能型体现较少,对于存在的问题也只是最多两人参与,剩下的人还是在完成其他的任务。
(2)需要SCRAM MASTER共同统筹。
(3)需要不停地迭代,在不同的迭代中取得不同成果。可以从该团队看出,他们也在不停地进行改正、完善项目。
6.观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
通过观察该小组成员的仓库源码的文件结构,可以发现里面存在《软件编码说明书》即代码规范文档;此外还存在着从需求分析到概要设计,详细设计到编码阶段、测试文档到每日例会的会议记录以及用户手册都有详细的文档说明。 |
7.下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图

(1)首页的界面做的比较好看,而且内容也比较详细,很直观的体现了该项目的主题。 (2)在点进去更多按钮后,界面有点类似于微信朋友圈的感觉,不过这个“更多”显示的界面都是一样的,有点单调了。 (3)在设置界面的界面就显得有些过于简单了。 (4)标签搜索模块为滚动式,但其在进行选择时速度过快,使用不便。 (5)在添加评论的所在地选项具有一定的迷惑性,希望说明所在地是指用户还是导游还有在评论添加的时候可以设置一个提示添加成功的提示,不然也不知道自己是否添加评论成功。 (6)在用户登录之后希望可以显示用户名 |
bug:
(1)在登陆的时候,可以凭借任何的密码和账号都可以登陆。

(2)在主界面的搜索框没有作用,不论搜索什么跳转后还是在主界面

(3)在标签模块在跳转之后右上角显示的并不是自己登陆的id姓名,点击想进行筛选的内容没有相应的处理,搜索框没有作用

(4)评论后,在我的评论中没有自己的评论

(5)在所有评价的页面中,进行回复可以显示,但是刷新之后又不存在评论内容了,而且评论的id名为匿名


(6)在评星中只能对一个人进行评星,而且,也不会进入到整个的评价中去。

8.评价该团队项目是否值得继续开发,并陈述理由?
我认为该团队项目的选题还是比较新颖,且有一些的界面做的还是不错的,只不过一些功能的实现还是存在一定的问题。如果继续开发下去,可以不断完善项目,达到更好的项目效果。而且这方面的软件项目还是比较少的,我觉得还是可以继续开发的。
任务4:完成《实验四 软件项目案例分析》博文作业
记录完成《实验四 软件项目案例分析》各项任务实际花费的时间;
任务一:因为之前的tomcat存在一些问题,且版本的问题,消耗时间较长,花费了大概8个小时。
任务二:从阅读构建之法到讨论完,花费3个小时。
任务三:从一开始内容的选定,到运行,总结项目存在的问题,花费大概4个小时。
请谈谈完成本次作业的感受和体会
通过本次的实验,检测别人的实验项目,感觉跟自己写起来还是有很大的差别。也体现了代码规范的重要性,如果没有一些注释什么的,有些变量、函数其实是有些糊里糊涂的。检验别人的代码其实也是一个自我学习的过程,通过别人的代码、功能、界面对自己未来的项目开发也是有一些启示的,在一些功能实现的方面还是要注意的。
阅读的《现代软件工程—构建之法》我对于软件项目团队的特点和模式有了一定的理解,也更加深入的了解了一些软件过程模型。再经过追踪上一届的小组博客,将理论和之前别人的流程结合,就可以更加明确具体的开发流程,为我们今后的团队项目有了大概的流程了解。