201771030130-张芹 实验四 软件项目案例分析
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12616341.html |
我的课程学习目标 | (1)学习团队软件项目流程(TSP)、团队成员协作要求;(2)掌握敏捷流程原则及相关概念。 |
这个作业在哪些方面帮助我实现学习目标 | (1)对团队软件项目流程(TSP)的了解;(2)团队成员协作;(3)软件项目案例分析 |
结对方学号-姓名 | 201771030109-李佩杉 |
结对方本次博客作业链接 | https://www.cnblogs.com/lipeishan/p/12626867.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
3.符合(1)要求的博客评论:
4.符合(2)要求的系统运行截图、软件功能总结;附加分要求:若测试发现案例代码存在bug,截图为证;
(1)clone案例项目源码至本地
(2)系统运行截图
主页面
填报人员身份选择
学生和教职工疫情登记
填报统计
二级部门数据统计功能展现
学校防控办数据统计
(3)软件功能总结
参考案例博文,可以看出案例博文中项目的描述很详细,功能测试也很明确,有助于我们对项目进行分析和理解。随后通过阅读该项目的代码规范,我对该项目进行了运行。经运行项目,了解到博文案例中所描述的功能测试基本实现,其中学生和老师可以进行信息填报,二级部门和防控办可以对数据进行查看。但是我发现项目中也存在一些功能性问题,比如在定时提醒模块中并没有明确的提示,在项目中设计的过了规定时间提示填报失败的功能出现错误,同时查询数据导出到Excel文件的功能也未实现,在搜索模块中,由于代码原因,搜索功能无法正常运行。总之,该项目的基本功能都可以实现,但希望能够对上述所提到的问题进行解决。
案例代码存在的bug
(1)案例博文中提到在过了早上10点之后会显示填报失败,但经测试,就算超过10点,还是会显示填报成功,而且填报信息没有进入数据库中。
(2)二级部门或学院登录时出现错误
(3)在上述错误改正后发现登录时用户名字段对应不上,导致登录失败
(4)上述错误改正完之后,在登录时又发现找不到代码中的selectStudentList
(5)上述错误改正之后,又出现命名无法识别的情况,但问题解决之后,仍然无法登录,所以搜索功能无法使用
(6)数据导出到excel无作用,从下图中可以看出代码中并未给出导出功能的页面转向
5.总结本组实验三博客作业及代码设计存在问题与不足。
(1)问题与不足:
在本组实验三博客作业中,作业截图大小不一,有点混乱,而且有的地方段落缩进也出现一些问题。在代码设计中,主要是定时填报提醒模块考虑不周,而且在时间转换上有一些问题,将在下面的内容中具体阐述。
(2)存在的bug:
在进行时间查询时,存在用户输入的时间无法转为Date型数据正常使用,由于这个问题一直没有得到解决,所以我们将代码中的时间变量定义为int型数据,但是这样在用户输入时有一定的局限性,会导致查询失败,即若用户输入2020-03-15变会查询失败,若输入20200315可以查询成功。
在定时提醒功能上,虽然可以实现提醒,但是即使是用户在规定时间前已填写信息,仍然还是会提醒填报
(3)未实现的功能:
在饼状图的设计上,由于那一块的代码一直会出现问题,所以只是实现了通过学院对学院的所有信息进行填报与未填报的统计,无法实现学院当天的填报与未填报信息统计。
任务2:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;
软件项目团队的特点:
软件团队的模式:
瀑布模型及其变性:
渐进交付流程:
敏捷流程:
TSP原则:
任务三:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。
在任务三中我选择的是2016级计算机科学与工程学院软件工程 (西北师范大学)中黑白团团的导游众评网项目
1.团队项目作业发布账号链接;
2.团队项目仓库github链接;
https://github.com/hbttd/User_requirement
3.陈述你选择该团队项目进行分析的理由;
(1)该项目选题很新颖,而且有一定的市场潜力。
(2)以前在做相关的项目时没有做过有关旅游方面的项目,因此对该项目比较感兴趣。
(3)该项目采用前端技术及其本地存储indexedDB实现,对于其中的本地存储indexedDB在以前的学艺中没有很多的了解,希望从该项目有所学习。
4.结合项目系列博客文档,总结项目团队成员的分工合作情况;
通过阅读该团队的博客账号中的一系列博客,可以看出,他们团队的分工还是比较合理的,从上图中就可以清楚的看到他们的一个分工情况,每个人都有自己的预估计时间,这样可以促使他们尽早完成相应的任务,不会造成项目时间的拖延。在项目的冲刺阶段,也可以看到他们每日的任务分配,但经过阅读和学习,我感觉他们后期冲刺阶段的任务分配有些不合理,通过博文可以看到,任务分配中存在一个人的当前任务未完成便又开始另一个任务,感觉有些混乱。总之,该项目团队成员的分工合作在很大程度都是合理的,每个人都能在预期时间内完成自己的任务,团队的工作效率也很高。
5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP);
通过阅读博文可以发现,项目团队成员对团队的目标,角色,产品都有一致的理解,项目团队成员根据自己的实际情况去制定计划和承诺,而且项目团队有着很好的自我管理能力,但是在技术的选择上似乎有点不太理想,由于项目团队成员对一些技术的使用不是很熟练,所以在后期遇到问题时不能尽快解决,在学习新技术上花费的时间也就比较多。
6.观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
通过上图可以看出,该团队项目包含代码规范文档。
7.下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图;
(1)下载团队项目代码
(2)部署运行环境并使用软件(由于该项目的测试环境支持Dreamweaver、IE浏览器、搜狗浏览器、QQ浏览器等浏览器,所以我选择在IE浏览器上使用此软件)。
主页面
注册
登录
登录之后
我的评论
添加评论
导游信息查看
标签选择界面
(3)功能性bug
任何用户都可登陆,而且同一个用户的密码无限制(测试用例中的Admin账号并未注册,而且两次密码输入不同但均可登录成功)。
标签模块在跳转之后没有相应的数据显示,而且该页面的搜索也无作用
在添加评论成功后,在我的评论中并未看到相关内容,在页面最末尾的查看按钮却可以看到
在导游评价的界面中,我们可以对评论进行回复,但是刷新之后就评价就没有了,而且用户id为匿名
在导游评价的界面中,对用户的评分功能也有同样的问题,评分在刷新之后就没有了,而且该导游的评分仍然为0。
(4)使用体验:
该团队项目使用起来总体上还不错,实现了用户注册,登录,对导游进行评论以及对导游进行筛选等基本功能,界面设计也比较漂亮,但该项目中存在一些功能性bug需要解决,首先,用户的注册和登录没有限制,存在安全隐患,其次,该项目没有用户登录之后的用户信息显示模块,这使用户信息的设置和修改功能无法很直观的去测试,在项目中的标签搜索部分,标签转动过快,无法快速定位,同时搜索功能也存在一些问题,而且在我的评价中无法查看到新添加的评论。总之,该项目的基本功能都已实现,就是缺少安全保障以及存在一些功能缺陷,希望能够有所改进吧。
8.评价该团队项目是否值得继续开发,并陈述理由?
我觉得该项目值得继续开发。首先,该项目的选题很新颖,因为目前市场上有关导游评论的系统或APP是比较少的,可以说是基本没有,所以该项目有一定的市场潜力。其次,现在越来越多的人们都会选择在闲暇之余去旅游,而且很多人都会选择旅游团,那这时候导游在这段旅程中就起到了一个很重要的作用,但是游客无法集中了解国内导游的评价信息,只是在其他各种地方凌乱的搜集信息,所以如果该项目能够不断完善和发展,我觉得人们对该项目的认可度会很高。最后,该项目可以让游客对导游进行一个真实可靠的评价,解决了用户对导游的肯定和不满无处安放的问题。总之,我觉得该团队项目值得继续开发,希望能够对该项目进行完善和改进。
任务四:完成《实验四 软件项目案例分析》博文作业
1.记录完成《实验四 软件项目案例分析》各项任务实际花费的时间;
项目 | 内容 |
---|---|
任务1 | 6小时 |
任务2 | 3小时 |
任务3 | 4小时 |
任务4 | 2小时 |
在任务一中,由于项目环境与本地环境不符合,所以在项目的环境部署上花费的时间较多,但在任务三中,由于项目可以直接在IE浏览器中运行,所以花费的时间比任务一要少。
2.请谈谈完成本次作业的感受和体会。
在本次作业中,通过对其他小组结对项目的分析,发现了自己在时间分配上的不足,但也对代码的阅读有了一定的练习,从中知道了代码规范的重要性。随后通过阅读书籍《构建之法》,对软件项目团队的特点,模式还有瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型的特点以及TSP原则有了一定的学习,在后面的任务三中通过阅读项目团队发布的一系列博客,又对团队合作,敏捷流程和TSP原则有了进一步的了解。通过本次的学习,希望能够在后期的团队项目中对这些知识再有一个很好的应用。