作业格式
- 课程名称: 软件工程1916|W(福州大学)
- 作业要求: 个人作业——软件工程实践总结作业
- 个人学号: 221600340
- 作业目标:软工实践总结
作业正文
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
"了解软件项目开发整体流程,以及各个步骤的细节。目前对开发的整体流程有了一个大体的认识,但是对于细节并没有达到我的预期。可能还是因为经验积累不够的问题。"
- 以上是我在<第一次作业-准备篇>中对这门课的期待。当初选课的时候其实选的是另外一个老师,阴差阳错地被调剂到现在的班级。
- 在软工实践的过程中,已经基本的达到了我期待的目标。我了解到了如何规范地开展一个项目,如何撰写规范的需求说明书、数据库说明书等等。
- 在课程的最后,意外地拿到了小黄衫,自己感觉还是比较满意的。
"针对你的选择,你给自己的大三设定的规划安排是什么?"
- 软工实践虽然占用了比较多的时间,但总体来说对自己的规划还是基本完成了。雅思考上7.0(考了6.0)、完成好自己的论文(已完成,投稿中)、完成全国服创大赛(已完成,国三)、保持运动的习惯(正保持着)、拿到一份企业的实习(拿到了有阿里20%血统的恒生电子的实习)。
2)总结这门课程的实践总结和给你带来的提升:
1. 统计一下,你在这门软件工程实践中,完成了多少行的代码;
-
代码量并不是特别多。
语言 代码行 HTML 200 CSS 100 C# 700 |Python|100|
2. 软工实践的各次作业分别花了多少时间?
作业名称 | 时间(h) |
---|
|[第一次作业-准备篇](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2605) | 1 |
|[结对第一次—原型设计(文献摘要热词统计)](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2642)|12|
|[结对第二次—文献摘要热词统计及进阶需求](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2688)|6|
|[团队作业第一次—团队展示](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2767)|1|
|[团队作业第二次—项目选题报告](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2768)|8|
|[团队第三次-项目原型设计](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2872)|14|
|[团队作业第四次-项目需求分析](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2874)|10|
|[团队作业第五次—项目系统设计与数据库设计](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/2952)|8|
|[团队作业第六次—团队Github实战训练](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3113)|12|
|[项目Alpha冲刺(团队)](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3107)|32|
|[事后诸葛亮(团队)](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3199)|1|
|[项目Beta冲刺(团队)](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3277)|30|
|[Beta阶段团队项目互评](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3306)|2|
|[个人作业——软件工程实践总结作业](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3316)|2|
|总计|139|
3. 哪一次作业让你印象最深刻?为什么?
- <结对第一次-原型设计>,一开始在构思的时候使用apple pencil在ipad上随意地写写画画,然后原型完成时,有一种自己的构思,自己的作品被实现的感觉。
4. 累计花了多少个小时在软工实践上?平均每周花多少个小时?
- 将近140个小时了。平均下来,几乎每周都有10个小时左右。和预期的好像出入不大。
5. 学习和使用的新软件&新工具;
- 原型设计:墨刀、Photoshop
- 用例图、类图等:ProcessOn、StarUML
- 测试:LoadRound
- 代码管理:GitHub、GitLab
- Markdown: StackEdit、HackMD、Typora
- 环境管理工具:Anaconda
6. 学习和掌握的新语言、新平台
- 好像都是以前接触过的语言,学艺不精,什么都学一点点。。。
7. 学习和掌握的新方法;
- 各种测试方法
- 协作编程
- Github的使用
8. 其他方面的提升。
- 抗压能力
- 团队写作的能力
- 写文档能力
- 自学能力
二、写下属于自己的人月神话
在团队的项目实践中,不要太过于低估自己的能力,也不要太高估自己,要把自己摆正在一个适合的位置。对于新技术不要过于害怕去使用,在做中学是一个很好的方式,也就是所谓的Learning By Doing。
三、对下一届实践的建议等等。
下一届实践的建议:主要还是时间的问题,虽然一学期的软件工程实践做下来,可以说是收获满满,但是也确实少了一些时间去做别的事情。可能这就是鱼和熊掌不可兼得吧。还是建议调整课程时间,放到大三上,或者是大二下,感觉会完美很多。
对大一的自己:好好学习!好好学习!好好学习!
对后来人的期许:希望后来者能够做得更好。
对于中途换队员:这不失为一种模拟实际开发的好方式,鼓励继续沿用这份这个传统。
四、分析一下自己所处的团队。四个阶段。
- 萌芽阶段
最开始组队的时候,大家意见都比较统一,也都较有信心完成这个项目。 - 磨合阶段
之前主要是选题报告和文档的时候,大家用协同文档写各自的部分,最后发博客,没有出现什么问题。但是在编码时,代码规范存在一些差异,需要进行磨合。 - 规范阶段
经历了一次换组风波,有点迷迷糊糊,最后还是能够较好地和新的团队对接。 - 创造阶段
目前仍在内测阶段(新团队),目前仍差一点距离。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
软件开发不是自我陶醉,自己觉得怎么样好就怎么样来,脱离用户的软件并不算是一个成功的软件。
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
3)软件是需要一些其配套文档的。
而不是 代码无注释,代码无文档,这对后期的更新以及维护是非常不利的。
六*(选做)、阅读软件工程中关于代码质量的的经典论文,做一个阅读笔记?
In addition, there was a deliberate difference in quality emphasis in the two programming efforts: one was done by a “hotshot” programmer who was encouraged to maximize code efficiency, and one by a careful programmer who was encouraged to emphasize simplicity. The main results of the study were:
• Ten times as many errors were detected in the “efficient” program (over an identical series of 1000 test runs).
• The measures of program quality were significantly higher on the “simple” program; thus, they were good indicators of relative operational reliability, at least in this context.
————————Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]
- 这段话让我知道开发一个软件不应该那个技术较新就采用哪项技术,而忽略其可靠性和健壮性。不能一味追求高效代码而脱离实际。
七、个性发挥
-
软工实践开始时的小周。
-
被软工实践折磨之后的小周。
-
最后拿到小黄衫心满意足的小周。(PS.小黄衫好像小了点)