信管知识-22-软件工程

软件需求分析与定义

概念
  • 《软件需求规划说明书》,SRS
    含义:需求开发活动的产物,使项目干系人与开发团队对系统的初始规定有一个共同的理解
    内容:①范围②引用文件③需求④合格性规定⑤需求可追踪性⑥尚未解决的问题⑦注解⑧附录
需求特性

可验证性、优先级

需求分析的目的
  1. 检测和解决寻求之间的冲突
  2. 发现软件的边界,以及软件与其环境的交互
  3. 详细描述系统需求,以导出软件需求
    在这里插入图片描述
需求分析的任务
  1. 建立分析模型
  2. 编写需求规格说明书

需求验证

内容
  • SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征
  • SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的
  • 需求是完整的和高质量的
  • 需求的表示在所有地方都是一致的
  • 需求为继续进行系统设计、实现和测试提供了足够的基础
方法
  1. 需求评审:技术评审
  2. 需求测试

软件设计、测试与维护

软件设计

定义一个系统或者组建的构架、组件、接口和其他特征的过程,并得到这个过程的结果
由两个处于软件需求和软件构造之间的活动组成:软件架构设计(概要设计)、软件详细设计

软件测试
  1. 测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动
  2. 软件测试是针对一个程序的行为,在有限测试用例集合上动态验证是否达到预期的行为。
  3. 过程:拟定测试计划、编制测试大纲、设计和生成测试用例、实施测试、生成测试报告
  4. 方法
    人工测试:人工复查、抽查、会审
    机器测试:黑盒测试(功能测试)和白盒测试(结构测试)
  5. 三个阶段
    单元测试:模块测试(编译无误后)
    集成测试:组装测试(模块按照系统设计说明书的要求组合后)
    系统测试:与系统需求相比较、发现他与用户需求不符的地方
软件维护
  1. 交付前+交付后
  2. 交付前完成的活动:交付后的运行计划和维护计划
  3. 交付后完成的活动:软件修改、培训、帮助资料
  4. 类型:纠错性维护、适应性维护、完善性维护和预防性维护

软件复用

定义

已用的软件的各种构造新的软件
缩短软件开发和维护的费用

主要思想

组件所组成

复用级别

抽象程度排序高低

  1. 代码复用
  2. 设计复用
  3. 分析复用
  4. 测试信息复用

软件质量保证及质量评价

软件质量定义
  1. 软件” 产品质量“ 国际标准ISO 9126定义包括
    内部质量、外部质量、使用质量。
  2. 质量模型中,内部质量和外部质量分为6个质量特性
    功能型、可靠性、易用性、效率、可维护性和可移植性
  3. 将质量分为4个质量属性:
    有效性、生产性、安全性、满意度。
  4. McCall质量模型
    产品修正:可维护性、可测试性、灵活性
    产品转移:可移植性、可复用性、互联性
    产品运行:正确性、可靠性、效率、可使用性、完整性
  5. 质量管理过程:
    质量保证过程、验证过程、确认过程、评审过程、审计过程…
软件质量保证

充分满足用户要求的质量

验证与确认
  1. 验证:开发过程时,给定阶段的产品是否达到前面阶段确立的需求
  2. 确认:开发过程结束时,确认和需求是否相一致

软件配置管理

  1. 目的:实现软件产品的完整性、一致性、可控性
  2. 内容:对变更加以控制,降低变更对成本、工期、质量的影响
  3. 包括:
    配置管理过程的管理和计划
    配置项标识
    配置控制:配置项的变更控制
    配置状态报告
    配置审计
    发布管理和交付

软件过程管理

产品质量取决于软件开发过程

CMM和CMMI模型

软件过程能力模型SEI(美国软件工程研究所)发布的CMMI软件能力成熟度集成模型

CMM(已被CMMI取代):软件能力成熟度模型

5个级别:

  1. 初始级:临时的、混乱的
  2. 可重复级
  3. 已定义级:文档化、标准化
  4. 已管理级:建立量化目标
  5. 持续优化级

CMMI:软件能力成熟度集成模型

新增了连续式表示方法

覆盖领域更多:软件工程(阶段式的模型SW-CMM)、系统工程(连续式的模型SE-CMM)、集成的产品和过程开发(IPPD-CMM)、集成的产品开发(阶段式+连续式的模型 IPD-CMM)、采购(SS-CMM)

阶段式方法将模型表示为一系列“成熟度等级”阶段:描述过程的能力成熟度模型
每个阶段都有一组KPA
满足其目标的方法
过程改进满足所有KPA 的目标而实现

连续式方法:描述组织的能力成熟度模型
模型中的KPA方法是KPA的外部形式
可应用于所有的KPA
实现公用方法来改进过程
不专门指出目标,强调方法

5个级别:

  1. 完成级:目标清晰
  2. 可管理级:遵循计划和流程
  3. 已定义级:特殊情况时管理体系与流程制度化,科学管理
  4. 量化管理级:建立量化目标
  5. 持续优化级 :主动改善流程、运用新技术、实现流程优化。
软件过程评估意义

过程改进的需要
降低风险的需要:软件采购者的需要和软件承制人的需要

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值