个人作业——软件工程实践总结作业

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

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

  1. 达成的目标和期待:

    • 体验了一次完整的软件开发过程。
    • 进行了团队协作开发。
    • 结识了新朋友。
    • 学习了新的编程语言。
    • 对自己进行了规范编程的训练。
    • 学习使用了许多新的开发工具和平台。
    • 对于软件开发有了更深刻的认识。
  2. 存在的不足:

    • 课程学习过后,对自己的编程能力仍然没有自信。
    • 软件原型设计工具,UML相关工具等的使用只是体验式的,缺乏深入学习。
    • 对于学习时间的规划并不理想。
    • 软件测试相关方面做得不好,没有完整的进行软件测试。

    学习这门课程之前,我认为软件开发只意味着一些人一起写代码。但这门课让我有了更深的认识。对于复杂的软件,还要解决需求分析,多人合作开发,软件测试,维护等一系列问题。毕竟课时有限,但在有限的时间里我学习到了很多新的知识,体验了很多新的事物,已经很满足了。

2)总结这门课程的实践总结和给你带来的提升:

关于代码量——PHP:850行左右,C++:400行左右。对于作业完成时间的统计,我很早就放弃了,这个对于我来说,很难坚持下去,一方面很难界定哪些时间是花费在作业上,另一方面有时会忘记统计。
印象最深刻的作业是第三次作业团队展示(团队),这次作业中经历了队员的第一次正式会面,具有历史意义。

学习和使用的新软件 学习和使用的新工具 学习和掌握的新语言、新平台 学习和掌握的新方法 其他方面的提升
有道云笔记,思维导图,福昕阅读器 Visual Studio 2017,Navicat Premium,Axure RP,PhpStorm,Wampserver64 PHP,GitHub,阿里云 MVC软件架构模式 学习了和使用了Json数据交换格式,学习使用了ThinkPHP5.0框架

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

  1. 关于效率:某些工作可以先花较少的时间完成简单工作,搭建一个框架,再慢慢解决较复杂问题,填补框架。这对于时间紧迫的任务尤其有效,如果立刻做困难的任务事情很可能困在那里,先做简单任务可以有效避免“无事所成”。就像考试时的答题策略。
  2. 关于团队合作:队伍中队员间的交流非常非常重要,甚至决定着最终结果的成败,千万不能闭门造车。积极的交流可以了解队员的工作进度和情况,还能从他人身上学习到对于同一个问题的不同解决方法。在alpha冲刺阶段,在对开发框架的学习中,我没有积极了解队员对该框架的使用方法,代码风格十分迥异,导致合并代码时需要大量修改,浪费了大量时间。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?

对于下一届的告知与建议:我们不是老年人,积极尝试新鲜的事物,包括各种新鲜的工具和平台等等。关于要不要中途换队员:这个问题仁者见仁智者见智,我的意见是可以换,并且鼓励更换,但不要强制,尊重每个人的意愿。


四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

刚开始时,团队中有些人是同班同学,彼此很熟,有些相互之间很陌生。且团队的目标并没有达成一致,而且很符合萌芽阶段的一些特点。但是似乎并没有进入磨合阶段,或者磨合阶段很短暂。进入规范阶段后,明确了要做什么,大家开始承担责任,完成各自的任务。最后到达了创造阶段。


五、怎样证明你学会了软件工程?

1)研发出符合用户需求的软件

必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件。

以Facebook为例:

网站最初仅限哈佛大学学生加入,在上线后的第一个月内,哈佛大学的学士生中有超过一半以上的人注册成为用户。2006年9月26日,Facebook正式对所有年满13岁且持有一个有效电子邮件地址的人开放。在2007年下半年,Facebook已有超过10万个商业页面(可让公司进行宣传和吸引客户的页面)。

但是,用户的需求会变化,某些软件的用户量会越来越少,甚至最终被淘汰:
Sidekick —— 一家做强化 email 功能的SaaS公司,可以用它的个性化模板给别人发邮件,还可以监控收邮件的人是否打开了邮件。

总之,是否满足用户需求需要软件的用户量来体现。但用户的需求往往会变化,所以需要不断更新产品,推出新功能,满足用户变动的需求,甚至挖掘潜在的需求,毕竟,公司离破产永远只有30天。

七、个性发挥,包括图文、照片和创意等。
最后感谢推动软工课程改革的老师们,谢谢你们!第一本作者签名书:

posted on 2018-01-07 21:49  海甸岛  阅读(167)  评论(1编辑  收藏  举报

导航