《软件工程—实践者的研究方法》读书笔记
电器工程及其自动化《软件⼯程—实践者的研究⽅法》读书笔记
《软件⼯程—实践者的研究⽅法》读书笔记
《软件⼯程—实践者的研究⽅法》这本书内容丰富,从软件⼯程的定义、软件过程、建模、质量管理到管理软件项⽬和软件⼯程发展趋势的探讨,作者逐个展开并做了⼤量的讲解。内容丰富,当然书也是⾮常厚。借到这本书之后,⼀开始没看,⼀再推迟,⼤概⼗⼀⽉末才⿎起勇⽓开始翻阅这本厚厚的书。
这本书不像之前翻阅的软件⼯程书,⾥⾯有⼤量篇幅讲解敏捷开发,还有WebApp和移动App的分析、设计、测试和质量管理等。书中内容不局限于理论知识的阐述,使⽤⼤量篇幅在简单实例中进⾏分析和设计,主要以SafeHome来演⽰软件项⽬如何推进。也与Brooks的⼈⽉神话不同,Brooks的⼈⽉神话以⼯程项⽬中出现的重⼤问题为主线,以技术为核⼼,分析了软件开发和软件⼯程存在的⼀些问题,探寻到底有没有存在消灭“⼈狼”的“银弹”;⽽本书,我觉得作者想呈现给⼤家⼀套⽐较完整的软件⼯程理论体系,同时以项⽬⽰例演⽰如何将各种理论⽅法应⽤于项⽬⼯程。漆黑的魅影攻略
本书主要分为五⼤部分,软件过程、建模、质量管理、管理软件项⽬和软件⼯程⾼级课程。在五部分之前还⽤了两章来讲述软件的定义和软件⼯程。
2011年12月思想汇报
软件是:(1)指令的集合(计算机程序),通过执⾏这些指令可以满⾜预期的特性、功能和性能需求;
营养保健品排行榜(2)数据结构,使得程序可以合理利⽤信息;(3)软件描述信息,它以硬拷贝和虚拟形式存在,⽤来描述程序的操作和使⽤。IEEE对软件⼯程下的定义是:(1)将系统化的、规范化的、可量化的⽅法应⽤于软件的开发、运⾏和维护,即将软件⼯程化⽅法应⽤于软件;(2)对(1)中所述⽅法的研究。作者认为我们需要规范,也需要可适应性和灵活性。
第⼀部分是软件过程,软件⼯程的通⽤过程框架定义了五种框架活动:沟通、策划、建模、构建以及部署,此外,还有⼀系列普适活动:项⽬跟踪控制、分线管理、质量保证、配置管理、技术评审以及其他活动。过程模式有惯⽤过程模式、专⽤过程模式和统⼀过程。惯⽤过程模型有:瀑布模型(变体V模型)、增量过程模型、演化过程模型(原型开发、螺旋模型)、并发模型;专⽤过程模型有:基于构建的开发、形式化⽅法模型、⾯向⽅⾯的软件开发。敏捷开发推崇:让客户满意且尽早的增量发布;⼩⽽⾼度⾃主的项⽬团队;⾮正式的⽅法;最⼩化软将⼯程⼯作产品以及整体精简开发。极限编程是敏捷开发中使⽤最⼴泛的⼀种⽅法。XP关键活动有策划、设计、编码和测试。
第⼆部分是建模部分,主要内容有指导实践的原则、理解需求、需求建模和设计。软件⼯程是以⼀系列核⼼原则作为指导的,这些原则有指导过程的原则和指导实践的原则。构建⼀个软件系统最困难的部分是确定构建什么,它会严重的影响随后所开发的系统,于是出现了需求⼯程。需求⼯程的任务是为设计和构建活动建⽴⼀个可靠且坚固的基础。软件团队成员需要完成7个不同的需求⼯程任务:起始、获取、细化、协商、规格说明、确认和管理。需求建模有基于场景的⽅法、基于类的⽅法以及⾏
为、模式和Web/移动App。软件设计是⼀个迭代的过程,通过这个过程,需求被变换为⽤于构建软件的“蓝图”。本书设计内容有:体系结构设计、构件级设计、⽤户界⾯设计、基于模式的设计、web App设计和移动App设计。
第三部分是质量管理。什么是质量?质量是⼀个复杂多⾯的概念,设计质量和符合质量两⽅⾯都需要软件⼯程师考虑。质量很重要,但是⽤户不满意,其他的事就都不重要了。这是Robert Glass给出的⼀个“直观的公式”:⽤户满意度=合格的产品+好的质量+按预算和进度安排交付。对于质量管理,相关的技术和⽅法有:评审技术、软件质量保证、软件测试策略和安全性⼯程。
傣族的传统节日
潺潺怎么读第四部分是管理软件项⽬。管理设计的范围包括⼈员、产品、过程和项⽬。在这⾥就需要考虑过程的度量和项⽬的度量以及软件项⽬的估算。软件项⽬管理还涉及项⽬进度安排、风险管理和维护与再⼯程。关于⼈员管理,⼈⽉神话中Brooks⽤⼀章来讲团队组成的重要性,使⽤“外科⼿术团队”来打⽐⽅。在本书中,作者也⽤了不少篇幅来讲团队的重要性。作者⽤了两章依次来讲过程度量与项⽬度量和软件项⽬估算。软件测量的⽅法有⾯向规模的度量、⾯向功能的度量、调和代码⾏度量和功能点度量、⾯向对象的度量、⾯向⽤例的度量和WebApp项⽬的度量。软件项⽬估算使⽤经验估算模型来预测⼯作量,本书中展⽰了典型的估算模型、COCOMO II模型和软件⽅程。软件⽅程是⼀个动态的多变量模型,它假定在软件开发项⽬的整个⽣命周期中有特定的⼯作量分布。
第五部分是软件⼯程⾼级课程。这⾥,作者介绍了软件过程改进(SPI)和软件⼯程的⼀些新趋势。SPI⽅法是迭代和连续的,它包括5个步骤:1、当前软件过程的评估;2、对业务⼈员和管理者的教育和培训;3、过程要素、软件⼯程⽅法以及⼯具的选区和合理性判定;4、SPI计划的实现;5、基于计划结果的评价和调整。SPI框架评价⼀个组织软件过程的“成熟度”,并提供成熟度等级定性的表⽰。CMMI(Capability Maturity Model Integration成熟度模型集成)以两种不同的⽅式表⽰过程元模型:⼀个连续式模型,⼀个分级式模型。连续式CMMI元模型定义了6个能⼒等级,分别是:不完全级、已执⾏级、已管理级、已定义级、定量管理级和优化级。分级式的CMMI元模型定义了5个成熟度等级,分别是:初始级、已管理级、已定义级、定量管理级和优化级。
参考⽂献:
[1]罗杰S.普莱斯曼(Roger S.Pressman),布鲁斯R.马克西姆(Bruce R.Maxim)著; 郑⼈杰等译. 软件⼯程:实践者的研究⽅法[M]. 北京:机械⼯业出版社.2016.9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。