第6章电子政务系统的开发.ppt
《第6章电子政务系统的开发.ppt》由会员分享,可在线阅读,更多相关《第6章电子政务系统的开发.ppt(116页珍藏版)》请在课桌文档上搜索。
1、E-Government,电子政务,第六章 电子政务系统的开发,3,第六章 电子政务系统的开发,了解信息系统开发的主要方法和掌握信息系统开发的主要过程重点掌握面向对象的电子政务系统建设的需求捕获、系统分析、系统设计工作的主要内容和主要步骤,学习目标,4,第六章 电子政务系统的开发,第一节 信息系统开发方法和开发过程第二节 电子政务系统的需求捕获第三节 电子政务系统分析第四节 电子政务系统的设计第五节 电子政务系统的实施和测试本章小结,5,第一节 信息系统开发方法和开发过程,一、信息系统开发方法二、信息系统的开发过程,6,一、信息系统开发方法,(一)信息系统常见开发方法简介1结构化系统开发方法(
2、1)结构化系统开发方法的基本思想 结构化系统开发方法是迄今为止最传统、应用最广泛的一种系统开发方法。结构化系统开发方法的基本思想是利用系统工程的思想和工程化的方法,以用户至上为原则,按结构化、模块化、自顶向下的方法对系统进行分析与设计。,7,一、信息系统开发方法,(一)信息系统常见开发方法简介1结构化系统开发方法(2)结构化开发方法的开发过程,8,一、信息系统开发方法,(3)结构化开发方法的特点对现实世界的认识与系统编程之间存在着理解上的鸿沟 系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要经常性地修改时,修改变得极为困难这种结构是无法适应以控制关系为重要特性的系统要求 自顶向下功
3、能分解的分析设计方法极大地限制了软件的可重用性,9,一、信息系统开发方法,(一)信息系统常见开发方法简介2原型法(1)原型法的基本思想 原型法是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。原型就是模型,而原型系统就是应用系统的模型,它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分功能。这个模型可在运行中被检查、测试、修改,直到它达到用户需求为止,因而,这个工作模型能很快转换成目标系统。,10,一、信息系统开发方法,(2)原型法开发过程,11,一、信息系统开发方法,(3)原型法的特点 原
4、型法的主要优点在于它是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用;它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。原型法既适用于系统的重新开发,也适用于对系统的修改;它不局限于仅对开发项目中的计算机软硬件进行设计,还可用于制作系统的工作模型。原型法可以与结构化系统开发方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解。,12,一、信息系统开发方法,原型法的使用有一定的适用范围和局限性,这主要表现在以下几个方面:对于一个大型的系统,如果我们不经过系统分析来进行整体性划分,
5、想要直接用屏幕来一个一个地模拟是很困难的。对于大量运算性和逻辑性较强的程序模块,原型方法很难构造出模型来供人评价。对于原基础管理不善、信息处理过程混乱的问题,原型法的使用存在一定的困难。对于一个批处理系统,其大部分是内部处理过程,这时用原型法有一定的困难。,13,一、信息系统开发方法,(一)信息系统常见开发方法简介3面向对象的开发方法。(1)面向对象开发方法的发展背景。面向对象(Object Oriented)方法的形成最初是从面向对象程序设计语言开始的,随之才逐渐形成面向对象分析和设计方法。面向对象编程语言的出现以20世纪60年代末挪威奥斯陆大学和挪威计算中心共同研制的SIMULA语言为标志
6、。,14,一、信息系统开发方法,(2)面向对象开发方法的发展背景。客观事物都是由对象(Object)组成的。对象由属性和方法组成。属性(Attribute)反映了对象的信息特征,如特点、值、状态等等。而方法(Method)则是用来定义改变属性状态的各种操作。对象之间的联系主要是通过传递消息(Message)来实现的。对象可按其属性进行归类。类(class)有一定的结构,类上可以有超类(Superc1ass),类下可以有子类(Subclass)。这种对象或类之间的层次结构是靠继承关系维系着的。对象是一个被严格模块化了的实体,称之为封装(Encapsulation)。,15,一、信息系统开发方法,
7、(3)面向对象开发方法的开发过程,16,一、信息系统开发方法,第一阶段:分析问题的性质和求解问题。对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。这一阶段一般称为面向对象分析,简称为OOA(Object-Oriented Analysis)。第二阶段:整理问题。即对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来。这一阶段一般被称为面向对象设计,简称为OOD(Object-Oriented Design)。第三阶段:程序实现。即用面向对象的程序设计语言将上一步整理的范
8、式直接映射(即直接用程序语言来取代)为应用程序软件。这一阶段一般被称为面向对象的编程,简称为OOP(Object-Oriented Programming)。,17,一、信息系统开发方法,(4)面向对象开发方法的特点较好地处理软件的规模和复杂性不断增加所带来的问题。通过使用各种直接模仿应用领域的实体得到的抽象和对象,使规格说明和设计更加完整和易于理解。通过形成界面更少、更抽象、聚集度更高的模块,提高了软件工程中的模块化和信息隐藏度。面向对象程序设计语言和面向对象数据库管理系统的使用,大大缩小了代码规模,提高了效率和可复用性。,18,一、信息系统开发方法,(二)统一建模语言1面向对象的开发方法与
9、UML面向对象的开发方法的发展在20世纪80年代末至90年代中出现了一个高潮,UML(Unified Modeling Language,统一建模语言)是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。,19,一、信息系统开发方法,(二)统一建模语言1面向对象的开发方法与UML1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。他们首先将Booch93和OMT-2统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM0.8(Unitied Me
10、thod)。1995年秋,OOSE的创始人Ivar Jacobson加盟这一工作。经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年发布了新的版本,即UML0.9,并将UM重新命名为UML,集成了各种面向对象方法的优点,成为一个更具综合性的统一方法。,20,一、信息系统开发方法,(二)统一建模语言2UML静态建模任何建模语言都以静态建模机制为基础,统一建模语言UML也不例外。UML的静态建模机制包括用例图(use case diagram)、类图(class diagram)、对象图(object diagram)、包(package)、组件图(component
11、diagram)和配置图(deployment diagram)。,21,一、信息系统开发方法,2UML静态建模(1)用例图 UML中的角色是指触发系统的用户,用例是指系统的功能。用例图用于描述若干角色以及这些角色与系统提供的用例之间的关系。用例图仅仅从角色使用系统的角度描述系统的信息,也就是站在系统外部察看系统功能,它并不描述系统内部对该功能的具体操作方式,用例图定义的是系统的功能需求。,22,一、信息系统开发方法,2UML静态建模(1)用例图,用例图示意,23,一、信息系统开发方法,2UML静态建模(2)类图 UML中的类用来表示系统中需要处理的事物。类与类之间有多种连接关系,比如:关联关
12、系(彼此之间的连接)、依赖(一个类使用另一个类)、泛化(一个类是另一个类的子类)等。类图就是用来表示系统中类和类之间的这些关系,它是对系统静态结构的描述。,24,一、信息系统开发方法,2UML静态建模(2)类图,25,一、信息系统开发方法,2UML静态建模(3)对象图 对象图是类图的变体。两者之间的差别在于对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例,它及时、具体地反映了系统执行到某处时的当前工作状况。对象图没有类图重要,对象图通常用来示例一个复杂的类图,通过对象图反映真正的实例是什么,它们之间可能具有什么样的关系,以帮助人们对类图的理解。,26,一、信息系统开发方法,2
13、UML静态建模(4)包 将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合。UML中将这种机制叫做包(package)。包图主要显示由类组成的包以及这些包之间的依赖关系,有时还显示包和包之间的继承关系和组成关系。,27,一、信息系统开发方法,2UML静态建模(4)包,28,一、信息系统开发方法,2UML静态建模(5)组件图和配置图1)组件图。组件图显示软件组件之间的依赖关系。一般来说,软件组件就是一个实际文件,可以是源代码文件、二进制代码文件和可执行文件等。组件图可以用来显示编译、链接或执行时组件之间的依赖关系。2)配置图。配置图描述系统硬件的物理拓扑结构以及在此结构上执行的软
14、件。配置图可以显示计算结点的拓扑结构和通信路径、结点上运行的软件组件、软件组件包含的逻辑单元(对象、类)等。配置图常常用于帮助理解分布式系统。,29,一、信息系统开发方法,(二)统一建模语言3.UML动态建模(1)消息UML定义的消息类型有三种:1)简单消息。表示简单的控制流,用于描述控制如何在对象间进行传递,而不考虑通信的细节。2)同步消息。表示嵌套的控制流,方法的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的方法执行完毕后,调用者才可继续执行自己的方法。3)异步消息。表示异步控制流,当调用者发出消息后不用等待消息的返回即可继续执行自己的方法。异步消息主要用于描
15、述实时系统中的并发行为。,30,一、信息系统开发方法,3.UML动态建模(2)状态图状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件,表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。1)状态。状态图中定义的状态有:初态、终态、中间状态、复合状态。如果一个状态可以进一步地细化为多个子状态,我们将其称作复合状态。2)转移。状态图中状态之间带箭头的连线被称为转移。,31,一、信息系统开发方法,3.UML动态建模(3)顺序图 顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序
16、图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。,32,一、信息系统开发方法,3.UML动态建模(3)顺序图,33,一、信息系统开发方法,3.UML动态建模(4)协作图 协作图用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系。,34,一、信息系统开发方法,3.UML动态建模(4)协作图,35,一、信息系统开发方法,3.UML动态建模(5)活动图 活动图的应用非常广泛,它既可描述操作(即类的方法)的行为,也可以描述用例和对象内部的工作过程。活动图是由状态
17、图变化而来的,它们各自用于不同的目的。活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。活动图中一个活动结束后将立即进入下一个活动。,36,一、信息系统开发方法,3.UML动态建模(5)活动图,37,一、信息系统开发方法,4UML建模应用过程分析阶段。捕捉系统的功能需求,分析、提取所开发系统的“客观世界”领域的类以及描述它们的协作关系,分析阶段一般包括用例和域类分析。设计阶段。通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案,即通过设计模型描述技术上的解决方案。实现阶段。具体工作就是进行编码,同时对已构造的模型作相应的修正,并通过模型描述所开发系统的软硬件
18、配置情况。测试阶段。使用前几个阶段所构造的模型来指导和协助测试工作。,38,一、信息系统开发方法,未来的软件开发模式将会具有以下三个特点:首先,软件开发自动化的程度将越来越高;其次,在所开发的软件中隐藏的差错将越来越少;第三,在新型软件工程环境的支持下,将有能力开发出自适应的软件系统。统一建模语言UML及其集成化支持环境将为走向这个新的开发范式奠定坚实的基础。,39,二、信息系统的开发过程,(一)信息系统开发过程中的核心要素信息系统开发的最终结果是一种产品,其开发过程是由许多不同类型的人员共同参与的,开发过程一般需要通过使用一种或一组工具完成,同时,开发过程需要通过一定的管理技术和手段,因而也
19、属于项目管理的范畴。因此,在信息系统开发过程中存在几个核心因素,即人员、项目、产品、过程,这些因素及其之间的相互作用关系将影响开发工作的成败,40,二、信息系统的开发过程,(一)信息系统开发过程中的核心要素1人员至关重要人员将参与软件产品的开发,并贯穿其整个生命周期,他们或对产品提供资金,或进行规划、开发、管理、测试、使用,或从中受益。因此,指导产品开发的过程必须是面向人员的,也就是说,要便于人们应用。组织和管理开发项目的方式,即开发过程会极大地影响参与项目的人员。包括项目可行性、项目风险管理方式、开发组的结构、项目进度表的制定、项目的易理解性,以及项目完成的成就感。因此对适当的人员安排适当明
20、确的开发工作将使人员工作,将更加开发工作的效率。,41,二、信息系统的开发过程,(一)信息系统开发过程中的核心要素2项目创造产品一个开发项目将得到一种产品的新版本。生命周期中的第一个项目开发和发布最初的系统或产品。后续的项目周期将在很多版本之上延续系统的生命周期。在项目的整个生命周期中,项目组在项目实施的过程中必须综合考虑变化、迭代和组织模型这三方面的因素,以创造最佳产品。,42,二、信息系统的开发过程,(一)信息系统开发过程中的核心要素3产品不仅仅是代码在信息系统的开发中,开发的产品是一个软件系统。这里的产品不是单指所交付的代码,而是指整个系统。除了系统的源代码外,系统分析、设计的文档,有关
21、的需求、测试、生产、安装的操作也是系统的组成部分。系统是以机器其形式或人们可读形式给机器、工作人员和其他项目相关人员提供表示的所有制品。其中机器指工具、编译器或目标计算机;工作人员包括经历、架构工程师、开发人员、测试人员、行政管理人员等;项目相关人员包括投资者、用户、项目经理、生产线经理、生产人员等等。,43,二、信息系统的开发过程,(一)信息系统开发过程中的核心要素4工具支持过程,过程指导项目工具是将重复的任务自动化,使事情更有条理,管理大量信息,并指导开发人员沿着一套特定的开发路金前进。开发过程如果不考虑怎样将它自动化,那么这种开发过程只会有理论意义。开发工具如果不知道它们用来支持什么样的
22、过程,工具就没有应用价值。因此,过程和工具是相辅相成的。一方面,过程驱动工具的开发;另一方面,工具指导过程的开发。,44,二、信息系统的开发过程,(二)Rational统一过程(RUP)简介软件开发过程是一个将用户需求转化为软件系统所需要的活动的集合。统一过程不仅仅是一个简单的过程,而是一个通用的过程框架,可用于不同类型的软件系统。Rational 软件公司在1995年秋季引进了Objectory AB,并在已有的软件开发过程基础之上统一了基本规则,从而获得了突破。1998年6月,Rational公司公布了该产品的新版本Rational统一过程(Rational Unified Process
23、,RUP)5.0版本。,45,二、信息系统的开发过程,(二)Rational统一过程(RUP)简介RUP是目前软件开发业事实上的工作标准,RUP的突出特点表现为以下三个方面:RUP是用例驱动的;RUP以架构设计为中心;RUP是迭代和增量的过程。,46,二、信息系统的开发过程,47,二、信息系统的开发过程,(三)RUP的核心工作流,需求捕获,系统分析,系统设计,系统实施,系统测试,48,【案例6-1】财政部非贸易外汇管理信息系统的开发过程简介,49,第二节 电子政务系统的需求捕获,一、需求捕获的基本概念二、需求捕获的主要工作,50,一、需求捕获的基本概念,在系统开发过程中遇到的第一个问题是缺乏统
24、一定义、开发人员与客户易理解、易沟通的名词或术语来描述软件开发工作。客户所定义的“需求”对开发者来说是一个较高层次的产品概念,而且可能是一个从商业角度来定义的概念。而开发人员所说的“需求”对用户来说则象是详细设计,并且可能会包含许多一般客户所不能或不易理解的内容。实际上,软件需求包含着多个层次,不同层次的需求从不同角度与不同程度反映着整个系统的细节问题。,51,一、需求捕获的基本概念,系统需求可以划分为功能性需求和非功能性需求两种:功能性需求定义的是在信息系统必须包括的功能或某种行为,它们被用户所接受和使用,如处理存款,计算平均学分等都是系统的功能性需求。非功能性需求则指的是系统的属性、特点或
25、者是某种特性,这些属性、特点或特性同时也限制了系统解决方案的可选范围,如性能要求、系统经费投入要求、系统的安全限制要求都属于系统的非功能性需求。,52,一、需求捕获的基本概念,2需求捕获的目的和意义需求捕获工作的主要目的是开发一个正确的系统。为了开发出正确的、能满足客户需求并解决客户问题的系统,需要以一种详细的方式来描述系统需求(也就是系统必须完成的功能、存在的条件、系统目标或能力),并通过一些必要的交流和调整使客户和开发人员在系统应该做什么、不应该做什么方面达成一致。需求捕获的重大意义在于获得系统需求,建立待开发系统的模型,而用例可以帮助我们更好地了解系统需求并以规范化的格式进行描述。功能性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子政务 系统 开发

链接地址:https://www.desk33.com/p-756061.html