网络15软工个人作业5——软件工程总结
一、请回望开学时的第一次作业,你对于软件工程课程的想象
1. 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
答:
达到的目标:了解了一门新的技术(小程序的开发);培养自己的领导力;时间管理能力有所提升……
存在的不足:学习新知识的效率较慢;处理团队分工问题不当;
原因:通过这几次作业所得所感,完成了些许期待,也明显的感受到自己的不足。
2. 总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 1)统计一下,你在这门课程中,完成了多少行的代码;
大概1500行
- 2)软工的各次作业分别花了多少时间?(做一个列表)
作业(以博客作为统计) | 时间(h) |
---|---|
软件工程网络15个人阅读作业1 | 7 |
软件工程网络15个人阅读作业2-提出问题 | 7 |
软件工程网络15结对编程作业 | 35 |
软件工程网络15团队作业1——团队组队&展示 | 2 |
软件工程网络15个人作业3——案例分析 | 7 |
软工网络15团队作业2——团队计划 | 6 |
软工网络15团队作业3——需求分析与设计 | 6 |
软工网络15团队作业4——Alpha阶段敏捷冲刺 | 64 |
团队作业5——测试与发布(alpha阶段) | 3 |
团队作业6——展示博客(alpha阶段) | 3 |
项目复审——Alpha阶段 | 1.5 |
软工网络15团队作业7——Alpha冲刺之事后诸葛亮 | 2 |
软工网络15个人作业4——alpha阶段个人总结 | 3 |
软工网络15团队作业8——Beta阶段敏捷冲刺 | 48 |
软工网络15团队作业9——项目验收与总结 | 3 |
beta版验收互评 | 1.5 |
网络15软工个人作业5——软件工程总结 | 2 |
- 3)哪一次作业让你印象最深刻?为什么?
“软件工程网络15个人阅读作业2-提出问题”,看书提问题什么的真的从没有做过这样的作业,一般都是先了解课程,再提出相应的问题,那次作业是让我们看书,自己提出相关问题,一时有点迷茫,还找了老师推荐的一些提问题的书之类的参考如何提问题。
- 4)累计花了多少个小时在软工上?平均每周花多少个小时?
以博客作业来衡量的话总共201h;以15周的课程计算,平均每周13.4h
- 5)学习和使用的新软件;
墨刀、leangoo
- 6)学习和使用的新工具;
微信小程序开发工具、码云、知晓云
- 7)学习和掌握的新语言、新平台;
新语言:js/wxml/wxss
新平台:微信小程序开发工具、知晓云
- 8)学习和掌握的新方法;
自行提问、单元测试……
- 9)其他方面的提升。
了解一个项目的流程并进行实践
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 关于个人项目:
首先明确自己的能力;然后根据实际规划时间,确定这些时间就是做你的项目的,没有其他事情干扰,除非紧急情况;在实践时多参考材料并多询问能力出众的同学,提高自己的能力。- 关于结对项目:
找到与自己志同道合的伙伴,尽管实践过程中有问题也可以比较好的解决,毕竟都是为了项目;同样,提升自己的能力很重要。- 关于团队项目:
团队选题时要全面了解这个团队的能力以及所选择项目的难易程度(相对来说),以便之后更好的实施;团队任务分配要尽可能细致并让每个队员都有事可做;团队之间的沟通重中之重,不论是项目的问题还是人际关系的问题,相信没有交流解决不了的问题。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
- 对于后来人的期许:好好学习编程,多看相关类型的书或教材,提高自己的学习能力。
- 对于换人机制的建议:现阶段的要求就挺好的,不管是团队之间商量好的还是主动想要加入其他组都由自己或者团队之间商量。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
团队的发展有四个阶段:萌芽阶段、磨合阶段、规范阶段和创造阶段。我们的团队经历着前三个阶段,正在向创造阶段努力着……
五、怎样证明你学会了软件工程?
1. 研发出符合用户需求的软件
- 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是:做没有用户使用的软件
发布较晚,也没有进行推广,用户少的可怜
2. 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是:通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
leangoo管理项目:
Alpha阶段:https://www.leangoo.com/kanban/board/go/2376778
Beta阶段:https://www.leangoo.com/kanban/board/go/2404218
之前的博客都有项目相关规划/需求/设计/实现/发布/维护。
3. 并且通过数据展现软件是可以维护和继续发展的。
- 而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
源代码等资料或文档通过码云保存:https://gitee.com/whting/word_wechat_applet/tree/beta/
请在随笔中用数据证明上述内容或侧重选择之一。
六*(附加题)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:
参考论文文献:
- [1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
- [2] Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]//Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976: 592-605
- [3] Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87