一.概论

这本书首先在第一章简明扼要的阐述了软件工程的概论:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件=程序+软件工程。软件企业=软件+商业模式。

一个“足够好”的软件可以从以下几方面考虑:(1)用户满意度 (2)可靠性 (3)软件流程质量 (4)可维护性

二.团队和流程

团队的模式: 主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队,特工团队,交响乐团模式,爵士乐模式,功能团队模式,官僚模式。

目前的软件开发流程主要依照瀑布模型,瀑布模型也有很多局限性:比如软件需求作为软件开发项目中的一个关键因素,无法进行合适的测试,直至一个工作系统被开发出来并能演示给最终用户。好几个研究工作已经指出软件需求规约的错误通常在最后才被检测到,并且需要花费最大的代价对其进行纠正。 

三.人,绩效和职业道德

软件工程师的职业道德:作为软件工程师应遵守规定的原则:

1.公众:软件工程师的行为应与公众利益一致

2.客户与雇主:软件工程师应以其客户和雇主利益最大化的方式做事。

3.产品:软件工程师应当确保自己的产品以及相关的修改满足最高德尔专业标准。

4.判断:软件工程师应当具备完整且独立的专业判断。

5.管理:软件项目的经理和领导人应该提倡并亲自采用符合道德规范的方法来管理软件的开发与维护。

6.职业:在于公众利益一致的原则下,软件工程师应当保证职业的诚信和声誉。

7.同事:软件工程师应当公平对待同行,并给予支持和帮助。

8.自身:软件工程师应当终身学习提高自身的专业水平,并在工作中推动落实道德准则。