uml工具

面向对象的程序
1.需求分析
2.总体设计
3.详细设计阶段
4.实现阶段
一、需求分析阶段:
以用例图为主,到类分析图为止。类图是源码的来源。用例的主功能用序列图表示。用例的状态可以用状态图标识, 注意活动图要细化到与序列图相同程度。按照不同用户画出不同用例图。按照不同物理位置画出部署图;按照不同类型用户对程序进行分类,得到组件图。从序列图得到协作图,并且进行简单类分析,得到类分析图。
序列图的消息变成操作,消息中的信息变成属性。
1. 什么叫需求分析?为什么要需求分析?


    白话理解:需求分析,顾名思意,分析需求,谁的需求呢?用户的需求!为什么叫分析呢?不叫‘了解’‘得到’呢?这是因为其重要性,导致了要有一套保证其正 确性和准确性的方法和规范,所以叫需求分析。为什么做需求分析呢?说是为了保证软件能够最大限度地对用户处在的应用领域建模,解决实际问题,是程序最大程 度地反映用户要求。直原因是为设计做准备。


2. 需求分析需要做什么?怎么来做?


    我们知道,需求分析1.为了全面准确的了解并刻画用户需求2.为了接下来的设计工作做准备。那问题就简单了,为了解决问题1,我们要尽可能的,全方位的, 多侧面的了解深入用户领域,全面深入的记录用户需求,当然了解不是目的,我们的目的是问题2,为设计做准备,那么就要有一种方式来刻画用户的需求,既能够 完整的表达用户需求,又能够刻画需求,为设计做准备,则需要一种标准的规范的方式来描述需求。描述需求有多种方式,但我们总倾向于选择‘最佳’的一种方 式。描述即是在建模,我们这里用uml,看待用户领域问题的方式我们用最自然的思维方式,面向对象。


3. uml是什么?面向对象是什么?


    还是白话理解:uml,unified modeling languge,统一建模语言,所谓建模即是对客观事物的一种主观描述。uml的历史不多说。模型也是我们看待一个事物时,我们头脑中产生的主观看法,所 以模型对于不同的人来说,不同的系统来说,同一事物的模型不一样。我们用视图这个词来表示不同的角度对同一事物的看法。uml有5种视图:用例视图(描述 系统应该有的功能集,角度:系统外部用户)、设计设图(揭示系统功能的内部设计和协作情况,用静态结构和动态行为来描述系统功能)、进程视图(描述系统的 并发工作状况,包括形成系统并发和同步机制的线程和进程--主要提供给系统开发商和集成商)、实现视图(由一些独立的构件和文件组成,显示实现模块机器之 间的依赖关系。)、配置视图(系统的物理架构),他们相互联系,用来描述整个你眼前的一个事物,专业用语叫‘软件系统’。有视图就有‘视’的主语,能看的 当然是个实体,首先会有‘眼睛’,其次能够有动作‘看’,有属性、有行为的是什么呢?对了,就是对象。所以,uml建模和面向对象密不可分。面向对象的意 思也就浮出水面了,那就是看待用户问题领域,我们不再要求功能组成,而是找到一个一个的对象,通过对象间的相互作用(消息),完成客观世界的建模。


4. uml怎样描述客观世界?


    举例说明:图书馆管理系统,这是一个软件系统,用于模拟现实世界的图书馆的相关业务,完成图书馆的业务功能。加入有个图书馆要你们团队给他们做一个图书馆 管理系统,你怎么做呢?初学者的困惑不是不知道怎么解决问题,而是怎么样以显示最优的方式解决问题,最优的方式考虑了现今的大多数因素,如软件开发领域中 的软件重用,维护,升级等。我们现在解决图书馆管理系统的最优步骤是:分析(可行性,需求分析 ,项目计划),设计(数据库设计,概要设计,详细设计 ),实现(选定平台,选定语言 ),测试(测试计划 , 测试分析报告),维护()。 现在要时刻记住,这个世界由千千万万个对象组成,这个世界上的一切事物都是由于对象间的相互联系相互作用表现的。那么,uml对客观世界的建模,说白了,就是对对象的描述,对象间关系的描述,对象间相互作用的描述。


5. 基于uml的面向对象的需求分析的要点


    刚刚探讨多需求分析的两个部分:描述需求,我们可以用uml中的用例图来描述整个系统的功能集。为设计打下基础,我们可以用类图和对象图以及他们的关系来为下面的设计打下基础。


    所以,基于uml的面向对象的需求分析有两个要点:1.用例图--描述需求 2.类族--系统架构
二、总体设计
   为用户所见的系统计算机层面,包括界面。
   每一个用例的完整序列图,包括主功能,备用功能,异常事件,错误输入与错误处理等序列图集,每一个分支一个序列图。用一个活动图归并全部序列图,遇到分支用菱形框,得到用例的完整功能。细化用例图,比较每一个用例的活动图,得到相同的部分,分解成包含用例;对于复杂功能的用例,分解成多个包含用例。对有些功能进行模块化扩展,称为扩展用例。对用户与用例可以用继承关系。
从序列图得到协作图,进行简单类分析,特别是实体类。增加类:界面类,事务管理类。
画出系统状态图(有活动表达式),对重要的类画出类的状态图,从中得到新的属性与操作。
对增加的类重新画序列图,活动图与协作图。分析类图。
细化状态图。
状态图为主,应用类图是重心,画出全部用户的细化用例图,说明与其它系统的接口。
画出系统总体设计图,根据应用类图与顺序活动图。建立UML总体模型。  
1. 什么是概要设计?为什么要进行概要设计?


    白话解释:概要设计,顾名思意,大概简要的设计,大概简要是从整体来说,不是说不准确含糊之意。设计什么呢?前面我们进行了系统的需求分析,有两个成果 --1--.系统用例图--2--.类图集合,所以我们的概要设计要在1.2的基础上进行,我们要让系统的功能在对象的交互过程中活动起来,这样模拟了客 观,再现了系统,我们称之为领域建模。我们要进一步描述明确系统中的类,可能概要设计要增加些类,视世界情况而定。所有的类组成了:对象模型,很显然,对 象模型描述了类及类之间的关系,静态的,没有动作。系统要活动起来,一定要有交互,我们称之为:动态模型。所有的动作也好,交互也好完成了什么呢?我们还 要有:功能模型。不是很清楚吗?我们要完成系统的功能,功能由动作交互完成,完成动作的自然是对象。那么概要设计设计什么就显而易见了:将系统按照需求分 析的结果分成功能模块,模块可能是一个类,也可能是多个类组成的子系统。用例由一个或多个模块组成。这样系统的功能我们就描述的很清楚了。为什么要进行概 要设计,原因也浮出水面了,进一步的描述系统功能组成,方式是面向对象(类),工具是uml的一些图,通过对象模型(静态),动态模型(交互),功能模型 (数据状态),完成系统的功能划分和过程状态描述。


2. 概要设计做些什么?怎么来做?


    概要设计做以下事情:增加了一些对系统来说有用的类。确定系统功能模块。用各种图来描述用例,并用文字加以说明。用顺序图描述功能模块。完成系统需要的相关其他uml图。怎么来做呢?用uml的图来表示建模。


3. uml用于概要设计的部分工具?


    类图,对象图:系统中的类及类之间的关系。关系包括:关联,聚集,泛化,依赖,细化。


    状态图:告诉我们对象所有的状态,以及怎么样的时间影响着这些状态。


    时序图:描述对象间的交互行为,注重消息的顺序,即对象间消息的发送和接受的顺序。也描述特定场景。


    协作图:着重写作对象之间的交互和链接,它可用于系统的一个操作场景。


    活动图:描述一个动作需要的动作或者一个用例实例的活动。


    构件图:系统构件,《file》,《page》,《document》


    配置图:处理器,设备,软件的体系结构。 
三、详细设计阶段
  程序的内部结构与实现方案的详细
类图为主,重点是增加控制类。
从类图得到程序的结构,从顺序活动图得到程序的过程(C++).
重画有控制类的序列图、协作图、活动图。
.用协作图将操作函数化,用返回值将属性变量化
.给出类状态图的活动表达式。状态图的事件是序列图的消息,是类的操作,活动表达式是转换事件的实现,因此是类的操作的实现。
分解活动图,根据某一个操作。与活动表达式不同。
将应用类图变成设计类图,用具体的语言,
子系统的划分:类图,活动图(模块图),组件图,部署图。
将类align到组件中,将组件到部署图中。
建立程序设计的完整模型。
四、实现阶段
建立并发视图。
组件图:可执行文件,配置文件。
部署图:进程,设置硬件,例如打印机
软件测试
    产品阶段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值