E-Government,国家“十一五”规划教材,电子政务,孙宝文 王天梅 主编,第六章 电子政务系统的开发,第六章 电子政务系统的开发,了解信息系统开发的主要方法和 掌握信息系统开发的主要过程 重点掌握面向对象的电子政务系统建设的需求捕获、系统分析、系统设计工作的主要内容和主要步骤,学习目标,第六章 电子政务系统的开发,第一节 信息系统开发方法和开发过程 第二节 电子政务系统的需求捕获 第三节 电子政务系统分析 第四节 电子政务系统的设计 第五节 电子政务系统的实施和测试 本章小结,第一节 信息系统开发方法和开发过程,一、信息系统开发方法 二、信息系统的开发过程,一、信息系统开发方法,(一)信息系统常见开发方法简介 1.结构化系统开发方法 (1)结构化系统开发方法的基本思想 结构化系统开发方法是迄今为止最传统、应用最广泛的一种系统开发方法结构化系统开发方法的基本思想是利用系统工程的思想和工程化的方法,以用户至上为原则,按结构化、模块化、自顶向下的方法对系统进行分析与设计一、信息系统开发方法,(一)信息系统常见开发方法简介 1.结构化系统开发方法 (2)结构化开发方法的开发过程,一、信息系统开发方法,(3)结构化开发方法的特点 对现实世界的认识与系统编程之间存在着理解上的鸿沟 系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要经常性地修改时,修改变得极为困难 这种结构是无法适应以控制关系为重要特性的系统要求 自顶向下功能分解的分析设计方法极大地限制了软件的可重用性,一、信息系统开发方法,(一)信息系统常见开发方法简介 2.原型法 (1)原型法的基本思想 原型法是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。
原型就是模型,而原型系统就是应用系统的模型,它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分功能这个模型可在运行中被检查、测试、修改,直到它达到用户需求为止,因而,这个工作模型能很快转换成目标系统一、信息系统开发方法,(2)原型法开发过程,一、信息系统开发方法,(3)原型法的特点 原型法的主要优点在于它是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用;它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显原型法既适用于系统的重新开发,也适用于对系统的修改;它不局限于仅对开发项目中的计算机软硬件进行设计,还可用于制作系统的工作模型原型法可以与结构化系统开发方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解一、信息系统开发方法,原型法的使用有一定的适用范围和局限性,这主要表现在以下几个方面: 对于一个大型的系统,如果我们不经过系统分析来进行整体性划分,想要直接用屏幕来一个一个地模拟是很困难的 对于大量运算性和逻辑性较强的程序模块,原型方法很难构造出模型来供人评价 对于原基础管理不善、信息处理过程混乱的问题,原型法的使用存在一定的困难。
对于一个批处理系统,其大部分是内部处理过程,这时用原型法有一定的困难一、信息系统开发方法,(一)信息系统常见开发方法简介 3.面向对象的开发方法 (1)面向对象开发方法的发展背景 面向对象(Object Oriented)方法的形成最初是从面向对象程序设计语言开始的,随之才逐渐形成面向对象分析和设计方法 面向对象编程语言的出现以20世纪60年代末挪威奥斯陆大学和挪威计算中心共同研制的SIMULA语言为标志一、信息系统开发方法,(2)面向对象开发方法的发展背景 客观事物都是由对象(Object)组成的 对象由属性和方法组成属性(Attribute)反映了对象的信息特征,如特点、值、状态等等而方法(Method)则是用来定义改变属性状态的各种操作 对象之间的联系主要是通过传递消息(Message)来实现的 对象可按其属性进行归类类(class)有一定的结构,类上可以有超类(Superc1ass),类下可以有子类(Subclass)这种对象或类之间的层次结构是靠继承关系维系着的 对象是一个被严格模块化了的实体,称之为封装(Encapsulation)一、信息系统开发方法,(3)面向对象开发方法的开发过程,一、信息系统开发方法,第一阶段:分析问题的性质和求解问题。
对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等这一阶段一般称为面向对象分析,简称为OOA(Object-Oriented Analysis) 第二阶段:整理问题即对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来这一阶段一般被称为面向对象设计,简称为OOD(Object-Oriented Design) 第三阶段:程序实现即用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序语言来取代)为应用程序软件这一阶段一般被称为面向对象的编程,简称为OOP(Object-Oriented Programming)一、信息系统开发方法,(4)面向对象开发方法的特点 较好地处理软件的规模和复杂性不断增加所带来的问题 通过使用各种直接模仿应用领域的实体得到的抽象和对象,使规格说明和设计更加完整和易于理解 通过形成界面更少、更抽象、聚集度更高的模块,提高了软件工程中的模块化和信息隐藏度 面向对象程序设计语言和面向对象数据库管理系统的使用,大大缩小了代码规模,提高了效率和可复用性。
一、信息系统开发方法,(二)统一建模语言 1.面向对象的开发方法与UML 面向对象的开发方法的发展在20世纪80年代末至90年代中出现了一个高潮,UML(Unified Modeling Language,统一建模语言)是这个高潮的产物它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言一、信息系统开发方法,(二)统一建模语言 1.面向对象的开发方法与UML 1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作他们首先将Booch93和OMT-2统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM0.8(Unitied Method)1995年秋,OOSE的创始人Ivar Jacobson加盟这一工作经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年发布了新的版本,即UML0.9,并将UM重新命名为UML,集成了各种面向对象方法的优点,成为一个更具综合性的统一方法一、信息系统开发方法,(二)统一建模语言 2.UML静态建模 任何建模语言都以静态建模机制为基础,统一建模语言UML也不例外。
UML的静态建模机制包括用例图(use case diagram)、类图(class diagram)、对象图(object diagram)、包(package)、组件图(component diagram)和配置图(deployment diagram)一、信息系统开发方法,2.UML静态建模 (1)用例图 UML中的角色是指触发系统的用户,用例是指系统的功能用例图用于描述若干角色以及这些角色与系统提供的用例之间的关系用例图仅仅从角色使用系统的角度描述系统的信息,也就是站在系统外部察看系统功能,它并不描述系统内部对该功能的具体操作方式,用例图定义的是系统的功能需求一、信息系统开发方法,2.UML静态建模 (1)用例图,用例图示意,一、信息系统开发方法,2.UML静态建模 (2)类图 UML中的类用来表示系统中需要处理的事物类与类之间有多种连接关系,比如:关联关系(彼此之间的连接)、依赖(一个类使用另一个类)、泛化(一个类是另一个类的子类)等类图就是用来表示系统中类和类之间的这些关系,它是对系统静态结构的描述一、信息系统开发方法,2.UML静态建模 (2)类图,一、信息系统开发方法,2.UML静态建模 (3)对象图 对象图是类图的变体。
两者之间的差别在于对象图表示的是类的对象实例,而不是真实的类对象图是类图的一个范例,它及时、具体地反映了系统执行到某处时的当前工作状况对象图没有类图重要,对象图通常用来示例一个复杂的类图,通过对象图反映真正的实例是什么,它们之间可能具有什么样的关系,以帮助人们对类图的理解一、信息系统开发方法,2.UML静态建模 (4)包 将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合UML中将这种机制叫做包(package) 包图主要显示由类组成的包以及这些包之间的依赖关系,有时还显示包和包之间的继承关系和组成关系一、信息系统开发方法,2.UML静态建模 (4) 包,一、信息系统开发方法,2.UML静态建模 (5)组件图和配置图 1) 组件图组件图显示软件组件之间的依赖关系一般来说,软件组件就是一个实际文件,可以是源代码文件、二进制代码文件和可执行文件等组件图可以用来显示编译、链接或执行时组件之间的依赖关系 2) 配置图配置图描述系统硬件的物理拓扑结构以及在此结构上执行的软件配置图可以显示计算结点的拓扑结构和通信路径、结点上运行的软件组件、软件组件包含的逻辑单元(对象、类)等配置图常常用于帮助理解分布式系统。
一、信息系统开发方法,(二)统一建模语言 3.UML动态建模 (1)消息 UML定义的消息类型有三种: 1) 简单消息表示简单的控制流,用于描述控制如何在对象间进行传递,而不考虑通信的细节 2) 同步消息表示嵌套的控制流,方法的调用是一种典型的同步消息调用者发出消息后必须等待消息返回,只有当处理消息的方法执行完毕后,调用者才可继续执行自己的方法 3) 异步消息表示异步控制流,当调用者发出消息后不用等待消息的返回即可继续执行自己的方法异步消息主要用于描述实时系统中的并发行为一、信息系统开发方法,3.UML动态建模 (2)状态图 状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件,表示单个对象在其生命周期中的行为一个状态图包括一系列的状态以及状态之间的转移 1) 状态状态图中定义的状态有:初态、终态、中间状态、复合状态如果一个状态可以进一步地细化为多个子状态,我们将其称作复合状态 2) 转移状态图中状态之间带箭头的连线被称为转移一、信息系统开发方法,3.UML动态建模 (3)顺序图 顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。
顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名一、信息系统开发方法,3.UML动态建模 (3)顺序图,一、信息系统开发方法,3.UML动态建模 (4)协作图 协作图用于描述相互合作的对象间的交互关系和链接关系虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样顺序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系一、信息系统开发方法,3.UML动态建模 (4)协作图,一、信息系统开发方法,3.UML动态建模 (5)活动图 活动图的应用非常广泛,它既可描述操作(即类的方法)的行为,也可以描述用例和对象内部的工作过程活动图是由状态图变化而来的,它们各自用于不同的目的活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果活动图中一个活动结束后将立即进入下一个活动一、信息系统开发方法,3.UML动态建模 (5)活动图,一、信息系统开发方法,4.UML建模应用过程 分析阶段捕捉系统的功能需求,分析、提取所开发系统的“客观世界”领域的类以及描述它们的协作关系,分。