项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12616341.html |
我的课程学习目标 | (1)学习团队软件项目流程(TSP)、团队成员协作要求。(2)掌握敏捷流程原则及相关概念。 |
这个作业在哪些方面帮助我实现学习目标 | 通过案列了解了软件项目流程及团队协作的过程。 |
结对方学号-姓名 | 201571030115-李雪芬 |
结对方本次博客作业链接 | https://www.cnblogs.com/lixuefen/p/12666041.html |
任务一:在实验三得分100分以上作业中,任选一份作为案例,对案例项目成果进行评价
1.案例作业博客链接https://www.cnblogs.com/hackerZT-7/p/12544280.html
2.案例作业项目仓库链接https://github.com/YHwzt/Query-system-web
3.对案例博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系,并将以上评论内容发布到案例作业的博客评论区
4.项目运行结果:
软件功能总结:
系统实现了项目所要求的采集全校各类师生员工疫情信息;提供高级查询功能进行多属性组合查询和可视化统计功能;
可【导出】查询列表的EXCEL文件;在此基础上也完成了扩展功能定时填报。
5.总结本组实验三博客作业及代码设计存在问题与不足,列举代码中存在的bug,未实现的功能等。
博文作业符合老师要求。代码设计上学习了其他优秀结对小组的项目后,发现了不少值得学习的地方。
我们组虽然实现了项目要求的基本功能,但是附加功能没能实现,代码没有明显bug。
任务二:与实验三结对伙伴协作学习:阅读《现代软件工程—构建之法》第5-6章内容
软件项目团队的特点
团队有一致的集体目标,团队要一起完成目标。2.团队成员有各自分工,互相依赖合作,共同完成任务。
了解软件团队的模式
1.窝蜂模式:像小朋友踢球一样,球在哪里,人就一窝蜂跟在哪里,是一种欢乐而随意的形式。基于直觉形成的团队模式,存活时间不长。2.各司其职,为主治医师服务。像在手术台一样,有一个主刀医师,其他人负责协助主刀医师。3.明星模式:主治医师模式运用到极点。团队成员个性非常突出的团队模式,时时处于解体边缘。4.社区模式:每个人参与自己感兴趣的项目,贡献力量的团队模式。5.业余剧团模式:每个人分工不同,且有权自主挑选。6.秘密团队:软件项目在秘密条件下进行的团队模式,自由无干扰。7.特工团队:由专业人士组成的团队模式,精通某一领域。8.交响乐团模式:分工协作且经验丰富的团队模式。9.爵士乐模式:不太靠谱但个性十足具有创意的团队模式。10.功能团队模式:具备不同能力的同事们平等协作,共同完成某一个功能的团队模式。11.官僚模式:成员之间有领导关系的团队模式。
瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点
瀑布模型特点:其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
瀑布模型变形:1.生鱼片模型:各相邻模块像生鱼片部分重叠。2.大瀑布带着小瀑布模型:在瀑布群中完成子瀑布统一才可做系统测试。
渐进交付流程:是一个不断重复和迭代的过程,指的是当系统的主要需求和框架明确后,团队进入一个不断演进的循环中。
敏捷流程:敏捷开发的过程有着更强的适应性而不是预设性,敏捷开发的过程中,更加的注重人的因素,在敏捷开发的过程中,整个项目是测试驱动的而不是文档驱动的。敏捷开发的第一个好处,就是早期交付,从而大大降低成本。第二个好处是,及时了解市场需求,降低产品不适用的风险。
卡内基梅隆大学(CMU)软件工程学院总结的TSP原则
使用妥善定义流程,流程中的每一步都可以重复,可以衡量结果。团队各个成员对团队目标、角色、产品都有同一理解。尽量使用成熟的技术和做法。尽量多收集数据,并根据数据做出理性的决定。制定切合实际的计划和承诺。增加团队的自我管理能力。专注于提高质量,争取在软件生命周期早期发现问题。
讨论截图
任务三:结对伙伴协商,选择一个高质量的团队项目案例进行协作学习
任务三选择了北京航空航天大学PureMan团队的项目
1.团队项目作业发布账号链接https://www.cnblogs.com/PureMan6/p/11023030.html#7
2.团队项目仓库github链接https://github.com/swearitagain/EduCnblogs2.0
3.陈述你选择该团队项目进行分析的理由
通过学习团队项目博客园app的开发过程中,了解软件项目流程以及团队中各个队员是如何协作的。
4.结合项目系列博客文档,总结项目团队成员的分工合作情况
PM:邵旭哲、吴昊PM 主要完成博客撰写;管理Github项目和issues;编写问卷,收集并整理用户需求和反馈等
开发:吴昊 主要学习代码编写;实现功能“成员列表”的迁移等功能;
开发:胡俊崧 主要学习react-native框架,熟悉项目结构;增加对作业的操作中学生、老师、助教的区分等
开发:陈治齐 主要编写班级选择功能和界面;完成班级博文列表筛选功能的重构等
开发:蒋锋 增加查看班级公告列表功能、修复相关问题;增加发布公告功能、修复相关问题
测试:吴枫 学习测试,复现上一版本未修改的bug测试用户的登录与登出,测试作业相关功能等
5.结合项目系列博客文档,评价项目的软件项目过程特点(TSP)
团队的各个成员对团队的目标、角色、产品都有统一的理解。
使用了成熟的技术和做法;
在开发过程中,团队的自我管理比较强。
在测试方面收集了较多的数据进行了测试。
6.观察该团队项目github仓库的源代码文件结构,是否包含代码规范文档?
7.下载团队项目代码,尝试部署项目运行环境并使用软件,描述最简单直观的使用体验,找出至少两个比较严重的功能性bug,在博客中展示截图
|
8.评价该团队项目是否值得继续开发,并陈述理由?
该项目值得继续开发。原因是博客园app很好的解决了想在手机端使用博客园处理一些有关博客的问题,界面比较友好,增加了黑夜模式,值得继续开发。
各项任务实际花费时间
任务 | 计划完成时间(min) | 实际完成时间(min) |
---|---|---|
任务一 | 200 | 240 |
任务二 | 120 | 130 |
任务三 | 150 | 180 |
谈谈完成本次作业的感受和体会
阅读了《现代软件工程—构建之法》第5-6章内容以及学习了其他优秀的团队项目后,我对软件的项目流程有了较为深刻的认识。了解到TSP原则对项目开发过程的重要性,也认识到了我们的许多不足之处。