为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 软件工程(研)复习提纲答案

软件工程(研)复习提纲答案

2020-06-26 7页 doc 972KB 0阅读

用户头像 个人认证

dykcs64

从事建筑工程对接,工程图纸设计施工管理方面的经验

举报
软件工程(研)复习提纲答案.复习提纲第一章软件工程概述1、分析60年代末出现的软件危机的原因。如何理解“越早潜伏的错误越晚发现,越晚发现的错误,修正的费用越高”。答:软件危机是指在软件开发过程中遇到的一系列严重问题,如:开发周期延长,成本增加,可靠性降低等。开发大型软件与编制小程序主要有以下区别:⑴人员:小程序从确定要求、设计、编制、使用,直到维护通常由一个人完成;大型软件则由用户、项目负责人、分析员、程序员、资料员、操作员等组成一支开发队伍来协同完成。⑵文档:小程序很少有书面文档;大型软件则是集体劳动的“产物&rd...
软件工程(研)复习提纲答案
.复习提纲第一章软件工程概述1、分析60年代末出现的软件危机的原因。如何理解“越早潜伏的错误越晚发现,越晚发现的错误,修正的费用越高”。答:软件危机是指在软件开发过程中遇到的一系列严重问题,如:开发周期延长,成本增加,可靠性降低等。开发大型软件与编制小程序主要有以下区别:⑴人员:小程序从确定要求、设计、编制、使用,直到维护通常由一个人完成;大型软件则由用户、项目负责人、分析员、程序员、资料员、操作员等组成一支开发队伍来协同完成。⑵文档:小程序很少有面文档;大型软件则是集体劳动的“产物”,必须有规化的文档,便于开发和维护。⑶产品。小程序工作量小,如果需作大的修改,可舍弃旧程序而重新编写;但大型软件的开发耗费了大量的人力与物力,一般不会轻易抛弃,而总是在旧软件的基础上一再改动,以延长它的使用期,因此“版本”在不断升级。大型软件的开发提出了许多新的问题,而开发方法却还停留在编制小程序的方法上,经验和技巧已不能满足开发大型软件的需要,导致软件开发过程混乱;使用的开发方法和技术不当,没有适当的文档,不易交流,维护困难,开发成本高,软件质量低等,这些问题是造成软件危机的主要原因。2、软件复用的概念及两类软件复用技术:合成技术和生成技术。答:软件复用是指在构造新的软件系统过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使用的技术。(1)合成技术利用部件(component,组件,构件)合成软件系统的技术。部件是可复用的一小段软件(可为二进制形式),可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,封装了功能细节和数据结构,有详细的接口。(2)生成技术利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看成是模式的实例。可复用的模式有两种:代码模式和规则模式。①代码模式可复用的代码模式存在于应用生成器中,通过特定的参数替换,生成抽象软件模块的具体实体。各种程序生成器。②规则模式利用程序变换系统,把用超高级规格说明语言编写的程序转化成某种可执行语言的程序。IDL——CORBA的接口定义语言。第二章需求分析工程3、简述需求分析工程的重要性。答:(1)在软件生命周期中,一个错误发现越晚,修复错误的费用越高。(2)许多错误是潜伏的,且在错误产生后很长一段时间才被检测出。(3)需求分析中会产生大量错误。(4)需求分析中的错误多为疏忽、不一致和二义性。(5)需求错误是可以被检测出来的。4、掌握和分析Petri网的有关问题;会用可达树分析死锁问题。分析饿死现象并改进。答:Petri网的局限性1、令牌缺乏表示信息容的能力令牌只是表示动作控制的流向,无法表达信息的容。2、缺乏描述选择“使能”变迁的策略3、Petri网不能描述有定时要求的计算问题,而很多系统的定时问题则很重要。用可达树分析死锁问题:若出现叶结点,则系统中有死锁。分析饿死现象并改进:图中存在激发序列<t1,t3,t5>无限循环,而<t2,t4,t6>被“饿死”,原因是Petri网不能描述选择策略。修改Petri网,强制它使用一种选择策略,避免了t3在t4激发之前激发两次。如下图:5、分析、理解电梯运动的Petri网。第二章49SHAPE\*MERGEFORMATSHAPE\*MERGEFORMAT第三章软件开发的结构化方法6、传统的瀑布模型将软件开发分为几个步骤,每一步得到什么结果。SHAPE\*MERGEFORMAT问题定义的结果:《问题目标和规模书》可行性研究的结果:《可行性》。需求分析的结果:《需求规格说明书》7、简述结构化方法需求分析的综合要求。答:需求分析阶段的任务主要是确定目标系统必须具备哪些功能。结构化需求分析的综合要求:⑴功能要求:指系统必须完成的所有功能。⑵性能要求:如联机系统的响应时间,系统的存储容量、健壮性和安全性等方面的要求。⑶运行要求:指系统运行所需要的软硬件环境。⑷未来要求:指系统将来可能的扩充要求。⑸数据要求:指系统所要处理的数据以及它们之间的联系。需求分析的结果:《需求规格说明书》8、能绘制DFD,并能将DFD映射为软件结构图。PPT第三章18例子:某工厂采购部门每天要开出定货清单,清单中包括订购部件的部件号、部件名、规格、说明、订购量、当前价格、主要供应商和辅助供应商。部件入库或出库称为业务,通过仓库中的终端把业务报告给定货系统,处理库存业务。当某种部件的库存量少于标准线以下时,仓库管理员就应该及时通知定货系统开出定货清单,交由采购员采购。根据画数据流图的步骤画出定货系统的数据流图。(不需要答)(1)从系统的简述中提取数据流图的四个成分;1)源点和汇点。仓库管理员视为源点,采购员视为汇点2)处理。处理通常是系统简述中的动词短语,如产生定货清单,处理库存业务等。3)数据流。从系统的源点流出和流入汇点的数据流即是系统的输入数据流和输出数据流。4)数据存储。确定哪些数据应保存在数据存储中。库存业务一旦产生就立即被处理,所以不必保存。定货清单一天只产生一次,故需要保存产生定货清单的数据。有关库存零部件的信息包括定货标准线也应作为数据存储,统称为库存数据。(2)定货系统数据流图的基本成分源点/汇点处理数据流数据存储管理员产生定货清单定货清单定货数据采购员处理库存业务库存业务库存数据(3)画出系统的高层数据流图;图在PPT第三章28、29将DFD映射为软件结构图图在PPT第三章909、简述软件测试的三个步骤、黑盒和白盒测试方法。聚、耦合类型分析。(1)单元测试:又称模块测试测试对象是软件设计中最小的单元——模块,其目的是发现模块部存在的错误。单元测试发现编码阶段的错误。测试容:(a)模块间的接口;(b)模块的局部数据结构(c)模块的重要通路尤其是错误处理的通路和影响上述各方面的边界条件。(2)集成测试:又称组装测试或联合测试集成测试发现软件设计阶段的错误。在单元测试的基础上,需要将所有模块按设计要求组装成系统。在经过单元测试未发现错误的模块,组装之后仍可能出现各种问题。集成测试的基本方法:边组装边测试。有自顶向下或自底向上两种方法。(a)自顶向下测试从主控模块开始,沿着模块层次,边组装边测试已组装部分的功能,直到全部组装完毕,系统达到设计的功能和性能要求为止。为保证测试的进行,必须提供保证测试条件的桩模块。桩模块:用来模拟被测模块的下层模块的模块。再用实际的下层模块代替桩模块,并进行回归测试。回归测试是相对于原始测试而言的,它部分或全部地重复前面进行过的测试工作。(b)自底向上测试与自顶向下测试相反,它先组装最低层模块,向上逐步组装。每组装一个模块,便测试由此模块及其下层模块组成的子功能。直到全部装配完毕,达到系统设计的功能和性能要求为止。为保证测试的进行,必须提供保证测试条件的“驱动程序”。用实际的上层模块代替该驱动程序。(3)确认测试:又称有效性测试或验收测试确认测试检查系统的功能和性能是否达到系统分析说明书提出的设计指标,即是否满足用户要求,检查文档是否齐全等。确认测试发现软件分析阶段的错误。黑盒测试法是根据程序的功能和性能进行测试的方法。它把被测程序看成一个黑盒子,完全不考虑程序部的数据结构和逻辑通路。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能和性能是否满足预期需要,程序是否能适当地接收输入数据产生正确的输出数据,并保持外部信息的完整性。产生黑盒测试的测试用例的方法有如下几种:等价类划分法、边界值分析法、因果图法、错误推测法。白盒测试法是根据程序的逻辑结构进行测试的方法。它把程序看成是装在一个透明的白盒中,也就是完全了解程序部的结构和处理过程。这种方法按程序部的逻辑来测试程序,检验程序的每条通路是否都能按规定要求正确工作。产生白盒测试用例的方法有如下几种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。一般而言,测试时以黑盒测试法为主,白盒测试法为辅。模块间的耦合程度按从低到高分类如下:⑴无耦合。如果两模块之间没有任何联系,每一个都能独立地工作而不需要另一模块的存在,是彼此完全独立的,则这两个模块间属于无耦合的情况。⑵数据耦合。如果两个模块是通过参数表仅传递数据型信息,则这种耦合称为数据耦合。数据耦合是松散的耦合,模块间的独立性较强。软件结构中至少有这种耦合。⑶特征耦合。若两个模块通过参数表传递的是某一数据结构的子结构,而不是简单变量,这就是特征耦合。是数据耦合的一种变种。增加出错的机会,不易改动(数据结构变化时)。将该数据结构上的操作全部集中在一个模块中,就可消除这种耦合。⑷控制耦合。如果传递控制型信息,这就是控制耦合。对被控制的模块做任何修改,都会影响到控制模块,降低模块的独立性。⑸公共耦合。若一组模块使用了公共数据,则它们之间的耦合称为公共耦合。公共数据包括全程变量、共享的通信区、存的公共覆盖区等。公共数据的使用,必然降低软件的可读性、可修改性和可靠性。⑹容耦合。如果发生下列情况之一,两个模块间就是容耦合:•一个模块直接访问另一个模块的部数据;•一个模块通过不正常入口直接转入另一模块部;•一个模块有多个入口;•两模块有一部分代码重叠(只在汇编语言中出现);容耦合是耦合性最高的耦合,即是模块间最坏的联系方式,现在大多数高级程序设计语言中已经不会出现这种耦合。在进行设计时应该采取以下原则:以数据耦合为主,特征耦合为辅,少用控制耦合,限制公共耦合,杜绝容耦合。模块的聚性按从低到高分类如下:⑴偶然聚。如果模块中各组成成分间彼此没有实质联系,即使有联系也是很松散的,模块功能模糊,则称为偶然聚。例如有时写完一段程序后,发现一组语句在程序中多处出现,便将其组织在一个模块以节省存,就出现了偶然聚的模块。在模块设计时,如果发觉一个模块难以命名,就应考虑是否出现偶然聚。⑵逻辑聚。如果一个模块完成的是逻辑上相同或相似的一组功能,则称为逻辑聚。例如,设计一个模块打印各种报表,如固定资产报表、产品成本报表、利润报表等,打印何种报表靠传递控制参数调用。由于不同功能在一个模块中,通常在设计模块时会出现几种功能共用部分代码,从而使得修改、添加或去掉功能都很困难。⑶时间聚。若一个模块中包含的任务必须在同一时间执行,而这些任务的次序无关紧要,则叫时间聚。例如各种初始化工作由初始化模块完成,而各种结束工作被组合到结束模块中,这样它的执行将涉及到其它许多模块。⑷过程聚。如果一个模块的处理成分间是相关的,而且必须以特定顺序执行,则称为过程聚。例如把程序流程图中的循环、判断和计算分成三个模块,则这三个模块就是过程聚的模块。⑸通信聚。模块的所有成分都通过公共数据而发生关系的聚就是通讯聚。例如对同一文件进行输入、修改、输出操作。模块中各成分经模块的局部的公共数据进行通信。⑹顺序聚。若模块中每个处理成分对应一个功能,且这些处理必须按顺序执行,则称为顺序聚。例如一个处理成分的输出是下一个处理成分的输入的模块就是顺序聚。⑺功能聚。模块中各处理成分属于一个整体,都为了完成同一功能,很难分割,这就是功能聚。这种模块通常有明确表达模块功能的名称。第四章软件开发的面向对象方法10、与OO方法相比,传统方法存在哪些问题。OO方法有哪些优点。答:传统方法存在下列问题:(1)对现实世界的认识与编程之间存在理解上的鸿沟;功能与数据相分离造成。(2)修改困难;系统是围绕如何实现一定的行为进行,当需求变化时,数据常常发生变化,最终导致数据的结构变化,难于修改。(3)维护困难;为了得到“好的软件结构”,使作用域在控制域之中,导致系统总体结构混乱,难于维护。(4)自顶向下功能分解的分析方法限制了软件的可复用性。面向对象方法的优点(1)与人类习惯的思维方法一致核心是对象,它是现实世界实体的正确抽象。而传统方法忽略了数据和操作之间的联系。(2)稳定性好它基于构造问题领域的对象模型,以对象为中心构造软件系统,当功能发生需求变化时,不会引起软件结构的整体变化。而传统方法基于功能分析和分解,以算法为核心,功能变化通常会引起软件结构的整体变化。(3)可重用性好对象类固有的封装性和信息隐蔽以及很好的继承机制,使得面向对象方法具有很好的可复用性。传统方法只是库一级的复用。(4)可维护性好OO方法的模块机制、继承机制、多态性机制,使得设计的软件易于理解、修改、测试,更易于维护。而传统方法及其面向过程开发的软件是难以维护的。11、找出问题域有关对象的两种方法:LIA和3VM.简述LIA和3VM及其作用,并比较之。答:(1)基于语言的信息分析方法(LIA)主要思想:先对要建立的系统及其需求用自然语言描述,然后对这些描述进行语法分析。名词(对象,形容词(属性,动词(服务填进一OOA/OOD工作表格。最后对表中的项进行分析,从中确定问题域中的对象。(2)三视图模型法(3VM)观察一个事物的角度不同,将得到不同的视图。从多个角度观察得到的同一个事物的多个视图更能完整地、全面地反映该事物。LIA方法要求分析员从众多的侯选对象中识别出目标系统的对象,这依赖于分析员的抽象和分析能力,随意性大,可操作性不强。LIA方法提供了一个发现对象的出发点,一般将该方法用于对象模型建立的初始阶段。3VM法也依赖于分析人员的抽象和分析能力,但运用建立3VM的方法,确实提供了分析对象的入口点和细化的方法,具有相对较好的操作性。该方法一般用于对象模型的细化。12、分析电梯到达调度楼层的事件-响应对象交互图、实例连接图。电梯到达调度楼层的事件-响应对象交互图PPT第四章931.当电梯到达某一楼层时,就会产生一个电梯到达事件ArrivalEvent。其属性有:该到达事件的唯一标识:arrival_id生成到达事件的电梯:elevator_id生成该到达事件的楼层:arrival_floor2.电梯到达事件生成后,将会向与elevator_id相关联的到达面板发送一个单向的消息,该消息是:(arrival_floor)(电梯elevator_id所到达的楼层)与elevator_id相关联的到达面板根据收到的消息刷新到达面板的显示3.电梯到达事件将会向与floor_id相关联的floor发送一个单向的消息,该消息是:(到达事件的唯一标识,电梯唯一标识,到达的楼层号)(arrival_id,report_elevator_id,report_arrival_floor_id)4.楼层Floor收到上述消息后,由服务Floor.Process_Elevator_Arrival_处理。该服务将向电梯report_elevator_id发送一个双向的消息:(report_status_direction?,report_current_direction?)电梯report_elevator_id收到该消息后,会有相应的服务Elevator.Report_Status_Direction和levator.Report_Current_Direction服务向楼层Floor报告电梯当前的运行方向和状态方向。5.Floor发给与report_elevator_id所关联的电梯的目的面板一个双向消息:(report_arrival_floor,destination_pending_above?,destination_pending_beloow?)目的面板收到该消息后,即可知道楼层report_arrival_floor是否是调度楼层。6.Floor发给与arrival_floor所关联的召唤面板一个双向消息:(report_summons_pending_up?report_summons_pending_down?)该楼层的召唤面板收到该消息后,相应的服务即可报告该楼层的召唤请上、下或是没有请求。知道该楼层是否有召唤,以及电梯的状态方向和当前运行方向等信息,即可判定该楼层是否是调度楼层。7.如果是调度楼层(这里假设是该楼层的召唤导致的),则(1)Floor向与其相关联的召唤面板对象发消息,使其刷新面板;(2)向与report_elevator_id所关联的电梯发消息。电梯接受到消息后,更新其当前状态(current_status)、(current_direction)、(status_direction)等;(3)电梯向与其关联的电梯电机对象发送停止消息(Stop)。8.到达事件结束。实例连接图:实例连接分类有3种类型的实例连接:(1)一对一型:一个对象只依赖于另外一个对象。如一个飞行员驾驶一架飞机。(2)一对多型:一个对象同时依赖多个对象。如一个教师指导5个学生的毕业设计。(3)多对多型:相互依赖的对象数在一个以上。如全班30名学生学习6门课程。对下图分析13、在Coad和Yourdon的OOD中,从哪四个方面对OOA进行了扩充,简述其容。答:Coad和Yourdon提出从以下四个方面考虑:(1)问题域部分(ProblemDomainComponent,PDC)问题域部分是为了消除系统的存贮容量无限及对象间的通信速度无限快等假设的。(2)人-机接口部分(HumanInterfaceComponent,HIC)人-机接口部分是为了将系统和外界的通信任务由特定的对象承担,使得系统的功能和实现相分离。这样,如果系统与外界的接口发生改变时,只需要改变这部分对象即可。(3)任务管理部分(TaskManagementComponent,TMC)任务管理部分是为了将系统和具体的操作系统提供的任务调用由特定的对象来承担。如果操作系统的环境改变,只需要改变这部分对象即可。(4)数据库管理部分(DatabaseManagementComponent,DMC)数据库管理部分为了将系统和由特定数据库系统所管理的数据的访问有特定的对象来承担。如果系统所应用到的一些由数据库管理的数据,而数据库的类型或结构发生改变时,只需要改变这部分对象。14、分析电梯控制系统中召唤事件和图书管理系统中借阅事件的完整执行机制。当按钮按下时,将产生一个中断,即“所发出的信号”中应包含楼层的信息或编码,这个编码应存放到该中断对应的中断寄存器中。图书管理系统中借阅事件的完整执行机制。借阅一本书的过程,涉及了三个实体:“Reader”实体存储借阅者;“Book”实体存储书;“Reader-Book”存储某个借阅者借阅某本书的记录。对象“Borrow”来负责处理“借阅”事件。第五章统模语言UML与实例15、简述UML中的状态图和活动图以及它们之间的差异。答:(1)状态图:状态机对类的对象可能生命历史建模。状态机用来描述一个特定对象的所有可能状态及其引起状态转移的事件。状态描述了一个类对象生命期中的一个时间段,对对象生命期中的一段时间建模,该时间对象满足一定的条件。当事件发生时,它可能导致迁移的激发,使对象改变至新状态。当迁移激发时,附属于迁移的移动可能被执行。状态机显示为状态图(StateDiagram)。状态图可用于描述用户界面、设备控制和其它交互式子系统。状态机和OOA中的状态迁移图一致。(2)活动图:活动图显示动作及其结果。活动图着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列)。差别:活动图描述动作执行的工作和活动及对象状态改变的结果,不需指定任何事件。当状态中的动作被执行(不象状态图需指定任何事件)时,活动图中的状态(称为动作状态)直接转移到下一个阶段。活动图可以用作下述目的:(1)描述操作执行过程中所完成的工作(动作);(2)描述对象部的工作;(3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;(4)显示用例的实例是如何执行动作以及如何改变对象状态;(5)说明一次商务活动中的角色、工作流组织和对象是如何工作的。16、理解、分析和绘制UML的各种视图(戏院管理系统、汽车租赁系统、教学管理系统等)。戏院管理系统:PPT第五章:用例图(23)、类图(32)、顺序图(36)协作图(39)、状态图:(42)、活动图(46)教学管理系统:PPT第五章用例图(71、72)、类图(78、79)、顺序图(86、87)、协作图(88)、状态图:(89、90)、活动图(91)第六章面向对象开发中的设计模式17、简述设计模式的作用、设计模式的四个基本要素。答:作用:有经验的软件员总是将面向对象软件设计的经验记录成“设计模式”,以便在今后的软件开发中复用以往的成功设计。四个基本要素:模式名称、问题、解决和后果(1)模式名称:通常用来描述一个设计问题、它的解法和后果,由一到两个词描述。模式名称可以在更高的抽象层次上进行设计并交流设计思想。(2)问题:描述模式使用的时间、条件、解释问题及其背最。它可能描述诸如如何将一个算法表示成一个对象这样的特殊设计问题。(3)解决方案:描述设计的基本组成要素,如它们的关系、各自的任务以及相互之间的合作。它并非针对某个特殊问题。设计模式提供有关设计问题的一个抽象描述以及如何安排这些基本要素以解决问题。(4)后果:描述应用设计模式后的结果和利弊。对于软件设计来说,通常要考虑的是空间和时间的权衡,还有语言问题和实现问题。对于OO设计,可重用性很重要。此外,后果还包括对系统灵活性、可扩充性及可移植性的影响。18、理解ModelView合约。答:(1)形式合约是一种描述框架设计的方法,它强调组成框架的对象间的交互关系。(2)形式合约的特点:①符号少且能映射到OO编程语言中的概念,如参与者映射到对象。②考虑到了复杂行为由简单行为组成的事实,合约的修订和扩充操作使得合约灵活,易于应用。(3)形式合约的基本元素:·参与者:形式合约的第一个组成部分。对每个参与者要规定它应承担的责任。责任有:类型责任:与实例变量和方法有关的责任。因果责任:描述与类型责任相关的操作与条件·“->”:表示方法调用。如s->Update()表示对Subscribers中的方法Update()的调用。·“(v”:表示对实例变量v赋值。·“<ov:c:e>”:表示用操作符o将所有满足条件c的变量v所构成的表达式e连接起来。如<||s:s∈Subscriber:s->Update()>意味着s1->Update()||s2->Update()||...,即对Subscriber集合中的所有对象发送Update()消息。·“{}”:表示参与者必须满足的条件的说明。如AttachSubscriber(s:Subscriber)=>{s∈Subscriber}:表示一个条件,s是Subscriber集合的成员在以s为参数执行AttachSubscriber后必须为真。19、简述选择设计模式的方法。答:设计模式依据其目的可分为创建型、结构型、行为型三种。共23个模式下面是几个帮助选择设计模式的方法:·考虑设计模式是怎样解决设计问题的:对设计模式的讨论,能帮助找到合适的对象、决定对象的粒度、指定对象接口以及设计模式解决设计问题的几个其他方法。·浏览模式的意图部分:通读每个模式的意图,找出和问题相关的一个或多个模式。可以使用前表所显示的分类方法缩小搜查围。·研究模式怎样互相关联:前图以图形方式显示了设计模式间的关系。研究这些关系能获得合适的模式或模式组。·研究目的相似的模式:通过比较和对照,能够洞察具有相似目的的模式之间的共同点和不同点。·检查重新设计的原因:找出哪些模式可以帮助你避免这些会导致重新设计的因素。·考虑你的设计中哪些是可变的:在设计模式允许独立变化的方面,你可以改变它们而又不会导致重新设计。第七章软件体系结构20、什么是软件体系结构?简述其四个方面的特征,体系结构风格的四个要素。答:在系统设计的最初阶段,决策系统设计的总原则和确定整个系统的总体框架,能在软件系统的整个生命期中,保持系统体系结构可以很方便地进行维护和调整以适应发生的变化。一个非常重要的概念——软件系统的体系结构就代表了这种整体性问题。软件体系结构的四个特征:(1)是一个高层次上的抽象,并不涉及具体的系统结构(比如是B/S还是C/S),也不关心具体的实现。(2)必须支持系统要求的功能,设计时必须考虑系统的动态行为。(3)在设计软件体系结构的时候,必须考虑与现有系统的兼容性、安全性和可靠性。同时还要考虑系统以后的扩展性和伸缩性。所以有时候必须在多个不同方向的目标中进行决策。(4)定义软件部件及部件交互。这里的部件是一个更广泛的概念,一个对象、进程、库商业产品等都是部件。体系结构风格的四个要素:一个词汇表包括与设计元素有关的部件、连接器类型。如管道过滤器、客户、服务器、语法解释器、数据库等。一套配置规则或系统的拓扑限制用来明确这些元素的合法组成方式。如客户/服务器组织的多对一的关系。一套语义解释原则该原则使得设计元素的组成可以适当地约束于配置规则中。可以对基于该风格建立的系统所进行的分析如分析客户/服务器的时时处理过程和死锁检测的可调度性。另可产生代码。21、分析KWIC问题的数据抽象体系结构。PPT第七章5622、简述“瘦客户”和“胖客户”及其优缺点。胖客户端,主要像CS模式的项目,把数据库,业务逻辑,显示界面等都安装在客户端,这样客户端计算机就要承担很多责任,而相对而言,瘦客户端,就是把这些数据库操作,业务逻辑放到服务器,客户端只需通过运行显示页面,它通过服务器提供的接口完成业务操作,这样客户端负荷就相对小了很多,而且维护也简单很多如果你要实现的功能大部分在服务器上完成,客户机上很少,则是胖服务器/瘦客户机。当然,既然大部分功能都在服务器上完成,服务器的处理能力就必须强,相应的,客户机的处理能力就没有必要那么强。这也是现在的发展潮流,服务器来完成信息的存储和处理,客户机只是一个交互的工具。从网络的方面来说,如果服务器的功能较弱而工作站的功能较强,则称胖客户瘦服务,反之亦然。�EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT���P2P1P4P5P6P7P3t1t2t3t4t5t6�EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT���按下tmin=0.1tmin(C)=0.05tmax(C)=0.05�EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT���问题定义义可行性研究需求分析总体设计详细设计编码与单元测试综合测试软件维护图1-1瀑布模型�EMBED\*MERGEFORMAT����EMBED\*MERGEFORMAT���Word资料_1234567893.bin_1234567895.bin_1234567897.bin_1234567898.vsd_1234567899.vsd_1234567896.bin_1234567894.bin_1234567891.bin_1234567892.bin_1234567890.bin
/
本文档为【软件工程(研)复习提纲答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索