软件工程

要点:

概念以及软件工程的基本要素。

软件工程基本过程中典型活动以及主要任务。

理解软件开发中典型的软件开发模型,比如,瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型等。

软件设计过程中设计的各种技术,例如,数据流图, UML 中的五种基本图 ( 类图,用例图,状态图等 ) PAD 图, N-S 图,流程图及其他们之间的转换。

软件测试技术中的黑盒和白盒测试及其具体内容。

CMM 的基本概念,等级框架,每一等级包含的关键过程域和基本特征等等。

一.基本概念

软件工程:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科

原则:
选取良好的开发范型
采用良好的设计方法
提供高质量的支持
实施有效的管理

目标:可用性 正确性 合算性

活动:需求 设计 实现 确认 支持

三要素:目标 原则 活动

二.软件工程

生存周期过程:
基本过程:获取过程 供应过程  开发过程 运行过程  维护过程 
- -开发过程(过程实现 系统需求分析 体系结构设计 软件需求分析 软件体系结构设计 软件详细设计 软件编码和测试 软件集成 软件合格性测试  系统集成 系统合格性测试 软件安装 软件验收支持)
支持过程:文档过程 配置管理过程  质量保证过程 验证过程 确认过程
组织过程:管理过程 基础设施过程 改进过程  人力资源过程 

软件生存周期模型:
瀑布模型 成熟功能
增量模型 已有旧版 
演化模型 没有完整需求
螺旋模型 精细规划
喷泉模型 迭代回归

生存周期过程的规划与监控:
软件项目生存周期过程定义—在一个项目的生存周期中,每一个任务都通过一个或多个过程的方式来完成的,所有这些相关过程的组合,称为软件项目生存周期过程

软件项目生存周期过程的规划:选型 精细化 实现 | 监控:软件生命周期+必要调整

能力成熟度模型
基本概念:在制造及传递某种合乎特定质量标准的产品时,必须配合适当的管理及技术作业程序,这些程序所组成的结构,称为质量体系
关系:过程能力和过程性能成正比 
等级框架:初始级(混乱) 可重复级(复制) 已定义级(文档) 可管理级(量化)  持续优化级(吸收新技术)
关键过程:
1+2需求规约 项目规划 跟踪和监督 合同管理 质量保证 配置管理 
2+3组织过程 焦点 定义 培训大纲 综合软件管理 产品工程 组间协调 同行评审 
3+4定量过程管理 软件质量管理   
4+5缺陷预防 技术更新管理 过程变更管理
基本特征:
 组织+项目+过程能力 | 输入输出 阶段化  精细化 阶段细化  流程重组

CMM等级的内部结构
成熟度等级 指示过程能力 包含关键过程域(18个)
关键过程域 达到目标 组织共同特征(5个)
共同特征 解决实现或制度化 包含关键实践(316个)
关键实践 描述基础设施或活动

PST/TSP 个人和小组软件过程
CMMI   软件SW 系统工程SE 集成产品管理IPD


三.软件需求与软件需求规约
定义:一个需求是一个“要予构造”的陈述,描述了待开发产品功能上的能力、性能参数或者其他性质
分类:功能需求  | 性能需求 外部接口需求 设计约束 质量属性
需求发现技术:自悟 交谈  观察 小组会 提炼 
需求规约 作用(受控和管理起始点)及格式(非形式化 半形式化 形式化)

四.系统规约及软件设计
结构化方法学

DFD Page76
基本术语:数据流  加工  数据存储  数据源和数据潭
建模过程:系统环境图 | 自顶向下,逐步求精 | 定义数据字典(顺序 选择 重复) | 描述加工(结构化语言,判定表,判定数)


总体设计:模块结构图 层次图 HIPO图
设计原则:
     --耦合(内容 公共 控制 标记  数据) 内聚(偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚)
     --提高独立性 模块规模适中 深度宽度 扇入扇出 模块控制在范围内 降低接口复杂度  模块功能可预测  
数据流图(变换型数据流图-获取数据+变换数据+输出数据 事务型数据流图-集中发散式不同路径)
     --变换设计:输入和输出模块分解
     --事务设计:路径模块分解
【输入+输出+变换 Page105】

DFD==>MSD
伪码 PAD N-S互转

详细设计:顺序 选择 循环  |  if...else... switch case   do while until 
程序流程图
盒图N-S图
PAD图 
类程序语言
设计规约




面向对象方法学
1.类与对象
UML:类的属性(名称 属性  操作) 
属性:可见性 属性名  类型  多重性 初始值  性质串
操作:可见性 操作名 参数表 返回类型 性质串
更多表示:职责  注解  前置或是后置条件  类的状态机  类的内部结构  体现类的协作
建模中用途:模型化概念  职责分布模型    模型化建模中使用的基本类型
2.接口:接口 实现类 和调用类
3.协作:交互各方 交互方式 交互内容  虚线椭圆
4.用况:动作描述 椭圆
5.主动类:与普通类相比,多了两条实线
6.构件:嵌套关系,包括更小的构件
7.制品:物理信息
8.节点:计算机资源

表达关系的术语:
关联:关联名 导航  角色  可见性  多重性  限定符   聚合   组合  关联类  约束  
泛华:基类==>派生类  完整 不完整 互斥  重叠
细化:接口实现
依赖:结构关系  继承关系   精化关系  依赖关系


RUP
用况:分析—>设计—>实现—>测试—>用况
体系:用况 分析 设计 实现 部署
迭代:需求获取 需求分析 设计 实现 测试 |  初始 细化 构造 移交
核心工作流:
     需求获取 :特征表 领域模型  用况模型 补充需求
     需求分析 :分析包(依赖机制)  分析类(边界类 实体类  控制类) 用况细化(分析类之间作用)
     设计:设计机制(特定应用层) 设计机制(一般应用层) 中间层 系统软件层
     实现和测试 :构件 单元测试 集成和连接 映射部署模型 | 测试模型 输入输出和条件 缺陷模式

TOOL
—类图:类 接口 关联 泛化  依赖
—用例图:主题 用例 参与者 关联 泛化 依赖
--状态图 :
1.状态:名字(标识状态文本串) 进入/退出效应(entry/exit)  状态内部转移(动作标号’/‘动作表达式)  组合状态(正交包含子状态 非正交是用虚线隔开) 被延迟事件 | 状态  初始状态 终止状态 嵌套状态  转移  事件 事件类型 动作 触发器  事件参数  
2.事件:信号 调用  时间变化和变化事件  发送事件和接收事件  
3.状态转移:源状态 转移触发器 监护状态 效应 目标状态(事件触发器 监护条件 动作表达式)
4.建立状态机模型:方框 箭头 说明
--顺序图
1.术语(消息 对象生命线  聚焦控制)
2.控制操作子(选择 条件 并发 迭代)

五.软件测试
概念:按照特定规程发现软件错误的过程
任务:检验系统是否满足规定的需求,或是清楚了解预期结果与实际结果之间的差异
步骤:单元测试(模块接口  数据结构  路径选择) 集成测试(自顶向下 自底向上) 有效性测试(黑盒 配置复审) 系统测试
过程模型:环境(开发软硬件环境) 对象模型(程序的简化抽象) 错误模型(错误级别)

白盒:
路径测试技术(控制流图 测试策略-语句覆盖 分支覆盖 条件组合覆盖 路径覆盖  路径选取-单循环 嵌套循环 级联循环)
黑盒:
事务处理流程技术(事务与事务流程图判定包括 并生 丝分裂  吸收 结合 |  步骤 获取流程图 浏览复审 用例设计 测试执行)
等价类划分(输入条件 有效等价类 无效等价类 ==> 为有效等价类 和 无效等价类 分别建立测试用例,包括测试用例 期望结果和覆盖范围)
边界值分析(等于 大于 小于)
因果图(图形符号包括 恒等 非 或 与 | 约束符号 互斥  包含 唯一 要求 屏蔽)


六.软件工程管理
软件质量的概念及质量模型
经典管理模型: 规划(资源计划 资金和物理风险评估) 组织(人员和任务分配) 领导(开发团队专心致志工作) 控制(人员安排和配置管理) 人员安排
PDCA:规划 实施 状态信息监测 实施调整
配置管理:
—配置项:代码 文档  数据
—基线:正式复审的软件配置项
—管理过程:标识软件配置对象  版本控制  变化控制  配置审计  状态报告

软件质量保证活动
软件度量学:代码行 功能点方法 对象点方法
成本估算度量学:静态单变量模型 动态多变量模型 COCOMO2模型
进展评估:开发时间  gantt图  工程网络 工程进度 关键路径  机动时间

七.软件质量、质量特征以及软件质量保证
前提:由于受限的资源 效能的冲突导致质量特征无法全部实现,与客户交流是关键,使用原型构造是基本方法,
概念:软件与明确地和隐含地定义的需求相一致的程度
质量模型:CMM ISO9000


八.CASE工具与环境
CASE分类:
一般性使用工具
支持特定技术和方法的工具:
—需求分析:数据流程图 实体-关系模型 状态转换图 数据字典 面向对象建模
—概要设计:分析、验证需求定义 程序结构图 面向对象建模
—详细设计:HIPO图 PDL PAD 代码转换工具
—编码工具:正文编辑 连接 调试 
—测试:静态测试  动态测试 测试结果/报告/用例生成
—维护与理解:文档分析 程序理解 程序结构分析 源程序-PAD转换工具  源程序—流程图转换工具
--配置管理:版本管理工具 变化管理工具
支持管理活动的工具:配置管理工具  成本估算工具  进度控制工具  文档工具
支持过程活动的工具:设计工具(快速原型工具 模型化 和 模拟工具等)和 程序设计辅助工具(排错工具 代码生成器) 测试工具和维护工具

CASE工作台:程序设计+分析设计+测试+交叉开发+配置管理+文档工作台+项目管理工作台
--分析与设计工作台(数据字典 代码生成器 图表创建工具 结构化图标制作工具 报告生成设施 查询语言设施 移入移出设施 设计分析和检查工具 中央信息仓库)
--程序设计工作台(程序库 连接器 可执行程序 加载器 可执行程序 执行报告 动态分析器  动态分析器 静态分析器 程序报告 结构化编辑器  交叉引用  按格式打印  语法树 符号表 已编译代码)
--软件测试工作台(动态分析器 源代码 执行报告|被测试的程序 测试管理器 模拟器 | 预测期 测试预估 测试数据 测试结果 规约 测试数据生成器 | 文件比较器 报告生成器 测试结果报告)

集成化CASE环境概念:
Wasserman 五级模型—平台 数据  控制  过程  表示集成
APSE模型—MAPSE 配置管理 外壳 编译器 测试器 连接加载器  KAPSE
环境层次模型—平台 框架 工具应用
PCTE—事务执行 数据通信 ERA模型 安全模型 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值