速读《现代软件工程——构建之法》
本学期学习软件工程主要是由《软件工程导论》和邹鑫老师编写的《构建之法》为基础来进行学习。速读完《构建之法》第一感觉就是我们还是要根据需求不断地完善自己的程序,程序的质量稳定才能使得自己的模块功能定义更加明确、质量更加稳定。了解了软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程,软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。软件开发流程的目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。
通过第一章的学习就了解了软件工程与计算机科学的关系,知道了计算机科学中的理论研究部分,大多可以从形式上证明与实践相关的部分也都和数据以及其他学科发生关系;软件工程则和人的行为、现实社会的需求息息相关。
- 问题一:软件工程与计算机科学之间的互相影响如何平衡?
软件开发流程(PSP)的目的是为了提高软件开发、运营、维护的效率,以及提升用户满意度、软件的可靠性和可维护性,从第二章表2-3得到工程师和学生在需求分析、测试、编码上的差别。
- 问题二:代码量和工程师的水平关系是线性的吗?
团队是有着一致的集体目标,团队要一起完成这目标。团队成员有各自的分工,相互依赖合作,工程完成任务。在第五章开发流程中提到了瀑布模型,但是瀑布模型需求明确但是不是很使用 。
- 问题三:我们应该怎么选择合适的开发流程?
第八章中提到了需求分析,从获取和引导需求、分析和定义需求、验证需求、在软件产品的生命周期中管理需求四个方面来进行。
- 问题四:在用户的需求分析中有些技术难以克服或者耗力较大时该如何取舍?
软件测试有单元测试、代码覆盖率测试、构建测试验证、验收测试、“探索式”测试、回归测试、场景/集成/系统测试、伙伴测试、效能测试、压力测试、内部/外部公开测试和易用性测试。
- 问题五:实战中的测试是在稳定阶段执行的,那么在计划阶段怎么考虑?