• 回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:
    学习和使用的新软件:coding
    学习和使用的新工具:git
    学习和掌握的新语言、新平台:python PHP(自学的) Lintcode测试平台
    统计一下,你在这软件工程实践中,完成了多少行的代码:2000左右
    学习和掌握的新方法:写文档,做相应的功能测试
  • 项目web页面
    • 首页:


    • 搜索页面:

  • 总结与展望
    • 记录自己在软件工程课程上的经验总结:
      多背多看,多动手
    • 对于下一届的学弟学妹你有什么建议和告知呢?
      没有3门以上的语言基础最好不要尝试直接来上课
  • 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
  • 团队的力量还是比较强大的。基本上把合作阶段都简略的经历了一遍吧。
  • 补充
    (1)通过阅读P10.3.3,很想知道如何系统地编写设计文档。给出的原则似乎很抽象,并没有直观地展示出正确的设计文档应该是什么样子。怎样能确保每个开发者都能了解这份说明书表达的内容?
    用专业术语描述软件需要实现的功能,其余的部分用尽可能简洁易懂的语言描述,其他不理解的问题可以通过召开组内会议解决。
    (2)通过阅读8.3部分,很想知道如何精准的获取用户需求,优化用户体验。大多数情况下,在校做某一软件的时候很难向用户获取到及时有效的反馈。某些功能只有在大量用户测评后才能得出较好的解决方案,讨论和问卷调查往往都不能起到很好的结果。在这种情况下应该如何着手优化用户体验?
    大多数情况下在测试的时候就可以拿到很多不完善功能的反馈表,其余的可以尝试参考其他相关软件扩充软件功能。后期收集用户的反馈信息并对某一项功能进行调整。
    (3)通过阅读第五章,很想知道如何合理的安排团队工作时间。整章内容围绕着不同的开发团队模型,而没有描述怎样的团队工作时间安排才能使效率最大化。群体性的工作和碎片化的工作都不能很好的完成某个项目的开发。
    每个成员负责的部分都不一样,不同人的工作习惯也不尽相同,定时召开工作会议检查成果并整合代码。没必要强求。
    (4)通过阅读P277-279,很想知道如何规划软件测试的强度?文中给出了测试方式,却没有对测试强度水平的描述。不同的软件面向不同的用户群体,究竟怎样才能给出一个合适的平均性能强度?
    初期受众很少,满足一个较低水平就可以了。后期随着用户的增多,服务器数据库内的数据量增大,会相应地提升服务器性能来强化响应速度。只能自己摸索,没什么强制性要求。
    (5)通过阅读第15章,很想知道怎样判定一个软件是否需要再发布进一步的修改?如何取舍用户需求?如何评判某项功能的重要性与否?如果大多数用户认为这项功能必要,但后期不能收回开发成本,这项功能该如何取舍?这似乎是一个很难的问题。即便查阅了部分资料,也没有人给出较为明确的答案。
    根据软件的基本属性来决定扩充功能。无法回收开发成本的功能在初始阶段并不需要创建,毕竟前期没那么多钱让我们赔。之后可以有选择性的插入用户需求比较明显的功能以稳定用户群体。