在随着面向对象的程序设计的广泛应用,可视化编程遍地开花的今天,编程工作人员的地位一再被动摇,早以不再作为开发中的主流,而
软件工程的应用以作为
软件开发的质量和效率的重要见证已越来越被重视,针对早期的结构化建模工具的明显不足,ROSE吸取众多建模工具的优点,排除其不足,采用面向对象的成熟技术和双向工程的技巧,为提高
软件开发的效率,保证
软件开发的质量和可维护性作出了巨大的贡献。
软件工程概述
软件开发是一套关于
软件开发各阶段的定义、任务、作用的建立在理论上的一门工程学科。它为解决
软件危机,指导人们利用科学、有效的方法来开发
软件,提高及保证
软件开发的效率和质量取到了一定的作用。
软件开发过程:需求分析(开始阶段)--概要设计(静态结构)--详细设计(动态结构) --编码-测试-维护
结构化模型设计方法
A.E-R图(实体关系图)
实体:客观存在并可区分的事物。
属性:实体所具有的某种特性,一个实体可以有多个属性。
关系:实体之间的对应关系,可分为1:1联系、1:n联系、m:n联系
B.数据流图
C.功能模块图
结构化模型的不足
传统的结构化模型的设计所建立的模型不能反应源代码,与程序设计脱节。模型与代码几乎没什么关系。这样的模型不能生成代码,代码更不能生成模型,模型大多是画给领导看或拿出作掩盖。所以不能保证
软件的质量,更不易
软件的维护,没什么约束力也没有检测的标准,它的弊端是显于易见的。
面向对象的模型设计方法
定义:利用面向对象方法,把应用程序分成许多小块(对象),这些对象是独立的,然后组合这些对象,建立程序。
特点:包装、继承、多态。
常用的建模工具:PlayCase, Rational ROSE, Computer Association BPWin , Computer Association ERWin, Oracle Designer/2000, Sybase PowerDesigner
UML语言概述
定义:一种面向对象的统一建模语言。
作用:帮助我们对
软件系统进行面向对象的和建模。
核心:类,类之间的关系。
建模:通过将用户的业务震需求映射为代码,保证代码满足这些需求,代码能方便地回溯需求,这个过程叫建模。
ROSE建模工具
定义:是一种分析和设计面向对象的建模工具。
作用:利用ROSE这个工具,我们可以建立用UML的
软件系统的模型,面目可以自动生成和维护C++、JAVA、VB、PB、ORACLE等语言和系统的代码。
核心:七大框图
1. Use-Case Diagrams(用例框图)
2. sequence diagram (顺序框图)
3. Collaboration diagram (协作框图)
4. Class diagram (类框图)
5. State Transition diagram (状态框图)
6. Component diagram (组件框图)
7. Deployment diagram (扩展框图)
下面结合
软件工程知识、利用ROSE建模工具,本人在开发电力部们的"110KV标准设计图文管理系统"中所用到的ROSE模型及对ROSE在开发实践中的剖析
一、 需求分析阶段
任务:建立用户需求和功能模块,确定系统中的角色和使用案例。利用ROSE,生成角色,使用案例和生成用例图
所用到的框图:
1.Use-Case Diagrams:显示使用案例(表示系统功能)与角色(人或系统)间的交互。如下图:
Use Case(用例):在不展现一个系统或系统内部结构的情况下,对系统或系统的连贯的功能单元的定义和描述。
角色:使用
软件的人或外部系统本身。
2. sequence diagram
按时间先后顺序,从上到下分析使用案例,确定案例的处理流程。如下图:
3 Collaboration diagram :
确定对象之间的关系的处理过程的分析流程。如下图:
二、 概要设计阶段
任务:通过分析Use-Case Diagrams ,得到所用到的类,分析这些类的属性、操作和它们之间的关系。
所用到的框图:
1.Class Diagrams.
显示系统中类与类之间的交互。
2.包:具有一些共性的类组合在一起的图。
三、 详细设计阶段
任务:细化和个性Use-Case的描述 ,如类的操作和对象之间的消息相对应,填充参数及复杂的类的设计。
所用到的框图:
1.Class Diagrams
2.State Diagrams:显示一个对象从生成到删除的生命周期。
四、 编码和测试阶段
任务:进行
软件的开发和测试,生成组件框图。
组件:表示代码的物理模块。
组件框图:表示系统中的组件及相互依赖性。
Delpoyment Diagrams:显示
网络中的物理布局和各种组件的位置。
双向工程
1.生成代码:根据选择开发应用程序的语言生成对应的程序的代码。
步骤:检查模型-生成组件-将类映射组件-设置代码生成属性-选择类、组件和包-生成代码
2.逆向转出工程:根据选择开发应用程序的语言生成对应的程序的代码。
步骤:检查模型-生成组件-将类映射组件-设置代码生成属性-选择类、组件和包-生成代码
概述
在这个面向对象应用程序开发不断变化的时代,在合理时间内开发和管理高质量应用程序变得越来越困难。为了面对这种挑战,制定出每个公司都能使用的通用对象模型语言,统一建模语言(UML)。UML是信息技术行业的蓝图,是详细描述系统结构的方法。利用这个蓝图,我们越来越容易建立和维护系统,保证系统能适应需求的改变。一个系统的模型建得好,就为满足用户需求、保证系统的稳定性和质量、提高系统的扩展性打下了良好的基础。ROSE是用UML快速开发应用程序的工具之一,它是一个面向对象的建模工具。
UML统一建模语言
UML,Unified Modeling Language,统一建模语言,是一种面向对象的建模语言,它的主要作用是帮助我们对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。UML通过建立各种类、类之间的关联、类/对象怎样相互配合实现系统的动态行为等成分(这些都称为模型元素)来组建整个模型,刻画客观世界。UML提供了各种图形,比如Use Case图、类图、顺序图、协作图、状态图等,来把这些模型元素及其关系可视化,让人们可以清楚容易的理解模型。我们可以从多个视角来考察模型,从而更加全面的了解模型,这样同一个模型元素可能会出现在多个图中,对应多个图形元素。
由视图view,图diagram,模型元素model element和通用机制general mechanism等几个部分组成 .视图是表达系统的某一方面特征的UML建模元素的子集,由多个图构成,是在某一个抽象层上,对系统的抽象表示.图是模型元素集的图形表示,通常为弧(关系)和顶点(其他模型元素)相互连接构成的.模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念.通用机制用于表示其它信息,比如注释、模型元素的语义等。另外,它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户.
UML是用来描述模型的,用模型来描述系统的结构或静态特征,以及行为或动态特征。从不同的视角为系统的构架建模,形成系统的不同视图(VIEW)。
用例视图(use case view),强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图;
逻辑视图(logical view),展现系统的静态或结构组成及特征,也称为结构模型视图(structural model view)或静态视图(static view);
并发视图(concurrent view),体现了系统的动态或行为特征,也称为行为模型视图(behavioral model view)、动态视图(dynamic view);
组件视图(component view),体现了系统实现的结构和行为特征,也称为实现模型视图(implementation model view) ;
配置视图(deployment view),体现了系统实现环境的结构和行为特征,也称为环境模型视图(environment model view)或物理视图(physical view)。
建模工具Rose 之游
ROSE是美国Rational公司的面向对象建模工具,利用这个工具,我们可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB、Oracle等语言和系统的代码。
ROSE是个菜单驱动应用程序,用工具栏帮助使用常用特性。它的界面分为三个部分--Browser窗口、Diagram窗口和Document窗口。Browser窗口用来浏览、创建、删除和修改模型中的模型元素;Diagram窗口用来显示和创作模型的各种图;而Document窗口则是用来显示和书写各个模型元素的文档注释。
Rose界面
Rose模型的四个视图是Use Case视图 、Logical视图、Component视图和Deployment视图。每个视图针对不同对象,具有不同用途。Use Case视图包括系统中的所有角色、案例和Use Case图,还包括一些Sequence图和Collaboration图。
Use Case视图
Logical视图关注系统如何实现使用案例中提到的功能。它提供系统的详细图形,描述组件间如何关联。除其它内容之外,Logical视图还包括需要的特定类、Class图和State Transition 图。利用这些细节元素,开发人员可以构造系统的详细设计。
Logical视图
Component视图包括模型代码库、执行库和其它组件的信息。组件是代码的实际模块。Component视图的主要用户是负责控制代码和编译部署应用程序的人。有些组件是代码库,有些组件是运行组件,如执行文件或动态链接库(DLL)文件。
Collaboration图关注系统的部署,可能与系统的逻辑结构不同。整个小组都用Collaboration图了解系统部署,但用户是发布应用程序的人员。
Rose的九种图
用例图use case diagram,描述系统功能
类图class diagram,描述系统的静态结构
对象图object diagram,描述系统在某个时刻的静态结构
序列图sequence diagram,按时间顺序描述系统元素间的交互
协作图Collaboration diagram,按照时间和空间顺序描述系统元素间的交互和它们之间的关系
状态图state diagram,描述了系统元素的状态条件和响应
活动图activity diagram,描述了系统元素的活动
组件图component diagram,描述了实现系统的元素的组织
配置图deployment diagram,描述了环境元素的配置,并把实现系统的元素映射到配置上
根据它们在不同架构视图的应用,可以把9种图分成:
用户模型视图:用例图
结构模型视图:类图、对象图
行为模型视图:序列图、协作图、状态图、活动图(动态图)
实现模型视图:组件图
环境模型视图:配置图