201971010157-张颖 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
课程班级博客链接 | 2019级卓越班 |
这个作业要求链接 | 实验四 团队作业1:软件研发团队组建 |
团队名称 | 发际线与我作队 |
团队的课程学习目标 |
|
这个作业在哪些方面帮助团队直线学习目标 |
|
团队博客链接 | https://www.cnblogs.com/MJZa/p/16114535.html |
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成具体要求
- 被评论作业的博客链接:201971010115-蒋敏敏 实验三 结对项目一《{0-1}KP实例数据集算法实验平台》项目报告
- 被评论作业的Github项目仓库链接:https://github.com/Mao-cpu/Algrithm_platform
- 符合(1)要求的博客评论:
- 符合(2)要求的代码核查表:
概要部分 | |
代码符合需求和规格说明么? | 符合 |
代码设计是否考虑周全? | 考虑周全 |
代码可读性如何? | 可读性好,有注释;将代码写成多个文件放在一个项目下 |
代码容易维护么? | 层次清晰,模块化好,遵从基于接口而非实现编程的原则,容易维护 |
代码的每一行都执行并检查过了吗? | 是 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 是 |
有没有硬编码或字符串/数字等存在? | 没有直接将数据嵌入到程序中,没有硬编码存在 |
代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到 Win64 ) ? | 没有依赖于某一平台 |
开发者新写的代码能否用已有的 Library/SDK/Framework 中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 没有用其功能实现 |
有没有无用的代码可以清除? | 没有无用的编码可以清除 |
代码规范部分 | |
修改的部分符合代码标准和风格么? | 符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 没有错误可以进行处理,对于调用的外部函数,检查了返回值没有发现错误 |
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? | 参数传递没有错误,字符串的长度是字符的个数,ASCII码下也是字节数,是以0开始计数 |
边界条件是如何处理的? switch语句的default分支是如何处理的?循环有没有可能出现死循环? | 没有用到switch语句,没有出现死循环 |
有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足? | 没有使用断言 |
对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存、文件、各种GUI资源、数据库访问的连接等等)?有没有优化的空间? | 不存在资源泄漏 |
数据结构中有没有用不到的元素? | 没有用不到的元素 |
效能 | |
代码的效能(Performance)如何?最坏的情况是怎样的? | 效能可以,在数据量很大时会运行较长时间 |
代码中,特别是循环中是否有明显可优化的部分? | 没有明显可优化的部分 |
可读性 | |
代码可读性如何?有没有足够的注释? | 可读性很好,注释足够 |
可测试性 | |
代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。 | 不需要更新或创建新的单元测试 |
- 阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
首先是非常简易的主界面,点击选择文件,选择beibaox.in导入数据,选择要使用的算法,显示结果,求解结果存入日志。
其他算法类似
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
对于任务3要求的功能软件都已解决;软件在数据量/界面/功能上的优缺点如下:
优点 | 缺点 | |
数据量 | 数据量较大 | 处理比较大的数据时速度降低 |
界面 | 简洁明了,一目了然 | 排版不够美观 |
功能 | 功能全面,有画柱状图等附加功能的实现 | 可以再注意一些细节 |
C. 从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
学历 | 年龄 | 专业 | 爱好 | 收入 | 表面需求 | 潜在需求 |
本科 | 18及以上 | 计算机类 | 编程 | 无收入或较少收入 | 用各种不同的算法解决0-1背包问题 | 掌握算法的基本思想,提升编程能力,学习计算机及相关知识 |
- 经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
该小组在功能实现、完成度、美观性以及代码的设计上都非常不错,博文撰写非常详细,给出“e.非常推荐”的结论。
- 结合(1)-(3)的评论体会,迭代改进本小组实验三的任务3,显示项目仓库的Fork、Clone、Push、Pull request、Merge pull request数据变化情况:
将GUI界面进行了改进,细化并排版了功能布局等
任务2:团队组建
1.队名:发际线与我作队
2.团队成员组成:
成员学号 | 成员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
201971010115 | 蒋敏敏 | https://www.cnblogs.com/20010201jmm/p/16119581.html | |
201971010157 | 张颖 | https://www.cnblogs.com/mingjiang-/p/16113265.html | |
201971010231 | 毛玉贤 | https://www.cnblogs.com/Moki231/p/16106385.html | PM |
3.成员风采:
成员 | 擅长技术 | 编程兴趣 | 风格 | 承担角色 | 一句话宣言 |
---|---|---|---|---|---|
201971010115_蒋敏敏 | python、C | 比较喜欢人工智能、游戏开发方面 | 实干型,动手能力强,喜欢一个人解决问题 | 开发测试 | 实践出真知 |
201971010157_张颖 | C、java | 对做微信小程序、网站情有独钟 | 总结性强,适应性强 ,对文字敏感 | 文档设计与测试 | 不塞不流,不止不行 |
201971010231_毛玉贤 | C++、python | 喜欢前端、系统开发 | 偏理论性强,能够提出新需求,想法新颖 | 开发与测试 | 夏虫不可语冰,井蛙不可语海 |
-
《现代软件工程—构建之法》第7章——MSF的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 )
其余具体的内容,在团队博客中展示。
任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业
1.各项任务实际花费的时间
任务内容 | 实际花费时间(min) |
---|---|
任务一 | 211 |
任务二 | 109 |
确定团队名称 | 2 |
确认成员信息 | 10 |
组建群聊、申请团队博客、 申请团队github地址 |
39 |
加入班级博客 | 3 |
学习MSF | 25 |
阅读第五章 | 30 |
任务三 | 54 |
2.完成本次作业的感受和体会
- 在评价同学的作业过程中,发现和自己完成是完全不一样的体验,可以体会同学的思想,与自己的想法做对比,思考自己为什么没有想到这种做法,取长补短,同时也提高了我们评价、总结的能力。
- 组建团队使每个人的潜力都发挥出来,相互查漏补缺,发现自己的不足并加以改正,在讨论中发现代码的问题并尝试各种解决办法,这是自己一个人学习需要花费很长时间或精力才能完成的。