201971010208-古丽妮尕尔 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越工程师班 |
这个作业要求链接 | 实验四 团队作业1:软件研发团队组建 |
团队名称 | WGYG |
我的课程学习目标 |
|
团队博客链接 | 实验四 团队作业1:软件研发团队组建 |
任务1:对博文作业进行阅读,并结合评分要求进行评论
(1)对博文作业进行阅读,并结合评分要求进行评论
-
评论对象
被评论的同学 201971010140-魏瑾川 博客链接 201971010140-魏瑾川 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告 仓库链接 仓库 -
评论内容
要求 内容 博文结构 结构完整且合理,条理清晰,可以迅速找到重点。 博文内容 博文内容充实,博主对《现代软件工程——构建之法》 第3-4章的内容总结透彻,在后面的代码编写中也遵守了,值得学习。 博文结构与PSP中“任务内容”列的关系 博主的博文撰写流程是按照PSP的流程进行且完整记录的,有一一对应关系。 PSP的差异化分析与原因探究 博主PSP实际完成时间大约是计划时间的相差无几,大部分都提前完成了,有扎实的功底。 建议 完成度很高,可以在人机交互页面探索更多的可能,较为单一。
(2)克隆任务3项目源码到本地机器,阅读并运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录
-
代码试运行
-
代码复审
概要部分 | 执行情况 |
---|---|
代码符合需求和规格说明么? | 完全符合 |
代码设计是否考虑周全? | 是 |
代码可读性如何? | 符合代码规范,注释简单易懂,可读性好 |
代码容易维护么? | 容易,模块化管理,好懂易接手 |
代码的每一行都执行并检查过了吗? | 检查过了 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 遵从 |
有没有硬编码或字符串/数字等存在 | 不存在 |
代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)? | 不影响 |
在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 无 |
有没有无用的代码可以清除? | 无 |
代码规范部分 | |
修改的部分符合代码标准和风格吗? | 符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 没有对错误进行预处理 |
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度是以0开始计数还是以1开始计数? | 无 |
边界条件是如何处理的? switch语句的default分支是如何处理的?循环有没有可能出现死循环? | 没有使用switch语句所以循环不会出现死循环。 |
有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? | 没有使用断言 |
数据结构中有没有用不到的元素? | 有 |
效能 | |
代码的效能(Performance)如何?最坏的情况是怎样的? | 运行效率高,没有遇到最坏的情况 |
代码中,特别是循环中是否有明显可优化的部分? | 无 |
对于系统和网络的调用是否会超时?如何处理? | 没有进行网络调用 |
可读性 | |
代码可读性如何?有没有足够的注释? | 注释简洁明了且详细,符合规范, |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 否 |
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务
-
体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片
-
登录页面
-
运行过程
-
散点图绘制
-
-
总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
- 该项目完成了任务3所提出的要求,可以对任意数据实现相关要求。界面相对于它能实现的功能和代码的质量略微逊色。
- 没有改进意见。水平不如博主,看不出来还有什么需要加进去的内容。
-
从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
职业 学历 年龄 专业 爱好 收入 表面需求 潜在需求 学生 本科 18~30 计算机类 对编程感兴趣,有一定算法、数据结构基础。 不限 D{0-1}算法求解 回溯算法、动态规划算法以及遗传算法在处理01背包问题的差异及其优化
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
(e):非常推荐
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
- 本小组结对项目迭代改进
- Git操作:包括commit, git pull, merge, push等
-
完善了管理界面
-
效果
-
任务2:团队组建
-
团队名称
WGYG
-
团队成员组成
成员学号 成员姓名 个人博客地址 备注 201971010140 魏瑾川 博客地址 201971020107 郭清华 博客地址 HeadMan 201971010145 姚恪 博客地址 201971010208 古丽妮尕尔 博客地址 -
成员风采
成员姓名 风格 擅长技术 编程兴趣 承担的软工角色 宣言 魏瑾川 对新事物充满好奇的心 python 后端 开发 好好睡觉,天天学习 郭清华 对新事物充满好奇 java 后端 PM 好好学习,天天睡觉 姚恪 查找发现一切 html,css,js等前端技术 前端 测试 容我睡醒再学 古丽妮尕尔 简洁、干练、省事 c 前端 文档 尽我所能 -
阅读《现代软件工程—构建之法》第7章,理解MSF的9点基本原则
MSF的9条基本原则:
- 推动信息共享与沟通开展一个项目的时候,需要大家都了解一个项目,对项目的所有信息都要保留,并做到公开;讨论包括所有需要知道的人员,决定要公布给项目的所有成员;最好的设想是随着项目事件的发生自然地传递到关心这些事情的人那里。
信息共享和沟通是其他原则实行的基础,如果信息不能共享,也就谈不上“授权”,或“建立清晰的责任和共同的职责”,以及“保持敏捷,预测变化”。这就是为什么“信息共享于沟通”是第一基本原则的原因。 - 为共同的远景工作:“共同的远景”是指项目的远景,团队的所有成员都应该同意项目的远景。
我们无论做什么类型的软件都要明确我们项目的目标是什么:目标必须是明确的,无二义性的;目标不是当前就能达到,需要通过努力才能够达到;目标不是“口号”,应该对项目成员每天的工作都有指导作用。项目成员如果发现你做的事情和项目的远景没有帮助,你应该跟老板提出来。
远景一般由“有远见的人”提出,通过公共讨论来形成,在讨论的过程中,可以消除误解,凝聚共识。这是项目的关键,也是项目第一阶段要达到的主要目标! - 充分授权和信任:授权有两层意思:一是给某人权利和权威;二是给予某人更多的自信和自尊。在一个高效的团队中,所有的成员都应该能得到充分的授权,他们有权力在自己的职权范围内按照他们自己的承诺完成任务,同时,他们也充分信任其他同事也能实现各自的承诺。
- 各司其职,对项目共同负责:每个角色都有自己的职责,如果出了问题,这个角色就要负责任。
- 重视商业价值:项目应该是出于商业目的的,如果没有商业的需求,再酷的技术也没有用。商业项目需要重视市场和用户,技术是处于第三位的。
一个团队项目如果没有经得起考验的商业价值,没有明确的远景是很难坚持下去的。当项目遇到困难的时候,当项目看不到尽头的时候,商业价值比激情更能够保证项目的发展。 - 保持敏捷,预期变化:软件工程,唯一不变的是变化。所以别幻想客户的需求会在第一时间很明确,然后保持不会变。除开客户的外部原因,团队内部也在不断的变化,这就要求团队保持敏捷的身段。
- 投资质量:对质量的重视,引起对质量的投资,引起对人、过程和工具的投资。
- 学习所有的经验:对于大型的团队项目,可以进行里程碑回顾;这样既保证项目进行时间不久,大家对项目中发生的事较清晰,也可以帮助在项目后续中去改正这些问题。整个项目结束后,可以举行由外部团队参与的“事后诸葛亮”会,来保证对项目评估的客观以及团队之间的相互学习
- 推动信息共享与沟通开展一个项目的时候,需要大家都了解一个项目,对项目的所有信息都要保留,并做到公开;讨论包括所有需要知道的人员,决定要公布给项目的所有成员;最好的设想是随着项目事件的发生自然地传递到关心这些事情的人那里。
-
组建团队企业微信群
-
团队特色描述,言简意赅的描述团队特点或核心竞争力
- 团队特色:大家相辅相成,在性格生活等方面都能够愉快的进行合作
- 团队核心竞争力:想象力较强,编程能力在班级中位于前列
任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业
-
完成各项任务花费的时间
任务内容 预计花费时间 实际花费时间 确定团队 30 30 创建企业微信群 5 5 创建博客园团队博客 10 10 成员互评 30 30 完成任务二 120 150 阅读《构建之法》 50 60 博客撰写 90 90 反思 和总结 15 15 -
反思和总结
初步建立起了一个四人的软件开发团队,大家目前分工已经明确。现阶段需要根据自身情况继续巩固加强自身能力,在以后的团队合作之中充分发挥各自的优点,使得实现1+1>2的效果。在这一过程中大家会各自学到许多,收获许多。