《信息系统发开方法.ppt》由会员分享,可在线阅读,更多相关《信息系统发开方法.ppt(74页珍藏版)》请在三一办公上搜索。
1、信息系统开发的任务系统工程方法(系统观点的应用)信息系统开发的方法学信息系统开发的原则信息系统开发前的准备信息系统开发的主要方法信息系统的开发模式,3,第三章 IS开发方法和系统规划,方法学是将具体的方法与技术包装在一起而形成的一种思想体系。任何一种开发方法学应该支持SDLC(系统开发生命周期)的每一个阶段,对整个系统开发生命周期进行综合的、详细的描述,体现在:每个阶段所包含的每一个作业;在每一个作业中个人和小组的作用;每一个作业的质量标准;所运用的开发技术。,管理信息系统发展至今,已经产生了很多种理论和方法,对推动信息系统的建设和发展起到了非常重要的作用。但由于信息系统开发是一项复杂的系统工
2、程,它涉及的知识面广,部门多,不仅涉及技术,还有管理业务、组织和行为,至今尚未有一种完备的开发方法。同时由于不同的开发方法所适用的范围、领域不同,所需要的资源限制不同,因此针对不同企业情况和特点,选择一种适合本企业的开发方法成为建设信息系统的一项重要课题。,本讲内容,一、系统开发方法的演变二、生命周期法三、原型法四、面向对象的开发方法五、三种开发方法的比较,开发方法的演变,60-70年代是结构化系统分析与设计时代:开发工作结构化、标准化,将开发过程划分需求分析、设计、实现、测试等几个生命周期阶段,经历了瀑布模型、蛛网模型、强调“初期阶段”的重要性等几个阶段;80年代初是原型法(prototyp
3、ing)时代,在4GL环境中开发,先抓住局部设计实现,然后不断修改,直到全面满足要求;80年代末是CASE(计算机辅助软件工程)方法和OO(面向对象)方法;90年代是客户/服务器时代,或是基于WEB的开发时代;这时客户购买现成的软件包,甚至是整个系统,然后进行基于组件的开发或进行系统集成。,信息系统开发的任务,根据企业管理的目标、内容、规模、性质等具体情况从系统观点出发运用系统工程的方法按照系统发展的规律为企业建立基于IT、为企业管理人员使用的IS,建立信息系统就是求解问题的过程?,开发对象的描述;开发对象的分析;开发过程的实现;创造和选择开发工具、平台;对开发结果的评价;管理和控制开发质量。
4、如何解决这些问题,就形成了不同的信息系统开发方法学。(所以有标准),信息系统的生命周期,任何系统均有其产生、发展、成熟、消亡或更新换代的过程。这个过程称为系统的生命周期(System Life Cycle)。系统生命周期的概念对于复杂系统的建设具有重要的指导意义。信息系统的生命周期,可以分成以下四个阶段(见下页)。1.系统规划2.系统开发:系统分析、系统设计、系统实施3.系统运行与维护4.系统更新,信息系统开发方法学,信息系统开发生命周期的每一阶段都涉及采用什么方法的问题。EX、系统分析:SA、TFD、DFD、DD等EX、系统设计:HIPO分层图、SL、SD等,什么是系统的思想?其核心内容和要
5、点是什么?什么是系统的观点,为什么要用系统的方法解决问题?为什么要把组织当作系统来对待,这对分析解决管理问题有什么好处?系统工程包含哪些内容?系统化、工程化的主要含义是什么?管理信息系统主要使用了哪些开发方法和技术,试述它们的基本原理和功能。什么是CASE 工具,它对信息系统开发起到了怎样的作用?什么是“诺兰模型”,它描述信息系统经历的哪几个阶段,各阶段有哪些特点?为什么要进行信息系统规划,其意义是什么?根据“诺兰模型”的提示,我们在开发管理信息系统时应注意哪些问题?制订MIS战略规划有哪些常用的方法?,?问题与思考3,*系统工程方法,系统工程 l 作为技术:一门组织管理的技术,是研究大规模复
6、杂系统的新兴边缘的科学,既有一般工程技术的特有的特点,又有自身的特点l作为学科:研究大规模复杂系统的新兴边缘学科l作为工程:既有一般工程技术的特点,又有本身的特点 系统集成部件或子系统有效地组织起来的过程和结果。l 目的:使系统集成后的功能各部件及系统的功能之和。*管理信息系统是大规模、复杂的、长期的系统工程,必须采用系统工程的方法来研究,系统工程方法,中心思想 把任何客观事物当作系统来对待,用系统方法分析问题研究(求解)系统工程解的方法论 l用系统的观点研究问题,用系统的观点研究问题 1 系统的思想整体考虑研究对象,将待解决的问题当作系统处理 2 系统的分析 使用系统模型分析实际问题,找出输
7、入、处理、输出和反馈、环境 3 系统的方法系统化、规范化、标准化、模型化、工程化 实际问题待处理的数据和待完成的功能 系统分析、逻辑模型、物理模型、算法、语言、文档 4 信息技术的应用计算机处理、求解,信息系统开发的原则,领导参加的原则优化与创新的原则(系统性原则)规范化原则(标准化原则)充分利用信息资源的原则实用和时效的原则(适应性原则)开放扩充原则(发展变化的原则/递进性原则),信息系统开发前的准备,1、管理基础准备:管理工作要严格科学化,具体方法程序化、规范化;基础数据管理好,严格计量程序、计量手段、检测手段和基础数据统计分析的渠道。,信息系统开发前的准备,2、组织准备领导要参与开发,并
8、一抓到底;建立研发队伍:系统分析员、企业领导和管理岗位业务人员;明确各类人员的职责。3、技术准备4、开发计划-gantt 图,开发进度安排gantt图,信息系统开发的主要方法,早期的信息系统开发方法存在的主要问题结构化的生命周期法原型法面向对象方法CASE工具,早期的信息系统开发方法存在的主要问题,1.工作阶段的划分原则不明确各阶段的工作缺乏规范的规程、方法、表达工具与标准。2.系统建设过程用户参与程度低用户与专业人员对话缺乏有效的手段3.系统开发的工作任务集中在系统实施阶段系统分析、设计工作不深入4.系统实施阶段的工作采取“自底向上”的方法由于系统实施阶段的工作采取“自底向上”的方法,系统总
9、体功能与目标的实现难以保证。,结构化的生命周期法(自顶向下),将系统开发划分阶段,明确每一阶段的具体任务,有一套严格的系统开发程序,各开发阶段有完整的文档记录。适应用户目标和需求较明确的大型系统开发,注重开发过程的阶段性和全局性。,结构化方法概述,“结构化”一词在系统建设中的含意是用一组规范的步骤、准则和工具来进行某项工作。基于系统生命周期概念的结构化方法则为信息系统建设提供了规范的步骤、准则与工具,以弥补经典方法的不足。,结构化方法的基本思路:,把整个系统开发过程分成若干相对独立的阶段(五个);每个阶段进行若干活动;每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规
10、范的产品(成果)。注:在每个阶段都有机地嵌入了原型法、case法和面向对象法。,基本思想:,用系统工程的思想和工程化的方法,根据用户至上的原则,自始自终按照结构化、模块化,自顶向下地对系统进行分析和设计。,具体来说:就是先将整个系统开发过程划分为若干个相对独立的阶段;在前三个阶段(规划,分析,设计)坚持自顶向下地对系统进行结构化划分。在系统实施阶段坚持自底向上地逐步实施(从最底层的模块开始编程和调试);然后按系统设计结构,将模块按层次一个个拼接到一起进行调试,自底向上,逐步地构建整个系统。,图 结构化方法的基本思路,生命周期法的阶段和任务(掌握),系统规划阶段系统分析阶段系统设计阶段系统实施阶
11、段系统运行和维护阶段,1.系统规划,这是信息系统的起始阶段。这一阶段的主要任务是:根据组织的整体目标和发展战略,确定信息系统的发展战略,进行业务流程规划,明确组织总的信息需求,制订信息系统建设总计划,其中包括确定拟建系统的总体目标、功能、大致规模和粗略估计所需资源,并根据需求的轻、重、缓、急程序及资源和应用环境的约束,把规划的系统建设内容分解成若干开发项目以分期分批进行系统开发。,各类人员的分工,各类人员的分工,管理信息系统的开发周期,2.系统开发,这一阶段的主要工作是根据系统规划阶段确定的拟建系统总体方案和开发项目的安排,分期分批进行系统开发。这是系统建设中工作任务最为繁重的阶段。每一个项目
12、的开发工作包括系统调查和系统开发的可行性研究、系统逻辑模型的建立、系统设计、系统实施、系统转换和系统评价等工作。由于资源及应用环境的制约,一个组织的信息系统一般不可能靠资源的一次投入而建成,因而一个开发项目常是整个信息系统的某个或某几个子系统的建立。合理确定每次系统开发的目标、边界和开发周期,应用科学的开发方法、工具和规范,对于系统开发的成功至关重要。,3.系统运行与维护,系统正常运行和维护阶段,这是系统生命周期中历时最久的阶段,也是信息系统实现其功能、发挥效益的阶段。科学的组织与管理是系统正常运行、充分发挥其交通的必要条件,而及时、完善的系统维护是系统正常运行的基本保证。信息系统规模庞大,结
13、构复杂,管理环境和技术环境不断变化,系统维护工作量大,涉及面广,投入资源多。据统计,现有信息系统在运行和维护阶段的开支占整个系统成本的三分之二左右。而这一阶段需用的专业技术人员占信息系统专业技术人员50%-70%。,3.系统运行与维护,系统维护可以分为纠错性维护、适应性维护、完善性维护和预防性维护。纠错性维护是指对系统进行定期的或随机的检修、纠正运行阶段暴露的错误,排除故障,消除隐患,更新易损部件,刷新备份的软件和数据存贮,保障系统按预定要求完成各项工作;,适应性维护是指由于管理环境与技术环境的变化,系统中某些部分的工作内容与方式已不能适应变化了的环境,因而影响系统预定功能的实现。故需对这些部
14、分进行适当的调整、修改以满足管理工作的需要;,3.完善性维护是指用户对系统提出了某些新的信息需求,因而在原有系统的基础上进行适当的修改、扩充,完善系统的功能以满足用户新的信息需求;4.预防性维护是对预防系统可能发生的变化或受到的冲突而采取的维护措施。,4.系统更新,在系统运行与维护阶段,系统单位时间内的费用随时间增长。适时开始新系统建设工作,使旧系统或其中某些主要部分退役,不仅能增强系统功能,满足用户新的信息需求,而且在经济上也是合理的。现有系统进入更新阶段时,下一代新系统的建设工作便告开始。因此,这一阶段是新、旧系统并存的时期。对现有系统来说,可以全部更新,也可以部分更新的或有步骤地分期分批
15、更新。,结构化系统开发方法的6个主要特点:,1、面向用户的观点;“用户至上”2、自顶向下的分析与设计和自底向上的系统实施相结合;3、先逻辑、后物理分别进行;4、严格划分工作阶段;5、结构化、模块化;6、开发过程工程化。,结构化方法的优点,结构化方法的突出优点就是:它强调系统开发过程的整体性和全局性,强调在整体优化的前提下来考虑具体的分析设计问题,即自顶向下的观点。它强调的另一个观点是严格地区分开发阶段,强调一步一步地严格进行系统分析和设计,每一步工作都及时地总结,发现问题及时地反馈和纠正。这种方法避免了开发过程的混乱状态。,结构化系统开发方法存在的问题,(1)整个系统的开发工作是劳动密集型的,
16、七十年代末期软件成本已超过硬件成本,软件生产率低下已经成为当前信息化的主要障碍之一。(2)系统开发周期长。系统从规划到测试实施要经历五个阶段,每个阶段都有严格的规范和工具。导致整个开发过程持续时间较长,不利于迅速的对客户进行响应。,(3)开发出来的系统总体结构和用户现实的业务运作过程存在着较大的差异,即客观世界的问题领域系统的可理解性较差。(4)系统的可维护性和稳定性较差。结构化方法是一种严格的理想主义开发法,它要求在用户需求分析阶段中必颁完整准确地描述用户的各种需求。然而,在开发前期用户常常对系统仅有一个模糊的想法,很难明确确定和表达对系统的全面要求;或者由于用户的经营方式、管理模式发生变化
17、,都将使得用户提出对系统的修改意见。而这种用户需求的变化(即使是微小变化)都可能导致整个系统的巨大改变。因此结构化生命周期开发方法通常是在系统需求比较稳定的情况下才使用的。,(3)对用户需求的变更不能做出迅速的响应。(4)结构化生命周期法要求前一步工作的正确性与完善性对后一步工作起着决定性作用。这就要求系统开发人员进行工作时,对下一步是否可以实现上一步所规定的内容有很强的预见性。(5)维护工作繁重,专门人才紧缺。,原型法:,产生原型法的原因很多,主要随着我们系统开发经验的增多,我们也发现并非所有的需求都能够预先定义而且反复修改是不可避免的。当然能够采用原型法是因为开发工具的快速发展,比如用VB
18、,DELPHI 等工具我们可以迅速的开发出一个可以让用户看的见、摸的着的系统框架,这样,对于计算机不是很熟悉的用户就可以根据这个原型提出自己的需求。原型法比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时采用该方法是比较好的。,原型法(快速应用开发RAD),在获得用户的基本需求后快速建造一个基本模型,然后通过反复与用户沟通进而不断对原型补充和细化,最后生成完善的系统。不过份强调开发阶段的划分。适应用户目标和需求不很明确的小型系统开发。特点:自底向上,原型(雏形化)法基本需求快速开发(4GL)原型沟通交流修改、完善,用户自始至终参与,修改后的原型,可应用的
19、原型,第三步,第二步,第四步,修改原型,使用原型,进一步明确用户需求,建立初始原型,明确用户基本需求和应用规模,成本估计,待修改的原型,初始原型,直接将原型用作应用软件,使用此原型作为应用系统开发的依据,N,Y,第一步,图 建立原型系统的步骤,20世纪80年代发展起来的原型法(Prototyping approach)是通过快速建立并供用户使用的原型(prototype)用户的信息需求。在获得用户基本需求的基础上,快速的构造系统工程模型,然后演示这个原型系统,在用户参与的情况下按用户合理而又可行的要求不断地修改这一原型系统。,原型法的基本思路:,用户与系统分析、设计人员合作,根据用户提出的最基
20、本的问题和想法,先很快建立一个应用系统的骨架,作为应用开发的实验模型。通常把这个实验模型叫做系统的原型(Prototype)。用户先运行这个原型系统,熟悉它,使用它,受到启发和取得经验,然后对系统的目标和功能提出精确、具体的需求。在对系统的需求最后决定后,再用传统的方法(生命周期法)建设系统。,通常原型系统的部分程序可以在后来的系统建设中直接采用。原型法是传统方法和用户开发相结合的方法。,原型法的特点,允许试探和重复,是一个不断迭代、逐步逼近、积累知识的过程;不需要预先完整、准确定义系统需求;迭代的过程是对开发对象认识的不断深入、需求不断清晰的过程,也是系统功能不断实现和完善的过程(分析和设计
21、过程的统一),原型法的优点,更符合人们认识事物的规律性;用户始终参与;减少系统开发风险,对于项目需求不确定性大时;基于4GL开发,开发效率高。说明:实际应用是原型法和结构化生命周期法结合使用。,面向对象法,面向对象系统采用了自底向上归纳、自顶向下分解的方法,它通过对对象模型的建立,能够真正建立基于用户的需求,而且系统的可维护性大大改善。当前业界关于面向对象建模的标准是UML。,MSF 的框架:,微软提供了MSF 的框架,它简单的把系统设计分成三个阶段:概念设计、逻辑设计和物理设计。概念设计阶段就是从用户的角度出发可以得到多少个对象,并且以对象为主体,画出业务框架。逻辑设计阶段就是对概念设计阶段
22、的对象进行再分析、细分、整合、删除。并建立各个对象的方法属性以及对象之间的关系。而物理设计上就是要确定我们实际需要的组件、服务和采用的框架结构、具体的编程语言等。MSF 整个结构比较清楚,是基于对象开发的一个比较好的可操作的框架系统。,UML统一建模语言,UML统一建模语言(Unified Modeling Language)是一种建模语言。是第三代用来为面向对象开发系统的产品进行说明可视化和编制文档的方法。UML取代目前软件业众多的分析和设计方法(Booch Coad Jacobson Odell Rumbaugh Wirfs-Brock等)成为一种标准,这是软件界的第一次有了一个统一的建模
23、语言。,它是面向对象分析与设计的一种标准表示。它不是一种可视化的程序设计语言,而是一种可视化的建模语言。不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准。不是过程也不是方法,但允许任何一种过程和方法使用它。,需要说明的是,UML是一种语言,不是一种方法。在原理上,任何软件开发方法都应由建模语言和开发过程两部分构成。其中,建模语言提供这种方法中用户表示分析和设计方案的符号(通常是图形符号);开发过程则描述分析、设计、实现中所要遵循的步骤和每个步骤所产生的结果。,需求描述,在需求分析阶段:首先要确立好系统角色(Actor)(如、宿舍管理系统中的系统角色:住宿者、系统管理员、工
24、作人员)其次再依据系统功能来确立系统的用例(Useease)模型。,在获得系统用例模型后,进一步分析系统所要解决的问题。可用UML的逻辑视图和动态视图来描述。我们采用类图来描述系统的静态结构,用交互图(合作图和顺序图)和行为图(状态图和活动图)来描述系统的动态特征。(详见UML课件),UML的目标是:,易于使用、表达能力强、进行可视化建模。与具体的实现无关,可应用于任何语言平台和工具平台。简单并且可扩展,具有扩展和专有化机制,便于扩展无需对核心概念进行修改。为面向对象的设计与开发中涌现出的高级概念,例如协作框架模式和组件提供支持,强调在软件开发中对架构框架模式和组件的重用。最好的软件工程实践经
25、验集成。可升级,具有广阔的适用性和可用性。,合成法:原型法结构化开发方法+OO法,采用结构化系统分析方法的设计思想在系统需求分析和系统初步设计上采用原型法做出原型模型与用户反复交流达成共识后继续按结构化法进行:系统详细设计 系统实施与转换 系统维护与评价在每个阶段都有机地嵌入了原型法和面向对象法。,面向对象方法 将待开发的信息系统看作“对象”,通过面向对象的系统分析(OOA)、面向对象的系统设计(OOD)、面向对象的系统实现(OOP)三个阶段,利用对象、类、封装、继承、消息等原理和方法对信息系统的进行开发。,信息系统开发方法要点,了解和研究组织的总目标,进而确定信息系统的目标从实际管理问题的需
26、求出发,确定信息系统所涉及的信息和功能严格规划,自顶向下划分工作阶段,确定各阶段任务和采用的开发方法使用系统分析描述工具对系统任务作详细描述使用相关的信息处理技术科学管理,严格文档制度,信息系统的开发模式,1、C/S(ClientServer)模式:2、B/S(Browser/Server)模式小论文:C/S和B/S的特点和应用选择,IS开发方法的演变,信息系统的实现方法,选择信息系统的实现方法本身就是一个重要的分析和决策过程。信息系统的实现包括:信息系统开发、运行、管理等所有过程的实现。IS实现方法:外包购买自主开发混合式开发,信息系统开发文档,文档的作用:是现代软件产品不可缺少的重要组成部
27、分;是通信和交流手段;对信息系统的开发有重要的控制作用;是进行系统维护和评价的主要依据。,信息系统开发文档,系统开发的主要文档,本章思考题及练习题:,大型的应用系统应如何合理地组织人力、物力、财力来协调开发?对一个实体组织应如何着手调查分析?一个大型系统应该如何进行系统化的划分?如何才能合理地协调数据和利用信息资源?如何充分发挥现有计算机和通讯设备的处理能力,更好的解决实际管理问题等?,作业与练习,1、为什么建立原型?在一个新系统的设计阶段,经理能否理解在建立实际系统之前开发目标系统的原型为什么这么重要。请在一页纸上解释如果不开发一个原型,而直接开发系统,将会出现什么问题?,2、系统开发生命周期和真实的世界。复习系统开发生命周期的几个阶段,然后将其应用到你日常的一项活动中。比如,早晨穿衣服这件事。,首先、你计划准备穿什么,这将完全取决于当天你打算干什么事,要穿的衣服可能包括短裤、长裤、或牛仔裤,等等。第二、比较你计划的着装要求,对衣橱中存放的衣服进行分析。第三、设计全套装束。第四、把衣服从衣橱中拿出来,放到床上。第五、你对装束进行测试以保证其整体匹配。第六、把这套装束穿在身上。第七、你整天穿着这套衣服,并根据需要对其进行调整,