作业格式

作业正文

一、请回望暑假时的第一次作业,你对于软件工程课程的想象

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.小黄衫好像小了点)