软工基础知识-软考知识总结-4

常见软件生存周期模型

瀑布模型、演化模型、螺旋模型、喷泉模型等

瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目;从一个阶段瀑布般地转换到另一个阶段的过程
V模型是瀑布模型的一种演变模型,将测试和分析与设计关联进行,加强分析与设计的验证。
原型模型是一种演化模型,通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进;开发人员快速地构造整个系统或者系统的一部分以理解或澄清问题
演化模型特别适用于对软件需求缺乏准确认识的情况。
螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析
喷泉模型是典型的面向对象生命周期模型,是一种以用户需求为动力,以对象作为驱动的模型。该模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性
增量模型是一种非整体开发的模型,该模型具有较大的灵活性,适合于软件需求不明确的一种模型。使用该模型开发产品,一般是尽快构造出可运行的产品,然后在该产品的基础上再增加需要的新的构建,使产品更趋于完善

软件构建过程

从工程管理角度,软件设计分为两个阶段:概要设计阶段和详细设计阶段
概要设计阶段:进行软件体系结构的设计、数据设计和接口设计;详细设计阶段:进行数据结构和算法的设计。
面向对象设计方法中,概要设计阶段进行体系结构设计、初步的类设计/数据设计、结构设计;详细设计阶段进行构件设计

需求分析确定软件要完成的功能及非功能性要求;概要设计将需求转化为软件的模块划分,确定模块之间的调用关系;详细设计将模块进行细化,得到详细的数据结构和算法;编码根据详细设计进行代码的编写,得到可以运行的软件,并进行单元测试。

需求分析的输出:数据流图、实体联系图、状态迁移图和数据字典

精化阶段理解了最初的领域范围之后,进行需求分析和架构演进。构建阶段关注系统的构建,产生实现模型。移交阶段关注于软件提交方面的工作,产生软件增量。产生阶段运行软件并监控软件的持续使用,提供运行环境的支持,提交并评估缺陷 告和变更请求。

软件工程的基本要素包括:方法、工具、过程

RUP应用了角色、活动、制品和工作流4种重要的模型元素,其中角色表述“谁做”制品表述“做什么”活动表述“怎么做”工作流表述“什么时候做”

软件开发方法

需求不清晰且规模不太大时采用原型化方法最合适
而数据处理领域的不太复杂的软件,适于用结构化方法进行开发

极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术;
特性:1.计划游戏:快速制定计划、随着细节的不断变化而完善;2.小型发布:系统的设计要能够尽可能早地交付;3.隐喻:找到合适的比喻传达信息;4.简单设计:只处理当前的需求使设计保持简单;5.测试先行:先写测试代码再编写程序;6.重构:重新审视需求和设计,重新明确地描述它们,以符合新的和现有的需求;7.结队编程;8.集体代码所有制;9.持续集成:可以按日甚至按小时为客户提供可运行的版本;10.每周工作40个小时;11.现场客户;12.编码标准
组成:价值观(沟通、简单性、反馈和勇气)、原则、实践和行为

水晶法Crystal认为每一个不同的项目都需要一套不同的策略、约定和方法论;
并列争球法(Scrum)使用迭代的方法,其中把每30天一次的迭代成为一个冲刺,并按需求的优先级来实现产品

选择题:在进行软件开发时,采用无主程序员的开发小组,成员之间相互平等;而主程序员负责制的开发小组,由一个主程序员和若干成员组成,成员之间没有沟通。在一个由8名开发人员构成的小组中,无主程序员组和主程序员组的沟通路径分别是(D)。
A 32和8
B32和7
C28和8
D28和7

8个组成员组成无向图,路径(边数)=n(n-1)/2
主程序员只能和主程序员沟通:8-1=7

活动图计算

Gantt图

用水平条状图描述,它以日历为基准描述项目任务,清楚地表示任务的持续时间和任务之间的并行,但是不能清晰地描述各个任务之间的依赖关系

PERT图

是一种 络模型,描述一个项目的各任务之间的关系,可以明确表达任务之间的依赖关系

选择题 某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为。活动BD最多可以晚开始(A)天而不会影响整个项目的进度。

复杂度:边数(m)-结点数(n)+2

选择题 在屏蔽软件错误的容错系统中,冗余附加技术的构成不包括(A)。
A 关键程序和数据的冗余存储及调用
B 冗余备份程序的存储及调用
C 实现错误检测和错误恢复的程序
D 实现容错软件所需的固化程序

软件配置管理

文档

选择题 以下关于文档的叙述中,不正确的是(A)。
A 文档仅仅描述和规定了软件的使用范围及相关的操作命令
B 文档是软件产品的一部分,没有文档的软件不能称之为软件产品
C 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
D 高质量文档对于发挥软件产品的效益有着重要的意义试题

选择题 以下关于文档的叙述中,不正确的是(B)。
A 项目相关人员可以通过文档进行沟通
B 编写文档会降低软件开发的效率
C 编写高质量文档可以提高软件开发的质量
D 文档是软件的不可或缺的部分

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月15日
下一篇 2021年3月15日

相关推荐