第六讲:信息系统开发的基本思想
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生命周期法 正像人的生命周期要经历从出生、幼年期、少 年期、青年期、壮年期、老年期到死亡一样,软 件也有生命周期,它是指软件产品从形式概念开 始,经过开发,使用和不断增补修订,直到最后 被淘汰的整个过程,通常这个生命周期分为七个 阶段: (1 ) 可行性研究与计划; (2 ) 系统分析; (3 ) 系统设计; (4 ) 程序设计(系统实施); (5 ) 系统测试; (6 ) 运行和维护; (7 ) 废弃(终结)。
软件包含的内容
程序模块 数据文件 用户界面(输入/输出界面) 与其他系统的接口
原型法的特点
周期短,见效快。
符合人的认识规律。
对企业内外环境变化适
应能力较强。
对开发平台要求较高: ▲高性能的关系数据库管理系统; ▲第四代语言4GLs实现自动编程; ▲交互式、可视式工作环境; ▲数据字典管理系统(DDMS)。
所谓“面向对象”是一种认识客观世界的世界观, 从结构组织角度模拟客观世界的一种方法,人 们在认识和理解现实世界的过程中,普遍运用 以下三个构造法则: ( 1 )区分对象及其属性,如区分车和车的大小; ( 2 )区分整体对象及其组成部分,如区分车和 车轮; ( 3 )不同对象类的形成及区分,如所有车的类 和所有船的类。 因而,客观世界可以看成由许多不同种类的 对象构成,每个对象都有自己的内部状态和运 动规律,不同对象间的相互联系和相互作用构 成了完整的客观世界。
信息系统开发失败的原因
1、没有建立信息系统开发的目标体系: ●仅仅想以计算机系统代替人工系统。 2、缺少“用户至上”观点: ●仅仅作为一个技术系统开发,而不是一个管 理应用系统。 3、开发人员与用户无法有效沟通: ●专业背景不同及无有效的沟通工具。 4、开发过程没有明确的阶段与分工: ●信息系统是一个涉及面广,技术复杂的系统。 ●一着手马上开始编程。 5、不留开发文档: ●导致系统修改维护工作无法进行。
信息系统的 开发策略
独立开发
企业有开发信息系统的专业人员
优点:满足本企业的个性化需求,系统维 护比较容易; 缺点:系统优化不够,开发水平较低,流 程不易改变
委托开发
企业无开发信息系统的专业人员
优点:也满足本企业的个性化需求,系统 省时、省心、省力且开发的技术水平较 高; 缺点:系统的开发费用高,需要开发单位 的长期支持
面向对象的基本概念
1、对象:是一种对客观事物的抽象,它由 状态(属性)和行为(方法)组成。
下面,我们就使用一个图,来帮助大家 认识对象。正如图所示,我们使用一个 大圆来表示一个对象,中间的一个小圆 圈定义了这个对象的各种状态信息,外 面则是各种各样的行为,通过执行这个 对象的行为,就会改变这个对象的状态。
消息传递
在前面,我们说到在面向对象的世界中,一切变化 都是对象自身、或对象间的协调而产生的。那么 它们是如何进行协商的呢? 在面向对象的程序设计中,我们采用一种叫消息传 递( Message Passing )的机制来实现。消息从一 个对象发到另一个对象,使另一个对象完成某一 个行为。 通常,我们把发送消息的对象称为“发送对象” (sender),而把接受消息的对象称为“接受对象” (receiver)。其工作如下图所示:
类 :是对象的集合也就是由所有相似对象的状态变量 (属性变量)与行为(方法)所构成的模板或原型。 我们首先定义了“笔店”这个类,它拥有4个属性: 1) 铅笔; 2) 钢笔; 3) 圆珠笔; 4) 其它笔 同时还定义了三个行为: 1)卖出:将属性的值减少,表示卖出; 2)进货:将属性的值增加,表示进货; 3)盘点:打印出属性的值;
“软件工程学”是专门研究计算机软件系统开发的学科, 它要求在开发计算机软件系统时,以系统为理论依据, 将系统开发视同一项工程分步骤地进行,并在每一步骤 中使用规定的方法、工具,编制规定的文档,从而通过 控制开发过程,达到加快开发速度,降低开发成本,保 证最终所获软件系统的质量等目的。所以,计算机软件 工程学是指导软件开发的方法论,其内容涉及到软件开 发的步骤、方法、工具、开发文档规定等。 按照软件工程的规定,软件系统开发的成果由两部 分组成:一部分是计算机可以运行的程序(计算机命令 的集合);另一部分是按各开发步骤编制的文档。所以 我们把软件定成为: 软件=程序+文档
构造原型的方法
Βιβλιοθήκη Baidu●组件式构造法。
●构造规模较小的原型。 ●利用高效软件工具。
原型法开发流程
系统 需求 系统 识别 系统 原型 系统 修改 系统 否定 系统 使用 系统 建议
系统 建立
原型法应用中应注意 的问题
充分了解和重视原型法的 使用环境及开发工具
一般认为,第四代语言(4GL) 和软件开发工具是支持原型开发的 有力工具。
信息系统的开发方法
1、结构化系统开发方法 ●SSA&D (Structured System Analysis &Design) 2、原型法 ●Prototyping 3、面向对象技术 ●OOD (Object-Oriented Design)
结构化系统开发方法
结构化系统开发方法的特点
引子--软件工程学方法
这四个类(超类与子类)的关系,可以通 过下面这个图来表示:
为什么要引入继承的概念呢?
继承机制提高了“软件可复用性”。大家应 该知道,在结构化的程序设计中,我们常常将 一些经常要使用的功能模块写成子程序,供程 序调用,这样会大大提高开发效率。这也就是 “软件复用”。 而通过继承,我们可以在已定义类的基础上 无限地繁衍出更多的类,并且通过直接继承、 新增、局部修改来重复使用超类。这样必将使 软件开发的速度更快,同时可以使程序共享成 为可能。
面向用户的观点
用户是信息系统开发的起点和最终归宿:
1、系统功能面向用户; 2、开发过程面向用户; 3、二次开发面向用户; 4、系统评价面向用户。
结构化、模块化开发
系统将自顶向下的分析与设计 和自底向上的实施相结合。
严格划分系统开发阶段
系统规划阶段 系统分析阶段 系统设计阶段 系统实施阶段 系统运行阶段
开发过程工程化
制定 系统开发的标准 规范 系统开发的步骤
结构化系统开发方法 存在的问题
开发者与用户沟通障碍:
● 专业背景不一样。 ● 用户难于描述系统的现状与未 来的目标。
● 开发者理解的偏差甚至错误。
不符合人的认识规律:
●用户:实践-认识-再实践-…… ●系统:已经基本定型。
●开发者:将立足点放在技术上。
原型法和结构化方法的有机结合
系统整体的分析和设计用结构化系统 开发方法,将系统分析设计和建造系统 原型结合起来,用原型法的开发工具实 施系统。
原型法的适用范围
不适用大型系统;
不适用运算量大、逻辑性强的程序模块; 不适用基础管理不善的企业;
系统开发方法的发展历程
发展历程:
系 统 开 发 方 法 的 发 展 历 程
合作开发
企业的人员和专业人员合作
优点:也满足本企业的个性化需求,有利 于锻炼和培育本企业的系统开发人员, 有利于系统的维护; 缺点:系统的开发费用相对高,需要双方 的长期沟通和协调。
咨询开发
优点:满足本企业的个性化需求,系统维 护比较容易,改进了独立开发的弊病。
引进应用
软件应用的专业化方向
优点:系统的技术水平高,升级容易,成 本较低维护相对比较容易; 缺点:较难满足企业的个性化需求,需要 进行较大规模的二次开发。
多态性 多态性很有意思,不同的对象可以调用相同名称 的函数,却能导致完全不同的行为的现象。这 在现实生活中也会发生,比如"我"这个对象去 调用"玩电脑"这个"函数"时,一般发生的是打 字的行为,而"我表弟"去调用"玩电脑"这个函 数时,总是发生"游戏大战"的行为。这是由于 "玩电脑"这个函数它能根据不同的对象做出不 同的反应。我们只管"玩电脑"就行了。 多态性:同一消息发送至不同类或对象可 导致不同的操作结果,使软件开发设计更便利, 编码更灵活。
消息传递机制工作示意 图
继承 :是指一个类(即称子类)因承袭而具有另一个 类(或称父类)的能力和特征的机制或关系。 例如,汽车中有货车、客车、轿车……: 1) 用于运输货物的汽车叫货车; 2) 用于运输旅客的汽车叫客车; 3) 豪华的、较低矮、较小的、有钱人(:-P)坐的汽 车叫轿车。 而汽车、货车、客车、轿车都是类!在本例中, 汽车这个类是货车 、客车、轿车这三个类的超类 (Superclass),而货车、客车、轿车这三个类则是 汽车这个类的子类(subclass)。
第六讲
信息系统开发的 基本思想
学习信息系统开发的目的
是为了提高企业的效率 (Efficiency)和效益 (Effectiveness),更重要的 是后者。
信息系统开发的基本思想
识别&转换
转换与维护
实际系统
软件结构
程序软件
先进的管理 理论和方法
数据库 模型库 知识库
软件工具
软件工程
业务流程重组
转换是一种超越
从实际系统到程序软件的两次转换决不 是对实际系统的简单模拟和复制,而是 融入了先进的管理理念、管理思想、优 化的业务流程和接纳新的企业文化的新 型管理平台。这种转换应该是一种超越: 在管理思想、方法和业务流程上的超越。
信息系统开发中的四个不能
一不能:不能以先进的管理思想来迁求落 后的管理思想; 二不能:不能以重组的合理流程来服从不 合理的现实的流程; 三不能:不能用对新系统的肆意裁剪来迎 合老系统; 四不能:不能忽视与新系统相适应的企业 文化建设。
周期长、文档多:
●不能适应变化,定性时与开发 初衷存在差异;
●用户难以真正理解这些文档。
生命周期法基本前提的动摇
●由于用户需求的多变性与环境的 不确定性。
原型法 PROTOTYPING
原型的含义 指开发对象可运行的早期的一个软 件 系统版本。
原型法开发技术 采用通常的软件开发技术和工具来开发系统原型, 显然是不值得的,开销太大,而且开发系统原型在将 来系统实现时最终是要废弃不用的。开发系统原型的 目的是为了增进软件人员和用户对系统服务需求的理 解,建立和确认一个完整的软件需求规格说明。为了 减少开发系统原型的开销,可以采用一些特殊的有别 于通常软件开发时使用的技术和工具。例如: ⑴采用非常高级语言实现系统原型; ⑵暂不考虑速度、空间等性能效率方面的要求; ⑶不考虑错误恢复和处理; ⑷降低可靠性和软件质量标准。
系统开发的 工程化方法 系统开发 方法雏型 系统开发的 面向对象技术
系统开发 早期
1960
1970
1980
1990
2000
年份
面向对象的系统开发方法
传统的“面向过程”的方法学是把世界分成两个部分, 分别认知: 1)数据(Data):用于描述各种状态的数据结构; 2)过程(Procedures):就是操作这些状态数据的程序, 有时也称为“算法”。 说得形象一些,它认为数据是静态的,不会自行改变 的,而需要各种各样的过程来改为数据 。您还记得 “数据结构”+“算法”=程序,这一个伟大的等式吗? 这就是“面向过程”方法学的精髓。
举个例子,我们要将一块木头从目前的位置向北搬 到距原地10米的地方,我们首先会定义一个表示 木头的数据结构,存储位置、质量等状态信息, 然后再编写一个算法操作这个表示木头的数据结 构,以达到目的。 而“面向对象”的方法学则认为世界是由各种 各样的对象( object )组成的,而每一个对象都 有两个特征:状态(也称为属性)与行为(也称 为方法)。 说得形象一些,每个组成世界的对象都是通过自 己的行为来变化自身的状态,一切变化都是对象 自身、或对象间的协调而产生的 。
软件生命周期瀑布图
在系统分析阶段的常用技术有结构化系统分 析方法( SA )、结构化系统设计方法( SD ), 在系统分析阶段的相应软件工具有信息关联 图( IRD ),管理业务流程图( TFD ),数据 流程图(DFD),数据词典(DD)等等。在系 统设计阶段的软件工具有系统模块结构图, Jackson设计方法。在程序设计阶段用结构化 程序设计方法(SP)。 通常软件的生命周期又可分为三大部分: (1)系统分析期系统分析:包括可行性研究与 计划、系统分析; (2)系统设计期:包括系统设计; (3)系统实施期:包括程序设计、系统测试、 系统运行和维护。
封装性 :就是把一组数据和与其有关的操作集 合组装在一起,形成一个能动的实体,也就 是对象。 例:就象电路设计,以前是用一个个晶体 管的,后来把能完成某一功能的晶体管做在 一起封装起来,并只提供几只引脚,外界只 能通过这些引脚而不能通过别的途径来"访问 "内部功能,这就成了集成电路。封装使得一 个对象具备独立和明确的功能,并提供接口 便于和其它对象作用,而其内部的代码和数 据都是受保护的。好处不言自明。