软件工程各种图的画法测验考试必备
- 格式:doc
- 大小:759.50 KB
- 文档页数:8
软件⼯程导论复习如何画类图⾯向对象设计对于⼀个程序员来说,在⼯作的开始阶段通常都是别⼈把东西设计好,你来做。
伴随着个⼈的成长,这个过程将慢慢变成⾃⼰设计⼀部分功能来实现,⾃⼰实现。
如果要⾃⼰设计,⽆论是给⾃⼰看,还是给别⼈看,势必要输出⼀些⽂档,清晰地整理出思路。
关于⽂档,有些⼈会⽤⽂字,但是再多的⽂字在绝⼤多数⼈看来,都不会有⼀张图来得直⽩,本⽂就讲⼀讲使⽤UML图来进⾏⾯向对象的设计。
⾯向对象设计主要就是使⽤UML的类图,类图⽤于描述系统中所包含的类以及它们之间的相互关系,帮助⼈们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
UML类图分为上下两篇,上篇是类、继承和实现三种关系,下⾯开始。
类的UML画法Java是⼀门⾯向对象语⾔,那最基础的就类了。
类(Class)封装了数据和⾏为,是⾯向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
在系统中,每个类都具有⼀定的职责,职责指的是类要完成什么样⼦的功能,要承担什么样⼦的义务。
⼀个类可以有多种职责,但是设计得好的类⼀般只有⼀种职责。
假如我现在定义了这么⼀个类:public class Person{private String name = "Jack";public String getName(){return name;}public void setName(String name){ = name;}protected void playBasketball(){pass();}private void pass(){}}那么此类对应的UML为:看到该图分为三层:最顶层的为类名,中间层的为属性,最底层的为⽅法。
属性的表⽰⽅式为:【可见性】【属性名称】:【类型】={缺省值,可选}⽅法的表⽰⽅式为:【可见性】【⽅法名称】(【参数列表】):【类型】可见性都是⼀样的,"-"表⽰private、"+"表⽰public、"#"表⽰protected。
软件⼯程考试试题(含答案)⼀、填空题(每空1分,共25分)1.软件⽣存周期⼀般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可⾏性研究,应从、技术可⾏性、运⾏可⾏性、和开放⽅案可⾏性等⽅⾯研究。
4.系统流程图是描绘的传统⼯具。
它的基本思想是⽤图形符号以描绘系统⾥⾯的每个部件。
5.数据流图的基本四种成分:数据输⼊的源点和数据输出汇点、、和。
6.结构化分析⽅法是⾯向________________进⾏需求分析的⽅法。
结构化分析⽅法使⽤________________与________________来描述。
7.是⾃动地共享类、⼦类和对象中的⽅法和数据的机制。
8.软件详细设计⼯具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.⼤型软件测试包括、、确认测试和四个步骤。
1、可⾏性研究需求分析运⾏与维护2、系统软件⽀撑软件应⽤软件3、经济可⾏性法律可⾏性4、物理系统⿊盒⼦形式5、加⼯数据流数据存储⽂件6、数据流数据流图DFD 数据字典DD7、继承性8、图⽰⼯具、设计语⾔表格⼯具9、审查测试10、单元测试集成测试系统测试⼆、单项选择题(每⼩题2分,共20分)1 2 3 4 5C C C A C6 7 8 9 10D D A C B1.软件设计中划分模块的⼀个准则是()。
A、低内聚低耦合B、低内聚⾼耦合C、⾼内聚低耦合D、⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向()的软件设计⽅法。
UML的9种图上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图。
本文我们重点讲解UML每种图的细节问题:1、用例图(use case diagrams)【概念】描述用户需求,从用户的角度描述系统的功能【描述方式】椭圆表示某个用例;人形符号表示角色【目的】帮组开发团队以一种可视化的方式理解系统的功能需求【用例图】2、静态图(Static diagram)(1)类图(class diagrams)【概念】显示系统的静态结构,表示不同的实体是如何相关联的【描述方式】三个矩形【目的】表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体【类图】(2)对象图(object diagrams)【概念】类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系【对象图】3、交互图(Interaction Diagram)用来描述对象之间的交互关系(1)序列图(顺序图)(Sequence Diagram)【概念】描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开【目的】显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。
【序列图】(2)协作图(Collaboration diagrams)【概念】描述对象之间的合作关系,侧重对象之间的消息传递4、行为图:描述系统的动态模型和对象之间的交互关系(1).状态图(Statechart diagrams)【概念】描述对象的所有状态以及事件发生而引起的状态之间的转移【描述方式】起始点:实心圆1状态之间的转换:使用开箭头的线段2状态:圆角矩形3判断点:空心圆4一个或多个终止点:内部包含实心圆的圆【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程(2).活动图(Activity diagrams)【概念】描述满足用例要求所要进行的活动以及活动时间的约束关系【描述方式】2起始点:实心圆5活动:圆角矩形1终止点:内部包含实心圆的圆1泳道:实际执行活动的对象【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程【活动图】活动图和状态图区别:5、实现图Implementation diagram (1)构件图(Component diagrams)【概念】描述代码构件的物理结构以及各构件之间的依赖关系【描述方式】构件【目的】提供系统的物理视图,根据系统的代码构件显示系统代码的整个物理结构【构架图】(2)部署图(Deployment diagrams)【概念】系统中硬件的物理体系结构【描述方式】1三维立方体表示部件2节点名称位于立方体上部【目的】显示系统的硬件和软件的物理结构【部署图】九种UML图详解到此为止,下篇文章专门给大家讲解UML中类间的关系,感谢您的访问。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。
Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
1.完成患者监护系统功能级的数据流图、实体联系图、软件结构图。
2.网上书店系统,其外部用户主要有游客、会员和管理员。
其中,游客进行注册后,可以成为系统的会员,会员享有订购图书及订单和书籍等信息查询的功能,管理员可对系统的各种信息进行管理和维护。
根据上述描述,请画出网上书店系统的:①基本系统模型(第0层);②功能级的数据流图(第1层);③底层的订购图书数据流图。
1.把如下统计空格程序的Jackson图改画为等价的程序流程图和盒图。
2、用Jackson图描述下述的一列火车的构成:一列火车最多有两个火车头。
只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车的最后面。
火车头既可以是内燃机车也可以是电气机车。
车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。
硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。
此外,在硬卧车厢和软卧车厢之间还有一节餐车。
1.饮用水自动销售系统的工作过程大致如下:如果投入1元硬币,则自动放水5升;如果投入5角硬币,放水升;如果选择1元,投入2个伍角的硬币,也可放水5升。
如果饮用水来不及生成,系统会把硬币退出来并亮红灯。
收到的硬币由收银员定时回收。
试画出该系统的用例图。
2.某寄宿学校需要开发一个信息管理系统,通过该管理系统对学生的日常事务进行管理:校长助理:管理学生的档案,进行新增、删除、查询、修改等操作;对学生班级进行管理(新增、删除等),进行新学生的编班工作和调班工作,查询班级名册等情况。
财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8 月收取空调费20,在11-2 月收取取暖费20,每个学期的开学初(3 月、9 月)收取书本费(不定)。
住宿费分三种情况:双职工的子女为60,单职工的子女80 元,父母均不在本单位工作为100 元。
每个班的老师在每天要申报本班学生的出勤表,由校长助理完成各班的考勤录入,考勤情况决定上月的伙食退费,以每天10 元计算。
UML中各种图的画法(全)一、UML中基本的图范畴:在 UML 2 中有二种基本的图范畴:结构图和行为图。
每个 UML 图都属于这二个图范畴。
结构图的目的是显示建模系统的静态结构。
它们包括类,组件和(或)对象图。
另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。
行为图的实例是活动图,用例图和序列图。
二、UML中的类图:1.类图的表示:类的 UML 表示是一个长方形,垂直地分为三个区,如图 1 所示。
顶部区域显示类的名字。
中间的区域列出类的属性。
底部的区域列出类的操作。
在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。
描述:顶部区域显示类的名字。
中间的区域列出类的属性。
底部的区域列出类的操作。
当在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。
·类名:如果是抽象类,则采用斜体·类属性列表:name : attribute type 如 flightNumber : Integer,这是最常见的表达形式n ame : attribute type = default value 如balance : Dollars = 0,这是带有默认值的表达形式·类方法列表:name(parameter list) : type of value returned注意:在业务类图中,属性类型通常与单位相符,这对于图的可能读者是有意义的(例如,分钟,美元,等等)。
然而,用于生成代码的类图,要求类的属性类型必须限制在由程序语言提供的类型之中,或包含于在系统中实现的、模型的类型之中。
2.继承的表示:为了在一个类图上建模继承,从子类(要继承行为的类)拉出一条闭合的,单键头(或三角形)的实线指向超类。