软件工程期末复习集

上传人:阳*** 文档编号:107355056 上传时间:2022-06-14 格式:DOC 页数:15 大小:281.50KB
返回 下载 相关 举报
软件工程期末复习集_第1页
第1页 / 共15页
软件工程期末复习集_第2页
第2页 / 共15页
软件工程期末复习集_第3页
第3页 / 共15页
点击查看更多>>
资源描述
详细设计详细设计就是要在总体设计阶段成果的基础上,考虑如何实现定义的软件系统,直到对系统中的每个模块给出足够详细的过程描述。结构化程序设计技术是进行详细设计的逻辑基础。它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。结构化程序设计的三种基本控制结构是顺序、选择、循环。详细设计的工具有程序流程图、盒图、PAD图、判定表、判定树和PDL语言等。程序复杂性度量程序复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期的长短和软件内部潜伏错误的多少等。1) 代码行度量法度量程序的复杂性,最简单的方法就是统计程序的源代码行数。该方法的基本考虑是统计一个程序模块的源代码行数目,并以源代码行数作为程序复杂性的度量。Lipow及其他研究者得出一个结论:对于少于100个语句的小程序,源代码行数与出错率是线性相关的。随着程序的增大,出错率以非线性方式增长。2) McCabe度量法McCabe度量法是一种基于程序控制流的复杂性度量方法。McCabe定义的程序复杂性度量值又称环路复杂性,它是基于程序图中环路的个数。如果把程序流程图中每个处理符号都退化成一个结点,原来联结不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。计算有向图G的环路复杂性的公式:其中,V(G)是有向图G中的环路个数,m是图G中有向弧个数,n是图G中结点个数。详细设计说明书1. 引言2. 总体设计。软件结构3. 程序描述。逐个模块描述其功能、性能、输入、输出、算法等例题软件详细设计工具可分为3类,即图形工具、设计语言和表格工具。图形工具中,(A)简单而应用广泛。(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C)可以纵横延伸,图形的空间效果好。(D)是一种设计和描述程序的语言,它是一种面向(E)的语言。供选答案:A-C:NS图流程图HIPO图PAD图D:CPDLPROLOGPascalE:人机器数据结构对象答案:A.B.C.D.E.2001年统考下面是两个程序流程图,试分别用N-S图和PAD图表示之,并计算它们的McCabe复杂性度量。答案:PAD图略McCabe复杂性度量都为3。(7-6+2)下图是使用BASIC语言编写的一个打印A、B、C三数中最小者的程序流程图。其中出现了6个GOTO语句,1个向前,5个向后,程序可读性很差。if (AB) goto 120;if (BC) goto 110;100 print C;goto 140;110 print B;goto 140;120 if (AC) goto 130;goto 100;130 print A;140试利用基本控制结构,将程序中的GOTO语句消去。使用if-then-else结构化构造,则上述程序段可改成如下形式:if (AB and A=B and Bc) thenprint Belse print C编码所谓编码就是把软件设计的结果翻译成计算机可以“理解”的形式用某种程序设计语言书写的程序。按照软件工程的方法论,程序的质量基本上由设计的质量决定。但是,编码使用的语言,特别是写程序的风格和途径也对程序质量有相当大的影响。程序设计语言的分类、选择大量实践表明,高级程序设计语言较汇编语言有很多优点。程序设计风格包括四个方面:源程序文档化、数据说明、语句结构和输入/输出方法例题从下列叙述中选出5条符合程序设计风格指导原则的叙述。嵌套的重数应加以限制尽量多使用临时变量不滥用语言特色不用可以省略的括号使用有意义的变量名应尽可能把程序编得短些把常见的局部优化工作留给编译程序去做注解越少越好程序的格式应有助于读者理解程序应尽可能多用GOTO语句答案:、是正确的从下列关于模块化程序设计的叙述中选出5条正确的叙述。程序设计比较方便,但比较难以维护便于由多个人分工编制大型程序软件的功能便于扩充程序易于理解,也便于排错在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数模块之间的接口叫做数据文件只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块模块间的单向调用关系叫做模块的层次结构模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下答案:、是正确的测试软件测试的目的就是软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤。软件测试在软件生命周期中横跨两个阶段:编码和测试。Grenford J.Myers就软件测试目的提出以下观点:1) 测试是程序的执行过程,目的在于发现错误。2) 一个好的测试用例在于能发现至今未发现的错误3) 一个成功的测试是发现了至今未发现的错误的测试软件测试的原则1) 应当尽早地不断地进行软件测试2) 测试用例应由测试输入数据和与之相对应的预期输出结果这两部分组成3) 程序员应避免检查自己的程序4) 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件5) 充分注意测试中的群集现象6) 严格执行测试计划,排除测试的随意性7) 应当对每个测试结果做全面检查8) 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便常分单元测试/模块测试,集成测试,确认测试和系统测试。关系重大的还可做平行运行。设计测试方案是测试阶段的关键技术问题,基本目标是选用最少量的高效测试数据,做到尽可能完善的测试,从而尽可能多地发现软件中的问题。动态测试两个基本方法黑盒测试/功能测试等价类划分边界值分析错误推测法因果图法白盒测试/结构测试语句覆盖:使得每一可执行语句至少执行一次判定覆盖:使得程序中每个判断的取真分支和取假分支至少执行一次条件覆盖:使得程序中每个判断的每个条件的可能取值至少执行一次判定-条件覆盖:使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次条件组合覆盖:使得每个判断的所有可能的条件取值组合至少执行一次路径覆盖:覆盖程序中所有可能的路径设计测试方案的实用策略是,用黑盒法设计基本的测试方案,再用白盒法补充一些必要的测试方案。应该认识到,软件测试不仅仅指利用计算机进行的测试,还包括人工进行的测试(例如,代码审查)。两种测试途径各有优缺点,互相补充,缺一不可。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。a.例题2000年统考设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“橙汁”、“啤酒”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。1)(5分)试利用因果图法,建立该软件的因果图;2)(5分)设计测试该软件的全部测试用例。因果图(加入了两个中间结点11和12。11表示已投币,12表示已按钮)测试用例1234567891011输入投入1元5角硬币(1)11110000000投入2元硬币(2)00001111000按”橙汁”按钮(3)10001000100按”啤酒”按钮(4)01000100010按”红茶”按钮(5)00100010001中间结点已投币(11)11111111000已按钮(12)11101110111输出退还5角硬币(21)00001110000送出橙汁饮料(22)10001000000送出啤酒饮料(23)01000100000送出红茶饮料(24)00100010000软件测试是软件质量保证的主要手段之一,测试的费用已超过(A)的30%以上。因此,提高测试的有效性十分重要。“高产”的测试是指(B)。根据国家标准GB8566-88计算机软件开发规范的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在(C)阶段完成的,集成测试的计划是在(D)阶段制定的,确认测试的计划是在(E)阶段制定的。供选择的答案:A:软件开发费用软件维护费用软件开发和维护费用软件研制费用软件生存期全部B:用适量的测试用例运行程序,证明被测程序正确无误用适量的测试用例运行程序,证明被测程序符合相应的要求用少量的测试用例运行程序,发现被测程序尽可能多的错误用少量的测试用例运行程序,纠正被测程序尽可能多的错误C-E:可行性研究和计划需求分析概要设计详细设计实现集成测试确认测试使用和维护答案:A.B.C.D.E.集成测试也叫做(A)或(B)。通常,在(C)的基础上,将所有模块按照设计要求组装成系统。子系统的集成测试特别称为(D),它所作的工作是要找出子系统和系统需求规格说明之间的(E)。需要考虑的问题是在把各个模块连接起来的时候,穿越模块接口的数据是否会(F);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H);(I)是否有问题;单个模块的误差累积起来是否会放大。供选择的答案:A-D:单元测试部件测试组装测试系统测试确认测试联合测试E-I:子功能丢失父功能局部数据结构全局数据结构不一致一致答案:A.B.C.D.E.F.G.H.I.软件测试方法可分为黑盒测试和白盒测试两种。黑盒测试法是通过分析程序的(A)来设计测试用例的方法。除了测试程序外,它还适用于对(B)阶段的软件文档进行测试。白盒测试法是根据程序的(C)来设计测试用例的方法。除了测试程序外,它也适用于对(D)阶段的软件文档进行测试。白盒法测试程序时常按照给定的覆盖条件选取测试用例。(E)覆盖比(F)严格,它使得每个判定的每条分支至少经历一次。(G)覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。(H)覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。单元测试一般以(I)为主,测试的依据是(J)。供选择的答案:A、C:应用范围内部逻辑功能输入数据B、D:编码软件详细设计软件总体设计需求分析E、F、G、H:语句判定条件判定/条件多重条件路径I:白盒法黑盒法J:模块功能规格说明系统模块结构图系统需求规格说明答案:A.B.C.D.E.F.G.H.I.J.从下列关于程序设计风格和软件测试的叙述中,选出5条正确的叙述用黑盒法测试时,测试用例是根据程序内部逻辑设计的。尽量用公共过程或子程序去代替重复的代码段。测试是为了验证该软件已正确地实现了用户的要求。对于连锁型分支结构,若有n个判定语句,则有2n条路径。尽量采用复合的条件测试,以避免嵌套的分支结构。GOTO语句概念简单,使用方便。在某些情况下,保留GOTO语句反能使写出的程序更加简洁。发现错误多的程序模块,残留在模块中的错误也多。黑盒测试方法中最有效的是因果图法。在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。程序效率的提高主要应通过选择高效的算法来实现。答案:、调试软件调试是在进行了成功的测试之后才开始的工作。调试活动由两部分组成:1) 确定程序中可疑错误的确切性质和位置2) 对程序(设计、编码)进行修改,排除这个错误几种主要的调试方法:强行排错回溯法排错归纳法排错演绎法排错测试和调试是软件测试阶段的两个关系极端密切的过程,它们通常交替进行。测试中的可靠性分析在软件开发的过程中,利用测试的统计数据,估算软件的可靠性以控制软件的质量是至关重要的。推测错误的产生频度估算错误产生频度的一种方法是估算平均失效等待时间MTTF(Mean Time To Failure)。MTTF估算公式(Shooman模型)是:其中,K是一个经验常数,美国一些统计数字表明,K的典型值是200;ET是测试之前程序中原有的故障总数;IT是程序长度(机器指令条数或简单汇编语句条数);t是测试(包括排错)的时间;EC(t)是在0-t期间内检出并排除的故障总数。公式的基本假定是:1)、单位(程序)长度中的故障数ET/IT近似为常数,它不因测试与排错而改变。统计数字表明,通常ET/IT值的变化范围在0.5*10-22*10-2之间。2)、故障检出率正比于程序中残留故障数,而MTTF与程序中残留故障数成正比。3)、故障不可能完全检出,但一经检出立即得到改正。可靠性累积曲线公式例题对一个长度为100,000条指令的程序进行测试,记录下来的数据如下:.测试开始,发现错误个数为0;.经过160小时的测试,累计改正100个错误,此时,MTTF=0.4小时;.又经过160小时的测试,累计改正300个错误,此时,MTTF=2小时。1) 估计程序中固有的错误总数。2) 为使MTTF达到10小时,必须测试和调试这个程序多长时间?3) 给出MTTF与测试时间t之间的函数关系由Shooman公式其中,=105,1=0.4,1=160,n1=100,2=2,2=320,n2=300得1) 解得程序中固有的错误总数=350,此外,K=1000。2) 设MTTF=10,有解得x=340(即为使MTTF达到10小时,需要改正340个错误)。由可靠性累积曲线,得解得K1=0.01。代入 得t=(ln(35)/0.01=356h因此求得为使MTTF=10,测试和调试该程序需要时间约为356小时。3) MTTF与测试时间t之间的函数关系:因为,则。代入Shooman公式:维护所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件工程学的主要目的就是提高软件的可维护性,降低维护的代价。软件可维护性,是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。软件的可理解性、可测试性和可修改性是决定软件可维护性的基本因素。软件维护通常包括四类活动:1) 为了纠正使用过程中暴露出来的错误而进行的改正性维护;2) 为了适应外部环境的变化而进行的适应性维护;3) 为了改进原有的软件而进行的完善性维护;4) 为了改进将来的可维护性和可靠性而进行的预防性维护。在软件维护中,影响维护工作量的程序特性有以下6种:a. 系统大小b. 程序设计语言c. 系统年龄d. 数据库技术的应用e. 先进的软件开发技术f. 其他维护有三种副作用:文档、代码、数据。软件维护工作流程1、 确认维护要求2、 由维护组织管理员确认维护类型可理解性:表明人们通过阅读源代码和相关文档,了解程序及其如何运行的容易程度。可靠性:表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。可测试性:表明论证程序正确性的容易程度。可修改性:表明程序容易修改的程度。可移植性:表明程序转移到一个新的计算环境的可能性的大小,或者它表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。效率:表明一个程序能执行预定功能而又不浪费机器资源的程度。可使用性:从用户观点出发,把可使用性定义为程序方便、实用及易于使用的程度。各阶段结束标准计划阶段问题定义关于规模和目标的报告书可行性研究可行性论证报告(系统的高层逻辑模型)开发阶段需求分析需求规格说明书(系统的逻辑模型)概要设计概要设计说明书(系统层次图或结构图)详细设计详细设计说明书(各模块内部详细算法)编码源程序清单,单元测试方案与结果测试综合测试方案和结果实施阶段维护完整准确的维护记录软件管理成本估算代码行技术功能点技术效益估计系统效益包括经济效益和社会效益两部分。货币的时间价值、纯收入、投资回收期、投资回收率进度安排进度安排是软件项目管理中的一项重要内容。管理复杂的工程项目非常困难,最好的办法是把它分解成一系列比较容易管理的子任务。但是分解后又容易只注意对各个子任务的管理,以致忽略了对工程总体情况的了解和管理。因此需要有某种工具既支持把项目分解成较小的子任务,又能帮助管理人员保持对工程总体情况的洞悉和管理。1、甘特图Gantt图能很形象地描绘任务分解情况,以及每个子任务(作业)的开始时间和结束时间,因此是进度计划和进度管理的有力工具,它具有直观简明和容易掌握、容易绘制的优点,但是Gantt图也有三个主要缺点:1. 不能显式地描绘各项作业彼此间的依赖关系;2. 进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象;3. 计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费当把一个工程项目分解成许多小任务,并且它们彼此间的依赖关系又比较复杂时,仅仅用Gantt图作为安排进度的工具是不够的,不仅难于作出既节省资源又保证进度的计划,而且还容易发生差错。2、工程网络工程网络是制订进度计划时另一种常用的图形工具,它同样能描绘任务分解情况以及每项作业的开始时间和结束时间。此外,它还显式地描绘各个作业彼此间的依赖关系。因此,工程网络是系统分析和系统设计的强有力的工具。涉及的几个概念:机动时间、关键路径在制定进度计划时仔细考虑和利用工程网络中的机动时间,往往能够安排出既节省资源又不影响最终竣工时间的进度表。人员组织管理软件开发通常采用层次结构。一般来说,程序设计小组的规模应该较小,视工程规模以2-8人为宜。主程序员组用经验多、技术好、能力强的程序员作为主程序员。同时,利用人和计算机在事务性工作方面给主程序员提供充分支持,而且所有通信都通过一两个人进行。软件项目的开发实践表明,软件开发各个阶段所需要的技术人员类型、层次和数量是不同的。软件项目的计划与分析阶段只需要少数人,主要是系统分析员、从事软件系统论证和概要设计的软件高级工程师和项目高级管理人员。概要设计时增加一部分高级程序员,详细设计时,要增加软件工程师和程序员,在编码和测试阶段还要增加程序员、软件测试员。到测试阶段结束时,软件项目开发人员的数量达到顶峰。软件运行初期,参加软件维护的人员比较多,过早解散软件开发人员会给软件维护带来意想不到的困难。软件运行一段时间后,由于软件开发人员参与改正性维护,软件出错率会很快衰减,这时软件开发人员可以逐步撤出。如果系统不做适应性或完善性维护,需要留守的维护人员就不多了。软件配置管理Babich曾说过:“协调软件开发使得混乱减到最小的技术叫做配置管理。配置管理是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产率。”软件配置管理(SCM,Software Configuration Management)应用于整个软件生存期。因为变更在任何时刻都可能发生,因此,软件配置管理活动的目标就是为了标识变更、控制变更、确保变更更正确地实现,并向其他相关的人报告变更。基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。由正式的技术评审而得到的软件配置协议和软件配置的正式文本组成基线。它的作用是把各阶段工作的划分更加明确化,使连续的工作在这些点上断开,以便检验和肯定阶段成果。CMM(Capability Maturity Model)软件机构能力成熟度模型五个级别:初始级、可重复级、已定义级、已管理级、已优化级软件复用对建立软件目标系统而言,所谓复用(reuse),就是利用某些已开发的、对建立新软件系统有用的软件元素来生成新系统。这里所说的软件元素可以包括需求规格说明、设计过程、设计规格说明、程序代码、测试用例、度量等。对于新的软件开发项目而言,这些元素或者是构成新软件系统的构件,或者能在软件开发过程中发挥某种作用。通常,将这些软件元素称为可复用构件。面向对象的软件工程面向对象=对象+类+继承+通信对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。三个主要特点:自治性、封装性、通信性。属性一般只能通过执行对象的操作来改变。操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。而所谓的消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。把具有相同特征和行为的对象归结在一起就形成了类。类是某些对象的模板,抽象地描述了属于该类的全部对象的属性和操作。属于某个类的对象叫做该类的实例。如果某几个类之间具有共性的部分(信息结构和行为),将其抽取出来放在一个一般类中,而将各个类的特有的部分放在特殊类中分别描述,则可建立起特殊类对一般类的继承。继承是软件开发中重用概念的核心,另外便于模块修改,同时继承可使模块简化,导致模块比较小容易理解。Coad与Yourdon的方法(Object-oriented Analysis and Design,OOAD):分为OOA和OOD。1. OOA1) 形式地说明所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束。2) 明确地规定构成系统的对象如何协同合作,完成指定的功能。OOA要建立分析模型,有五个层次:类和对象层、属性层、服务层、结构层、主题层。允许两种结构:整体-部分,通用-特殊。通过OOA建立的系统模型是以概念为中心的,因此称为概念模型。这样的模型由一组相关的类组成。构造和评审OOA概念模型的顺序由5个层次组成,即类和对象层、属性层、服务层、结构层、主题层。这5个层次不是构成软件系统的层次,而是分析过程中的层次也可以说是问题的不同侧面。每个层次的工作都为系统的规格说明增加了一个组成部分。当5个层次的工作全部完成时,OOA的任务也就完成了。2.OODOOD还是采用这样五个层次,但分别用在建立系统的四个组成成分上:问题论域、人机交互、数据管理、任务管理。OOD模型类似于构造蓝图,以最完整的形式全面地定义了如何用特定的实现技术建立起一个目标系统。在OOA模型和OOD模型中使用了共同的表示法,这有助于从分析到设计的转换,并有助于在当前的设计和实现中维护OOA模型。与OOA模型一样,OOD模型也有5层结构,又被划分为四个部分:问题论域、人机交互、数据管理、任务管理。这些组成部分把实现技术隐藏起来,使之与系统的基本问题论域行为分离开。在OOA中,实际上只涉及到问题论域部分,其他3个部分是在OOD中加进来的。即,对于问题论域部分只是做进一步的细化,其它3个部分中将识别和定义新的类和对象。OMT(Object Modeling Technique对象建模技术)以面向对象思想为基础,通过构造一组相关模型(对象模型、动态模型和功能模型)来获得关于问题的全面认识(即问题的领域模型)。对象模型(object model)代表了系统的静态的、结构方面的特性。动态模型(dynamic model)代表了系统对象之间的时间的、行为的、控制方面的特性。功能模型(functional model)主要描述值与值之间的函数关系。其中,对象模型是3个模型中最关键的模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,以及它们之间的关系。在OMT中,类与类之间的关系叫做关联。要想对一个系统了解得比较清楚,首先应考察它的静态结构,即在某一时刻它的对象和这些对象之间相互关系的结构。然后,应考察在任何时刻对对象及其关系的改变。系统的这些涉及时序和改变的状况,用动态模型来描述。动态模型着重于系统的控制逻辑。它包括两个图,一是状态图,一是事件追踪图。状态图是一个状态和事件的网络,侧重于描述每类对象的动态行为。事件追踪图侧重于说明发生于系统执行过程中的一个特定场景,是完成系统某个功能的一个事件序列。概括地讲,状态图叙述一个对象的个体行为,而事件追踪图则给出多个对象所表现出来的集体行为。功能模型着重于系统内部数据的传送和处理。功能模型定义“做什么”,动态模型定义“何时做”,对象模型定义“对谁做”。功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成。这三个模型从不同角度对系统进行描述,分别抓住了系统的一个重要方面,组合起来构成了对系统的完整描述。OMT认为一个典型的软件过程是三个方面的合作:它的DS(对象模型)、它按时间顺序的操作(动态模型)和它所改变的值(功能模型)。每个模型都和其它模型的实体相关。对象模型指出事件要发生在什么方面,动态模型指出什么时候发生,功能模型则指出要发生什么。对象模型、动态模型和功能模型都包含了同样的概念:数据、序列和操作,但它们描述了系统的不同方面,同时也互相引用。OTM法已发展成支持整个的软件生命周期,由以下四个阶段组成:分析、系统设计和对象设计和实现。Booch方法用到六种图形:类图、对象图、模块图、进程图、交互作用图、状态迁移图。类图和对象图,着重于类和对象的定义。其中,类图描绘类和类之间的关系。对象图表示具体的对象和在对象间传递的消息。模块图和进程图,针对着软件系统的结构。类和对象被分配给具体的程序构件,模块图就是用来描绘这些程序构件的。由于许多面向对象系统包括可能在一组分布式处理器上执行的多个程序,进程图就使得设计者能在一个大系统中描绘过程如何被分配给特定的处理器。状态迁移图和交互作用图,这两个文件主要用于动态地模拟事件的发生和它对系统状态的作用。状态迁移图用来说明每一类的状态空间,触发状态迁移的事件(从一个对象到另一个对象的单个消息叫作一个事件),以及在状态迁移时所执行的操作。交互作用图用于追踪系统执行过程中的一个可能的场景,也就是几个对象在共同完成某一系统功能中所表现出来的交互关系。Booch强调在OO设计中反复的处理和开发人员的创造性是最重要的。Booch认为软件开发是一个螺旋上升的过程。在这个螺旋上升的每个周期中,有以下几个步骤:发现类和对象;确定它们的含义;找出它们之间的相互关系;说明每一个界面及其实现类与对象。例题应用Coad和Yourdon方法构造和评审OOA概念模型时,应按如下的五个层次进行:第一个层次是识别(A)。它们是对应用中的概念的抽象,可以从用户要求书或其它规格说明中找到。第二个层次是识别(B)。它们是(A)所保存的信息,同时要给出各个(A)之间的实例连接。这些实例连接包括有1对1、1对多、多对多、多对1等联系。第三个层次是识别(C)。它们是(A)可提供的操作,同时要根据需要的功能给出各个操作之间的消息连接。第四个层次是建立(D)。有两种(D):整体与部分;泛化与特化。前者表明一种聚合关系,后者表明一种继承关系。第五个层次是识别(E)。它相当于高层的模块或子系统。供选答案:A:实体规格说明类与对象过程抽象功能抽象B:属性数据项服务操作事务C:属性数据项服务数据抽象实体联系D:框架属性结构通信连接E:层次事件状态继承主题答案:A.B.C.D.E.15 / 15
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!