版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软件工程基础知识- PAGE 32 -2.4 软软件工程基基础知识2.4.11 主要知知识点软件工程是是计算机软软件的一个个重要分支支,主要应应掌握软件件工程的基基本原理以以及软件设设计与测试试方法。2.4.11.1软件件生存周期期各阶段的的任务软件件生存周期期指出由软软件定义、软件开发发和软件维维护等阶段段组成的全全过程。(1)软件件定义阶段段软件定义阶阶段主要解解决软件要要做什么么的问题题,也就是是要确定软软件的处理理对象、软软件与外界界的接口、软件的功功能、软件件的性能、软件的界界面以及有有关的约束束和限制。软件定义义阶段通常常可分成系系统分析、软件项目目计划和需需求分析等等阶段。系系
2、统分阶析析的任务是是确定待开开发软件的的总体要求求和适用范范围,以及及与之有关关的硬件和和支撑软件件的要求,该该阶段所生生产的文档档可合并在在软件项目目计划阶段段的文档(项项目计划书书)中。软软件项目计计划的任务务是确定待待开发软件件的目标,对对其进行可可行性分析析,并对资资源分配、进度安排排等做出合合理的计划划,该阶段段所产生的的文档有可可行性分析析报告和项项目计划书书。需求分分析的任务务是确定待待开发软件件的功能、性能、数数据和界面面等要求,从从而确定系系统的逻辑辑模型。该该阶段产生生的文档是是需求规格格说明书。 (2)软件件开发阶段段软件开发阶阶段主要解解决软件怎么做的问题,包包括数据结
3、结构和软件件结构的设设计、算法法设计、编编写程序和和测试,最最后得到可可交付使用用的软件。软件开发发阶段通常常可分成软软件设计、编码、软软件测试等等阶段。软软件设计通通常还可分分成概要设设计和详细细设计。概概要设计的的任务是模模块分解,确确定软件结结构、模块块的功能和和模块的接接口,以全全国数据结结构的设计计。详细设设计的任务务是设计每每个模块的的实现细节节和局部数数据结构。设计阶段段产生的文文档有设计计说明书,它它也可分为为概要设计计说明书和和详细设计计说明书。编码的任任务是用某某种程序语语言为每个个模块编写写程序,产产生的文档档有程序清清单。软件件测试的任任务是发现现软件中的的错误,并并加
4、以纠正正,产生的的文档有软软件测试计计划和软件件测试报告告。(3)软件件维护软件维护任任务就是为为使软件适适应外界环环境的变化化,进一步步实现软件件功能的扩扩充和质量量的改善而而修改软件件。该阶段段产生的文文档有维护护计划和维维护报告。2.4.11.2软件件开发模型型用不同的方方式将软件件生存周期期中所有开开发活动组组织起来,形形成不同的的软件开发发模型。常常见的软件件开发模型型有瀑布模模型、螺旋旋模型和喷喷泉模型等等。瀑布模模型给出了了软件生存存周期各阶阶段的固定定顺序,上上一阶段完完成后才能能进入到下下一阶段。各阶段结结束后,都都要进行严严格的评审审。2.4.11.3结构构化分析和和设计方
5、法法(1)结构构化分析(SA)方法结构化分析析(SA)方方法是一种种面向数据据流的需求求分析方法法,它适用用于分析大大型数据处处理系统。结构化分分析方法的的基本思想想是自顶向向下逐层分分解,把一一个问题分分解成若干干个小问题题,每个小小问题再分分解成若干干个更小的的问题,经经过多次逐逐层分解,每每个最低层层的问题都都是足够简简单、容易易解决的,这这个过程就就是分解的的过程。SSA方法的的分析结果果由数据流流图DFDD、数据词词典和加工工逻辑说明明几个部分分组成。(2)结构构化设计(SD)方法结构化设计计(SD)方方法是一各各面向数据据流的软件件设计方法法,它可以以与SA方方法衔接,SDD方法采
6、用用结构图(SSC)来描描述程序的的结构。结结构图的基基本成分由由模块、调调用和输入入/输出数据据组成。在在需求分析析阶段,用用SA方法法产生了数数据流图。面向数据据流的设计计能方便地地将DFDD转换成程程序结构图图,DFDD中从系统统的输入数数据到系统统的输出数数据流的一一连串连续续变换将形形成一条信信息流。DDFD的信信息流大体体可分为两两种类型,一一种是变换换流,另一一种是事务务流。SD方法的的设计步骤骤有:复查并精精化数据流流图;确定DFDD的信息流流类型;根据信息息流类型分分别将变换换流或事务务流转换成成程序结构构图;根据软件件设计的原原则对程序序结构图作作为改进。(3)结构构化程序
7、设设计(SPP)结构化程序序设计(SSP)采用用自顶向下下逐步求精精的设计方方法和单入入口单出口口的控制结结构。自顶顶向下逐步步求精的设设计方法符符合抽象和和分解的原原则, 人人们解决复复杂问题时时常用的方方法。SAA方法和SSD方法也也采用了自自顶向下逐逐步求精的的方法,在在详细设计计时也同样样如此。在在设计一个个模块的实实现算法时时,先考虑虑整体后考考虑局部,先先抽象后具具体,通地地逐步细化化,最后得得到详细的的实现算法法。单入口口单出口的的控制结构构,使程序序的静态和和动态结构构执行过程程一致,使使程序具有有良好的结结构。2.4.11.4面向向数据结构构的设计方方法这类方法以以数据结构构
8、作为设计计基础,根根据输入/输出数据据结构导出出程序的结结构。Jaacksoon方法是是一种典型型的面向数数据结构的的设计方法法。尽管程程序中实际际使用中的的数据结构构有许多种种,但这些些数据结构构中数据元元素间的逻逻辑关系只只有顺序、选择和重重复3类。Jaccksonn方法的设设计步骤为为:(1)分析析并确定输输入和输出出数据的逻逻辑结构,并并用Jaccksonn图表示;(2)找出出输入数据据结构与输输出数据结结构间有对对应关系的的数据单元元; (3)从描描述数据结结构的Jaacksoon图导出出描述程序序结构的JJacksson图。2.4.11.5软件件设计的原原则(1)抽象象的原则软件工
9、程中中从软件定定义到软件件开发要发发经历多个个阶段,在在这个过程程中每前进进一步都可可看作是对对软件设计计的抽象层层次的一次次细化。抽抽象的最低低层次就是是实现该软软件的源程程序代码。在进行曲曲模块化设设计时也可可以有多个个抽象层次次,最高抽抽象层次的的模块用概概括的方式式叙述题的的解法,较较低抽象层层次的模块块是对较高高抽象层次次模块问题题解法描述述的细化。过程抽象象和数据抽抽象是常用用的两种主主要抽象手手段。(2)模块块化的原则则模块化是指指将一个待待开发的软软件分解或或成若干个个小的简单单的部分模模块,每个个模块可独独立地开发发、测试,最最后组装成成完整的软软件。(3)信息息隐蔽的原原则
10、信息隐蔽是是开发整体体程序结构构时使用的的法则,即即将每个程程序的成分分隐蔽或封封装在一个个单一的设设计模块中中,定义每每一人模块块时尽可能能少地显露露其内部的的处理。信信息隐蔽原原则对提高高软件的可可修改性、可测试性性和可移植植性都有重重要的作用用。(4)模块块独立的原原则模块独立是是指每个模模块完成一一个相对独独立的特定定子功能,并并且与其他他模块之间间的联系比比较简单。衡量模块块独立程度度标准有两两个:耦合合和内聚,耦耦合是指模模块之间联联系的紧密密程度,耦耦合度越高高,则模块块的独立性性越差。内内聚是指模模块内部各各元素之间间联系的紧紧密程度,内内聚度越低低,模块的的独立性越越差。模块
11、块独立要求求每个模块块都是高内内聚低耦合合的。2.4.116编码编码阶段的的任务就是是根据详细细的设计说说明书编写写程序。要要编写高质质量的程序序,应注意意选择合适适的程序设设计语言,明明确源程序序的质量要要求,养成成良好的程程序设计格格。2.4.11.7 软软件测试软件测试的的工作量约约占软件开开发总工作作量的400%以上,其其目的是尽尽可能多地地发现软件件产品(主主要是指程程序)中的的错误和缺缺陷。测试的关键键是测试用用例的设计计,设计方方法可分成成两类:白白盒测试和和黑盒测试试。白盒测测试把程序序看成是装装在一只透透明的盒子子里,测试试者完全了了解程序的的结构和处处理过程。白盒测试试根据
12、程序序的内部逻逻辑来设计计测试用例例,检查程程序中的逻逻辑通路是是否都按预预定的要求求正确地工工作。黑盒盒测试把程程序看成是是装在一只只不透明的的盒子里,测测试者完全全不了解(或或不考虑)程程序的结构构和处理过过程。黑盒盒测试根据据规格说明明书规定的的功能来设设计测试用用例,检查查程序的功功能是否符符合规格说说明的要求求。软件测试的的主要步骤骤有单元测测试、集成成测试和确确认测试。单元测试试也称模块块测试,通通常单元测测试可放在在编码阶段段,主要用用来发现编编码和详细细设计中产产生的错误误,一般采采用白盒测测试。集成成测试也租租组装测试试,它是对对由各模块块组装而成成的模块进进行测试,主主要检
13、查模模块间的接接口和通信信。集成测测试主要用用来发现设设计阶段产产生的错误误,通常采采用黑盒测测试。确认认测试的任任务是检查查软件的功功能、性能能和其他特特征是否与与用户的需需求一致,它它是以需求求规格说明明书作为依依据的测试试,通常采采用黑盒测测度。 大多数软件件生产者使使用一种AAlphaa 测试和和Betaa测试的过过程,来揭揭露仅由最最终用户才才能发现的的错误。 Alphha测试是是在开发者者的现场由由客户来实实施的,被被测试的软软件是在开开发者从用用户的角度度进行常规规设置的环环境下运行行的。Beeta测试试是在一个个或多个客客户的现场场由该软件件的最终用用户实施的的。与Allpah
14、aa测试不同同的是,进进行Betta测试时时开发者通通常是不在在场的。2.4.11. 8 面向对象象方法的基基本概念面向对象(OOO)方法成成为软件开开发的一种种主要方法法。它有几几个基本概概念。(1)对象象在计算机系系统中,对对象是指一一组属性以以及这组属属性上的专专用操作的的封装体。属性可以以是一些数数据,也可可以是另一一个对象。每个对象象都有它自自己的属性性值,表示示该对象的的状态,用用户只能看看见对象封封装界面上上的信息,对对象的内部部实现对用用户是隐蔽蔽的。封装装目的是使使对象的使使用者和生生产者分离离,使对象象的定义和和实现分开开。一个对对象通常可可由对象名名、属性和和操作这33个
15、部分组组成。(2)类类是一组具具有相同属属性和相同同操作的对对象的集合合。一个类类中的每个个对象都是是这个类的的一个实例例(Insstancce )。在分析和和设计时,我我们通常把把注意力集集中在类上上,而不是是具体的对对象上。通通常把一个个类和这个个类的所有有对象称为为类及对象象或对象类类。 (3) 继继承继承是在某某个类的层层次关联中中不同的类类共享属性性和操作的的一种机制制。一个父父类可以有有多个子类类,这些子子类都是父父类的特例例。父类描描述了这些些子类的公公共属性的的操作,子子类中还可可以定义它它自己的属属性和操作作。一个子子类只有唯唯一的一个个父类,这这种继承称称为单一继继承。一个
16、个了类有多多个父类,可可以从多个个父类中继继承特性,这这种继承称称为重多继继承。(4)消息息消息的对象象间通信的的手段、一一个对象通通过向另一一对象发送送消息来请请求其服务务。一个消消息通常包包括接收对对象名、调调用的操作作名和适当当的参数(如如有必要)。消息只告告诉接收对对象需要完完成什么操操作,但并并不能指示示接收者息息样完成操操作。消息息完全同接接收者解释释,接收者者独立决定定采用什么么方法来完完成所需的的操作。(5)多态态性和动态态绑定多态性是指指同一个操操作作用不不同的对象象可以有不不同的解释释,产生不不同的执行行结果。与多态性密密切相关的的一个概念念就是动态态绑定。传传统的程序序设
17、计语言言把过程调调用与目标标代码的连连接放在程程序运行前前进行,称称为静态绑绑定。而动动态绑定则则是把这种种连接推迟迟支动行时时才进行。在运行过过程中,当当一个对象象发送消息息请求服务务时,要根根据接收对对象的具体体情况将请请求的操作作与实现的的方法连接接,即动态态绑定。2.4.11.9面向向对象的分分析与设计计方法(1)Peeter Coadd 和Eddwardd Youurdonn的OOAA和OODD方法OOA(面面向对象的的分析)模模型由5个层次(主主题层、对对象类层、结构层、属性层和和服务层)和和5个活动(标标识对象类类、标识结结构、定义义主题、定定义属性和和定义服务务)组成。在这种方
18、方法中定义义了两种对对象类之间间的结构,一一种称为分分类结构,一一种称为组组装结构。分类结构构就是所谓谓的一般与与特殊的关关系。组装装结构则反反映了对象象之间的整整体与部分分的关系。OOA在定定义属性的的同时,要要识别实例例连接。实实例连接是是一个实例例与另一个个实例的映映射关系。OOA在定定义服务的的同时要识识别消息连连接。当一一个对象需需要向另一一对象发送送消息时,它它们之间就就存在消息息连接。OOA 中中的5个层层次和5个活动继继续贯穿在在OOD(画画向对象的的设计)过过程中。OOOD模型型由4个部部分组成。它们分别别是设计问问题域部分分、设计人人机交互部部分、设计计任务管理理部分和设设
19、计数据管管理部分。(2)Boooch的的 OODD方法Boochh 认为软软件开发是是一个螺旋旋上升的过过程。在螺螺旋上升的的每个周期期中,有44个步骤:标识类和和对象、确确定它们的的含义、标标识它们之之间的关系系、说明每每一个类的的界面和实实现。(3)OMMT方法对象建模技技术OMTT定义了3种模模型,它们们是对象模模型、动态态模型和功功能模型,OMT用这3种模型来描述系统。OMT方法有4个步骤:分析、系统设计、对象设计和实现。OMT方法的每一个步骤都使用这3种模型,每一个步骤对这3种模型不断地进行细化和扩充。对象模型描描述系统包包括对象的的静态结构构、对象之之间的关系系、对象的的属性和对对
20、象的操作作。OMTT的对象模模型中除了了对象、类类和继承外外,还有链链、关联、泛化、聚聚合和模块块等概念。动态模型用用来描述与与值的变换换有关的系系统特征功能、映射、约约束和函数数依赖。功功能模型用用数据流图图来表示。OMT主要要步骤:分析是OOMT方法法的第一步步,其目的的是建立可可理解现实实世界模型型。在系统设设计阶段将将确定整个个系统的体体系结构,以以形成求解解问题和建建立解答的的高层次策策略。对象设计计。在分析析的基础上上,对象设设计阶段将将建立基于于分析模型型的设计模模型,并考考虑实现的的细节。设设计人员会会根据系统统设计期间间建立的策策略把实现现细节加入入到设计模模型中。实现阶段段
21、将对象设设计阶段开开发的对象象类及基关关系转换成成特定的程程序设计语语言、数据据库或硬件件实现。2.4.11.10 软件质量量保证软件质量保保证是指为为保证软件件系统或软软件产品最最大限度地地满足用户户要求而进进行的有计计划、有组组织的活动动,其目的的是生产高高质量的软软件。有多多种软件质质量模型来来描述软件件质量特性性,著名的的有 ISSO/IEEC 91126软件件质量模型型和 Mcc Calll软件质质量模型。软件质量保保证环节包包括的主要要工作有:应用技术术方法、进进行正规的的技术评审审、测试软软件、标准准的实施、控制变动动、度量、记录保存存和报告。24ll11 软件开发发工具与环环境
22、用来辅助软软件开发、运行、维维护、管理理和支持等等过程中的的活动的软软件称为软软件工具,通通常也称为为 CASSE工具。软件工具具大都包含含了检测机机制,能及及时发现一一些错误,对对提高软件件的 质量起着着重要的作作用。软件开发环环境则把一一组相关的的工具集成成在环境中中,环境机机制提供数数据集成、控制集成成和界面集集成等机制制。数据集集成机制为为工具提供供统一的数数据接日;控制集成成机制实现现工具间的的通信和协协同工作;界面集成成机制使这这些工具具具有统一的的界面风格格,从而为为软件开发发、维护、管理等过过程中的各各项活动提提供连续的的、一致的的全方位支支持。2422 试题解解析对高级程序序
23、员级考试试来说,软软件工程的的重要性非非常突出,从从历年试题题统计(见见表266)来看,在在各大知识识点中平均均所占的比比重最大,平平均每年有有2道题,这这也说明对对高级程序序员的软件件分析与设设计能力的的要求比较较高。总的的来说,软软件设计方方法、软件件测试方法法、软件模模块划分、软件质量量要求等是是反复考查查的重点内内容。软件件管理、软软件工具、软件开发发环境等从从未考过的的内容也应应引起重视视。试题1 (22000年年试题5)从供选择的的答案中,选选出应填人人下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。在软件开发发过程中常常用图作为为描述工具具。如 DDFD就
24、是是面向 AA 分析方方法的描述述工具。在在一套分层层DFD中中,如果某某一张图中中有N个加工(PProceess),则这张图图允许有 B 张子子图。在一一张 DFFD图中,任任意两个加加工之间 C。在画画分层 DDFD时,应应注意保持持 D 之之间的平衡衡。DFDD中从系统统的输入流流到系统的的输出流的的一连串连连续交换形形成一种信信息流,这这种信息流流可分为 E 两类类。供选择的答答案A:数据据结构 数据流 对象 构件(CoomPonnent)B:0 1 1-N 0-NC:有且且仅有一条条数据流至少有一一条数据流流可以有00条或多条条名宇互不不相同的数数据流可以有00或多条数数据流,但但允
25、许其中中有若干条条名宇相同同的数据流流D:父图图与其子图图同一父图图的所有子子图不同父图图的所有子子图同一子图图的所有直直接父图 E:控制制流和变换换流变换流和和事务流事务流和和事件流事件流和和控制流【解析】本题考查数数据流图(DFD)的基本知识。在软件需求求分析阶段段,用SAA方法产生生了数据流流图。数据据流图是结结构化分析析方法的一一种分析结结果,用来来描述数据据流从输入入到输出的的变换过程程。数据流流图的基本本成份有数数据流、加加工。文件件和源宿宿。一个软件系系统,其数数据流图往往往有多层层。如果父父图有N个加工,则则该父图可可以有0N张子图图,但是每每张子图只只能孙对应应于一张父父图。
26、在画数据流流图时,应应注意父图图与子图的的平衡,即即父图中某某加工的输输入输出数数据流必须须与其子图的输输入输出流流在数量和和名字上相相同。DFD的信信息流大体体可分为两两种类型,一一种是变换换流,另一一种是事务务流。答案AA:B:C:D:E:试题2 (22000年年试题6)从供选选择的答案案中,选出出应填入下下面叙述中中 内的的最确切的的解答,把把相应编号号写在答卷卷的对应栏栏内。软件的易维维护性是指指理解、改改正、改进进软件的难难易程度。通常影响响软件易维维护性的因因素有易理理解性、易易修改性和和 A 。在软件的的开发过程程中往往采采取各种措措施来提高高软件的易易维护性。如采用 B 有助助
27、于提高软软件的易理理解性;CC 有助于于提高软件件的易修改改性。在软件质量量特性中,D 是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;E 是指防止对程序及数据的非授权访问的能力。供选择的答答案A:易使使用性易恢复性性易替换性性易测试性性B:增强强健壮性信息隐蔽蔽原则良好的编编程风格高效的算算法C:高效效的算法信息隐蔽蔽原则增强健壮壮性身份认证证D:正确确性准确性可靠性易使用性性E:安全全性适应性灵活性容错性【解析】本题考软件件质量要求求和软件质质量特性。对于源程序序的质量要要求,最基基本的就是是正确性和和可靠性,除除此之外,更更要注重程程序的易使使用性、易易维护性和和
28、易移植性性。易使用用性就是要要对用户友友好,便于于用户使用用,做到少少培训甚至至零培训;易维护性性包括易理理解性、易易测试性和和易修改性性;移植性性则指程序序从某一环环境移植到到另一环境境的能力。信息隐蔽蔽是开发整整体程序结结构时使用用的法则,即即将每个程程序的成分分隐蔽或封封装在一个个单一的设设计模块中中,定义每每一个模块块时尽可能能少地显露露其内部的的处理。信信息隐蔽原原则对提高高软件的可可修改性、可测试性性和可移植植性都有重重要的作用用。一般使用 ISOfflEC 91266软件质量量模型来描描述软件质质量特性,它它有 3个层次次组成:第第 1层是质质量特性;第2层是质量量于特性;第3层
29、是度量量指标。题题中提到的的可靠性位位于第1层,安全全性位于第第2层。答案AA: B: C: D: E:试题 3(11999年年试题 5)从供供选择的答答案中,选选出应填入入下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。软件设计中中划分模块块的一个准准则是 AA 。两个个模块之间间的耦合方方式中,BB 耦合的的耦合度最最高,C 耦合的耦耦合度最低低。一个模模块内部的的内聚种类类中 D 内聚的内内聚度最高高,E 内聚的的内聚度最最低。供选择的答答案A:低内内聚低耦低内聚高高耦合高内聚低低耦合高内聚高高耦合B:数据据非直接控制内容C:数据据非直接控制内容D:偶然然逻辑功能
30、过程E:偶然然逻辑功能过程【解析软件设计中中划分模块块的一个准准则是追求求更高的内内聚度和更更低的耦合合度。耦合合度是对一一个软件结结构内不同同模块之间间互连程度度的度量。耦合强弱弱取决于模模块间接日日的复杂程程度、进入入访问一个个模块的点点以及通过过接口的数数据。在软软件设计中中应该追求求尽可能松松散的耦合合系统,在在这样的系系统中可以以研究、测测试或修改改、维护任任何一个模模块,而不不需要对系系统的其他他模块有很很多了解或或影响其他他模块的实实现。此外外,当某处处发生错误误时,低耦耦合度系统统的错误传传播的范围围相应小些些。因此,模模块间的耦耦合程度直直接影响系系统的可理理解性、可可测试性
31、、可靠性和和可维护性性。如果两个模模块中的每每一个都能能够独立地地工作而不不需要另一一个模块的的存在,那那么他们之之间就没有有耦合关系系;如果两两个模块彼彼此通过参参数交换数数据,而交交换的信息息仅仅是数数据,那么么这种耦合合称为数据据耦合;如如果传递的的信息中也也有控制信信息,则这这种耦合称称为控制耦耦合。当两个或多多个模块通通过公共数数据环境相相互作用时时,它们之之间的耦合合称为公共共耦合;如如果两个模模块之间有有下列情况况之一,则则称两个模模块之间的的耦合关系系为公共耦耦合。(11)一个模模块访问另另一个模块块的内部数数据;(22)一个模模块没有通通过正常人人口而转到到另一个模模块内部;
32、(3)两个模模块有一部部分程序代代码重叠;(4)一一个模块有有多个入口口。数据耦合的的耦合程度度最低,控控制耦合次次之,适当当分解模块块可以用数数据耦合代代替控制耦耦合。公共共耦合的复复杂程度随随耦合模块块的个数和和耦合模块块对公共数数据环境的的操作而变变化。内容容耦合是程程度最高的的耦合,在在程序中应应该坚决避避免内容耦耦合。内聚标志着着一个模块块内各个元元素彼此结结合的紧密密程度,它它是信息隐隐蔽和局部部化概念的的自然扩展展。简单地地说,理想想的内聚模模块只做一一件事情。如果一个模模块完成一一组任务,这这些任务彼彼此间即使使有关系,也也是松散的的关系,就就叫做偶然然内聚;如如果一个模模块完
33、成的的任务在逻逻辑上属于于相同或相相似的操作作,则称为为逻辑内聚聚;如果一一个模块包包含的任务务必须在同同一段时间间内执行,就就叫做时间间内聚。如果一个模模块内的处处理元素是是相关的。而且必须须以特定次次序执行,则则称为过程程内聚;如如果模块中中所有的元元素都使用用同一个输输入数据和和(或)产产生同一个个输出数据据,则称为为通信内聚聚。如果一个模模块内的处处理元素和和同一个功功能密切相相关,而BB这些外排排必须顺序序执行则则称为顺序序内聚;如如果模块内内所在处理理元素属于于一个整体体,完成一一个单一的的功能,则则称为功能能内 聚。内聚程度从从低到高的的排列是:偶然内聚聚、逻辑内内聚、时间间内聚
34、、过过程内聚、通信内聚聚。顺序内内聚、功能能内聚。【答案】AA:B:C:D:E:试题4 (11999年年试题6)从供选择的的答案中,选选出应填入入下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。OMT是一一种对象建建模技术,它它定义了33种模型,它它们分别是是 A 模模型、B 模型和 C 模型型。其中, A 模型型描述了系系统中对象象的静态结结构,以及及对象之间间的联系,B 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时的行为上的系统的“控制”特征,通常可用 D 来表示,C 模型描述了与值的变换有关的系统特征,通常可用 E 来表示。供选择的答答案A:对象象功能E
35、R静态B:控制制时序动态实时C:对象象功能变换计算D:类图图状态图对象图数据流图图E:类图图状态图对象图数据流图图【解析】OMT(对对象建模技技术)是一一种围绕真真实世界的的概念来组组织模型的的软件开发发方法。OOMT从问问题陈述开开始,理解解问题陈述述中的客观观世界,将将其本质抽抽象成模型型表示,建建立系统的的3种模型型,即对象象模型、动动态模型和和功能模型型。对象模型描描述了系统统中对象的的静态结构构以及对象象间的联系系,用对象象模型图来来表示。对对象模型图图是ER图的一一种拓广形形式。动态态模型描述述了与时间间和操作次次序有关的的系统属性性,动态模模型由多张张状态图组组成。各个个类的状态
36、态图通过共共享事件组组成系统的的动态模型型。功能模模型描述系系统内数据据值的变化化,它由数数据流图组组成。数据据流图说明明数据流是是如何从外外部输入、经过操作作和内部存存储而到外外部输出的的。OMTT的3种模模型相辅相相成,组成成系统的一一个完整的的正交视图图。OMT方法法体现了面面向对象的的系统开发发方法的基基本特点,强强调对系统统结构的理理解,而不不是系统功功能的分解解。在OMMT方法中中,对象模模型最重要要,动态模模型次之,最最后是功能能模型。使用面向对对象的基本本思想构造造的系统模模型与客观观系统的结结构十分类类似,可以以使用该模模型与用户户通信。在分析阶段段产生系统统模型后,系系统设
37、计的的任务主要要是细化模模型。分析析和设计可可使用统一一表示方法法,省略了了类似结构构方法中从从数据流图图到模块调调用层次的的转换过程程,而且这这种模型用用面向对象象的程序设设计语言来来实现也显显得十分自自然。相对于传统统的软件工工程方模学学,OMTT的开发重重心转移到到了分析阶阶段,使得得分析的结结果比一般般的软件开开发方法更更为可靠,减减少了因分分析不透彻彻引起的问问题。OMMT支持系系统的无缝缝开发。在在整个开发发过程中使使用统一的的软件概念念即对象,所所有其他概概念都是围围绕对象组组成的,在在分析阶段段开发的对对象模型也也适用于设设计和实现现阶段。这这样,软件件开发的阶阶段性就不不那么
38、明显显了。由于于各阶段是是一致吻合合的,很容容易实现各各阶段的反反复,而且且每一次反反复都是对对系统的进进一步深化化。但 OMTT方法还存存在以下几几个方面的的不足:(1)对问题陈述论述得不足;(2)3种模型的一致性难以检测和维护,而且对系统约束的描述能力也不足:(3)建模过程描述得不很清晰,建模的结果即各种图形表示也不能体现建模的过程,从而增加了分析人员掌握该方法的 难度;(4)OMT方法使用的图形在分析大系统时显得条理不够清晰。答案AA:B:C:D:E:试题5(11998年年试题1)从供选择的的答案中,选选出应填入入下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。设
39、计高质量量的软件是是软件设计计追求的一一个重要目目标。可移移植性、可可维护性、可靠性、效率、可可理解性和和可使用性性等都是评评价软件质质量的重要要方面。可移植性反反映出把一一个原先在在某种硬件件或软件环环境下正常常运行的软软件移植到到另一个硬硬件或软件件环境下,使使该软件也也能正确地地运行的难难易程度。为了提高高软件的可可移植性,应应注意 提提高软件的的 A 。可维护性通通常包括 B 。通通常认为,软软件维护工工作包括改改正性维护护、C 维护和和D 维护。其中 CC 维护则则是为了扩扩充软件的的功能或提提高原有软软件的性能能而进行的的维护活动动。E 是是指当系统统万一遇到到未预料的的情况时,能
40、能够按照预预定的方式式做合适的的处理。供选择的答答案A:使用用方便性简洁性可靠性设备不依依赖性B:可用用性和可理理解性可修改性性、数据独独立性和数数据一致性性可测试性性和稳定性性可理解性性、可修改改性和可测测试性C、D:功能性扩展性合理性完善性合法性适应性E:可用用性正确性稳定性健壮性【解析软件的可移移植性是指指把程序从从一种硬件件配置或软软件系统环环境转移到到另一种配配置和环境境时,需要要的工作量量的多少。提高软件件可移植性性的关键在在于提高软软件的设备备无关性,即即设备不依依赖展性。软件的可维维护性通常常包括叮理理解性、可可修改性和和可测试性性。按照每每次维护的的具体目标标,软件维维护工作
41、可可分为3类:改正正性维护、完善性维维护和适应应性维护。改正性维护护的目的在在于纠正开开发期间未未能发现的的错误。由由于软件测测试的不彻彻底性,任任何大型软软件在交付付使用后都都会发现一一些潜藏的的错误,对对它们进行行的诊断和和改正就称称为改正性性维 护,改正正性维护约约占总维护护的20。完善性维护护指的是任任何软件,无无论是应用用软件还是是系统软件件,在使用用期间都要要不断改善善,加强产产品的功能能和性能,以以满足用户户日益增长长的需求,提提高自己产产品的市场场竞争力。刚投入使使用的是第第1版,以以后就可能能不断升级级为第2版版、第3版版等,在整整个维护工工作量中,完完善性维护护所占比重重最
42、大,约约占5060。适应性维护护是指软件件为适应运运行环境的的变化而进进行的一种种维护,如如硬件或支支撑软件(如如操作系统统升级)改改变引起的的变化,将将软件移植植到其他的的运行平台台上等,这这类维护大大约占总维维量的255。软件的健壮壮性是指在在硬件发生生故障、输输入的数据据无效或操操作错误等等意外环境境下,即系系统遇到未未预料的情情况时,系系统能够做做出适当响响应的程度度。答案】AA:B:C:D:E:试题6 (11997年年试题6)从供选选择的答案案中,选出出应填入下下面叙述中中 内的的最确切的的解答,把把相应编号号写在答卷卷的对应栏栏内。在设计测试试用例时,A 是用得最多的一种黑盒测试方
43、法。在黑盒测试方法中,等价类划分方法设计测试用例的步骤是:1根据输输入条件把把数目极多多的输入数数据划分成成若干个有有效等价类类和若干个个无效等价价类; 2设计一一个测试用用例,使其其覆盖 BB 尚未被被覆盖的有有效等价类类,重复这这一步,直直至所有的的有效等价价类均被覆覆盖。3设计一一个测试用用例,使其其覆盖 CC 尚未被被覆盖的无无效等价类类,重复这这一步,直直至所有的的无效等价价类均被覆覆盖。因果图方法法是根据 D 之间间的因果关关系来设计计测试用例例的。在实际应用用中,一旦旦纠正了程程序中的错错误后,还还应选择部部分或全部部原先已测测试过的测测试用例,对对修改后的的程序重新新测试,这这
44、种测试称称为 E 。供选择的答答案A:等价价类划分边值分析析因果图判定表B、C:1个7个左右一半尽可能少少的尽可能多多的全部D:输入入与输出设计与实实现条件与结结果主程序与与子程序E:验收收测试强度测试试系统测试试回归测试试解析等价类划分分是典型的的黑盒测试试方法,其其方法是把把程序的输输入域划分分成若干部部分,然后后从每个部部分中选取取少数代表表性数据当当作测试用用例。列举举所有可能能的测试数数据进行测测试工作量量太大,通通常选取一一部分测试试数据进行行测试,因因此如何选选取数据就就成为关键键的一步。用这种方方法设计测测试用例需需要经过划划分等价类类、选取测测试用例两两个步骤。划分等价类类时
45、,首先先把数目极极多的输入入分成若干干个等价类类。所谓等等价类就是是某个输入入域的集合合,对于一一个等价共共中的输入入值来说,它它们揭示程程序中错误误的作用是是等效的。如果我们们的测试用用例全部从从一个等价价类中选取取,测试工工作将不能能保证软件件质量。根据列出的的等价类表表,应该按按照以下步步骤确定测测试用例:(1)为每每个等价类类规定一个个唯一的编编号;(2)设计计一个等价价类,使其其尽可能多多地覆盖尚尚未覆盖的的有效等价价类。重复复这一步,最最后使得所所有有效等等价类都被被测试用例例所覆盖;(3)设计计一个新的的测试用例例,使其只只覆盖一个个无效等价价类。重复复这一步使使所有无效效等价类
46、都都被覆盖。应当注意到到,(3)中中规定一次次只能覆盖盖一个无效效等价类,因因为一个测测试用例中中如果含有有多个错误误,有可能能在测试中中只发现其其中的一个个,另一些些被忽视。因果图法是是根据输入入与输出之之间的因果果关系来设设计测试用用例的,要要检查输入入条件的各各种组合情情况,在设设计测试用用例时,需需分析规格格说明中哪哪些是原因因,哪些是是结果,并并指出原因因和结果之之间、原因因和原因之之间的对应应关系。因因果图法最最终生成的的是判定表表;功能图图方法利用用功能图形形式化地表表示程序的的功能说明明,并机械械地生成功功能图的测测试用例;回归测试试是在纠正正了程序中中的错误后后,选择部部分或
47、全部部原先己测测试过的测测试用例,对对修改后的的程序重新新测试,以以 验证对软软件修改后后有没有引引出新的错错误;强度度测试是检检查在系统统运行环境境发生故障障的情况下下,系统可可以运行到到何种程度度的测试;系统测试试是将通过过确认测试试的软件作作为整个基基于计算机机系统的一一个元素,与与计算机硬硬件、外设设、支持软软件、数据据以及人员员等其他系系统元素结结合在一起起,在实际际运行环境境对计算机机系统进行行一系列的的组装测试试和确认测测试;验收收测试是在在系统进行行有效性测测试及软件件配置审查查后,以用用户为主进进行的测试试。【答案AA:B:C:D:E:试题 7 (19996年试题题 2)从供
48、选择的的答案中,选选出应填入入下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。在软件工程程的设计阶阶段中,有有3种常用用的设计方方法:结构构化设计(SD)方法、Jackson方法和 Parnas方法。SD方法侧重于 A ;Jackson方法则是 B ;Pmas方法的主要思想 C 。从70年代中期到90年代早期,D 是最为常用的设计方法。E 法只提供了重要的设计准则,没有规定出具体的工作步骤。供选择的答答案AC:使用对象象、类和继继。由数据结结构导出模模块结构。模块要相相对独立,且且功能单一一,使块间间联系弱,块块内联系强强。将可能引引起变化的的因素隐藏藏在某有关关模块内
49、部部,使这些些因素变化化时的影响响范围受到到限制。用数据流流图表示系系统的分解解,且用数数据词典和和小说明分分别表示数数据和加工工的含义。自顶向下下、逐步细细化,采用用顺序、选选择和循环环3种基本本结构,以以及限制ggotO语语句的使用用,设计出出可靠的和和易维护的的软件。D:SDDJackksonParnnas面向对象象E:SDDJackksonParnnas以上皆非非。【解析】结构化设计计(SD)方方法、Jaacksoon方法和和 Parrnas方方法是软件件工程设计计阶段常用用的设计方方法。结构化设计计(SD)采采用自项向向下逐步求求精、模块块化的设计计方法,单单入日、单单出日的控控制结
50、构,利利用程序结结构图表达达模块之间间的关系。可见结构构化设计方方法是以模模块化设计计为中心,在在开始设计计时就把待待开发系统统划分为若若干个相互互独立的模模块,每一一个模块的的工作明确确清晰,模模块之间的的耦合量低低,可减少少修改或重重新设计时时的工作量量。结构化化设计方法法的关键是是要恰到好好处地划分分模块,采采用试探方方法处理好好模块内部部以及模块块之间的联联系,从而而达到逐步步疏清条理理的目的。所以问题题A选择。结构化化设计方法法是70年年代中期到到90年代代早期最常常用的设计计方法,问问题D选择。Jacksson方法法是一种面面向数据结结构的设计计方法,设设计目标是是得出对程程序处理
51、过过程的描述述, 其设计过过程是从描描绘数据结结构的Jaacksoon图推导导出描绘程程序结构的的Jackkson图图,该方法法适用于比比较简单的的数据处理理系统,所所以问题BB选择。Parnaas方法强强调在概要要设计时应应预先估计计在未来生生存周期中中可能发生生的情况,并并采取相应应措施来提提高系统的的可维护性性和可靠性性。信息隐隐藏是提高高软件可维维护性的重重要措施,在在分解模块块时,就应应采取措施施,将一些些将来可能能发生变化化的因素隐隐含在某模模块内,使使将来因修修改造成的的影响尽可可能地局限限在一个或或少数几个个模块中,这这种方法只只提供了重重要的设计计准则,而而没有规定定具体的工
52、工作步骤,所所以问题CC选择,问题E选择。答案 A: B: C: D: E:试题 8 (19996年试题题 7)从供供选择的答答案中,选选出应填入入下面叙述述中 内的最确确切的解答答,把相应应编号写在在答卷的对对应栏内。软件测试的的目的是 A 。通通常 B 是在代码码编写阶段段可进行的的测试,它它是整个测测试工作的的基础。逻辑覆盖标标准主要用用于 C 。它主要要包括条件件覆盖、条条件组合(多多重条件)覆覆盖。判定定覆盖、条条件及判定定覆盖、语语旬覆盖和和路径覆盖盖等几种,其其中除路径径覆盖外最最弱的覆盖盖标准是 D ,最最强的覆盖盖标准是 E 。供选择的答答案A:表明明软件的正正确性评价软件件
53、质量尽可能发发现软件中中错误判定软件件是否合格格B:系统统测试安装测试试验收测试试单元测试试C:黑盒盒测试方法法白盒测试试方法灰盒测试试方法软件验证证方法D、E:条件覆盖盖条件组合合覆盖判定覆盖盖条件及判判定覆盖语句覆盖盖【解析】软件测试在在软件生存存周期中占占有重要地地位,这不不仅是因为为测试阶段段占用的时时间、花费费人力和成成本占软件件开发比重重的40以上,而而且还因为为它是保证证软件质量量的关键步步骤。由于人的主主观因素或或客观原因因,在软件件开发过程程中不可避避免的要产产生一些错错误。软件件测 试的任务务是在软件件投入运行行以前尽可可能多地发发现并改正正软件中的的错误,所所以问题AA应
54、选择。一个软件产产品在交付付使用前要要经历以下下几种测试试:(1)模块块测试。也也称为单元元测试,是是针对每个个模块单独独进行的测测试。模块块测试一般般和程序编编写结合起起来,在编编码阶段由由软件编写写者进行测测试,以保保证每个模模块作为一一个单元能能正确运行行,所以问问题B选择。(2)于系系统测试。把已通过过单元测试试的模块连连接成为子子系统来测测试,着重重检验模块块间的接口口。(3)系统统测试。把把经过测试试的子系统统连接成为为一个完整整的系统米米测试,主主要检查系系统是 否否实现说明明书中指定定的功能,系系统的动态态性能是否否符合要求求。(4)验收收测试。是是为了确认认已开发的的软件能否
55、否满足标准准,是否合合格。与系系统测试不不同的是,它它是在客户户的积极参参与下进行行的。(5)平行行运行。一一些十分重重要的软件件在经过验验收之后,并并不立即投投入运行,而而是再经过过一段平行行运行的测测试,即新新旧两个系系统同时运运行,比较较结果有什什么不同。下面再对题题目中涉及及的一些概概念进行解解释。黑盒测试方方法又称功功能测试,把把程序看作作一个黑盒盒子,在完完全不考虑虑程序内部部结构的情情况下设计计测试数据据,主要测测试程序的的功能是否否符合软件件说明书的的要求。 白盒测试方方法又称结结构测试,它它是根据程程序的内部部结构设计计测试数据据,检查程程序中的每每条通路是是否都能按按要求正
56、确确运行。逻辑覆盖主主要用于白白盒测试方方法,所以以问题C选择。由于覆覆盖的详尽尽程度不同同,又分为为语句覆盖盖、判定覆覆盖、条件件覆盖、条条件组合覆覆盖、条件件及判定覆覆盖和路径径覆盖等。语句覆盖:设计足够够多的测试试用例,使使程序中的的每个语句句至少执行行一次。语语句覆盖是是最弱的逻逻辑覆盖准准则。判定覆盖:设计足够够多的测试试用例,不不仅每个语语句至少执执行一次,而而且使得程程序中每个个判定的每每个分支至至少执行一一次。条件覆盖:设计足够够多的测试试用例不不仅每个语语句至少执执行一枚而日体每每个判定表表达式中每每个条件都都取到可能能的结果。条件组合覆覆盖:设计计足够多的的测试用例例,使得
57、每每个判断的的各种可能能组合至少少出现一次次。条件及判定定覆盖:设设计足够多多的测试用用例,使得得判断中每每个条件的的每种可能能至少出现现一次,而而且每个判断断的不同判判定结果也也至少出现现一次。路径覆盖:设计足够够多的测试试用例,要要求程序中中所有路径径至少执行行一次。在上述几种种逻辑覆盖盖中,除路路径覆盖外外,最弱的的覆盖标准准是语句覆覆盖,最强强的覆盖标标准是条件件组合覆盖盖。【答案】AA: B: C: D: E:试题9 (19955年试题4)从供选择的的答案中,选选出应填入入下面叙述述中 内的正确确答案,把把编号写在在答卷的对对应栏内。软件维护工工作越来越越受到重视视,因为它它的花费常
58、常常要占软软件生存周周期全部花花费的A%左右。其其工作内容容为B,为了减减少维护工工作的困难难,可以考考虑采取的的措施是CC。而软件件的可维护护性包D。所谓维护护管理主要要指的是EE。供选择的答答案:A:10020 20440 60880 90以上上B:纠正正与修改软软件中含有有的错误。因环境已已发生变化化,软件需需作相应的的变更。为扩充功功能,提高高性能而作作的变更。包括上述述各点内容容。C:设法法开发出的的无错的软软件增加维护护人员数量量。切实加强强维护管理理,并在开开发过程中中就采取有有利于未来来维护的措措施。限制个性性的范围。D:正确确性、灵活活性、可移移植性。可测试性性、可理解解性、
59、可个个性性。可靠性、可复用性性、可用性性。 灵活性、可靠性、高效性。E:加强强需求分析析。 重新编码码。判定修改改的合理性性并审查修修改质量。 加强维护护人员管理理。【解析】软件的可维维护性、可可用性、可可靠性构成成了衡量软软件技师的的几个重要要尺度。软件维护是是指已经完完成发工作作,对软件件产品所进进行的后续续活动。一一般来说软软件维护活活动贯穿了了软件投入入使用直到到软件被淘淘汰的整伸伸过程,在在这个过程程中,维护护工作需要要解决开发发阶段所遇遇到的各种种问题和解解决某些维维护工作本本身的特有有问题。软件维护工工作包括33个方面:改正性维维护、适应应性维护和和完善性维维护。改正正性维护是是
60、在软件运运行中发生生异常或故故障时进行行的,这种种故障往往往是由于软软件开发过过程中某个个环节上的的隐患构成成的。适应应性维护的的目的是要要使运行的的软件能适适应外部环环境的变动动,例如数数据格式的的变动、数数据输入输输出方式的的变动等都都会影响软软件的正常常工作。完完善性维护护则是为扩扩充软件的的功能,提提高软件的的性能而开开展的软件件维护活动动,如用户户在使用了了一段时间间之后对提提出了新的的要求,这这种情况下下,就需要要完善性维维护。在整整个软件维维护活动中中,完善性性维护所占占的比重最最大,平均均在50%左右。统统计资料表表明,维护护阶段的花花费占整个个软件生存存周期花费费的67%,这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024校园环境卫生管理合同3篇
- 2024年货品居间交易协议
- 2024年跨国海上贸易运输合作协议
- 2024年装修施工安全合同3篇
- 2024年离婚双方财产分割合同参考样本版B版
- 2024年物业维修养护合同
- 2024年高空作业升降机租赁与风险评估合同3篇
- 2024年餐厅装饰设计保密协议3篇
- 2024校企合作电子商务人工智能客服系统研究与实施合同3篇
- 2024年离婚心理咨询服务协议
- 浙江省金华市金东区2023-2024学年九年级上学期语文期末试卷
- 【7地星球期末】安徽省合肥市包河区智育联盟校2023-2024学年七年级上学期期末地理试题(含解析)
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之2:“1至3章:范围、术语和定义”(雷泽佳编制-2025B0)
- (2021)最高法民申5114号凯某建设工程合同纠纷案 指导
- 【9物(人)期末】安庆市宿松县2023-2024学年九年级上学期期末考试物理试题
- 导航通信一体化考核试卷
- 2024年未成年子女房产赠与协议
- 2024-2030年中国共模电感环形铁芯行业发展状况规划分析报告
- 眼视光学理论和方法知到智慧树章节测试课后答案2024年秋山东中医药大学
- 叉车维护维修合同
- 尊重学术道德遵守学术规范学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论