项目 | 内容 |
课程班级博客 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
作业要求 | https://www.cnblogs.com/nwnu-daizh/p/12616341.html |
课程学习目标 | (1)学习团队软件项目流程(TSP)、团队成员协作要求。(2)掌握敏捷流程原则及相关概念。 |
本次在哪些方面帮助我实现学习目标 | 软件项目流程(TSP)、团队成员协作要求和敏捷流程原则及相关概念的方面 |
结对方学号-姓名 | 201771010122-王斌龙 |
结对方本次博客作业链接 | https://www.cnblogs.com/1171849616a/p/12674636.html |
任务1:实验三优秀案例推荐:王之泰&韩腊梅组
https://www.cnblogs.com/hackerZT-7/p/12544280.html
https://www.cnblogs.com/hanlamei/p/12574378.html
在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价,具体要求如下:
(1)对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区。
(2)克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。
(3)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。
1、案例作业博客链接;
https://www.cnblogs.com/http-www-whh0601-cnblogs-com/p/12553743.html
https://www.cnblogs.com/2017xinghui/p/12554158.html
2、案例作业项目仓库链接;
https://github.com/yy202901582/DieaseSubmitSystem
3、博客评论如下:
汪慧和博文
杨野博文
(2)克隆案例项目源码到本地机器,阅读项目代码规范文档并运行代码,总结代码运行中存在的问题,体会案例博文是否有助于项目代码理解。
克隆案例源码:
功能截图
主界面:(可输入信息进行查看)
对信息形成不同学院柱状图
根据学院可以查询
填报信息显示提醒窗口
定时提醒界面
(3)总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等等。
总结:代码很详细,通过运行colne来的代码没有大的问题存在,所有开发的功能都可以显示,与案例博文上描述的是一致的,通过运行代码和学习案例博文相结合更好的让我从本次案例博文中看到了别人的博文的长处,自己在博文中的一些不足。
不足:此案例的程序要是将界面在美化一下,将会很大程度提升软件的体验感。代码的设计上有严重问题,代码没有分成多个类,而是将代码全部放在了一个类中,显得十分杂乱。
功能不足:从老师的要求来看本团队已完成所有的任务,但我认为应该加入按照时间查询的功能会更加便捷对多日信息筛选查询。
存在的Bug:在导出excel的时,只能导出全部的信息,实际上可以在每个按钮上都设计一个导出excel功能就可以实现导出特定信息,选择了导出全部信息的功能,并存在上报的信息导出时会存在所有信息都跑到第一行的现象。
任务2:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容,理解并掌握软件项目团队的特点、了解软件团队的模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;
博客作业中针对任务2的评分要点:提供两人讨论任务2学习内容的微信或QQ截图,要求截图美观。(10分)
(1)瀑布模型及其变形
当软件行业还在年幼的时期,它从别的成熟行业(硬件设计,建筑工程)借用了不少经验和模型。在那些“硬”的行业中,产品大多遵循[分析→设计→实现(制造)→销售→维护]这个流程。由于在“硬”行业中产品一旦大规模生产,要再返回去修改时就非常困难,甚至是不可能的。因此这个模型描述了单向的、不可逆的生产过程。
为了解决瀑布模型的问题,大家在实践中提出了各种变形:
●生鱼片模型 (各相邻模块像生鱼片那样部分重叠)
这个模型解决了各个步骤之间分离的缺点,同时也带来了一些困扰————究竟什么时候上一个阶段会结束呢?
(2)渐进交付流程
这个流程是史蒂夫.迈克康奈尔在1996年总结的,但是它其实已经很接近现在大家谈论较多的迭代式开发流程。当系统的主要需求和架构明确之后,软件团队进人了一个不断演进的循环中:[开发→发布→听取反馈→根据反馈做改进]
(3)软件项目团队特点:
具有明确且有挑战性的共同目标
团队具有很强的凝聚力
具有融洽的交流环境
具有共同的工作规范和框架
采用合理的开发过程
(4).软件团队的模式
一窝蜂模式:像小朋友踢球一样,球在哪里,人就一窝蜂跟在哪里
主治医师模式:像在手术台一样,有一个主刀医师,其他人负责协助主刀医师
社区模式:由很多志愿者参与,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬
业余剧团模式:团队中各人扮演各人的角色
秘密团队:有一些软件项目在秘密状态下进行,别人不知道他们具体在做什么
特工团队:软件团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题
交响乐团模式:各司其职,想交响乐队一样
爵士乐模式:与交响乐模式存在相当多的对立
功能团队模式:具备不同能力的同事们平等协作公共完成一个功能
官僚模式:脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次向上
任务3:在班级博客园,有很多高校的软件工程课程要求同学们完成团队项目,请与实验三结对伙伴协商,在以下三个班级中选择一个高质量的团队项目案例进行协作学习,要求追踪该团队项目发布所有博客作业,下载项目软件代码。
-
2016级计算机科学与工程学院软件工程 (西北师范大学)
-
2019秋福大软件工程实践Z班 (福州大学)
-
2019春季计算机学院软件工程 (北京航空航天大学)
我选用的是2019春季计算机学院软件工程 (北京航空航天大学)的项目
1.团队项目作业发布账号链接;
https://www.cnblogs.com/PureMan6
2.团队项目仓库github链接;
https://github.com/swearitagain/EduCnblogs2.0
3.陈述你选择该团队项目进行分析的理由;
一直以来想拥有一款博客园的app,这样就不会出现在网站中去登陆,不会有那么多广告弹出来。另一个原因是在撰写博文和查看别人的博文时更加的方便。并且此案例从他们团队的博文来看做的东西挺扎实,对自己也有很大程度的提升。本来也喜欢手机app
4.结合项目系列博客文档,总结项目团队成员的分工合作情况;
团队成员 | 分工 |
吴昊 | 是项目的总指挥 |
邵旭哲 | 负责所有博客撰写 |
陈治齐 | 开发人员 |
吴枫 | 测试人员 |
胡俊崧 | 开发人员 |
蒋锋 | 开发人员 |
更详细的分工可参考这篇博客,看了该团队成员的分工之后,我觉得他们的分工很合理,项目可能花费的时间比较长一点,在开发的过程中,先是规划出了一个总的分工,在项目进行的每个阶段每个成员又细化了分工,分工非常明确,很值得我们学习。
5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP);
(1)使用了妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。
(2)软件项目过程中:
使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。团队的各个成员对团队的目标、角色、产品都有统一的理解 。
尽量使用成熟的技术和做法。尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。
制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。增加团队的自我管理能力。
专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作(而不是在后期匆忙修复问题)。
(3)使用了成熟的技术和做法
团队主要采用了功能团队模式模式,具备不同能力的人平等协作,成员在团队中都听从PM的指导和安排,各司其职,团队内部交流也比较多,经常进行开会交流,进度明了,未解决的问题可以很快解决,共同完成了这个项目。
6、观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
有代码规范文档,截图如下
7、下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图;
开始界面
存在的功能性bug
(1)页面显示不和手机屏幕大小一致,图片显示不完全,看起来很不方便
8、评价该团队项目是否值得继续开发,并陈述理由?
值得继续开发,初次体验博客园app从总体的框架上还是可以的,但是相对于网页的博客园功能还是不够齐全,这个app目前只能浏览博客,并没有编写博客的功能,如果能尽快将此功能开发出来将会更好,很大程度上是支持此开发的,往后就不用带电脑了,希望此案例的团队继续加油,我会一直追踪你们的进展。
9、记录完成《实验四 软件项目案例分析》各项任务实际花费的时间
任务 花费时间(min) | |
任务1 | 260 |
任务2 | 180 |
任务3 | 270 |
请谈谈完成本次作业的感受和体会。
在本次作业中最让我有感悟的地方是在阅读其他学校的项目时,从中学习到了很多的东西,也感受到了自己与其他同学在各方面的差距,在后续要继续努力提升自己的实力。在与结队小伙伴一起学习探讨在构建之法一书中的东西,感觉这样效率很高,学到的东西也很多,很提倡这种学习方式。