《信息系统项目管理师考前冲刺与考点分析.doc》由会员分享,可在线阅读,更多相关《信息系统项目管理师考前冲刺与考点分析.doc(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息系统项目管理师考前冲刺与考点分析第1章信息系统开发基础 信息系统项目的一个重要交付物就是信息系统,作为高级项目经理,必须要掌握与信息系统开发相关的原理和技术,掌握信息系统开发的流程和方法,因为这是项目管理的基础,是信息系统项目的核心之所在。 1.1 考点脉络 本章是信息系统项目管理师考试的一个重点,根据考试大纲,要求考生掌握以下几个方面的内容: (1)信息系统:信息系统的概念和功能、信息系统的类型和发展。 (2)信息系统建设:信息系统建设的复杂性、信息系统的生命周期、信息系统建设的原则和信息系统开发方法。 (3)软件工程知识:软件需求分析与定义、软件设计、测试与维护、软件复用、软件质量保证
2、及质量评价、软件配置管理、软件开发环境、软件过程管理。 (4)软件构件技术知识:构件及其在信息系统项目中的重要性、常用构件标准。 (5)软件体系结构:软件体系结构定义、典型体系结构、软件体系结构设计方法、软件体系结构分析与评估。 (6)面向对象方法:面向对象的基本概念、统一建模语言与可视化建模、面向对象分析与设计。 (7)软件工具:建模工具、软件开发工具、软件测试工具、项目管理工具。 从历年的考试试题来看,本章的考点在综合知识考试中的平均分数为9.47分,约为总分的12.62%.考试试题主要分数集中在信息系统建设、软件工程知识和面向对象方法这3个知识点上。 1.2 信息系统建设 在信息系统建设
3、这个考点中,主要涉及到五个方面的知识,分别是信息与信息系统的概念、信息系统的类型、信息系统的生命周期、信息系统的规划方法和信息系统的开发方法。 1.2.1 考点精讲 1、信息与信息系统的概念 信息是不确定性的减少,是系统有序程度的度量,信息量的单位为比特(bit)。简单地说,信息系统就是输入数据,通过加工处理,产生信息的系统。信息系统具有数据的输入、传输、存储、处理、输出等基本功能。 2、信息系统的类型 按照数据环境,可以将信息系统分为数据文件、应用数据库、主题数据库和信息检索系统。数据文件是没有使用数据库管理系统;应用数据库虽然使用了数据库管理系统,但未实现共享。主题数据库建立了一些数据库,
4、与具体的应用有很大的独立性,数据经过设计,其存储结构与使用它的处理过程都是独立的,各种数据通过一些共享数据库被联系和体现;在信息检索系统中,一些数据库被组织为能保证信息检索和快速查询的需要,而不是大量的事务管理。 通常,一个组织的管理活动可以分成四级,分别是战略级、战术级、操作级和事务级。与此相对应,信息系统也分为战略级信息系统(企业最高管理层使用)、战术级信息系统(企业中层经理及其管理部门使用)、操作级信息系统(服务型企业的业务部门使用)和事务级信息系统(企业的管理业务人员使用)。 3、信息系统的生命周期 信息系统按照其生命周期进行划分大致可分成以下4个阶段: (1)规划阶段。本阶段的目标是
5、制定出信总系统的长期发展方案、决定信息系统在整个生命周期内的发展方向、规模和发展进程。 (2)开发阶段。信息系统的开发阶段是信息系统生命周期中最重要和最关键的阶段。该阶段又可分为总体规划、系统分析、系统设计、系统实施和系统验收5个阶段。 总体规划阶段:信息系统总体规划是系统开发的起始阶段,它的基础是需求分析。本阶段将明确信息系统在企业经营战略中的作用和地位;指导信息系统的开发;优化配置和利用各种资源,包括内部资源和外部资源;通过规划过程规范企业的业务流程。一个比较完整的总体规划,应当包括信息系统的开发目标、信息系统的总体架构、信息系统的组织结构和管理流程、信息系统的实施计划、信息系统的技术规范
6、等。 系统分析阶段:目标是为系统设计阶段提供系统的逻辑模型,内容包括组织结构及功能分析、业务流程分析、数据和数据流程分析、系统初步方案等。 系统设计阶段:根据系统分析的结果设计出信息系统的实施方案。内容包括系统架构设计、数据库设计、处理流程设计、功能模块设计、安全控制方案设计、系统组织和队伍设计、系统管理流程设计等。 系统实施阶段:将设计阶段的结果在计算机和网络上具体实现,也就是将设计文本变成能在计算机上运行的软件系统由于系统实施阶段是对以前的全部工作的检验,因此,系统实施阶段用户的参与特别重要。 系统验收阶段:通过试运行,系统性能的优劣、是否做到了用户友好等问题都会暴露在用户面前,这时就进入
7、了系统验收阶段。 (3)运行维护阶段。当信息系统通过验收,正式移交给用户以后,系统就进入了运行阶段。长时间的运行是检验系统质量的试金石。 (4)更新阶段(消亡阶段)。开发好一个信息系统,并想着让它一劳永逸地运行下去,是不现实的。企业的信息系统经常会不可避免地遇到系统更新改造、功能扩展,甚至是报废重建的情况。对此,企业在信息系统建设的初期就要注意系统的消亡条件和时机,以及由此而花费的成本。 4、信息系统的规划方法 信息系统战略规划是从企业战略出发,构建企业基本的信息架构,对企业内、外信息资源进行统一规划、管理与应用,利用信息控制企业行为,辅助企业进行决策,帮助企业实现战略目标。 信息系统的规划方
8、法经历了三个主要阶段,各个阶段所使用的方法也不一样。第一个阶段主要以数据处理为核心,围绕职能部门需求的信息系统规划,主要的方法包括企业系统规划法(Business System Planning,BSP)、关键成功因素法(Critical Success Factors,CSF)和战略集合转化法(Strategy Set Transformation,SST);第二个阶段主要以企业内部管理信息系统为核心,围绕企业整体需求进行的信息系统规划,主要的方法包括战略数据规划法、信息工程法和战略栅格法;第三个阶段的方法在综合考虑企业内外环境的情况下,以集成为核心,围绕企业战略需求进行的信息系统规划,主要
9、的方法包括价值链分析法和战略一致性模型。 5、信息系统的开发方法 信息系统的典型开发方法有结构化法、原型法和面向对象法。 结构化方法属于自顶向下的开发方法,其基本思想是自顶向下,逐步求精,强调开发方法的结构合理性及所开发软件的结构合理性。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它包括了结构化分析(Structured Analysis,SA)、结构化设计(Structured Design,SD)和结构化程序设计(Structured Programing,
10、SP)等方法。 面向对象方法是当前的主流开发方法,拥有大量不同的方法,主要包括OMT(Object Model Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE(Object-Oriented Software Engineering,面向对象的软件工程)及Booch方法等,而OMT、OOSE及Booch最后统一成为UML(United Model Language,统一建模语言)。面向对象方法的核心在于建立一个统一的模型,包括用例模型和分析模型。在面向对象开发方法中,分析、设计和实现这三个阶段已经没有明显的界限。 原型是指模拟某种产品的原始模型。在信息系统开发
11、中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的信息系统,满足用户的基本要求,使得用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。 原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在系统开发的各个阶段都将有关信息相互反馈,直至
12、模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。 1.2.2 一点一练 试题1 建立企业信息系统应该遵循一定的原则,以下原则不适当的是(1)。 (1)A.必须支持企业的战略目标 B.应该自上而下地规划和实现C.应该支持企业各个管理层的需求 D.应该向整个企业提供一致的信息 试题2 结构化分析方法的主要思想是(2)。 (2)A.自顶向下、逐步分解 B.自顶向下、逐步抽象 C.自底向上、逐步抽象 D.自底向上、逐步分解 试题3 (3)是企业信息系统的重要目标。
13、(3)A.技术提升 B.数据标准化 C.企业需求分析 D.信息共享和业务协同 试题4 企业信息系统项目的基础是企业信息战略规划,规划的起点是将(4)与企业的信息需求转换成信息系统目标,实施信息系统项目是要为企业建立起数据处理中心,以满足各级管理人员关于信息的需求,它坚持以(5)为中心的原则。 (4)A.事务处理 B.现行人工和电算化混合的信息系统 C.企业战略目标 D.第一把手要求 (5)A.数据 B.过程 C.功能 D.应用 试题5 一般可以将信息系统的开发分成5个阶段,即总体规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行和评价阶段,在各个阶段中工作量最大的是(6)。在每个阶段
14、完成后都要向下一阶段交付一定的文档,(7)是总体规划阶段交付的文档。 (6)A.总体规划阶段 B.系统分析阶段 C.系统设计阶段 D.系统实施阶段 (7)A.系统方案说明书 B.系统设计说明书 C.用户说明书 D.可行性研究报告 试题6 根据信息服务对象的不同,企业中的管理专家系统属于(8)。 (8)A.面向决策计划的系统 B.面向管理控制的系统 C.面向作业处理的系统 D.面向具体操作的系统 试题7 在信息系统中,信息的处理不包括(9)。 (9)A.信息的输入 B.信息的删除 C.信息的修改 D.信息的统计 试题8 信息系统的生命周期大致可分成4个阶段,即系统规划阶段、系统开发阶段、系统运行
15、与维护阶段、系统更新阶段。其中以制定出信息系统的长期发展方案、决定信息系统在整个生命周期内的发展方向、规模和发展进程为主要目标的阶段是(10)。系统调查和可行性研究、系统逻辑模型的建立、系统设计、系统实施和系统评价等工作属于(11)。 (10)A.系统规划阶段 B.系统开发阶段 C.系统运行与维护阶段 D.系统更新阶段 (11)A.系统规划阶段 B.系统开发阶段 C.系统运行与维护阶段 D.系统更新阶段 试题9 管理信息系统规划的方法有很多,最常使用的方法有三种:关键成功因素法(Critical Success Factors,CSF)、战略目标集转化法(Strategy Set Transf
16、ormation,SST)和企业系统规划法(Business System Planning,BSP)。U/C(Use/Create)矩阵法作为系统分析阶段的工具,主要在(12)中使用。 (12)A.BSP B.CSF C.SST D.CSF和SST 试题10 某商业银行启动核心信息系统建设,目前已完成信息系统的规划和分析,即将开展系统的设计与实施,此信息系统建设目前(13)。 (13)A.处于信息系统产生阶段 B.处于信息系统的开发阶段 C.即将进入信息系统运行阶段 D.处于信息系统消亡阶段 1.2.3 解析与答案 试题1分析 建立企业信息系统的基本原则包括:(1)信息系统必须支持企业的战略
17、目标。(2)信息系统的战略应当表达出企业中各管理层次的需求。(3)信息系统应该向整个企业提供一致的信息,应该按照自顶向下的方法进行数据的分析。(4)信息系统应该自上而下地规划,自下而上地分步实现,即应当由总体信息系统结构中的子系统开始实现。试题1答案(1)B试题2分析结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。结构化分析方法的主要思想是自顶向下、逐步分解。结构化分析的步骤如下:(1)分析当前的情况,做出反映当前物理模型的数据流图(Data Flow Diagram,DFD)。(2
18、)推导出等价的逻辑模型的DFD.(3)设计新的逻辑系统,生成数据字典和基元描述。(4)建立人机接口,提出可供选择的目标系统物理模型的DFD.(5)确定各种方案的成本和风险等级,据此对各种方案进行分析。(6)选择一种方案。(7)建立完整的需求规约。结构化系统分析和设计方法的主要指导原则有以下几点:(1)请用户共同参与系统的开发。(2)在为用户编写有关文档时,要考虑到他们的专业技术水平,以及阅读与使用资料的目的。(3)使用适当的画图工具做通信媒介,尽量减少与用户交流意见时发生问题的可能性。(4)在进行系统详细设计工作之前,就建立一个系统的逻辑模型。(5)采用自上而下方法进行系统分析和设计,把主要的
19、功能逐级分解成具体的、比较单纯的功能。(6)采用自顶向下方法进行系统测试,先从具体功能一级开始测试,解决主要问题,然后逐级向下测试,直到对最低一级具体功能测试完毕为止。(7)在系统验收之前,就让用户看到系统的某些主要输出,把一个大的、复杂的系统逐级分解成小的、易于管理的系统,使用户能够尽早看到结果,及时提出意见。(8)对系统的评价不仅是指开发和运行费用评价,而且还将是对整个系统生存过程的费用和收益的评价。试题2答案(2)A试题3分析从总的角度来讲,企业信息系统的目标是:借助于自动化和互联网技术,综合企业的经营、管理、决策和服务为一体,以求达到企业和系统的效率、效能和效益的统一,使计算机和互联网
20、技术在企业管理决策和服务中能发挥更显着的作用。具体落实到企业管理中,企业信息系统的目标是实现管理信息化、反应更迅速、连接更紧密(信息共享)、业务更有效率。在本题中,数据标准化和企业需求分析不是信息系统的目标,而是实现信息系统的方法和规范,而技术提升不是靠信息系统能实现的。试题3答案(3)D试题4分析信息战略规划是信息工程实施的起点,也是信息工程的基础。信息战略规划的起点是将企业战略目标和企业的信息需求转换成信息系统目标。实施信息系统工程是要为企业建立起具有稳定的数据处理中心,以满足各级管理人员关于信息的需求,它坚持以应用为中心的原则。试题4答案(4)C (5)D试题5分析为了有效地进行系统的开
21、发和管理,根据系统生命周期的概念,一般可以将信息系统的开发阶段分成5个子阶段,即总体规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行和评价/维护阶段。每个阶段都有其明确的任务,任务完成后都将交付给下一阶段一定规格的文档,作为下一阶段开发的依据。这种开发过程在直观上就像一级一级的瀑布,所以系统开发生命周期也称为瀑布模型。总体规划阶段向系统分析阶段提交可行性研究报告,系统分析阶段根据可行性研究报告,进一步对系统的功能进行分析和逻辑设计,并提交系统方案说明书。有调查数据显示,系统生命周期中各个阶段的工作量大致为:总体规划阶段占9%,系统分析阶段占15%,系统设计阶段占20%,系统实施阶段
22、占50%,系统运行和评价阶段占6%.可以看出,系统实施阶段的工作约占总工作量的一半,是各个阶段中工作量最大的。试题5答案(6)D (7)D试题6分析一个企业在发展过程中,按不同的发展阶段和管理工作的实际需要,信息系统在某个时期可能侧重于支持某一两个层次的管理决策或管理业务活动。根据信息服务对象的不同,企业中的信息系统可以分为三类。(1)面向作业处理的系统。是用来支持业务处理,实现处理自动化的信息系统。主要有:办公自动化系统(OAS)。它为各种类型的文案工作提供支持。事务处理系统(TPS)。应用信息技术支持企业最基本的、日常的业务处理活动,例如工资核算、销售订单处理、原材料出库和费用支出报销等。
23、数据采集与监测系统(DAMS)。安装于生产现场的自动化在线系统。它将生产过程中的产量、质量、故障信息转换为数字电信号,自动传送给计算机。在此基础上建立的信息系统,保证原始数据的正确性和及时性,省去大量人工录入数据的工作,大大提高了管理效率。(2)面向管理控制的系统。是辅助企业管理,实现管理自动化的信息系统。主要有:电子数据处理系统(EDPS)。是支持企业作业运行层日常操作的主要系统,主要用来进行日常业务的记录、汇总、综合和分类。知识工作支持系统(KWSS)。支持工程师、建筑师、科学家、律师和咨询专家等知识工作者的工作。计算机集成制造系统(CIMS)。不仅具有信息采集和处理功能,而且还具有各种控
24、制功能,并且集成于一个系统中,将产品的订货、设计、制造、管理和销售过程通过计算机网络综合在一起,达到企业生产全过程整体化的目的。(3)面向决策计划的系统。主要有:决策支持系统(DSS)。是支持决策者解决半结构化决策问题的具有智能作用的人机系统。该系统能够为决策者迅速而准确地提供决策所需的数据、信息和背景材料,帮助决策者明确目标,建立或修改决策模型,提供各种备选方案,对各种方案进行评价和优选,通过人机对话进行分析、比较和判断,为正确决策提供有力支持。战略信息系统(SIS)。主要功能是支持企业形成竞争策略,使企业获得或保持竞争优势。管理专家系统(MES)。专家系统是人工智能与信息系统应用相结合的产
25、物,其任务是研究怎样使计算机模拟人脑所从事的推理、学习、思考与规划等思维活动,解决需要人类专家才能处理的复杂问题,如医疗诊断、气象预报、运输调度和管理决策等问题。管理专家系统是用专家系统技术解决管理决策中的非结构化问题。管理专家系统把某个或几个管理决策专家解决某类管理决策问题的经验知识整理成计算机可表示的形式的知识,组织到知识库中,用人工智能程序模拟专家解决这类问题的推理过程,组成推理机,从而能在与管理人员的会话中像管理专家一样工作,提出高水平的可供选择的决策方案。试题6答案(8)A试题7分析从技术角度来看,信息系统是为了支持组织决策和管理而进行信息收集、处理。储存和传递的一组相互关联的部件组
26、成的系统,包括三项活动:(1)输入活动:从组织或外部环境中获取或收集原始数据。(2)处理活动:将输入的原始数据转换为更有意义的形式。(3)输出活动:将处理后形成的信息传递给人或需要此信息的活动。由此可以看出,信息的输入和信息的处理是各自相对独立的活动,不构成包含关系,而信息的删除、修改、统计都属于信息的处理。试题7答案(9)A试题8分析信息系统按照其生命周期进行划分大致可分成以下4个阶段:(1)规划阶段。本阶段的目标是制定出信总系统的长期发展方案、决定信息系统在整个生命周期内的发展方向、规模和发展进程。(2)开发阶段。信息系统的开发阶段是信息系统生命周期中最重要和最关键的阶段。该阶段又可分为总
27、体规划(系统调查和可行性研究)、系统分析(系统逻辑模型的建立)、系统设计、系统实施和系统验收5个阶段。(3)运行维护阶段。当信息系统通过验收,正式移交给用户以后,系统就进入了运行阶段。运行维护阶段是信息系统生命周期中时间最长的一个阶段。(4)更新阶段(消亡阶段)。当信息系统不能满足当前业务需求时,就面临换代和更新。试题8答案(10)A(11)B试题9分析BSP方法是IBM公司于20世纪70年代提出的一种方法,主要用于大型信息系统的开发。BSP方法是企业战略数据规划方法和信息工程方法的基础,也就是说,战略数据规划方法和信息工程方法是在BSP方法的基础上发展起来的。因此,理解BSP方法,对于全面掌
28、握信息系统开发方法是有帮助的。BSP方法的目标是提供一个信息系统规划,用以支持企业短期的和长期的信息需求。在BSP方法中,企业过程和数据类定义好后,可以得到一张过程/数据类表格,表达企业过程与数据类之间的联系。然后,以企业过程为行,以数据类为列,按照企业过程生成数据类关系填写C(Create),使用数据类关系填写U(User),形成U/C矩阵。CSF法是由John Rockart于20世纪70年代末提出的一种信息系统规划方法。该方法能够帮助企业找到影响系统成功的关键因素,进行分析以确定企业的信息需求,从而为管理部门控制信息技术及其处理过程提供实施指南。在每个企业中都存在着对企业成功起关键性作用
29、的因素,称为CSF.CSF通常与那些能够确保企业生存和发展的方面相关。CSF方法的目的是通过企业的CSF,确定企业业务的关键信息需求。通过对CSF的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的优先次序。SST是由William R. King于1978年提出的一种信息系统规划方法。该方法将企业战略看成是一个信息集合,包括使命、目标、战略和其他企业属性,例如,管理水平、发展趋势以及重要的环境约束等。SST方法就是将企业的战略集合转化为信息系统的战略集合,而后者由信息系统的目标、环境约束和战略规划组成。试题9答案(12)A试题10分析根据题目的描述可知,该系统目前处于开发阶段的系统分
30、析子阶段。试题10答案(13)B 1.3 软件工程在软件工程这个考点中,主要涉及到八个方面的知识,分别是软件需求分析与定义、软件设计、测试与维护、软件复用、软件质量保证及质量评价、软件配置管理、软件开发环境和软件过程管理。1.3.1 考点精讲1、软件需求分析与定义据统计,在失败的信息系统项目中,有超过一半是源于需求问题。需求就是系统必须完成的事及必需的品质。软件需求是一个为解决特定问题而必须由被开发或被修改的软件展示的特性。这个问题可能是使用软件的某人的任务中的一个自动化部分,或是支持委托开发软件的组织的业务流程,或修正当前软件的缺点,或是控制一个设备等。用户、业务流程和设备的功能通常根复杂,
31、因此,特定软件的需求在外延上通常是来自一个组织不同层次的不同人员的需求和来自软件将要在其中运行的环境的需求的复杂组合。需求是软件产品的根源,就象一条河流,如果源头被污染了,那么整条河流也就被污染了。人们把所有与需求直接相关的活动统称为需求工程,需求工程分为两大部分:需求开发与需求管理。需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求开发又分为需求获取、需求分析、需求定义和需求验证等四个步骤,需求开发得到的主要成果是需求规格说明书(SRS)。需求开发侧重于技术,是需求工程的主线。需求管理的目的是在客户和开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变
32、更。需求开发又分为制定需求管理计划、求得对需求的理解、求得对需求的承诺、管理需求变更、维护对需求的双向跟踪性和识别项目工作与需求之间的不一致性等六个步骤,需求管理侧重于管理,是需求工程的辅线(即对需求开发起支持作用)。2、软件设计软件设计是定义一个系统或构件的架构、构件、接口和其他特征的过程,并得到这个过程的结果.作为过程看待时,软件设计是一种软件生命周期活动,在这个活动中,要分析软件需求,以产生一个软件内部结构的描述,并将其作为软件构造的基础。更精确地说,软件设计必须描述软件架构和这些构件之间的接口,也必须在详细的层次上描述构件,以便能构造这些构件。软件设计在软件开发中起着重要作用,通过它形
33、成要实现的各种不同模型。分析和评价这些模型,以确定它们能否实现各种不同的需求,在各种不同的候选方案中进行权衡,确定最终方案。最后,将其作为构造和测试的输入和起始点,并用来规划后续的开发活动。软件设计由两个处于软件需求和软件构造之间的活动组成。(1)软件架构设计(有时叫做高层设计):描述软件的结构和组织,标识各种不同的构件。(2)软件详细设计:详细地描述各个构件或模块,使之能被构造。软件架构是一个描述软件系统的子系统和构件,以及它们之间相互关系的学科.架构试图定义软件的内部结构。通过视图可以从不同角度描述软件结构,主要包括逻辑视图(满足功能需求)、过程视图(并发问题)、构件视图(实现问题)、部署
34、视图(分布问题)和场景视图(让其他四种视图的元素协同工作),又叫4+1视图.3、软件测试与维护测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为,需要选取适当的测试用例。测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分。测试不仅是检查预防措施是否有效的主要手段,而且是识别由于某种原因导致预防措施无效,而产生的错误的主要手段。需要注意的是,在广泛的测试活动成功完成后,软件可能仍包含错误,交付后出现的软件失效的补
35、救措施是由软件维护达成的。软件测试随开发和维护过程,通常在不同的级别上进行,可以在概念上区分三个大的测试阶段:单元测试、集成测试和系统测试。软件测试需要坚持以下几大原则:(1)尽早、不断的进行测试(2)程序员避免测试自己设计的程序(3)既要选择有效、合理的数据,也要选择无效、不合理的数据(4)修改后应进行回归测试(5)尚未发现的错误数量与该程序已发现错误数成正比软件测试可分为静态测试与动态测试两大类,静态测试是在不运行程序的前提下测试,其又分为桌前检查、代码走查和代码审查。而动态测试是在运行程序的前提下测试,其主要分为黑盒测试、白盒测试与灰盒测试三大类,考试重点是前两类。黑盒测试:又被称为功能
36、测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。典型的黑盒测试方法有等价类划分、边界值分析、错误推测、因果图等。白盒测试:是把程序看作一个透明的盒子,对程序的源代码进行测试。这种类型的测试需要从代码句法发现内部代码在
37、算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。典型的白盒测试方法有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等。软件维护是坐命周期的一个完整部分。软件开发工作的结果是交付满足用户需求的软件产品。相应地,软件产品必然存在变更和演化。一旦投入运行,就可能发现缺陷,运行环境可能会变化,用户会提出新的需求。这些都需要对软件进行维护。可以将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。软件维护包括如下类型。(1)更正性维护:
38、软件产品交付后进行的修改,以更正发现的问题。(2)适应性维护:软件产品交付后进行的修改,以保持软件产品能在变化后或变化中的环境中可以继续使用。(3)完善性维护:软件产品交付后进行的修改,以改进性能和可维护性。(4)预防性维护:软件产品交付后进行的修改,以在软件产品中的潜在错误成为实际错误前,检测和更正它们。4、软件复用软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。软件复用是一
39、种计算机软件工程方法和理论。20世纪60年代的软件危机使程序设计人员明白难于维护的软件的成本是极其高昂的,当软件的规模不断扩大时,这种软件的综合成本可以说是没有人能负担的,并且即使投入了高昂的资金也难以得到可靠的产品,而软件重用是解决这一问题的有效方法。软件复用的主要思想是,将软件看成是由不同功能的构件所组成的有机体,每一个构件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的构件被建立起来以后,编写某一特定软件的工作就变成了将各种不同构件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。软件制品的复用,按抽象程度的高低,可以划分为如下复用级别:
40、代码的复用、设计的复用、分析的复用、测试信息的复用等。支持软件复用是人们对面向对象方法寄托的主要希望之一,也是这种方法受到广泛重视的主要原因之一。面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求十分吻合。面向对象的软件开发和软件复用之间的关系是相辅相成的。一方面,面向对象的方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件开发提供了有力的支持。而模式也与复用有关,因为模式是给定上下文中普遍问题的普遍解决方案,模式主要有设计模式(微观架构模式)和架构模式(宏观架构)。5、软件质量保证及质量评价国际标准IS给出的软件质量的
41、定义是:软件特性的总合,软件满足规定或潜在用户需求的能力。也就是说,质量就是遵从用户需求,达到用户满意。国际标准IS09126定义的软件质量包括内部质量、外部质量和使用质量三部分。也就是说,软件满足规定或潜在用户需求的能力要从软件在内部、外部和使用中的表现来衡量。软件需求定义了软件质量特性,并影响评价这些特性的度量方法和接收准则。应在软件过程、产品和资源的各个方面进行软件质量管理,软件质量管理过程由许多活动组成,一些活动可直接发现缺陷,其他活动则指出深入的检查是否有价值,前者也称为直接缺陷发现活动,许多活动都可以达到这两个目的。软件质量管理过程包括:质量保证过程、验证过程、确认过程、评审过程、
42、审计过程等。(1)软件质量保证软件质量保证过程通过计划制订、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求。软件质量保证计划定义了用于保证为特定产品开发的软件满足用户需求,并在项目的约束内具有最高的质量的手段。(2)验证与确认验证与确认过程使用能够定位缺陷并便于以后改正的测试技术直接处理软件产品质量问题。验证与确认过程确定某一开发和维护括动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。验证过程试图确保活动的输出产品已经被正确制造,即某项活动的输出产品是否满足前一项活动施加的规范说明;确认过程则试图确保建造了正确的产品,即最终的产品
43、是否满足需求规格说明书的要求。因此也可以把确认理解为最后一次的验证。(3)评审与审计评审与审计过程包括:管理评审、技术评审、检查、走查、审计等。管理评审的目的是监控进展,决定计划和进度的状态,确认需求及其系统分配,或价用于达到目标适应性的管理方法的有效性。它们支持有关软件项目期间需求的变更和其他变更活动。技术评审的目的是评价软件产品。以确定其对使用意图的适合性,目标是识别规范说明和标准的差异,并向管理提供证据,以表明产品是否满足规范说明并遵从标准,而且可以控制变更。检查的目的是检测和识别软件产品异常。一次检查通常针对产品的一个相对小的部分。发现的任何异常都要记录到文档中,并提交。走查的目的是评
44、价软件产品,走查也可以用于培训软件产品的听众,主要目标是:发现异常、改进软件产品、寿虑其他实现、评价是否遵从标准和规范说明。走查类似于检查,但通常不那么正式。走查通常主要由同事评审其工作,以作为一种保障技术。软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。审计是正式组织的活动,识别违例情况,并产生一个报告,采取更正性行动。6、软件配置管理软件配置管理是有益于项目管理、开发和维护的活动。软件配置管理与软件质量保证活动密切相关,软件配置管理活动可以帮助达成软件质量保证目标。软件配置管理活动有:软件配置管理过程的管理和计划、软件配置标识、软件配置控制、软
45、件配置状态记录、软件配置审计、软件发布管理与交付。7、软件开发环境软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。通常可以设计并实现工具来支持特定的软件工程方法,减少手工方式管理的负担。与软件工程方法一样,它们试图让软件工程更加系统化,工具的种类包括支持单个任务的工具及囊括整个生命周期的工具。具体包括:(1)软件需求工具软件需求工具包括需求建模工具和需求追踪工具。(2)软件设计工具软件设计工具用于创建和检查软件设计,因为软件设计方法的多样性,这类工具的种类很多。(3)软件构造工具软件构造工具包括程序编辑器、编译器和代码生成器、解释器、调试器等。(4)软件测试工具软件测试工具包括测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。(5)软件维护工具软件维护工具包括理解工具(如可视化工具)和再造工具(如重构工具)。(6)软件配置管理工具软件配置管理工具包括追踪工具、版本管理工具和发布工具。(7)软件工程管理工具软件工程管理工具包括项目计划与追踪工具、风险管理工具和度量工具。(8)软件工程过程工具软件工程过程工具包括建模工具、管理工具、软件开发环境。(9)软件质量工具软件质量工具包括检查工具和分析工具。8、软件过程管理软件工程管理集成了过程管理和项目管理,主要包括以下6个方面。(1)启动和范围定义(2)软件项目计划