首页 > 代码库 > 软考考前冲刺第七章软件工程基础知识
软考考前冲刺第七章软件工程基础知识
瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是:可以使过程比较规范化,有利于评审;缺点在与:过于理想,缺乏灵活性,容易产生需求偏移。所以瀑布模型的应用场合为:需求明确的项目、二次开发项目以及与原型法配合使用。
快速原型模型:采用了一种动态定义需求的方法,通过快速的建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与与决策。原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户的模糊描述中快速地获取实际的需求。所以快速原型模型很好的弥补了瀑布模型的缺陷,它适合于需求不明确的项目。
演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。其应用场合也是需求不明确的项目。
增量模型:它采用的是一种“递增式”模型,它将软件产品划分为一系列的增量构件,分别进行设计、编码、集成和测试。相对于原型法而言,这种模型其实是从系统开发的另一方面看待问题,原型法关注点是“制作一个原型”,而增量模型的关注点是“系统的功能模块不是一次完成的,而是一块一块开发,以增加的方式进行的”。在现实开发中,我们会发现,一个项目开发过程既用了增量模型也用了原型模型。所以增量模型仍有利于进行需求不明确的项目开发。
螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
喷泉模型:主要用于描述面向对象的开发过程,最核心的特定是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
UP:既是一个统一的软件开发过程,又是一个通用过程框架,可以应付种类广泛的软件系统、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,这意味着利用它开发的软件系统是由构件构成的,构件之间通过定义良好的接口相互联系。在准备软件系统所有蓝图的时候,UP使用的是统一建模语言UML。与其他软件过程相比,UP具有三个显著的特点:用例驱动、以基本架构为中心、迭代和增量。
UP中的软件过程在时间上被分解为四个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和交付阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一阶段。
UP一般用于大型软件的开发。
敏捷开发:从敏捷开发一词的敏捷可以看出,该方法是一种轻量级的开发方法。这种开发方法的主要思想是:传统的软件工程方法文档太“重”了,现在需要进行减负,所以将不必要的文档去掉,这就形成了敏捷开发。具体一点讲,敏捷方法包括:XP(极限编程)、自适应开发、水晶方法、特性驱动开发等。
在XP方法中,提出了四大价值观:沟通、简单、反馈、勇气。五大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。十二个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户、编码标准。
1.假设某软件公司与客户签订合同开发一个软件系统,系统的功能有较清晰的定义,且客户对交付时间有严格要求,则该系统的开发最适宜采用瀑布模型。
2.为了有效地捕获系统需求,应采用原型模型。
3.模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型是内容耦合。
4.以下关于封装在软件复用中所充当的角色的叙述,正确的是(A).
A.封装使得其他开发人员不需要知道一个软件组件内部如何工作。
B.封装使得软件组件更有效的工作。
C.封装使得软件开发人员不简要编制开发文档。
D.封装使得软件组件开发更加容易。
封装是面向对象技术的三大特点之一,封装的目的是使对象的定义和实现分离,这样,就能减少耦合。封装可以使得其他开发人员不需要知道一个软件组件内部是如何工作的,只需要使用该组件提供的接口来完成交互即可,如果在另外一个地方需要完成相同的功能,我们可以将该组件使用在另外一个地方,这样就提供了软件的复用性。
5.软件系统的可维护性评价指标不包括(C).
A.可理解性 B.可测试性 C.扩展性 D.可修改性
6.McCall软件质量模型从软件产品的运行、修正和转移三个方面确定了11个质量特性,其中灵活性不属于产品运行方面的质量特性。
运行方面:正确性、可靠性、效率、完整性、使用性;修正方面:维护性、测试性、灵活性;转移方面:维护性移植性、复用性、共运行性。
7.根据ISO/IEC9126软件质量模型中软件质量特性的定义,可维护性质量特性的易测试性子特性是指与为确认经修改软件所需努力有关的软件属性。
可维护性质量特性是指与软件维护的难易程度相关的一组软件属性,它包含了易分析性、稳定性、易测试性和易改变性4个子特性。其中:
易分析性是描述诊断缺陷或失效原因、判定待修改程度的难易程度的特性。
稳定性是描述修改造成难以预料的后果的风险程度,风险程度越低,稳定性越好。
易测试性是描述测试已修改软件的难易程度的特性。
易改变性是描述修改、排错或适应环境变化的难易程度。
8.某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。瀑布模型最适合开发此项目。
9.进行防错性程序设计,可以有效地控制正确性维护成本。
10.在软件维护阶段,为软件的运行增加监控设施属于完善性维护。
11.在软件开发过程中进行风险分析时,风险控制活动目的是辅助项目建立处理风险的策略,有效的策略应考虑风险避免、风险监控、风险管理及意外事件计划
软考考前冲刺第七章软件工程基础知识