资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
第11页 / 共47页
第12页 / 共47页
第13页 / 共47页
第14页 / 共47页
第15页 / 共47页
第16页 / 共47页
第17页 / 共47页
第18页 / 共47页
第19页 / 共47页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,精,*,第八章 系统开发方法的发展,精,1,第八章 系统开发方法的发展精1,8.1,概 述,问题的提出,:,随着社会经济和科学技术的迅速发展,各类社会组织的生存环境愈加复杂,竞争日趋激烈,国际社会对信息化的需求日益高涨,传统的管理信息系统的建设方法已不能满足日益增长的社会需要。,精,2,8.1 概 述问题的提出:精2,本节主要内容,用户开发应用系统和原型法,领会生命周期法存在的问题。,了解用户进行应用开发的主要途径。,掌握原型法的基本原理和建立原型系统的主要步骤。,理解原型法与生命周期法的关系。,精,3,本节主要内容用户开发应用系统和原型法精3,8.2,用户开发系统和原型法,结构生命周期法存在的问题,整个系统的开发工作是劳动密集型的,虽然曾经有一些基于结构化生命周期法的计算机辅助开发工具,但往往只能在系统开发的个别环节上提供有限的支持,各阶段的工作从系统分析、系统设计到系统实施,绝大部分工作仍然依靠人工完成。,系统开发的整个工作费时过长,难以适应环境的急剧变化。,对用户需求的变更不能做出迅速的响应。,一旦系统所处理的问题比较复杂,不确定因素较多,系统的逻辑方案、物理方案和实施工作需要反复探索,或者整个系统建设中的非结构化因素较多,结构生命周期法就很难适应。,维护工作繁重,专门人才紧缺。,精,4,8.2 用户开发系统和原型法结构生命周期法存在的问题精4,硬件成本与软件成本的变化,8.2,用户开发系统和原型法,费用,年,1979,1950,硬件成本,软件成本,精,5,硬件成本与软件成本的变化8.2 用户开发系统和原型法费用年1,8.2,用户开发系统和原型法,由于生命周期法存在的一些问题,自然的想法就是由用户直接承担部分或系统建设的任务,开发,维护和修改用户自己需用的应用软件。,用户获得应用软件,通常下面三条途径,:,(1),用户可使用功能很强又容易使用的计算机软件开发工具来开发所需要的应用软件。,(2),当某些用户感到第四代语言技术性太强,使用较困难时,可以聘请顾问或系统专职开发人员一起工作,共同开发合适的应用软件。,(3),从外部购进用户所需的软件应用包。,精,6,8.2 用户开发系统和原型法由于生命周期法存在的一些问题,自,8.2,用户开发系统和原型法,用户开发的主要手段:,个人计算机工具,(,简记,PC,工具,),。,报表生成器。,图形生成器。,多媒体开发工具。,决策支持与建模工具。,应用软件生成器。,上述软件特征,:,大大缩短系统开发时间。,界面友好,方便学习。,适用最终用户和系统开发专业人员。,各类应用软件,数据库管理系统,集成化系统开发工具等等。,可进行复杂的数据处理,生成各种格式的表格、报告。,供用户根据需要用各种图形描述数据库中的数据。,可对文字、数字、图形、图像、动画、影视、声音进行综合处理。,可以支持各种决策和协助建立决策与计划模型。,可以生成信息系统的某个应用软件。,精,7,8.2 用户开发系统和原型法用户开发的主要手段:各类应用软件,8.2,用户开发系统和原型法,1.,企业建设管理信息系统的三种方式,当应用方面的需求可以明确提出并且预计某种需求有相当长的一段时间保持稳定时,可采用生命周期法来进行系统建设。,采用原型法。,用第四代工具开发整个应用软件,无需使用程序设计员。,2.,原型法的基本原理,原型法是一种系统分析和设计的技术方法和手段,并由此生成一个系统或子系统的工作模型,原型法允许用户直接参与和定义系统需求分析,并决定系统将如何满足这些需求。在大多数情况下,原型法可以帮助定义那些在系统分析阶段较难确定的系统需求,原型的数量根据系统的规模可多可少,有时多达上百个。,精,8,8.2 用户开发系统和原型法1. 企业建设管理信息系统的三种,8.2,用户开发系统和原型法,原型开发过程,屏幕原型,I,产品利润,成本,:_,产量,:_,屏幕原型,|,产品利润,部门,:_,月产量,:_,月成本,:_,屏幕原型,|,产品利润,部门,:_,月产量,:_,月成本,:_,每月成本,:,_,修改,修改,精,9,8.2 用户开发系统和原型法原型开发过程 屏幕原型 I产品利,8.2,用户开发系统和原型法,建立原型系统的基本步骤:,明确用户基本信息需求。,建立初始的原型系统。,使用原型系统,进一步明确用户需求。,修改和完善原型系统。,精,10,8.2 用户开发系统和原型法建立原型系统的基本步骤:精10,建立原型系统的步骤,建立初始原型,用户和,分析设计者,满意吗,?,待加工的原型,修改和提出原型,修改后的原型,N,明确用户基本需求和,应用规模,成本估计,第一步,初始原型,第二步,使用原型,进一,明确用户需求,第三步,第四步,可应用的原型,Y,使用此原,型作为应,用系统开,发的依据,直接将原,型用作应,用软件,精,11,建立原型系统的步骤建立初始原型用户和待加工的原型修改和提出原,本节主要内容,面向对象方法,了解面向对象方法的基本概念。,了解面向对象的分析、设计和编程的基本方法。,精,12,本节主要内容面向对象方法精12,8.3,面向对象的方法,基本概念,1.,对象,在面向对象方法中,对象是最基本的概念。,在用户眼中,它相当于现实世界的某类事物。,在系统分析员看来,对象则是描述该事物的一组属性数据和作用于这些属性数据之上的操作方法。,在程序设计者看来,对象就是一个程序模块及其处理的相关数据的组合。,对象把事物的属性和对属性数据的操作方法结合成一个整体。,2.,消息,对象之间进行通信的数据叫做消息,当一个消息发给某个对象时,包含要求接受对象去执行某些活动的信息,接受到消息的对象经过解释,然后予以响应。,精,13,8.3 面向对象的方法基本概念精13,8.3,面向对象的方法,对象的分解图,属性,(,数据,),服务,(,操作,),消息到达,消息发出,对象,注意两个问题:,1.,对象内部的属性(数据)和服务(操作)的关系如何;,2.,属性(数据)对于外界是否暴露?,精,14,8.3 面向对象的方法对象的分解图属性(数据) 服务,8.3,面向对象的方法,3.,类和类层次,一个类定义了一组大体上相同的对象,以各类所包含的操作方法和属性数据描述了一组对象的共同行为和属性。,类是在对象之上的抽象,对象是类的具体化,是类的实例。,一个类的上层可以有超类,下层可以有子类,形成一种层次结构。且一个类可以有多个超类,也可以有多个子类。,类的继承关系,A,B,从,A,继承,继承部分,增加部分,精,15,8.3 面向对象的方法3. 类和类层次类的继承关系AB从A继,8.3,面向对象的方法,4.,继承性(,OOP,语言区别于其他语言的重要标志之一),继承性是类层次结构中的一个重要特点,是超类和子类之间共享数据和操作方法的机制。,一个子类仅有一个父类,则是“单重继承”;如果一个子类有两个以上的父类,则是“多重继承”。,5.,封装性,封装是一种信息隐蔽技术,其目的在于将对象的使用者和设计者分开,使用者不必知道对象行为实现的细节,只须用设计者提供的消息接口来访问对象。,6.,多态性,在收到消息时,对象要予以响应,不同的对象收到同一消息可产生不同的结果,这一现象叫做多态,受继承性的支持。,7.,动态联编,联编是指一个过程调用和响应调用而需执行的代码加以结合的过程。,精,16,8.3 面向对象的方法4. 继承性(OOP语言区别于其他语言,8.3,面向对象的方法,面向对象分析(,OOA,),面向对象分析是面向对象方法在系统分析阶段的应用。面向对象分析应用面向对象中对象与类、属性与服务、继承与封装、基于消息的通信等等概念,在问题空间(问题域)建立以对象为基本单元的系统的逻辑模型。,或可表示为:,OOA=,对象,+,分类,+,继承,+,基于消息的通信,面向对象分析的步骤:,1.,标识对象,从何入手确定对象,?,哪些可以确定为对象,?,应该考虑哪些内容,?,哪些对象不应该存在,?,如何为对象命名,目的:为了使系统开发方法中对系统的描述方式同人们对现实世界的认识方式尽可能一致,并且能建立一个稳定的系统模型来反映用户需求和描述问题空间。,对象表示图,(对象名),(属性),(服务),精,17,8.3 面向对象的方法面向对象分析(OOA)目的:为了使系统,8.3,面向对象的方法,例子:车辆注册与发照管理系统的对象图,管理部门,办事员,车主,发照,注册,车辆,精,18,8.3 面向对象的方法例子:车辆注册与发照管理系统的对象图管,8.3,面向对象的方法,2.,定义结构,结构是一种组织方式,在面向对象的分析中,它是指多种对象的组织方式,用来反映问题空间中的复杂事物和复杂关系。,分为两种:,分类结构:针对的是事物的类别之间的组织关系。,组装结构:对应事物的整体与部分之间的关系。,交通工具,汽车,飞机,火车,分类结构示例,(类),(成员),类与成员关系,飞机,发动机,控制系统,机身,组装结构示例,(,整体,),(,部分,),整体与部分关系,精,19,8.3 面向对象的方法2. 定义结构交通工具汽车飞机火车分类,8.3,面向对象的方法,3.,定义主题,在面向对象分析中,主题是一个或者几个对象或类在系统中的共有特征的概要描述。,定义主题之后,形成了系统模型的一个新的抽象层次:,主题层,。,定义主题的一般方法:,为每一个结构提炼出一个相应的主题。,使每一个对象归属一个相应的主题。,如果主题的个数超过了,7,个左右,则进一步提炼主题,即对已有的主题进行归并。,主题在分析结果中是一个单独的层次。在这个层次中,每个主题都有一个序号,主题之间的联系是消息联系,它代表了两个主题对应的两组对象和结构之间的所有关联。,精,20,8.3 面向对象的方法3. 定义主题精20,8.3,面向对象的方法,1.,管理者,2.,车主,3.,法律事务,4.,车辆,车辆注册与发照管理系统的主题层,精,21,8.3 面向对象的方法1. 管理者2. 车主3. 法律事务4,8.3,面向对象的方法,4.,定义属性与实例连接,属性是描述对象或分类结构实例的数据单元。,对属性的定义可以分为以下几个步骤:,标识属性,属性定位,属性说明,定义实例连接,0:1,1:1,0:,多,1:,多,一个对象的一个实例可以对应于另一个对象的一个实例,也可以不发生连结。,一个对象的一个实例必须对应于另一个对象的一个实例。,一个对象的一个实例可以对应于另一个对象的多个实例,也可以不发生连结。,一个对象的一个实例对应于另一个对象的多个实例。,精,22,8.3 面向对象的方法4.定义属性与实例连接0:11:10:,1,X,总重,注,:X,表示覆盖的共用属性,车辆注册与发照系统的属性层,2,3,4,管理部门,名称,经理,地址,电话,办事员,用户名,权限,起始日期,截止日期,车 主,法定名,地址,电话,法律事务,发生的,日期和时间,车 辆,车号,出产车,制造者,型号,车体类型,总重,载客数,发动机,颜色,成本,里程数,发 照,车号,所有权的,凭证,旧执照,发照费,注 册,开始时间,截止时间,车牌,标签,注册费,轿 车,卡 车,现 重,摩托车,拖 车,X,发动机,X,载客数,标准拖车,旅行拖车,车身号长度,精,23,1X总重注:X表示覆盖的共用属性车辆注册与发照系统的属性层2,8.3,面向对象的方法,5.,定义服务和消息连接,定义服务,首先是定义每一种对象和分类结构所具有的行为(或操作);其次,还要定义对象实例之间必要的通信。,通信的基本方式是消息传递,所以说定义通信就是定义实例之间的消息连接。,在,OOA,模型中,对每一种对象或分类结构要考虑的基础服务有,3,类:,发生:包括对实例的增加、变动、删除和选择。,计算,监控,某些,OOA,模型所特有的。,精,24,8.3 面向对象的方法5. 定义服务和消息连接某些OOA模型,注,1:,消息连接线,注,2:,发生类服务省略,车辆注册与发照系统的服务层,2,3,4,管理部门,办事员,车 主,法律事务,车 辆,发 照,注 册,轿 车,卡 车,摩托车,拖 车,标准拖车,旅行拖车,车身号长度,算发照费,收发照费,算注册费,收注册费,更新检查,精,25,注1: 消息连接线车辆注册,8.3,面向对象的方法,面向对象设计,(OOD),的任务与活动,OOD,的任务:是在系统分析的基础上,根据系统功能和用户操作使用方面的需求以及技术、经济和运行环境等方面的条件,继续运用面向对象的基本思想与概念,进一步细化、改进和扩展,5,个层次(主题层、对象层、结构层、属性层与服务层)的模型,以确立系统物理实现的技术方案,即建立系统的物理模型。,OOD,模型由,4,个部分和,5,个层次组成。如下图:,主题层,对象层,结构层,属性层,服务层,人机交互部分,问题空间部分,任务管理部分,数据管理部分,(HIC),(PDC),(TMC),(DMC),精,26,8.3 面向对象的方法面向对象设计(OOD)的任务与活动主题,8.3,面向对象的方法,问题空间部分,(PDC),的设计,PDC,的设计策略:采用,OOA,的表示方法、分析方法和结果,以消除分析和设计的鸿沟,并对,OOA,的结果进行修改和增补。,OOA,中的结果加以改进是指:把,OOA,的结果直接放到,PDC,中,进行某些必要的修改,细化与扩充,也就是对,OOA,得出的表示用户需求的模型做必要的调整。,人机交互,(HIC),的设计,人机交互部分突出人如何命令系统以及系统如何向用户提交信息。,该部分策略的构成:,分类和描述,设计命令层,设计详细的交互准则,根据图形用户界面进行设计,精,27,8.3 面向对象的方法问题空间部分(PDC)的设计精27,8.3,面向对象的方法,任务管理部分,(TMC),的设计,任务是指系统为达到某一个设定目标而进行的一连串数据操作,设立一个任务,就是对一串数据操作进行定义和封装,确定其名称和代码。,识别事件驱动任务,识别时钟驱动任务,识别优先任务和关键任务,识别协调者,审查任务,数据管理部分的设计,(DMC),提供了在数据管理系统中存储和检索对象的基本结构,旨在隔离数据管理方法的影响,不管该方法是文件方式、关系方式还是面向对象方式。,数据存储设计,相应服务的设计,精,28,8.3 面向对象的方法任务管理部分(TMC)的设计精28,8.3,面向对象的方法,概述,面向对象的程序设计,(OOP),的一个基本特征,就是对计算机的体系结构和支撑软件系统没有突的要求,因而它支持现有资源的重用,这样,从经济和社会因素来看,,OOP,有着明显的优势。,例:雇员的定义,Class Employee,private :,char * Name ;,int Age;,public :,void Change (char* name,,,int age);,void Retire ();,Employee(char * name,,,int age);,Employee();,;,定义了一个雇员类(名称为,Employee,),其中,,Name,和,Age,是数据成员,,Change,、,Retire,、,Employee,、,Employee,等是成员函数。,精,29,8.3 面向对象的方法概述定义了一个雇员类(名称为Emplo,8.3,面向对象的方法,继承性和类层次结构,例:经理类的定义,class manager: public employee ,int Level;,public :,void Changelevel (int n);,manager (char * name,,,int age,,,int level);,Manager ();,;,“,经理”这个类是由“雇员”这个类继承而来。,人,雇员,学生,在职学习者,经理,类层次结构定义,精,30,8.3 面向对象的方法继承性和类层次结构人雇员学生在职学习者,8.3,面向对象的方法,对象,消息传递和方法,对象之间通过消息传递方式进行通信,而一般数据只能被动地由过程来加工,消息传递是一种与通信有关的概念,下面是发送一条消息的典型方式:,sendto,其中,,send to,是消息传递通信原语, 发送的消息在,中,而,则指明了接受方,。,在两个实体之间通信,其必要条件是至少存在一条信道,并且遵循同一种通信协议。,精,31,8.3 面向对象的方法 对象,消息传递和方法精31,本节主要内容,计算机辅助设计工程方法,了解,CASE,的主要目标和功能。,了解,CASE,软件平台的构成。,了解,CASE,的硬件平台构成。,精,32,本节主要内容计算机辅助设计工程方法精32,8.4,计算机辅助软件工程,(CASE),概述,分析,设计,实施,维护,传统的系统开发方法,:,手工方法和单个工具结合,单个工具,手工工作,精,33,8.4 计算机辅助软件工程(CASE)概述分析设计实施维护传,8.4,计算机辅助软件工程,(CASE),CASE,技术是系统开发工具与方法的结合,它不同于以往的开发技术,因为它强调的是解决整个系统开发过程的效率问题,而不仅仅是实施阶段。,它的,主要目标,是:,使结构化方法可以全面实施,通过自动检查提高软件的质量,使原型的建立有了高效率的手段,简化系统的维护工作,加快系统的开发过程,使系统开发人员的精力集中于开创性工作,提高软件的可重用度,CASE,的,作用,:,能实现一个具有快速响应、专用资源和早期查错功能的交互式开发环境。,对系统的开发和维护过程中的各个环节实现自动化。,通过一个强有力的图形接口,实现了直观的程序设计。,精,34,8.4 计算机辅助软件工程(CASE)CASE技术是系统开发,8.4,计算机辅助软件工程,(CASE),CASE,软件平台,概述,CASE,工作站是一个完整的环境,包括硬件和软件两部分,其目的是为软件系统的开发,维护和项目管理提供一个计算计划的辅助手段。,CASE,软件平台则是一组范围广泛的集成化软件工具,构成了工作站的“软环境”。,1,个完整的,CASE,软件平台必须具有以下的功能,:,图形功能,查错功能,中心信息库,对软件生命周期的全面覆盖,支持建立系统的原型,代码的自动生成,支持结构话的方法论,精,35,8.4 计算机辅助软件工程(CASE)CASE软件平台精35,8.4,计算机辅助软件工程,(CASE),CASE,软件平台,图形功能,图形功能是,CASE,软件平台一种非常重要的功能,图形接口的功能越强,用户的软件开发效率就越高。,图形实际上是软件模型化的语言,它为软件的描述提供了一种简明的、没有歧义的方法。,同时也是软件分析和设计的基础,使用图形建立模型,能够体现不同方法的特点。,主要优点:大大加快绘图的过程;实现了标准化;实现了文档生成的自动化等等。,查错功能,尽早查出错误是降低软件开发成本的一个行之有效的方法,自动错误检查能帮助开发人员在系统生命周期的较早阶段发现更多的错误。,精,36,8.4 计算机辅助软件工程(CASE)CASE软件平台精36,8.4,计算机辅助软件工程,(CASE),CASE,中心信息库,中心信息库是,CASE,软件平台的核心,是下列功能的基础。,系统规格说明的一致性和完整性控制,系统信息的共享,文档标准化,系统文档的生成,代码的生成,软件的可重用性的控制,项目的管理与控制,数据元素 处理,数据记录 函数,数据存储 外部实体,数据模型实体 模块,数据流图 商务规则,结构图 方法规则,数据模型图,实体关系图,屏幕与报告,数据,图形,处理,规则,CASE,中心信息库示意图,精,37,8.4 计算机辅助软件工程(CASE)CASE 中心信息库数,8.4,计算机辅助软件工程,(CASE),对软件生命周期的全面覆盖,传统的软件系统生命周期中,强调的是生命周期的后期阶段;而后,人们发现最严重的错误和代价都出现在开发的前期,即将,60%,的工作量用在分析和设计阶段。,分析,设计,编码,测试,运行,/,维护,开,发,阶,段,实,施,传统的软件生命周期,精,38,8.4 计算机辅助软件工程(CASE)对软件生命周期的全面覆,8.4,计算机辅助软件工程,(CASE),创建原型,设计规格说明,设计检查,代码生成,系统测试,完成的系统,自动进行,CASE,软件生命周期简图,引入,CASE,技术后,更加强调生命周期的前期阶段,分析和设计任务的自动化以及自动的设计规格说明检查带来了更高的效率和更低的错误率。,自动查错功能可以在系统开发的早期发现错误并加以纠正。,自动代码生成则使编码阶段在生命周期中更加简短。,精,39,8.4 计算机辅助软件工程(CASE)创建原型设计规格说明设,8.4,计算机辅助软件工程,(CASE),支持建立系统的原型,建立原型的,CASE,工具,屏幕绘图程序,报告生成程序,菜单建立程序,第四代语言,可执行的规格说明语言,精,40,8.4 计算机辅助软件工程(CASE)支持建立系统的原型精4,8.4,计算机辅助软件工程,(CASE),代码自动生成,自动生成的可能是一个框架,也可能是一个完整的程序。,在生成,1,个完整程序的情况下,由设计规格说明自动生成完整的程序及其相关的文档,包括,:,可执行代码,需要访问的数据库,/,文件,(,屏幕,映象,数据库,/,文件描述,),屏幕求助信息,出错信息,用户和程序文挡,生成的代码可能是源代码,也可能是目标代码。,对结构化方法的支持,精,41,8.4 计算机辅助软件工程(CASE)代码自动生成精41,8.4,计算机辅助软件工程,(CASE),CASE,硬件平台,可供选择的硬件平台,独立的工作站。,包括一台主机和若干工作站组成的两层结构。,包括一台中央主机,中型的部门级或项目级的主机和若干工作站的三层结构。,通常,对工作站硬件的选择都要集中考虑以下几个方面,:,内存容量和处理能力,图形的质量,网络功能,多用户,/,多任务功能,可连接性,精,42,8.4 计算机辅助软件工程(CASE)CASE硬件平台精42,8.4,计算机辅助软件工程,(CASE),CASE,系统的基本组成部分,前端:对应于软件生命周期的前期阶段,即分析与设计。也对应了硬件平台的,PC,机或工作站部分;提供了支持分析和设计工作的功能。,中心信息库,(,中心库,),:把,CASE,系统的前、后端部分连接起来,是一个通讯机构,通过它,可以对软件生命周期个阶段收集到的所有系统信息进行管理和共享。,后端:对应于软件生命周期的后期阶段,即程序的实现和维护阶段,也对应了,CASE,硬件平台的主机部分。后端,CASE,工具自动实现编码、测试、数据库生成、数据规范化和系统的效果分析任务,这些任务需要具有大型数据处理能力和存储能力的主机支持。,前端,中心库,后端,精,43,8.4 计算机辅助软件工程(CASE)CASE系统的基本组成,8.4,计算机辅助软件工程,(CASE),CASE,系统的基本组成部分,一个更为实际的,CASE,系统基本模块视图。,前端,前端信息库,后端信息库,后端,主机中心库,外部数据,词典,中间中心库,CASE,工作台,精,44,8.4 计算机辅助软件工程(CASE)CASE系统的基本组成,8.4,计算机辅助软件工程,(CASE),CASE,同其他软件技术的关系,第四代工具和,CASE,工具的区别,:,第四代工具的主要用户是最终用户,而,CASE,工具的主要用户则是专业的系统开发人员。,第四代工具主要用于开发中小型的,MIS,应用系统,而,CASE,工具则可用于所有类型的系统开发。,第四代工具在开发过程中用预编程序和合理使用公用的函数提高劳动率,而,CASE,工具则是通过实现软件开发自动化提高生产率。,第四代工具主要用在所谓的人工智能技术,它包括机器人,自然语言处理,定理机器证明,知识工程和专家系统等等。,精,45,8.4 计算机辅助软件工程(CASE)CASE 同其他软件技,8.4,计算机辅助软件工程,(CASE),各类软件工具支持的各个生命周期阶段,未来的,CASE,工作台,CASE,工具箱,CASE,代码生成器,第四代语言,分析 设计 编码 测试 维护,CASE,工具和软件生命周期,精,46,8.4 计算机辅助软件工程(CASE)各类软件工具支持的各个,本章内容到此结束!,精,47,本章内容到此结束!精47,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6