201971010160-谢家俊 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越工程师班 |
这个作业要求链接 | 实验四 团队作业1:软件研发团队组建 |
团队名称 | 待宰的高羊 |
我的课程学习目标 | (1)迭代实验三项目 (2)复审优秀项目,取长补短 (3)组建软件项目研发团队 |
这个作业在哪些方面帮助我实现学习目标 | (1)通过测试他人优秀项目来迭代自己的项目 (2)进行团队建设,明确团队分工 |
团队博客链接 | 待宰的高羊 |
任务一:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务
被评论作业同学的博客链接 | 201971020107-郭清华 实验三 结对项目—《{0-1}KP 实例数据集算法实验平台》项目报告 |
---|---|
被评论作业的Github项目仓库链接 | DP_EX3 |
1. 博客评论
(1)博文结构:在结构方面,排版整齐,一目了然,整体感觉张弛有度,阅读起来清晰明了。
(2)博文内容:该博文将老师各个任务中的要求都有序的罗列出来并详细的阐述,可以看出每个任务都完成的十分出色,可见对本次作业十分用心。就任务三而言,需求分析、功能设计等内容充实,在设计实现中采用图表和流程图的方式使人更容易读取信息,便于理解。
(3)PSP的时间分布:首先可以看出,在PSP表中,每个小任务的实际完成时间基本等于计划所需时间,对于时间的计划和把控十分到位。在开发上花费时间最多,但计划所需时间与实际所用时间相差不大,表示你在编码方面能力很好。
(4)建议:编码的计划时间较多,可以缩短时间,促使自己提高效率,不断的提升自己。
2. 克隆任务3项目源码到本地机器,阅读并运行代码
-
克隆源代码到本地机器
-
复审项目代码核查表
项目部分 | 完成情况 |
---|---|
概要部分 | |
代码能符合需求和规格说明么? | 符合 |
代码设计是否有周全的考虑? | 是 |
代码的可读性? | 清晰易读 |
代码是否容易维护? | 易维护 |
代码的每一行是否都执行并检查过? | 是 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 是 |
有没有硬编码或字符串/数字等存在? | 有 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 否 |
开发者新写的代码是否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以通过调用而不用全部重新实现? | 是 |
有没有无用的代码可以清除? | 无 |
代码规范部分 | |
修改的部分符合代码标准和风格么? | 符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 已处理 |
参数传递有无错误,字符串的长度是字节的长度还是字符的长度,是从0开始计数还是从1开始计数 | 无错误 |
边界条件是如何处理的?switch语句和default分支是如何处理的?循环有没有可能出现死循环? | 没有出现死循环 |
有没有使用断言来保证我们认为不变的条件真的得到满足? | 否 |
数据结构中有没有用不到的元素? | 否 |
效能 | |
代码的效能如何?最坏的情况是怎么样的? | 效能一般;最坏情况下回溯算法将在极长的一段时间无法给出结果 |
代码中,特别是循环中是否有明显可优化的部分? | 有 |
对于系统和网络的调用是否会超时?如何处理? | 否 |
可读性 | |
代码可读性如何?有没有足够的注释? | 代码有较好的可读性,重要代码部分缺少注释 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 否 |
3. 阅读《现代软件工程—构建之法》第12章内容,并完成分析任务
-
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
首先是登录界面
以"beibao1.in"为例绘制的散点图
遗传算法求解:
-
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
(1)要求的功能已解决;
(2)软件在界面上设置得通俗易懂,易于用户使用;
(3)基本功能基本实现;
(4)该软件产品功能实现较为全面,我觉得可以对界面进行提升。
-
C.从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
学历:本科及以上;
年龄:18岁以上;
专业:以计算机类为主;
爱好:算法爱好者;
收入:低收入;
表面需求:利用软件解决0-1背包问题
潜在需求:实现动态规划等算法,研究其代码,掌握许多算法,提升自己的编程能力。
4. 经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
结论:e) 非常推荐
理由:经过上边的测试,可以看出他们这组的项目做的很出色,各个功能都实现了,人机交互页面对用户很友好,非常值得推荐。
5. 结合(1)—(3)的评论体会,迭代改进本小组实验三的任务3。
项目仓库的Fork、Clone、Push、Pull request、Merge pull request数据变化情况
任务二:团队组建
- 队名:待宰的高羊
- 团队成员组成
成员学号 | 成员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
201971010111 | 何晨泽 | 博客 | PM |
201971010110 | 高杨 | 博客 | |
201971010160 | 谢家俊 | 博客 | |
201971010101 | 阿丽米拉 | 博客 |
- 成员风采
成员姓名 | 风格 | 擅长技术 | 编程兴趣 | 希望的承担的软工角色 | 宣言 |
---|---|---|---|---|---|
何晨泽 | 求是 | 擅长主流编程语言,算法、前端等 | 对算法、数据挖掘等方面兴趣较高 | PM(开发) | 我要上浙江大三本 |
高杨 | 知术欲圆,行旨须直 | C/C++ | 前端、Python | 测试 | 好好学习,天天向上 |
谢家俊 | 积极思考,擅于发现 | Web前端开发 | 喜欢前端开发 | 开发 | 坚持不懈,加油 |
阿丽米拉 | 喜欢动手,善于查找 | C | 前端开发 | 文档 | 知识就是力量 |
- 阅读《现代软件工程—构建之法》第7章,理解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强调产品团队与顾客的交流与合作,并不是产品团队拿到合同之后,就闭门造车,直到产品完成才告诉用户,给他们一个惊喜。
- 组建团队企业微信群
群成员截图
- 团队描述
- 团队特点:团队成员性格各不相同,但不会互相冲突,能从多角度看待、解决问题。
- 核心竞争力:编程能力较强。
任务三:完成《实验四 团队作业1:软件研发团队组建》博文作业
- 完成各项任务实际花费的时间
任务内容 | 实际花费的时间(min) |
---|---|
任务1 | 190 |
任务2 | 50 |
确定团队成员 | 3 |
确定团队各项信息 | 8 |
收集成员信息 | 16 |
组建群聊、申请团队博客、加入班级博客 | 23 |
学习MSF | 45 |
任务3 | 30 |
- 完成本次作业的感受和体会
在本次作业中,通过测试其他小组的项目,让我收获很多,了解了自身的不足。在两人小组编程时,有时会出现对整体架构把握不清的情况,这时如果能跟队友共同讨论分析,会大大加快理解以及设计的速度。通过这次团队项目让我学习到了更多的经验,希望在日后团队开发项目的过程中,可以收获更多的知识与友谊。