【系统分析师之路】第五章 复盘软件工程(开发模型开发方法)

【系统分析师之路】第五章 复盘软件工程(开发模型开发方法)

前言部分 历年真题考点分析

1)考点分析

开发模型开发方法既出现在企业信息化章节中,也是和软件工程的各个知识点有着密切的联系。开发模型开发方法也算是系统分析师考试中的一个重点。在上午综合知识考察当中,几乎年年都会考到个1-2分,在案例分析当中往往会和结构化分析,面向对象分析等重要知识点柔和在一起进行考察。在论文中,软件开发模型开发方法作为论文的题目考察过,RUP统一过程开发,快速应用开发,原型化开发等作为论文题目也是经常可以看到的。那么废话就不多说了。作为重点突破的知识点没错。

2)重要知识点

01)常见的软件开发模型及它们的特点
02)原型化开发方法的概念及其特点
03)统一软件开发过程的概念,四个阶段,三个特点
04)模型的概念及选择模型时作为关键因素
05)软件开发各个阶段的工作产品
06)快速应用开发(RAD)的概念及四个只要阶段
07)快速应用开发(RAD)的特点,包括优点与缺点
08)快速应用开发(RAD)流程的五个主要步骤

第一部分 综合知识历年真题

2007下综合知识历年真题(1分)

【2007下系分真题第13题:绿色】
13.在软件过程模型中,不属于演化过程模型的是(19)模型。
(19)
A.增量
B.螺旋
C.线性顺序
D.并发开发

解答:答案选择C。送分题。

  1. 本质上线性顺序模型被设计成支持直线开发。
  2. 瀑布方法是假设当线性序列完成之后就能够交付一个完善的系统,并没有考虑软件的演化特征。
  3. 演化模型是迭代的,其特征是使软件工程师渐进地开发逐步完善的软件版本。
  4. 增量模型融合了线性顺序模型的基本成分(重复地应用)和原型实现的迭代特征,增量模型采用随着日程时间的进展而交错的线性序列
  5. 螺旋模型是一个演化软件过程模型,将原型实现的迭代与线性顺序模型中控制的和系统化的方面结合起来,使得软件的增量版本的快速开发成为可能
  6. 并发开发模型不是将软件工程活动限定为一个顺序的事件序列,而是定义了一个活动网络,网络上的每个活动均可并行发生,在一个给定的活动中或活动网络中其他活动中产生的事件将触发一个活动中状态的变迁。
2008上综合知识历年真题(1分)

【2008年上系分真题第20题:绿色】
20.某个系统在开发时,用户已经定义了软件的一组一般性目标,但不能标识出详细的输入、处理及输出需求;开发者也可能暂时不能确定算法的有效性、操作系统的适应性或人机交互的形式。在这种情况下,采用(23)开发最恰当。
(23)
A.瀑布模型
B.迭代模型
C.原型模型
D.螺旋模型

解答:答案选择C。送分题。
根据题干描述的软件开发现状与各种软件过程模型的特点,采用原型模型是最恰当的

2008下综合知识历年真题(5分)

【2008年下系分真题第14题:绿色】
14.软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用(19)。
(19)
A.瀑布模型
B.增量模型
C.原型开发模型
D.快速应用程序开发(RAD)

解答:答案选择C。送分题。

  1. 在软件开发过程中,如果用户仅仅提出软件的一些基本功能,但是没有详细定义输入、处理和输出需求。
  2. 在这种情况下,该软件开发团队应该采取原型开发方法最为合适。

【2008年下系分真题第15题:绿色】
15.统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了四种通用的开发阶段,它们按照过程顺序分别是:起始阶段、(20)、构建阶段和(21),其中在构建阶段主要产生的文档有(22)。
(20)
A.分析阶段 B.细化阶段 C.设计阶段 D.交付阶段
(21)
A.分析阶段 B.细化阶段 C.设计阶段 D.交付阶段
(22)
A.初始用户手册 B.用例模型 C.项目计划 D.设计模型

解答:答案选择B|D|D。二周目黄色变绿色。

  1. 统一软件开发过程〔UP)是一种基于面向对象技术的软件开发过程。
  2. 其特点是“用例驱动,以架构为核心,迭代并增量”。
  3. 统一软件过程定义了5种通用的框架活动,它们按照过程顺序分别是:起始阶段、细化阶段、构建阶段、交付阶段和生产阶段。其中在构建阶段主要产生的文档包括设计模型。

【2008年下系分真题第28题:绿色】
28.模型是现实世界的抽象或近似,主要包括叙述型、物理型、图解型和数学型等。无论开发何种模型,(36)都是最关键的因素。
(36)
A.经济性
B.简单性
C.灵活性
D.准确性

解答:答案选择D。周目绿色变红色。三周目变绿色,

  1. 客观的世界是复杂的,当评估现实世界的对象之间的关系和影响时,通常使用系统模型,用简化的模型来代替真实的系统。
  2. 不论开发什么模型,准确性都是关键因素。
  3. 一个不准确的模型通常会导致对问题的不准确解决方案。
  4. 另外,大多数模型包括许多假设,应尽可能让这些假设同现实情况相符
2009上综合知识历年真题(3分)

【2009年系分真题第19题:绿色】
19.某软件公司欲开发一个图像处理系统,在项目初期,开发人员对算法的效率、操作系统的兼容性和人机交互的形式等情况并不确定。在这种情况下,采用(23)方法比较合适。
(23)
A.瀑布式
B.形式化
C.协同开发
D.快速原型

解答:答案选择D。送分题

【2009年系分真题第20题:黄色】
20.螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的系统性和瀑布模型可控性特点。它有两个显著特点,一是采用(24)的方式逐步加深系统定义和实现的深度,降低风险;二是确定一系列(25),确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。
(24)
A.逐步交付
B.顺序
C.循环
D.增量
(25)
A.实现方案
B.设计方案
C.关键点
D.里程碑

解答:答案选择C|D。二周目依然黄色。此题需要好好看看。
螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的瀑布模型的系统性和可控性特点。
它有两个显著特点:
2.1 一是采用循环的方式逐步加深系统定义和实现的深度,同时降低风险
2.2 二是确定一系列里程碑,确保项目开发过程中的相关利益者都支持可行的和令人满意的解决方案

2010上综合知识历年真题(2分)

【2010系分真题第17题:绿色】
17.软件开发模型大体上可以分为三种类型。第一种是以软件需求完全确定为前提的(21);第二种是在软件开发初始阶段只能提供基本需求时采用的(22);第三种是以形式化为基础的变换模型。
(21)(22).
A.协同模型
B.瀑布模型
C.变换模型
D.迭代式模型

解答:答案选择B|D。送分题。

  1. 软件开发模型大体上可以分为三种类型。
  2. 第一种是以软件需求完全确定为前提的瀑布模型
  3. 第二种是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式模型
  4. 喷泉模型、螺旋模型、统一开发过程和敏捷方法等都属于迭代式或渐进式模型
  5. 第三种是以形式化为基础的变换模型
2011上综合知识历年真题(3分)

【2011年系分真题第20题:绿色】
20.螺旋模型将瀑布模型和(24)结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。螺旋模型沿着螺线进行若干次迭代,依次经历了计划制定、风险分析、工程实施和(25)四个主要活动。
(24)
A.喷泉模型
B.增量模型
C.V模型
D.快速原型模型
(25)
A.客户评估
B.客户使用
C.工程交付
D.软件测试

解答:答案选择D|A。二周目第一空还是错了。三周目绿色。

【2011年系分真题第21题:红色】
21.某软件公司欲开发一个人力资源管理系统,客户在开发初期对系统的功能并不清楚,但明确表示随着人力资源管理制度的逐步完善,需要对软件功能进行不断调整,针对这种情况,采用(26)开发模型比较合适。
(26)
A.瀑布式
B.喷泉
C.增量
D.螺旋

解答:答案选择C。二周目依旧C和D之间选择错误。

2013上综合知识历年真题(1分)

【2013年系分真题第27题:绿色】
27.RUP中的软件过程在时间上被分解为4个顺序的阶段:初始阶段、细化阶段、构建阶段和移交阶段。架构的确定与建立是在(35)完成的。
(35)
A.初始阶段
B.细化阶段
C.构建阶段
D.移交阶段

解答:答案选择B。三周目红色变绿色。重点关注。

  1. 初始阶段的任务是为系统建立业务模型并确定项目的边界。初始阶段的实现过程为:
    1. 明确项目规模,建立项目的软件规模和边界条件,包括验收标准
    2. 了解环境及重要的需求和约束,识别系统的关键用例
    3. 评估项目风险,在基于RUP的迭代式软件过程中,很多决策要受风险决定,要达到这个目的,开发人员需要详细了解项目所面临的风险, 并对如何降低或处理风险有明确的策略
    4. 制定项目计划,估计整个项目的总体成本、进度和人员配备,综合考虑备选架构,评估设计和自制/外购/复用方面的方案,从而估算出成本、进度和资源
    5. 阶段技术评审,初始阶段结束时要进行一次技术评审,检查初始阶段的目标是否完成,并决定继续进行项目还是取消项目
  2. 细化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素。 在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。细化阶段的实现过程为:
    1. 确定架构,建立一个已确定基线的架构,并验证其将在适当时间、以合理的成本支持系统需求; 制定构建阶段计划,为构建阶段制定详细的过程计划并为其建立基线;
    2. 建立支持环境; 选择构建;阶段技术评审。
    3. 资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析。
  3. 在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。
    1. 构建阶段的主要任务是通过优化、开发和测试,快速完成可用的版本
    2. 确定软件、场地和用户是否已经为部署软件做好准备。
  4. 移交阶段的重点是确保软件对最终用户是可用的。
    1. 移交阶段的主要任务是进行P测试,制作产品发布版本,对最终用户支持文档定稿,按用户的需求确定新系统,培训用户和维护人员,获得用户对当前版本的反馈,基于反馈调整产品等。
    2. 移交阶段结束时也要进行技术评审,评审目标是否实现,是否应该开始演化过程,用户对交付的产品是否满意
2014上综合知识历年真题(3分)

【2014年系分真题第23题:绿色】
23.某公司要开发一个软件产品,产品的某些需求是明确的,而某些需求则需要进一步细化。由于市场竞争的压力,产品需要尽快上市。则开发该软件产品最不适合采用(27)模型。
(27)
A.增量
B.原型
C.瀑布
D.螺旋

解答:答案选择C。送分题。本题考查软件过程模型的基本概念。

【2014年系分真题第24题:红色】
24.(28)是系统分析阶段结束后得到的工作产品,(29)是系统测试阶段完成后的工作产品。
(28)
A.系统设计规格说明
B.系统方案建议书
C.程序规格说明
D.单元测试数据
(29)
A.验收测试计划
B.测试标准
C.系统测试计划
D.操作手册

解答:答案选择B|D。二周目红色两题都错了。三周目两题都对。

  1. 随着软件开发工作的开展,会得到许多工作产品或阶段产品,还会用到许多工具软件。所有这些独立的信息项都要得到妥善的管理,决不能出现混乱,以便于在提出某些特定的要求时,将它们进行约定的组合来满足使用的目的。
  2. 这些信息项目是配針管理的对象,称为软件配置项。软件配置项目可以分为以下几类:
    1. 环境类,指软件开发环境或软件维护环境,例如编译器、操作系统、编辑器、数据库管理系统、开发工具、项目管理工具、文档编制工具等;
    2. 定义类,是需求分析与定义阶段结束后得到的工作产品,例如需求规格说明、项目开发计划、设计标准或设计准则、验收测试计划等:
    3. 设计类,设计阶段结束后得到的工作产品,例如系统设计规格说明、程序规格说明、数据库设计、编码标准、用户界面标准、测试标准、系统测试计划、用户手册等;
    4. 测试类,系统测试完成后的工作产品,例如系统测试数据、系统测试结果、操作手册、安装手册等:
    5. 维护类,进入维护阶段以后产生的工作产品。
2016上综合知识历年真题(1分)

【2016年系分真题第22题:绿色】
22.以下关于信息系统开发方法的叙述中,正确的是(33)。
(33)
A.原型化方法是自顶向下的,它提出了一组提高系统结构合理性的准则
B.结构化方法与原型化方法的共同点是在系统开发初期必须明确系统的功能要求,确定系统边界
C.面向服务方法以粗粒度、松散耦合和标准的服务为基础,加强了系统的可复用性和可演化性
D.面向服务的方法适用于那些需求不明确,但技术难度不大的系统开发

解答:答案选择C。送分题。

  1. 自顶向下、提高结构合理的准则应是结构化方法的特点
  2. 对需求不明确的应用场景是原型化方法的优势
2019上综合知识历年真题(3分)

【2019年系分真题第23题:黄色】
23、( )的开发过程一般是先把系统功能视作一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。( )使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型,其功能模型主要用( )实现。
A、面向对象方法
B、OMT方法
C、结构化方法
D、Booch方法

A、面向对象方法
B、OMT方法
C、结构化方法
D、Booch方法

A、状态图
B、DFD
C、类图
D、流程图

解答:答案选择.C|B|B。考察开发方法。二周目依然错了。错了第二空。是

  1. 结构化方法假定待开发的系统是一个结构化的系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段。
  2. 结构化方法遵循系统工程原理, 按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基 础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
  3. OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型。
  4. 对象模型描述系统中对象的静态结构、对象之间的关系、属性和操作,主要用对象 图来实现
  5. 动态模型描述与时间和操作顺序有关的系统特征,例如,激发事件、事件序列、确定 事件先后关系的状态等,主要用状态图来实现动态模型;
  6. 功能模型描述一个计算如何从输入值得到输出值,它不考虑计算的次序,主要用DFD来实现功能模型。简单地说,功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。
2020上综合知识历年真题(1分)

【2020下系分真题第22题:绿色】
22.在信息系统开发方法中,()是一种根据用户初步需求,利用系统开发工具, 快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需 求的系统快速方法。
A.结构化方法
B.需求模型法
C.面向对象法
D.原型法

解答:答案选择D。送分题。
本题考查的是信息系统开发方法。
结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析(Structured Analysis,SA)、结构化设计(Structured Design,SD)和结构化程序设计(Structured Programming,SP)三部分有机组合而成,其精髓是自顶向下、逐步求精和模块化设计。
面向对象(Object-Oriented,OO)方法认为,客观世界是由各种对象”组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象“类”,是该对象类的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用就构成了系统。OO方法是当前的主流开发方法,拥有很多不同的分支体系,主要包括OMT(Object Model Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE(Object-Oriented Software Engineering,面向对象的软件工程)方法和Booch方法等,而OMT、OOSE和Booch已经统一成为UML(United Model Language,统一建模语言)。

2022上综合知识历年真题(2分)

【2022下系分真题第24题:绿色】
24.基于模型的系统工程作为一种( ), 为了应对基于文档的传统系统工程工作模式在复杂产品和系统研发时面临的挑战,以逻辑连贯一致的多视角系统模型为桥梁和框架,实现跨领域模型的可追踪、可验证和动态关联,驱动人工系统生存周期内各阶段和各层级内的系统工程过程和活动,使其可管理、可复现、可重用,进而打破专业壁垒,破解设计和工艺、研发和制造、研制和使用维护的分离,极大地提高沟通协同效率,实现以模型驱动的方法来采集、捕获和提炼数据、信息和知识。
A.形式化的建模方法学
B.非形式化的建模方法学
C.结构化建模方法学
D.面向对象建模方法学

解答:答案选择A。

【2022下系分真题第02题:红色】
02.对于安全关键系统,需要额外的安全保证、软件验证以及系统分析过程。( )是检查系统是否安全运行的一组活动,包含在软件开发过程的所有阶段中,记录了所进行的分析以及负责分析的相关人员。
A.软件测试
B.安全保证
C.软件验证
D.系统分析

解答:答案选择B。BC二选一错
考察了软件工程中的安全保证的概念。

第二部分 案例分析历年真题

2008下案例分析历年真题(25分)

试题一
阅读以下关于某软件系统开发项目的叙述,在答题纸上回答问题1至问题4。
某公司的主要业务是利用网络进行音像制品的管理和销售,以提高其物流配送的效率。随着业务范围的扩展和业务过程的改进,公司CIO 发现现有信息系统业务过程过于僵化、维护困难,不能真正地为企业贡献价值,已经不能满足公司长久发展的战略。在该公司CIO的建议下,某公司在三月初委托某软件企业为其开发出一套新的音像制品在线管理及销售系统AVMSS,要求新系统能够对其现有系统业务过程进行重新设计,以提高公司业务的执行效率并降低维护成本。
该软件企业成立了项目组来开发AVMSS,在对开发任务进行了初步的了解之后,项目组认为某公司原有系统的数据架构稳定,没有必要对原有关系数据模式进行重新设计;新系统应着眼于对系统控制流的改造,通过系统业务流程再造以应对公司的发展需要。但在选择系统开发方法时出现了分歧,张工认为应该采用流行的面向对象开发方法,而李工则认为应该采用成熟的结构化开发方法,项目组经过讨论最终确定在AVMSS系统分析与设计过程中采用李工的建议。
【问题1】(8分)
请对张工和李工所提出的两种系统开发方法进行比较,结合AVMSS系统说明为什么项目组最终采用了李工的建议。
【问题2】(4 分)
结构化分析主要包含初始研究、问题分析、需求分析、逻辑建模和方案分析五个阶段,请用300字以内的文字说明需求分析和逻辑建模两个阶段的目标及主要任务。
【问题3】(8 分)
四月底,项目组完成初始研究阶段的任务进入了问题分析阶段,以确立系统改进目标。刚参加工作的小赵仔细分析了初始研究阶段的相关文档和资料,在讨论会上提出了以下系统改进目标:
a)提高联机订单处理的用户满意程度。
b)新的系统必须使用Oracle数据库管理系统存储数据。
c)数据输入屏幕必须重新设计以使其更加友好。
d)影音销售子系统中订单处理所需的时间减少50%。
这些是好的系统改进目标吗?请分别说明理由。
【问题4】(5 分)
六月初,项目需求分析阶段遇到了大量的困难,并且比计划进度落后了两个星期,项目经理希望通过跳过或者省略逻辑建模阶段的一些任务来赶上进度。项目经理认为,现在大家对需求有了清晰的认识,而且项目组的设计入员和构造人员经验都很丰富,直接可以进行技术设计而并不真正需要逻辑建模。为了赶上进度,这是合理的方法吗?请用200字以内的文字说明理由。

【问题1标准答案】

  1. 结构化开发方法强调系统业务过程的数据流和控制流。
  2. 将系统看作一个过程的结合体。系统数据架构和控制流可以分开设计,强调系统的业务处理过程,适合于业务流程再造和对处理过程要求较高的系统;
  3. 面向对象方法则把系统看作一个相互影响的对象集,对象能够将数据及其行为统一起来,对象之间通过消息交换的方式引发对象的行为。
  4. 造成信息系统业务过程低效且维护成本高的一个重要因素是企业的业务过程本身过于僵化,
  5. 不能真正的为企业贡献价值,信息系统只是将这些低效率的过程自动化。
  6. 真正解决的方法是业务流程再造。在AVMSS系统的开发中,强调控制流的改进,因此比较适合于采用传统的结构化开发方法,因此采用李工的建议比较合理。

【问题2标准答案】
结构化分析主要包括了五个阶段:初始研究,问题分析,需求分析,逻辑建模,方案分析。
1)系统分析阶段
定义系统的业务需求。具体任务包括定义需求,排列需求的优先次序,修改项目计划,交流需求陈述。
2)逻辑建模阶段
使用系统模型进一步记录业务需求并对需求进行验证。具体任务包括结构化功能需求,建立功能需求模型,验证功能需求,定义验收测试用例
【问题3标准答案】

  1. a)提高联机订单处理的用户满意程度。
  2. 不是,评价方式没有量化的指标。
  3. b)新的系统必须使用Oracle数据库管理系统存储数据。
  4. 不是,是系统约束,不是系统目标。
  5. c)数据输入屏幕必须重新设计以使其更加友好。
  6. 不是,是系统约束,不是系统目标。
  7. d)影音销售子系统中订单处理所需的时间减少50%。
  8. 是。对系统性能量化明确,具体的陈述。
    【问题4标准答案】
  9. 不合理的做法。项目执行具有天然的风险。
  10. 系统分析不同阶段的每个任务都为后续任务打好坚实的基础。其每个阶段都不能被跳过或者省略,
  11. 系统逻辑设计阶段产生的图表和文档,是系统所有者和系统用户最后一次验证系统的功能需求,并对发现的错误进行修正和说明的关键。
  12. 本题主要考查考生对于结构化开发方法和面向对象开发方法的掌握情况。

第三部分 论文写作历年真题

2010上论文写作历年真题(75分)

试题三 论快速应用开发在系统建模中的应用
快速应用开发(RAD)是一个增量型的软件开发过程模型,强调极短的开发周期。该模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构件的建造方法加速信息系统的开发过程。如果能够及时与用户进行交流和沟通,正确地理解需求并约束项目的范围,利用这种模型可以很快创建出功能完善的信息系统。RAD依赖于广泛的用户参与、联合应用设计会议、原型化方法、集成的CASE工具和代码生成器。
请围绕“快速应用开发在系统建模中的应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与分析和开发的信息系统项目以及你所担任的主要工作。
2.简要分析快速应用开发方法的生命周期,并给出各个阶段的主要任务。
3.分析快速应用开发方法的目标,并结合实际项目的实施结果讨论快速应用开发与传统的结构化开发方法相比有哪些优点和缺点。

快速应用开发概念
快速应用开发是一个完整的方法,生命周期包含了需求、设计、构建和验收四个阶段,和传统的软件开发生命周期各阶段相对应。
四个阶段的主要任务
1)需求阶段
结合了软件开发生命周期的系统规划和系统分析阶段。用户,经理和技术人员通过讨论对业务需求,项目范围,约束条件和系统需求达成一致意见,当团队成员对关键问题达成一致意见,并获得管理部门进行的授权时,需求计划阶段结束。
2)设计阶段
用户与系统分析师互相交流,并创建模型和原型来描述所有的系统过程,输入输出
RAD组或者子组通过结合使用JAD技术和CASE工具,从而将用户需求转变成工作模型。用户设计是一个连续的,相互影响的过程,帮助用户理解,修改并最终通过满足他们的需求的系统工作模型。
3)构建阶段
构建阶段强调程序和应用开发任务,类似于软件开发生命周期。所不同的是,在RAD中,用户一直参与其中,并且在实际界面或报表开发出来以后仍然可以提出修改建议。
4)验收阶段
类似于传统的软件开发生命周期的实施阶段的最终任务,包括数据转换、测试、转变为新系统,以及用户培训。和传统的方法相比,整个过程是被压缩的。这样,新系统就更快地被创建、交付和投入使用。
目标
所有RAD方法的主要目标是通过用户参与系统开发的每一个阶段来缩减开发时间和费用。由于RAD是一个连续的过程,因此随着设计的进行,RAD允许开发小组迅速地做出必要的修改。当公司预算紧张时,对于发生在一个已制定好的长时期的进度表中的变化所带来的花费进行限制尤为重要。
优点
和传统的结构化分析方法相比,主要优点是强调用户参与,可以尽快明确需求,降低系统开发风险,缩短系统开发周期
缺点
缺点一是RAD强调系统本身的结构,系统可能在短时间内工作得很好,但是系统的整体和长期的目标可能得不到满足。
缺点二是加速开发周期可能会导致没有更多的时间提高项目质量、连贯性和设计的标准化。
缺点三是并非所有应用软件都适合于使用RAD,如果一个系统难以模块化,那么建造RAD所需构件就会有问题;
缺点四RAD不适合技术风险很高的情况,当一个新应用要采用很多新技术或新软件要求与已有计算机程序有较高的可互操作性时,项目也可能会失败。
缺点五如果需要高性能的指标,且该指标必须通过调整接口使其适应系统构件才能获得,使用RAD方法就有可能失败

2014上论文写作历年真题(75分)

试题一 论信息系统开发方法及应用
信息系统是一个复杂的人机交互系统。他不仅包含计算机技术,还包含软件技术和通信技术,网络技术以及其他工程技术,它还是一个复杂的管理系统,需要管理理论和管理方法的支持。因此,与其他工程项目相比,信息系统项目的开发和管理就显得比其他系统来得复杂,所面临的风险也就更大。如何选择一个合适的开发方法,以保持在多变的市场环境下,在既定的预算和时间要求范围内,开发出让用户满意的信息系统,是信息系统建设时所必须要考虑的首要问题。
请以“论信息系统开发方法及应用”为题,分别从以下三个方面进行论述。
1.简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
2.目前比较主流的信息系统开发方法主要包括:结构化方法、面向对象方法、面向服务的方法、原型化方法、快速应用开发、敏捷开发等。
3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中是如何应用所选择的开发方法指导系统开发的,说明具体的实施过程、使用的方法和工具,并对实际实施效果进行分析。

结构化方法
概念
是一种传统的信息系统开发方法,由结构化分析、结构化设计和结构化程序设计三部分有机组合而成
精髓
精髓是自顶向下、逐步求精和模块化设计。
划分阶段
结构化方法的基本思想是将系统的生命周期划分为五个阶段:系统规划,系统分析,系统设计,系统实施和系统维护。
主要特点:
1)开发目标清晰化
2)开发工作阶段化
3)开发文档规范化
4)设计方法结构化
适应性
是目前最成熟,应用较为广泛的一种工程化方法,它特别适合与数据处理领域的问题,但是他不适合与规模较大,比较复杂的系统开发。
**缺点局限性*£
开发周期长
难以适应需求变化
很少考虑数据结构
其他
这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具完成规定的文档,在构件化和模块化的基础上进行信息系统的开发工作。
结构化方法的开发过程一般是先把系统功能视为一个很大的模块。再根据系统分析与设计的要求,对其进行进一步的模块分解和组合

面向服务的开发方法
两个阶段
分为面向服务分析和面向服务的设计(SOAD)两个阶段。OOA/OOD,企业架构(EA)和业务流程建模BMP分别从基础设计层,应用结构层和业务组织层这三个层次上为SOAD提供理论支撑。
定义
服务建模的过程实际上是进行流程分解,对业务目标和现有系统进行分析,发现候选服务,并对其进行分类,确定哪些服务可以被暴露,最终实现服务和架构设计的过程。
服务建模三个阶段
按照实施的阶段,服务建模可以分为服务发现,服务规约和服务实现三个阶段。
面向服务优点
加强了系统的灵活性,可复用性和可演化性。
面向服务的特点
服务基础架构基于粗粒度,松散耦合和基于标准的服务这三个特点,使得信息系统的建设能够保持主动,这种方法使信息系统能够通过自身的业务和转换来应对市场挑战。

面向对象方法
概念
面向对象方法是当前的主流开发方法。面向对象方法认为客观世界是由各种对象组成的。任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个类,是该类的一个元素。
复杂的对象可由相对简单的各种对象以某种方法而构成,不同对象的组合以及相互作用就构成系统。
三个阶段
面向对象方法包括面向对象分析OOA,面向对象设计OOD,面向对象程序设计OOP三个阶段。
1)OOA的任务是了解问题域所涉及的对象,对象间的关系和操作,然后构造问题的对象模型。
2)OOD在分析对象模型的基础上,设计各个对象,对象之间的关系和通信方式,其主要作用是对OOA的结果作进一步的规范化整理。
3)OOP实现在OOD阶段所规定的各个对象所应完成的任务,它包括每个对象的内部功能实现,确定对象哪一些处理能力应在哪些类中进行描述,确定并实现系统的界面,输出的形式等

原型化方法
概念
它也叫做快速原型法。它是一种根据用户的初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。
原型法包括的步骤
1)确定用户基本需求
2)设计系统初始原型
3)试用和评价原型
4)整理原型和提供文档
原型法的特点
可以使系统开发的周期缩短,成本和风险降低,速度加快,获得较高的综合开发效益;
提高用户参与程度,增加用户满意度,提高系统开发的成功率;由于用户参与了系统开发的全过程,对系统的功能和结构容易理解和接受,有利于系统的提交,有利于系统的运行和维护。
原型法的适用性
能更有效地确认用户需求。从直观上来看,原型法适用于那些需求不甚明确的系统开发。对于分层层面难度大、技术层面难度不大的系统,适合于原型法,而对于技术层面的困难远大于分析层面的系统,则不宜采用原型法。

快速应用开发RAD
概念
强调极短的开发周期,通过使用基于构件的开发方法获得快速开发。
它是一个增量型的软件开发过程模型,强调极短的开发周期。该模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构件的建造方法加速信息系统的开发过程。
适应性
如果需求理解得很好,且约束了项目范围,利用这种方法可以很快的开发出功能完善的信息系统。
RAD依赖于广泛的用户参与、联合应用设计会议、原型化方法、集成的CASE工具和代码生成器。
开发阶段
业务建模,数据建模,过程建模,应用生成,测试与交付。
局限性
RAD对模块化要求较高,开发者和客户必须在很短的时间内完成一系列的需求分析,任何一方配合不当,都会导致RAD项目失败;
RAD只能用于管理信息系统的开发,不适合技术风险很高的情况。

敏捷开发方法
以人为核心,迭代循序渐进的开发方法。
在敏捷方法中,软件项目的构件被切分成多个子项目,各个子项目的成果都要经过测试,具备集成和可运行的特征。
从组织结构的角度组织结构的文化、人员、沟通性决定了敏捷方法是否使用。
适用场合:
1)项目团队人数不能太多,适合于规模较小的项目;
2)项目经常发生变更;
3)高风险项目的实施;

2016上论文写作历年真题(75分)

试题三 论软件开发模型及应用
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。
请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与的软件开发项目以及你所承担的主要工作。
2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。
3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果

  1. 瀑布模型
    严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。优点:是可以使过程比较规范化,有利于评审;缺点:在于过于理想,缺乏灵活性,容易产生需求偏差。
  2. 快速原型模型
    对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
  3. 演化模型
    也是一种原型化开发,但与快速原型不同的是快速原型模型在获得真实需求时就将原型抛弃;而演化模型从初始的模型中逐步演化为最终软件产品,是一种渐进式原型法。
  4. 增量模型
    它采用的是一种递增式模型,它将软件产品划分成为一系列的增量构件,分别进行设计,编码,集成和测试
  5. 螺旋模型
    结合了瀑布模型和演化模型的优点,最主要的特点是在于计入了风险分析。它是由制定计划,风险分析,实施工程,客户评估这一循环组成,它最初从概念项目开始第一个螺旋。
  6. 喷泉模型
    主要用于描述面向对象的过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
  7. 统一过程UP
    是一个通用过程框架,可以用于种类广泛的软件系统。,不同的应用领域,不同组织类型,不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著特点:用例驱动,以架构为中心,迭代与增量。
  8. 敏捷方法
    是一种以人为核心,迭代,循序渐进的开发方法。在敏捷方法中,软件项目的构件被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。
    在敏捷方法中,从开发者角度来看主要的关注点有:短平快的会议,小版本发布,较少的文档,合作为重,客户直接参予,自动化测试,适应性计划调整和结对编程。
    从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
2020下综合知识历年真题(75分)

试题二 论快速应用开发方法及其应用
论快速应用开发方法及其应用

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

【标准答案】
RAD方法的流程主要包括以下5个步骤:
(1)业务建模
确定驱动业务过程运作的信息、要生成的信息、如何生成、信息流的去向及其处理等,可以使用数据流图来帮助建立业务模型。
(2)数据建模
为支持业务过程的数据流查找数据对象集合、定义数据对象属性,并与其他数据对象的关系构成数据模型,可以使用E-R图来帮助建立数据模型。
(3)过程建模
将数据对象变换为要完成一个业务功能所需的信息流,创建处理描述以便增加、修改、删除或获取某个数据对象,即细化数据流图中的加工。
(4)应用生成
利用第四代语言(4GL) 写出处理程序,复用已有构件或创建新的可复用构件,利用环境提供的工具自动生成并构造出整个应用系统。
(5)测试与交付
因为RAD强调复用,许多构件已经是测试过的,这就减少了测试的时间。由于大量复用,所以一般只做总体测试,但新创建的构件还是要进行充分测试的。

2022上论文写作历年真题(75分)

试题一 论原型法及其在信息系统开发中的应用
作为一种信息系统开发方法,原型法( Prototyping )被普遍使用,原型法是指在获取一组基本的需求定义后,利用可视化的开发工具,快速建立一个目标系统的初始版本,并交由用户试用,并根据用户反馈进行补充和修改,再形成新的版本。反复进行这个过程,直到得出系统的"精确解",即用户满意为止。请围绕"原型法及其在信息系统开发中的应用"论题,依次从以下三个方面进行论
述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.请简要描述原型法的开发过程。
3.具体阐述你参与管理和开发的项目是如何基于原型法进行信息系统开发的。

原型的开发和使用过程叫做原型生存期。
1)快速分析
在分析者和用户的紧密配合下,快速确定软件系统的基本要求。
2)构造原型
在快速分析的基础上,根据基本需求尽快实现一个可运行的系统。构造原型时要注意两个基本的原则:集成原则和最小系统原则。
集成原则:尽可能用现有的软件和模型来构成,这需要相应的原型工具。
最小系统原则:耗资一般不超过总金额的10%
3)运行和评价原型
用户在开发者指导下试用原型,在试用的过程中考核评价原型的特征。分析其运行结果是否满足规格说明的要求,以及规格说明描述是否满足用户的愿望。
4)修正和改进
根据修改意见进行修改,如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。开发者和用户在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。
5)判定原型完成
如果经过修改或改动的原型,达到参与者一致认可,则原型开发的迭代过程可以结束。
6)整理原型和提供文档
如果根据修改或改进的原型,得到了开发者参与者的一致认可,则原型开发过程可以结束。

使用原型化开发方法可以为系统开发提供一种完整的灵活的,近似动态的需求规格说明方法。
目前原型化开发方法不是一种独立的系统开发方法,而是一种开发思想,它只支持在系统开发早期阶段快速生成系统的原型,没有规定在原型构建过程中必须使用哪种方法。因此她不是完整意义上的方法体系论,这就注定了原型法必须与其他的信息系统开发方法结合使用。用原型法进行需求的获取和分析,以经过修改确定的原型系统作为系统开发的依据,在此基础上完善用户需求规格说明书。
原型化开发的特点
1)原型化开发可以使系统开发周期缩短,成本风险降低,速度加快,获得较高的开发效益。
2)原型法是以用户为中心来开发系统的,用户参与程度大大的提高,开发需求能够更加符合用户的要求,从而增加了用户的满意度
3)由于用户参与了系统开发的整个过程,对系统的功能和结构更加容易理解和接受,有利于系统的移交,也有利于系统的运行与维护。
原型开发的局限性:
1)开发环境要求高,例如开发人员和用户的素质,系统开发工具,软硬件设备等,特别是使用原型法开发需要快速开发工具的支持,开发工具的水平是原型法能否顺利实施的第一要素,原型法开发的成败以及开发效率的高低,取决于原型构建的速度
2)管理水平要求高
系统的开发缺乏统一的规划和开发标准,难以对系统的开发过程进行很好的控制,例如如何确定用户满意程度,如何确定对系统原型的修改次数等。
对于技术层面困难远远大于其分析层面的系统,不适宜使用原型开发。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值