项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST/ |
这个作业要求链接 | https://www.cnblogs.com/-8tjj/p/14679516.html |
团队名称 | 泰山 |
团队的课程学习目标 | 1.组建软件团队,了解团队是如何进行运行、工作的 2. 提升自身能力,为团队贡献自身力量 3.学习团队软件项目流程(TSP) |
这个作业在哪些方面帮助我实现学习目标 | (1)博文编写方面 (2)团队合作方面 (3)代码阅读及运行方面 (4)通过阅读《构建之法》让我了解了什么是团队,团队应该如何进行开展工作 (5)通过阅读完成质量较高的项目小组的代码,了解其思想,进行代码复审,进而提高自身能力 |
团队博客连接 | https://www.cnblogs.com/taishan999/ |
任务1:
浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
博客评论:https://www.cnblogs.com/ybp7/p/14655340.html
评论作业的Github仓库链接:https://github.com/Y7-ybp/D01KP
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
1. 概要部分 | 代码能符合需求和规格说明么? |
---|---|
代码设计是否有周全的考虑? | 基本周全 |
代码可读性如何? | 可读性还算完整 |
代码容易维护么? | 比较容易维护 |
代码的每一行都执行并检查过了吗 | 检查 |
2.设计规范部分 | 设计是否遵从已知的设计模式或项目中常用的模式? |
有没有硬编码或字符串/数字等存在? | 没有 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 代码在pycharm上运行,但不依赖平台 |
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 存在类似功能可以调用 |
有没有无用的代码可以清除? | 没有 |
3.代码规范部分 | 修改的部分符合代码标准和风格么? |
4.具体代码部分 | 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? | 无 |
边界条件是如何处理的?Switch语句的Default是如何处理的?循环有没有可能出现死循环? | 未发现死循环 |
有没有使用断言(Assert)来保证我们认为不变的条件真的满足? | 没有 |
对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露?有没有可能优化? | 没有资源泄露 |
数据结构中是否有无用的元素? | 没有 |
5.效能 | 代码的效能(Performance)如何?最坏的情况是怎样的? |
代码中,特别是循环中是否有明显可优化的部分? | 没有 |
对于系统和网络调用是否会超时?如何处理? | 不会超时 |
6.可读性 | 代码可读性如何? |
有没有足够的注释? | 足够注释 |
7.可测试性 | 可测试 |
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
1、界面交互
2、散点图
3、动态规划
4、回溯法
5、遗传算法
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
- 数据量:
- 优点:可以正常实现
- 缺点:无
- 界面:
- 优点:功能齐全,,换面简洁明了
- 缺点:无
- 功能
- 优点:功能齐全,十分完整,同时操作便利
- 缺点:无
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么? - 职业:学生,老师
- 学历:本科以上
- 年龄:18+
- 专业:计算机科学与技术,软件工程
- 爱好:计算机爱好者
- 收入:月薪10000+
任务2:团队组建
1、在实验三结对基础上,结对小组两两自由组合,组建软件项目研发团队;申请开通团队博客,点击以下链接提交团队信息,将团队博客加入到班级博客;
2、阅读《现代软件工程—构建之法》第5章内容
3、团队建设
-
队名:泰山
-
宣言:黄河源头水,泰山顶上松,心中有信念,一定能成功
-
团队成员组成
成员学号末五位 | 成员*名 | 个人博客地址 | 备注 |
---|---|---|---|
10127 | *金鑫 | https://www.cnblogs.com/xiejinxin/ | PM |
30134 | *宝鹏 | https://www.cnblogs.com/ybp7/ | 文档 |
10129 | *文潇 | https://www.cnblogs.com/zwx7968/ | 开发 |
30104 | *祺 | https://www.cnblogs.com/changqi1010/ | 测试 |
-
团队成员风采
- 成员介绍
姓名 风格 擅长技术及编程兴趣 承担的软工角色
姓名 | 风格 | 擅长技术及编程兴趣 | 承担的软工角色 |
---|---|---|---|
谢金鑫 | 善于言谈、管理、汇报 | 擅长C,python | PM |
郑文潇 | 技术担当,能力突出 | 擅长C,python | 开发 |
余宝鹏 | 善于编写文档,PPT制作 | 擅长C,python | 文档 |
常祺 | 能力突出,性格低调 | 擅长C,Java,Javaee | 测试 |
MSF的9点基本原则和团队成员绩效 |
MSF(Microsoft Solution Framework):微软解决方案框架,也就是微软推荐的软件开发方法。
9点基本原则
1、推动信息共享与沟通(Foster open communications)
2、为共同的远景而工作(Work toward a shared vision)
3、充分授权和信任(Empower team members)
4、各司其职,为项目共同负责(Establish clear accountability and shared responsibility)
5、交付增量的价值(Deliver incremental value)
6、保持敏捷,预期和适应变化(Stay agile,expect and adapt change)
7、投资质量(Invest in quality)
8、学习所有的经验(Learn from all experiences)
9、与顾客合作(Partner with internal and external customers)
团队成员绩效
在MSF团队模型中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危机整个项目。因此,每个角色都被认为是同等重要的,重要的决定都要共同做出。
团队企业微信群
团队特色描述
我们团队最大的特色就是:只有男生!!!所以在整个团队项目过程中,都需要更加细心;
团队内部成员互相都熟悉,气氛相处融洽,每个人都尽力而为;
在每个人的特长基础上进行明确的分工,在分工明确的基础上互相帮助。
任务三
PSP | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 15 | 13 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 15 | 13 |
Development | 开发 | 110 | 130 |
Analysis | 需求分析(包括学习新技术) | 10 | 10 |
Design Spec | 生成设计文档 | 10 | 10 |
Design Review | 设计复审(和同事审核设计文档) | 10 | 15 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 10 | 15 |
Coding | 具体编码 | 20 | 30 |
Code Review | 代码复审 | 20 | 15 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 20 |
Reporting | 报告 | 35 | 45 |
Test Report | 测试报告 | 15 | 15 |
Size Measurement | 计算工作量 | 8 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 12 | 20 |