学习面向对象开发的方法
来源:互联网 发布:淘宝卖家如何投诉买家 编辑:程序博客网 时间:2024/06/06 01:03
面向对象的分析
面向对象分析的目的是对客观世界的系统进行建模。
分析模型有三种用途:用来明确问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作为后继的设计和实现的框架。
(一) 面向对象的分析
系统分析的第一步是:陈述需求。分析者必须同用户一块工作来提炼需求,因为这样才表示了用户的真实意图,其中涉及对需求的分析及查找丢失的信息。
(二)建立对象模型
1.确定类
构造对象模型的第一步是标出来自问题域的相关的对象类,对象包括物理实体和概念。所有类在应用中都必须有意义,在问题陈述中,并非所有类都是明显给出的。有些是隐含在问题域或一般知识中的。
2.准备数据字典
为所有建模实体准备一个数据字典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。
3.确定关联
两个或多个类之间的相互依赖就是关联。一种依赖表示一种关联,可用各种方式来实现关联,但在分析模型中应删除实现的考虑,以便设计时更为灵活。关联常用描述性动词或动词词组来表示,其中有物理位置的表示、传导的动作、通信、所有者关系、条件的满足等。从问题陈述中抽取所有可能的关联表述,把它们记下来,但不要过早去细化这些表述。
4.确定属性
属性是个体对象的性质,属性通常用修饰性的名词词组来表示.形容词常常表示具体的可枚举的属性值,属性不可能在问题陈述中完全表述出来,必须借助于应用域的知识及对客观世界的知识才可以找到它们。只考虑与具体应用直接相关的属性,不要考虑那些超出问题范围的属性。首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。按下列标准删除不必要的和不正确的属性:
(1) 对象:若实体的独立存在比它的值重要,那么这个实体不是属性而是对象。如在邮政目录中,"城市"是一个属性,然而在人口普查中,"城市"则被看作是对象。在具体应用中,具有自身性质的实体一定是对象。
(2) 定词:若属性值取决于某种具体上下文,则可考虑把该属性重新表述为一个限定词。
(3) 名称:名称常常作为限定词而不是对象的属性,当名称不依赖于上下文关系时,名称即为一个对象属性,尤其是它不惟一时。
(4) 标识符:在考虑对象模糊性时,引入对象标识符表示,在对象模型中不列出这些对象标识符,它是隐含在对象模型中,只列出存在于应用域的属性。
(5) 内部值:若属性描述了对外不透明的对象的内部状态,则应从对象模型中删除该属性。
(6) 细化:忽略那些不可能对大多数操作有影响的属性。
(三)建立动态模型
1.准备脚本
动态分析从寻找事件开始,然后确定各对象的可能事件顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。
2.确定事件
确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作,可以发现正常事件,但不能遗漏条件和异常事件。
3.准备事件跟踪表
把脚本表示成一个事件跟踪表,即不同对象之间的事件排序表,对象为表中的列,给每个对象分配一个独立的列。
4.构造状态图
对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。
(四)建立功能建模
功能模型用来说明值是如何计算的,表明值之间的依赖关系及相关的功能,数据流图有助于表示功能依赖关系,其中的处理应于状态图的活动和动作,其中的数据流对应于对象图中的对象或属性。
1.确定输入值、输出值
先列出输入、输出值,输入、输出值是系统与外界之间的事件的参数。
2.建立数据流图
数据流图说明输出值是怎样从输入值得来的,数据流图通常按层次组织。
- 学习面向对象开发的方法
- 面向对象的开发方法
- 面向对象的开发方法
- 面向对象开发方法的开发过程
- 面向对象方法开发的方法
- · UML面向对象的开发方法
- 面向对象的系统开发方法
- 面向对象方法开发的特点
- 黑马程序员---面向对象的开发方法
- 面向对象的开发方法(总结)
- 面向对象开发的模式学习
- PHP面向对象开发的学习
- PHP面向对象开发的学习(一)
- PHP面向对象开发的学习(二)
- 《Java面向对象编程》学习笔记1——面向对象开发方法
- java学习笔记《java面向对象编程》——面向对象开发方法概述
- 面向对象开发方法总结
- 软件开发 面向对象方法
- ReportX实例(3)VB
- 4.C++类作用域
- Ajax--------收发 json 数据
- 5.C++类inline函数
- PXELINUX实现网络安装操作系统
- 学习面向对象开发的方法
- 重大误解:百年极限论使2500年芝诺悖论迎刃而解
- oracle 系统用户权限
- 6.C++类const成员
- Java走入了进化的死胡同?
- 39字推翻百年集论
- 7.C++类static成员
- 网页侦测四法
- 08年最热门七大技术和最紧缺的IT人才