软件工程知识概论_第1页
软件工程知识概论_第2页
软件工程知识概论_第3页
软件工程知识概论_第4页
软件工程知识概论_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软件工程基础知识- PAGE 58 -2.4 软件工程基础知识2.4.1 主要知识点软件工程是计算机软件的一个重要分支,主要应掌握软件工程的基本原理以及软件设计与测试方法。2.4.1.11软件生存周周期各阶段的的任务软件生生存周期指出出由软件定义义、软件开发发和软件维护护等阶段组成成的全过程。(1)软件定义义阶段软件定义阶段主主要解决软件件要做什么么的问题,也也就是要确定定软件的处理理对象、软件件与外界的接接口、软件的的功能、软件件的性能、软软件的界面以以及有关的约约束和限制。软软件定义阶段段通常可分成成系统分析、软软件项目计划划和需求分析析等阶段。系系统分阶析的的任务是确定定待开发软件件的

2、总体要求求和适用范围围,以及与之之有关的硬件件和支撑软件件的要求,该该阶段所生产产的文档可合合并在软件项项目计划阶段段的文档(项项目计划书)中中。软件项目目计划的任务务是确定待开开发软件的目目标,对其进进行可行性分分析,并对资资源分配、进进度安排等做做出合理的计计划,该阶段段所产生的文文档有可行性性分析报告和和项目计划书书。需求分析析的任务是确确定待开发软软件的功能、性性能、数据和和界面等要求求,从而确定定系统的逻辑辑模型。该阶阶段产生的文文档是需求规规格说明书。 (2)软件开发发阶段软件开发阶段主主要解决软件件怎么做的问题,包包括数据结构构和软件结构构的设计、算算法设计、编编写程序和测测试,

3、最后得得到可交付使使用的软件。软软件开发阶段段通常可分成成软件设计、编编码、软件测测试等阶段。软软件设计通常常还可分成概概要设计和详详细设计。概概要设计的任任务是模块分分解,确定软软件结构、模模块的功能和和模块的接口口,以全国数数据结构的设设计。详细设设计的任务是是设计每个模模块的实现细细节和局部数数据结构。设设计阶段产生生的文档有设设计说明书,它它也可分为概概要设计说明明书和详细设设计说明书。编编码的任务是是用某种程序序语言为每个个模块编写程程序,产生的的文档有程序序清单。软件件测试的任务务是发现软件件中的错误,并并加以纠正,产产生的文档有有软件测试计计划和软件测测试报告。(3)软件维护护软

4、件维护任务就就是为使软件件适应外界环环境的变化,进进一步实现软软件功能的扩扩充和质量的的改善而修改改软件。该阶阶段产生的文文档有维护计计划和维护报报告。2.4.1.22软件开发模模型用不同的方式将将软件生存周周期中所有开开发活动组织织起来,形成成不同的软件件开发模型。常常见的软件开开发模型有瀑瀑布模型、螺螺旋模型和喷喷泉模型等。瀑瀑布模型给出出了软件生存存周期各阶段段的固定顺序序,上一阶段段完成后才能能进入到下一一阶段。各阶阶段结束后,都都要进行严格格的评审。2.4.1.33结构化分析析和设计方法法(1)结构化分分析(SA)方方法结构化分析(SSA)方法是是一种面向数数据流的需求求分析方法,它

5、它适用于分析析大型数据处处理系统。结结构化分析方方法的基本思思想是自顶向向下逐层分解解,把一个问问题分解成若若干个小问题题,每个小问问题再分解成成若干个更小小的问题,经经过多次逐层层分解,每个个最低层的问问题都是足够够简单、容易易解决的,这这个过程就是是分解的过程程。SA方法法的分析结果果由数据流图图DFD、数据据词典和加工工逻辑说明几几个部分组成成。(2)结构化设设计(SD)方方法结构化设计(SSD)方法是是一各面向数数据流的软件件设计方法,它它可以与SAA方法衔接,SD方方法采用结构构图(SC)来描述述程序的结构构。结构图的的基本成分由由模块、调用用和输入/输出数据组组成。在需求求分析阶段

6、,用用SA方法产生生了数据流图图。面向数据据流的设计能能方便地将DDFD转换成成程序结构图图,DFD中中从系统的输输入数据到系系统的输出数数据流的一连连串连续变换换将形成一条条信息流。DDFD的信息息流大体可分分为两种类型型,一种是变变换流,另一一种是事务流流。SD方法的设计计步骤有:复查并精化化数据流图;确定DFD的的信息流类型型;根据信息流流类型分别将将变换流或事事务流转换成成程序结构图图;根据软件设设计的原则对对程序结构图图作为改进。(3)结构化程程序设计(SSP)结构化程序设计计(SP)采采用自顶向下下逐步求精的的设计方法和和单入口单出出口的控制结结构。自顶向向下逐步求精精的设计方法法

7、符合抽象和和分解的原则则, 人们解决复复杂问题时常常用的方法。SA方法和SD方法也采用了自顶向下逐步求精的方法,在详细设计时也同样如此。在设计一个模块的实现算法时,先考虑整体后考虑局部,先抽象后具体,通地逐步细化,最后得到详细的实现算法。单入口单出口的控制结构,使程序的静态和动态结构执行过程一致,使程序具有良好的结构。2.4.1.44面向数据结结构的设计方方法这类方法以数据据结构作为设设计基础,根根据输入/输出数据结结构导出程序序的结构。JJacksoon方法是一一种典型的面面向数据结构构的设计方法法。尽管程序序中实际使用用中的数据结结构有许多种种,但这些数数据结构中数数据元素间的的逻辑关系只

8、只有顺序、选选择和重复33类。Jackkson方法法的设计步骤骤为:(1)分析并确确定输入和输输出数据的逻逻辑结构,并并用Jackkson图表表示;(2)找出输入入数据结构与与输出数据结结构间有对应应关系的数据据单元; (3)从描述数数据结构的JJacksoon图导出描描述程序结构构的Jackkson图。2.4.1.55软件设计的的原则(1)抽象的原原则软件工程中从软软件定义到软软件开发要发发经历多个阶阶段,在这个个过程中每前前进一步都可可看作是对软软件设计的抽抽象层次的一一次细化。抽抽象的最低层层次就是实现现该软件的源源程序代码。在在进行曲模块块化设计时也也可以有多个个抽象层次,最最高抽象层

9、次次的模块用概概括的方式叙叙述题的解法法,较低抽象象层次的模块块是对较高抽抽象层次模块块问题解法描描述的细化。过过程抽象和数数据抽象是常常用的两种主主要抽象手段段。(2)模块化的的原则模块化是指将一一个待开发的的软件分解或或成若干个小小的简单的部部分模块,每每个模块可独独立地开发、测测试,最后组组装成完整的的软件。(3)信息隐蔽蔽的原则信息隐蔽是开发发整体程序结结构时使用的的法则,即将将每个程序的的成分隐蔽或或封装在一个个单一的设计计模块中,定定义每一人模模块时尽可能能少地显露其其内部的处理理。信息隐蔽蔽原则对提高高软件的可修修改性、可测测试性和可移移植性都有重重要的作用。(4)模块独立立的原

10、则模块独立是指每每个模块完成成一个相对独独立的特定子子功能,并且且与其他模块块之间的联系系比较简单。衡衡量模块独立立程度标准有有两个:耦合合和内聚,耦耦合是指模块块之间联系的的紧密程度,耦耦合度越高,则则模块的独立立性越差。内内聚是指模块块内部各元素素之间联系的的紧密程度,内内聚度越低,模模块的独立性性越差。模块块独立要求每每个模块都是是高内聚低耦耦合的。2.4.16编编码编码阶段的任务务就是根据详详细的设计说说明书编写程程序。要编写写高质量的程程序,应注意意选择合适的的程序设计语语言,明确源源程序的质量量要求,养成成良好的程序序设计格。2.4.1.77 软件测试试软件测试的工作作量约占软件件

11、开发总工作作量的40%以上,其目目的是尽可能能多地发现软软件产品(主主要是指程序序)中的错误误和缺陷。测试的关键是测测试用例的设设计,设计方方法可分成两两类:白盒测测试和黑盒测测试。白盒测测试把程序看看成是装在一一只透明的盒盒子里,测试试者完全了解解程序的结构构和处理过程程。白盒测试试根据程序的的内部逻辑来来设计测试用用例,检查程程序中的逻辑辑通路是否都都按预定的要要求正确地工工作。黑盒测测试把程序看看成是装在一一只不透明的的盒子里,测测试者完全不不了解(或不不考虑)程序序的结构和处处理过程。黑黑盒测试根据据规格说明书书规定的功能能来设计测试试用例,检查查程序的功能能是否符合规规格说明的要要求

12、。软件测试的主要要步骤有单元元测试、集成成测试和确认认测试。单元元测试也称模模块测试,通通常单元测试试可放在编码码阶段,主要要用来发现编编码和详细设设计中产生的的错误,一般般采用白盒测测试。集成测测试也租组装装测试,它是是对由各模块块组装而成的的模块进行测测试,主要检检查模块间的的接口和通信信。集成测试试主要用来发发现设计阶段段产生的错误误,通常采用用黑盒测试。确确认测试的任任务是检查软软件的功能、性性能和其他特特征是否与用用户的需求一一致,它是以以需求规格说说明书作为依依据的测试,通通常采用黑盒盒测度。 大多数软件生产产者使用一种种Alphaa 测试和Betta测试的过过程,来揭露露仅由最终

13、用用户才能发现现的错误。 Alphaa测试是在开开发者的现场场由客户来实实施的,被测测试的软件是是在开发者从从用户的角度度进行常规设设置的环境下下运行的。BBeta测试试是在一个或或多个客户的的现场由该软软件的最终用用户实施的。与与Alpahha测试不同同的是,进行行Beta测试试时开发者通通常是不在场场的。2.4.1. 8 面向对对象方法的基基本概念面向对象(OOO)方法成为为软件开发的的一种主要方方法。它有几几个基本概念念。(1)对象在计算机系统中中,对象是指指一组属性以以及这组属性性上的专用操操作的封装体体。属性可以以是一些数据据,也可以是是另一个对象象。每个对象象都有它自己己的属性值,

14、表表示该对象的的状态,用户户只能看见对对象封装界面面上的信息,对对象的内部实实现对用户是是隐蔽的。封封装目的是使使对象的使用用者和生产者者分离,使对对象的定义和和实现分开。一一个对象通常常可由对象名名、属性和操操作这3个部分组成成。(2)类类是一组具有相相同属性和相相同操作的对对象的集合。一一个类中的每每个对象都是是这个类的一一个实例(IInstannce )。在在分析和设计计时,我们通通常把注意力力集中在类上上,而不是具具体的对象上上。通常把一一个类和这个个类的所有对对象称为类及及对象或对象象类。 (3) 继承继承是在某个类类的层次关联联中不同的类类共享属性和和操作的一种种机制。一个个父类可

15、以有有多个子类,这这些子类都是是父类的特例例。父类描述述了这些子类类的公共属性性的操作,子子类中还可以以定义它自己己的属性和操操作。一个子子类只有唯一一的一个父类类,这种继承承称为单一继继承。一个了了类有多个父父类,可以从从多个父类中中继承特性,这这种继承称为为重多继承。(4)消息消息的对象间通通信的手段、一一个对象通过过向另一对象象发送消息来来请求其服务务。一个消息息通常包括接接收对象名、调调用的操作名名和适当的参参数(如有必必要)。消息息只告诉接收收对象需要完完成什么操作作,但并不能能指示接收者者息样完成操操作。消息完完全同接收者者解释,接收收者独立决定定采用什么方方法来完成所所需的操作。

16、(5)多态性和和动态绑定多态性是指同一一个操作作用用不同的对象象可以有不同同的解释,产产生不同的执执行结果。与多态性密切相相关的一个概概念就是动态态绑定。传统统的程序设计计语言把过程程调用与目标标代码的连接接放在程序运运行前进行,称称为静态绑定定。而动态绑绑定则是把这这种连接推迟迟支动行时才才进行。在运运行过程中,当当一个对象发发送消息请求求服务时,要要根据接收对对象的具体情情况将请求的的操作与实现现的方法连接接,即动态绑绑定。2.4.1.99面向对象的的分析与设计计方法(1)Peteer Coaad 和Eddward Yourddon的OOOA和OODD方法OOA(面向对对象的分析)模模型由

17、5个层次(主主题层、对象象类层、结构构层、属性层层和服务层)和和5个活动(标标识对象类、标标识结构、定定义主题、定定义属性和定定义服务)组组成。在这种种方法中定义义了两种对象象类之间的结结构,一种称称为分类结构构,一种称为为组装结构。分分类结构就是是所谓的一般般与特殊的关关系。组装结结构则反映了了对象之间的的整体与部分分的关系。OOA在定义属属性的同时,要要识别实例连连接。实例连连接是一个实实例与另一个个实例的映射射关系。OOA在定义服服务的同时要要识别消息连连接。当一个个对象需要向向另一对象发发送消息时,它它们之间就存存在消息连接接。OOA 中的55个层次和5个活动继续续贯穿在OOOD(画向

18、对对象的设计)过过程中。OOOD模型由44个部分组成成。它们分别别是设计问题题域部分、设设计人机交互互部分、设计计任务管理部部分和设计数数据管理部分分。(2)Boocch的 OOOD方法Booch 认认为软件开发发是一个螺旋旋上升的过程程。在螺旋上上升的每个周周期中,有44个步骤:标标识类和对象象、确定它们们的含义、标标识它们之间间的关系、说说明每一个类类的界面和实实现。(3)OMT方方法对象建模技术OOMT定义了了3种模型,它它们是对象模模型、动态模模型和功能模模型,OMTT用这3种模型来描描述系统。OOMT方法有有4个步骤:分析、系统统设计、对象象设计和实现现。OMT方方法的每一个个步骤都

19、使用用这3种模型型,每一个步步骤对这3种种模型不断地地进行细化和和扩充。对象模型描述系系统包括对象象的静态结构构、对象之间间的关系、对对象的属性和和对象的操作作。OMT的的对象模型中中除了对象、类类和继承外,还还有链、关联联、泛化、聚聚合和模块等等概念。动态模型用来描描述与值的变变换有关的系系统特征功能、映射射、约束和函函数依赖。功功能模型用数数据流图来表表示。OMT主要步骤骤:分析是OMTT方法的第一一步,其目的的是建立可理理解现实世界界模型。在系统设计阶阶段将确定整整个系统的体体系结构,以以形成求解问问题和建立解解答的高层次次策略。对象设计。在在分析的基础础上,对象设设计阶段将建建立基于分

20、析析模型的设计计模型,并考考虑实现的细细节。设计人人员会根据系系统设计期间间建立的策略略把实现细节节加入到设计计模型中。实现阶段将对对象设计阶段段开发的对象象类及基关系系转换成特定定的程序设计计语言、数据据库或硬件实实现。2.4.1.110 软件质质量保证软件质量保证是是指为保证软软件系统或软软件产品最大大限度地满足足用户要求而而进行的有计计划、有组织织的活动,其其目的是生产产高质量的软软件。有多种种软件质量模模型来描述软软件质量特性性,著名的有有 ISO/IIEC 91126软件质质量模型和 Mc Caall软件质质量模型。软件质量保证环环节包括的主主要工作有:应用技术方方法、进行正正规的技

21、术评评审、测试软软件、标准的的实施、控制制变动、度量量、记录保存存和报告。24l111 软件开开发工具与环环境用来辅助软件开开发、运行、维维护、管理和和支持等过程程中的活动的的软件称为软软件工具,通通常也称为 CASE工工具。软件工工具大都包含含了检测机制制,能及时发发现一些错误误,对提高软软件的 质量起着重重要的作用。软件开发环境则则把一组相关关的工具集成成在环境中,环环境机制提供供数据集成、控控制集成和界界面集成等机机制。数据集集成机制为工工具提供统一一的数据接日日;控制集成成机制实现工工具间的通信信和协同工作作;界面集成成机制使这些些工具具有统统一的界面风风格,从而为为软件开发、维维护、

22、管理等等过程中的各各项活动提供供连续的、一一致的全方位位支持。242 试试题解析对高级程序员级级考试来说,软软件工程的重重要性非常突突出,从历年年试题统计(见见表26)来看看,在各大知知识点中平均均所占的比重重最大,平均均每年有2道道题,这也说说明对高级程程序员的软件件分析与设计计能力的要求求比较高。总总的来说,软软件设计方法法、软件测试试方法、软件件模块划分、软软件质量要求求等是反复考考查的重点内内容。软件管管理、软件工工具、软件开开发环境等从从未考过的内内容也应引起起重视。试题1 (20000年试题题5)从供选择的答案案中,选出应应填人下面叙叙述中 内的最确切切的解答,把把相应编号写写在答

23、卷的对对应栏内。在软件开发过程程中常用图作作为描述工具具。如 DFFD就是面向向 A 分析析方法的描述述工具。在一一套分层DFD中,如如果某一张图图中有N个加工(Prrocesss),则这张张图允许有 B 张子图图。在一张 DFD图中中,任意两个个加工之间 C。在画分分层 DFDD时,应注意意保持 D 之间的平衡衡。DFD中中从系统的输输入流到系统统的输出流的的一连串连续续交换形成一一种信息流,这这种信息流可可分为 E 两类。供选择的答案A:数据结构构 数据流 对象 构件(CommPonennt)B:0 11 1-N 0-NC:有且仅有有一条数据流流至少有一条数数据流可以有0条或或多条名宇互互

24、不相同的数数据流可以有0或多多条数据流,但但允许其中有有若干条名宇宇相同的数据据流D:父图与其其子图同一父图的的所有子图不同父图的的所有子图同一子图的的所有直接父父图 E:控制流和和变换流变换流和事事务流事务流和事事件流事件流和控控制流【解析】本题考查数据流流图(DFDD)的基本知知识。在软件需求分析析阶段,用SSA方法产生生了数据流图图。数据流图图是结构化分分析方法的一一种分析结果果,用来描述述数据流从输输入到输出的的变换过程。数数据流图的基基本成份有数数据流、加工工。文件和源源宿。一个软件系统,其其数据流图往往往有多层。如如果父图有NN个加工,则则该父图可以以有0N张子图图,但是每张张子图

25、只能孙孙对应于一张张父图。在画数据流图时时,应注意父父图与子图的的平衡,即父父图中某加工工的输入输出出数据流必须须与其子图的输入入输出流在数数量和名字上上相同。DFD的信息流流大体可分为为两种类型,一一种是变换流流,另一种是是事务流。答案A:B:C:D:E:试题2 (20000年试题题6)从供选择择的答案中,选选出应填入下下面叙述中 内的最最确切的解答答,把相应编编号写在答卷卷的对应栏内内。软件的易维护性性是指理解、改改正、改进软软件的难易程程度。通常影影响软件易维维护性的因素素有易理解性性、易修改性性和 A 。在在软件的开发发过程中往往往采取各种措措施来提高软软件的易维护护性。如采用用 B

26、有助助于提高软件件的易理解性性;C 有助助于提高软件件的易修改性性。在软件质量特性性中,D 是是指在规定的的一段时间和和条件下,与与软件维持其其性能水平的的能力有关的的一组属性;E 是指防防止对程序及及数据的非授授权访问的能能力。供选择的答案A:易使用性性易恢复性易替换性易测试性B:增强健壮壮性信息隐蔽原原则良好的编程程风格高效的算法法C:高效的算算法信息隐蔽原原则增强健壮性性身份认证D:正确性准确性可靠性易使用性E:安全性适应性灵活性容错性【解析】本题考软件质量量要求和软件件质量特性。对于源程序的质质量要求,最最基本的就是是正确性和可可靠性,除此此之外,更要要注重程序的的易使用性、易易维护性

27、和易易移植性。易易使用性就是是要对用户友友好,便于用用户使用,做做到少培训甚甚至零培训;易维护性包包括易理解性性、易测试性性和易修改性性;移植性则则指程序从某某一环境移植植到另一环境境的能力。信信息隐蔽是开开发整体程序序结构时使用用的法则,即即将每个程序序的成分隐蔽蔽或封装在一一个单一的设设计模块中,定定义每一个模模块时尽可能能少地显露其其内部的处理理。信息隐蔽蔽原则对提高高软件的可修修改性、可测测试性和可移移植性都有重重要的作用。一般使用 ISSOflECC 91266软件质量模模型来描述软软件质量特性性,它有 33个层次组成成:第 1层是质量量特性;第22层是质量于于特性;第33层是度量指

28、指标。题中提提到的可靠性性位于第1层,安全性性位于第2层。答案A: B: C: D: E:试题 3(19999年试题题 5)从供选选择的答案中中,选出应填填入下面叙述述中 内的最最确切的解答答,把相应编编号写在答卷卷的对应栏内内。软件设计中划分分模块的一个个准则是 AA 。两个模模块之间的耦耦合方式中,B 耦合的耦合度最高,C 耦合的耦合度最低。一个模块内部的内聚种类中 D 内聚的内聚度最高,E 内聚的内聚度最低。供选择的答案A:低内聚低低耦低内聚高耦耦合高内聚低耦耦合高内聚高耦耦合B:数据非非直接控制内容C:数据非非直接控制内容D:偶然逻逻辑功能过程E:偶然逻逻辑功能过程【解析软件设计中划分

29、分模块的一个个准则是追求求更高的内聚聚度和更低的的耦合度。耦耦合度是对一一个软件结构构内不同模块块之间互连程程度的度量。耦耦合强弱取决决于模块间接接日的复杂程程度、进入访访问一个模块块的点以及通通过接口的数数据。在软件件设计中应该该追求尽可能能松散的耦合合系统,在这这样的系统中中可以研究、测测试或修改、维维护任何一个个模块,而不不需要对系统统的其他模块块有很多了解解或影响其他他模块的实现现。此外,当当某处发生错错误时,低耦耦合度系统的的错误传播的的范围相应小小些。因此,模模块间的耦合合程度直接影影响系统的可可理解性、可可测试性、可可靠性和可维维护性。如果两个模块中中的每一个都都能够独立地地工作

30、而不需需要另一个模模块的存在,那那么他们之间间就没有耦合合关系;如果果两个模块彼彼此通过参数数交换数据,而而交换的信息息仅仅是数据据,那么这种种耦合称为数数据耦合;如如果传递的信信息中也有控控制信息,则则这种耦合称称为控制耦合合。当两个或多个模模块通过公共共数据环境相相互作用时,它它们之间的耦耦合称为公共共耦合;如果果两个模块之之间有下列情情况之一,则则称两个模块块之间的耦合合关系为公共共耦合。(11)一个模块块访问另一个个模块的内部部数据;(22)一个模块块没有通过正正常人口而转转到另一个模模块内部;(3)两个模块有一部分程序代码重叠;(4)一个模块有多个入口。数据耦合的耦合合程度最低,控控

31、制耦合次之之,适当分解解模块可以用用数据耦合代代替控制耦合合。公共耦合合的复杂程度度随耦合模块块的个数和耦耦合模块对公公共数据环境境的操作而变变化。内容耦耦合是程度最最高的耦合,在在程序中应该该坚决避免内内容耦合。内聚标志着一个个模块内各个个元素彼此结结合的紧密程程度,它是信信息隐蔽和局局部化概念的的自然扩展。简简单地说,理理想的内聚模模块只做一件件事情。如果一个模块完完成一组任务务,这些任务务彼此间即使使有关系,也也是松散的关关系,就叫做做偶然内聚;如果一个模模块完成的任任务在逻辑上上属于相同或或相似的操作作,则称为逻逻辑内聚;如如果一个模块块包含的任务务必须在同一一段时间内执执行,就叫做做

32、时间内聚。如果一个模块内内的处理元素素是相关的。而而且必须以特特定次序执行行,则称为过过程内聚;如如果模块中所所有的元素都都使用同一个个输入数据和和(或)产生生同一个输出出数据,则称称为通信内聚聚。如果一个模块内内的处理元素素和同一个功功能密切相关关,而B这些外排必必须顺序执行行则称为顺顺序内聚;如如果模块内所所在处理元素素属于一个整整体,完成一一个单一的功功能,则称为为功能内 聚聚。内聚程度从低到到高的排列是是:偶然内聚聚、逻辑内聚聚、时间内聚聚、过程内聚聚、通信内聚聚。顺序内聚聚、功能内聚聚。【答案】A:B:C:D:E:试题4 (19999年试题题6)从供选择的答案案中,选出应应填入下面叙

33、叙述中 内的最确切切的解答,把把相应编号写写在答卷的对对应栏内。OMT是一种对对象建模技术术,它定义了了3种模型,它它们分别是 AA 模型、BB 模型和 C 模型。其其中, A 模型描述了了系统中对象象的静态结构构,以及对象象之间的联系系,B 模型型描述系统中中与时间和操操作顺序有关关的系统特征征,表示瞬时时的行为上的的系统的“控制”特征,通常常可用 D 来表示,C 模型描述了了与值的变换换有关的系统统特征,通常常可用 E 来表示。供选择的答案A:对象功功能ER静态B:控制时时序动态实时C:对象功功能变换计算D:类图状状态图对象图数据流图E:类图状状态图对象图数据流图【解析】OMT(对象建建模

34、技术)是是一种围绕真真实世界的概概念来组织模模型的软件开开发方法。OOMT从问题题陈述开始,理理解问题陈述述中的客观世世界,将其本本质抽象成模模型表示,建建立系统的33种模型,即即对象模型、动动态模型和功功能模型。对象模型描述了了系统中对象象的静态结构构以及对象间间的联系,用用对象模型图图来表示。对对象模型图是是ER图的一种种拓广形式。动动态模型描述述了与时间和和操作次序有有关的系统属属性,动态模模型由多张状状态图组成。各各个类的状态态图通过共享享事件组成系系统的动态模模型。功能模模型描述系统统内数据值的的变化,它由由数据流图组组成。数据流流图说明数据据流是如何从从外部输入、经经过操作和内内部

35、存储而到到外部输出的的。OMT的的3种模型相相辅相成,组组成系统的一一个完整的正正交视图。OMT方法体现现了面向对象象的系统开发发方法的基本本特点,强调调对系统结构构的理解,而而不是系统功功能的分解。在在OMT方法法中,对象模模型最重要,动动态模型次之之,最后是功功能模型。使用面向对象的的基本思想构构造的系统模模型与客观系系统的结构十十分类似,可可以使用该模模型与用户通通信。在分析阶段产生生系统模型后后,系统设计计的任务主要要是细化模型型。分析和设设计可使用统统一表示方法法,省略了类类似结构方法法中从数据流流图到模块调调用层次的转转换过程,而而且这种模型型用面向对象象的程序设计计语言来实现现也

36、显得十分分自然。相对于传统的软软件工程方模模学,OMTT的开发重心心转移到了分分析阶段,使使得分析的结结果比一般的的软件开发方方法更为可靠靠,减少了因因分析不透彻彻引起的问题题。OMT支支持系统的无无缝开发。在在整个开发过过程中使用统统一的软件概概念即对象,所所有其他概念念都是围绕对对象组成的,在在分析阶段开开发的对象模模型也适用于于设计和实现现阶段。这样样,软件开发发的阶段性就就不那么明显显了。由于各各阶段是一致致吻合的,很很容易实现各各阶段的反复复,而且每一一次反复都是是对系统的进进一步深化。但 OMT方法法还存在以下下几个方面的的不足:(11)对问题陈陈述论述得不不足;(2)33种模型的

37、一一致性难以检检测和维护,而而且对系统约约束的描述能能力也不足:(3)建模模过程描述得得不很清晰,建建模的结果即即各种图形表表示也不能体体现建模的过过程,从而增增加了分析人人员掌握该方方法的 难度;(4)OOMT方法使使用的图形在在分析大系统统时显得条理理不够清晰。答案A:B:C:D:E:试题5(19998年试题1)从供选择的答案案中,选出应应填入下面叙叙述中 内的最确切切的解答,把把相应编号写写在答卷的对对应栏内。设计高质量的软软件是软件设设计追求的一一个重要目标标。可移植性性、可维护性性、可靠性、效效率、可理解解性和可使用用性等都是评评价软件质量量的重要方面面。可移植性反映出出把一个原先先

38、在某种硬件件或软件环境境下正常运行行的软件移植植到另一个硬硬件或软件环环境下,使该该软件也能正正确地运行的的难易程度。为为了提高软件件的可移植性性,应注意 提高软件的的 A 。可维护性通常包包括 B 。通通常认为,软软件维护工作作包括改正性性维护、C 维护和D 维护。其其中 C 维护则则是为了扩充充软件的功能能或提高原有有软件的性能能而进行的维维护活动。EE 是指当系系统万一遇到到未预料的情情况时,能够够按照预定的的方式做合适适的处理。供选择的答案A:使用方便便性简洁性可靠性设备不依赖赖性B:可用性和和可理解性可修改性、数数据独立性和和数据一致性性可测试性和和稳定性可理解性、可可修改性和可可测

39、试性C、D:功能能性扩展性合理性完善性合法性适应性E:可用性正确性稳定性健壮性【解析软件的可移植性性是指把程序序从一种硬件件配置或软件件系统环境转转移到另一种种配置和环境境时,需要的的工作量的多多少。提高软软件可移植性性的关键在于于提高软件的的设备无关性性,即设备不不依赖展性。软件的可维护性性通常包括叮叮理解性、可可修改性和可可测试性。按按照每次维护护的具体目标标,软件维护护工作可分为为3类:改正性性维护、完善善性维护和适适应性维护。改正性维护的目目的在于纠正正开发期间未未能发现的错错误。由于软软件测试的不不彻底性,任任何大型软件件在交付使用用后都会发现现一些潜藏的的错误,对它它们进行的诊诊断

40、和改正就就称为改正性性维 护,改正性性维护约占总总维护的200。完善性维护指的的是任何软件件,无论是应应用软件还是是系统软件,在在使用期间都都要不断改善善,加强产品品的功能和性性能,以满足足用户日益增增长的需求,提提高自己产品品的市场竞争争力。刚投入入使用的是第第1版,以后后就可能不断断升级为第22版、第3版版等,在整个个维护工作量量中,完善性性维护所占比比重最大,约约占50660。适应性维护是指指软件为适应应运行环境的的变化而进行行的一种维护护,如硬件或或支撑软件(如如操作系统升升级)改变引引起的变化,将将软件移植到到其他的运行行平台上等,这这类维护大约约占总维量的的25。软件的健壮性是是指

41、在硬件发发生故障、输输入的数据无无效或操作错错误等意外环环境下,即系系统遇到未预预料的情况时时,系统能够够做出适当响响应的程度。答案】A:B:C:D:E:试题6 (19997年试题题6)从供选择择的答案中,选选出应填入下下面叙述中 内的最最确切的解答答,把相应编编号写在答卷卷的对应栏内内。在设计测试用例例时,A 是是用得最多的的一种黑盒测测试方法。在在黑盒测试方方法中,等价价类划分方法法设计测试用用例的步骤是是:1根据输入条条件把数目极极多的输入数数据划分成若若干个有效等等价类和若干干个无效等价价类; 2设计一个测测试用例,使使其覆盖 BB 尚未被覆覆盖的有效等等价类,重复复这一步,直直至所有

42、的有有效等价类均均被覆盖。3设计一个测测试用例,使使其覆盖 CC 尚未被覆覆盖的无效等等价类,重复复这一步,直直至所有的无无效等价类均均被覆盖。因果图方法是根根据 D 之之间的因果关关系来设计测测试用例的。在实际应用中,一一旦纠正了程程序中的错误误后,还应选选择部分或全全部原先已测测试过的测试试用例,对修修改后的程序序重新测试,这这种测试称为为 E 。供选择的答案A:等价类划划分边值分析因果图判定表B、C:1个个7个左右一半尽可能少的的尽可能多的的全部D:输入与输输出设计与实现现条件与结果果主程序与子子程序E:验收测试试强度测试系统测试回归测试解析等价类划分是典典型的黑盒测测试方法,其其方法是

43、把程程序的输入域域划分成若干干部分,然后后从每个部分分中选取少数数代表性数据据当作测试用用例。列举所所有可能的测测试数据进行行测试工作量量太大,通常常选取一部分分测试数据进进行测试,因因此如何选取取数据就成为为关键的一步步。用这种方方法设计测试试用例需要经经过划分等价价类、选取测测试用例两个个步骤。划分等价类时,首首先把数目极极多的输入分分成若干个等等价类。所谓谓等价类就是是某个输入域域的集合,对对于一个等价价共中的输入入值来说,它它们揭示程序序中错误的作作用是等效的的。如果我们们的测试用例例全部从一个个等价类中选选取,测试工工作将不能保保证软件质量量。根据列出的等价价类表,应该该按照以下步步

44、骤确定测试试用例:(1)为每个等等价类规定一一个唯一的编编号;(2)设计一个个等价类,使使其尽可能多多地覆盖尚未未覆盖的有效效等价类。重重复这一步,最最后使得所有有有效等价类类都被测试用用例所覆盖;(3)设计一个个新的测试用用例,使其只只覆盖一个无无效等价类。重重复这一步使使所有无效等等价类都被覆覆盖。应当注意到,(3)中规定一次只能覆盖一个无效等价类,因为一个测试用例中如果含有多个错误,有可能在测试中只发现其中的一个,另一些被忽视。因果图法是根据据输入与输出出之间的因果果关系来设计计测试用例的的,要检查输输入条件的各各种组合情况况,在设计测测试用例时,需需分析规格说说明中哪些是是原因,哪些些

45、是结果,并并指出原因和和结果之间、原原因和原因之之间的对应关关系。因果图图法最终生成成的是判定表表;功能图方方法利用功能能图形式化地地表示程序的的功能说明,并并机械地生成成功能图的测测试用例;回回归测试是在在纠正了程序序中的错误后后,选择部分分或全部原先先己测试过的的测试用例,对对修改后的程程序重新测试试,以 验证对软件件修改后有没没有引出新的的错误;强度度测试是检查查在系统运行行环境发生故故障的情况下下,系统可以以运行到何种种程度的测试试;系统测试试是将通过确确认测试的软软件作为整个个基于计算机机系统的一个个元素,与计计算机硬件、外外设、支持软软件、数据以以及人员等其其他系统元素素结合在一起

46、起,在实际运运行环境对计计算机系统进进行一系列的的组装测试和和确认测试;验收测试是是在系统进行行有效性测试试及软件配置置审查后,以以用户为主进进行的测试。【答案A:B:C:D:E:试题 7 (11996年试试题 2)从供选择的答案案中,选出应应填入下面叙叙述中 内的最确切切的解答,把把相应编号写写在答卷的对对应栏内。在软件工程的设设计阶段中,有有3种常用的的设计方法:结构化设计计(SD)方方法、Jacckson方方法和 Paarnas方方法。SD方方法侧重于 A ;Jackkson方法法则是 B ;Pmas方方法的主要思思想 C 。从70年代中期到90年代早期,D 是最为常用的设计方法。E 法

47、只提供了重要的设计准则,没有规定出具体的工作步骤。供选择的答案AC:使用对象、类类和继。由数据结构构导出模块结结构。模块要相对独独立,且功能能单一,使块块间联系弱,块块内联系强。将可能引起变变化的因素隐隐藏在某有关关模块内部,使使这些因素变变化时的影响响范围受到限限制。用数据流图表表示系统的分分解,且用数数据词典和小小说明分别表表示数据和加加工的含义。自顶向下、逐逐步细化,采采用顺序、选选择和循环33种基本结构构,以及限制制gotO语句句的使用,设设计出可靠的的和易维护的的软件。D:SDJJacksoonParnaas面向对象E:SDJJacksoonParnaas以上皆非。【解析】结构化设计

48、(SSD)方法、JJacksoon方法和 Parnaas方法是软软件工程设计计阶段常用的的设计方法。结构化设计(SSD)采用自自项向下逐步步求精、模块块化的设计方方法,单入日日、单出日的的控制结构,利利用程序结构构图表达模块块之间的关系系。可见结构构化设计方法法是以模块化化设计为中心心,在开始设设计时就把待待开发系统划划分为若干个个相互独立的的模块,每一一个模块的工工作明确清晰晰,模块之间间的耦合量低低,可减少修修改或重新设设计时的工作作量。结构化化设计方法的的关键是要恰恰到好处地划划分模块,采采用试探方法法处理好模块块内部以及模模块之间的联联系,从而达达到逐步疏清清条理的目的的。所以问题题A

49、选择。结构化设设计方法是770年代中期期到90年代代早期最常用用的设计方法法,问题D选择。Jacksonn方法是一种种面向数据结结构的设计方方法,设计目目标是得出对对程序处理过过程的描述, 其设计过程是从描绘数据结构的Jackson图推导出描绘程序结构的Jackson图,该方法适用于比较简单的数据处理系统,所以问题B选择。Parnas方方法强调在概概要设计时应应预先估计在在未来生存周周期中可能发发生的情况,并并采取相应措措施来提高系系统的可维护护性和可靠性性。信息隐藏藏是提高软件件可维护性的的重要措施,在在分解模块时时,就应采取取措施,将一一些将来可能能发生变化的的因素隐含在在某模块内,使使将

50、来因修改改造成的影响响尽可能地局局限在一个或或少数几个模模块中,这种种方法只提供供了重要的设设计准则,而而没有规定具具体的工作步步骤,所以问问题C选择,问题E选择。答案 A: B: C: D: E:试题 8 (11996年试试题 7)从供选选择的答案中中,选出应填填入下面叙述述中 内的最最确切的解答答,把相应编编号写在答卷卷的对应栏内内。软件测试的目的的是 A 。通通常 B 是是在代码编写写阶段可进行行的测试,它它是整个测试试工作的基础。逻辑覆盖标准主主要用于 CC 。它主要要包括条件覆覆盖、条件组组合(多重条条件)覆盖。判判定覆盖、条条件及判定覆覆盖、语旬覆覆盖和路径覆覆盖等几种,其其中除路

51、径覆覆盖外最弱的的覆盖标准是是 D ,最最强的覆盖标标准是 E 。供选择的答案A:表明软件件的正确性评价软件质质量尽可能发现现软件中错误误判定软件是是否合格B:系统测试试安装测试验收测试单元测试C:黑盒测试试方法白盒测试方方法灰盒测试方方法软件验证方方法D、E:条件件覆盖条件组合覆覆盖判定覆盖条件及判定定覆盖语句覆盖【解析】软件测试在软件件生存周期中中占有重要地地位,这不仅仅是因为测试试阶段占用的的时间、花费费人力和成本本占软件开发发比重的400以上,而而且还因为它它是保证软件件质量的关键键步骤。由于人的主观因因素或客观原原因,在软件件开发过程中中不可避免的的要产生一些些错误。软件件测 试的任

52、务是是在软件投入入运行以前尽尽可能多地发发现并改正软软件中的错误误,所以问题题A应选择。一个软件产品在在交付使用前前要经历以下下几种测试:(1)模块测试试。也称为单单元测试,是是针对每个模模块单独进行行的测试。模模块测试一般般和程序编写写结合起来,在在编码阶段由由软件编写者者进行测试,以以保证每个模模块作为一个个单元能正确确运行,所以以问题B选择。(2)于系统测测试。把已通通过单元测试试的模块连接接成为子系统统来测试,着着重检验模块块间的接口。(3)系统测试试。把经过测测试的子系统统连接成为一一个完整的系系统米测试,主主要检查系统统是 否实现说明明书中指定的的功能,系统统的动态性能能是否符合要

53、要求。(4)验收测试试。是为了确确认已开发的的软件能否满满足标准,是是否合格。与与系统测试不不同的是,它它是在客户的的积极参与下下进行的。(5)平行运行行。一些十分分重要的软件件在经过验收收之后,并不不立即投入运运行,而是再再经过一段平平行运行的测测试,即新旧旧两个系统同同时运行,比比较结果有什什么不同。下面再对题目中中涉及的一些些概念进行解解释。黑盒测试方法又又称功能测试试,把程序看看作一个黑盒盒子,在完全全不考虑程序序内部结构的的情况下设计计测试数据,主主要测试程序序的功能是否否符合软件说说明书的要求求。 白盒测试方法又又称结构测试试,它是根据据程序的内部部结构设计测测试数据,检检查程序中

54、的的每条通路是是否都能按要要求正确运行行。逻辑覆盖主要用用于白盒测试试方法,所以以问题C选择。由于覆盖盖的详尽程度度不同,又分分为语句覆盖盖、判定覆盖盖、条件覆盖盖、条件组合合覆盖、条件件及判定覆盖盖和路径覆盖盖等。语句覆盖:设计计足够多的测测试用例,使使程序中的每每个语句至少少执行一次。语语句覆盖是最最弱的逻辑覆覆盖准则。判定覆盖:设计计足够多的测测试用例,不不仅每个语句句至少执行一一次,而且使使得程序中每每个判定的每每个分支至少少执行一次。条件覆盖:设计计足够多的测测试用例不不仅每个语句句至少执行一一枚而日体体每个判定表表达式中每个个条件都取到到可能的结果果。条件组合覆盖:设计足够多多的测

55、试用例例,使得每个个判断的各种种可能组合至至少出现一次次。条件及判定覆盖盖:设计足够够多的测试用用例,使得判判断中每个条条件的每种可可能至少出现现一次,而且每个判断的不不同判定结果果也至少出现现一次。路径覆盖:设计计足够多的测测试用例,要要求程序中所所有路径至少少执行一次。在上述几种逻辑辑覆盖中,除除路径覆盖外外,最弱的覆覆盖标准是语语句覆盖,最最强的覆盖标标准是条件组组合覆盖。【答案】A: B: C: D: E:试题9 (19995年试题题4)从供选择的答案案中,选出应应填入下面叙叙述中 内的正确答答案,把编号号写在答卷的的对应栏内。软件维护工作越越来越受到重重视,因为它它的花费常常常要占软

56、件生生存周期全部部花费的A%左右。其工工作内容为B,为了减少少维护工作的的困难,可以以考虑采取的的措施是C。而而软件的可维维护性包D。所所谓维护管理理主要指的是是E。供选择的答案:A:10220 20400 60800 90以上B:纠正与修修改软件中含含有的错误。因环境已发生生变化,软件件需作相应的的变更。为扩充功能,提提高性能而作作的变更。包括上述各点点内容。C:设法开发发出的无错的的软件增加维护人员员数量。切实加强维护护管理,并在在开发过程中中就采取有利利于未来维护护的措施。限制个性的范范围。D:正确性、灵灵活性、可移移植性。可测试性、可可理解性、可可个性性。可靠性、可复复用性、可用用性。

57、 灵活性、可靠靠性、高效性性。E:加强需求求分析。 重新编码。判定修改的的合理性并审审查修改质量量。 加强维护人人员管理。【解析】软件的可维护性性、可用性、可可靠性构成了了衡量软件技技师的几个重重要尺度。软件维护是指已已经完成发工工作,对软件件产品所进行行的后续活动动。一般来说说软件维护活活动贯穿了软软件投入使用用直到软件被被淘汰的整伸伸过程,在这这个过程中,维维护工作需要要解决开发阶阶段所遇到的的各种问题和和解决某些维维护工作本身身的特有问题题。软件维护工作包包括3个方面:改改正性维护、适适应性维护和和完善性维护护。改正性维维护是在软件件运行中发生生异常或故障障时进行的,这这种故障往往往是由

58、于软件件开发过程中中某个环节上上的隐患构成成的。适应性性维护的目的的是要使运行行的软件能适适应外部环境境的变动,例例如数据格式式的变动、数数据输入输出出方式的变动动等都会影响响软件的正常常工作。完善善性维护则是是为扩充软件件的功能,提提高软件的性性能而开展的的软件维护活活动,如用户户在使用了一一段时间之后后对提出了新新的要求,这这种情况下,就就需要完善性性维护。在整整个软件维护护活动中,完完善性维护所所占的比重最最大,平均在在50%左右右。统计资料料表明,维护护阶段的花费费占整个软件件生存周期花花费的67%,这是一个个相当可观的的数字。正确的软件维护护工作所应采采取的措施是是:切实加强强维护管

59、理,并并在开发过程程中就采取有有利于软件未未来维护的措措施。软件的的维护不仅是是技术性的,而而且还需要大大量的管理工工作与之配合合。从原则上上讲,维护工工作从理解软软件开始,在在些基础上,如如果有明确的的维护任务,则则针对些任务务提出修改建建议;在经过过部门的审批批之后,正确确的维护建议议被批准;按按照修改方案案进行的修改改结束后,为为保证修改的的质量,应该该进行严格的的测试;经过过管理部门再再次审查后,教教授可以对文文档进行正式式修改。这样样,所谓维护护管理主要是是指判定个性性的合理过性性并审查修改改质量。【答案】A: B: C: D: E: 试题10 (11995年试试题6)从供选择的答案

60、案中,选出应应填入下面叙叙述中 内的正确答答案,把编号号写在答卷的的对应栏内。软件测试是软件质量保证的主要手段之一,测试的费用已超过A的30%以上。因此提高测试的有效性非常重要。高产的测试是指B。根据国家标准GB8566-88计算机软件开发规范的规定,软件的开发和维护分为8个阶段,其中单元测试是在C阶段完成的;组装测试的计划内是在D阶段制定的;确认测试的计划是在E阶段制定的。供选择的答案A:软件开发发费用。 软件维护费费用。;软件开发发和维护费用用。 软件研制费费用。B:用适量的的测试用例,说说明被测程序序正确无误。用适量的测试用例,说明被测程序符合相应的要求。 用少量的测试用例,发现被测程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论