免费智能真题库 > 历年试卷 > 系统分析师 > 2020年下半年 系统分析师 下午试卷 论文
  第2题      
  知识点:   快速应用开发   瀑布模型   程序结构   复用   构件   模块化   生命周期   信息系统开发方法

 
试题二 论快速应用开发方法及其应用
快速应用开发(Rapid Application Development, RAD)是一种比传统生命周期法快得多的信息系统开发方法,它强调极短的开发周期。RAD模型是瀑布模型的一个变种,通过使用基于构件的开发方法进行快速开发。如果需求理解得很好,且约束了项目范围,利用这种模型可以很快开发出功能完善的信息系统。RAD强调复用已有的程序结构或使用构件,或者创建可复用构件。一般来说,如果一个业务能够被模块化,且其中每一个主要功能均可以在不到三个月的时间内完成,它就适合采用RAD方法。每个主要功能可由一个单独的RAD组来实现,最后再集成起来,形成一个整体。
 
问题:2.1   请围绕“论快速应用开发方法及其应用”论题,依次从以下三个方面进行论述:
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.RAD方法的流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试与交付。请简要对上述5个步骤的主要工作和特点进行论述。
3.具体阐述你参与管理和开发的项目是如何采用RAD方法进行开发的,并围绕上述5个步骤,详细论述在项目开发过程中遇到了哪些实际问题,是如何解决的。
 
 
 

   知识点讲解    
   · 快速应用开发    · 瀑布模型    · 程序结构    · 复用    · 构件    · 模块化    · 生命周期    · 信息系统开发方法
 
       快速应用开发
        快速应用开发(Rapid Application Development, RAD)模型是一个增量型的软件开发过程模型,强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过大量使用可复用构件,采用基于构件的建造方法赢得快速开发。如果需求理解得好且约束了项目的范围,利用这种模型可以很快地创建出功能完善的信息系统。其流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试及反复。
        RAD模型各个活动期所要完成的任务如下:
        (1)业务建模:以什么信息驱动业务过程运作?要生成什么信息?谁生成它?信息流的去向是哪里?由谁处理?可以辅之以数据流图来回答以上问题。
        (2)数据建模:为支持业务过程的数据流找到数据对象集合,定义数据对象属性,并与其他数据对象的关系构成数据模型,可辅之以E-R图。
        (3)过程建模:使数据对象在信息流中完成各业务功能。创建过程以描述数据对象的增加、修改、删除和查找,即细化数据流图中的处理框。
        (4)应用程序生成:利用第四代语言(4GL)写出处理程序,重用已有构件或创建新的可重用构件,利用环境提供的工具自动生成并构造出整个应用系统。
        (5)测试与交付:由于大量重用,一般只做总体测试,但新创建的构件还是要测试的。
        与瀑布模型相比,RAD模型不采用传统的第三代程序设计语言来创建软件,而是采用基于构件的开发方法,复用已有的程序结构(如果可能的话)或使用可复用构件,或者开发可复用的构件(如果需要的话)。在所有情况下,均使用自动化工具辅助进行软件创造。很显然,加在一个RAD模型项目上的时间约束需要“一个可伸缩的范围”。如果一个业务能够被模块化使得其中每一个主要功能均可以在不到三个月的时间内完成,那么它就是RAD的一个候选者。每一个主要功能可由一个单独的RAD组来实现,最后再集成起来形成一个整体。
        RAD模型通过大量使用可复用构件加快了开发速度,对信息系统的开发特别有效。但是像所有其他软件过程模型一样,RAD方法也有以下一些缺陷:
        (1)并非所有应用都适合RAD。RAD模型对模块化要求比较高,如果有哪一项功能不能被模块化,那么建造RAD所需要的构件就会有问题;如果高性能是一个指标,且该指标必须通过调整接口使其适应系统构件才能赢得,RAD方法也有可能不能奏效。
        (2)开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。
        (3)RAD只能用于信息系统开发,不适合技术风险很高的情况。当一个新应用要采用很多新技术或当新软件要求与已有的计算机程序有较高的互操作性时,这种情况就会发生。
 
       瀑布模型
        瀑布模型也称为生命周期法,是结构化方法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。采用瀑布模型的软件过程如下图所示。
        
        软件生存周期的瀑布模型
        (1)软件计划(问题的定义及规划):主要确定软件的开发目标及其可行性。
        (2)需求分析:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。
        (3)软件设计:主要是指根据需求分析的结果,对整个软件系统进行设计,如系统框架设计和数据库设计等。软件设计一般分为总体设计(概要设计)和详细设计。
        (4)程序编码:将软件设计的结果转换成计算机可运行的程序代码。在程序编写中必须要制定统一的、符合标准的编写规范,以保证程序的可读性和易维护性,提高程序的运行效率。
        (5)软件测试:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
        (6)软件维护:软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件可能会不能继续适应用户的要求,这时如果要延续软件的使用寿命,就必须对软件进行维护。
        瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型的本质是“一次通过”,即每个活动只做一次,最后得到软件产品,也称做“线性顺序模型”或者“传统生命周期”,其过程是从上一项活动接收该项活动的工作对象并作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,然后作为输出传给下一项活动。同时对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。
        瀑布模型有利于大型软件开发过程中人员的组织与管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。然而软件开发的实践表明,上述各项活动之间并非完全是自上而下的、呈线性图式的,因此,瀑布模型存在严重的缺陷。
        (1)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间间隔较长,也增加了一定的风险。
        (2)在软件开发前期未发现的错误传到后面的开发活动中时,可能会扩散,进而可能会导致整个软件项目开发失败。
        (3)在软件需求分析阶段,完全确定用户的所有需求是比较困难的,甚至可以说是不太可能的。
        瀑布模型适用于需求明确或很少变更的项目。
 
       程序结构
        任何一个C++程序都必须有一个main函数,整个程序的执行从main函数开始。
        下面以一个简单的C++程序为例来说明C++程序结构。
        
        第1、2行是注释。其中,//是C++语言的一种注释符号,自//开始,一直到本行结束,所有内容都是注释,也可以用/*和*/将注释内容括起来。第3行使用预处理指令#include将头文件iostream包含到程序中来,iostream是标准的C++头文件,它包含了输入和输出的定义。第5行开始定义了一个名称为main的函数。第6行的左花括号和第12行的右花括号分别表示main函数体的开始和结束。第7行至第11行是函数体的内容。流是执行输入和输出的对象,cout是C++标准的输出流,标准输出通常是指计算机屏幕,符号<<是一个输出运算符,带一个输出流作为它的左操作数,一个表达式作为它的右操作数,后者被发送到前者。cin是C++标准的输入流,标准输入通常是指计算机键盘。符号>>是输入运算符,带一个输入流作为它的左操作数,一个变量作为它的右操作数,前者被抽取到后者,cin输入流抽取到变量i的效果是将键盘的输入值复制到变量i中。
        通过这个程序,读者可以对C++语言的程序结构有一个基本的了解。
 
       复用
        软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件复用实现的关键。
 
       构件
        为了达到门户站点的基本要求,一个企业的网站应当由以下构件组成:
        (1)应用服务器(Application Server)。主要用于企业较大规模电子商务应用的开发、发布和管理,同时实现与企业原有系统的集成。
        (2)工作流和群件服务器。主要用于使工作人员和商业伙伴能通过Internet共享资源、协同工作。
        (3)内容管理子系统。简化企业网站的产品管理、提高效率,并将相应的、经过筛选的内容发送给最终用户。
        (4)目录服务器。企业使用它来管理防火墙内外的用户、资源和控制安全权限,同时为用户的通信和电子商务提供一个通道。
        (5)性能优化工具。改善网站服务质量,包括流量管理、动态数据缓存、网络动态负载(Load Balancing)、知识管理等。
        (6)邮件和消息服务器。使企业和服务提供者能为所有员工、合作伙伴和客户社区提供商业级的通信架构。
        (7)个性化信息服务。在实时分析用户数据的基础上提供一对一的交易平台。通过对用户行为的更好理解,企业更跟踪、分析和理解网站用户。
        (8)搜索引擎。用户提供更广泛的资源。
        (9)安全服务器。包括数据安全、应用安全和交易完全。其基本内容有用防火墙阻止对网络的非授权访问,在安全和个人的角色授权的基础上,只需一次登录就可以访问网站的所有应用,通过提供一种对在线交易的每一方的可信任的授权方式,帮助客户、合作伙伴和员工访问Internet应用。
        (10)网站服务器(Web Server)。将各种网站的信息发布给用户。
        以上是通常构建网站所需要的构件,企业可针对自己的特点以及网站规模大小,应用的类型等自行选择。
        在网站结构的实现上,通常在逻辑上将网站分为三层:表示层、应用逻辑层、数据层。这种结构使得网站具有较好的可扩充性,将表示层与业务功能的实现分离开来,能够更灵活地适应业务的发展。网站不需要对业务逻辑组件进行任何变动,就能够适用新出现的表示形式和客户端。例如,为了使用户更方便地在网站上购物,网站调整了页面格局和页面风格。由于网站结构层次分明,只需要改动网站表示层,业务逻辑层和数据连接层则不需要改变。
        (11)表示层和相关技术。表示层用于为最终用户提供一个友好的用户界面,接受用户提交的事件,并将处理的结果返还给用户。这一层作为应用的前端和“窗口”,决定了用户对网站优劣的评价和总体印象。
        网站从总体上说是独立于客户端的,客户端包括基于浏览器的HTML客户端、给予Java的客户端、传统的C/C++应用、Power Builder客户端以及VB客户端。
        在表示层除了使用最基本的HTML语言外,通常还利用JavaScript Internet脚本语言,以及Java Internet程序开发语言。JavaScript程序运行在客户端,能够完成用户事件获取、数据提交前的合法性校验、错误检查和实现动画效果等。而利用Java开发的JavaServlet程序运行于服务器端,负责实现与业务逻辑层的交互,从业务逻辑层获得数据,并将用户提交的信息传给业务逻辑层,而基于Java语言的JSP程序,则实现数据的动态显示,它将JavaServlet程序获得的数据形成相应的HTML页面传给客户端。
        为了适应电子商务的各种需求,新的表示层技术不断发展。如XML(可扩展标记语言)和RDF(资源描述框架)等都是当前最新的、对表示层产生重大影响的技术。XML通过一种结构化的文本方式来表述数据;RDF提供一种统一的、可互操作的方法通过Internet在程序间交换元数据。
        (12)商务逻辑与实现。商务逻辑层是电子商务系统的核心,也是系统建造过程中的重点和难点。商务逻辑层包括商务应用程序、支持平台(包括商务服务层、商务支持层和基础支持层)。
        支持层向上层(商务应用层)提供的服务主要包括:表达、商务支持、运行支持、开发与集成服务。构成支持平台的技术产品至少应当包括:Web服务器、商务支持软件、集成与开发工具、计算机主机、网络及其他系统软件(如操作系统、管理工具软件等)。
        通常,Web服务器、商务支持软件、部分集成开发环境被集成到一个被称为“应用服务器”的软件包里,所以商务逻辑层在物理上可以简化为以下三个部门:应用软件(实现商务逻辑);应用服务器(为应用软件提供软件支持平台)和其他支持软件;计算机主机及网络(为应用软件提供硬件支持平台)。
        构造商务逻辑层的任务是为选择合适的应用服务器和其他支持软件,开发实现商务逻辑的应用软件系统。
        (13)数据层及实现。构造数据层的关键是开发电子商务与外部系统、内部资源系统的接口,完成系统集成。
        数据层的数据源主要包括:相关信息系统(如ERP系统)的数据与企业的数据库,企业与协作企业(如供应商)间交换的数据,企业与银行间交换的数据,企业与认证中心之间的认证数据,企业与其他商务中介交换的电子数据。
        由于企业商务逻辑的处理过程是一个从市场、销售、采购到客户服务的整体,所以必须将商务逻辑处理过程中所涉及到的数据集成到一起,因此构造数据层的任务是:实现电子商务系统与企业内部和外部信息系统之间的网络互联,并确保安全的网络环境,基于应用服务器平台的商务应用系统与企业内部数据的共享。
 
       模块化
        模块是程序中数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素。在系统体系结构中,模块是可组合、可分解和可更换的单元。
        模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
        开发一个大而复杂的系统,将它进行适当的分解,不但可降低其复杂性,还可减少开发工作量,从而降低开发成本,提高软件生产率。这是模块划分的依据。
        (1)划分模块时,尽量做到高内聚、低耦合,保持模块的相对独立性,并以此原则优化初始的系统体系结构。
        (2)一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
        一个模块的作用范围是指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身及其所有下属模块(直接或者间接从属于它的模块)的集合。
        (3)系统结构的深度、宽度、扇入和扇出应适当。
        (4)模块的大小要适中。
 
       生命周期
        IT服务生命周期由规划设计(Planning&Design)、部署实施(Implementing)、服务运营(Operation)、持续改进(Improvement)和监督管理(Supervision)5个阶段组成,简称“PIOIS”。
        (1)规划设计:从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务。
        (2)部署实施:在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案。
        (3)服务运营:根据IT服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营的全面融合。
        (4)持续改进:根据IT服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量。
        (5)监督管理:本阶段主要依据ITSS对IT服务质量进行评价,并对IT服务供方的服务过程、交付结果实施监督和绩效评估。
 
       信息系统开发方法
        信息系统的开发是一个庞大的系统工程,它涉及到组织的内部结构、管理模式、生产加工、经营管理过程、数据的收集与处理过程、计算机硬件系统的管理与应用、软件系统的开发等各个方面。这就增加了开发一个信息系统的工程规模和难度,需要研究出科学的开发方法和过程化的开发步骤,以确保整个开发过程能够顺利进行。这正是信息系统开发方法的任务。
        信息系统开发方法学研究的主要对象是信息系统开发的规律、开发过程的认知体系、分析设计的一般理论以及具体的开发工具和技术等。
        下面从方法论的角度,介绍创建信息系统所需的规划方法,包括结构化开发和设计方法(SSA&D),面向对象的开发方法(OO)及原型方法(Phototyping)。
               结构化系统分析与设计方法(Structured System Analysis and Design, SSA&D)
               SSA&D是在由Dijkstra等人提出的结构化程序设计思想基础上发展起来的。它是一种系统化、结构化和自顶向下的系统开发方法。
               其基本思想是:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下对信息系统进行分析与设计。具体来说,就是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等。在前三个阶段坚持自顶向下地对系统进行结构化划分。在系统调查或理顺管理业务时,应从最顶层的管理业务入手,逐步深入到最基层。在系统分析,提出新系统方案和系统设计时,先考虑系统整体的优化,然后再考虑局部的优化问题。在系统实施阶段,则应坚持自底向上的逐步实施。
               SSA&D有如下特点。
               (1)建立面向用户的观点。强调用户是整个信息系统开发的起源和最终归宿,即用户的参与程度和满意程度是系统成功的关键。
               (2)严格区分工作阶段。强调将整个系统的开发过程分为若干个阶段,每个阶段都有其明确的任务和目标以及预期要达到的阶段成果。一般不可打乱或颠倒。
               (3)结构化、模块化、自顶向下进行开发。在分析问题时,应首先站在整体的角度,将各项具体的业务和组织放到整体中加以考查。自顶向下分析设计:首先确保全局的正确,再一层层地深入考虑和处理局部的问题。
               自底向上进行开发:在具体系统实现过程中,一个模块一个模块地进行开发,调试,然后再由几个模块联调(子系统联调),最后是整个系统联调。
               (4)充分预料可能发生的变化。在系统的分析、设计和实现过程中,都要充分地考虑可能变化的因素。一般可能发生的变化来自于周围环境变化,来自外部的影响:如上级主管部门要的信息发生变化等。系统内部处理模式的变化,如系统内部的组织结构和鼓励体制发生的变化,工艺流程发生变化,系统内部管理形式发生变化等。用户要求发生变化:用户对系统的认识程度不断深化,又提出更高的要求。
               (5)工作文件的标准化和文献化。在系统研制的每一阶段、每一步骤都要有详细的文字资料记载,需要记载的信息是:
               .系统分析过程中的调研材料。
               .同用户交流的情况。
               .设计的每一步方案(甚至包括经分析后淘汰掉的信息和资料)资料要有专人保管,要建立一整套管理、查询制度。
               原型方法(Prototyping)
               原型方法是20世纪80年代随着计算机软件技术的发展,特别是在关系数据库系统(Relational Data Base System, RDBS)、第四代程序生成语言(4th Generation Language, 4GL)和各种系统开发生成环境产生的基础上,提出的一种从设计思想到工具、手段都是全新的系统开发方法。
               传统的结构化开发方法强调系统开发每一阶段的严谨性,要求在系统设计和实施阶段之前预先严格定义出完整准确的功能需求和规格说明。然而,对于规模较大或结构较复杂的系统,在系统开发前期,用户往往对未来的新系统仅有一个比较模糊的想法。由于专业知识所限,系统开发人员对某些涉及具体领域的功能需求也不太清楚。虽然可以通过详细的系统分析和定义得到一份较好的规格说明书,却很难做到将整个管理信息系统描述完整,且与实际环境完全相符,很难通过逻辑推断看出新系统的运行效果。因此当新系统建成以后,用户对系统的功能或运行效果往往会觉得不满意。同时随着开发工作的进行,用户会产生新的要求或因环境变化希望系统也能随之作相应更改,系统开发人员也可能因碰到某些意料之外的问题希望在用户需求中有所权衡。总之,规格说明的难以完善和用户需求的模糊性已成为传统的结构化开发方法的重大障碍。
               原型方法正是对上述问题进行变通的一种新的系统开发方法。在建筑学和机械设计学中,“原型”指的是其结构、大小和功能都与某个物体相类似的模拟该物体的原始模型。在信息系统开发中,用“原型”来形象地表示系统的一个早期可运行版本,它能反映新系统的部分重要功能和特征。“原型方法”则是利用原型辅助开发系统的一种新方法。原型方法要求在获得一组基本的用户需求后,快速地实现新系统的一个“原型”,用户、开发者及其他有关人员在试用原型的过程中,加强通信和反馈,通过反复评价和反复修改原型系统,逐步确定各种需求的细节,适应需求的变化,从而最终提高新系统的质量。因此可以认为原型方法确定用户需求的策略,它对用户需求的定义采用启发的方式,引导用户在对系统逐渐加深理解的过程中作出响应。
               原型法基本思想是凭借着系统分析人员对用户要求的理解,在强有力的软件环境支持下,快速地给出一个实实在在的模型(或称原型、雏形),然后与用户反复协商修改,最终形成实际系统。这个模型大致体现了系统分析人员对用户当前要求的理解和用户想要实现的形式。
               原型方法虽然是在研究用户需求的过程中产生的,但更主要的是针对传统结构化方法所面临的困难,因而也面向系统开发的其他阶段和整个过程。由于软件项目的特点,运用原型的目的和开发策略的不同,原型方法可表现为不同的运用方式,一般可分为以下三种类型。
               (1)探索型(Exploratory Prototying)主要是针对开发目标模糊、用户和开发人员对项目都缺乏经验的情况,其目的是弄清对目标系统的要求,确定所期望的特性并探讨多种方案的可行性。
               (2)实验型(Experimental Prototying)用于大规模开发和实现之前考核、验证方案是否合适,规格说明是否可靠。
               (3)演化型(Evolutionary Prototying)其目的不在于改进规格说明和用户需求,而是将系统改造得易于变化,在改进原型的过程中将原型演化成最终系统。它将原型方法的思想贯穿到系统开发全过程,对满足需求的改动较为适合。
               面向对象的开发方法(Object Oriented, OO)
               从事软件开发的工程师们常常有这样的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软件投入使用后,也常常需要对其做出修改,在用结构化开发的程序中,这种修改往往是很困难的,而且还会因为计划或考虑不周,不但旧错误没有得到彻底改正,又引入了新的错误;另一方面,在过去的程序开发中,代码的重用率很低,使得程序员的效率并不高,为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径——面向对象方法学。
               面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程。由于客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的,因此把客观世界中的实体抽象为对象(Object)。持面向对象观点的程序员认为计算机程序的结构应该与所要解决的问题一致,而不是与某种分析或开发方法保持一致,他们的经验表明,对任何软件系统而言,其中最稳定的成分往往是其相应问题论域(Problem Domain)中的成分。(例如在过去几百年中复式计账的原则未做任何实质性的改变,而其使用的工具早已从鹅毛笔变成了计算机)。
               所以,“面向对象”是一种认识客观世界的世界观,是从结构组织角度模拟客观世界的一种方法。一般人们在认识和了解客观现实世界时,通常运用的一些构造法则:
               .区分对象及其属性,例如区分台式计算机和笔记本计算机。
               .区分整体对象及其组成部分,例如区分台式计算机的组成(主机、显示器等)。
               .不同对象类的形成以及区分,例如所有类型的计算机(大、中、小型计算机、服务器、工作站和普通微型计算机等)。
               通俗地讲,对象指的是一个独立的、异步的、并发的实体,它能“知道一些事情”(即存储数据),“做一些工作”(即封装服务),并“与其他对象协同工作”(通过交换消息),从而完成系统的所有功能。
               因为所要解决的问题具有特殊性,所以对象是不固定的。一个雇员可以作为一个对象,一家公司也可以作为一个对象,到底应该把什么抽象为对象,由所要解决的问题决定。
               从以上的简单介绍中可以看出,面向对象所带来的好处是程序的稳定性与可修改性(由于把客观世界分解成一个一个的对象,并且把数据和操作都封装在对象的内部)、可复用性(通过面向对象技术,不仅可以复用代码,而且可以复用需求分析、设计、用户界面等)。
               面向对象方法具有下述四个要点:
               .认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。按照这种观点,可以认为整个世界就是一个最复杂的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。
               .把所有对象都划分成各种对象类(简称为类(Class)),每个对象类都定义了一组数据和一组方法,数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。例如,荧光屏上不同位置显示的半径不同的几个圆,虽然都是Circle类的对象,但是,各自都有自己专用的数据,以便记录各自的圆心位置、半径等。
               类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。
               .按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。
               .对象彼此之间仅能通过传递消息互相联系。
               各种开发方法的比较
               从国外最新的统计资料来看,信息系统开发工作的重心向系统调查、分析阶段偏移。系统调查、分析阶段的工作量占总开发量的60%以上。而系统设计和实现环节仅占总开发工作量比率不到40%。
               (1)结构化方法。能够辅助管理人员对原有的业务进行清理,理顺和优化原有业务,使其在技术手段上和管理水平上都有很大提高。发现和整理系统调查、分析中的问题及疏漏,便于开发人员准确地了解业务处理过程。有利于与用户一起分析新系统中适合企业业务特点的新方法和新模型。能够对组织的基础数据管理状态、原有信息系统、经营管理业务、整体管理水平进行全面系统的分析。
               (2)原型方法。它是一种基于4GL的快速模拟方法。它通过模拟以及对模拟后原型的不断讨论和修改,最终建立系统。要想将这样一种方法应用于大型信息系统的开发过程中的所有环节是根本不可能的,故它多被用于小型局部系统或处理过程比较简单的系统设计到实现的环节。
               (3)面向对象方法。它围绕对象来进行系统分析和系统设计,然后用面向对象的工具建立系统的方法。这种方法可以普遍适用于各类信息系统开发,但是它不能涉足系统分析以前的开发环节。
   题号导航      2020年下半年 系统分析师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第2题    在手机中做本题