201871030107-常雅伦 实验四 团队作业1:软件研发团队组建个人博客
项目 | 内容 |
---|---|
课程班级博客链接 | 班级博客 |
团队名称 | 卡其脱离太 |
这个作业要求链接 | 作业要求 |
团队的的课程学习目标 | 通过完成项目并学习,掌握团队开发的模式和流程 |
这个作业在哪些方面帮助团队实现学习目标 | 通过学习分析项目案例,学习到怎样更好的进行结对协作并发挥最大效益以及如何进行更好的团队协作 |
团队博客链接 | 团队博客 |
实验内容
任务一:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
选择的小组博客链接:博客
选择的小组Github仓库连接:Github仓库
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
- 程序中的不足与bug:
-
在使用算法时,选择10组数据时出现数据接口请求异常错误
-
在GUI界面中,当选择不同功能时,出现的页面一样,显示不出差别,对于用户来说不是很友好
-
自己设计的GUI界面与使用的框架中已有的部分处理不是很好,使用过程没有提示,容易造成误解
-
- 概要设计:
- 代码符合需求和规格说明
- 代码设计基本考虑周全
- 代码中注释详细,可读性很高
- 代码的每一行都检查过了
- 设计规范部分:
- 设计遵从已知的设计模式
- 有数字和字符串的存在
- 没有无用的代码可以清除
- 代码规范部分:
- 修改的部分符合代码标准和风格
- 具体代码部分:
- 数据结构中没有用不到的元素
- 效能:
- 代码的效能很好,对于要求的功能可以成功实现
- 可读性:
- 代码的可读性很高,注释部分详细
- 可测试性
- 代码不需要更新,可以直接运行
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
-
体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
-
绘制散点图
-
运用三种算法
-
日志记录
-
-
总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
- 完整的实现了实验三要求的功能;
- 优点:数据量完整,并且可以上传本地数据;界面清晰,可以明了的观察结果;功能完善。
- 建议:相对来说GUI界面在使用过程中提示不是很明确,如果可以改进,则会更加完美。
-
从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
- 职业:学生群体
- 学历:本科及以上
- 专业:计算机专业
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
- 经过运行测试,对该作业非常推荐
(5)谈谈完成本次作业的感受和体会
- 本次作业任务一通过案例项目的分析,我意识到了自己与他人的差别,这也让我明白只有在实践中才能锻炼自己,提升能力,在运行别人源码的过程中,也学到了许多编码的知识。
任务二:团队组建
任务要求:
(1)在实验三结对基础上,结对小组两两自由组合,组建软件项目研发团队;
(2)申请开通团队博客,点击以下链接提交团队信息,将团队博客加入到班级博客。
任务内容:
1.队名:卡其脱离太
2.团队成员组成,按以下列表形式给出,个人博客地址需加超链接,在备注中标记团队组长(PM)
成员学号后五位 | 成员*名 | 个人博客地址 | 备注 |
---|---|---|---|
10130 | *学铭 | 博客链接 | PM |
30110 | *飞 | 博客链接 | |
30131 | *林江 | 博客链接 | |
30107 | * 雅伦 | 博客链接 |
3. 成员风采:介绍每位队员的风格、擅长技术、编程兴趣、希望的承担的软工角色(文档、开发、测试、PM等)、一句话宣言等
成员*名 | 擅长语言 | 擅长技术 | 编程兴趣 | 希望的承担的软工角色 | 宣言 |
---|---|---|---|---|---|
*学铭 | C/C++ | 算法 | 爱好算法,喜欢创新 | PM(算法工程师) | 天总会亮的,没有太阳也会亮的。 |
*飞 | JAVA | SSM、thymeleaf等 | 不太喜欢编程,但我会尽力让自己爱上编程 | 测试 | 世间万物中,表里如一者,又有几何。 |
*林江 | JAVA | UI | 想法很多,希望能设计出一款自己满意的APP。 | UI设计 | 天地不仁,以万物为刍狗。 |
* 雅伦 | Python | 数据分析处理 | 编程不是我擅长的领域,但我会努力去克服它 | 文档 | 律己而强,勤勉则刚 |
4.阅读《现代软件工程—构建之法》第7章、第17章,理解MSF的9点基本原则和团队成员绩效
MSF的9点基本原则:
- 推动信息共享与沟通(Foster open communications)
- 所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到的技术机密、安全性等信息要采取必要的保护措施
- 为共同的远景而工作(Work toward a shared vision)
- 这个目标必须是明确的,没有二义性;这个目标不是当前就能达到,必须是通过努力才能达到的;这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。每天你来上班,如果发现你做的事情对项目的远景没有帮助,你应该和老板提出来。
- 充分授权和信任(Empower team members)
- 平等协作---成员之间、团队之间是平等协作的关系;充分授权给团队和成员。
- 各司其职,对项目共同负责(Establish clear accountability and shared responsibility)
- 无责任的旁观者和有重大责任的当局者的看法自然是不一样的。对此事负责的角色要自己拿主意。
- 重视商业价值(Focus on delivering business value)
- 如果你还没有能说清楚你的产品解决了什么问题,为谁解决问题,为什么你的产品会解决这些问题,以及客户怎样付钱让你解决问题,那你就不应该贸然创业。
- 保持敏捷,预期变化(Stay agile,expect change)
- 软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一-时刻很明确,然后保持不会变。但要注意,我们是预期变化,不是期望变化。
- 投资质量(Invest in quality)
- 不是质量第一,而是解决用户的问题第一。
- 学习所有的经验(Learn from all experiences)
- 把经验总结出来;分享经验。是为了:让团队成员从别人的成果和失败的例子中学到东西;帮助新项目重复以往成功的做法;培育团队总结的习惯和“批评与自我批评”的文化。
- 与顾客合作(Partner with internal and external customers )
- MSF强调产品团队与顾客的交流与合作,并不是产品团队拿到合同之后,就闭门造车,直到产品完成才告诉用户,给他们一个惊喜。
5. 组建团队企业微信群,给出群成员截图
6. 团队特色描述,言简意赅的描述团队特点或核心竞争力
我们小组普遍动手能力不错,各个成员有着各自擅长的领域,更有两位同学在平时拥有独立完成项目的能力,小组四人基本上擅长的编程语言基本涵盖了几门主流编程语言,希望我们小组的发展越来越好。
任务总结:
1.记录完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间
任务 | 耗时 |
---|---|
任务一 | 3h |
任务二 | 2h |
任务三 | 1.5h |
2.谈谈完成本次作业的感受和体会
- 本次作业任务一通过案例项目的分析,我意识到了自己与他人的差别,这也让我明白只有在实践中才能锻炼自己,提升能力,在运行别人源码的过程中,也学到了许多编码的知识。在本次任务二的学习中与同伴在理论上讨论了关于团队的概念和各种团队模式,体会到了一个团队要完成一个项目,需要各个成员做好分工协调工作,以及在项目启动时的开发计划尤为重要,这为我们之后的团队合作项目奠定了基础。