软工基础知识-软考知识总结-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)天而不会影响整个项目的进度。
在这里插入图片描述
A 15 和0
B 21 和2
C 22 和3
D 24 和5

找到关键路径,也就是耗时最久的那条路径,确保全部工程完成。BD最晚,不能超过关键路径,所以找到BD最晚的路径。
关键路径:ABDGIKL=22
BD最耗时路径:ABDGIKL=22
所以BD最晚:22-22=0

风险

风险是一种具有负面后果的、人们不希望发生的事件
特点:风险是可能发生的事件,其发生的可能性用风险概率来描述;风险是会给项目带来损失的事件;可能对风险进行干预,以期减少损失。
针对每一种风险,应弄清可能减少造成损失或避免损失的程度。
风险只能是可能避免,不能规避。
**特性:**不确定性和损失;不确定性指风险可能发生,也可能不发生,损失指当风险发生时,引发的不希望的后果和损失。

风险的优先级是通过风险暴露设定的

分类

风险可以分为项目风险、技术风险和商业风险等
技术风险涉及设计方案、实现、接口、验证以及维护等方面的问题。
项目风险涉及到各种形式的预算、进度、人员、资源以及和客户相关的问题
业务风险组括建立一个无人想要的优秀产品的风险、失去预算或人员承诺的风险等
商业风险包括如市场风险、策略风险、管理风险和预算风险等

风险分析

分为:风险识别、风险预测、风险评估和风险控制。
风险识别是试图系统化地确定对项目计划(估算、进度、资源分配)的威胁。
风险预测又称为风险估算,它从两个方面评估一个风险:风险发生的可能性或概率;以及如果风险发生时所产生的后果。
风险评估根据风险及其发生的概率和产生的影响预测是否影响 参考水平值。
风险控制的目的是辅助项目组建立处理风险的策略,有效的策略应考虑风 险避免、风险监控、风险管理及意外事件计划

选择题 以下关于风险管理的叙述中,不正确的是(A)。
A 仅根据风险产生的后果来对风险排优先级
B 可以通过改变系统性能或功能需求来避免某些风险
C 不可能去除所有风险,但可以通过采取行动来降低或者减轻风险
D 在项目开发过程中,需要定期地评估和管理风险

软件需求

功能需求、非功能需求和设计约束

功能需求是所开发的软件必须具备什么样的功能:非功能需求是指产品必须具备的属性或品质,设计约束通常对解决方案的一些约束说明

软件成本估算模型

COCOMO----->考虑成本
基本模型(Basic Model):是一个静态单变量模型,它用一个以已估算出来的源代码行数(LOC)为自变量的函数来计算软件开发工作量
中级模型(Intermediate Model):则在用LOC为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。
详细模型(Detailed Model):包括中级COCOMO型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。

COCOMO II ----->考虑开发不同阶段
COCOMO II 的层次结构中的估算选择:对象点、功能点和代码行

软件能力成熟度

CMM(Capability Maturity Model)是能力成熟度模型的缩写,CMM是国际公认的对软件公司进行成熟度等级认证的重要标准。CMM共分五级。在每一级中,定义了达到该级过程管理水平所应解决的关键问题和关键过程。每一较低级别是达到较高级别的基础。
其中五级是最高级,即优化级,达到该级的软件公司过程可自发地不断改进,防止同类问题二次出现;四级称为已管理级,达到该级的软件公司已实现过程的定量化;三级为已定义级,即过程实现标准化;二级可重复级,达到该级的软件公司过程已制度化,有纪律,可重复;一级初始级,过程无序,进度、预算、功能和质量等方面不可预测。

配置数据库

开发库、受控库、产品库

环路复杂度

**选择题:**软件的复杂性主要体现在程序的复杂性。(A)是度量软件复杂性的一个主要参数。若采用McCabe度量法计算环路复杂性,则对于下图所示的程序图,其环路复杂度为(C )。
在这里插入图片描述
第一空:
A 代码行数
B 常量的数量
C 变量的数量
D 调用的库函数的数量
第二空:
A 2
B 3
C 4
D 5

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

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

软件配置管理

主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。
主要内容包括软件配置标识、变更管理、版本控制、系统建立、配置审核和配置状态报告。

文档

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

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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值