下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

2022下半年系统集成项目管理工程师考试知识点:软件工程

作者:匿名     来源: 软考点击数:928发布时间: 2022-08-02 22:28:34

标签: 2022下半年系统集成项目管理工程师知识点系统集成项目管理工程师考试知识点软件工程

软考,您想通过吗?一次通过才是硬道理

  为帮助大家备考2022下半年系统集成项目管理工程师考试,课课家小编为大家整理了系统集成项目管理工程师考试知识点:软件工程,希望对大家备考会有帮助。

  很多考生在备考2022下半年系统集成项目管理工程师考试,课课家小编为大家整理了2022下半年系统集成项目管理工程师考试知识点:软件工程,供大家备考复习。

  软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、减低软件成本。IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

  1.信息系统开发方法

  (1)结构化方法:是应用最为广泛的一种开发方法。把整个系统的开发过程分为若干阶段,每个阶段和主要步骤都有明确详尽的文档编制要求,并对其进行有效控制。结构化方法的特点是注重开发过程的整体性和全局性。但其缺点是开发周期长;文档、设计说明繁琐,工作效率低;要求在开发之初全面认识系统的需求,充分预料各种可能发生的变化,但这并不十分现实。

  (2)原型法:其认为在无法全面准确地提出用户需求的情况下,并不要求对系统做全面、详细的分析,而是基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。原型法的特点在于其对用户的需求是动态响应、逐步纳入的;系统分析、设计与实现都是随着对原型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。原型又可以分为抛弃型原型(Throw-It-AwayPrototype)和进化型原型(Evolutionary Prototype)两种。

  (3)面向对象方法(Object Oriented,OO):用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用,以达到复用的目的。其关键是能否建立一个全面、合理、统一的模型,既能反映需求对应的问题域,也能被计算机系统对应的求解域所接受。

  面向对象方法主要涉及分析、设计和实现三个阶段。其特点是在整个开发过程中使用的是同一套工具。整个开发过程实际上都是对面向对象三种模型的建立、补充和验证。因此,其分析、设计和实现三个阶段的界限并非十分明确。

  2.软件开发模型

  对于开发模型知识点,要掌握软件生命周期的概念、各种开发模型的特点和应用场合。主要考查的开发模型有瀑布模型、螺旋模型、迭代模型(RUP)、V模型、敏捷方法等。

  (1)瀑布模型。瀑布模型也称为生命周期法,是结构化方法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护六个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。特点:从上一项开发活动接受其成果作为本次活动的输入;利用这一输入,实施本次活动应完成的工作内容。

  (2)螺旋模型。螺旋模型将瀑布模型和快速原型模型相结合,综合了两者的优点,并增加了风险分析。它以原型为基础,沿着螺线自内向外旋转,每旋转一圈都要经过制定计划、风险分析、实施工程及客户评价等活动,并开发原型的一个新版本。螺旋模型强调了风险风析,特别适用于庞大而复杂的、高风险的系统。

  (3)迭代模型:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。在迭代模型中,每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代模型适用于项目事先不能完整定义产品所有需求、计划多期开发的软件开发。在现代的开发方法中,例如XP、RUP等,无一例外地都推荐、主张采用能显著减少风险的迭代模型。迭代模型适用于项目事先不能完整定义产品所有需求、计划多期开发的软件开发中。

  (4)V模型。在瀑布模型及其他的经典模型中,测试常常作为亡羊补牢的事后行为,但也有以测试为中心的开发模型,那就是V模型。V模型宣称测试并不是一个事后弥补行为,而是一个同开发过程同样重要的过程,如图1-5所示。

  

图1-5 V模型示意图

  ①单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

  ②集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其他程序部分之间的接口上可能存在的错误。

  ③系统测试主要针对概要设计,检查系统作为一个整体是否有效地得到运行,例如在产品设置中是否能达到预期的高性能。

  ④验收测试通常由业务或用户进行,以确认产品能真正符合用户业务上的需要。

  (5)敏捷方法。是一种以人为核心、迭代、循序渐进的开发方法,适用于一开始并没有或不能完整地确定出需求和范围的项目,或者需要应对快速变化的环境,或者需求和范围难以事先确定,或者能够以有利于干系人的方式定义较小的增量改进。

  敏捷方法,也叫适应型生命周期、或者变更驱动方法。

  (6)原型化模型。原型化模型是为弥补瀑布模型的不足而产生的。

  原型化模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。在实际中原型化经常在需求分析定义的过程进行。

  各种软件开发模型的特点比较

模型名称 技术特点 适用范围
瀑布模型 简单,分阶段,阶段间存在因果关系,各个阶段完成后都有评审,允许反馈,不支持用户参与,要求预先确定需求 需求易于完善定义且不易变更的软件系统
迭代模型 不要求一次性地开发出完整的软件系统,将软件开发视为一个逐步获取用户需求、完善软件产品的过程 需求难以确定、不断变更的软件系统
螺旋模型 结合瀑布模型、迭代模型的思想,并引进了风险分析活动 需求难以获取和确定、软件开发风险较大的软件系统
敏捷方法 拥抱变化较少的文档,简单设计持续集成,小步快走 小型项目、小型团队,需求快速变化
原型化模型 在原型上沟通更直观 适合需求分析

  3.方案设计

  系统方案设计包括总体设计和各部分的详细设计(物理设计)两个方面。

  (1)系统总体设计:包括系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。

  (2)系统详细设计:包括代码设计、数据库设计、人/机界面设计、处理过程设计等。

  4.软件需求分析与定义

  软件需求是针对待解决问题的特性的描述。所定义的需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。

  通过需求分析,可以检测和解决需求之间的冲突;发现系统的边界;并详细描述出系统需求。

  5.软件设计

  从工程管理角度来看,软件设计可分为概要设计和详细设计两个阶段。

  (1)概要设计。也称为高层设计,即将软件需求转化为数据结构和软件的系统结构。

  (2)详细设计。也称为低层设计,即对结构图进行细化,得到详细的数据结构与算法。

  6.软件测试

  软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。目前,软件的正确性证明尚未得到根本的解决,软件测试仍是发现软件错误和缺陷的主要手段。软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。

  7.软件维护

  软件维护占整个软件生命周期的60%~80%,维护的类型主要有以下4种:

  改正性维护---改正交付后发现的错误;

  适应性维护---为适用环境变化;

  完善性维护---优化性能和维护性;

  预防性维护---预防潜在的错误。

  8.软件配置管理

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

  软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。

  9、软件质量保证及质量评价

  软件质量指的是软件特性的总和,是软件满足用户需求的能力,即遵从用户需求,达到用户满意。软件质量包括“内部质量”、“外部质量”和“使用质量”三部分。软件需求定义了软件质量特性,及确认这些特性的方法和原则。

  软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等。

  (1)软件质量保证:通过制订计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求。

  (2)验证与确认:确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。

  验证过程试图确保活动的输出产品已经被正确构造,即活动的输出产品满足活动的规范说明;确认过程则试图确保构造了正确的产品,即产品满足其特定的目的。

  (3)评审与审计:包括管理评审、技术评审、检查、走查、审计等。

  管理评审的目的是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。技术评审的目的是评价软件产品,以确定其对使用意图的适合性。

  软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。审计是正式组织的活动,识别违例情况,并要生成审计报告,采取更正性行动。

  >>>>>>点击进入软考报名专题

赞(12)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程