软考(软件设计师)考点总结 — 软件工程基础知识

软件开发模型

软件工程的任务是基于需求分析的结果,建立各种设计模型,给出问题的解决方案。分为概要设计与详细设计两个阶段。
概要设计: 软件体系结构的设计、模块划分、数据设计和接口设计。
详细设计阶段: 数据结构与算法设计。

软考(软件设计师)考点总结 -- 软件工程基础知识

快速原型模型:
在项目开发的初级阶段构造一个简易的系统,逐步演化为最终产品(适用于需求不明确的情况)。往往只应用与需求分析阶段。

软考(软件设计师)考点总结 -- 软件工程基础知识
螺旋模型: 一种演化软件开发过程模型,将瀑布模型与快速原行模型结合起来,兼顾了快速原型的迭代以及瀑布模型的系统化与严格监控,并加入两种模型均忽略了的风险分析,适用于复杂的大型软件。
软考(软件设计师)考点总结 -- 软件工程基础知识

喷泉模型: 适合面向对象开发

软考(软件设计师)考点总结 -- 软件工程基础知识

构件组装模型(CBSD):
把软件开发中的各个模块作成标准构件,然后将构件进行组装就得到了我们需要的软件。极大的提高了软件开发的复用性,可以使软件开发的总时长极大减小,软件成本降低,可靠性提高。

软考(软件设计师)考点总结 -- 软件工程基础知识
极限编程XP: 代码所有权归于整个开发队伍,激发开发人员的创造性。其中的结对编程就是一种对代码的审计过程,XP主要解决代码质量低的问题,不影响编码速度
水晶法Crystal: 认为每一个不同的项目都需要一套不同的策略、约定和方法论。
并列争球法Scrum: 使用迭代的方法,其中把每30天一次的迭代作为一个冲刺,并按需求优先级来实现产品。
自适应开发: ASD六个基本原则

信息系统开发方法:

软考(软件设计师)考点总结 -- 软件工程基础知识
CMMI提供两种标识方法:阶段式模型、连续式模型

连续式模型包括六个过程域能力等级(CL):
CL0:未完成的,未执行或未达到CL1定义的所有目标。
CL1:已执行的,共形目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
CL2:已管理的,共性目标集中与已管理的过程的制度化。
CL3:已定义的,共性目标集中与已定义的过程的制度化
CL4:定量管理的,共性目标集中可定量管理的过程的制度化,
CL5:优化的使用量化手段改变和优化过程域,以对付客户要求的该百年或持续改进计划中的过程域功效。

CMM软件开发能力成熟度模型,给出了一个从个别的过程达到成熟的规范化过程的一个框架,分为五个阶段:
等级1:初始级,混乱不可预测
等级2:重复级,项目的到监控和追踪,有稳定的策划和产品基线。
等级3:确定级,通过软件过程定义和制度优化确保对产品质量的控制
等级4:管理级,产品质量得到策划,软件过程基于度量的追踪
等级5:优化级,持续的过程能力改进。

软件配置管理SCM: 用于整个软件工程的过程,其主要目标是标识变更、控制变更、确保变更正确实现,报告变更。
其主要内容包括:版本管理、配置支持、变更支持、过程支持、团队支持、变化报告、审计支持

ISO/IEC 9126软件质量模型: 定义了六个软件质量标准

软考(软件设计师)考点总结 -- 软件工程基础知识
功能需求:所开发软件必须具有什么样的功能
非功能需求:产品必须具有什么样的属性或品质,如可靠性、性能、响应时间、扩展性等
设计约束:对解决方案的一些列约束说明

结构化设计:

软考(软件设计师)考点总结 -- 软件工程基础知识
内聚:
①功能内聚: 最强的内聚,指模块内的所有元素共同作用完成一个功能,缺一不可。
②顺序内聚: 指一个模块中的各个处理元素都密切相关于同一功能,且必须按顺序执行,前一功能元素的输出就是下一功能元素的输入。
③通信内聚: 指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
④过程内聚: 指一个模块完成多个任务,这些任务必须按指定的次序执行。
⑤瞬时内聚: 把需要同时执行的动作组合在一起形成的模块,所包含的任务必须在同一时间间隔内执行。
⑥逻辑内聚: 指模块内执行若干个逻辑上相似的功能。
⑦偶然内聚: 指一个模块内的各处理元素之间没有任何联系
内聚性:功能内聚>顺序内聚>通信内聚>过程内聚>时间内聚>逻辑内聚>偶然内聚(内聚性越高,模块独立性越强)

耦合:
①无直接耦合: 两个模块之间没有直接的关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
②数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
③标记耦合: 指两个模块之间传递的是数据结构
④控制耦合: 指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。
⑤外部耦合: 模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通信协议上)。
⑥公共耦合: 指多个模块都访问同一个公共数据环境
⑦内容耦合: 当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部的耦合。
耦合性:无直接耦合<数据耦合<标记耦合<控制耦合<外部耦合<公共耦合<内容耦合(耦合性越低,模块独立性越强)

软考(软件设计师)考点总结 -- 软件工程基础知识

测试用例设计:

软考(软件设计师)考点总结 -- 软件工程基础知识

McCabe复杂度:

软考(软件设计师)考点总结 -- 软件工程基础知识
改正性维护: 改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
适应性维护: 使应用软件适应信息技术变化和管理需求变化而进行的修改。
完善性维护: 为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
预防性维护: 为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。

项目管理基础知识:

软考(软件设计师)考点总结 -- 软件工程基础知识
答案:D,C(先正推每个节点的最长开始时间,然后从最后一个逆推最晚开始时间)

冗余

通常冗余附加技术分为四类:结构冗余、信息冗余、时间冗余、冗余附加

冗余附加技术: 实现其他类型冗余技术所需要的资源技术,包括程序指令、数据、存储和调用它们的空间通道等。
在屏蔽硬件错误的容错技术中,冗余附加技术包括:关键程序和数据的冗余存储及调用:检测、表决、切换、重构、纠错和报复的实现。
在屏蔽软件的冗余技术中,冗余附加技术包括:冗余备份程序的存储及调用;实现错误检测和错误恢复程序;实现错误软件所需要的固化程序。

风险评估

软件风险包括两个特性:不确定性和损失

风险的优先级通常是根据风险暴露(风险曝光度)设定的。风险暴露=风险影响*风险概率

软考(软件设计师)考点总结 -- 软件工程基础知识

项目的主要风险:
项目风险:涉及各 种的预算、进度、人员、资源以及和客户相关的问题;
技术风险:潜在的设计、实现、对阶、测试等维护问题
业务风险:建立一个无人想要的项目的风险、失去预算的风险等
商业风险:市场风险、策略风险、管理风险预算风险等

软考历年真题及B站相关视频课件:
链接:https://pan.baidu.com/s/1e4d1-HGOzcEVHSK8Q0j_xA
提取码:acij

来源:龙源lll

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月22日
下一篇 2021年4月22日

相关推荐