background image

在大型的应用系统中,采用结构化的方法比较容易进行系统的分析,但是面向对象的方
法比较容易解决软件的重复使用问题,并且开发效率高。因此针对具体的应用可以先以结
构化的方法将系统分为小系统,然后采用面向对象的方法对其中重要的业务逻辑进行设
计,这样可以综合结构化设计方法和面向对象的方法对其中重要的业务逻辑进行设计。而
在实际系统中,结构化思想和面向对象的思想经常结合在一起。
在基于 web 的分布式应用中采用结构化设计方法和面向对象的方法相结合的原因还在于
基于 web 的应用系统的特性。在基于 web 的应用系统中,功能的实现一般以动态页面的集
合形式实现,具体的业务流程步骤一般与这些动态页面相对应,这种方式更符合过程化
的思想,因此采用结构化设计方法是符合习惯的,但每个页面中以结构化的代码来处理
复杂的逻辑是不可取的,这时可以采用面向对象的设计方法来设计,这种结构化设计方
法和面向对象的设计方法的结合在基于 web 的分布式应用系统中是比较自然的。
3.2 设计流程
基于 web 的分布式应用系统比较适合软件生命周期模型中的演化模型和喷泉模型的思想。
但是软件生命周期各种模型提供的仅是指导思想,具体的应用系统的设计流程应根据具
体情况对软件生命周期模型中的具体模型进行改造和组合。
从实际角度出发,图 3-1 所示的基于 web 的分布式应用系统的设计流程是在本系统的实
际应用中的一个设计流程。在这个流程中各个设计工作之间关联紧密,体现了设计过程中
不断 review 和改进的过程,是喷泉模型思想的体现。
基于 web 的分布式应用系统采用图 3-1 所示的设计流程基于以下理由:
(1)系统认识的渐进过程:人们对一个系统的认识是一个渐进的过程,随着设计过程的不断
发展,人们会对系统的认识不断加深,在设计的后期发现前期设计的一些问题,这需要
返回修正。这个构成可能是一个循环的过程。令系统设计头疼的一个问题就是需要常常处
于一个不断变化的状态,这种变化包含的因素很多,例如问题域本身在系统的开发过程
中发生了变化;用户在立项的时候可能对需求提的不完全或者不恰当,他们随着系统的开
发而逐渐成熟,常常补充和更改早期提出的要求。
(2)因交流而产生新的创意:系统的设计需要大量的人与人之间的交流,这些交流包括和分
析人员的交流、分析人员和用户之间的交流、用户和领域专家的再交流等等,这些交流产
生火花,而其中有些是特别有价值的或必需的。
(3)尽早避免设计错误:将设计错误代入到代码阶段会产生严重的后果,因此设计过程本身
就是一个不断 review 的过程,中间也伴随着许多讨论和争议,显然在这个过程中可能会
发现设计不合理的地方,这时需要对原有设计进行修改。
(4)基于 web 的分布式应用系统需要创造性发挥:由于基于 web 的分布式应用系统提倡灵活,
而且其处理方式多样,在设计过程中很难将所有的细节都考虑的面面俱到,因此在某些
方面留有创造性空间。
3.3 设计内容和特点
基于 web 的分布式应用系统的设计和一般的应用系统的设计在大部分方面是一致的,但
是由于基于 web 的分布式应用系统结构的特殊性,在某些方面有自己的特色,本节的重
点是针对基于 web 分布式应用系统的特殊部分讨论有关的内容和特点。
3.3.1 统结构和方案设计
系统结构和方案的设计主要包含以下内容:
(1)应用系统的子系统的划分;
(2)应用系统的应用平台和开发平台的选择;
(3)应用系统的技术方案的选择;