面向对象系统设计与开发专题<3>__开发过程

1 面向对象系统开发过程概述

         面向对象的思想已经涉及到软件开发的各个阶段,如:面向对象的分析(OOA,Object Oriented Analysis)、面向对象的设计(OOD,Object Oriented Design)、面向对象的编程实现(OOP,Object Oriented Programming)。面向对象的系统开发生命周期有分析阶段、设计阶段、实现阶段组成,每个阶段都可以相互反馈,整个过程是一种迭代、渐增的开发过程。

        首先要进行面向对象的分析(OOA),其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),针对不同的问题性质选择不同的抽象层次,然后构造问题的对象模型,使该模型能精确反映所要解决的“实质问题”。

        其次就是面向对象的设计(OOD),即设计软件的对象模型。根据所应用的面向对象软件开发环境的功能强弱不等,在对问题的对象模型的分析基础上,可能要对它进行一定的改造,但应以最少改变原问题域的对象模型为原则。然后就在软件系统内设设计各个对象、对象间的关系(如层次关系、继承关系等)、对象间的通信方式(如消息模式)等,总之是设计各个对象的职责。

        最后是面向对象的实现(OOP),即指软件功能的编码实现,主要工作包括:每个对象的内部功能的实现;确立对象哪些处理能力应在哪些类中进行描述;确定并实现系统的界面、输出的形式及其它控制机理等,需要实现OOD阶段所规定的各个对象所应完成的任务。

PS: 个人理解: 面向对象分析与设计主要是以问题驱动开发.

 

2 面向对象系统开发活动

        运用面向对象方法来具体开发一个信息系统,其分析和设计过程包括以下几个方面的内容:识别系统目标与边界;识别用例,建立用例图;识别对象,建立类图;设计用例的详细逻辑,建立顺序图和协作图;精化和完善模型。

       信息系统开发的主要目的是精确地实现用户对新信息处理系统的需求。首先需要用户和分析人员通力合作获得对系统需求的充分理解以完成对系统的精确表述,通过用户之间、分析人员之间、用户和分析人员以及系统开发各方之间的交流来获得图形化、非冗余、精确和本质的用户需求描述。面向对象系统开发活动要包括四个基本步骤:

(1)标识业务事件并制作事件表;

(2)标识用例并生成系统用例图,编写基本用例叙述;

(3)建立各层次类图,以表示系统中的概念、属性、关联以及操作;

(4)为每个用例场景绘制系统交互图,编写操作约定。

        实际工作中,系统开发人员可以同时进行几个不同步骤。在进行不同步骤的时候,由于在后续步骤中获得了新认识,前面步骤中所做的工作不断被修改,这反映系统开发的迭代性。

 

3 面向对象系统开发模型

        面向对象系统开发成果由该过程中开发的模型来反映,如表1所示,这些图形化的文档便于系统开发参与者们之间的交流。

表1 用于面向对象系统开发的各种模型

模型 

数量 

重要组件 

与其他模型的关系

事件表

每个系统一个

事件

 

用例模型

用例图(每个系统一个)

用例叙述(每个用例一个)

用例

参与者

关联

每个事件最少一个用例

类图

每个系统一个

概念

属性

关联

操作

来自于用例叙述

交互模型

交互图(每个用例至少一个)

操作约定(每个消息一个)

参与者

系统

消息

来自参与者的消息的结构和内容取决于用例叙述;

操作约定参考用例叙述和类图

(1)为了描述、理解和交流信息处理系统的需求就要确定系统必须响应的各个事件,需要以事件表来表示的事件模型。

(2)为了研究对业务事件作出响应所需的系统动作,要描述与每个事件相关的用例,并不断修改直到获得用户需求的精确描述,需要表述系统需求的用例模型。

(3)为了理解应用程序以及定义用户对存储数据的需求就要建立类图,该模型显示问题域中相关的各个概念及其属性、关联、操作。

(4)为了表示用户和系统、系统内部类之间交互的每个场景,需要绘制能反映输入的形式和内容的交互图,为每个消息编写约定。

4 面向对象系统开发技术

        系统分析包括对系统需求进行建模和修改的技术,不同分析方法采用对应于特有思维方式的技术,得到不同的分析模型。面向对象分析中使用的关键技术有:

(1)信息收集技术。如会谈、观察、实践、问卷等是收集相关信息和理解用户需求的基本技术。

(2)事件分析。事件分析是面向对象分析的起点,它是确定系统级需求的技术,认为信息处理系统对环境中的重要事件会作出预置响应。

(3)用例建模。用例模型表示系统和用户间所需的交互,由表示参与者和用例的的图和对每个用例的详细描述组成。

(4)类建模。通过应用领域中概念及其属性、关联以及操作的建模来获得对系统的最小化、非冗余、全面的理解,以及静态逻辑构建。

(5)交互建模。交互模型表示参与者与系统之间、系统内部对象之间的交互细节,交互建模用于定义系统内部的软件对象的交互。

PS: 整个开发过程大致为: 需求分析->绘制用例图(包括用例叙述)->绘制类图->绘制类之间交互->进入面向对象实现阶段

 

你可能感兴趣的:(面向对象)