架构系列一:架构的分析与设计

本文大部分知识来自于《UML和模式应用


什么是分析

 

分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案。

 

分析主要围绕着,信息系统的使用,它具备那些功能,具备哪些抽象元素。(需求分析,对需求的调查。面向对象分析,对领域对象的调查研究)。

 

举例说明:需求管理软件,他有那些功能?如何使用他?


解释:分析就是在一大堆需求文档中,找到我们需要调查的对象,在使用面向对象分析过程中,找到领域对象的过程

 

什么是设计

 

设计(design)强调的是满足需求的概念上的解决方案。(在软件方面和硬件方面)。

 

在做设计的时候,通常排斥底层或“显而易见”的细节。

 

但是,设计必须最终可以实现(如代码)来标识真实和完整的设计。(面向对象设计或数据库设计)

 

解释:设计就是指将分析出来的对象(或者领域对象),给出一个抽象的实现描述,但是不能给出太细节,例如给出接口定义,部署试图,特定计算算法。从而达到可以指导编码开发的程度。

分析和设计区别

 

有益的分析和设计可以概括为:做正确的事(分析)和正确的做事(设计)。

 

 

面向对象分析和设计

 

面向对象的分析

 

Object-oriented analysis过程中,强调的是在问题领域内发现和描述对象(或概念)。

 

例如:分布式文件管理系统中,文件,目录,服务器,用户等对象。

 

面向对象的设计

 

Object-oriented design过程中,强调的是定义软件对象以及他们如何协作以实现需求。

 

例如:分布式文件管理系统中,文件的属性(namepathattributes

 

最后在实现对象程序设计过程中,实现设计出来的对象,如JavaFileInfo

 


 

最简单的需求开发设计过程说明

 

主要过程如下:

  • 定义用例。
  • 定义领域模型。
  • 定义交互图。
  • 定义设计类图。

 

定义用例

 

用例主要是对情节的记录。用例是需求分析中常用工具。

 

举例:

五子棋,同色的五个棋子在一条线上的玩家获胜。

 

定义领域模型

 

面向对象分析的结果就是领域模型。领域模型是展示重要概念或对象。

 

他也被成为概念对象模型(conceptual object model)

 

举例:

 

 

 


 

如图所示:

PlayerGo Chess pieces, Game)的关系。

 

 

分配对象职责并绘制交互图

 

顺序图(sequencediagram UML的一种交互图)

 


 

所有操作都是通过Game这个类交互的。在真实世界是不存在这个对象的对象的。

 

定义设计类图

 

类图。是静态类图。是用来表示相关内容。

领域模型标识的是真实世界的类,设计视图是软件类。(注意在RUP中的,逻辑视图中类,并不是软件设计中的类,反而是开发视图)。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值