项目管理师备考知识点精讲之信息系统开发基础考点精讲
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目管理师备考知识点精讲之信息系统开发基础考点精讲相关的知识,希望对你有一定的参考价值。
信息系统项目管理师考试是计算机软件水平考试中的一个高级资格考试,是软考中的大热门。信息系统项目管理师证书含金量高,可以评高级职称,是申请高级项目经理的必要条件,还可以挂靠。下面希赛软考学院为您带来信息系统项目管理师备考知识点集锦之信息系统开发基础考点精讲,专业老师根据历年真题及考试大纲分析总结的软件工程考点内容,让您备考期间少走弯路,高效学习,顺利通过考试。
软件工程考点精讲
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、减低软件成本。IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
1.结构化方法
结构化方法属于自顶向下的开发方法,其基本思想是“自顶向下,逐步求精”,强调开发方法的结构合理性及所开发软件的结构合理性。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它包括了结构化分析(StructuredAnalysis,SA)、结构化设计(StructuredDesign,SD)和结构化程序设计(StructuredPrograming,SP)等方法。
2.软件开发模型
对于开发模型知识点,要掌握软件生命周期的概念、各种开发模型的特点和应用场合。主要考查的开发模型有瀑布模型、增量模型、螺旋模型、喷泉模型、迭代模型、V模型、敏捷方法和统一过程等。
(1)瀑布模型。瀑布模型也称为生命周期法,是结构化方法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型是最早出现的软件开发模型,它提供了软件开发的基本框架。瀑布模型的本质是“一次通过”,即每个活动只做一次,最后得到软件产品,也称做“线性顺序模型”或者“传统生命周期”。瀑布模型有利于大型软件开发过程中人员的组织与管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。然而软件开发的实践表明,软件开发各项活动之间并非完全是自上而下的,因此,瀑布模型存在严重的缺陷,只适用于需求明确或很少变更的项目,例如二次开发或升级型的项目。
(2)螺旋模型。螺旋模型将瀑布模型和快速原型模型相结合,综合了两者的优点,并增加了风险分析。它以原型为基础,沿着螺线自内向外旋转,每旋转一圈都要经过制订计划、风险分析、实施工程及客户评价等活动,并开发原型的一个新版本。经过若干次螺旋上升的过程,得到最终的系统。
(3)喷泉模型。喷泉模型为软件复用和生存周期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。“喷泉”一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动中,分析、设计和编码之间不存在明显的边界。
(4)增量模型。增量模型融合了瀑布模型的基本成分(重复的应用)和原型实现的迭代特征。增量模型采用随着时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的增量。当使用增量模型时,第一个增量往往是核心的产品,也就是说第一个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估,都作为下一个增量发布的新特征和功能。这个过程在每一个增量发布后不断重复,直到产生最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。增量模型像原型实现模型和其他演化方法一样,本质上是迭代的。但与原型实现不同的是,增量模型强调每一个增量均发布一个可操作产品。
(5)迭代模型:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。在迭代模型中,每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代模型适用于项目事先不能完整定义产品所有需求、计划多期开发的软件开发。在现代的开发方法中,例如XP、RUP等,无一例外地都推荐、主张采用能显著减少风险的迭代模型。迭代模型适用于项目事先不能完整定义产品所有需求、计划多期开发的软件开发中。
(6)V模型。在瀑布模型及其他的经典模型中,测试常常作为亡羊补牢的事后行为,但也有以测试为中心的开发模型,那就是V模型。V模型宣称测试并不是一个事后弥补行为,而是一个同开发过程同样重要的过程,如图所示。
V模型描述了一些不同的测试级别,并说明了这些级别所对应的生命周期中不同的阶段。在图中,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即测试过程的各个阶段。请注意在不同的组织中,对测试阶段的命名可能有所不同。
V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
(7)敏捷方法。敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重人的作用。敏捷方法是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学且充满乐趣的软件开发方式,适用于小型或中型软件开发团队,并且客户的需求模糊或需求多变。
(8)统一过程。统一过程(UnifiedProcess,UP)是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以基本架构为中心、迭代和增量。UP中的软件过程在时间上被分解为四个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和交付阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经达到。如果评审结果令人满意,就可以允许项目进入下一个阶段。由于UP是由Rational公司提出来的,因此,也简称为RUP。
各种软件开发模型的特点比较
3.需求工程
需求工程是包括创建和维护系统需求文档所必需的一切活动的过程,可分为需求开发和需求管理两大工作。
4.软件设计
从工程管理角度来看,软件设计可分为概要设计和详细设计两个阶段。
(1)概要设计。也称为高层设计,即将软件需求转化为数据结构和软件的系统结构。
(2)详细设计。也称为低层设计,即对结构图进行细化,得到详细的数据结构与算法。
5.软件测试
软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。目前,软件的正确性证明尚未得到根本的解决,软件测试仍是发现软件错误和缺陷的主要手段。软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
6.软件维护
软件维护占整个软件生命周期的60%~80%,维护的类型主要有以下4种:改正性维护、适应性维护、完善性维护、预防性维护。
软件工程知识点分析总结
依据本人多年的一线面授经验发现:大部分的考生朋友软件工程方面的基础知识薄弱,因为大多数朋友平时从事工作是“偏硬”方面的,很少会涉到“偏软”方面的内容。依据高级信息系统项目管理师考试大纲,要求广大考生朋友应对软件开发各个过程及阶段工作内容应有所了解,总而言知,考纲对这一板块知识考查的要求并不高,大部分只涉及到“面”上的知识考查。近年来在高级项目管理师考试中频繁考查的且需要考生朋友重点掌握的考点有:各种开发模型的优缺点、软件需求分析及软件需求规格说明书、软件架构设计与详细设计、软件测试及软件质量与软件质量保证等。
本节知识点说明表
希赛教育左老师温馨提示:对于本大部分考点知识大家可参考中级教程《系统集成项目管理工程师教程》(柳纯录主编)第3章P85-91。对于基础较差或非计算专业的朋友建议参考《软件工程导论》(作者:陈明;机械工业出版社)这本高校教材。
以上是关于项目管理师备考知识点精讲之信息系统开发基础考点精讲的主要内容,如果未能解决你的问题,请参考以下文章