浅谈利用UML规划软件的系统结构
要想规划一套优秀的系统,最重要的步骤就是先将要设计的系统的“系统结构(SystemArchitecture)”规划完善,尤其是使用目前最新的组件和分布式系统结构分析时,系统结构分析的优良与否,已决定了该套系统百分之九十的成败,可见系统结构是多么的重要。按照实际经验来看,一套良好的“系统结构”至少必须做到下述5个重要的开发策略:
A.软件系统的组织:包含系统整体组织和各组件组织
B.系统中结构元素和界面的选择分析
C.依照结构元素制定的行为模型
D.依照基础的结构元素和行为元素的渐进组成而设计出的大型子系统
E.从结构样式导出的软件应用结构组织:包含静态和动态元素和界面、静态和动态元素的合作和组成等
因此优良的系统软件结构在组件(Commponents)开发和网络时代就更显得特别的重要。简单地说一幅经过精心规划的设计蓝图盖出的大厦品味才能超凡脱俗。而软件开发也是相同的,一个优秀的系统蓝图的结构设计,才能让日新月异的软件开发技术在开发系统时用来得心应手,而不是要我们永远追着技术跑。
因此UML的原设计公司Rational Software提出了一套标准的软件结构概念:“4+1”视图(4+1View)
这种结构目前已成为了软件开发过程中不可缺少的概念,所谓“4+1”视图(4+1View)指的是“逻辑视图(Logical View)”、“实现视图(Implementation View)”、“进程视图(Process View)”、“部署视图(Deployment View)”和“使用案例视图(UseCase View)”,如图上图所示。
(1)逻辑视图(Logical View):以面向对象的概念,来表达出软件设计的结果。逻辑视图(Logical View)主要描述实现系统内部功能性工作的细部设计,这些设计包括静态结构和动态的行为。
(2)实现视图(Implementation View):以模块(Modules)或组件(Component)来表现出按照逻辑设计的对象(Object)是在哪一个模块或组件中实现。
(3)进程视图(Process View):通常是一个典型的分布式系统,一般都包含许多进程(Process)或线程。“进程视图(Process View)”即是描述一个系统中各组成部分整体运行的程序。
(4)部署视图(Deployment View):部署视图(Deployment View)是指在网络环境中,充分表示进程或线程对应到主机或设备的实际状态。也就是描述系统硬件或设备之间的联接关系,和软件程序的配置状况。
(5)使用案例视图(UseCase View):使用案例视图(UseCase View)可说是UML的核心,主要作用是用来说明系统功能性的需求,找出系统中的使用案例(Use Case)与角色(Actor,或称动作者),和利用使用案例(Use Case)的模型来充分表达出软件功能的需求。
当进入全新的对象/组件向导的软件规划时代后,软件开发流程已不再像以往强调瀑布式的流程(Waterfall)。而是转为强调迭代设计式处理流程(Iterative)。
这对于软件系统的结构分析上来说是一种十分大的转变,因为二十几年来,瀑布式软件开发一直是大多数系统分析师和软件设计师所遵循的方法。
但是经过多年的实践经验,许多人发现在实际的软件开发流程中,瀑布式软件开发并不能完全达到设计时的要求,因此,迭代式流程便受到愈来愈多的采用,尤其是大型的软件项目。简单地说“迭代式流程”的最主要规划方式,可用16个字来描述:
分析一些,设计一些,实践一些,执行一些
也就是将整个软件开发流程切分为数个周期(Iteration),而每个周期都可视为是一个较小型的瀑布式(Waterfall)流程,而且“迭代式流程”强调的是当每一个周期结束时都要产生可以执行的结果。
而每个周期都是利用前一个周期的结果为基础,再新增其他需求的方式继续进行,直到所有的软件需求完全都满足为止,如此便能有效地迅速降低项目的风险。
而UML本身就隐含着迭代式、渐进式流程。由于UML是使用案例(UseCase)向导,因此可以依照使用案例来规划系统项目的执行周期,而让难度较高的使用案例在较早执行的周期就完成,以尽早设计出软件系统的主结构。
A.软件系统的组织:包含系统整体组织和各组件组织
B.系统中结构元素和界面的选择分析
C.依照结构元素制定的行为模型
D.依照基础的结构元素和行为元素的渐进组成而设计出的大型子系统
E.从结构样式导出的软件应用结构组织:包含静态和动态元素和界面、静态和动态元素的合作和组成等
因此优良的系统软件结构在组件(Commponents)开发和网络时代就更显得特别的重要。简单地说一幅经过精心规划的设计蓝图盖出的大厦品味才能超凡脱俗。而软件开发也是相同的,一个优秀的系统蓝图的结构设计,才能让日新月异的软件开发技术在开发系统时用来得心应手,而不是要我们永远追着技术跑。
因此UML的原设计公司Rational Software提出了一套标准的软件结构概念:“4+1”视图(4+1View)
这种结构目前已成为了软件开发过程中不可缺少的概念,所谓“4+1”视图(4+1View)指的是“逻辑视图(Logical View)”、“实现视图(Implementation View)”、“进程视图(Process View)”、“部署视图(Deployment View)”和“使用案例视图(UseCase View)”,如图上图所示。
(1)逻辑视图(Logical View):以面向对象的概念,来表达出软件设计的结果。逻辑视图(Logical View)主要描述实现系统内部功能性工作的细部设计,这些设计包括静态结构和动态的行为。
(2)实现视图(Implementation View):以模块(Modules)或组件(Component)来表现出按照逻辑设计的对象(Object)是在哪一个模块或组件中实现。
(3)进程视图(Process View):通常是一个典型的分布式系统,一般都包含许多进程(Process)或线程。“进程视图(Process View)”即是描述一个系统中各组成部分整体运行的程序。
(4)部署视图(Deployment View):部署视图(Deployment View)是指在网络环境中,充分表示进程或线程对应到主机或设备的实际状态。也就是描述系统硬件或设备之间的联接关系,和软件程序的配置状况。
(5)使用案例视图(UseCase View):使用案例视图(UseCase View)可说是UML的核心,主要作用是用来说明系统功能性的需求,找出系统中的使用案例(Use Case)与角色(Actor,或称动作者),和利用使用案例(Use Case)的模型来充分表达出软件功能的需求。
当进入全新的对象/组件向导的软件规划时代后,软件开发流程已不再像以往强调瀑布式的流程(Waterfall)。而是转为强调迭代设计式处理流程(Iterative)。
这对于软件系统的结构分析上来说是一种十分大的转变,因为二十几年来,瀑布式软件开发一直是大多数系统分析师和软件设计师所遵循的方法。
但是经过多年的实践经验,许多人发现在实际的软件开发流程中,瀑布式软件开发并不能完全达到设计时的要求,因此,迭代式流程便受到愈来愈多的采用,尤其是大型的软件项目。简单地说“迭代式流程”的最主要规划方式,可用16个字来描述:
分析一些,设计一些,实践一些,执行一些
也就是将整个软件开发流程切分为数个周期(Iteration),而每个周期都可视为是一个较小型的瀑布式(Waterfall)流程,而且“迭代式流程”强调的是当每一个周期结束时都要产生可以执行的结果。
而每个周期都是利用前一个周期的结果为基础,再新增其他需求的方式继续进行,直到所有的软件需求完全都满足为止,如此便能有效地迅速降低项目的风险。
而UML本身就隐含着迭代式、渐进式流程。由于UML是使用案例(UseCase)向导,因此可以依照使用案例来规划系统项目的执行周期,而让难度较高的使用案例在较早执行的周期就完成,以尽早设计出软件系统的主结构。