软件工程

开发模型

瀑布模型

用于结构化模型开发

适用需求明确或者二次开发

原型模型

适用需求不明确

演化模型

增量模型

适用需求不明确

先做一块,再做一块,这样不断的对核心功能的审视,降低风险

螺旋模型

由多个模型组合成

适用需求不明确

引入了风险分析

V模型

注重测试,强调提早测试,测试贯穿模型的始终

喷泉模型

软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性

敏捷开发模型

适合小型项目

基本原则

  • 短平快的会议
  • 小型版本发布
  • 较少的文档
  • 合作为重
  • 客户直接参与
  • 自动化测试
  • 适应性计划调整
  • 结对编程
  • 测试驱动开发
  • 持续集成
  • 重构

4大价值观:

  • 沟通
  • 简单
  • 反馈
  • 勇气

5大原则

  • 快速反馈
  • 简单性假设
  • 逐步修改
  • 提倡更改
  • 优质工作

12个最佳实践

  • 计划游戏
  • 小型发布
  • 隐喻
  • 简单设计
  • 测试先行
  • 重构
  • 结对编程
  • 集体代码所有制
  • 持续集成
  • 每周工作40小时
  • 现场客户
  • 编码标准

信息系统开发方法

  • 结构化法

    用户至上
    严格区分工作阶段,每阶段有任务与成果
    强调系统开发过程的整体性和全局性
    系统开发过程工程化,文档资料标准化
    自顶向下,逐步分解(求精)

  • 原型法

    适用于需求不明确的开发
    包括抛弃式原型和演化式原型

  • 面向对象方法

    更好的复用性
    关键在于建立一个全面、合理、统一的模型
    分析、设计、实现三个阶段,界限不明确

  • 面向服务方法

    SO方法有三个主要的抽象级别:操作、服务、业务流程
    SOAD分为三个层次:基础设计层(底层服务构件)、应用结构层(服务之间的接口和服务级协定)和业务组织层(业务流程建模和服务流程编排)
    服务建摸:分为服务发现、服务规约和服务实现三个阶段

需求的分类

业务需求
用户需求
系统需求

结构化设计

概要设计、详细设计

  • 自顶向下、逐步求精
  • 信息隐蔽
  • 模块独立(高内聚、低耦合、复杂度)

内聚与耦合

内聚类型描述
功能内聚完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚处理元素相关,而且必须顺序执行
通信内聚所有处理元素集中在一个数据结构的区域上
过程内聚处理元素相关,而且必须按特定的次序执行
瞬时内聚(时间内聚)所包含的任务必须在同一时间间隔内执行
逻辑内聚完成逻辑上相关的一组任务
偶然内聚(巧合内聚)完成一组没有关系或松散关系的任务
耦合类型描述
非直接耦合两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
数据耦合一组模块借助参数表传递简单数据
标记耦合一组模块通过参数表传递记录信息(数据结构)
控制耦合模块之间传递的信息中包含用于控制模块内部逻辑的信息
外部耦合一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息
公共耦合多个模块都访问同一个公共数据环境
内容耦合一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口

软件测试

  • 尽早、不断的进行测试
  • 程序员避免测试自己设计的程序
  • 既要选择有效、合理的数据,也要选择无效、不合理的数据
  • 修改后应进行回归测试
  • 尚未发现的错误数量与该程序已发现错误数成正比

测试用例设计

黑盒测试

  • 等价类划分
  • 边界值分析
  • 错误推测
  • 因果图

白盒测试

  • 语句覆盖
  • 判定覆盖
  • 条件覆盖
  • 条件判定覆盖
  • 修正的条件判断覆盖
  • 条件组合覆盖
  • 点覆盖
  • 边覆盖
  • 路径覆盖

McCabe复杂度

计算有向图G的环路复杂度公式为: V ( G ) = m − n + 2 V(G)=m-n+2 V(G)=mn+2
说明:其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数。

系统运行与维护

软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改、培训、帮助资料等

可维护性

  • 易分析性
  • 易改变性
  • 稳定性
  • 易测试性

维护类型

  • 改正性维护(25%)
  • 适应性维护(20%)
  • 完善性维护(50%)
  • 预防性维护(5%)

软件过程改进

阶段式

成熟度等级过程域
已管理级需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证
已定义级需求开发、技术解决方案、产品集成、验证、确认、组织级过程焦点、组织级过程定义、组织级培训、集成项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成环境
定量管理级组织级过程性能、定量项目管理
优化级组织级改革与实施、因果分折和解决方案

连续式

连续式分组过程域
过程管理组织级过程焦点、组织级过程定义、组织级培训、组织级过程性能、组织级改革与实施
项目管理项目计划、项目监督与控制、供应商合同管理、集成项目管理、风险管理、集成化的团队、定量项目管理
工程需求管理、需求开发、技术解决方案、产品集成、验证、确认
支持配置管理、度量和分析、过程和产品质量保证、决策分析和解决方案、组织级集成环境、因果分析和解决方案
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值