1 / 11
文档名称:

软件系统分析与设计复习资料参考答案.pdf

格式:pdf   大小:1,246KB   页数:11页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件系统分析与设计复习资料参考答案.pdf

上传人:青山代下 2024/5/14 文件大小:1.22 MB

下载得到文件列表

软件系统分析与设计复习资料参考答案.pdf

相关文档

文档介绍

文档介绍:该【软件系统分析与设计复习资料参考答案 】是由【青山代下】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【软件系统分析与设计复习资料参考答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:...(√)2.(×)有“泳道”概念的是活动图。3.(×)题目中描述的是CORBA。4.(×)水平坐标表示一组对象,垂直坐标表示时间顺序。5.(√)6.(×)UML是建模语言,不是方法论。7.(√)8.(√)9.(×)两者没有明显分界,需要反复迭代的进行。10.(×)OOCASE通过外部接口可以方便的调用其它工具软件。11.(×)定义不同。12.(√)13.(√)14.(×)完成使命的对象可以被销毁。15.(×)由图和文字描述组成。16.(√)17.(×)描述的是白盒复用。:..18.(√)19.(F)它不能直接调用EJB构件,而是通过使用代理来调用。20.(F)不能有嵌套的动作或递归的动作表达式。21.(T)22.(F)需求模型也是可复用的软件制品。23.(F)构件图主要用于建立系统的静态实现模型。24.(F)OOCASE通过外部接口可以方便的调用其它工具软件。25.(F)“对象+消息”的程序设计模式。26.(F)通过频繁使用设计样式来设计更大更复杂的系统。27.(T)28.(T)29.(T)30.(F)协作图强调对象之间的关系,而时序图强调一组对象之间错作调用的时间顺序。31.√32.×还包括用户定义的动作。33.√34.×两者可以同时开发,也可分别进行。35.×JSD是面向数据结构方法。:同步消息是通过调用完成同步操作的嵌套控制流。同步消息的接收者必须是被动对象,即他是一个需要通过消息的驱动才能执行动作的对象。:顺序状态是最经常使用的状态,但对于一个复杂系统而言,只用顺序状态来描述一个对象的状态迁移显得力不从心,我们可以将顺序状态和嵌套状态描述结合起来一起使用,可以使状态图看起来更加清晰,结构性更好。:系统的逻辑体系结构就是软件体系结构。逻辑体系结构把系统的各种功能分配到系统的不同组织部分,并详细地描述各个组织部分之间是如何协调工作来实现这些功能的。:复制已有系统中的大块圆程序代码,为设计总体框架,更换其内部细节。:在UML中可以把关联定义成类,称为关联类,关联的每个链接都是这个关联类的实例。:UML不只提供了可视化的图形表示法,也提供了对图形的文字说明的语法和语义描述,即它的图形表示法的每一部分背后都有一个规格说明。:包含关联是一种依赖关系。在包含关联中,一个基本用例的功能包含另一个用例的功能。:进程是一个动作流,能够与其他进程并发执行。:从已有的系统中将整块源程序代码简单复制到新系统中。:动态并发是指一个动作或活动可以并发重复执行,其并发执行次数由运行时的并发表达式确定。:继承是指子类(派生类、特化类)可以拥有其父类(基类、泛化类、超类)的全部属性与操作。:封装是一种信息隐蔽技术,目的是使对象的生产者和使用者分离,使对象的定义:..和实现分开。:在系统建模中,UML对模型元素规定了两种基本类型划分方法:类型——实例法和接口——实现法。:用例的扩展关联和继承关联相似,通过向基本用例添加动作来扩展该用例。:对向容器只存储和管理一组有限的对象,而不构造对象。对象容器也是众多设计样式中使用最为广泛的一种。:一个动作(或活动)状态迁移可以分劈成两个或多个导致并行动作(或活动)的迁移。:消息是面向对象系统中实现对象之间的通信和请求任务的操作。:构件是系统遵从一组接口比提供实现的一个物理的、可替换的单元。:多态性是一种方法,使在多个类中可以定义同一个操作或属性名,并在每一类中有不同的实现。:共享聚集的部分对象可以是任意整体对象的一部分,表示事物的整体/部分关系较弱的一种。:必须由其他对象发来的消息进行触发,才执行动作的对象。:状态迁移表示当一个特定的事件发生或某些条件满足时,一个源状态下的对象将完成一些特定的动作,称为迁移触发,使对象从源状态迁移到一个新的目标状态。:用于活动图中,代表对象对活动的责任。:对向容器只存储和管理一组有限的对象,而不构造对象。对象容器也是众多设计样式中使用最为广泛的一种。:对象集合管理器构造一组优先对象并对其进行存储和管理。它用一个管理器类来管理一组对象的集合,是众多设计样式中使用最广泛的一种。:异步消息是表达异步请求一个操作的非嵌套的控制流。:在一个状态图符的活动区还画有一个或多个状态图称之为嵌套状态。:源代码构件也称编译时构件,是实现一个或多个类的源代码文件、,二进制代码构件和可执行程序构件都是由源代码构件经编译后产生的。:源状态和目标状态为同一状态的迁移。:继承关联表示两个用例之间有继承关系,一个用例称为父用例,与之有继承关系的用例称之为子用例。:对象类可以与自身有关联。即一个对象实力与另一个同类产生的对象实例有连接。:EJB是为开发和使用给予事物和分布式对象应用的服务器端构件而定义的完整的企业级应用技术规约。:约束扩展了模型元素的语义,它允许增加新的规则或修改现有的规则,约束规定摸个条件或命题必须保持为真,否则该模型表示的系统无效。简答题1、语法格式:可见性操作名([参数表]):返回列表[{特征描述}]?可见性?操作名?参数表:..?返回列表?特征描述2、协作图描述对象间的联系(链接)和传递的消息,用于描述一个操作的实现,是按对象组织对控制流建模,可以帮助开发者进行过程设计。3、首先确定交互及设计的对象:最重要的对象在最左边,交互密切的对象尽可能相邻(1分)。绘制消息:按时间顺序从上到下在对象的生命线之间传递;消息箭头上标注消息的内容、约束和构造型;发送接收消息的对象生命线必须在激活期;交互中对象的创建和销毁必须绘出构造型和标记;区别同步消息和异步消息的图标。4、以用例驱动软件开发全过程,以系统体系结构为中心,以质量控制和风险管理为目标,采用反复渐增式的螺旋上升式的开发过程。5、一副用例图包含的模型元素有系统、行为者、用例以及它们之间的不同关系,如继承、依赖、关联等。6、(1)用例的目的(功能)(2)该用例在什么情况下被哪个行为者启动执行(3)用例与行为者之间交互哪些信息来通知对方作出决定(4)交互的主信息流及因此被使用或修改的实体(5)用例中可供选择的异常信息流(6)用例结束标志7、首先确定交互及涉及的对象;(协作图中对象排列的原则:最重要的对象在图中央,与其有直接交互的对象放置在临近)然后选择初始对象;表明对象之间的链接,标明消息的序号;标注消息标签的内容、约束或构造型;区别同步消息和异步消息的图标表示符;协作图从初始对象开始,到中止对象结束。8、泳道代表对象对活动的责任。一张活动图可划分为若干个泳道,把这些泳道指定给对象,这些对象必须履行该泳道包括的活动。泳道是把指定对象和活动相联系的办法之一,它明确表明哪些对象进行了哪些活动。9、UML开发过程实际是一种二维结构软件开发过程。按时间顺序划分为开始、详细规划、系统构造和移交四个阶段以及各阶段中一系列的循环重复。按软件项目开发过程包括:业务建模、需求分析、设计、实现和测试。10、UML利用视图从不同角度来观察和描述一个软件系统的体系结构。每个视图都是整个系统描述的一个投影,说明了系统的一个侧面,若干个不同的视图可以完整的描述所建造的系统。11、在系统设计中,那些频繁出现在更大更复杂的系统设计中的模块,被称为“样式”。样式的特点是简单、灵巧、通用、可验证、可复用。12、交互图描述系统中对象的交互行为。每一个交互都有发送者和接收者,它们可以是整个:..系统、一个子系统、一个用例、一个对象类或一个操作。交互图可用来描述一个用例所涉及的若干对象的行为。13、自迁移:源状态和目标状态为同一状态的迁移。内部迁移:在状态内部进行,不引起状态改变。自动迁移:当一个状态完成后,自动触发迁移。复合迁移:由条件判定、并发分劈和并发接合将一些简单迁移组合而成。14、利用面向对象的概念和方法为软件需求建立模型、进行系统设计,采用面向对象程序设计语言完成系统实现,并对建成的系统进行面向对象的系统维护。15、系统的边界是指一个系统的所有系统元素与系统以外的事物的分界线。典型的系统边界:整个组织;一个组织的某个部门;计算机系统的软、硬件边界。、节点与构件之间的联系包括通信关联、依赖关联等。利用节点可以对单机式、嵌入式、客户/服务器式和分布式网络系统的拓扑结构中的处理器和设备建模。,采用包的形式组织构件,:两个用例之间有继承关系,子用例的实例继承了父用例的功能,而且还有自己特有的功能扩展关联:通过向基本用例添加动作来扩展该用例包含关联:一个基本用例的功能包含另一个用例的功能使用关联:(子系统)建模,可以清晰、简洁的描述一个复杂的系统,形成一个描述系统的结构层次,将复杂问题简单化,这是一种解决复杂问题的有效方法。,它注重消息的时间顺序。即对象间消息发送和接收的顺序,是按时间顺序对控制流建模,可以有效的帮助人们观察系统的顺序行为。:描述系统的功能需求;找出用例和行为者。逻辑视图:描述如何实现系统内部的功能。构件视图:描述系统代码构件组织何实现模块,及它们之间的联系。进程视图:描述系统的开发性,并处理这些线程的通信和同步。部署视图:描述系统的物理设备部署。如计算机、设备以及他们相互间的联系。,以某种方式参与了系统内用例的执:..行。“与系统交互”指的是行为者向系统发送消息,或者接收消息或与系统交换消息。简单的说,行为者执行用例。:一个实例的不同动作状态之间的联系,说明状态之间的控制流。动作流由实箭线表示。对象流:表示动作状态或活动状态与对象之间的关联。对象流用虚箭线表示。,是分析和设计面向对象系统的强大的可视化工具。环境中这些CASE工具支持面向对象软件开发全过程,如OOA、OOD、模型集成、自动生成程序代码、系统测试、项目管理等等,组成完整的软件开发集成环境。,它注重消息的时间顺序。即对象间消息发送和接收的顺序,是按时间顺序对控制流建模,可以有效的帮助人们观察系统的顺序行为。、可替换的单元。构件与类相同点有:二者都有名称,都可以实现一组接口,都可以参与依赖、继承、关联等关系和交互,都可以被嵌套和有实例。不同点:抽象方式不同;抽象级别不同;访问方式不同;、适合服务器构件体系结构的、完整的企业级应用开发平台和技术规约。体系结构包括:具有本机和远程接口的客户机模型、提供对操作系统的访问服务和管理EJB容器的服务器模型、对EJB构件进行管理的容器模型等,并与CORBA兼容。分析设计题1、从用例图可以看出,教学管理系统内有两个用例:“选修课管理”用例和“学生成绩管理”用例。系统边界外有5个行为者与系统内的用例有关联:其中3个人行为者和2个系统行为者,即学生、教师、教学管理员、学校教务管理系统和财务管理系统。?学生:查询选修课程信息并登记注册;查询各门课程成绩信息,双向;?教师:查询选修课程信息和学生成绩信息,双向;?教学管理员:管理选修课程信息及学生考试成绩,双向;?学校教务系统:只接收各学院学生成绩信息,不反馈信息,单向;?财务系统:接收各学院学生选课信息作为收费依据并反馈交费信息,双向。2、在该协作图中各个对象之间发送的都是同步消息。协作从一个乘客要求乘电梯时开始,电梯按钮的协作图工作过程如下:(1)“:乘客”:一个电梯“:乘客”压入按钮,向“:按钮”对象发送消息,希望得到电梯。(2)“:按钮”对象:接收到“:乘客”发送的消息后,向“:电梯控制”对象发送序号为1的消息,调用“:电梯控制”对象的操作“:得到电梯(楼层)”,即要求电梯来到乘客所在的楼层。(3)“:电梯控制”对象:接收到消息后,为完成该操作,向不同对象发出一系列嵌套消息:1)首先向“:队列”对象发送序号为1的具有广播性的嵌套消息::*[所有队列]=长度(),即对存储在队列中的所有工作队列的长度进行循环检查,找出其中最短的,即离乘客所在楼层最近且同方向的工作;2)再发送序号为2的嵌套消息::建立(工作);建立一个工作命令对象,在:..该对象框的对象名后面标明{new},说明该对象被创建,并将该带参数的消息“{Parameter}工作”命令置于最短的队列中;同时,“命令”对象向“电梯”对象发送一个局部消息:进行下一步工作;3)最后向“:队列”对象发送序号为3的嵌套消息::激发(工作)。(4)“:队列”:“激发(工作)”消息后,“电梯”对象同时运转,并从队列中选出下一个工作;将电梯开到乘客所在楼层。3、正确的起始、结束状态正确的状态图符正确的嵌套状态正确的状态迁移条件4、在按销售合同生产和销售产品的企业中,有两个过程是同时并发执行的:一个过程是检查仓库是否有合同要求的产品,另一个过程是检查客户是否已付款。只有两个检查都成功,才能发货,缺一不可。在第一个过程中,首先检查合同,如果仓库中有合同清单所要求的货物名单和相应的数量,产品已经备齐,等待发货;如果仓库中没有合同清单所要求的货物名单或相应的数量,则等待一段时间,组织安排生产,生产完毕产品入库,等待发货。另一个过程是检查付款单,如果客户按合同约定汇来货款,说明该合同已付款,可以发货。如果超过合同期限没有汇款,应向客户发催款通知,不能发货。5、这是带条件的分支并发执行的时序图。当一台计算机接收到请求打印文件的消息后,立即向“打印机服务器”对象发送“打印文件”请求。“打印机服务器”对象接收到消息后,同时发出两条带警戒条件的消息:一条发送给“:打印机1”对象,警戒条件为:“如果「打印机1空闲],则打印文件”;另一条发送给“:打印机2”对象,其警戒条件为:“如果:..[打印机1忙],则到打印机2打印(文件)”。当两台打印机都处于空闲状态,而计算机只有两个文件需要打印时,这两条消息可以并发执行。6、正确的行为者定义和符号正确的用例定义和符号正确的系统边界正确的用例与行为者关系7、“选修课管理子系统”的系统范围和系统边界:系统范围就是与选修课管理有关的内容和工作,系统内有5个用例;系统边界外是4个行为者,其中“财务系统”是系统行为者。“选修课管理”用例图中包括的用例有:?选修课管理:由行为者“教学管理员”启动该用例;?选修课查询:由行为者“教师”和“学生”启动该用例;?选修课注册:由行为者“学生”启动该用例;?教师简历查询:由行为者“学生”启动该用例;?选修课信息汇总:由行为者“教学管理员”启动该用例,与行为者“财务系统”交换信息。8、从该时序图的描述中可以清晰地看到,当一台计算机接收到请求打印文件的消息后,立即向“打印机服务器”对象发送“打印文件”请求。“打印机服务器”对象接收到消息后,同时发出两条带警戒条件的消息:一条发送给“:打印机”对象,警戒条件为:“如果[打印机空闲],则打印文件”;另一条发送给“:队列”对象,其警戒条件为:“如果[打印机忙],则存储文件”,即将该文件存储到指定存储器中排队等候,当打印机有空闲时,再按文件排队的先后顺序依次打印。因为这两条消息的警戒条件是互斥的,因此,在同一时刻只能执行满足条件的一条消息,而另一条消息则不会执行。9、:..。一个“建立()”迁移触发使系统进入安装软件状态。在软件安装状态中嵌套有两个并发的子状态图:一个是正在运行的操作系统,另一个是运行安装软件的程序。只有在操作系统正在运行的情况下,才能启动安装软件的程序,因此它们是并发执行。当软件安装完毕时,操作系统和安装软件的程序都要重新启动,:..操作系统运行子状态图的功能很清楚,这里重点讨论安装程序运行子状态图的状态迁移过程。在安装程序运行子状态图中有一个内有字母H的圆圈,表明该子状态图处于历史状态指示器的作用之下,当有迁移触发历史指示器时,应恢复到离开该状态图迁移时的前一个状态。在图所示安装程序运行子状态图中,首先进入“启动安装程序”夕状态,再自动进入“安装”软件状态。在“安装”软件状态中,操作人员按照安装程序的提示进行软件安装。如果在安装过程中出现“磁盘错误”或“超出内存”错误时,安装程序暂时停止安装进程,在屏幕上提示出错信息并要求操作者进行选择。出现“磁盘错误”时,操作者可以选择“再试一次”或“终止安装”迁移;出现“超出内存”错误时,操作者可以选择“继续安装”或“终止安装”迁移。如果选择“终止安装”迁移,则安装程序停止运行,退出安装程序,回到操作系统。如果选择“再试一次”或“继续安装”迁移时,该迁移触发历史指示器。此时,并不是回到安装程序运行子状态图中的起始状态,而是返回到安装程序运行子状态图中发生迁移时的前一个状态(历史状态),即“安装”软件状态,继续进行软件安装。。在协作图中,合同管理员向“:销售合同管理窗口”对象发送消息,调用其操作“启动系统(密码)”,检验密码正确后,销售合同管理系统开始工作。合同管理员在窗口下选择“处理付款单”功能,“:销售合同管理窗口”对象向“:付款单”对象发送序号为1的循环处理消息“1:*所有付款单]:处理()”,检查是否有财务系统传送来的付款单,如果有付款单,依次循环对付款单逐一处理,直到所有付款单处理完毕。在循环处理过程中所有对象发出的消息都是嵌套消息,即“:付款单”对象及后面所有对象发出的消息都是“消息1”的嵌套消息,通过各条消息的序号排列,可以看出它们具有明显的层次隶属关系:l:*[所有付款单]:处理():核对合同():*[所有销售货物清单]:核对清单():有存货︰=核查():[小于预警量]:检查():[小于预警量]:打印():[有存货]:打印(),“进销存管理系统”包是“企业综合管理系统”中的一个子系统,这个子系统下属还有4个内嵌套的子包(子系统):“原材料购进管理”子包、“原材料存储管理”子包、“产成品管理”子包和“销售管理”子包。从图中还可以看出,这4个内嵌套的子包之间有两个依赖关系:“原材料存储管理”子包依赖于“原材料购进管理”子包;“销售管理”子包依赖于“产成品管理”子包。另外,UML允许包名既可以标识在包名框中(长式形式),也可以标在内容框中(短式形式)。14.:..首先对财务系统传送来的付款单与销售合同进行核对检查,排除未付款的合同。对已付款的合同,将合同定单与库存清单逐项进行检查核对。检查核对有两种结果:有货或缺货。如果仓库有合同所需货物,制作并发放出库单,同时更新库存、发送货物并在相关合同上标注合同履约标志;如果仓库没有合同所需货物,则制作并发放缺货单,同时制作并向生产调度部门发放生产单。通过以上图例可以看出,活动图和状态图非常类似。它有与状态图相同的开始点和结束点,活动图中的状态称为动作状态,由上下两条平行线段和两侧圆弧构成的图框表示。框内标示动作状态名和描述动作的语句,动作状态之间的迁移用箭头表示,迁移上可以附加条件、发送子句和动作表达式。活动图是状态图的变形,它根据对象状态的变化捕获动作(所完成的工作和活动)和它们的结果,表示各个动作及其之间的关系。与状态图不同的是,活动图中动作状态之间的迁移不是靠事件触发,当动作状态中的活动完成时迁移就被触发。在活动图中,事件只能附加到开始点到第一个动作之间的迁移。在活动图中,还可画条件判定符号(菱形符号)。条件判定符号可以有两个或两个以上携带条件的输出迁移,当其中的某个条件为真时,该迁移被触发。此外,活动图中还使用了“泳道”的概念。15.