软考(软件设计师)考点总结 |
您所在的位置:网站首页 › 设计软件所需要的成本 › 软考(软件设计师)考点总结 |
软件开发模型
软件工程的任务是基于需求分析的结果,建立各种设计模型,给出问题的解决方案。分为概要设计与详细设计两个阶段。 概要设计: 软件体系结构的设计、模块划分、数据设计和接口设计。 详细设计阶段: 数据结构与算法设计。 瀑布模型: 各个活动规定为线性顺序连接的若干阶段的模型。是一种理想的现象开发模型,缺乏灵活性,无法理解软件需求不明确或不准确的问题。适用于需求明确的项目。 快速原型模型: 在项目开发的初级阶段构造一个简易的系统,逐步演化为最终产品(适用于需求不明确的情况)。往往只应用与需求分析阶段。 演化模型: 从初始的原型逐步演化成最终软件产品,特别适用于对软件需求缺乏准确认识的情况。 增量模型: 把软件作品作为一系列增量构件来设计、编码、集成和测试,先提供给用户核心模块,在增量开发中逐步理解需求,进行改进。可以较早的发现问题。 V模型: 强调要及早的进行测试,强调测试要贯穿与开发的始终。 喷泉模型: 适合面向对象开发 RAD(快速开发模型): SDLC + CBSD 构件组装模型(CBSD): 把软件开发中的各个模块作成标准构件,然后将构件进行组装就得到了我们需要的软件。极大的提高了软件开发的复用性,可以使软件开发的总时长极大减小,软件成本降低,可靠性提高。 统一过程模型UP: 一种以用例和风险驱动、以架构为中心、迭代并且增量的开发过程,由UML方法和工具支持。UP过程定义了五个阶段,起始阶段、精化阶段、构建阶段、移交阶段和产生阶段。开发过程中包含多次迭代,每次迭代都包括:计划、分析、设计、构造、集成测试,以及内部和外部发布。每个迭代有五个核心工作流。 起始阶段: 项目的初始化活动 精化阶段: 理解最初的领域范围之后,进行需求分析和框架演进 构建阶段: 关注系统的构建,产生实现模型 移交阶段: 关注软件提交方面的工作,产生软件增量 产生阶段: 运行软件并检测软件的持续使用,提供运行环境的支持,提交并评估缺陷报告和变更需求。 敏捷开发方法:适用于小型项目。 信息系统开发方法: Jackson方法: 这是一种面向数据结构的开发方法。以数据结构为驱动,适合于小规模的项目。当输入数据结构与输出数据结构之间没有对应关系时,难以应用此方法。 原型化方法: 比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时,适合使用。 面向对象开发方法: 包括面向对象分析、面向对象设计和面向对象实现,采用统一建模语言(UML)。 结构化分析模型包括: 数据流图、实体联系图、状态迁移图、数据字典 成本估算模型: Putnam: 一种动态多变量模型,假设在软件开发的整个生存期中工作量有特定的分布。 COCOMO: 基本COCOMO:静态单变量模型,对整个软件系统进行估算 中级COCOMO:静态多变量模型,将软件系统模型分为系统和部件两个层次,系统又部件构成 详细COCOMO:将软件分为系统、子系统、模块三层,除包括中级模型所考虑因素外,还要考虑需求分析、软件设计等每一步成本驱动属性的影响。 COCOMO II: 以模板作为成本的主要因素,考虑多个成本驱动因子。该方法包括应用组装模型、早期设计阶段模型、体系结构阶段模型三个阶段。估算选择有:对象点、功能点、代码行 专家评估: 依靠专家的背景和经验进行评估。 Wolverton: 基于成本矩阵,定义不同的软件类型和难易成本,基于此计算软件开发的成本。 软件能力成熟度模型集成(CMMI):
连续式模型包括六个过程域能力等级(CL): CL0:未完成的,未执行或未达到CL1定义的所有目标。 CL1:已执行的,共形目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。 CL2:已管理的,共性目标集中与已管理的过程的制度化。 CL3:已定义的,共性目标集中与已定义的过程的制度化 CL4:定量管理的,共性目标集中可定量管理的过程的制度化, CL5:优化的使用量化手段改变和优化过程域,以对付客户要求的该百年或持续改进计划中的过程域功效。 CMM软件开发能力成熟度模型,给出了一个从个别的过程达到成熟的规范化过程的一个框架,分为五个阶段: 等级1:初始级,混乱不可预测 等级2:重复级,项目的到监控和追踪,有稳定的策划和产品基线。 等级3:确定级,通过软件过程定义和制度优化确保对产品质量的控制 等级4:管理级,产品质量得到策划,软件过程基于度量的追踪 等级5:优化级,持续的过程能力改进。 软件配置管理SCM: 用于整个软件工程的过程,其主要目标是标识变更、控制变更、确保变更正确实现,报告变更。 其主要内容包括:版本管理、配置支持、变更支持、过程支持、团队支持、变化报告、审计支持 ISO/IEC 9126软件质量模型: 定义了六个软件质量标准
结构化设计: 耦合: ①无直接耦合: 两个模块之间没有直接的关系,它们之间的联系完全是通过主模块的控制和调用来实现的。 ②数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。 ③标记耦合: 指两个模块之间传递的是数据结构。 ④控制耦合: 指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。 ⑤外部耦合: 模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通信协议上)。 ⑥公共耦合: 指多个模块都访问同一个公共数据环境。 ⑦内容耦合: 当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部的耦合。 耦合性:无直接耦合<数据耦合<标记耦合<控制耦合<外部耦合<公共耦合<内容耦合(耦合性越低,模块独立性越强) 测试原则与类型: 测试用例设计: McCabe复杂度: 系统运行与维护: 项目管理基础知识: 软件项目活动图: Gantt图: 一种简单的水平条形图,以日历为基准描述项目任务。可以清晰的描述某个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性。但是不能清晰反应各任务之间的依赖关系,难以确认整个项目的关键所在,也不能反映计划中有潜力的部分。 PERT图: 不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了人物之间的依赖关系,即哪些任务完成后才能开始另外一些任务,以及如期完成整个工程的关键路径。但是它不能反映任务之间的并行关系。 例题: 通常冗余附加技术分为四类:结构冗余、信息冗余、时间冗余、冗余附加 冗余附加技术: 实现其他类型冗余技术所需要的资源技术,包括程序指令、数据、存储和调用它们的空间通道等。 在屏蔽硬件错误的容错技术中,冗余附加技术包括:关键程序和数据的冗余存储及调用:检测、表决、切换、重构、纠错和报复的实现。 在屏蔽软件的冗余技术中,冗余附加技术包括:冗余备份程序的存储及调用;实现错误检测和错误恢复程序;实现错误软件所需要的固化程序。 风险评估软件风险包括两个特性:不确定性和损失 风险的优先级通常是根据风险暴露(风险曝光度)设定的。风险暴露=风险影响*风险概率 项目的主要风险: 项目风险:涉及各 种的预算、进度、人员、资源以及和客户相关的问题; 技术风险:潜在的设计、实现、对阶、测试等维护问题 业务风险:建立一个无人想要的项目的风险、失去预算的风险等 商业风险:市场风险、策略风险、管理风险预算风险等 软考历年真题及B站相关视频课件: 链接:https://pan.baidu.com/s/1e4d1-HGOzcEVHSK8Q0j_xA 提取码:acij |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |