每天1章考点,助您自学通过软考! 第5章:系统开发基础 【考点梳理】 考点1、开发模型(★★★★★) 【考法分析】 本知识点的考查形式主要有:给定情景描述或特点描述,指出对应的开发模型;给出特点的开发模型,判断描述的正误;对于统一过程,判断具体任务完成的阶段;对于敏捷开发方法,判断描述正误和一些特点的归属。 【要点分析】 1、瀑布模型:瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、运行与维护。 瀑布模型的特点是容易理解,管理成本低,每个阶段都有对应的成果产物,各个阶段有明显的界限划分和顺序要求,一旦发生错误,整个项目推倒重新开始。 适用于需求明确的项目,一般表述为需求明确、或二次开发,或者对于数据处理类型的项目 2、V模型:强调测试贯穿项目始终,而不是集中在测试阶段。是一种测试的开发模型。 3、喷泉模型:典型的面向对象的模型。特点是迭代、无间隙。会将软件开发划分为多个阶段,但各个阶段无明显界限,并且可以迭代交叉。 4、原型模型:典型的原型开发方法模型。适用于需求不明确的场景,可以帮助用户明确需求。 5、增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,可以有多个可用版本的发布,核心功能往往最先完成,在此基础上,每轮迭代会有新的增量发布,核心功能可以得到充分测试。强调每一个增量均发布一个可操作的产品。 6、螺旋模型:典型特点是引入了风险分析。结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。属于面向对象开发模型,强调风险引入。 7、统一过程(在软件设计师考试中UP、RUP都指统一过程):典型特点是用例驱动、以架构为中心、迭代和增量。统一过程把一个项目分为四个不同的阶段: 构思阶段 :包括用户沟通和计划活动两个方面,强调定义和细化用例,并将其作为主要模型。 细化阶段 :包括用户沟通和建模活动,重点是创建分析和设计模型,强调类的定义和体系结构的表示。 构建阶段 :将设计转化为实现,并进行集成和测试。 移交阶段 :将产品发布给用户进行测试评价,并收集用户的意见,之后再次进行迭代修改产品使之完善 8、敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,适用于小团队和小项目,具有小步快跑的思想。常见的敏捷开发方法有极限编程法、水晶法、并列争球法和自适应软件开发方法。 (1)极限编程是一种轻量级的开发方法,它提出了四大价值观:沟通、简单、反馈、勇气。五大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。十二个最佳实践:计划游戏、隐喻、小型发布、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户和编码标准。 (2)水晶法强调经常交付,认为每一种不同的项目都需要一套不同的策略、约定和方法论。 (3)并列争球法的核心是迭代、增量交付,按照30天进行迭代开发交付可实际运行的软件。 (4)自适应软件开发的核心是三个非线性的,重迭的开发阶段:猜测、合作、学习。 【备考点拨】 1、掌握常见开发模型的特点,能够加以区分; 2、掌握统一过程的4个阶段的任务; 3、了解敏捷开发设计到的原则。 考点2、软件开发方法(★) 【考法分析】 本知识点的考查形式主要是描述某种使用情景,要求考生判断适用的开发方法,或给出开发方法,判断描述的正误。 【要点分析】 1、结构化开发方法特点:用户至上,严格区分工作阶段,每阶段有任务和结果, 强调系统开发过程的整体性和全局性,系统开发过程工程化,文档资料标准化, 自顶向下,逐步分解(求精)。 2、原型开发方法:适用于需求不明确的情况。 3、面向对象开发方法:更好的复用性,关键在于建立一个全面、合理、统一的模型,分析、设计、实现三个阶段,界限不明确。 4、面向服务开发方法:面向对象更高标准的抽象。 【备考点拨】 1、掌握不同开发方法的特点并加以区分。 考点3、需求分析(★) 【考法分析】 本知识点的考查方式主要有:给定需求描述判断其需求分类;给定概念描述判断正误;指出需求分析的任务、成果产物、工具。 |
|