uml建模工具

UML

戏子无情 提交于 2020-02-03 03:34:08
1. 能够实现UML图的建模工具有哪些? IBM: Rational Rose(要破解,一般都是用它) StarUML MS: Visio(比较在行的是流程图) 我用的是processOn画的UML 2.UML图常见的包括哪些图? 类图:描述类的信息(包括属性和方法),以及类和类之间的关系信息 用例图:站在系统用户(系统角色)的角度分析系统存在哪些功能 时序图:描述程序的执行过程,方法的调用过程,方法的返回值等信息(程序是一步一步怎么执行的,怎么调用的)很重要! 非常正规的公司可能会在系统设计的时候把这些东西给画出来 3.类图中类和类之间的6种关系 1.泛化关系 is a:cat is a Animal 类和类,接口和接口之间的继承 2.实现关系 like a:cooker like a FoodMenu(厨师像一个菜单,不是长的像的像) 3.关联关系 has a:I have a computer 4.聚合关系(是一个特殊的关联关系): 整体和部分的关系,教室和学生,教室没了,学生可以存在,学生没了,教室也可以存在 5.组合关系(是一个特殊的聚合关系): 整体和部分的关系, 人和心脏,无论哪方没有了,另一方也不会存活! 6.依赖关系:是所有关系中最弱的一种,通常体现在类和局部变量之间的关系 一:泛化关系: class Animal{ } class Dog extends

面向对象软件工程知识点

本秂侑毒 提交于 2020-02-01 11:16:17
面向对象软件工程知识点 1.封装是指把对象的(A)结合在一起,组成一个独立的对象。 A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 2.状态图和活动图建立了UML面向对象开发过程中的对象动态(B)模型。 A.交互 B.状态 C.体系结构 D.软件复用 3.UML的(C)模型图由活动图、顺序图、状态图和合作图组成。 A.用例 B.静态 C.动态 D.系统 4.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A)。 A.活动图 B.状态图 C.配置图 D.构建图 5.设计模式就是对(D)的描述或解决方案,往往直接对应一段程序代码。 A.某个构件 B.成熟的设计 C.一个用例 D.特定问题 6.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有(C)。 A.正负号 B.动作 C.具体值 D.私有成员 7.顺序图的模型元素有(A)、消息、生存线、激活期等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。 A.对象 B.箭头 C.活动 D.状态 8.状态图可以表现(B)在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。 A.一组对象 B.一个对象 C.多个执行者 D.几个子系统 9.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是(B)。 A.继承

UML概述

我与影子孤独终老i 提交于 2020-01-29 08:42:13
UML概述 什么是UML? 1.UML(united modeling language): 统一建模语言,是用来设计软件蓝图的可视化建模语言,是一种可视化的面向对象建模语言 2.它支持面向对象系统的分析、设计、实现和交付等各个环节,可以用于系统的理解、设计、浏览维护和信息控制 3.UML描述了一个系统的静态结构和动态行为。UML 用图形方式表现典型的面向对象系统的整个结构 4.UML不是一个程序设计语言 UML不是一个形式化语言 UML工具 主流UML工具: rational rose、together、Microsoft visio Rational rose: 是一种工具,它可以在rose建模中提供建立、视图、修改和操作组件的能力 Rose: 支持unified、booch、OMT标记法 UML构成 (1)UML的基本构造块 • UML 中的事务: 构成模型图的一些基本图示符号,表示一些面向对象的基本概念 • UML中的关系: 表示基本图示符号之间的关系 • UML 中的图: 特定的视角对系统所做的抽象描述 PS:事物是对模型中最具代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。 (2)UML的规则 • 命名规则 • 范围 • 可见性 • 完整性 (3)UML的公共机制 • 规格说明 • 修饰 • 通用划分 • 扩展机制 下面逐个介绍上面所述的结构 事物的类型

UML 结构图之类图 总结

笑着哭i 提交于 2020-01-29 00:51:41
[注] 本文不是类图的基础教程, 只是类图的图形总结. 学习UML图形 推荐阅读<UML参考手册>第2版. http://www.umlchina.com/ 推荐微软的开发软件设计模型 http://msdn.microsoft.com/zh-cn/library/dd409436.aspx 类图展示了面向对象系统的构造模块。描绘模型(或部分模型)的静态视图,显示它包含的属性和行为,而不是详细描述操作的功能或完善方法。 类图最常用来表达多个 类和接口之间的关系 。 〇 概述 可使用的工具集(EA工具箱)有: 一 类图元素 1. 包 Package, 图形表示为一个文件夹, 包的版型(StereoType)有: 1) 普通包, 表示为一个文件夹, 如图Package1和Package4 2) 其它包, 表示为一个文件夹+书名号包含的具体版型或特殊符号, 如图Package2和Package3 2. 类 Class, 图形表示为一个实心矩形或圆形(椭圆)[+一系列附加符号], 类的版型(StereoType)有: 1) 普通类, 表示为一个实心矩形, 如图Class1 2) 边界类, 表示为一个实心圆形+实竖线, 如图Class2 3) 实体类, 表示为一个实心圆形+实横线, 如图Class3 4) 控制类, 表示为一个实心圆形+在圆周上的箭头, 如图Class4 5) 其它类,

耗尽脑汁的需求分析工作 - 新书《火球 UML大战需求分析》试读 第2章

家住魔仙堡 提交于 2020-01-11 10:08:09
摘要 :怎么又变了?当初就应该让客户书面签字 确认 !你可能会经常发这样的牢骚,可是就算客户书面确认,客户还是会“赖账”的! 软件 项目的其中一项不变真理:人是会死的,需求是会变的!本章将会和你一起来体验软件 需求分析 工作的风风雨雨,找出需求分析工作的根本之道,了解 UML 如何帮助我们提升需求分析的水平。 (本书已经发售) 作者: 张传波 网名:Fireball(火球) www.umlonline.org 2.1 需求分析面面观 客户需要的是一把梯子,系统分析员了解到的是一张凳子,开发人员做出来的是一张桌子,测试人员以为是一张椅子……很多角色参与项目工作,每种角色会从自身角色出发来理解需求,以致各种角色对需求的理解会不太一样。下表对各种角色的特点进行了分析: 表 2.1 各种角色的特点 另外要说明的是: 客户一方的总倾向是:自己少花钱,让软件公司多做事情。 而软件公司一方的总倾向是:多拿客户的钱,尽量少做事情。 影响各人对需求理解的主要因素有两方面:一方面是角色的思考倾向,上表反应了这点;另外一方面是人的需求分析能力,能力越强的人越能把握需求,本书重点讲解的内容就是如何 活用UML 来提升需求分析能力。 而更“离谱”的是:每个人嘴巴上说的需求和心目中的需求总是有差异的,所谓的“词不达意”,受表达能力所限,不是每个人都能完整准确地表达自己的想法;有时候客户今天想要这个

让人耗尽脑汁的需求分析工作(转--Fireball)

时光怂恿深爱的人放手 提交于 2020-01-11 05:02:36
摘要 :怎么又变了?当初就应该让客户书面签字 确认 !你可能会经常发这样的牢骚,可是就算客户书面确认,客户还是会“赖账”的! 软件 项目的其中一项不变真理:人是会死的,需求是会变的!本章将会和你一起来体验软件 需求分析 工作的风风雨雨,找出需求分析工作的根本之道,了解 UML 如何帮助我们提升需求分析的水平。 作者: 张传波 www.umlonline.org www.umlonline.org/school/ 本文来自新书《活用UML——需求分析高手》的第二章。 第一章已经在博客园发布,文章名字叫:UML一篇文章就学通 文章链接: http://www.cnblogs.com/umlonline/archive/2011/07/12/2104626.html 以下是正文: 2.1 需求分析面面观 客户需要的是一把梯子,系统分析员了解到的是一张凳子,开发人员做出来的是一张桌子,测试人员以为是一张椅子……很多角色参与项目工作,每种角色会从自身角色出发来理解需求,以致各种角色对需求的理解会不太一样。下表对各种角色的特点进行了分析: 表 2.1 各种角色的特点 另外要说明的是: 客户一方的总倾向是:自己少花钱,让软件公司多做事情。 而软件公司一方的总倾向是:多拿客户的钱,尽量少做事情。 影响各人对需求理解的主要因素有两方面:一方面是角色的思考倾向,上表反应了这点

软件工程试题(作业)

…衆ロ難τιáo~ 提交于 2020-01-07 08:12:05
如何评测软件工程知识技能水平? 我的CSDN: https://blog.csdn.net/P71720/article/details/103742773 (一),选择题(5*2) (1) 需求分析中开发人员要从用户那里了解( A )。     A.软件做什么  B.用户使用界面  C.输入的信息  D.软件的规模 (2) 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C )。 A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段 答案解析:在结构化的软件开发中,一般情况下,可能需要占用的人数最多的阶段是在软件编程的阶段,但从工作量上来说,在软件的需求分析、定义及软件的测试和维护阶段需要的工作量更多,用软件开发计划中的40-20-40原则,即可说明这一点,在软件需求分析和定义阶段,虽然工作量比软件编程多,但因为软件的需求分析和定义对开发人员的素质要求比较高,所以占用的人员并不需要太多;同时由于软件维护的周期比较长,所以其耗的工作量比软件编程多,但一般来说它占用的人员并不比软件编程阶段占用的人员多,所以答案为C。 (3) 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( D ) 。 A、数据耦合    B、公共耦合 C、标记耦合    D、内容耦合 (4) UML是软件开发中的一个重要工具

如何评测软件工程知识技能水平

♀尐吖头ヾ 提交于 2020-01-06 20:14:24
根据本课程的学习以及自身的知识和经验,您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下:   1.具有优秀的学习能力,IT技术更新很快,软件工程师应具备的技能里很重要的一点就是学习能力。只有具备了学习能力,才能很快适应市场与业务的需要,有时候工作的需求不是你在学校就已经学过的,只能靠着之前积累的经验与快速学习熟悉新的知识,升华自己的能力,为以后成为架构师后者其他职位打下基础。   2.具有扎实的计算机专业知识,吃透高等数学、离散数学、算法等课程。(1)基础编程语言,编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言通常来说,软件工程师往往需要掌握多门编程语言。(2)算法。算法是软件工程师的重点知识技能,算法的掌握情况往往能够决定软件工程师的成长高度。(3)数据库。信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。目前常用的数据库软件有Oracle数据库和SQL Server等。   3.具有对这个行业的热爱,才有能坚持与继续学习的动力。   4.具有良好的交流与沟通能力,现在的软件开发永远不是一个人的游戏,需要与团队成员协调沟通,分配好工作的任务与进度,才能够开发出高质量的软件。 一、选择题 1、软件工程的出现主要是由于( ) A.程序设计方法学的影响  

如何评测软件工程知识技能水平

坚强是说给别人听的谎言 提交于 2020-01-06 01:45:37
根据本课程的学习以及自身的知识和经验,您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下:   1.具有优秀的学习能力,IT技术更新很快,软件工程师应具备的技能里很重要的一点就是学习能力。只有具备了学习能力,才能很快适应市场与业务的需要,有时候工作的需求不是你在学校就已经学过的,只能靠着之前积累的经验与快速学习熟悉新的知识,升华自己的能力,为以后成为架构师后者其他职位打下基础。   2.具有扎实的计算机专业知识,吃透高等数学、离散数学、算法等课程。(1)基础编程语言,编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言通常来说,软件工程师往往需要掌握多门编程语言。(2)算法。算法是软件工程师的重点知识技能,算法的掌握情况往往能够决定软件工程师的成长高度。(3)数据库。信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。目前常用的数据库软件有Oracle数据库和SQL Server等。   3.具有对这个行业的热爱,才有能坚持与继续学习的动力。   4.具有良好的交流与沟通能力,现在的软件开发永远不是一个人的游戏,需要与团队成员协调沟通,分配好工作的任务与进度,才能够开发出高质量的软件。 一、选择题 1、软件工程的出现主要是由于( ) A.程序设计方法学的影响  

软件工程试题(作业)

对着背影说爱祢 提交于 2020-01-05 13:55:12
如何评测软件工程知识技能水平? 我的CSDN: https://blog.csdn.net/P71720/article/details/103742773 (一),选择题(5*2) (1) 需求分析中开发人员要从用户那里了解( A )。     A.软件做什么  B.用户使用界面  C.输入的信息  D.软件的规模 (2) 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C )。 A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段 答案解析:在结构化的软件开发中,一般情况下,可能需要占用的人数最多的阶段是在软件编程的阶段,但从工作量上来说,在软件的需求分析、定义及软件的测试和维护阶段需要的工作量更多,用软件开发计划中的40-20-40原则,即可说明这一点,在软件需求分析和定义阶段,虽然工作量比软件编程多,但因为软件的需求分析和定义对开发人员的素质要求比较高,所以占用的人员并不需要太多;同时由于软件维护的周期比较长,所以其耗的工作量比软件编程多,但一般来说它占用的人员并不比软件编程阶段占用的人员多,所以答案为C。 (3) 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( D ) 。 A、数据耦合    B、公共耦合 C、标记耦合    D、内容耦合 (4) UML是软件开发中的一个重要工具