文档详情

第7章信息系统开发新方法

小**
实名认证
店铺
PPT
582.50KB
约100页
文档ID:49443237
第7章信息系统开发新方法_第1页
1/100

第7章 信息系统开发新方法7.1 原型开发方法7.2 面向对象开发方法7.3 标准建模语言(UML)简介7.4 CASE开发方法7.1 原型开发方法7.1.1 原型方法的开发步骤原型开发方法是随着计算机软件技术的发展,特别是在关系数据库系统、第四代程序设计语言和各种系统开发生成环境的基础上,提出的一种从设计思想到工具、手段都全新的系统开发方法 1. 原型的概念原型开发方法首先由用户提出开发要求,开发人员识别和归纳用户要求,根据识别、归纳的结果,构造出一个原型,然后同用户一起评价这个原型如果根本不行,则重新构造原型;如果不满意,则修改原型,直到用户满意为止这里所谓的 原型(Protype),是目标系统的一个可执行模型或引导性的版本,在需求分析和系统设计过程中用于开发人员与用户之间进行通信原型开发方法通常要求能快速地构造出原型原型的快速实现技术称为快速原型技术,目前一般采用计算机辅助原型开发技术它需要有一个强有力的软件支撑环境,称为原型支持环境通常原型开发方法所需要的软件支撑环境有: ① 一个方便灵活的关系数据库系统(RDBS);② 一个与RDBS相对应的快速查询系统,能支持任意非过程化的组合条件的查询;③ 一套高级的软件工具(如第四代语言或信息系统开发生成环境等),允许采用交互方式进行书写和维护以迅速产生任意程序语言的模块(即原型);④ 一个非过程化的报表或屏幕生成器,允许设计人员详细定义报表或屏幕输出样本。

原型按照建立的目的不同可分为抛弃型原型和增量渐进型原型 2. 抛弃型原型抛弃型原型主要用于验证软件需求以及设计方案和算法,这是当前使用较广泛的原型由于建立这类原型的目的在于使用户和开发人员较快地确定和建立需求,或者确定设计方案的可行性和其它技术性能,因而原型只集中于要验证的主要方面,而忽略其次要方面,以求得快速和少用资源所以,许多因素如性能、错误处理以及其它质量因素一般均不予考虑抛弃型原型不是一个完整的软件成分,验证后可抛弃不用图7.1为抛弃型原型开发方法的模型,图中各步骤的意义如下: 图7.1 抛弃型原型开发模型 1) 决定需求这是决定用原型回答什么问题,典型问题有:① 提出的系统行为适合用户需要吗?② 系统输入输出界面可接受吗?③ 提出的性能要求能满足吗?2) 构造原型用手工或原型开发环境来构造原型3) 执行原型由最终用户实际运行原型后,提出意见,并对需求进行调整,重新 构造原型4) 系统实现抛弃型原型只是作为开发过程的一种辅助工具,在用户需求确定后 ,再按所采用方法实现目标软件的进一步开发3. 增量渐进型原型与抛弃型原型不同,建立增量渐进型原型的主要目的是要开发目标系统,而不只是为了满足需求和设计验证的需要。

增量渐进型原 型开发方法的工作步骤如下:① 通过调查和可利用的文档,获得对用户需求的初始的理解;② 基于已知的需求,构造一个快速原型;③ 向用户演示原型,并让最终用户使用一个时期;④ 从用户获得反馈,用此反馈修改已知需求;⑤ 构造下一代原型,将用户的新需求结合进来;⑥ 重复以上过程,直到新的应用系统开发结束并提交用户增量渐进型原型开发模型使得原型方法由软件开发过程中的辅助工具发展成为一种软件开发方法7.1.2 原型开发方法的特点原型方法具有如下几个方面的特点1) 原型方法更符合人们认识事物的规律,因而更容易被人们普遍接受结构化方法在设计之前,要求人们能够精确地描述对目标系统的需求,这一点通常难以做到人们认识任何事物都不可能一次完全了解,并把工作做得尽善尽美人们对于事物的描述,往往都是受到环境的启发而不断完善的建立一个原型让用户来评价,提出改进的意见要比让用户空洞地描述对目标系统的设想更容易 (2) 原型方法将模拟的手段引入系统分析的初期阶段,沟通了人们的思想,缩短了用户和分析人员之间的距离,解决了结构化方法中最难于解决的一个环节通过原型可以启发用户对原来想不起来或不易准确描述的问题有一个比较确切的描述;能够及早暴露系统实现后存在的问题,促使人们在系统实现之前就加以解决。

3) 充分利用了最新的软件工具,使系统开发的时间、费用大大减少,效率、技术等都大大提高当然,原型开发方法也不是万能的,它有其一定的适用范围和局限性这主要表现在: (1) 对于一个大型的系统,如果不经过系统分析来进行整体性划分,想要直接用屏幕来一个一个地模拟是很困难的要想将原型开发方法应用于一个大型信息系统开发过程的各个环节是不可能的,因此,一般被用于小型局部系统或处理过程比较简单的系统设计到实现的环节2) 对于含有大量运算的逻辑性较强的程序模块,原型方法很难构造出模型来供认评价,因为这类问题缺少交互性,也不容易三言两语把问题说清楚3) 对于原基础管理不善、信息处理过程混乱的问题,使用原型开发方法有一定的困难主要原因是工作过程不清,构造原型有一定困难;其次,由于基础管理不好,没有科学合理的方法可依,系统开发容易走上机械地模拟原来手工系统的轨道 7.2.1 面向对象技术的发展过程20世纪70年代末至80年代初,计算机应用领域日渐扩大,系统软件和应用软件的需求日益多样化,系统规模日益膨胀,传统的结构化分析方法和面向过程的编程技术已无法给予有效的支持,从而导致软件的生产方式和效率远远赶不上信息化社会发展的需要。

人们开始寻找和研究新的方法和技术,面向对象方法和技术应运而生面向对象(Object Orient,简称为OO)方法和技术起源于面向对象的程序设计语言(OOPL)20世纪80年代以来,大批OOPL的出现和实用性、效率的不断提高,标志着OO技术开始走向繁荣和实用化7.2 面向对象开发方法面向对象方法适合于解决分析与设计期间的复杂性并实现分析与设计的复用从20世纪80年代中期开始,面向对象技术的焦点逐渐从程序设计转移到软件工程的其它阶段,面向对象分析与设计(OOA和OOD)技术得到了快速的发展,初步形成新的方法论和开发技术近年来又出现了一些新的高级技术,例如面向对象数据库、对象分布、对象总线、面向对象的系统框架构造以及面向对象的系统集成等 7.2.2 面向对象方法的基本思想与用过程化方式描述应用系统的传统的结构化程序设计方法不同,面向对象的方法认为客观世界是由各种各样的对象组成的,每个对象都有各自的内部状态和运动规律,不同对象之间通过消息传送相互作用和联系就构成了各种不同的系统将对象模型映射到计算机上,面向对象方法将软件系统看成是一系列对象的集合,并强调描述对象性质的数据及行为的紧密联系——数据和行为的封装技术。

例如,学籍管理系统可以看成是由学生、教师、课程、各种规章制度等多个彼此独立而又相互关联的对象集合而成面向对象的本质是确定动作的主体在先,而执行动作在后这种面向对象的模式称为“主体—动作”模式例如,学生总是先选定某门课程,然后才去考虑如何学好这门课程而在窗口系统的界面上,总是先选定一个界面对象(图标或按钮),然后在其上进行相应的操作(例如移动、单击等)反映面向对象本质的“主体—动作”模式是与人们对客观世界的认识规律相符合的因此,采用对象的观点看待所要解决的问题,并将其抽象为系统是极其自然与简单的,符合人类的 思维习惯,应用系统也更容易被理解主体—动作”模式的特点是将对象作为软件系统结构的基本组成单元,以主体数据为中心,对数据和作用在数据上的操作进行封装,以标准接口对 外提供服务 7.2.3 面向对象的基本概念1. 对象(Object)对象是客观世界中事物在计算机领域中的抽象,是一组数据(描述对象的特性或属性)和施加于该组数据上的一组操作(行为)组成的集合体例如,Windows系统中窗口上的一个文本框对象包含有外部名(Name)、字体(Font)、数据源(Data Source)、前景颜色(Fore Color)、高度和宽度(Height Width)等多种属性,同时还带有单击左键(Click)、双击左键(Double Click)、修改文本(Change)等多个操作。

对象的属性可以是简单数据类型、结构数据类型,也可以是复杂数据类型(另一个对象)例如,公司是对象,公司中包含有员工这一属性,而员工本身又是一个对象 从系统的观点出发,可以给对象作如下定义:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,一个对象是由一组属性和对这组属性进行操作的一组服务构成的属性是用来描述对象静态特征的一个数据项,也叫对象特性;服务是用来描述对象动态特征(行为)的一个操作;属性和操作称为对象的性质当系统运行时,系统中的对象显现出其动态特征,即对象内部状态的转换和对象间的相互作用例如,A对象向B对象传送一个消息,这一消息附带的一个事件可能导致B对象被激发或B对象由于执行某一传送方所要求的操作,改变了某些内部属性值,从而由一个状态转入另一个状态(对象的一个状态是由某些内部属性值构成的) 在面向对象系统中,对象之间的相互作用是通过消息传送来进行的消息是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识、服务标识、输入信息和回答信息消息通常由接收对象(提供服务的对象标识)、调用操作名(服务标识)以及必要的参数等三部分组成消息的接收者是提供服务的对象,在设计该对象时,它对外提供的每个服务应规定消息的格式——消息协议。

消息的发送者是要求服务的对象或其它系统成分,在每个发送点上,需要按服务方规定的消息协议写出一个完整的消息当一个对象映射为软件实现时由三个部分组成:(1) 私有的数据结构它用于描述对象的内部状态2) 处理,称为操作或方法它是施加于数据结构之上的3) 接口这是对象可被共享的部分,消息通过接口调用相应的操作接口规定哪些操作是允许的;它不提供操作是如何实现的信息 客观世界的同一对象在不同的应用系统中,由于考察对象的角度不同,对其抽象的数据结构和操作都可能是不同的例如,对于一个学生,在学籍管理系统与户籍管理系统两个不同的应用系统中,抽象出的表示内部状态的数据结构和对数据结构进行的操作都是不同的因此,在对实际应用系统中的对象进行分析时应注意该系统的要求,区分哪些是该对象的本质特征 2. 类与实例把具有共性的一些事物归为一类,是人们认识客观世界和分析问题的一般方法这里的共性是指事物的本质特征,分类实际上是一种 抓住事物的本质而忽略一些无关紧要的细节的抽象过程,例如图7.2中从各种自行车到自行车类抽象 图7.2 各种自行车到自行车类的抽象 同样,采用面向对象方法进行系统分析与设计时,对于一个具体的系统而言,可能存在很多具有相同特征的对象。

例如,对于一个学籍管理系统,存在许多学生对象,它们具有相同的结构特征和行为特征,只是表示内部状态的数据值不同为了描述这种相同结构特征和行为特征的对象,面向对象方法引入了类的概念类是一组具有相同性质(属性和操作)的对象的抽象,或者说类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分类是对一组具有相同特征的对象的抽象描述,所有这些对象都是这个类的实例对于学籍管理系统,学生是一个类,而一个具体的学生则是学生类的一个实例一个类的不同实例具有相同的操作或行为的集合和相同的信息结构或属性的定义,但属性值可以不同;不同的实例具有不同的对象标识对于学生类中的每一个对象,描述它们所使用的数据结构相同,但是其值不同因此,一个类的定义至少包含以下两个方面的描述:① 该类所有实例的属性定义或结构定义; ② 该类所有实例的操作(或行为)的定义在一个系统中,每一个对象均属于某个类,类似对象的属性和操作的定义模板,而实例是某个具体的对象7.2.4 面向对象系统的特性一个对象具有抽象、继承性、封装性和多态性等特性,要构造一个 性能优越的面向对象系统必须充分利用面向对象方法的这些特性。

1. 抽象所谓抽象是指在分析问题时,强调实体的本质、内在属性而忽略 一些无关紧要的细节它是分析问。

下载提示
相似文档
正为您匹配相似的精品文档