发信人: leeyg()
整理人: leeyg(2001-06-05 22:19:18), 站内信件
|
你可以引用本文,但请注明作者,并请注明出自本论坛。
请大家指正。
面向对象的系统分析与面向对象的可视化开发工具
通过面向对象的分析方法,我们发现了对象,建立了对象类,
也定义了对象的属性与服务,更重要的,我们还揭示了对象间的
相互作用关系。我们得到的分析结果文档有:基本模型类图、详
细说明,交互图及主题图,其中交互图use case主要用于校验基
本类图的完整性,主题图是在基本模型之上的附加粒度控制机制,
文档的核心是基本模型类图与各个类的详细说明,是设计人员、
代码编写人员贯彻分析员分析结果的最重要依据。
然而,在实际的软件系统创作过程中(本人一直认为软件系
统的编写是可工业化的艺术创作过程),系统分析的结果并不能
直接交给代码编写人员直接编码,产生这个问题的根源,我认为
是因为软件系统创作中分析过程与设计过程的存在不同的分工,
它们各有侧重点。
因此,首先,我们必须先认识OOA与OOD是如何分工的。
一、OOA与OOD的分工
在面向对象的软件开发过程中,面向对象的思想贯穿整个软
件创作周期,OOA与OOD采用一致的概念、原则和表示法,二者之
间不存在鸿沟,没有从分析文档到设计文档的转换,二者之间也
不强调严格的阶段划分。
然而,OOA与OOD由于侧重点不同,必然存在分工。分析阶段
考虑的是问题域和系统责任,不考虑与实现有关的因素,建立一
个独立于实现的OOA模型。这个OOA模型是问题域和系统责任的完
整表达,包括对属性与服务的表达;而设计阶段考虑的是与实现
有关的因素,对OOA模型进行调整并补充与实现有关的部分,进
一步完善OOA的文档,形成OOD模型。这个OOD模型是与OOA结果一
脉相承的,是对OOA文档的细化、完善、补充与修改,并不存在
功能分析法中的“转换”关系。之所以称之为OOD模型或OOA模
型,完全只是出于开发的阶段不同。
必须指出,OOA与OOD的分工是连续的、无缝的,并且是允许
有一定的相交的,正是由于面向对象的软件开发中,OO的思想贯
彻始终,因此, 面向对象的软件开发鼓励淡化这个分工,支持分
析员直接将想到的“怎么做”的问题书写在分析结果中带给设计
员,同样,也支持设计员将“还要做什么”补充在设计文档中反
馈给分析员。
搞清楚OOA与OOD的分工后,我们来看看,OOD要做些什么?
二、OOD中要考虑的问题
OOD中要考虑的问题,是与实现有关的问题。但是大致有这
么几大项:
(一) 标识化、
根据一套完整而规范的法则,将OOA文档中所有以自然语言
描述的类名、属性、方法等,以可以被计算机语言使用的标识
标注出来。如OOA文档中的类“水果”,水果类中的属性“色
泽”,在OOD阶段,要在OOA文档中“水果”的后面标上
“Fruit”,在“色泽”后标上“color”。
(二) 人机界面
几乎100%的软件系统均存在人机对话,也就是说,几乎
所有的软件都要考虑人机界面的问题,事实上,设计实现人
机界面的工作在整个软件系统的开发过程占有相当大的比例。
这一问题是正是本文要探索解决的。
(三) 数据存储
数据存储的问题,就是怎样应用数据库的问题。本人的
拙作《数据库系统在面向对象分析设计的应用》一文中,已
经对数据库系统在系统分析阶段中的考虑策略提出了自己思
路,OOD中要考虑的,则主要是数据库的选型、数据库名的
定义、各字段的类型、长度等与实现有关的东西了。
(四) 任务管理
任务管理要解决的是“时序”在OOA/OOD中是如何体现
的。OOA中基本上对这个问题是无需考虑的,但是在OOD中,
是必须考虑的。这一问题,目前我仍在总结中,(虽然系
统中已经对这个问题作了些实践,但毕竟对“为什么我会
这样做”还认识得不深刻),所幸目前已经有了些眉目,
到时再将其写出来与大家一起探讨。
在以Windows9X为平台的人机界面的设计中,许多的
开发工具都引入了“可视化编程”这一设计思路,
如DELPHI、C++ Builder、Virsul Basic、Virsul C等,
在讨论面向对象的系统分析怎样与可视化程序设计思路
相结合前,必须先了解一下什么是可视化程序设计
待续....
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: ]
|
|