201971010222-李瑞婷 实验四 团队作业1 软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越班 |
这个作业要求链接 | 软件研发团队组建 |
团队名称 | 软件工程四人小团队! |
团队的课程学习目标 | (1)实验三作业互评(2)组建软件项目研发团队 |
这个作业在哪些方面帮助团队实现学习目标 | (1)编程工具的使用(2)代码编写能力提升(3)团队协作,交流能力 |
团队博客链接 | 小团队博客 |
任务一:浏览《实验三 软件工程结对项目》作业,任选一个质量较高的小组项目成果,阅读评论,并在自己的机器上运行。
1:博文作业阅读并按要求评论
项目小组 | 闫雨馨小组 |
---|---|
评论内容 |
2:克隆任务3项目源码到本地机器,阅读并运行代码,并用核查表复审项目代码并记录。
-
克隆
-
运行
-
排序
-
数据库上传
-
复审项目核查表
项目 | 说明 |
---|---|
概要部分 | |
代码符合需求和规格说明么? | 基本符合,功能大致完成 |
代码设计是否考虑周全? | 考虑周全 |
代码可读性如何? | 有点困难 |
代码容易维护么? | 不易维护 |
代码的每一行都执行并检查过了吗? | 是 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 没有 |
有没有硬编码或字符串/数字等存在? | 没有,采用的变量名符合代码规范 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 没有,对移植影响较小 |
开发者新写的代码是否用已有的Library/SDK/Framework中的功能实现? | 是 |
在本项目中是否存在类似的功能可以通过调用而不用全部重新实现? | 不确定 |
有没有无用的代码可以清除? | 有 |
代码规范部分 | |
修改的部分符合代码标准和风格么? | 大致符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 已处理 |
参数传递有无错误,字符串的长度是字节的长度还是字符的长度,是从0开始计数还是从1开始计数 | 无错误;字符的长度;从0开始 |
循环有没有可能出现死循环? | 没有 |
有没有使用断言来保证我们认为不变的条件真的得到满足? | 没有 |
有没有优化的空间? | 有 |
数据结构中有没有用不到的元素? | 有 |
效能 | |
代码的效能如何?最坏的情况是怎么样的? | 效能可以 |
代码中,特别是循环中是否有明显可优化的部分? | 有 |
对于系统和网络的调用是否会超时?如何处理? | 无超时 |
可读性 | |
代码可读性如何?有没有足够的注释? | 关键地方注释少,阅读困难 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 否 |
3:阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务。
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
- 项目界面功能
登录界面,会发现有数据读取,散点图绘制,排序,以及各种算法功能,点击相应的按钮,就会出现相应的功能界面。
- 散点图绘制
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
项目 | 内容 |
---|---|
功能是否完成 | 是 |
优点 | 软件功能齐全,算法种类丰富多样,同时有数据读取和日志记录,排序等功能,页面设计简单大气。 |
缺点 | 代码注释不够多,不方便阅读。 |
改进意见 | 需要进一步提升代码规范能力 |
C. 从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
学历 | 年龄 | 专业 | 爱好 | 收入 | 表面需求 | 潜在需求 |
---|---|---|---|---|---|---|
研究生 | 18岁以上 | 计算机专业 | 编程,项目开发 | 收入较高 | 实现几种不同算法解决0-1背包问题 | 算法编程能力 |
(4)经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
-
e)不错
理由:项目功能完成度高,算法也很齐全,页面设计美观。
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三的任务3。
规范代码:
任务2:团队组建
* 队名
软件工程四人小团队!
* 团队成员组成
成员学号 | 成员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
201971010223 | 刘温元 | 博客链接 | PM |
201971010222 | 李瑞婷 | 博客链接 | |
201971010229 | 刘转弟 | 博客链接 | |
201971010150 | 闫雨馨 | 博客链接 |
* 成员风采
成员名 | 擅长语言 | 擅长技术 | 编程兴趣 | 希望的承担的软工角色 | 宣言 |
---|---|---|---|---|---|
刘温元 | C/JAVA | SSM、thymeleaf等 | C、JAVA、前端开发 | PM | 细节决定成败 |
李瑞婷 | C/C++ | UI | C、C++、前端开发 | UI设计 | 成功者千方百计,失败者千难万险! |
刘转弟 | C/JAVA | 算法 | 算法,JAVA、C | 测试 | 偶尔治愈,常常帮助,总是期待 |
闫雨馨 | C/Python | 数据分析处理 | 前端开发、Python | 文档 | 踏踏实实,认真做事 |
* 理解MSF的9点基本原则
1:推动信息共享与沟通(Foster open communications)
所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到的技术机密、安全性等信息要采取必要的保护措施.
2:为共同的远景而工作(Work toward a shared vision)
这个目标必须是明确的,没有二义性;这个目标不是当前就能达到,必须是通过努力才能达到的;这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。每天你来上班,如果发现你做的事情对项目的远景没有帮助,你应该和老板提出来。
3:充分授权和信任(Empower team members)
平等协作---成员之间、团队之间是平等协作的关系;充分授权给团队和成员。
4:各司其职,对项目共同负责(Establish clear accountability and shared responsibility)
无责任的旁观者和有重大责任的当局者的看法自然是不一样的。对此事负责的角色要自己拿主意。
5:重视商业价值(Focus on delivering business value)
如果你还没有能说清楚你的产品解决了什么问题,为谁解决问题,为什么你的产品会解决这些问题,以及客户怎样付钱让你解决问题,那你就不应该贸然创业。
6:保持敏捷,预期变化(Stay agile,expect change)
软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一-时刻很明确,然后保持不会变。但要注意,我们是预期变化,不是期望变化。
7:投资质量(Invest in quality)
不是质量第一,而是解决用户的问题第一。
8:学习所有的经验(Learn from all experiences)
把经验总结出来;分享经验。是为了:让团队成员从别人的成果和失败的例子中学到东西;帮助新项目重复以往成功的做法;培育团队总结的习惯和“批评与自我批评”的文化。
9:与顾客合作(Partner with internal and external customers )
MSF强调产品团队与顾客的交流与合作,并不是产品团队拿到合同之后,就闭门造车,直到产品完成才告诉用户,给他们一个惊喜。
* 团队企业微信群
* 团队特色
1:团队特点:团队人多,每个人都有擅长的能力
2:核心竞争力:善于发挥所长,协作能力强
任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业
-
完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间
任务内容 | 花费时间 |
---|---|
任务一 | 113 |
博客评论 | 20 |
代码运行 | 20 |
任务分析 | 73 |
任务二 | 79 |
组建软件项目研发团队(名称,群聊等) | 29 |
开通团队博客 | 20 |
阅读第五章 | 30 |
任务三 | 61 |
博文作业 | 48 |
小结 | 13 |
-
完成本次作业的感受和体会
此次实验,最大的收获就是团队组建,在两人结对基础上再两组结对,更加考验团队交流,协作能力。其次就是运行别人的优秀代码,学习他人博客排版以及代码编写规范等的优点。学习到了软件功能等知识,总之收获颇多。