软件工程导论
- 第一章 概述
-
- 1.1软件
- 1.1.1 软件的特性
- 1.1.3 软件危机
- 1.2 软件工程
-
- 1.2.2 软件工程的三要素
- 1.2.3 软件质量的特性
- 1.2.5 CASE 计算机辅助软件工程
- 1.3 软件工程知识体系(SWEBOK)
-
- 1.3.2 SWEBOK的组成
- 1.4 软件工程职业道德规范
-
- 1.4.2 软件工程人员的职业道德建设
- 第二章 软件过程
-
- 2.1.3软件过程的基本活动
- 2.2 软件过程模型
- 2.2.1 瀑布模型
- 暴露的问题
- 2.2.2 快速原型模型
- 大概步骤
- 2.2.3 增量模型
- 2.2.4 螺旋模型
- 第三章 软件项目管理
-
- 3.1.2 软件项目管理的”4P”
- 3.2.1 人员组织和管理
- 3.4 软件项目规划(太*m难了)
- 需求规格说明
- 第四章 需求工程
-
- 4.1.1 业务需求
- 4.1.2 用户需求
- 4.1.3 功能需求 和 非 功能需求
- 4.1.4 系统需求
- 第六章 面向对象基础
-
- 6.5常用的UML图
- 用例图
- 类图
- 顺序图
- 状态图:
- 第八章 面向对象设计
-
- 8.1.2 设计原则
- 第十章 软件测试
-
- 10.1.2 验证与确认
- 10.2 软件测试策略
- 习题:
第一章 概述
1968年 NATO 艘次提出”软件工程” 概念至今
软件工程 是为了解决 开发成本效益 和 软件质量的 问题而产生的
1.1软件
软件是 计算机程序,规程以及运行计算机系统可能需要的相关文档和数据
1.1.1 软件的特性
1.软件是 复杂的
2.软件是不可见的
3.软件是不断变化的
4.大多数软件仍然是定制的,而不是通过已有构件组装而成的
1.1.3 软件危机
软件危机:
计算机软件 的开发和维护过程中 遇到的一系列 严重问题
1.2 软件工程
1.2.2 软件工程的三要素
过程,方法,工具 三个要素组成
软件工程的方法 为 软件开发提供了”如何做“的技术
软件工程的过程 是 管理和控制产品质量的关键
软件工具 为软件工程方法提供了 自动的或半自动的软件支持环境,辅助软件开发人物的完成
1.2.3 软件质量的特性
可靠性 正确性 有效性
1.2.5 CASE 计算机辅助软件工程
Rose,UML,Robot,CVS,VVS,RUP
1.3 软件工程知识体系(SWEBOK)
1.3.2 SWEBOK的组成
软件:
需求 设计 构造 测试 维护 配置管理 工程管理 过程管理 工程过程 工程工具与方法 质量
1.4 软件工程职业道德规范
1.4.2 软件工程人员的职业道德建设
遵纪守法 是 基本素质
服务客户,造福 会 是 观念
诚实信用 是 核心
第二章 软件过程
软件过程是
是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动。
2.1.3软件过程的基本活动
软件确定
软件开发
规格说明
软件演化
2.2 软件过程模型
2.2.1 瀑布模型
软件开发各项活动 严格 按照线性的方式进行
适用于
在开发的早期阶段软件需求 被完整确定的情况
(这种要求太过理想化)
暴露的问题
各个阶段的划分完全固定
增加了开发的风险
早期的错误要等到开发后期的测试阶段才能实现
2.2.2 快速原型模型
大概步骤
第一步:
迅速构建一个可以运行的软件原型
第二步:
在第一步的基础上开发客户满意的软件产品
2.2.3 增量模型
第一个增量
往往是 实现基本需求的核心产品
2.2.4 螺旋模型
将软件过程划分 为 若干个开发回线
每个回线又被 划分成 4 个步骤
首先确定该阶段的目标
其次从风险角度分析方案的开发策略
如果某些风险不能排除 立刻中止
否则继续下一步的软件开发和 验收工作
最后评价该阶段的结果 并规划 下一个开发阶段
第三章 软件项目管理
3.1.2 软件项目管理的”4P”
People 人员
Product 产品
Process 过程
Project 项目
3.2.1 人员组织和管理
民主式组织结构
主程序员式组织结构
技术管理式组织结构
第四章 需求工程
4.1.1 业务需求
4.1.2 用户需求
4.1.3 功能需求 和 非 功能需求
4.1.4 系统需求
第六章 面向对象基础
6.5常用的UML图
用例图
用例 和 参与者
参与者
用户 外部系统 硬件设备 组织结构
用例
系统需要实现的功能
类图
实心菱形 + 横线 表示 组合
空心菱形 + 横线 表示 聚合
状态图:
第八章 面向对象设计
8.1.2 设计原则
1.模块化 : 将一个福扎的大系统分成若干个较小的部分
耦合度和内聚度:
耦合度: 两个子系统之间的 关联程度
内聚性 :子系统内部的相关程度
复用性: 直接使用已有的软构件通过组合或合理地修改生成心的系统
第十章 软件测试
10.1.2 验证与确认
软件验证:
试图证明在软件生存期各个阶段,软件产品和中间产品是否能够满足客户需求软件确认:
一系列的活动和过程
10.2 软件测试策略
习题:
在类设计中,为什么建议使用 set 方法和 get 方法进行属性设置和读取的在于降低类之间的耦合度。()
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!