您好,欢迎访问三七文档
一.什么是UML?是一种可视化的建模语言,能让设计者用标准的、易于理解的方式表达出系统的实现过程、实现用户与设计者之间的交流。二.结构建模元素包括哪些?反映事物和描述性实体,包括类、接口、协作、用例、主动类、构件和节点等元素。三.行为建模元素包括哪些?反映事物之间的交互过程和状态变化,包括交互图和状态图。四.组织建模元素包括哪些?包、模型、子系统、框架等。五.关系元素包括哪些?关联、泛化、依赖、实现、聚集、组成、约束UML图共9种图1.用例图(UseCaseDiagram)2.类图(ClassDiagram)3.对象图(ObjectDiagram)4.顺序图(SequenceDiagram)5.协作图(CollaborationDiagram)6.状态图(StatusDiagram)7.活动图(ActivatingDiagram)8.组件图(ComponentDiagram)9.部署图(DeploymentDiagram)一.UML中静态模型包括哪些图?①类图:系统中各种类之间的静态结构;②对象图:类图的一个实例;③组件图:描述代码组件之间的依赖关系;④部署图:运行时处理节点和组件的部署。二.UML中动态模型包括哪些图?①用例图:系统的执行者与用例之间联系;②顺序图:对象之间(时间上)协作关系;③协作图:对象之间(消息收发)协作关系;④状态图、活动图:对类描述的补充。1.关掉计算机时,对所有的类和对象会有影响吗?a)对“对象”有影响:丢失内存中的所有对象及包含的信息;b)对“类”没有影响:类已经编程并保存在磁盘上了;c)结论:类是持久单元,对象是变化的运行单元。2.对象之间如何协同工作?通过相互发送消息来协同工作。3.OO程序是如何进行初始化的?a)从main()方法开始执行,在程序启动时获得控制;b)自动创建一个类的对象,从其实例开始整个程序的执行。总结:OOP建模步骤•需求分析、系统分析、系统设计、系统实现、系统测试。•课堂练习1.从软件工程的角度,软件开发可分为:需求分析、系统分析、设计、实现、测试5个阶段。2.用UML进行建模时会涉及9种图,Rose2003只支持其中的8种,还有一种图只能用别的图来代替。这个不能在Rose中直接表示的图是(C)。A.顺序图B.用例图C.对象图D.构件图3.应用题:Rose分别用哪些图描述系统的静态和动态方面?静态:用例图、类图、构件图、部署图;动态:状态图、协作图、顺序图、活动图。4.默认情况下,Rose模型文件的扩展名为(A、B)。A..mdlB..ptlC..catD..sub5.关于浏览窗口的描述,正确的是(C)。A.可视化地显示模型中所有元素的层次结构B.具有托放功能,通过模型元素的托放操作可以方便地改变一个模型的特征C.在浏览器中的模型元素发生变化时,可以自动更新模型中的相关元素D.只有在浏览窗口中才能把模型元素从模型中永久删除6.Rose是什么的缩写?RationalObject-orientedSoftwareEngineering7.总结:1)脚本不但包含正常使用的各种动作系列(主事件流),还应对非正常使用时软件系统的动作系列(子事件流)的描述。2)脚本还包括用例激活前的前置条件,说明如何启动用例,以及执行结束后的后置条件,说明在什么情况下用例才被认为是完成的。另外,还应表明分支事件和异常情况。8.总结:1)关联关系表示一种通信路径,提供了用例和参与者之间的通信途径。2)关系方向显示的不是信息的流动方向,而是谁启动信息。一、填空题1.在软件开发的生命周期中,用例图主要在系统需求分析阶段和系统设计阶段使用。2.一个用例图都应包含三个内容:参与者、用例和关系。一、填空题3.在UML中,用例的定义为:对一组动作序列的描述,系统通过执行这一组动作序列为参与者产生一个可观察的结果。4.用例之间的包含关系,可以用虚线表示,沿线上再加上一个用双尖括号括起来的:include。二、选择题1.以下关于泛化关系的描述,错误的是(D)。A.泛化表示一般模型元素和更具体模型元素之间的继承关系;B.用例之间存在泛化关系;C.参与者之间存在泛化关系;D.用例和参与者之间存在泛化关系。2.关于参与者,错误的说法是(C)。A.参与者是与所建系统交互的人或物;B.参与者可以是实际的人,也可以是其他系统或时间;C.参与者是系统的一部分,是用例图的重要组成部分;D.在参与者之间可以存在泛化关系。3.以下关于关联的描述,正确的是(D):A.关联可以在用例之间使用,用来表示用例之间的信息流动;B.关联用直角直线表示,也可以在直线上加单箭头或双箭头;C.关联关系上的箭头,用于表示信息的输入和输出方向;D.关联关系表示一种通信路径,它存在于参与者与用例之间,关系方向显示的不是通信的方向,而是谁启动信息。4.在Rose模型中,(A)关系不属于用例之间的关系。A.关联;B.包含关系;C.扩展关系;D.泛化关系。1.交互图分为两种:顺序图和协作图。其中,顺序图强调消息发送的时间顺序。2.在顺序图中,一个对象的生命周期结束时,在其生命线上打上一个X。3.交互图中,消息一般对应着接收对象所属类或超类中定义的某一操作。4.生命线是从对象引出的向下方的垂直虚线,它代表了对象的生存时间。5.从严格的意义上讲,下列4个选项中不属于顺序图的内容是(B)。A.对象B.参与者B.消息D.控制焦点•作业:1.顺序图的3种类型的消息分别是什么?它们之间的区别是什么?调用消息:必须有一个与之配对的返回消息,但有时可不用画出;用一个实心箭头表示。异步消息:发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不必等待接收者返回消息或控制;用一个两线条的箭头表示。返回消息:表示从过程调用返回。如果是从过程调用返回,则返回消息是隐含的,可不必画出。对于非过程调用,如果有返回消息,则必须明确画出。返回消息用一个两线条的虚线箭头表示。2.建模顺序图的4个步骤是什么?1)确定工作流2)从左到右布置对象3)添加消息和条件以便创建每一个工作流3.调用消息和异步消息之间的区别是什么?调用消息是发送者把控制传递给消息的接受者,然后停止活动,等待消息的接受者放弃或返回控制,而且必须有一个与之配对的返回消息。异步消息是发送者通过消息把信号传递给消息的接受者,然后继续自己活动,不必等待接受者返回消息或控制。4.指出从自动取款机取钱时一些从属的工作流。•课堂测试:1.在顺序图中,如何销毁一个对象?答:在对象的生命线的终点处放置一个“X”符号,该点是对删除或取消消息的回应。2.顺序图和交互图的关系类似于下面哪一种类型的关系?(C)A.类和对象B.UML和JavaC.C++和高级程序设计语言3.判断对错题:在顺序图中表示消息时,必须要有消息顺序号。(√)总结:交互图分为两种:顺序图和协作图•顺序图着重描述对象按照时间顺序的消息交换•协作图则着重描述系统成分(对象)之间如何协同工作•对于一个用例来说,至少应该建立一个顺序图或协作图。•协作图展示了对象和对象之间的关联,还展示了对象之间的消息传递。关联线旁的消息箭头代表一个消息,带有编号的标签显示出消息的内容,消息前的序号代表消息发送的时间顺序。1.对象是类的实例,对象之间的链接是类之间的关联的实例。2.在协作图中,消息用连接两个对象之间的链接表示,箭头指向接受消息的对象。3.下面(A、C)的建模元素不能在协作图中表出来。A.状态B.消息序号C.活动D.多对象4.协作图是由对象、链接和消息等组成。5.在协作图中的链接是两个或多个对象之间的独立连接,是关联的实例。6.协作图通过各个对象之间的组织交互关系,以及对象之间连接,表达对象之间的消息传递。总结:建模人员在以下情形下使用顺序图:1.描述用例的实现。此时,顺序图上的直线箭头对应于应用域中的事件,而不是程序设计语言中的消息。2.描述各对象之间的交互。此时,消息可以是对象之间所有类型的通信。顺序图建模1.确定工作流2.从左到右布置对象3.添加消息和条件以便创建每一个工作流协作图建模1.确定属于协作图的对象2.确定对象之间的链接,以及沿着链接的消息•第一章练习题•名词解释:•1、软件工程•软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它。•2、软件过程•软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。•3、软件危机•软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。•4、软件生命周期•软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。•填空:•1、软件过程中的一个任务集合包括一组软件工程任务、(里程碑)和应该交付的产品(软件配置成分)。通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如微软过程、(增量模型)、(瀑布模型)等。•2、软件工程方法学的三个要素:(方法)、(工具)、(过程)•3、软件工程包含(技术)、(管理)两方面内容,是(技术)与(管理)紧密结合所形成的学科。•简述题:•1、软件工程包括哪7条基本原理?1)用分阶段的生命周期计划严格管理2)坚持进行阶段评估3)实行严格的产品控制4)采用现代程序设计技术5)结果应该能清楚的审查6)开发小组的人员应该少而精7)承认不断改进软件工程实践的必要性•2、简要说明软件生命周期包括哪三个时期?各个时期包括哪些阶段活动?概括说明传统瀑布模型软件开发有哪些特点?a)软件定义:问题定义,可行性研究,需求分析b)软件开发:总体设计、详细设计、编码和单元测试、综合测试c)运行维护:软件维护1)阶段间具有顺序性和依赖性2)推迟实现的观点3)质量保证的观点•3、软件生命周期的8个阶段分别是什么?•软件定义:问题定义,可行性研究,需求分析•软件开发:总体设计、详细设计、编码和单元测试、综合测试•运行维护:软件维护•4、P32.第一、三、四题,P33.第六、七题•第二章练习题•填空题•1.估算软件成本的方法主要有(代码行技术)和(任务分解技术)等等。•2.可行性研究阶段的任务中一般来说应该从(技术)可行性、(经济)可行性和(操作)可行性等3个方面研究每种实现方案的可行性。•3.系统流程图中的标示符号代表___输入输出___含义。•名词解释•1.数据流图•数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经手的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。•2.数据字典•数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。•3.系统流程图•系统流程图是概括的描绘物理系统的传统工具。表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。它不是程序流程图。•简答题•1.简述可行性研究的过程步骤有哪些?1)复查系统的规模和目标2)研究目前正在使用的系统3)调出新系统的高层物理模型4)进一步定义问题5)调出和评价供选择的解法6)推荐行动方针7)草拟开发计划8)书写文档提交审查•2.在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。技术、经济、操作、社会4个方面•第三、四章练习题填空题:1、需求分析过程应该建立3种模型,它们分别是(数据模型)、(功能模型)和(行为模型)。2、按照形式化的程度,可以把软件工程使用的方法划分成(非形式化)、(半形式化)和(形式化)等3类。3、验证软件需求应该从以下4个方面进行验证,即(一致性)、(完整性)、(现实性)和(有效性)。4、需求分析的任务包括系统综合要求、数据要求、导出逻辑模型和修正系统开发计划等。其中常见的接口需求有:用户接口需求、(硬件接口需求)、(软件接口需求)和通信接口需求等等。5、需求分析的任务包括(系统
本文标题:UML期中总结
链接地址:https://www.777doc.com/doc-1802759 .html