UML面向对象分析与建模-【1】面向对象技术概述

简介:     一、软件开发方法 常见的软件开发方法有面向过程的开发方法,面向数据结构的开发方法和面向对象的开发方法。其中面向过程的开发方法也称为面向功能的软件开发方法或面向数据流的软件开发方法。

 

 

一、软件开发方法

常见的软件开发方法有面向过程的开发方法,面向数据结构的开发方法和面向对象的开发方法。其中面向过程的开发方法也称为面向功能的软件开发方法或面向数据流的软件开发方法。结构化方法强调过程抽象和功能模块化。它一般利用图形表达用户需求,使用的手段有数据流图、数据字典、结构化语言、判定表及判定树等。面向数据结构的开发方法适合于求解算法依赖于问题描述的数据结构之类的情况。这种方法最适合在完成了软件结构设计之后,用它来设计每个模块的处理过程。它根据问题的数据结构定义一组映射,把问题的数据结构转换为问题求解的程序结构。面向对象开发方法思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块话的,可重用的,维护性好的软件,同时限定软件的复杂性和降低开发维护费用。它是通过面向对象的分析(OOA)、面向对象的设计(OOD)和面向对象的程序设计(OOP)等过程,将现实世界的问题空间平滑地过渡到软件空间的一种软件开发过程。目前,典型的面向对象的开发方法是UML和统一开发过程(RUP)。

二、软件生命周期

软件生命周期是指软件从立项、功能确定、设计,到开发成功投入使用,并在使用过程中不断地修改、增补和完善,直至被新的需要所替代而停止该软件的使用的全过程。

阶段

研究问题

给出的标准和文档

问题定义

问题是什么

目标和规模报告书

可行性研究

有可行的方法吗

高层逻辑模型、数据流图、成本效益分析

需求分析

系统做什么

逻辑模型、数据流图、数据字典、算法描述

总体设计

如何解决问题

系统流程图、系统结构层次图

详细设计

怎样具体实现

编码规格说明、HIPO图或PDL

编码和单元测试

给出正确的程序模块

源程序清单、单元测试方案和结果

综合测试

给出符合要求的软件

综合测试方案和结果、一直的软件配置

维护

持久地满足用户需要

完整地维护记录、文档、软件新版本

三、软件开发模型

软件开发模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。分为:瀑布模型、原型模型、螺旋模型、增量模型和喷泉(迭代)模型。

四、面向对象方法的特点

面向对象的方法学可以概括为下列方程:OO=Object+Classes+Inheritance+Communication with Messages 也就是说面向对象就是既使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。

五、面向对象分析(OOA

面向对象分析的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。分析就是抽取和整理用户需求并建立问题域精确模型的过程。基本步骤有 问题域分析、发现和定义对象和类、识别对象的外部联系、建立系统的静态结构模型和建立系统的动态行为模型。

六、面向对象设计(OOD

面向对象设计是把分析阶段的需求转变成符合成本和质量要求的、抽象的系统实现方案过程。细分为系统设计和对象设计。设计准则包括 模块化、抽象、信息隐藏、弱耦合、强内聚和可重用。设计过程包括 设计对象和类、设计系统结构、设计问题域子系统、设计人-机交互子系统、设计任务管理子系统、设计数据管理子系统和设计优化。

七、面向对象方法和工具

面向对象方法主要有 BoochJacobsonCoad-YourdonJames Rumbauth开发方法。已发展成当前最流行的系统分析方法和软件开发技术,并且已经逐步统一、融合形成UML语言。

 

 

    参考文献:

    [1] 唐学忠等著. UML面向对象分析与建模. 电子工业出版社. 2008

    [2] 蔡敏等著. UML基础与ROSE建模教程. 人民邮电出版社. 2006

    [3] Carlo Ghezzi等著. 施平安译. 软件工程基础(2) 清华大学出版社. 2003

    [4] 参考网站:

       http://www.omg.org/UML

       http://www.rational.com/UML

       http://www.software.ibm.com/ad/ocl

目录
相关文章
|
25天前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
71 0
|
3月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
40 0
|
9月前
|
uml
UML 面向对象技术
UML 面向对象技术
|
9月前
|
设计模式 数据可视化 测试技术
UML总结 面向对象技术 、Rational Rose 界面
UML总结 面向对象技术 、Rational Rose 界面
|
9月前
|
数据可视化 uml
UML——概述(什么是UML?UML有什么作用?面向对象技术)
我们要先理解模型,模型就是对现实的简化,把复杂系统变成小的系统,采用“逐个击破”的原则逐一解决。
UML——概述(什么是UML?UML有什么作用?面向对象技术)
|
9月前
|
数据可视化 uml
UML——面向对象技术
封装(Encapsulation):隐藏对象的属性和实现细节,仅对外提供公共访问方式,提高复用性和安全性
|
9月前
|
数据可视化 uml
【UML图】面向对象技术
【UML图】面向对象技术
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
598 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
381 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
719 0
【UML建模】(6) UML建模之状态机图