管理信息系统的生命周期及开发方法课前预习将手机调到静音认真做笔记及时完成作业上课要求第一节管理信息系统的生命周期第二节结构化开发方法第三节原型法第四节面向对象方法第五节计算机辅助工程第六节各种开发方法的比较第一节管理信息系统的生命周期信息系统的生命周期:每一个信息系统都要经历从无到有,再到淘汰的过程。信息系统的生命周期被划分为若干个阶段,比较多见的是按系统分析、系统设计、系统实施和系统运行四个阶段划分的系统开发生命周期(SystemDevelopmentLifeCycle,SDLC)。第一节管理信息系统的生命周期Laudon将信息系统的生命周期进一步细化,划分为系统分析、系统设计、程序设计、测试、切换、运行与维护六个阶段。信息系统要按轻重缓急,分批开发实现,相互有关而分批进行,需要有总体的规划。在该信息系统总体规划的安排和指导下,各个具体的信息系统才能得到有序的开发和运行。第一节管理信息系统的生命周期在Laudon六个阶段划分的基础上,再加上系统规划的部分,可以将信息系统生命周期划分为七个阶段。1.系统规划系统规划阶段的工作就是根据用户的系统开发请求,初步调查,明确问题,然后进行可行性研究。如果不可行,则取消项目;如果可行并满意,则进入下一阶段工作。2.系统分析系统分析阶段的任务是,分析业务流程;分析数据与数据流程;分析功能与数据之间的关系;最后提出新系统逻辑方案。3.系统设计详细描述具体实现的物理方案,回答“怎样做”的问题,称为系统设计。其具体内容包括代码设计、数据库设计、输出设计、输入设计、处理设计和控制设计等。4.系统制作系统制作是根据物理方案实现可投入实际运行的信息系统。主要任务是:编程(由程序员执行)、人员培训(由系统分析设计人员培训业务人员和操作员)以及数据准备(由业务人员完成),然后投入试运行。如果有问题,则修改程序;5.系统调试彻底考察系统存在的缺陷,检查是否产生正确的结果,称为系统调试,即回答诸如“系统是否会在已知条件下产生预定结果”,“系统是否满足了原定目标”等问题。系统调试工作需要一周或以上的时间。6.系统切换与评价系统切换是指旧系统切换到新系统,可以采用新旧系统并行运行中切换、直接切换或分批切换等策略。系统评价是衡量系统是否实现了预定的目标。7.系统运行与维护信息系统正式投入运行后,在运行过程中需要持续地进行系统维护。信息系统必然存在或大或小的错误,组织所处环境不断地变化,导致信息系统的维护与运行始终并存。根据实施概念的本意,再考虑信息系统的规划、开发、运行与维护,一般将信息系统生命周期划分为三大阶段。第二节结构化开发方法一、结构化系统开发方法的基本思想结构化系统开发方法的基本思想是:用系统工程的思想和工程化的方法,按用户至上的原则,采用结构化、模块化、自顶向下的原则对系统进行分析与设计。二、结构化系统开发方法的主要原则基本原则:1.用户参与的原则2.先逻辑后物理的原则3.自顶向下的原则4.工作成果描述标准化原则5.充分预料可能发生变化的原则二、结构化系统开发方法的主要原则1.用户参与的原则企业各级各类管理者的需求是系统开发的出发点和归宿点,是建设信息系统的直接目的。用户对需求的表达和开发人员对需求的理解是随着建设进程的推进而逐步明确和细化的。二、结构化系统开发方法的主要原则开发人员必须充分考虑用户的特点和使用方面的习惯,协调人-机关系。因此,信息系统的建设必须要引导用户积极参与,不能简单地采用“交钥匙”的办法。2.先逻辑后物理的原则在设计和实施之前,要进行充分的调查和分析,先建立系统的逻辑模型,尽量避免过早地进行物理设计,即先解决系统“做什么”的问题,再解决“怎么做”的问题。3.自顶向下的原则先把握系统的总体目标和功能,然后自上而下、从粗到精、由表及里,逐层分解、逐步细化,逐步求精。自顶向下的原则使建设者在系统建设的过程中,致力于总体目标和功能的实现,同时也利于各部分的合理分工、协调一致。需要注意的是,自顶向下原则在应用时并不完全排除自底向上的原则。在结构化方法中,自顶向下为主导原则,自底向上是辅助原则。4.工作成果描述标准化原则结构化方法强调各阶段工作成果描述的标准化。每个阶段的工作成果,既是这一阶段工作完成的标志,又将作为下一阶段工作的依据。必须用明确的文字和标准化的图形、图表,完整、准确地进行描述。如:系统需求报告、可行性报告、系统设计方案、系统实施方案等5.充分预料可能发生变化的原则管理环境(组织内、外环境,信息处理模式等)是在不断变化的,因此用户对系统的需求也在不断变化之中。结构化方法强调在系统分析与设计时,对将来可能发生的变化给予充分的重视,强调系统对环境的变化具有一定的适应能力。三、结构化系统开发方法的优缺点结构化方法的突出优点主要体现在:1、强调系统开发过程的整体性和全局性,强调在的前提下来考虑具体的分析设计问题。2、严格地区分开发阶段,一步一步地严格进行系统分析和设计,每一步工作都及时地总结,发现问题及时地反馈和纠正,避免了开发过程的混乱状态。三、结构化系统开发方法的优缺点结构化开发方法也逐渐暴露出了很多缺点和不足,具体表现在以下几个方面:1、系统开发周期长2、结构化方法注重功能实现,兼顾数据结构方面不足3、系统的可维护性和稳定性差第三节原型法原型法是面向目标的,它扬弃了那种一步步周密细致地调查分析,然后逐步整理出文字档案,最后才能让用户看到结果的烦琐做法。原型法一开始就凭借着系统开发人员对用户要求的理解,在软件环境支持下,迅速提交一个实实在在的系统原型,向用户展示未来系统的全部或部分功能,然后与用户反复交换意见,协商修改,确认系统并达成一致的理解。一、原型法的工作流程二、原型法的优缺点1.原型法的优点(1)开发人员和用户都能够循序渐进地认识和理解系统。(2)缩短了用户与开发人员之间的距离,解决了结构化方法中最难于解决的一个环节。(3)充分利用最先进的软件开发工具,缩短了软件开发的周期,降低了开发费用。(4)原型法将系统调查、分析与设计合而为一,使用户尽可能早地了解未来将使用的实际系统。2.原型法的缺点(1)原型法的系统分析和功能设计贯穿于整个系统的开发过程中,因此,系统的总体结构就会变得模糊,不利于网络设计。(2)在对原型进行分析设计的过程中,仍然沿袭了结构化方法中自顶向下、模块化的设计思想,数据和功能相互分离的缺陷在原型法中依然存在,软件构件的可重用性低。第四节面向对象方法面向对象方法中涉及的相关概念:1、对象2、类3、消息4、方法第四节面向对象方法对象:在现实世界中,对象是我们认识世界的基本单元。它可以是人,物,一件事,整个世界就是由形形色色的“对象”构成的。对象可以是:有形的具体存在的事物例如:一辆车、一个球、一个小学生;无形的、抽象的事件例如:一次演出、一场球赛等。对象既可以很简单,也可以很复杂,复杂的对象可以由若干简单的对象构成。现实世界中的对象,具有以下特性:(1)名称:区别其它对象;(2)属性:描述对象的某些特征;(3)行为:每一个操作决定对象的一种行为;在现实世界中对象可以表示为:属性+行为行为对象属性举例:对象名:录音机对象的属性:生产厂家:SONY机器编号:XXXX出厂日:2009.05.06对象的行为:播放录音停止倒带类在现实世界中,“类”是对一组具有共同的属性和行为的对象的抽象。例如,老师李明是一个对象。对象名:李明对象的属性:年龄:45学历:博士职称:教授对象的行为(操作):走路吃饭授课类和对象之间的关系是抽象和具体的关系,类是对多个对象进行抽象的结果。一个对象是类的一个实例。例如:张三、李四、王五、…..---人对象类再如:苹果、梨、桔子、香蕉---水果对象类在面向对象程序设计中,“类”就是具有相同的数据和操作(函数)的一组对象的集合。类是一种新的用户定义的抽象的数据类型,对象是类的一个实例。消息在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。方法对象所能实现的行为(操作),在程序设计方法中称为方法,方法中定义了一系列的操作步骤它们是通过调用相应的函数来实现的。调用对象中的函数就是向该对象传送一个消息要求该对象实现某一行为(功能、操作)。面向对象程序设计的基本特征:1.抽象2.封装3.继承4.多态2020/4/13抽象现实生活中:张三、李四、王五、…...---人苹果、梨、桔子、香蕉…...---水果抽象的过程是将有关事物的共性归纳、集中的过程。抽象是对复杂世界的简单表示,抽象并不打算了解全部问题,而只强调感兴趣的信息,忽略了与主题无关的信息。例如,在设计一个成绩管理程序的过程中,只关心他的姓名、学号、成绩等,而对他的身高、体重等信息就可以忽略。而在设计学生健康信息管理系统中,身高、体重等信息必须抽象出来,而成绩则可以忽略。抽象数据抽象:描述某类对象的共同属性代码抽象:描述了某类对象具有的共同行为封装在现实世界中,所谓封装就是把某个事物包围起来,外界是看不到的,甚至是不可知的。例如:录音机、电视机、照相机等。封装是指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐蔽对象的内部细节。对象好像是一个不透明的黑盒子,表示对象属性的数据和实现各个操作的代码都被封装在黑盒子里,从外面是看不见的,各个对象之间是相对独立的,互不干扰。对象只留下少量接口,以便与外界联系。将有关的数据和操作代码封装在一个对象中,各个对象相对独立、相不干扰。封装的含义将对象中某些数据与操作代码对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽。封装和抽象机制可以将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需要使用设计者提供的接口让对象去做。封装和抽象机制可以降低操作的复杂程度,有利于数据安全。减轻了开发一个软件糸统的难度。继承(1)继承的概念父亲儿子继承关系可以使后者继承前者的基本特性,又可以增加一些新的特性。哺乳动物(热血、有毛发、用奶哺育幼仔)狗(有犬牙、食肉、特定的骨骼结构、群居)白狗黑狗(白色)(黑色)继承关系简化了人们对事物的认识和叙述,简化了工作程序。假设有两个类---类A和类B,若类B继承类A,则类B具有类A的基本特性(包括数据和操作)A基类或父类B派生类或子类这时,我们称类A为基类或父类;而称类B为类A的派生类或子类。我们可以说:类B继承了类A还可以说:类B是从类A中派生出来的。如果类B是类A的派生类,那么,在构造类B的时候,不必描述派生类B的所有特性,只需:1.让它继承类A的特性,2.增加类B与基类A不同的那些特性。可见,类B的特性是由继承来的和新添加的两部分特性构成。类的派生过程可以无限继承下去,即派生类可以作为另一个派生类的基类。祖父父亲儿子避免公用代码的重复开发,减少代码和数据冗余。通过增强一致性来减少模块间的接口和界面。继承机制的作用继承的分类从继承源上划分:继承分为单继承和多继承。单继承----一个派生类只继承了一个基类的特性。多继承----一个派生类继承了多个基类的特性。4.多态面向对象系统的多态性是指不同的对象收到相同的的消息时,执行不同的操作。1.在日常生活中:汽车行为1挪开同一消息凳子行为22.在OOP中:窗口对象移动同一消息棋子对象行为3行为4几种典型的面向对象程序设计语言(1)Smalltalk语言(20世纪70年代)Smalltalk语言被认为是最纯正最具代表性的面向对象的程序设计语言(2)C++语言(20世纪80年代)C++是在C语言的基础上,进行面向对象特征的扩充而成的语言(3)Java语言(20世纪90年代)Java语言,是一种面向对象的程序设计语言,是一种网络编程语言。(4)C#语言(21世纪2000年)C#语言从C/C++语言继承发展而来,是一个全新的、面向对象的、现代的编程语言。第五节计算机辅助工程计算机辅助软件工程(Computer-AidedSoftwareEngineering)或者计算机辅助系统工程(Computer-AidedSystemsEngineering),均简记为CASE。CASE当前管理