《软件工程—实践者的研究方法》读书笔记:
这本书为软件工程领域提供了一场深度而广泛的探索,从软件工程的定义一直到项目管理和未来趋势的展望,作者通过详细的讲解和实例分析,为读者呈现了一套完整的软件工程理论体系。
初识
在开始阅读这本厚重的书之前,我曾一再推迟,但在十一月末终于鼓起勇气开始了解其内容。相比于之前阅读的软件工程书籍,这本书不仅深入讲解了敏捷开发,还涵盖了WebApp和移动App的方方面面,将理论知识与实际项目应用相结合。
书籍结构
本书分为五大部分,包括软件过程、建模、质量管理、管理软件项目和软件工程高级课程。在这之前,还有两章介绍了软件的定义和软件工程的基本概念。
1.软件过程:介绍了软件工程的通用过程框架,定义了五种框架活动,并提到了一系列普适活动。不仅介绍了常见的过程模型,还深入讨论了敏捷开发,特别关注了XP(极限编程)方法。
2.建模:探讨了软件工程的核心原则,强调了需求工程的关键性,以及软件设计的迭代过程。具体涉及了需求建模和设计的方方面面,包括体系结构设计、构件级设计、用户界面设计等。
3.质量管理:深入讨论了质量的复杂性,并突出了设计质量和符合质量的重要性。作者引用了Robert Glass的公式,强调用户满意度的关键。介绍了质量管理的技术和方法,包括评审技术、软件质量保证、软件测试策略等。
4.管理软件项目:涵盖了人员、产品、过程和项目的管理范畴,特别关注了团队的重要性。对过程度量、项目度量和软件项目估算进行了详细探讨,使用了经验估算模型、COCOMO II模型等来预测工作量。
重要概念
5.软件工程定义:作者给出了对软件的定义,强调了将系统化、规范化、可量化的方法应用于软件的开发、运行和维护。这与IEEE的定义相一致。
6.敏捷开发:书中详细介绍了敏捷开发的原则和方法,特别关注XP作为敏捷开发中使用最广泛的方法。作者强调了客户满意度、小而自主的团队、非正式的方法等敏捷开发的核心理念。
7.质量管理:对质量的理解是复杂而多面的,设计质量和符合质量需要工程师的全面考虑。作者引用了Robert Glass的公式,将用户满意度与产品质量和按预算和进度安排交付相联系。
8.软件项目管理:书中突出了管理软件项目的范围,包括人员、产品、过程和项目。强调了团队的重要性,使用了度量和估算模型来管理和规划项目。
结语
总体而言,这本书通过详实的例子、深刻的分析和广泛的涵盖,为软件工程领域的实践者提供了一本难得的参考资料。它不仅提供了理论知识,更强调如何将这些知识应用于实际项目中。这本书对于想要深入了解软件工程实践方法的人来说,是一本不可多得的学习资料。