OOA/OOD阶段步骤及主要产品

一. 需求阶段

1.      需求阶段使用use-case图描述需求

顶层use-case:粗粒度地描述系统,给出系统的概况

细分use-case:将顶层use-case细化

Use_case图的方法是:从参与者开始寻找用例,用use-case diagram来表示参与者与用例之间的关系。

Use-case描述的方法是:就是use-case规约,用详尽的文字来描述用例的执行流程(包括主业务流程及所有分支流程及异常流程)。

Active diagram:可选,类似业务流程图,业务比较复杂时,用流程图来描述业务。

注:use-case图和use-case描述,是整个系统设计的主要产品,今后的分析和设计,都将围绕这两个产品进行。以前看过的好多资料,都没有讲到这一点,use-case的作用非常大,将贯穿分析到设计到编码的全过程。

二.分析阶段

分析阶段的主要工作,是围绕use-case图,及use-case规约,从中寻找参与系统的各种对象。

1. 用sequence diagram来描述use-case的执行过程(包括主流程及备选流程):

方法:a.从参与者开始,寻找参与系统流程的对象

b.依照参与者à边界类à控制类à生命周期类à实体对象 的次序,区分各对象的职责,将参与系统的各种对象,依次添加到sequence中。

c.从后向前验证序列,检查每个对象是否拥有它提供服务所必需的信息。如果没有,需要重新考虑对象的职责划分,确保每个对象有相应的方法或通过调用能够找到必需的信息。

注:分析阶段,不应涉及到具体技术。关注的重点还是系统做什么,而不是怎么做。

思考:1.现有项目,往往技术是已经确定的,这种情况下,分析应该关注什么内容?

2. 生命周期类,是开发中工作量较大的部分,也有很多可选的frmework来支持,常用的有自己实现DAO、hibernate等技术路线。

3. 分析阶段,已经确定了系统中的package。有一点要注意,package一定要根据业务来进行划分,而不是在系统建立时,就根据客户的意见来强行划分包。根据包之间最小依赖关系,来划分包,并注意一定要避免包之间的相互依赖。

三.从技术的角度考虑系统技术方法及软件构架

主 要工作是为边界类、实体类、控制类选择候选技术。但往往项目已经是确定了技术路线的,比如我们公司项目已经规定使用J2EE技术。但即便如此,也有很多地 方需要考虑。比如是使用JMS通信,还是自己实现Observer。是使用EJB,还是不使用。个人认为,使用EJB一定要慎重。

这部分工作需要系统设计经验比较丰富的人来做,因为技术路线一时选错,对系统后期带来的不良影响是十分大的。

根据可扩展性、可维护性、可靠性、可伸缩性的综合考虑,来确定系统的构架。

四.设计阶段

设计阶段,同样围绕use-case图及use-case描述来进行,和分析阶段的不同,是加入了选定的具体技术,同时使用面向对象的理论及设计模式等,对系统进行设计。

使用UML的建模工具,在设计阶段产生的产品,主要有两大作用:一是便于交流,也便于修改。二是便于进度安排和工作分配。

五.实现阶段

实现阶段是针对设计阶段的产品,编码来进行系统的实现。

OOA/OOD阶段步骤及主要产品

时间: 2024-11-08 22:20:07

OOA/OOD阶段步骤及主要产品的相关文章

OOA/OOD

基本知识点: 1.软件工程的基本思想:就是用工程学的方法进行软件的开发与维护,并对软件生产过程进行工程化的管理. 2.软件生命周期:需求分析.设计.编码.测试.维护. 3.软件工程的主要内容:工程方法.技术细则.文档规范.技术支持.管理制度.人员组织以及质量保证体系. 4.实行软件工程的主要意义:提高软件产品的质量.提高软件生产率. 5.软件开发方法:功能分析法.数据流法(结构化方法).快速原型法.信息模型法.面向对象方法. 6.软件过程模型:瀑布模型.螺旋模型.增量模型.喷泉模型.原型模型.

OOA/OOD/OOP

Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析. OOA(面向对象的分析)模型由5个层次(主题层.对象类层.结构层.属性层和服务层)和5个活动(标识对象类.标识结构.定义主题.定义属性和定义服 务)组成.在这种方法中定义了两种对象类之间的结构,一种称

OOA - OOD - OOP 简介

OOA - OOD - OOP 简介 一. OOA OOA : (Object-Oriented Analysis, 面向对象分析方法) . 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析. OOA(面向对象的分析)模型由5个层次(主题层.对象类层.结构层.属性层和服务层)和5个活动(标识对象类.标识结构.定义主题.

OOA/OOD基本概念

面向对象是基于一种哲学思想,它认为:客观实体和实体之间的联系构成了现实世界的所有问题,而每一个实体都可以抽象为对象.这种思想尽可能地按照人类认识 世界的方法和思维方式来分析和解决问题,使人们分析.设计一个系统的方法尽可能接近认识一个系统的方法.面向对象的基本观点可以概括如.(1)客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成.(2)具有相同数据和操作的对象可归纳成类,对象只是类的一个实例.(3)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性.(4)对象之间

OOA/OOD/OOP(转)

OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析. OOA(面向对象的分析)模型由5个层次(主题层.对象类层.结构层.属性层和服务层)和5个活动(标识对象类.标识结构.定义主题.定义属性和定义服务)组成.在这种方法中定义了两种对象类之间的结构,

区分OOA/OOD/OOP!!!!!

OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析. OOA(面向对象的分析)模型由5个层次(主题层.对象类层.结构层.属性层和服务层)和5个活动(标识对象类.标识结构.定义主题.定义属性和定义服务)组成.在这种方法中定义了两种对象类之间的结构,

面向对象分析与设计—OOD部分

第三部分 面向对象设计 3.1 面向对象设计(OOD)的定义? 在面向对象分析阶段,已经针对用户需求建立起用面向对象概念描述的系统分析模型.在设计阶段,要考虑为实现系统而采用的计算机设备.操作系统.网络.数据库管理系统以及所采用的编程语言等有关因素,进一步运用面向对象的方法对系统进行设计,最后形成一个可以实现的设计模型,即面向对象设计模型. 3.2 面向对象设计(OOD)与面向对象分析(OOA)的关系? 在面向对象分析阶段,针对的是现实世界,把需求转化为面向对象概念所建立的模型,以易于理解问题域

OOA&D

面向对象分析 研究问题域和用户需求,运用面向对象的观点发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.目标是建立一个直接映射问题域,符合用户需求的OOA模型. 面向对象设计 在OOA模型基础上,针对选定的实现平台进行系统设计,按照实现的要求进行具体的设计,目标是产生一个能够在选定的软硬件平台上实现的OOD模型. 面向对象分析与设计的关系 OOA模型:抽象层次较高,忽略了与实现有关的因素. OOD模型:抽象层次较低,包含了与实现平台有关的细节. MDA即模型驱动的体系结构,MD是指用模

基于UML的OOA/00D

现在大家都说框架.架构,就不得不先提分析与设计,谈到了DDD,又不得不谈OOA/OOD. 一套框架,首先是一套方法论,离开理论支持的框架很难长久的发展下去,框架是长期积累的结晶.能够从需求沟通.流程方案.系统设计.快速开发.细调等各个环节,能够无缝的衔接起来,最好能够用同一种声音说话. BPM,我不知道在国内的项目里面,有多少个公司是真正的在用,当前都用到了什么程度,在作需求的时候是如何处理的. 我在流程引擎选型的时候花了很多的时间,由于没有什么资源,最后是选择了BPMN,因为自己长期以来的分析