|
知识路径: > 系统开发和运行维护知识 > 软件工程基础知识 > 软件开发方法 >
|
被考次数:4次
被考频率:中频率
总体答错率:42%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
考试要求:熟悉
相关知识点:27个
|
|
|
|
软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
|
|
|
|
结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。结构化设计是根据模块独立性准则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。
|
|
|
结构化方法总的指导思想是自顶向下、逐层分解,它的基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。
|
|
|
|
并非所有的需求都能够预先定义,而且反复修改是不可避免的。之所以能够采用原型化方法是因为开发工具的快速发展,使得可以迅速地开发出一个可以让用户看得见、摸得着的系统框架,这样,对于计算机不是很熟悉的用户就可以根据这个样板提出自己的需求。开发原型化系统首先确定用户需求,开发原始模型,然后征求用户对初始原型的改进意见,并根据意见修改原型。
|
|
|
原型化方法比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法是比较好的。
|
|
|
|
面向对象开发方法的基本出发点是尽可能按照人类认识世界的方法和思维方法来分析和解决问题。客观世界是由许多具体的事物、事件、概念和规则组成的,这些均可被看成对象,面向对象方法正是以对象作为最基本的元素,它也是分析问题、解决问题的核心。
|
|
|
面向对象开发方法包括面向对象分析、面向对象设计和面向对象实现。面向对象开发方法有Booch方法、Coad方法和OMT方法等。为了统一各种面向对象方法的术语、概念和模型,1997年推出了统一建模语言(Unified Modeling Language,UML)。它是面向对象的标准建模语言,通过统一的语义和符号表示,使各种方法的建模过程和表示统一起来,已成为面向对象建模的工业标准。
|
|
|
|
敏捷开发的总体目标是通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。通过在软件开发过程中加入灵活性,敏捷方法可以使用户能够在开发周期的后期增加或改变需求。
|
|
|
敏捷过程的典型方法有很多,每一种方法基于一套原则,这些原则实现了敏捷方法所宣称的理念(敏捷宣言)。这些方法如下。
|
|
|
|
极限编程(Extreme Programming,XP)是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。极限编程中有四个核心价值观:沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)。此外还扩展了第五个价值观:谦逊(Modesty)。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿于整个生存周期。
|
|
|
XP的5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
|
|
|
XP的12个最佳实践:计划游戏(快速制订计划、随着细节的不断变化而完善)、小型发布(系统的设计要能够尽可能早地交付)、隐喻(找到合适的比喻传达信息)、简单设计(只处理当前的需求,使设计保持简单)、测试先行(先写测试代码,然后再编写程序)、重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、结队编程、集体代码所有制、持续集成(可以按日甚至按小时为客户提供可运行的版本)、每周工作40个小时、现场客户和编码标准。
|
|
|
|
该方法认为每一个不同的项目都需要一套不同的策略、约定和方法论。
|
|
|
|
该方法使用迭代的方法,其中把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。多个自组织和自治的小组并行地递增实现产品。协调是通过简短的日常情况会议来进行的,就像橄榄球中的“并列争球”。
|
|
|
|
该方法有6个基本的原则:有一个使命作为指导;特征被视为客户价值的关键点;过程中的等待是很重要的,因此“重做”与“做”同样关键;变化不被视为改正,而是被视为对软件开发实际情况的调整;确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求;风险也包含其中。
|
|
|