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