项目 |
内容 |
课程班级博客链接 |
|
这个作业要求链接 |
|
我的课程学习目标 |
(1)学习并掌握关于软件工程的基本理论知识 (2)增强个人独立实践能力 (3)提升自己的专业能力 |
这个作业在哪些方面帮助我实现学习目标 |
(1)学会如何编写并发布博客 (2)通过博客园发现更多学习知识和提升自我能力的好方法 (3)通过博客园可以与志同道合的朋友进行专业上的知识和技术交流 (4)学会如何使用Github |
结对方学号-姓名 |
201771010115—刘志梅 |
结对方本次博客作业链接 |
https://www.cnblogs.com/LZM7343/p/12656757.html |
1、实验目的与要求
(1)学习团队软件项目流程(TSP)、团队成员协作要求。
(2)掌握敏捷流程原则及相关概念。
2、实验内容和步骤
任务1:
在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价,具体要求如下:
(1)对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。
案例作业博客链接:https://www.cnblogs.com/litinghua/p/12534838.html
(2)克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。
案例作业项目仓库链接:https://github.com/wyq1998/System-second
首先我从GitHub上将案例项目的源码克隆到本地机上,对项目进行导入、阅读和运行。代码行文规范,注释明了清晰,代码可读性很高,再加上博文的详细介绍,可以让人很清晰的读懂代码,了解编写者的设计想法和意图。并且案例项目把该有的功能基本上都已经完善了,整体上还不错。
案例项目主要实现的功能有:
- 师生可登录系统进行疫情信息的填报;
- 二级防疫部门人员可进行疫情信息的填报;
- 二级防疫部门负责人可对本部门人员的信息进行增删改查,可根据姓名进行模糊查询,根据学号、填报日期、感染情况进行准确查询,可查看感染情况的统计数据(用柱状图来表示),这里的感染情况查询是查看具体的某一天。
- 学校防控办人员可以进行增删改查等功能,可以按照学号、时间、感染情况等进行准确查询,按照姓名进行模糊查询,可查看感染情况和填报情况的统计数据,可以查看学生和教职工统计信息的汇总。
具体实现运行结果如下图:
登录界面:
学生登录系统进行信息的填写:
二级防疫部门负责人根据学号进行查询:
填报人数的统计:
(3)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。
本组实验三作业中存在的问题主要是对GitHub的使用和基本功能还没有很好的掌握,所以在使用上仅仅停留在上传代码和克隆代码上,这一点还需要自己在接下来的学习中多花时间去钻研。设计上存在的问题有,我们的系统无法与手机或者网络连接使用,无法实现提醒消息的发送和接收,只能在用户登录系统后才可以看到提醒信息,还有就是对于填报信息只能在管理员查看时列出,但无法导出Excel表,这都是后期还需要不断完善的。情况展示如下:
任务2:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;
结对讨论学习内容截图如下:
任务3:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。
(1)团队项目作业发布账号链接:https://www.cnblogs.com/1606-huluwa/p/10905619.html
(2)团队项目仓库github链接:https://github.com/zhaoyanxia2016/zhoulin
(3)陈述你选择该团队项目进行分析的理由:
我们之所以选择该团队项目,首先是在三个班级中凭借个人的感觉选择了 2019春季计算机学院软件工程 (北京航空航天大学)这个班级,在浏览他们班的博客时,发现了一个同学的头像和名字很有趣——葫芦娃不想写代码,点开发现果不其然,他们团队共有七名成员,并且都已葫芦娃里的名字相称,而且在大概了解了一下他的博客我还发现他们做的是一个我之前完全没有经过的项目,于是我便决定去参考分析该团队的项目。希望可以获取总结到更好地学习经验。
(4)结合项目系列博客文档,总结项目团队成员的分工合作情况:
项目团队中的所有成员都有详细的分工安排,都能各司其职,认真完成属于自己的任务;分配的工作量十分均衡,比较公平且高效;团队各成员在任务明确后都为自己制定了较为实际的计划,然后根据计划完成任务;团队成员对于新技术的学习能力较强,自我管理能力也较强;在项目完成后都对自己在完成项目时的表现进行了比较深刻的总结。
(5)结合项目系列博客文档,评价项目的软件项目过程特点(TSP):
- 使用妥善定义的流程,流程中的每-一步 都是可以重复、可以衡量结果的。
- 团队的各个成员对团队的目标、角色、产品都有统一的理解。
- 尽量使用成熟的技术和做法。
- 尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。
- 制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。
- 增加团队的自我管理能力。
- 专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作(而不是在后期匆忙修复问题)。
(6)观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
该团队项目github仓库的源代码文件结构基本上都包含了代码的规范文档。
(7)下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图
我下载了他们的团队项目代码,并不断尝试部署项目的运行环境,最终可以成功运行使用该软件。由于我之前从未接触过此类软件,所以刚开始运行后对这个软件不知道该如何使用,在看了该项目团队对该软件的详细功能介绍后,对该软件有了进一步了解以及新的认识,感觉比较新奇,用户界面设计的也比较美观简洁,功能基本上完善的也很好,整体使用体验很不错。在运行使用过程中我发现了几个功能性的bug,具体阐述和展示截图如下:
-
注册时,用户名含有;.<>?/:"{}[]|'~`!#$%^&*()等特殊字符或者中文字符时,会弹出“用户名或邮箱已被注册”
- 帮助界面侧边栏与正文重叠
-
(8)评价该团队项目是否值得继续开发,并陈述理由?
该项目做的是一个可视化Pytorch编程网站,我认为该项目是值得开发的,因为该项目实现了一个可以通过拖拽组建进行编程的在线编程网站。用户可以通过拖拽组建,搭建模型。如果提供训练数据和测试数据,则可以在线训练模型,并向其展示准确率和召回率。同时,还提供了一个论坛页面,供使用者发帖提问,方便学习者之间的交流、答疑解惑。
任务4:
(1)记录完成《实验四 软件项目案例分析》各项任务实际花费的时间
任务 | 花费时间(h) |
---|---|
任务一 | 4 |
任务二 | 1 |
任务三 | 6 |
任务四 | 1 |
(2)请谈谈完成本次作业的感受和体会:
本次作业主要是以学习参考别人的团队项目为主,通过本次作业我加深了对团队软件项目流程(TSP)的了解,以及更加明白了团队成员间协作的重要性,通过本次作业我总结到了许多团队协作以及项目设计开发的宝贵经验,希望在自己今后的学习中可以应用的到,今后会继续努力。