《(本科)3 管理信息系统开发方法.ppt》由会员分享,可在线阅读,更多相关《(本科)3 管理信息系统开发方法.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程主讲人:3 管理信息系统开发方法第3章 管理信息系统开发方法 3.1 概述 3.2 常用开发方法 3.3 开发策略与开发方式3 管理信息系统开发方法_3.1概述33.1 概述一、研究开发方法的原因和目的1、研究开发方法的原因随着软件系统应用程度的深入和应用规模的扩大,出现的软件危机。软件危机的表现形式 l软件开发费用和进度失控l软件的可靠性差 l生产出来的软件难以维护l软件开发的速度远远跟不上应用的需要 3 管理信息系统开发方法_3.1概述43.1 概述软件危机主要原因软件危机主要原因:l与软件本身的特点有关与软件本身的特点有关 u软件开发过程的进展情况难衡量u软件质量难评价 u软件错误难
2、发现l来自于软件开发人员的弱点来自于软件开发人员的弱点 u软件产品是人的思维结果u大型软件往往需要许多人合作开发u由于计算机技术和应用发展迅速,知识更新周期加快 软件生产的知识密集和人力密集的特点是造成软件危机的根源所在 3 管理信息系统开发方法_3.1概述53.1 概述一、研究开发方法的原因和目的1、研究开发方法的原因研究开发方法需要解决的问题:手工处理信息过程和方法原封不动地“翻译”成软件程序后,常常失败。大型的应用系统应如何合理地组织人力、物力、财力来协调开发。对一个实体组织应如何着手调查分析。一个大型系统应该如何进行系统化的划分。如何才能合理地协调数据和利用信息资源。如何充分发挥现有计
3、算机和通讯设备的处理能力,更好地解决实际管理问题等。3 管理信息系统开发方法_3.1概述63.1 概述2、开发方法的基本目标 使管理信息系统正确反映管理需要,满足用户需求,为管理决策提供信息支持; 有效地管理系统开发过程,加快软件开发速度,提高软件生产效率,降低费用; 增强管理信息系统软件产品的功能,提高软件产品的质量; 充分利用软件技术,尽快跟上硬件发展速度,从而最大限度地发挥和挖掘硬件的功能; 合理组织和充分利用人力、物力和财力等资源。3 管理信息系统开发方法_3.1概述73.1 概述3、开发方法研究探索1)Parnas方法lParnas在1972年提出l信息隐蔽原则l对可能发生的种种意外
4、故障采取措施原则l该方法不能独立使用,只能作为其它方法的补充D. Parnas3 管理信息系统开发方法_3.1概述83.1 概述3、开发方法研究探索2)SASD方法 l1978年,EYourdon和LLConstantine提出了结构化方法 l结构化分析(SA)对软件进行需求分析l用结构化设计(SD)方法进行总体设计l结构化编程(SP)lSA、SD、SP相辅相成,一气呵成 E.Yourdon3 管理信息系统开发方法_3.1概述93.1 概述3、开发方法研究探索3)Jackson方法方法 l1975年,MAJackson提出l从目标系统的输入、输出数据结构入手,导出程序框架结构 l也称为面向数据
5、结构的软件设计方法 3 管理信息系统开发方法_3.1概述103.1 概述系统开发方法研究的侧重点:强调开发过程的组织、管理和控制,属于系统开发生命周期的范畴;强调开发方法的驱动对象,属于方法论的范畴;支持某种方法论的技术,属于技术范畴;需要在一定的开发环境下运用开发工具来完成,属于系统开发环境/工具研究的范畴。3 管理信息系统开发方法_3.1概述113.1 概述系统开发生命周期方法学技术开发环境/工具各种开发方法构成的结构体系各种开发方法构成的结构体系中央资源库箭头表示支持或支撑作用3 管理信息系统开发方法_3.1概述123.1 概述1、系统开发生命周期 是指系统分析员、软件工程师、程序员以及
6、最终用户建立计算机信息系统的一个过程,是管理和控制信息系统开发成功的一种必要措施和手段。或者是一种用于规划、执行和控制信息系统开发项目的项目组织和管理方法,是工程学原理(系统工程的方法)在信息系统开发中的具体应用。3 管理信息系统开发方法_3.1概述133.1 概述2、开发方法学 开发方法学是一组思想、规范、过程、技术、环境及工具的集成。一种好的方法学应该能够为系统的开发过程从头到尾提供一整套高效率的途径和措施。 方法学是将具体的方法与技术包装在一起而形成的一种思想体系。系统开发的组织和管理开发方法学开发环境/工具开发技术标准化(开发规范)3 管理信息系统开发方法_3.1概述143.1 概述3
7、、技术l 技术是运用一些特殊的工具和规则来完成信息系统开发生命周期的一个或几个阶段。l 技术支持某一种方法学或开发过程中的一部分。 如:数据流程图、实体关系图结构化方法学中的技术。3 管理信息系统开发方法_3.1概述153.1 概述4、系统开发环境/工具 系统开发环境/工具是支持系统生命周期、方法学以及技术的,包括:计算机辅助软件工程(Computer Aided Software Engineering , CASE)软件开发环境(Software Development Environment, SDE)软件工程环境(Software Engineering Environment ,SE
8、E)集成化项目/程序支持环境(Integrated Project/Programming Support Environment, IPSE) 3 管理信息系统开发方法_3.1概述163.1 概述系统开发方法结构化SDLC原型法面向过程方法(结构化方法)面向数据方法(信息工程方法)面向对象方法(OO方法)可视化技术计算机辅助软件工程软件复用技术其它技术计算机辅助软件工程软件开发环境集成化的项目/程序支持环境中央资源库计算机信息系统开发环境/工具 技 术系统开发生命周期(SDLC)方法学:驱动对象的观点3 管理信息系统开发方法_3.1概述173.1 概述三、开发方法的发展(略)1、UML统一建
9、模语言 UML统一建模语言(Unified Modeling Language)是一种建模语言。是第三代用来为面向对象开发系统的产品进行说明可视化和编制文档的方法。UML取代目前软件业众多的分析和设计方法(Booch Coad Jacobson Odell Rumbaugh Wirfs-Brock等)成为一种标准,这是软件界的第一次有了一个统一的建模语言。它是面向对象分析与设计的一种标准表示。它不是一种可视化的程序设计语言,而是一种可视化的建模语言。不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准。不是过程也不是方法,但允许任何一种过程和方法使用它。 UML的目标是: 易
10、于使用、表达能力强、进行可视化建模。 与具体的实现无关,可应用于任何语言平台和工具平台。3 管理信息系统开发方法_3.1概述183.1 概述 与具体的过程无关,可应用于任何软件开发的过程。 简单并且可扩展,具有扩展和专有化机制,便于扩展无需对核心概念进行修改。 为面向对象的设计与开发中涌现出的高级概念,例如协作框架模式和组件提供支持,强调在软件开发中对架构框架模式和组件的重用。 最好的软件工程实践经验集成。 可升级,具有广阔的适用性和可用性。 有利于面对对象工具的市场成长。2、ROSE(略) ROSE是美国Rational公司的面向对象建模工具,利用这个工具,我们可以建立用UML描述的软件系统
11、的模型,而且可以自动生成和维护C+、Java、VB、Oracle等语言和系统的代码。3 管理信息系统开发方法_3.1概述193.1 概述3、RUP(略) RUP(Rational Unified Process,统一软件开发过程) 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足: RUP只是一个开发过程,并没有涵盖软件过程的全部内
12、容,例如它缺少关于软件运行和支持等方面的内容; 此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说RUP是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对RUP进行补充和完善。 3 管理信息系统开发方法_3.2 常用开发方法203.2 常用开发方法一、结构化系统开发方法1、基本思想 结构化系统开发方法(Structured System Analysis And Design,SSA&D,)又称结构化生命周期法,是系统分析员、软件工程师、程序员以及最终用户按照用户至上的原则,自
13、顶向下分析与设计和自底向上逐步实施的建立计算机信息系统的一个过程,是组织、管理和控制信息系统开发过程的一种基本框架。 结构化系统开发方法由管理策略和开发策略两个部分组成:管理策略部分: 强调系统开发的规划、进程安排、评估、监控和反馈。开发策略部分: 任务分解结构(Work Breakdown Structure,简称WBS) WBS优先级结构、开发经验、开发标准。 WBS任务分解结构3 管理信息系统开发方法_3.1概述21螺旋模型3 管理信息系统开发方法_3.1概述223 管理信息系统开发方法_3.2 常用开发方法233.2 常用开发方法2、过程划分系统规划阶段:该阶段的范围是整个业务系统,目
14、的是从整个业务的角度出发确定系统的优先级。系统分析阶段: 主要活动包括可行性分析和需求分析。其范围是列入开发计划的单个信息系统开发项目。目的是分析业务上存在的问题,定义业务需求。系统设计阶段: 系统设计的目的是设计一个以计算机为基础的技术解决方案以满足用户的业务需求。总体设计的主要任务是构造软件的总体结构;详细设计包括人机界面设计、数据库设计、程序设计。系统实施阶段: 系统实施的目的是组装信息系统技术部件,并最终使信息系统投人运行。如用户手册等。包括的活动有编程、测试、用户培训、新旧系统之间的切换等。系统运行与维护阶段: 目的是对系统进行维护,使之能正常地运作。3 管理信息系统开发方法_3.2
15、 常用开发方法243.2 常用开发方法3、核心原理用户的积极参与:用户积极参与信息系统的开发的全过程,是信息系统开发能否成功的一个关键的、绝对必要的因素。严格按划分的阶段和活动进行系统开发:运用系统处理方法,将系统开发的全过程采取“分而治之(Divide and conquer)的策略,将整个系统的开发过程分为一系列“阶段(Phases)”,然后再将阶段分为一系列的“活动(Activities)”,将活动划分为更小的、更易于管理和控制的“作业(Task)”。系统规划系统分析系统设计系统实施系统运行阶段划分系统目标分析组织环境调查需求调查分析数据调查分析业务调查分析活动划分3 管理信息系统开发方
16、法_3.2 常用开发方法253.2 常用开发方法3、核心原理用户的积极参与:用户积极参与信息系统的开发的全过程,是信息系统开发能否成功的一个关键的、绝对必要的因素。严格按划分的阶段和活动进行系统开发:运用系统处理方法,将系统开发的全过程采取“分而治之(Divide and conquer)的策略,将整个系统的开发过程分为一系列“阶段(Phases)”,然后再将阶段分为一系列的“活动(Activities)”,将活动划分为更小的、更易于管理和控制的“作业(Task)”。设立检查点(Check point):在系统开发的每一个阶段均设立检查点,来评估所开发系统的可行性,避免由于系统开发的失败造成更
17、大的损失。文档的标准化:文档标准化是进行良好通信的基础,是提高软件可重用性的有效的手段。3 管理信息系统开发方法_3.2 常用开发方法263.2 常用开发方法4、优缺点 优点:阶段的顺序性和依赖性。前一个阶段的完成是后一个阶段工作的前提和依据,而后一阶段的完成往往又使前一阶段的成果在实现过程中具体了一个层次。从抽象到具体,逐步求精。从时间的进程来看,整个系统的开发过程是一个从抽象到具体的逐层实现的过程,每一阶段的工作,都体现出自顶向下、逐步求精的结构化技术特点。逻辑设计与物理设计分开。即首先进行系统分析,然后进行系统设计,从而大大提高了系统的正确性、可靠性和可维护性。质量保证措施完备。每一个阶
18、段的工作任务完成情况进行审查,对于出现的错误或问题,及时加以解决,不允许转入下一工作阶段,也就是对本阶段工作成果进行评定,使错误较难传递到下一阶段。错误纠正得越早,所造成的损失就越少。3 管理信息系统开发方法_3.2 常用开发方法273.2 常用开发方法 缺点: 它是一种预先定义需求的方法,基本前提是必须能够在早期就冻结用户的需求,只适应于可以在早期阶段就完全确定用户需求的项目。然而在实际中要做到这一点往往是不现实的,用户很难准确地陈述其需求。 未能很好地解决系统分析到系统设计之间的过渡,即如何使物理模型如实反映出逻辑模型的要求,通俗地说,就是如何从纸上谈兵到真枪实弹地作战的转变过程。 该方法
19、文档的编写工作量极大,随着开发工作的进行,这些文档需要及时更新。5、适用范围 该方法适用于一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。3 管理信息系统开发方法_3.2 常用开发方法283.2 常用开发方法二、原型法 信息系统原型,就是一个可以实际运行、可以反复修改、可以不断完善的信息系统。1、原型法产生的原因 运用结构化系统开发生命周期法的前提条件是要求用户在项目开始初期就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响尤为严重,因此,这种方法不允许失败。事实上这种要求又难以做到。人们设想,有一种方法,能够迅速发现需求错误。当图形
20、用户界面(Graphic User Interface, GUI)出现后,自80年代中期以来,原型法逐步被接受,并成为一种流行的信息系统开发方法。2、基本思想 原型法(Prototyping Method)是在系统开发初期,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的软件环境支持下,迅速构造出系统的初始原型,然后与用户一起不断对原型进行修改、完善,直到满足用户需求3 管理信息系统开发方法_3.2 常用开发方法29 3.2 常用开发方法3、开发过程可行性研究确定系统的基本要求建造系统初始原型用户和开发人员评审修改系统原型,反复地进行修改、评审,直到用户满意 结束3 管理信息系
21、统开发方法_3.2 常用开发方法303.2 常用开发方法4、优缺点 优点: 对系统需求的认识取得突破,确保用户的要求得到较好的满足。 改进了用户和系统开发人员的交流方式。 开发的系统更加贴近实际,提高了用户的满意程度。 降低了系统开发风险,一定程度上减少了开发费用。 缺点: 开发工具要求高。 解决复杂系统和大型系统很困难。 对用户的管理水平要求高。 3 管理信息系统开发方法_3.2 常用开发方法313.2 常用开发方法5、支撑环境方便灵活的关系数据库系统(RDBS)。与RDBS相对应的、方便灵活的数据字典,它具有存储所有实体的功能。与RDBS相对应的快速查询系统,能支持任意非过程化的(即交互定
22、义方式)组合条件的查询,高级的软件工具(如4GLS或信息系统开发生成环境等等),用以支持结构化程序,并且允许采用交互的方式迅速地进行书写和维护,产生任意程序语言的模块(即原型),非过程比的报告或屏幕生成器,允许设计人员详细定义报告或屏幕输出样本。3 管理信息系统开发方法_3.2 常用开发方法323.2 常用开发方法6、适用范围和其他变形 原型法的适用范围是比较有限的,对于小型、简单、处理过程比较明确、没有大量运算和逻辑处理过程的系统。 其他原型法:丢弃式原型法( Throw-It-Away Prototyping Method演化式原型法(Evolutionary Prototyping Me
23、thod)递增式原型法(Incremental Prototyping Method)3 管理信息系统开发方法_3.2 常用开发方法333.2 常用开发方法三、面向对象方法1、面向对象方法以前的开发方法方法1: 单纯地反映管理功能的结构方法2: 侧重反映事物的信息特征和信息流程结果为: 被动迎合实际问题需要面向对象的方法把数据和过程包装成为对象3 管理信息系统开发方法_3.2 常用开发方法343.2 常用开发方法三、面向对象方法2、基本思想客观世界是由各种各样的对象组成的每种对象都有各自的内部状态和运动规律不同对象之间有相互作用和联系对象(Object)是客观世界中的任何事物或人们头脑中的各种
24、概念在计算机程序世界里的抽象表示。是面向对象程序设计的基本元素。3 管理信息系统开发方法_3.2 常用开发方法353.2 常用开发方法3、基本概念客观世界由各种“对象”(Object)组成,任何客观事物都是对象,对象是在原事物基础上抽象的结果。任何复杂的事物都可以通过对象的某种组合结构构成。对象可由相对比较简单的对象以某种方式组成;-对象例-整型数: 5, 10 点: 点1,点2 窗口:窗口1、窗口2、窗口3 课表: X专业课表, : Y专业课表, 财务账: X公司财务账, 3 管理信息系统开发方法_3.2 常用开发方法363.2 常用开发方法3、基本概念对象由属性和方法组成。属性(Attri
25、bute)反映了对象的信息特征,如特点、值、状态等等.而方法(Method)则是用来定义改变属性状态的各种操作;-对象的属性和方法-整型数: 数1(5, add(), sub(),) 点: 点1( x:25.5,y:45.3) 窗口: 窗口1(left:10,top:10,len:50,high:45,color:red, move(),change(), ) 课表: X专业课表(时间1-n,地点1-n,教师1-n,显示(),打印(), 调整(),) 财务账: X公司财务账(总账,明细账1-n,报表1-n, 登账(), 汇总(), 出报表(),) 3 管理信息系统开发方法_3.2 常用开发方法
26、373.2 常用开发方法3、基本概念对象之间的联系主要是通过传递消息(Message)来实现的,而传递的方式是通过消息模式(Message pattern)和方法所定义的操作过程来完成的;5+3课表打印课表3 管理信息系统开发方法_3.2 常用开发方法383.2 常用开发方法3、基本概念对象可按其属性进行归类(Class)。类有一定的结构,类上可以由超类(Superclass),类下可以有子类(Subclass)。对象或类之间的层次结构是靠继承关系(Inheritance)维系的;课表类X专业课表实例化父类:学生子类:大学生对象:某大学生实例化继承3 管理信息系统开发方法_3.2 常用开发方法
27、393.2 常用开发方法3、基本概念对象是一个被严格模块化了的实体,称之为封装(Encapsulation)。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。 3、基本概念对象是一个被严格模块化了的实体,称之为封装(Encapsulation)。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。 课表打印课表3 管理信息系统开发方法_3.2 常用开发方法403.2 常用开发方法4、开发过程 系统调查和需求分析:对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。 调查意图、意愿、要求 收
28、集专业词汇、词汇之间的关系、数据、图表3 管理信息系统开发方法_3.2 常用开发方法413.2 常用开发方法4、开发过程 分析问题的性质和求解问题:在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。一般称之为面向对象的分析,即OOA。 与用户交流,得到系统功能的自然语言说明 识别实体、接口、和控制的对象 识别对象的属性、操作和关系3 管理信息系统开发方法_3.2 常用开发方法423.2 常用开发方法4、开发过程 整理问题:对分析的结果作进一步的抽象、归类、整理,并最终以范式的形式将他们确定下来。一般称之为面向对象的设计,即OOD。 系统设计:子系统划分、处理策略、资源配置 对象设
29、计:对象接口、操作实现算法、类的优化3 管理信息系统开发方法_3.2 常用开发方法433.2 常用开发方法4、开发过程 程序实现:用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。一般称之为面向对象的程序设计,即OOP。 选择程序设计语言 编写程序 调试程序3 管理信息系统开发方法_3.2 常用开发方法443.2 常用开发方法5、评价 OO方法直接反映了人们对客观世界的认知模式。人类认识客观世界有两个基本过程:一个是从特殊到一般的归纳过程,另一个是从一般到特殊的演绎过程。 从应用设计到解决问题的方案更加抽象化而且具有极强的对应性。 在设计中容易与用户沟
30、通。 把数据和操作封装到对象之中。 设计中产生各式各样的部件,然后由部件组成框架,以至于整个程序。 应用程序具有较好的重用性、易改进、易维护和易扩充。6、适用范围 流行的开发方法,适用面很广。3 管理信息系统开发方法_3.1概述45启动显示功能功能1功能2功能n操作1操作2面向对象的程序的启动运行示意3 管理信息系统开发方法_3.2 常用开发方法463.2 常用开发方法四、CASE 介绍计算机辅助软件工程方法是一种自动化或自动化的系统开发环境,它能够全面支持出系统调查外的给一个开发步骤,使得原来由手工完成的开发过程转变为一自动化工具和支撑环境支持的自动化开发过程。采用CASE工具进行系统开发,
31、还必须结合某种具体的开发方法,如结构化系统开发方法等。计算机辅助软件工程方法的特点: 解决了从客观对象到软件系统的映射问题,支持系统开发的全过程。 提高了软件质量和软件重用性。 加快了软件开发速度。 简化了系统开发过程的管理和维护。 自动生成开发过程中的各种文档资料。3 管理信息系统开发方法_3.3 开发策略与开发方式 473.3 开发策略与开发方式 一、系统开发的基本条件1、系统开发成功的要素合理地确定系统目标。组织系统性队伍。从总体上对系统开发进行规划。2、基本条件有科学的管理基础。领导的重视和员工的积极参与。有一支高水平的专业技术队伍。有较雄厚的物资基础。3 管理信息系统开发方法_3.3
32、 开发策略与开发方式 483.3 开发策略与开发方式二、开发策略 根据系统的特点和开发工作的难以程度或者风险的大小,一般采取下列开发策略: 接收式。 直接式。 迭代式。 实验式。 实际开发过程中,开发的过程策略可分为: 自上而下:从整体上协调和规划,由全局到局部,由长远到近期,从探索合理的信息流出发来设计系统。 自下而上:从现行系统的业务状况出发,先实现各项业务的具体功能,逐步由底层到高层,直至最后形成整个系统。3 管理信息系统开发方法_3.3 开发策略与开发方式 493.3 开发策略与开发方式三、开发方式用户自行开发。委托开发。合作开发。从市场上购买是合组织需要的软件。咨询开发。四、开发单位
33、的选择开发单位应具有计算机专门知识,熟悉开发工具;具有相关项目开发成功的实际开发经验;熟悉用户的业务情况和开发过类似的信息系统项目;与用户单位具有较近的地理位置,便于及时对系统进行维护。3 管理信息系统开发方法_3.3 开发策略与开发方式 503.3 开发策略与开发方式五、系统开发组织和项目管理1、建立系统开发组织 系统开发领导小组 系统开发领导小组的任务是制定管理信息系统规划;在开发过程中,根据客观发展情况进行决策,协调各方面的关系,控制开发制度。小组成员应包括一名企业领导,系统开发项目负责人,有经验的系统分析师,以及用户各主要部门的业务负责人。 系统开发工作小组 系统开发工作小组由系统分析
34、员,即系统工程师负责。其任务是根据系统目标和系统开发领导小组的指导展开具体工作。这些工作包括开发方法的选择,各类调查的设计和实施,调查结果的分析,撰写可行性报告,系统的逻辑设计,系统的物理设计,系统的具体编程和实施,制定新旧系统的交接方案,监控系统的运行;如果需要,协助组织进行新的组织机构变革和新的管理规章制度。3 管理信息系统开发方法_3.3 开发策略与开发方式 513.3 开发策略与开发方式2、制定系统开发计划 指定系统开发大致的进度计划。 随着系统分析、系统设计的不断深入,再制定系统的详细的开发进度计划,并且指定专人负责。项目负责人要对各项任务进行定期检查,采用系统开发的进度计划及甘特图进行表示。3、加强项目管理 计划管理 技术管理 质量管理 资源管理3 管理信息系统开发方法_3.3 开发策略与开发方式 523.3 开发策略与开发方式4、合理组织队伍和人员分工 对于企业高层领导。 对于项目主管。 对于系统分析员。 对于程序设计员。 对于组织的管理人员。