软件工程考点例题整理_第1页
软件工程考点例题整理_第2页
软件工程考点例题整理_第3页
软件工程考点例题整理_第4页
软件工程考点例题整理_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE PAGE 46软件工程概概述软件软件是计算算机系统中中与硬件相相互依存的的另一部分分,它是包包括程序、数据及其其相关文档档的完整集集合。软件的特点点1Loggicall ratther thann phyysicaal(软件件是一种逻逻辑实体,而而非具体的的物理实体体)2Devvelopped oor Enngineeeredd, noot maanufaacturred iin thhe cllassiical sensse(在研研制、开发发活动中被被创造出来来,但不能能按传统的的生产含义义加以理解解)3Doeesntt weaar ouut(在软软件的运行行和使用期期间,没有有磨

2、损、老老化问题)软件的发展展软件的发展展可以分为为这样三个个阶段:1程序设设计阶段,约约为50至至60年代代2程序系系统阶段,约约为60至至70年代代3软件工工程阶段,约约为70年年代以后时期特点程序设计程序系统软件工程软件所指程序程序及说明明书程序、文档档及数据主要程序设设计语言汇编及机器器语言高级语言软件语言*软件工作范范围程序编写包括设计和和测试软件生存期期需求者程序设计者者本人少数用户市场用户开发软件的的组织个人开发小组开发小组及及大、中型型软件开发发机构软件规模小型中、小型大、中、小小型决定质量的的因素个人程序设设计技术小组技术水水平管理水平开发技术和和手段子程序、程程序库结构化程序

3、序设计数据库,开开发工具,开开发环境,工工程化开发发方法,标标准和规范范,网络和和分布式开开发,面向向对象技术术,软件过过程与过程程改进维护责任者者程序设计者者开发小组专职维护人人员硬件特征价格高,存存储容量小小,工作可可靠性差降价,速度度、存储容容量及工作作可靠性有有明显提高高向超高速、大容量、微型化及及网络化方方向发展软件特征完全不受重重视软件技术的的发展不能能满足需求求,出现软软件危机开发技术有有进步,但但未获突破破性进展,价价格高,未未完全摆脱脱软件危机机软件危机*软件需求求增长得不不到满足;*软件生产产成本高,价价格昂贵;*软件生产产进度无法法控制;*软件需求求定义不准准确,易偏偏离

4、用户需需求;*软件质量量不易保证证;*软件可维维护性差等等等软件工程采用工程的的概念、原原理、技术术和方法来来开发与维维护软件,把把经过时间间考验而证证明正确的的管理技术术和当前能能够得到的的最好的技技术方法结结合起来,这这就是软件件工程。Boehmm曾为软件件工程下了了定义:运运用现代科科学技术知知识来设计计并构造计计算机程序序及为开发发、运行和和维护这些些程序所必必需的相关关文件资料料。Fritzz Bauuer: The estaablisshmennt annd usse off souund eenginneeriing pprincciplees inn ordder tto ob

5、btainn ecoonomiicallly sooftwaare tthat is rreliaable and workks effficiientlly onn reaal maachinnes.软软件工程是是建立和使使用一系列列完善的工工程化原则则以便经济济地获得能能够在实际际机器上有有效运行的的可靠软件件。1983年年,IEEEE(Innstittute of EElecttricaal & Elecctronnic EEnginneerss,电气和和电子工程程师学会)做做出的定义义是“软件工程程是开发、运行、维维护和修复复软件的系系统方法。”它的核心内内容是“以工程化化的方式组组织

6、软件的的开发”,其中涉涉及软件计计划、开发发和维护各各个阶段。软件工程三三个要素:方法、工工具和过程程。软件工程方方法为软件件开发提供供了“如何做”的技术。软件工具为为软件工程程方法提供供自动的或或半自动的的软件支撑撑环境。软件工程过过程指将软软件工程的的方法和工工具综合起起来,以达达到合理、及时地进进行计算机机软件开发发的目的。软件工程过过程(Sooftwaare EEnginneeriing PProceess)软件工程过过程是指为为了获得软软件产品,在在软件工具具支持下由由软件工程程师采用软软件工程方方法完成的的一系列软软件工程活活动。软件工程的的七条原理理著名的软件件工程专家家B.W.

7、Boehhm于19983年在在一篇论文文中提出了了软件工程程的七条基基本原理。他认为这这七条原理理是确保软软件产品质质量和开发发效率的原原理的最小小集合。分阶段的生生命周期计计划严格管管理坚持进行阶阶段评审实行严格的的产品控制制采用现代程程序设计技技术结果应能清清楚地审查查开发小组的的人员应少少而精承认不断改改进软件工工程实践的的必要性软件工程的的目标组织实施软软件工程项项目是为了了获得项目目的成功,即即达到以下下几个主要要的目标:出较低的开开发成本到预期的软软件功能取得较好的的软件性能能使开发的软软件易于移移植需要较低的的维护费用用能按时完成成开发工作作,及时交交付使用概括地说,基基本目标,

8、四四个字:优优质、高效效。即质量量高、效率率高。软件工程的的原则软件工程程基本目标标适用于所所有软件工工程项目。为达到这这些目标,在在软件开发发过程中必必须遵循下下列软件工工程原则。1抽象2信息隐隐蔽3模块化化4局部化化5确定性性6一致性性7完备性性8验证性性使用一致性性、完备性性和可验证证性的原则则可以帮助助开发者设设计一个正正确的系统统。软件生命周周期(liife ccyclee)同其它事物物一样,软软件也有孕孕育、诞生生、成长、成熟、衰衰亡的生存存过程,称称为软件的的生命周期期。包括六六阶段内容容:制定计划需求分析系统设计程序编写软件测试运行和维护护软件生命周周期经典模模型瀑布模模型软件

9、生命周周期模型是是从软件项项目需求定定义直至软软件经使用用后废弃为为止,跨越越整个生存存期的系统统开发、运运作和维护护所实施的的全部过程程、活动和和任务的结结构框架。软件开发模模型瀑布模型:按照软件件生命周期期经典模型型-瀑布模模型的各个个阶段实施施开发工作作优点:1提供了了软件开发发的基本框框架,优于于“手工作坊坊”式的开发发方法2有利于于大型软件件开发过程程中人员的的组织、管管理3有利于于软件开发发方法和工工具的研究究与使用,从从而提高了了大型软件件项目开发发的质量和和效率缺点:1在软件件开发的初初始阶段指指明软件系系统的全部部需求是困困难的,有有时甚至是是不现实的的2需求确确定后,用用户

10、和软件件项目负责责人要等相相当长的时时间(经过过设计、编编码、测试试、运行)才才能得到一一份软件的的最初版本本。如果用用户对这个个软件提出出比较大的的修改意见见,那么整整个软件项项目将会蒙蒙受巨大的的人力、财财力、时间间方面的损损失。渐进模型(演演化模型、原型模型型)原型模型在在克服瀑布布模型缺点点、减少由由于软件需需求不明确确而给开发发工作带来来风险方面面,确实有有着显著的的效果原型化方法法是用户和和软件开发发人员之间间进行的一一种交互过过程,适用用于需求不不确定性高高的系统螺旋模型它是生命周周期模型与与原型模型型的结合,不不仅体现了了两个模型型的优点,还还增加了新新的成分风险分分析螺旋模型

11、是是支持大型型软件开发发并具有广广泛应用前前景的模型型例题1开发软软件时,对对于提高软软件开发人人员工作效效率至关重重要的是(AA)。软件件工程中描描述软件生生存周期的的瀑布模型型一般包括括计划、(BB)、设计计、编码、测试、维维护等几个个阶段。其其中,设计计阶段在管管理上又可可以依次分分成(C)和和(D)两两个步骤。供选答案:A: 程序开发发环境 操作系统统的资源管管理功能开发程序序人员数量量 计算机的的并行处理理能力B: 需求分析析 需求调查查可行性分分析 问题定义义C、D:方案设计计代码设计计概要设计计 数据设计计运行设计计详细设计计故障处理理设计 软件体系系结构设计计答案:A. B.

12、C. D. 2有人将将软件的发发展过程划划分为4个个阶段:第一阶段(220世纪550年代)称称为“程序设计计的原始时时期”。这时既既没有(AA),也没没有(B),程程序员只能能用机器指指令编写程程序。第二阶段(220世纪660年代)称称为“基本软件件期”。出现了了(A),并并逐渐普及及。随着(BB)的发展展,编译技技术也有较较大的发展展。第三阶段(220世纪660年代末末-70年年代中)称称为“程序设计计方法时代代”。这一时时期,与硬硬件价格下下降相反,软软件开发费费用急剧上上升。人们们提出了(CC)和(DD)等程序序设计方法法,设法降降低软件的的开发费用用。第四阶段(220世纪770年代中中

13、期至今)称称为“软件工程程时期”,软件开开发技术不不再仅仅是是程序设计计技术,而而是包括了了与软件开开发的各个个阶段,如如(E)、(F)、编码、单单元测试、综合测试试、(G)及及其整体有有关的各种种管理技术术。供选择的答答案:AD:汇编语言言 操作系统统 虚拟存储储器概念 高级语言言结构化程程序设计 数据库概概念 固件 模块化程程序设计EG:使用和维维护 兼容性的的确认 完整性的的确认 设计需求定义义 图象处理理答案:A. B. C. D. E. F. G.问题定义关于问题性性质、工程程目标和规规模的书面面报告可行性研究究(也称可可行性分析析,Feaasibiilityy Anaalysiis

14、)目的就是要要用最小的的代价在尽尽可能短的的时间内确确定问题是是否能够解解决。具体任务:1进一步步分析和澄澄清问题定定义。2导出系系统的高层层逻辑模型型。从系统统逻辑模型型出发,探探索若干种种可供选择择的主要解解法(即系系统实现方方案)。对对每种解法法都应该至至少从下述述几方面研研究其可行行性:Econoomic feassibillity,经经济可行性性。这个系系统的经济济效益能超超过它的开开发成本吗吗? Technnicall feaasibiilityy,技术可可行性。使使用现有的的技术能实实现这个系系统吗?Legall feaasibiilityy,法律可可行性。确确定系统开开发可能导

15、导致的任何何侵权行为为、妨碍性性后果和责责任。Operaationnal ffeasiibiliity,操操作可行性性。系统的的操作方式式在这个用用户组织内内行得通吗吗?3、对以后后的行动方方针提出建建议。基于计算机机系统的成成本效益分析析是可行性性研究的重重要内容,它它用于评估估计算机系系统的经济济合理性。给出系统统开发的成成本论证,并并将估算的的成本与预预期的利润润进行对比比。成本软件开发成成本主要表表现为人力力消耗(乘乘以平均工工资则得到到开发费用用)。一般来说,基基于计算机机系统的成成本由四个个部分组成成:1购置并并安装软硬硬件及有关关设备的费费用2系统开开发费用3系统安安装、运行行和

16、维护费费用4人员培培训费用1、代码行行技术代码行技术术是比较简简单的定量量估算方法法,也是一一种自底向向上的估算算方法。它它把开发每每个软件功功能的成本本和实现这这个功能需需要用的源源代码行数数联系起来来。通常根根据经验和和历史数据据估计实现现一个功能能需要的源源程序行数数。一旦估计出出源代码行行数以后,用用每行代码码的平均成成本乘以行行数即可确确定软件的的成本。每每行代码的的平均成本本主要取决决于软件的的复杂程度度和开发小小组的工资资水平。大致分如下下两步: = 1 * GB2 对要求求设计的系系统进行功功能分解,直直到可以对对为实现该该功能所要要求的源代代码行数做做出可靠的的估算为止止。根

17、据经经验和历史史数据,对对每个功能能块估计一一个最有利利的、最可可能的和最最不利的LLOC值。设最有利利的LOCC值为a,最最可能的LLOC值为为m,最不不利的LOOC值为bb,则代码码行的期望望(平均)值值L = 2 * GB2 再根据据历史数据据和经验,选选择每个软软件功能块块的LOCC价格计算每个功功能块的价价格及工作作量,并确确定该软件件项目总的的估算价格格和工作量量。可行性论证证的提纲大致包括如如下内容:背景情况。问题描述述,市场需需求等系统描述。简略的范范围描述,计计划目标和和阶段目标标等候选方案。候选方案案的配置,选选择最终方方案的准则则等价格利益分分析。经费费概算和预预期经济效

18、效益技术冒险评评价。包括括技术实力力、设备条条件和已有有工作基础础操作可行性性。用户组组织对操作作方式的希希望法律可行性性。系统开开发可能导导致的侵权权、违法等等其它与项目目有关的问问题。可能能的未来变变化结论。需求分析所谓软件需需求是指用用户对目标标软件系统统在功能、行为、性性能、设计计约束等方方面的期望望。需求分析具具体任务:确定对系统统的综合要要求系统功能要要求系统性能要要求运行要求将来可能提提出的要求求分析系统的的数据要求求(需求分分析的本质质就是对数数据和加工工进行分析析)导出系统的的逻辑模型型修正系统开开发计划开发原型系系统(可选选)需求获取技技术访谈与会议议书面调查法法观察用户工

19、工作流程用户和开发发人员共同同组成联合合小组需求调查主要包括四四部分内容容:组织概况组织的业务务活动:组织的业务务状态业务的详细细内容输入输出信信息从六个个方面着手手:*信息流向向*信息种类类*利用的目目的*信息的使使用者和制制造者*输入和输输出地点*输入和输输出信息量量存在问题、约束条件件未来要求结构化分析析方法(SSA方法)就就是面向数数据流自顶顶向下逐步步求精进行行需求分析析的方法。分析的过程程:面向数数据流,采采用自顶向向下、分支支分层、逐逐步分解、逐步细化化、逐步求求精,最后后落实到具具体加工、基本加工工、简单加加工。用逐逐步求解的的方法控制制系统的复复杂度,使使得复杂系系统简单化化

20、、抽象系系统具体化化。数据流图(DDFD)数据流图描描绘系统的的逻辑模型型,或者说说描绘信息息在系统中中流动和处处理的情况况。基本系统模模型数据流分析析将系统模模型视作一一种数据变变换,它接接受各种形形式的输入入,通过变变换产生各各种形式的的输出。例,下图是是一个飞机机机票预定定系统的基基本系统模模型 数据流图的的成分下图是机票票预定系统统的DFDD。可以看出,数数据流图是是由以下四四个基本成成分组成的的:数据流(用用箭头表示示)加工(用圆圆圈表示)文件(用单单线或双线线表示)数据源点和和终点(用用方框表示示)几点说明:一个加工并并不一定是是一个程序序。一个数据存存储也不等等同于一个个文件。数

21、据存储和和数据流都都是数据,但但所处状态态不同。自顶向下逐逐层画DFFD的步骤骤如下:把基本系统统模型加上上源点和终终点作为顶顶层DFDD。画出各层DDFD,逐逐层画DFFD的过程程也就是逐逐层分解的的过程。为便于管理理,要对分分层DFDD和图中的的加工进行行编号。子图的图号号就是分解解的父图中中相应加工工的编号。子图中的加加工编号是是由子图号号、小数点点、局部顺顺序号组成成。画出总的DDFD。(可可选)画DFD时时要注意的的几个问题题:画DFD不不是画流程程图。DFFD只描述述“做什么”,不描述述“怎么做”和做的顺顺序。而流流程图表示示对数据进进行加工的的次序和细细节。父图和子图图的平衡。父

22、图某加加工的输入入输出和分分解这个加加工的子图图的输入输输出必须完完全一致。局部文件。文件总是是局部于分分层DFDD的某一层层或某几层层。分解的深度度与层次。逐层分解解要求分解解到加工成成为足够简简单、易于于理解的基基本加工为为止。所谓谓基本加工工就是加工工的意义明明确、操作作单一。但但是究竟分分解的层次次多少合适适,应当根根据问题的的复杂程度度来确定。一般来说说,可参考考以下准则则:一个加工的的分解,最最多不要超超过7个子子加工。若若超过7个个时,可以以用增加层层次的办法法来减少子子加工数。分解在逻辑辑上应合理理、自然,不不能硬性分分割。在保证数据据流的易理理解性的前前提下,尽尽量少分解解层

23、次。这这样可以减减少层次的的界面。分解要均匀匀。即在一一张DFDD中,不要要有些加工工已是基本本加工,另另一些加工工还要分解解好几层。绝对均匀匀不可能,但但不要相差差太大。数据字典(DDD)数据字典是是关于数据据的信息的的集合,也也就是对数数据流图中中包含的系系统元素(所所有数据流流、加工、文件)的的定义的集集合。数据流图和和数据字典典是需求规规格说明书书的主要组组成部分。数据流条目目数据流条目目是定义数数据流的。定义的方方式一般是是列出该数数据流的各各组成数据据项。在定定义数据流流时,通常常借助于一一些简单的的符号。如如=等价于(定定义为)+ “与” x=a+b,xx由a和bb组成|,,“或

24、”x= , ,x=a|b x由由a或b组组成重复 x=aa xx由0个或或多个a组组成mnn重复 如x=33a88 表示示x中至少少出现3次次a,至多多出现8次次a()可选(选选择)如x=aa+(b)+c b可以在在x中出现现,也可以以不出现“”基本数据据元素 x=“a” x为为取值为aa的数据元元素.连接符 x=11.9 x可取取1至9中中的任一值值如数据流“存折”可以定义义:存折=户户名+所号号+帐号+开户日+性质+(印印密)+11存取行行5000000000009999999999户名=2字母224所号=“0001”“999”帐号=“0000000001”“9999999999”开户日=

25、年年+月+日日性质=“11”.“6”印密=“00”存取行=日日期+(摘摘要)+支支出+存入入+余额+操作+复复核日期=年+月+日年=“00001”.“99999”月=“011”.“12”日=“011”.“31”摘要=1字母44支出=金额额金额=“000000000.001”.“99999999.99”操作=“0000011”.“999999”数据文件条条目文件条目是是定义文件件的,一般般只需列出出文件的组组成数据项项,以及文文件的组织织方式如数据文件件(数据存存储)“存折”可定义为为存折=户户名+所号号+帐号+开户日+性质+(印印密)+11存取行行5000000000009999999999组

26、织:按帐帐号次序从从小至大排排列加工条目(小小说明)小说明集中中描述一个个加工“做什么”,即加工工逻辑。所所谓加工逻逻辑是指用用户对这个个加工的逻逻辑要求,即即这个加工工的输出数数据流和输输入数据流流的逻辑关关系。目前用于写写小说明(加加工逻辑说说明)的工工具有结构构化英语、判定表和和判定树。结构化英语语下面是商店店业务处理理系统中“检查发货货单”的例子IF thhe innvoicce exxceedds $5500 TTHEN(发货单金金额超过$500)IF tthe aaccouunt hhas aany iinvoiice mmore thann 60 dayss oveerduee

27、THEEN(欠款超超过60天天)thee connfirmmatioon peendinng reesoluutionn of the debtt(在偿还欠欠款前不予予批准)ELSEE (acccounnt iss in goodd staandinng)(欠款未超超期)isssue cconfiirmattion and invooice(发批准书书及发货单单)ENDIIFELSE (invvoicee $5000 orr lesss)(发货单金金额未超过过$5000)IF tthe aaccouunt hhas aany iinvoiice mmore thann 60 dayss ove

28、erduee THEEN(欠款超过过60天)isssue cconfiirmattion, invvoicee andd wriite mmessaage oon crreditt acttion repoort(发批准书书,发货单单及赊欠报报告)ELSEE (acccounnt iss in goodd staandinng)(欠款未未超期)Isssue cconfiirmattion and invooice(发批准书书及发货单单)ENDIFF判定表在某些数据据处理问题题中,某数数据流图的的加工需要要依赖于多多个逻辑条条件的取值值,就是说说完成这一一加工的一一组动作是是由于某一一组条件取取

29、值的组合合引发的。这时使用用判定表来来描述比较较合适。下下面以“检查发货货单”为例,说说明判定表表的构成。1234条件发货单金额额$5000$5000$5000$5000赊欠情况60天60天60天60天操作不发出批准准书发出批准书书发出发货单单发出赊欠报报告判定表由四四个部分组组成,虚线线分割开的的四部分是是:条件茬(CCondiitionn Stuub)左上部部分条件项(CCondiitionn Enttry)右上部部分动作茬(AActioon Sttub)左下部部分动作项(AActioon Enntry)右下部部分例题 请请用判定表表表示下面面描述的耗耗电计费系系统中电费费的计算方方法耗电

30、计费系系统可以采采用固定价价格收费和和浮动价格格收费两种种方式。若若采用固定定价格方式式收费,对对每月耗电电100KKWh以下的的用户只征征收最低标标准费,超超过1000KWh的用户户按价格表表A收费;若采用浮浮动价格方方式收费,则则每月耗电电100KKWh以下的的用户按价价格表A收收费,超过过100KKWh的用户户按价格表表B收费。答案:条件收费方式固定固定浮动浮动耗电规模100100100100操作征收最低标标准费按价格表AA收费按价格表BB收费条件固定固定浮动浮动100100100100操作按价格表AA收费征收最低标标准费按价格表BB收费按价格表AA收费判定树判定树也是是用来表达达加工逻

31、辑辑的一种工工具,有时时它比判定定表更直观观。下面把把前面的“检查发货货单”的例子用用判定树表表示。我们用DFFD描述了了系统中数数据流动和和加工的状状况,用DDD描述了了其中的一一些数据流流、文件和和加工,但但是还不能能满足需求求分析阶段段的要求。任何一个个软件系统统都可能有有成千上万万个数据项项,仅仅描描述它们是是不够的,更更重要的是是如何把它它们以最优优的方式组组织起来,以以满足系统统对数据的的要求。E-R图(EEntitty-Reelatiionshhip,实实体-关系系图)1、实体是现实世界界中实体的的数据侧面面;或者说说,数据对对象是现实实世界中省省略了功能能和行为的的实体。2、联

32、系客观世界中中的事物彼彼此间往往往是有联系系的。同样样,应用问问题中的任任何数据对对象都不是是孤立的,它它们与其它它数据对象象一定存在在各种形式式的联系。联系可分为为三类:一对一联系系(1:11)一对多联系系(1:NN)多对多联系系(M:NN)3、属性属性是实体体或联系所所具有的性性质软件需求规规格说明引言。编写写目的,项项目背景等等任务概述。目标,运运行环境等等数据描述。功能需求。性能需求。运行需求。其他需求。例题1软件需需求分析的的任务不应应包括(AA)。进行行需求分析析可使用多多种工具,但但(B)是是不适用的的。在需求求分析中,分分析员要从从用户那里里解决的最最重要的问问题是(CC)。需

33、求求规格说明明书的内容容不应当包包括(D)。该文档在在软件开发发中具有重重要的作用用,但其作作用不应当当包括(EE)。供选答案:A:问问题分析信息域分分析结构化程程序设计确定逻辑辑模型B:数数据流图判定表PAD图图数据词典典C:要要让软件做做那么要给软件件提供哪些些信息要求软件件工作效率率如何要让软件件具有什么么样的结构构D:对对重要功能能的描述对算法的的详细过程程性描述软件确认认准则软件的性性能E:软软件设计的的依据用户和开开发人员对对软件要“做什么”的共同理理解软件验收收的依据软件可行行性分析的的依据答案:A. B. C. D. E.2在结构构化分析方方法中,用用以表达系系统内数据据的运动

34、情情况的工具具有()。供选答案:A.数据流流图 BB.数据词词典 CC.结构化化英语 D.判定定表与判定定树答案:A一旦软件需需求确认之之后,就进进入开发阶阶段。开发发阶段由33个互相关关联的步骤骤组成,即即设计、实实现(编码码)和测试试。从工程管理理的角度看看,软件设设计可分为为概要设计计/总体设设计和详细细设计两大大步骤。从技术角度度来看,软软件设计可可分为数据据设计、系系统结构设设计和过程程设计。现现在越来越越多的人把把界面设计计也单独取取出作为一一个方面。概要设计基本目的是是用比较抽抽象概括的的方式确定定系统如何何完成预定定的任务,即即确定软件件系统的总总体结构,给给出系统中中各个组成

35、成模块的功功能和模块块间的接口口。涉及的概念念主要有:模块化,抽抽象与逐步步求精,信信息隐藏,模模块独立在进行软件件结构设计计时应该遵遵循的最重重要的原理理是模块独独立原理。采用模块化化原理的优优点:可以使软件件结构清晰晰,容易设设计、容易易阅读和理理解、容易易测试和调调试。提高软件的的可靠性。易于软件开开发工程的的组织管理理。所谓模块的的独立性,是是指软件系系统中每个个模块只涉涉及软件要要求的具体体的子功能能,而和软软件系统中中其他模块块的接口是是简单的。模块独立性性可用两个个定量准则则来度量耦合(cooupliing):各个模块块之间相互互关联的度度量内聚(coohesiion):模块内部

36、部各元素之之间相互关关联的度量量耦合共分七七级非直接耦合合、数据耦耦合、特征征耦合/标标记耦合、控制耦合合、外部耦耦合、公共共耦合、内内容耦合按上述顺序序,耦合性性逐渐升高高,模块独独立性逐渐渐降低。内聚共分七七级偶然内聚、逻辑内聚聚、时间内内聚、过程程内聚、通通信内聚、顺序内聚聚、功能内内聚按上述顺序序,内聚性性逐渐加强强,功能趋趋于单一,模模块独立性性也逐渐加加强。软件概要设设计的目标标是力求增增加模块的的内聚,尽尽量减少模模块间的耦耦合。但增增加内聚比比减少耦合合更重要,应应当把更多多的注意力力集中到提提高模块的的内聚程度度上来。系统结构设设计的七条条启发式原原则:改进软件结结构提高模模

37、块独立性性模块规模应应该适中深度、宽度度、扇出和和扇入都应应适当模块的作用用范围应在在控制范围围之内力争降低模模块接口的的复杂程度度设计单入口口单出口的的模块模块功能应应该可以预预测概要设计常常用图形工工具有:层层次图、HHIPO图图、结构图图(SC图图)。常见的软件件概要设计计方法有33大类:以数据流图图为基础构构造模块结结构的结构构化设计方方法(SDD,Strructuured Desiign)以数据结构构为基础构构造模块结结构的Jaacksoon方法和和LCP(LLogiccal CConsttructtion of PProgrrams)(WWanieer)逻辑辑构造方法法以对象、类类

38、、继承和和通信为基基础的面向向对象的设设计方法(OOOD)此外,以信信息隐藏为原则则的Parrnas方方法虽然没没有给出系系统化的设设计方法,但但提出了一一组原则。结构化设计计方法(SStrucctureed Deesignn,SD)是是基于模块块化、自顶顶向下细化化、结构化化程序设计计等程序设设计技术基基础而发展展起来的。概要设计的的步骤:分析/重画画DFD确定DFDD的特点及及边界映射为软件件结构细化后,得得到初始结结构图获得最终的的软件结构构图概要设计说说明书引言。编写写目的,项项目背景等等任务概述。目标,运运行环境,需需求概述,条条件与限制制等总体设计。处理流程程,系统总总体结构等等接

39、口设计。外部接口口,内部接接口等数据结构设设计运行设计出错处理设设计其它问题例题1在众多多的设计方方法中,SSD方法是是最受人注注意的,也也是最广泛泛应用的一一种,这种种方法可以以同分析阶阶段的(AA)方法及及编程阶段段的(B)方方法前后衔衔接,SDD方法考虑虑如何建立立一个结构构良好的程程序结构,它它提出了评评价模块结结构质量的的两个具体体标准-块块间联系和和块内联系系。SD方方法的最终终目标是(CC),用于于表示模块块间调用关关系的图叫叫(D)。另一种比较较著名的设设计方法是是以信息隐隐藏为原则则划分模块块,这种方方法叫(EE)方法。供选择的答答案:A-B:JackksonSASCParn

40、nasSPC: 块块间联系大大,块内联联系小 块间联系系大,块内内联系小块间联系系小,块内内联系大 块间联系系小,块内内联系小D: PPADHCPSCSADTTHIPOONSE: JJacksson Parnnas Turiing Wirtth Dijkkstraa答案:A. B.C.D.E.2块间联联系和块内内联系是评评价程序模模块结构质质量的重要要标准。联联系的方式式、共用信信息的作用用、共用信信息的数量量和接口的的(A)等等因素决定定了块间联联系的大小小。在块内内联系中,(BB)的块内内联系最强强。SD方法的的总的原则则是使每个个模块执行行(C)功功能,模块块间传送(DD)参数,模模块通

41、过(EE)语句调调用其它模模块,而且且模块间传传送的参数数应尽量(FF)。此外,SDD方法还提提出了判定定的作用范范围和模块块的控制范范围等概念念。SD方方法认为,(GG)应该是是(H)的的子集。供选择的答答案:A:友好好性 健壮性 简单性 安全性B:巧合合内聚 功能内聚聚 通信内聚聚 信息内聚聚C:一个个多个D:数据据型 控制型 混合型E:直接接引用标准调用用 中断 宏调用F:少多G-H:作用范围围控制范围围答案:A. B. C. D. E. F. G. H.3从下列列有关系统统结构图的的叙述中选选出正确的的叙述A系统结结构图中反反映的是程程序中数据据流的情况况。B系统结结构图是精精确表达程

42、程序结构的的图形表示示法。因此此,有时可可将系统结结构图当作作程序流程程图使用。个模块的多多个下属模模块在系统统结构图中中所处的左左右位置是是无关紧要要的。系统结构图图中,上级级模块与其其下属模块块之间的调调用关系用用有向线段段表示。这这时,使用用斜的线段段和水平、垂直的线线段具有相相同的含义义。答案:D5在完成成软件概要要设计,并并编写出相相关文档之之后,应当当组织对概概要设计工工作的评审审。评审的的内容包括括:分析该软件件的系统结结构、子系系统结构,确确认该软件件设计是否否覆盖了所所有已确定定的软件需需求,软件件每一成分分是否可(AA)到某一一项需求。分析软件各各部分之间间的联系,确确认该

43、软件件的内部接接口与外部部接口是否否已经明确确定义。模模块是否满满足(B)和和(C)的的要求。模模块(D)是是否在其(EE)之内。供选择的答答案:A:覆盖盖 演化 追溯 等同 连接B:多功功能 高内聚 高耦合 高效率 可读性C:多入入口 低内聚 低耦合 低复杂度度 低强度D-E:作用范围围 高内聚 低内聚 取值范围围 控制范围围答案:A. B. C. D. E.详细设计详细设计就就是要在总总体设计阶阶段成果的的基础上,考考虑如何实实现定义的的软件系统统,直到对对系统中的的每个模块块给出足够够详细的过过程描述。结构化程序序设计技术术是进行详详细设计的的逻辑基础础。它采用用自顶向下下逐步求精精的设

44、计方方法和单入入口单出口口的控制结结构。结构化程序序设计的三三种基本控控制结构是是顺序、选选择、循环环。详细设计的的工具有程程序流程图图、盒图、PAD图、判定表、判定树和和PDL语言言等。程序复杂性性度量程序复杂杂性主要指指模块内程程序的复杂杂性。它直直接关联到到软件开发发费用的多多少、开发发周期的长长短和软件件内部潜伏伏错误的多多少等。代码行度量量法度量程序的的复杂性,最最简单的方方法就是统统计程序的的源代码行行数。该方方法的基本本考虑是统统计一个程程序模块的的源代码行行数目,并并以源代码码行数作为为程序复杂杂性的度量量。Lipoww及其他研研究者得出出一个结论论:对于少少于1000个语句的

45、的小程序,源源代码行数数与出错率率是线性相相关的。随随着程序的的增大,出出错率以非非线性方式式增长。McCabbe度量法法McCabbe度量法法是一种基基于程序控控制流的复复杂性度量量方法。MMcCabbe定义的的程序复杂杂性度量值值又称环路路复杂性,它它是基于程程序图中环环路的个数数。如果把程序序流程图中中每个处理理符号都退退化成一个个结点,原原来联结不不同处理符符号的流线线变成连接接不同结点点的有向弧弧,这样得得到的有向向图就叫做做程序图。计算有向图图G的环路复复杂性的公公式:其中,V(G)是有有向图G中的环路路个数,mm是图G中有向弧弧个数,nn是图G中结点个个数。详细设计说说明书引言总

46、体设计。软件结构构程序描述。逐个模块块描述其功功能、性能能、输入、输出、算算法等例题软件详细设设计工具可可分为3类,即图图形工具、设计语言言和表格工工具。图形形工具中,(A)简单而应用广泛。(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C)可以纵横延伸,图形的空间效果好。(D)是一一种设计和和描述程序序的语言,它它是一种面面向(E)的语言言。供选答案:A-C:NS图流程图HIPOO图PAD图D:CPDLPROLLOGPasccalE:人机器数据结构构对象答案:A.B.C.D.E.20011年统考下面是两两个程序流流程图,试试分别用NN-S图和和PAD图表表示之,并并计算它们们的M

47、cCCabe复复杂性度量量。答案:PAD图略略McCabbe复杂性性度量都为为3。(7-66+2)下图是使用用BASIIC语言编编写的一个个打印A、B、C三数中最最小者的程程序流程图图。其中出出现了6个GOTOO语句,1个向前,55个向后,程程序可读性性很差。if (AAB) gotoo 1200;if (BBC) gotoo 1100;printt C;goto 140;printt B;goto 140;if (AAC) gotoo 1300;goto 100;printt A;140试利用基本本控制结构构,将程序序中的GOOTO语句句消去。使用if-thenn-elsse结构化化构造,则

48、则上述程序序段可改成成如下形式式:if (AAB aand AA=BB andd Bcc) thhenpriint BBelse printt C编码所谓编码就就是把软件件设计的结结果翻译成成计算机可可以“理解”的形式用某种程程序设计语语言书写的的程序。按照软件工工程的方法法论,程序序的质量基基本上由设设计的质量量决定。但但是,编码码使用的语语言,特别别是写程序序的风格和和途径也对对程序质量量有相当大大的影响。程序设计语语言的分类类、选择大量实践表表明,高级级程序设计计语言较汇汇编语言有有很多优点点。程序设计风风格包括四四个方面:源程序文档档化、数据据说明、语语句结构和和输入/输出方法法例题从

49、下列叙述述中选出55条符合程程序设计风风格指导原原则的叙述述。嵌套的重重数应加以以限制尽量多使使用临时变变量不滥用语语言特色不用可以以省略的括括号使用有意意义的变量量名应尽可能能把程序编编得短些把常见的的局部优化化工作留给给编译程序序去做注解越少少越好程序的格格式应有助助于读者理理解程序应尽可能能多用GOOTO语句句答案:、是正确的的从下列关于于模块化程程序设计的的叙述中选选出5条正确的的叙述。程序设计计比较方便便,但比较较难以维护护便于由多多个人分工工编制大型型程序软件的功功能便于扩扩充程序易于于理解,也也便于排错错在主存储储器能够容容纳得下的的前提下,应应使模块尽尽可能大,以以便减少模模块

50、的个数数模块之间间的接口叫叫做数据文文件只要模块块之间的接接口关系不不变,各模模块内部实实现细节的的修改将不不会影响别别的模块模块间的的单向调用用关系叫做做模块的层层次结构模块越小小,模块化化的优点越越明显。一一般来说,模模块的大小小都在100行以下答案:、是正确的的测试软件测试的的目的就是是软件投入入生产性运运行之前,尽尽可能多地地发现软件件中的错误误。目前软软件测试仍仍然是保证证软件质量量的关键步步骤。软件测试在在软件生命命周期中横横跨两个阶阶段:编码码和测试。Grenfford J.Myyers就就软件测试试目的提出出以下观点点:测试是程序序的执行过过程,目的的在于发现现错误。一个好的测

51、测试用例在在于能发现现至今未发发现的错误误一个成功的的测试是发发现了至今今未发现的的错误的测测试软件测试的的原则应当尽早地地不断地进进行软件测测试测试用例应应由测试输输入数据和和与之相对对应的预期期输出结果果这两部分分组成程序员应避避免检查自自己的程序序在设计测试试用例时,应应当包括合合理的输入入条件和不不合理的输输入条件充分注意测测试中的群群集现象严格执行测测试计划,排排除测试的的随意性应当对每个个测试结果果做全面检检查妥善保存测测试计划、测试用例例、出错统统计和最终终分析报告告,为维护护提供方便便常分单元测测试/模块测试试,集成测测试,确认认测试和系系统测试。关系重大大的还可做做平行运行行

52、。设计测试方方案是测试试阶段的关关键技术问问题,基本本目标是选选用最少量量的高效测测试数据,做做到尽可能能完善的测测试,从而而尽可能多多地发现软软件中的问问题。动态测试两两个基本方方法黑盒测试/功能测试试等价类划划分边界值分析析错误推测测法因果图法白盒测试/结构测试试语句覆盖盖:使得每每一可执行行语句至少少执行一次次判定覆盖盖:使得程程序中每个个判断的取取真分支和和取假分支支至少执行行一次条件覆盖盖:使得程程序中每个个判断的每每个条件的的可能取值值至少执行行一次判定-条条件覆盖:使得判断断中每个条条件的所有有可能取值值至少执行行一次,同同时每个判判断的所有有可能判断断结果至少少执行一次次条件组

53、合覆覆盖:使得得每个判断断的所有可可能的条件件取值组合合至少执行行一次路径覆盖盖:覆盖程程序中所有有可能的路路径设计测试方方案的实用用策略是,用用黑盒法设设计基本的的测试方案案,再用白白盒法补充充一些必要要的测试方方案。应该认识到到,软件测测试不仅仅仅指利用计计算机进行行的测试,还还包括人工工进行的测测试(例如如,代码审审查)。两两种测试途途径各有优优缺点,互互相补充,缺缺一不可。因果图方法法最终生成成的就是判判定表。它它适合于检检查程序输输入条件的的各种组合合情况。例题20000年统考设要对一一个自动饮饮料售货机机软件进行行黑盒测试试。该软件件的规格说说明如下:有一个处理理单价为11元5角钱

54、的盒盒装饮料的的自动售货货机软件。若投入11元5角硬币,按按下“橙汁”、“啤酒”或“红茶”按钮,相相应的饮料料就送出来来。若投入入的是2元硬币,在在送出饮料料的同时退退还5角硬币。1)(5分分)试利用用因果图法法,建立该该软件的因因果图;2)(5分分)设计测测试该软件件的全部测测试用例。因果图(加加入了两个个中间结点点11和12。11表示已已投币,112表示已已按钮)测试用例1234567891011输入投入1元55角硬币(1)11110000000投入2元硬硬币(2)00001111000按”橙汁”按钮(3)10001000100按”啤酒”按钮(4)01000100010按”红茶”按钮(5)

55、00100010001中间结点已投币(11)11111111000已按钮(12)11101110111输出退还5角硬硬币(21)00001110000送出橙汁饮饮料(22)10001000000送出啤酒饮饮料(23)01000100000送出红茶饮饮料(24)00100010000软件测试是是软件质量量保证的主主要手段之之一,测试试的费用已已超过(AA)的30%以上。因因此,提高高测试的有有效性十分分重要。“高产”的测试是是指(B)。根据据国家标准准GB85566-888计算算机软件开开发规范的规定,软软件的开发发和维护划划分为8个阶段,其其中,单元元测试是在在(C)阶段完完成的,集集成测试的

56、的计划是在在(D)阶段制制定的,确确认测试的的计划是在在(E)阶段制制定的。供选择的答答案:A:软件开发发费用软件维护护费用软件开发发和维护费费用软件研制制费用软件生存存期全部B:用适适量的测试试用例运行行程序,证证明被测程程序正确无无误用适量的的测试用例例运行程序序,证明被被测程序符符合相应的的要求用少量的的测试用例例运行程序序,发现被被测程序尽尽可能多的的错误用少量的的测试用例例运行程序序,纠正被被测程序尽尽可能多的的错误C-E:可行性研研究和计划划需求分析析概要设计计详细设计计实现集成测试试确认测测试使用和维维护答案:A.B.C.D.E.集成测试也也叫做(AA)或(B)。通常常,在(CC

57、)的基础础上,将所所有模块按按照设计要要求组装成成系统。子子系统的集集成测试特特别称为(D),它所作的工作是要找出子系统和系统需求规格说明之间的(E)。需要考虑的问题是在把各个模块连接起来的时候,穿越模块接口的数据是否会(F);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H);(I)是否有问题;单个模块的误差累积起来是否会放大。供选择的答答案:A-D:单元测试试部件测试试组装测试试系统测测试确认测试试联合测试试E-I:子功能丢失父功能局部数数据结构全局数据据结构不一致一致答案:A.B.C.D.E.F.G.H.I.软件测试方方法可分为为黑盒测试试

58、和白盒测测试两种。黑盒测试法法是通过分分析程序的的(A)来设计计测试用例例的方法。除了测试试程序外,它它还适用于于对(B)阶段的的软件文档档进行测试试。白盒测试法法是根据程程序的(CC)来设计计测试用例例的方法。除了测试试程序外,它它也适用于于对(D)阶段的的软件文档档进行测试试。白盒法测试试程序时常常按照给定定的覆盖条条件选取测测试用例。(E)覆盖比比(F)严格,它它使得每个个判定的每每条分支至至少经历一一次。(GG)覆盖既既是判定覆覆盖,又是是条件覆盖盖,但它并并不保证使使各种条件件都能取到到所有可能能的值。(H)覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。单元测试一一般以

59、(II)为主,测测试的依据据是(J)。供选择的答答案:A、C:应用范围围内部逻辑辑功能输入数据据B、D:编码软件详细细设计软件总体体设计需求分析析E、F、GG、H:语句判定条件判定/条件多重条件件路径I:白盒盒法黑盒法J:模块块功能规格格说明系统模块块结构图系统需求求规格说明明答案:A.B.C.D.E.F.G.H.I.J.从下列关于于程序设计计风格和软软件测试的的叙述中,选选出5条正确的的叙述用黑盒法法测试时,测测试用例是是根据程序序内部逻辑辑设计的。尽量用公公共过程或或子程序去去代替重复复的代码段段。测试是为为了验证该该软件已正正确地实现现了用户的的要求。对于连锁锁型分支结结构,若有有n个判

60、定语语句,则有有2n条路径。尽量采用用复合的条条件测试,以以避免嵌套套的分支结结构。GOTOO语句概念念简单,使使用方便。在某些情情况下,保保留GOTTO语句反反能使写出出的程序更更加简洁。发现错误误多的程序序模块,残残留在模块块中的错误误也多。黑盒测试试方法中最最有效的是是因果图法法。在做程序序的单元测测试时,桩桩(存根)模模块比驱动动模块容易易编写。程序效率率的提高主主要应通过过选择高效效的算法来来实现。答案:、调试软件调试试是在进行行了成功的的测试之后后才开始的的工作。调试活动动由两部分分组成:确定程序中中可疑错误误的确切性性质和位置置对程序(设设计、编码码)进行修修改,排除除这个错误误

温馨提示

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

最新文档

评论

0/150

提交评论