第1章 概述
1.1 软件工程学的几个基本概念
1.1.1 软件与软件工程
1.1.2 软件生存周期
1.1.3 软件开发模型
1.1.4 软件工程的任务及其研究范围
1.2 软件开发的原则和方法
1.2.1 软件开发原则概述
1.2.2 软件开发的方法
小结
习题
第2章 软件计划
2.1 问题定义和可行性研究
2.1.1 问题定义
2.1.2 可行性研究
2.2 软件计划
2.2.1 软件工作范围
2.2.2 资源
2.2.3 软件成本估算
2.2.4 软件计划任务书
2.2.5 案例:“学分管理系统”
2.2.6 项目开发进度月报编写规范
小结
习题
第3章 软件需求分析
3.1 软件需求分析的目标和任务
3.1.1 软件需求分析的目标
3.1.2 软件需求分析的任务
3.2 结构化分析
3.2.1 结构化分析方法的策略
3.2.2 数据流程图
3.2.3 分层数据流程图案例:简易库存管理系统数据流程图
3.2.4 数据字典
3.2.5 结构化分析步骤
3.3 按功能逐层分解法
3.3.1 层次图
3.3.2 IPO图
3.4 软件需求分析报告书写规范
3.5 软件需求分析报告的案例
小结
习题
第4章 软件总体设计
4.1 软件总体设计的任务和目标
4.2 软件总体设计基础
4.2.1 软件结构
4.2.2 结构图
4.2.3 软件模块
4.3 软件总体设计准则
4.4 结构化软件设计
4.4.1 变换设计
4.4.2 事务设计
4.4.3 综合设计
4.4.4 结构化软件设计步骤
4.4.5 案例
4.5 Jackson设计方法
4.5.1 Jackson方法中的数据结构
4.5.2 Jackson设计方法案例
4.6 概要设计说明书编写规范
4.7 概要设计说明书案例:简易库存管理系统概要设计
4.7.1 数据库的结构设计
4.7.2 数据表之间的关系的设计
4.7.3 系统模块结构设计
小结
习题
第5章 软件详细设计
5.1 结构化程序设计
5.1.1 基本逻辑结构
5.1.2 基本结构嵌套
5.2 详细设计工具
5.2.1 流程图
5.2.2 N.S结构流程图(盒图)
5.2.3 HIPO图
5.2.4 判定表
5.2.5 伪码
5.2.6 判定树
5.2.7 PAD图
5.2.8 结构图
5.2.9 详细设计工具应用案例
5.3 代码设计
5.3.1 代码的种类
5.3.2 代码结构中的校验位
5.3.3 代码设计案例
5.4 用户界面设计
5.4.1 可使用性
5.4.2 灵活性
5.4.3 复杂性与可靠性
5.4.4 用户界面设计的任务分析
5.5 用户界面任务和工作设计
5.5.1 任务分配
5.5.2 工作方式和工作设计
5.6 界面设计的基本类型
5.6.1 界面设计的类型
5.6.2 菜单
5.6.3 图像
5.6.4 对话框
5.6.5 问题描述语言
5.6.6 窗口
5.7 数据输入界面设计
5.7.1 数据输入规则
5.7.2 输入表格设计
5.7.3 其他数据输入的方法
5.8 数据显示界面设计
5.8.1 数据显示的规则
5.8.2 字符数据的显示
5.8.3 图形显示
5.8.4 报告
5.9 控制界面的设计
5.9.1 用控制对话选择操作命令
5.9.2 用菜单界面进行控制
5.9.3 用功能键定义操作命令
5.9.4 用图标表示对象或命令
5.9.5 直接操作
5.9.6 用窗口划分屏幕
5.9.7 命令语言
5.9.8 自然语言
5.10 软件安全控制设计
5.10.1 软件安全的基本概念
5.10.2 软件系统安全控制的基本方法
5.10.3 软件的安全控制设计
5.11 详细设计文档的编写
小结
习题
第6章 软件编码
6.1 对源程序的质量要求
6.2 结构化程序设计
6.2.1 结构化程序设计的原则
6.2.2 程序设计自顶向下、逐步求精
6.2.3 数据结构的合理化
6.3 程序设计风格
6.3.1 源程序文档化
6.3.2 数据说明
6.3.3 语句结构
6.3.4 输入输出(I/O)
6.4 程序效率
6.4.1 讨论效率的准则
6.4.2 算法对效率的影响
6.4.3 影响存储效率的因素
6.4.4 影响输入输出的因素
6.5 程序设计语言
6.5.1 程序设计语言特性的比较
6.5.2 程序设计语言的分类
6.5.3 程序设计语言的选择
6.6 防止编码错误
6.7 代码复查和编码工具
6.7.1 代码复查
6.7.2 编码工具
6.8 程序复杂性度量
6.8.1 代码行度量法
6.8.2 MeCabe度量法
6.8.3 Halstead度量方法
……
第7章 软件测试
第8章 软件实施与维护
第9章 软件项目管理
第10章 面向对象软件工程技术
· · · · · · (
收起)