《系统集成项目管理工程师教材》第 3 版第五章《软件工程》的知识点!

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《系统集成项目管理工程师教材》
第 3 版第五章《软件工程》的详细知识点
一:软件工程定义
1:概念:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,目的是提高软件生产率、提高软件质量、降低软件成本:
2:组成部分:由方法、工具和过程 3 个部分组成。

其中,方法是完成软件项目的技术手段,支持整个软件生命周期;工具是人们在开发软件活动中智力和体力的扩展与延伸,自动或半自动地支持软件的开发和管理以及各种软件文档的生成;过程贯穿于软件开发的各个环节,是指在软件工具的支持下,软件工程师完成的一系列软件工程活动,管理人员需对软件开发的质量、进度、成本进行评估、管理和控制。

·
二:软件需求
1:需求的层次
①业务需求:反映组织机构或用户对系统、产品高层次的目标要求,从总体上描述为什么要达到某种效应,组织希望达到什么目标,通常来自项目投资人、客户、管理人员等,可确定项目视图和范围。

②用户需求:描述用户的具体目标,或用户要求系统必须能完成的任务和想要达到的结果,构成用户原始需求文档的内容,体现系统给用户带来的业务价值。

③系统需求:从系统的角度说明软件的需求,包括功能需求、非功能需求和约束等。

④功能需求:规定了开发人员必须在系统中实现的软件功能;
⑤非功能需求:描述了系统展现给用户的行为和执行的操作等,可细分为软件质量属性和其他非功能需求;约束是对开发人员在软件产品设计和构造上的限制。

2:质量功能部署(QFD)
是一种将用户要求转化成软件需求的技术,目的是提升用户满意度。

将软件需求分为常规需求、期望需求和意外需求。

①常规需求是用户认为系统应做到的功能或性能,实现越多用户越满意;
②期望需求是用户想当然认为系统应具备的功能或性能,但不能正确描述,若未实现会让用户不满意;
③意外需求是用户要求范围外的功能或性能,实现会让用户更高兴,不实现也不影响购买决策。

3:需求获取
是开发者与用户之间为了定义新系统而进行的交流,是获得系统必要的特征或用户能接受的、系统必须满足的约束。

需求获取不充分或存在理解错误可能导致项目失败·。

4:需求分析
一个好的需求应具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特性。

需求分析是把杂乱无章的用户要求和期望转化为用户需求,关键在于对问题域的研究与理解。

结构化分析:其建立模型的核心是数据字典,有数据模型、功能模型和行为模型 3 个层次的模型。

在实际工作中,一般用实体关系图表示数据模型,用数据流图表示功能模型,用状态转换图表示行为模型·。

面向对象分析:用对象表示客观事物,关键是建立一个全面、合理、统一的模型,既能反映需求对应的问题域,也能被计算机系统对应的求解域所接受。

·
二:软件设计
1:结构化设计:将软件需求转化为数据结构和软件的系统结构,分为概要设计(高层设计)和详细设计(低层设计)。

①概要设计是对软件系统的总体架构进行设计;
②详细设计是对结构图进行细化,得到详细的数据结构与算法。

2:面向对象设计:以对象为基础,将数据和操作封装在对象中,通过对象之间的交互来实现系统功能。

涉及到类的设计、对象的创建、方法的定义等方面:
3:统一建模语言(UML):是一种用于可视化、详述、构造和文档化软件系统的标准建模语言,可用于软件设计的各个阶段,帮助开发人员更好地理解和表达系统的需求和设计。

4:设计模式:是对软件设计中常见问题的通用解决方案,可提高软件的可维护性、可扩展性和可复用性:
三:软件开发模:
1:瀑布模型:把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护六个阶段,规定了自上而下、相互衔接的固定次序,适用于需求明确、开发过程稳定的项目,但开发周期长、灵活性差。

2:螺旋模型:将瀑布模型和快速原型模型相结合,增加了风险分析,每旋转一圈都要经过制定计划、风险分析、实施工程及客户评价等活动,适用于庞大而复杂、高风险的系统;
3:迭代模型:在项目事先不能完整定义产品所有需求、计划多期开发的情况下适用,每一次的迭代都会产生一个可以发布的产品,是最终产品的一个子集;
4:V 模型:强调测试与开发过程同样重要,测试活动与开发阶段相对应,包括单元测试、集成测试、系统测试和验收测试。

5:敏捷方法:以人为核心、迭代、循序渐进的开发方法,适用于需求难以事先确定或需要应对快速变化环境的项目:
四:软件测试:·目的:是软件质量保证的主要手段之一,在软件交付给客户之前必须完成,尽可能多地发现软件产品中的错误和缺陷。

·类型:包括单元测试、集成测试、系统测试、验收测试等,分别针对不同的开发阶段和测试目标。

五:软件维护:·概念:软件维护占整个软件生命周期的 60% - 80%,是在软件交付使用后,为了改正错误、适应环境变化、优化性能等进行的修改和完善工作。

·类型:主要有改正性维护(改正交付后发现的错误)、适应性维护(为适用环境变化)、完善性维护(优化性能和维护性)、预防性维护(预防潜在的错误)。

六:软件配置管理:通过标识产品的组成元素、管理和控制变更、验证、记录和报告配置信息,来控制产品的进化和完整性,与软件质量保证活动密切相关。

七:软件质量保证及质量评价
软件质量:是软件特性的总和,是软件满足用户需求的能力,包括“内部质量”“外部质量”和“使用质量”三部分。

质量保证:通过一系列的活动和措施,确保软件产品的质量符合规定的标准和要求。

·
质量评价:对软件产品的质量进行评估和分析,以确定是否满足用户需求和质量标准。

相关文档
最新文档