信息系统开发方法_第1页
信息系统开发方法_第2页
信息系统开发方法_第3页
信息系统开发方法_第4页
信息系统开发方法_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第14章章 信息系统开发方法信息系统开发方法一、开发方法的回顾1、20世纪50年代数据处理系统;这是面向处理;数据跟随程序,即针对一个处理程序,就有一个专为它提供数据的数据文件跟随于它。2、20世纪60年代面向数据,建立数据库,围绕数据库编写各种应用程序。系统开发无开发方法1968 年北大西洋公约 组织 的计算机 科学家在联邦德国召开国际会议,第一次讨论软件危机问题,并正式提出“软件工程”一词 。早期出现的软件危机主要表现在: 软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。软件的可靠性差。尽管耗费了

2、大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。生产出来的软件难以维护。很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。进入80年代以来,尽管软件工程研究与实践取得了可喜的成就,软件技术水平有了长足的进展,但是软件生产水平依然远远落后于硬件生产水平的发展速度。软件危机不仅没有消失,还有加剧之势。主要表现在:软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性

3、能和产量迅速提高。然而软件开发需要大量人力,软件成本随着软件规模和数量的剧增而持续上升。从美、日两国的统计数字表明,1985年度软件成本大约占总成本的90。软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要,软件产品供不应求的状况使得人类不能充分利用现代计算机硬件所能提供的巨大潜力。 又称结构化生命周期法,是最传统、应用最广泛的一种系统开发方法。新系统运行新系统运行小量修改、维护、评价活动小量修改、维护、评价活动原系统(现行系统)运行原系统(现行系统)运行系统开发的各个阶段系统开发的各个阶段小量修改、维护、小量修改、维护、评价活动评价活动新系统生命周期新系统生命周期原系统生命周期原

4、系统生命周期系统规划系统规划系统分析系统分析(逻辑设计逻辑设计)系统设计系统设计(物理设计物理设计)系统实施系统实施自顶向下自顶向下二、二、(1)识别基本需求)识别基本需求(2)构造初始原型)构造初始原型(3)使用和验证原型)使用和验证原型(4)修正和改进原型)修正和改进原型(5)判断原型完成)判断原型完成(6)生成文档并交付使用)生成文档并交付使用系统开发效益高系统开发效益高系统适用性强系统适用性强系统可维护性好系统可维护性好系统可扩充性好系统可扩充性好易学易用易学易用原型化方法适用于用户需求不清,管理及业务处原型化方法适用于用户需求不清,管理及业务处理不稳定,需求常常变化理不稳定,需求常常

5、变化规模小,不太复杂,而且不要求集中处理的系统规模小,不太复杂,而且不要求集中处理的系统有比较成熟借鉴经验的系统开发有比较成熟借鉴经验的系统开发用于开发信息系统中的最终用户界面用于开发信息系统中的最终用户界面原型法的最大优点是能提高用户满意度原型法的最大优点是能提高用户满意度使用原型法开发系统周期短,成本低使用原型法开发系统周期短,成本低 原型化方法不适于开发大的系统原型化方法不适于开发大的系统原型化方法开发的时候,测试和文档工作常常容易原型化方法开发的时候,测试和文档工作常常容易被忽略被忽略原型化方法的另一个缺点是运行的效率可能会比较原型化方法的另一个缺点是运行的效率可能会比较低低 面向对象

6、方法的产生面向对象方法的产生q 面向对象的概念面向对象的概念q 面向对象方法在开发系统过程中的阶段面向对象方法在开发系统过程中的阶段q 面向对象方法的特点面向对象方法的特点q 面向对象方法与结构化方法的比较面向对象方法与结构化方法的比较q 面向对象的分析与设计语言面向对象的分析与设计语言UML传统开发方法存在的问题传统开发方法存在的问题问题空间与求解空间的不一致问题空间与求解空间的不一致 系统分析到系统设计转换困难系统分析到系统设计转换困难处理模型和数据模型分别建立处理模型和数据模型分别建立 忽视信息系统的行为特征忽视信息系统的行为特征 对象是面向对象系统运行过程中的基本实体对象是面向对象系统

7、运行过程中的基本实体既包括属性,也包括作用于属性的行为既包括属性,也包括作用于属性的行为传统语言的操作数据是被动地等待相应的操作去处传统语言的操作数据是被动地等待相应的操作去处理,但对象是一个主动的数据实体,其中封装了一理,但对象是一个主动的数据实体,其中封装了一组对该数据的操作,所以对组对该数据的操作,所以对“对象对象”和传统的和传统的“数数据据”的使用方法也不同的使用方法也不同 消息是对象之间进行通讯的一种数据结构消息是对象之间进行通讯的一种数据结构对象之间是通过传递消息来进行联系的对象之间是通过传递消息来进行联系的消息用来请求对象执行某一处理或提供某些信息的消息用来请求对象执行某一处理或

8、提供某些信息的要求,控制流和数据流统一包含在消息中要求,控制流和数据流统一包含在消息中 程序的执行是靠对象间传递消息来连接的程序的执行是靠对象间传递消息来连接的 消息传送与函数调用的区别消息传送与函数调用的区别 函数调用可以带或不带参数,但是消息至少带一个参数,函数调用可以带或不带参数,但是消息至少带一个参数,它表明接收消息的对象它表明接收消息的对象消息操作名类似于函数名,但它们之间的本质区别在于:消息操作名类似于函数名,但它们之间的本质区别在于:函数名代表一段可执行的代码,但消息操作名具体功能的选函数名代表一段可执行的代码,但消息操作名具体功能的选取还取决于接收消息的对象本身取还取决于接收消

9、息的对象本身函数调用是过程式的(如何做),消息传送是说明式的函数调用是过程式的(如何做),消息传送是说明式的(做什么),具体如何做,由对象根据收到的消息自行确定(做什么),具体如何做,由对象根据收到的消息自行确定 类是对一组对象的抽象类是对一组对象的抽象将该组对象所具有的共同特征(包括操作特征和存将该组对象所具有的共同特征(包括操作特征和存储特征)集中起来,以说明该组对象的能力和性质储特征)集中起来,以说明该组对象的能力和性质 继承指对象继承它所在类的结构、操作和约束继承指对象继承它所在类的结构、操作和约束也指一个类继承超类或子类继承父类的结构、操作也指一个类继承超类或子类继承父类的结构、操作

10、或约束。继承是自动共享类、子类和对象中的方法或约束。继承是自动共享类、子类和对象中的方法和数据的机制和数据的机制 封装是一种信息隐藏技术封装是一种信息隐藏技术所谓所谓“封装封装”是指把对象的属性和操作方法同时封是指把对象的属性和操作方法同时封装在定义对象中装在定义对象中用操作集来描述可见的模块外部接口,从而保证了用操作集来描述可见的模块外部接口,从而保证了对象的界面独立于对象的内部表达对象的界面独立于对象的内部表达对象的操作方法和结构是不可见的,接口是作用于对象的操作方法和结构是不可见的,接口是作用于对象上的操作集的说明,这是对象唯一的可见部分对象上的操作集的说明,这是对象唯一的可见部分 实例

11、就是由某个特定的类所描述的一个具体的对象实例就是由某个特定的类所描述的一个具体的对象类是对具有相同属性和行为的一组相似的对象的抽类是对具有相同属性和行为的一组相似的对象的抽象象类在现实世界中并不能真正存在类在现实世界中并不能真正存在 1.系统调查和需求分析 对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,既弄清干什么的问题. 2.分析问题的性质和求解问题 在复杂的问题域中抽象地识别出对象及其结构,属性,方法等.即面向对象的分析(OOA) 3.整理问题 对分析的结构作进一步的抽象,归类,整理.即面向对象的设计(OOD) 4.程序实现 利用面向对象程序设计语言将上一步的成果直接映

12、射为应用程序软件.即面向对象程序设计(OOP)基本步骤: 标识对象 标识属性 标识方法 标识结构 标识主题OOD分为四个部分: 问题空间部分的设计 人机交互部分的设计 任务管理部分的设计 数据管理部分的设计以对象为基础,利用特定的软件模块,完成从对象以对象为基础,利用特定的软件模块,完成从对象客体的描述到软件结构之间的转换客体的描述到软件结构之间的转换避免了其它方法在开发过程中的不一致性和复杂性避免了其它方法在开发过程中的不一致性和复杂性系统的开发具有简单性、统一性系统的开发具有简单性、统一性开发周期短,费用低开发周期短,费用低(1 1)对问题空间的理解更直接,更符合人们认识客观事物的)对问题

13、空间的理解更直接,更符合人们认识客观事物的思维规律。思维规律。 结构化方法把现实世界映射成数据流和加工,但它把数结构化方法把现实世界映射成数据流和加工,但它把数据流和控制流分开讨论,二者有时难以统一,而且数据流方据流和控制流分开讨论,二者有时难以统一,而且数据流方法主要构造的还是过程模型,它描述数据结构的能力仍然很法主要构造的还是过程模型,它描述数据结构的能力仍然很弱,一般还需要另外使用诸如弱,一般还需要另外使用诸如E-RE-R图之类的工具来建立数据的图之类的工具来建立数据的逻辑模型,造成了过程和数据的分离。逻辑模型,造成了过程和数据的分离。 而面向对象方法把二者统一于对象内部,加工过程映射而

14、面向对象方法把二者统一于对象内部,加工过程映射为对象的操作,数据映射为对象的属性,任何数据和与这些为对象的操作,数据映射为对象的属性,任何数据和与这些数据相关的过程都是与相关的对象共同生存的,这样增强了数据相关的过程都是与相关的对象共同生存的,这样增强了模型的一致性和准确性模型的一致性和准确性。 (2 2)系统分析和系统设计使用同一模型,不存在过渡困难。)系统分析和系统设计使用同一模型,不存在过渡困难。 结构化方法的另一个主要问题是从分析过渡到设计有结构化方法的另一个主要问题是从分析过渡到设计有双重负担,一是构造方法的转换;一是添加实施细节。双重负担,一是构造方法的转换;一是添加实施细节。 而

15、在面向对象方法中,从分析到设计使用相同的基本而在面向对象方法中,从分析到设计使用相同的基本表示,对象模型是整个开发过程中的一个统一的表示工具。表示,对象模型是整个开发过程中的一个统一的表示工具。好处不仅是减少了各个阶段模型之间的转换,较好地支持好处不仅是减少了各个阶段模型之间的转换,较好地支持模型到代码的正向工程及代码到模型的逆向工程,而且可模型到代码的正向工程及代码到模型的逆向工程,而且可以使需求的变化较为容易地同步到模型和代码中。以使需求的变化较为容易地同步到模型和代码中。(3 3)开发出来的信息系统从本质上具有更强的生命力。需)开发出来的信息系统从本质上具有更强的生命力。需求的不断变化是

16、我们不得不接受的事实。求的不断变化是我们不得不接受的事实。 结构化方法基于功能分析与功能分解,而用户的需求结构化方法基于功能分析与功能分解,而用户的需求变化往往是功能或流程的变化,因此开发出来的系统是不变化往往是功能或流程的变化,因此开发出来的系统是不稳定的。稳定的。 而问题空间的对象最稳定,它们对潜在变化最不敏感。而问题空间的对象最稳定,它们对潜在变化最不敏感。面向对象方法使代表共性的对象稳定下来,而把不稳定的面向对象方法使代表共性的对象稳定下来,而把不稳定的东西隐藏起来。这样可避免增加复杂性,系统对环境的适东西隐藏起来。这样可避免增加复杂性,系统对环境的适应和应变能力也随之增强。应和应变能力也随之增强。(4 4)维护成本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论