个人作业——软件工程实践总结作业
个人作业——软件工程实践总结作业
课程名称:软件工程1916|W(福州大学)
作业要求: 个人作业——软件工程实践总结作业
作业目标:个人作业——软件工程实践总结作业
学号:221600412
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
经过这学期的软件工程实践,让我更加的熟悉编程,编程能力也提高了许多,同时做为团队的队长我的管理团队的能力也提高了许多,这对以后转向管理岗打下了坚实的基础。总的来说,这个课程虽然累,但是同时也收获了许多。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1.统计一下,你在这门软件工程实践中,完成了多少行的代码: 大概5000行,主要的团队后端模块和结对编程Github集训。
2.软工实践的各次作业分别花了多少时间?(做一个列表)
序号 | 作业 | 时间(小时) |
---|---|---|
1 | 个人作业第一次—准备篇 | 5 |
2 | 结对第一次—原型设计(文献摘要热词统计) | 10 |
3 | 对第二次—文献摘要热词统计及进阶需求 | 20 |
3 | (1)团队第一次作业——团队展示 | 20 |
4 | (2)团队第二次作业——选题报告 | 25 |
5 | (3)团队第三次作业——原型设计 | 24 |
6 | (4)团队第四次作业——需求规格说明书 | 23 |
7 | (5)团队第五次作业——系统设计&数据库设计 | 22 |
8 | (6)团队第六次作业——现场编程github实训 | 25 |
9 | (7)团队第七次作业——Alpha冲刺 | |
10 | Alpha冲刺——序言篇(任务与计划) | 10 |
11 | Alpha冲刺(1/10)——2019.4.24 | 12 |
12 | Alpha冲刺(2/10)——2019.4.25 | 11 |
13 | Alpha冲刺(3/10)——2019.4.26 | 14 |
14 | Alpha冲刺(4/10)——2019.4.27 | 15 |
15 | Alpha冲刺(5/10)——2019.4.28 | 11 |
16 | Alpha冲刺(6/10)——2019.4.29 | 11 |
17 | Alpha冲刺(7/10)——2019.4.30 | 12 |
18 | Alpha冲刺(8/10)——2019.5.1 | 13 |
19 | Alpha冲刺(9/10)——2019.5.2 | 14 |
20 | Alpha冲刺(10/10)——2019.5.3 | 15 |
21 | Alpha冲刺——测试篇 | 13 |
22 | Alpha冲刺——总结篇 | 12 |
22 | 团队第八次作业——Beta冲刺 | |
23 | Beta冲刺——凡事预则立随笔 | 10 |
24 | Beta冲刺(1/7)——2019.5.23 | 11 |
25 | Beta冲刺(2/7)——2019.5.24 | 12 |
26 | Beta冲刺(3/7)——2019.5.25 | 14 |
27 | Beta冲刺(4/7)——2019.5.26 | 15 |
28 | Beta冲刺(5/7)——2019.5.27 | 13 |
29 | Beta冲刺(6/7)——2019.5.28 | 12 |
30 | Beta冲刺(7/7)——2019.5.29 | 11 |
31 | Beta冲刺——用户使用调查报告——2019.5.31 | 14 |
32 | 云打印 对Echo的Beta产品测试报告 | 12 |
33 | 云打印 对 追光的人 的Beta产品测试报告 | 15 |
34 | Beta冲刺——总结篇 | 13 |
>2)哪一次作业让你印象最深刻?为什么?
【团队作业第六次—团队Github实战训练】的印象最深。因为当时要求当天提交作业,所以前几天一直熬夜先项目。。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
大概有250h+,平均每周20h左右。
学习和使用的新软件:墨刀,Boostrap
学习和使用的新工具:墨刀,Github
学习和掌握的新语:新平台;SpringBoot,Linux
学习和掌握的新方法:迭代开发
其他方面的提升:团队的管理能力提升了,编程能力也得到了提高
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
在团队开发中,有需求变动和更改接口的时候要及时沟通,接口文档也要及时更新,在Alpha阶段的时候有时候后端改了一个接口,前端不知情,在那里一直调,严重浪费其他队员的时间,同时应该及时和队员沟通了解进度,避免因为沟通问题而导致项目延期。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
首先明确自己的目标,然后不断的往这个方向进行努力,不要在大学荒废了自己。其次认真对待每一个课程争取没个课程都拿到高分,其次好好学习英语,在你未来的发展过程中英语会起到至关重要的作用,其次多走出宿舍,多运动,多去参加一些比赛,扩宽自己的视野。
关于中途换队员的问题,我觉得要换可以,但是应该两个人技能相同的情况下换组,比如这个项目的java后端和另外一个队伍的java后端互换,或者前端互换,而不是随机换人,你把一个PHP换到我们队里写java??这项目不延期?
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
团队合作的阶段:萌芽阶段,磨合阶段,规范阶段,创造阶段。
我的团队都经历过:萌芽阶段,磨合阶段,规范阶段。
我的团队没有到达“创造”阶段。
萌芽阶段:一开始组队之后,大家还是个做个的事,没有团队的意思,就偶尔在qq群里问一下作业的问题。
磨合阶段:大家写代码的风格都不一样,前后端对接数据格式命名,后面团队协商统一使用驼峰命名法。
规范阶段:在两次冲刺阶段,大家都能比较主动,按时完成预期的任务,遇到问题也及时沟通解决。
创造阶段没有达到,因为大家还是被作业牵着走,缺乏主动去写代码兴趣。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
3)并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
请在随笔中用数据证明上述内容或侧重选择之一。
第三点
我们的软件是可以维护和继续发展的,有源代码,代码文档,且代码能编译,有task/bug 等项目的发展资料
后端代码Github地址
接口文档Show地址
六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:
阅读的论文文献:Code quality analysis in open source software development
大致浏览了一下该文献,该文献是针对开源软件质量发展的一篇论文,首先谈到开源和代码质量我就想吐槽在开始结对编程的时候,队友代码命名风格各异,导致团队开发协作特别麻烦,同时没有使用开源软件,导致项目代码复制来复制去最好都不知道哪个代码是最新版本,好在后面阅读了一些代码规范,也针对团队指定了一系列的代码编程规范,最后在团队开发中队友协作开发还是没有比较大的问题。其次是开源,说到开源那就一定要谈Github,毕竟目前最流行的开源软件,github是一个好东西,很多很多牛人,都会发布相应的项目在上面,对于我们来学习,进阶有很大帮助,在大二虽然接触过Github但大多数是在GIthub上查看代码和下载代码,直到软件工程这门课团队编程之后,我才逐渐熟悉和了解Github的其他功能。还有就是掌握好英文水平,用一些简单的英文去咨询github上的国际友人。
参考论文文献:
[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
七、个性发挥,包括图文、照片和创意等
感谢我们整个团队的成员,感谢你们给予我的帮助,也感谢老师和助教们一整个学期的辛苦付出。
团队的首次合照
小黄杉
小黄衫济济一堂