“软件工程”是采用工程化方法实现软件开发,以避免出现软件危机的一门新兴学科。软件蓝领必须掌握这门技术,才能满足软件开发工作的要求。因此,“软件工程”是高等职业院校计算机或相近专业学生的必修课程。
本书详细讲述了工程化软件开发的技术与方法,包括软件的定义、需求分析、系统设计、软件编码与界面设计等内容。本书针对高等职业教育对学生培养的目标与要求编写,通俗易懂,概念清晰,叙述简练。
第1章 绪论
1.1 软件工程简述
1.1.1 软件的发展
1.1.2 软件危机
1.1.3 软件工程
1.2 软件的生存周期及其开发模型
1.2.1 软件生存周期
1.2.2 软件开发模型
第2章 软件的定义
2.1 项目可行性分析
2.1.1 可行性分析的意义和任务
2.1.2 可行性分析的要素
2.1.3 可行性分析的过程
2.2 需求分析的目标和任务
2.2.1 需求分析的概念
2.2.2 需求分析的目标
2.3 数据流分析技术
2.3.1 分析方法
2.3.2 数据流图
2.3.3 数据字典
2.4 数据库概念设计
2.4.1 概念结构设计的方法与步骤
2.4.2 数据抽象与局部视图设计
2.4.3 视图的集成
第3章 软件的系统设计
3.1 概要设计
3.1.1 概要设计基本任务与基本原理
3.1.2 软件结构设计优化原则
3.1.3 软件系统的设计技术
3.2 详细设计
3.2.1 详细设计基本任务
3.2.2 详细设计描述方法
3.3.3 Jackson程序设计方法
3.3 数据库结构设计
3.3.1 逻辑结构设计
3.3.2 物理结构设计
3.4 典型的软件体系结构
3.4.1 客户/服务器结构
3.4.2 三层C/S结构
3.4.3 浏览器/服务器结构
第4章 软件编码与界面设计
4.1 程序设计语言
4.2 程序设计风格
4.3 人机界面设计
4.3.1 人机界面应具备的特性
4.3.2 数据输入界面设计
4.3.3 数据显示界面设计
4.3.4 控制界面的设计
4.4 结构化程序设计
第5章 软件测试
5.1 软件测试的目标与原则
5.1.2 软件测试的目标
5.1.2 软件测试的原则
5.2 软件测试的方法
5.2.1 静态测试与动态测试
5.2.2 黑盒测试与白盒测试
5.2.3 测试用例的设计
5.3 软件测试的步骤和策略
5.3.1 软件测试步骤
5.3.2 软件测试的策略
5.3.3 确认测试(Validation TCstjng)
5.3.4 系统测试(System Testing)
5.3.5 测试的步骤及相应的测试种类
5.4 停止测试
5.5 自动化测试工具
5.5.1 白盒测试工具
5.5.2 黑盒测试工具
5.6 软件调试
5.6.1 调试技术
5.6.2 调试策略
第6章 软件维护
6.1 软件维护内容及特点
6.2 软件可维护性
6.3 维护任务的实施
第7章 面向对象设计方法
7.1 基本概念
7.1.1 对象
7.1.2 类和实例
7.1.3 继承性(Inhcritance)
7.1.4 多态性(PolymoIphism)
7.2 面向对象开发技术
7.2.1 面向对象的模型
7.2.2 面向对象分析
7.2.3 面向对象设计
7.2.4 面向对象的实现
7.3 面向对象软件测试
第8章 软件管理
8.1 软件质量与质量保证
8.1.1 软件质量
8.1.2 软件质量保证
8.2 软件工程管理内容
8.3 软件项目计划
8.4 软件工程标准化与软件文档
8.5 软件能力成熟度模型CMM
第9章 UML与Visio2003
9.1 UML概述
9.1.1 UML的产生与发展
9.1.2 UML的主要内容
9.1.3 UML的主要特点
9.2 静态建模
9.2.1 用例图
9.2.2 类图和对象图
9.2.3 包
9.2.4 组件图
9.2.5 部署图
9.3 动态建模
9.3.1 序列图
9.3.2 协作图
9.3.3 状态图
9.3.4 活动图
9.4 统一建模过程
9.5 Visio2003
9.5.1 Visio2003介绍
9.5.2 Visio2003应用实例——海鸥飞处彩云飞
附录1 全国计算机等级考试中软件工程考试内容
附录2 计算机软件开发文档编写指南
附录3 开发实例
参考答案
参考文献