UML和模式应用(1):面向对象的分析与设计

简介:
1.1、什么是分析和设计
 
分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能。
设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现。最终,分析可以实现,而实现则表达了真实和完整的设计。
分析和设计一词最好加以限制,如面向对象的设计、数据库设计。
 
有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)。
 
1.2、什么是面向对象的分析和设计
 
在面向对象分析(OOA)过程中,强调的是在问题领域内发现和描述对象(或概念)。如,明确一些概念,这些概念也许对应着一些对象。
在面向对象设计(OOD)过程中,强调的是定义软件对象以及它们如何协作以实现需求。如,明确类的属性和方法。
 
1.3、分析和设计的大概步骤
 
1)、定义用例
需求分析可能包括人们如何使用应用的情节或场景,这些情节或场景可以被编写成用例。
 
2)、定义领域模型
OOA关注从对象的角度创建领域描述。OOA需要鉴别重要的概念、属性和关联。
OOA的结果可以表示为领域模型(domain model),在领域模型中展示重要的领域概念或对象。
需要注意的是:领域模型并不是对软件对象的描述,它是真实世界领域中的概念和想像可视化。因此也被称为概念对象模型。
 
3)分配对象职责并绘制交互图
OOD关注软件对象的定义----他们的职责和协作。常用UML顺序图来描述。
 
4)定义设计类图
除了在交互图中显示对象协作的动态视图外,还可以用设计类图来有效的表示类定义的静态视图。这样可以描述类的属性和方法。
 
1.4、什么是UML
 
统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言。
 
UML是一个庞大的语法体系,UML定义了各种UML简档(UML profile),这些简档专用于某些常用主题领域的表示法子集,例如对EJB使用EJB简档。
 
1.5  应用UML的三种方式
1)、UML作为草图----用于探讨问题或解决方案空间的复杂部分。
2)、UML作为蓝图----相对详细的设计图,用于:逆向工程或代码生成(前向工程)。
3)、UML作为编程语言----用UML完成软件系统可执行规格说明,代码可能被自动生成。
 
如果不具备良好的OO设计和编程技能,那么即使使用UML,也只能画出拙劣的设计。
 
敏捷建模(agile modeling)强调了UML作为草图的方式,这也是使用UML的普通方式,而且通常对时间投入具有高回报。
 
1.5 应用UML的三种透视图
 
1)、概念透视图:用图来描述现实世界或关注领域中的事物。
2)、规格说明(软件)透视图:用图来描述软件抽象物或具有规格说明和接口的构建,但并不约定特定的实现。
3)、实现(软件)透视图:用图来描述特定技术(如Java)中的软件实现。
 
1.6 不同透视图中“类”的含义
 
以上三种透视图中“类”的含义分别为:
1)、概念类----现实世界中的概念或事物。
2)、软件类----软件构建在规格说明或实现透视图中的类。
3)、实现图----特定OO语言中类。
 
1.7 可视化建模的优点
 
可视化的工作方式更容易理解和开发大脑,快速掌握符号、单元及关系。
图可以帮助我们更为遍历的观察全景,发现软件元素或分析之间的联系,同时允许我们忽略和隐藏旁枝末节。这是UML或其他图形化语言的本质价值。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/97908,如需转载请自行联系原作者
相关文章
|
2月前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
3月前
|
敏捷开发 测试技术 uml
UML 在敏捷开发中的应用与实践
【8月更文第23天】统一建模语言 (UML) 是一种广泛使用的图形化语言,用于描述软件系统的设计。它通过各种图表和符号来帮助开发团队理解系统的架构、行为和交互。而敏捷开发则是一种强调快速迭代、客户反馈和持续改进的软件开发方法论。这两种看似风格迥异的方法实际上可以很好地协同工作,以提高软件项目的效率和质量。
117 4
|
3月前
|
测试技术 uml
UML 建模语言的基础概念与应用
【8月更文第23天】UML (Unified Modeling Language) 是一种用于系统架构设计的标准建模语言。
150 1
|
3月前
|
数据可视化 架构师 测试技术
【计算机三级数据库技术】第5章 UML与数据库应用系统--附思维导图
本文提供了UML在数据库应用系统设计中的应用概览,包括UML建模框架、视图、四大图的介绍,以及如何使用活动图、用例图、类图、顺序图等UML图来表达业务流程、系统需求和内部结构,最后还涉及了系统微观和宏观设计的UML表达方式。
123 4
|
4月前
|
测试技术 uml
UML使用问题之如何从涉众的视角分析系统功能的需要情况
UML使用问题之如何从涉众的视角分析系统功能的需要情况
|
4月前
|
测试技术 uml
系统分析与设计问题之UML中顺序图与时序图的区别是什么
系统分析与设计问题之UML中顺序图与时序图的区别是什么
|
4月前
|
uml
系统分析与设计问题之UML中活动图是什么
系统分析与设计问题之UML中活动图是什么
|
6月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
89 0
|
数据库 uml 容器
UML之旅—面向对象技术
面向对象技术,在我们学习VB的时候就有提到过,刚学习的UML中也重点介绍了面向对象技术,以后还会用到这种面向对象的思想去实现程序之路,所以就简单总结一下自己对于面向对象技术的理解!