对软件开发中uml建模的理解和图形整理(二)

今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深对uml建模的理解并在以后的项目开发中加以应用。


核心UML图分类:  ---> “独孤九剑”

静态建模:[用例图]、[类图]、对象图、组件图、部署图。

动态建模:[时序图](sequence diagrams)、状态图、活动图、协作图。


核心UML图的定义及使用

一、 用例图:主要用来展示系统的核心功能及其交互的用户或系统。

举例说明:相信上一篇已经写的很清楚了,这里简单贴一张图。

===================== Num1.用例图======================== 
1. 用例:系统为参与者(人/系统)提供的功能,一般取名为带有动作性的词语。--椭圆
2. 用例之间的关系 --> 虚线 :
a) 包含关系:大功能包含《include》子功能。
b) 扩展关系:将基用例中一段【相对独立并且可选】的动作,用扩展《extends》用例加以封装。 --虚线反向
c) 泛化关系:一般和特殊(抽象类/接口+实现类/子类)的关系。实线三角形箭头反向。


二、类图:主要用来表现类的特征(属性和操作等),描述了多个类/接口的特征以及对象之间的协作和交互。

类图主要做两件事:1 对类中的数据及其操作进行封装;2 标明类与类之间的关系。

下面主要针对这两点来谈谈,第一点: 对类中的数据及其操作进行封装,还是先看图吧:


因为这里使用的是Rose画图,所以所有的画图操作都是在Rose上执行的。需要说明一下:这里画的是一张简单的普通类图,类图的属性和方法是可选的,而这里的正向工程和反向功能有点类似于Java web里面的Hibernate的一个重要作用:将表映射成类,也可以将类映射成表,当然这里的是一张类图而不是数据库里面的表。

第二点:标明类与类之间的关系。类与类之间的关系主要有一下几种:1. 泛化关系(继承关系)、2. 实现关系(接口与实现类的关系)、3. 关联关系(这个比较复杂,这要包含单向关联、双向关联、自关联、聚合关联、组合关联)、4. 依赖关系(项目开发中基本很少画)。下面以图的方式进行讲解:

1,泛化(继承)关系:注意是子类指向父类,且箭头为三角形,连线为实线。

2,实现关系(接口与实现类的关系):这个在Java web中经常用到,比如在Spring中,经常会调用DAO层接口的对象(通过IOC配置xml的方式来setXx产生接口对象)方法来处理Service层的业务(如:登录、注册等)。注意是实现类指向接口,且箭头为三角形,连线为虚线。


3,关联关系:

a)单向关联:就拿追MM来说,很多人都稀罕她,但她都不稀罕。如图:


b)双向关联:就拿夫妻来说,一个男的只能有一个老婆,而一个女的只能有一个老公。如图:


c)自关联:典型的,就拿Menu菜单来说,子菜单和父菜单封装的数据都一样,只是Menu类中要有自己的引用。如图:


d)聚合关联:聚合表示的是整体和部分的关系,比如说:有辆汽车报废了,但其轮胎有两个还是好的,它可以供别的汽车使用。如图(画图时切记:整体指向部分):


e)组合关联:组合也是整体和部分的关系,与聚合最大的区别在于:整体可以控制部分的生命周期。比如:一家IT公司倒闭了,那么其部门也将不复存在。如图:


注意:整体指向部分,与聚合关联不同的是:组合的菱形箭头是实心的,而聚合的菱形箭头的空心的。

4. 依赖关系:存在于方法中的临时变量、方法签名中的参数和对静态方法的调用。比如咱经常使用的电脑,咱们需要它的帮助来完成一些事情,这就是依赖。如图:


注意:箭头指向被依赖者,且箭头为虚线。


有点晚了,明天继续,晚安睡觉



  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
项目名称 软件概要设计说明书 版本:V1.0 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 引言 1 1.1 编写目的 1 1.1.1 作用 1 1.1.2 预期读者 1 1.2 编写背景 1 1.2.1 系统名称及版本号 1 1.2.2 任务提出者 1 1.2.3 任务承接者及实施者 1 1.2.4 使用者 1 1.2.5 与其它系统的关系 1 1.3 文档结构 1 1.4 电子文档编写工具 1 1.5 定义说明与符号规定 2 1.6 参考资料 2 2 系统概述 2 2.1 系统目标 2 2.2 设计原则 3 2.3 运行环境 3 2.3.1 硬件平台 3 2.3.2 软件平台 3 2.3.3 网络体系结构 3 2.4 应用软件整体结构概述 3 2.5 关键技术 4 3 数据库设计 4 4 代码设计 4 5 功能概述 4 5.1 功能模块命名原则 4 5.2 功能层次图 4 5.3 功能简介 4 5.4 外部接口 4 6 用户界面设计 4 6.1 基本原则 4 6.2 设计概述 4 7 出错处理 5 7.1 出错信息设计 5 7.2 异常情况处理 5 引言 编写目的 作用 【说明】《软件概要设计说明书》是在《软件需求规格说明书》的基础上,通过我方与用户方反复沟通形成的。它必须充分反映《软件需求规格说明书》的用户需求,如有改动必须征得用户的认可。它将作为项目验收时重要的的标准和依据。 从另一方面讲,它又是开发人员在下一阶段进行系统详细设计的纲领性文件,也是考核系统总体质量的重要技术文档。 预期读者 【说明】本文档的阅读对象是软件开发人员、业务规范设计人员、软件测试人员、系统安装人员及用户代表。 编写背景 系统名称及版本号 【说明】形如“北京市地方税务局管理信息系统V3.0”。其,版本号的格式为“XX.XX”,X为阿拉伯数字,左“0”可省略。 任务提出者 【说明】指《工作说明书》规定的我方领导机构或项目负责人。 任务承接者及实施者 【说明】指承担概要设计的负责人及工作人员名单。 使用者 【说明】适应对象和范围。主要指预期读者,也供有关领导审阅。 与其它系统的关系 【说明】在用户现有的及预期的整个应用系统,给本系统准确定位。用示意图及相应的文字予以说明。 文档结构 【说明】章节划分原则、内容的取舍、重点的确定等。 电子文档编写工具 【说明】工具名、版本号、操作系统平台。使用多种工具时,应分别说明。形如: Microsoft Word 97 for Windows 95 Power-Designor 6.0 for Windows 95 PhotoShop 4.0 for Windows 95 Visio或Power Point 定义说明与符号规定 【说明】包括对专用术语及缩略语的解释、所用到的图(E-R图/功能层次图)图符的表示与解释、屏幕界面图标与按钮的表示与含义等。如在E-R图,表示两个实体之间的关系时,我们定义了以下图符(部分举例): 终结符 基数(自左至右) 1 多 终结符 基数 存在性 说明(自左至右) 1 强制 必须存在且只能存在1个 多 强制 必须存在1个或多个 1 任选 可能存在1个,或没有 多 任选 可能存在1个或多个,或没有 参考资料 【说明】格式:作者,[版本号,]资料来源,日期 [,起止页号]。其,《质量保证计划》与《需求规格说明书》是必选的参考资料。 系统概述 系统目标 【说明】开发意图、应用目标(总目标、分期目标)、作用范围、预期效益等。 设计原则 【说明】设计原则应包括: 质量管理应贯穿于整个设计之全过程。 对质量保证的承诺应落实到全体人员。 实际执行的过程,必须符合项目自身的特点,体现个性差异,切实做到有的放矢。 运行环境 硬件平台 【说明】指出本系统对硬件设备的需求、我们选型的原则和依据、推荐的型号与配置、性能综述、技术优势、特殊约定等。 软件平台 【说明】使用操作系统的名称、生产厂家、版本号等。 使用数据库的名称、生产厂家、版本号等。如使用了多种数据库,则要说明如何 实现互连。 其它支撑软件:指出开发与运行时需要的工具软件的情况,如4GL等。 对于选用的各类软件,均应着重说清其技术特点、与国内外同类产品的比较,明 确阐述我方选择的理由。 网络体系结构 【说明】写明网络设计原则、技术要求、产品选型、拓扑结构、基本部件与配件、传输介质、接口情况、通信协议、约束条件、结构化综合布线方案等。 画出网络结构图。图应标出各类服务器与客户机、网管机、路由器、网关等的数量与分布;应反映出局域网、广域网及其互连的情况;如使用国内的公用数据网或Internet,也须具体标出。 用文字说明各个服务器/客户机的作用、配置与具体位置。例如:Oracle数据库服务 器1台,位于局信息心,用于支撑征管业务信息处理、领导决策辅助支持、各征管业务科室的信息采集、查询及统计工作。它安装在IBM RS6000小型机上,操作系统是AIX 3.2。 说明拟采取的网络保护技术,如防火墙等。 应用软件整体结构概述 【说明】说明本系统的各层模块、公用模块的划分原则。 如果系统复杂而开发者又有比较多的技术积累,应说明其分层构造(如组件层、构件层与应用子系统层)。 对于大的系统,应画出体系结构图并予以说明。 关键技术 【说明】本系统采用了哪些关键技术,如算法、间件、构件等。 指出使用了那些主要工具。 解释作出上述选择的理由。 说明这些关键技术在整体结构的位置及内外接口。 数据库设计 【说明】单独成册,见《数据库设计说明书模板》 代码设计 【说明】 给出系统设计的代码的设计内容,代码设计包括系统代码(硬码)、系统代码(软码)、业务代码以及标准化代码等。对于硬码的引用需要在数据库设计的PDM注明,对于其他代码的引用需要在数据字典或数据库设计注明。 功能概述 功能模块命名原则 【说明】指出本系统的各层模块/公用模块的划分原则、命名原则、编号原则。并且需要指出在概要设计的功能模块编号与《软件需求规格说明书》的业务需求编号及性能需求编号之间的对应关系。 功能层次图 【说明】指明在输入信息转变为输出信息的过程,为了满足用户的业务需求,应用软件必须完成的基本动作。采用自然语言叙述+树状功能图描绘的方式。由此确定系统最终的菜单结构。 功能简介 【说明】用一览表或框图的形式扼要说明每个模块的编号、名称和基本功能。用矩阵形式标明《软件需求规格说明书》列出的各项功能需求与模块之间的对应关系。 外部接口 用户界面设计 基本原则 【说明】指出基本风格、屏幕总体布局和输入/输出的常规手段。 设计概述 【说明】本节的内容也可以归入附录“设计与编程规范、惯例及约定”,而不在这里 叙述。 一般地讲,界面设计应包括以下几项: □屏幕环境设置 □字型与字体 □颜色 □提示 □菜单(Menu) □按钮(Command Button) □图标 □列表框 □常用键 □Data Windows生成标准 □窗口定义 □日期类型 (特别要注意解决“千年虫”问题) □界面语言 □其它 出错处理 出错信息设计 【说明】扑捉出错信息、分析定位、提示信息。 异常情况处理 【说明】错误处理方案与帮助手段。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值