内容推荐 本书是在《软件工程》(第4版)的基础上,根据使用该书的教师等读者的意见,做了很多调整和修改,如补充了应用实例,加强了对方法论的讲解。本书针对软件工程的基本理论、可行性研究、软件需求分析、总体设计、软件详细设计、面向对象分析与设计、用户界面设计、数据库及其接口设计、软件实现、软件测试、软件项目管理与计划等进行了严谨的论述,通过各章实例来讲解概念。同时各章都配有丰富的习题。本书还有配套的《软件工程习题解答》(第4版)(ISBN 978-7-302-47333-6)和《软件工程实践与课程设计》(ISBN 978-7-302-47867-6)。 本书可作为高等学校计算机、软件工程及相关专业本科生的教材,也可作为IT领域的科研人员、开发人员的参考用书。 目录 第一部分 基础理论 第1章 绪论 1.1 软件概述 1.1.1 什么是计算机软件 1.1.2 软件的特点 1.1.3 软件的分类 1.1.4 软件的发展 1.1.5 软件危机 1.2 软件工程概述 1.2.1 软件工程与方法学 1.2.2 软件工程的基本原理 1.2.3 软件工程的目标 1.2.4 软件工程的内容 1.2.5 软件工程原则 1.2.6 软件工程面临的问题 小结 综合练习1 第2章 基本理论 2.1 软件工程过程 2.2 软件生命周期 2.2.1 软件分析时期 2.2.2 软件设计时期 2.2.3 编码与测试时期 2.2.4 运行与维护时期 2.3 软件生命周期模型 2.3.1 软件生命周期模型的概念 2.3.2 瀑布模型 2.3.3 原型模型 2.3.4 增量模型 2.3.5 螺旋模型 2.3.6 喷泉模型 2.3.7 基于知识的模型 2.3.8 变换模型 2.4 软件开发方法 2.4.1 结构化方法 2.4.2 Jackson方法 2.4.3 维也纳开发方法 2.4.4 面向对象的开发方法 2.5 软件工具与开发 2.5.1 软件工具箱 2.5.2 软件开发环境 2.5.3 计算机辅助软件工程 2.6 软件工程应用实例 小结 综合练习2 第3章 可行性研究 3.1 可行性研究任务与步骤 3.1.1 研究任务 3.1.2 研究步骤 3.2 系统分析 3.2.1 系统分析员 3.2.2 面临的问题域 3.2.3 通信技术 3.3 分析原理 3.3.1 信息域 3.3.2 建立模型 3.3.3 分解 3.4 系统模型与模拟 3.4.1 系统模型 3.4.2 系统建模和模拟 3.5 成本效益分析 3.6 可行性研究的文档 3.7 项目开发计划 3.7.1 方案选择 3.7.2 制订项目开发计划 3.8 应用案例——成绩管理系统可行性研究 3.8.1 引言 3.8.2 对现行系统的分析 3.8.3 建议的新系统 3.8.4 可行性研究 3.8.5 可行性分析 3.8.6 系统工程性能分析 3.8.7 风险分析 3.8.8 可选择的其他系统方案 3.8.9 结论 小结 综合练习3 第二部分 结构化方法 第4章 软件需求分析 4.1 需求分析 4.1.1 需求分析的特点 4.1.2 需求分析的原则 4.1.3 需求分析的任务 4.1.4 需求分析的方法 4.2 结构化分析 4.2.1 自顶向下逐层分解 4.2.2 结构化分析步骤 4.3 系统流程图 4.4 数据流图 4.4.1 基本图形符号 4.4.2 画数据流图 4.5 数据字典 4.5.1 内容及格式 4.5.2 数据字典的实现 4.6 应用案例——成绩管理系统结构化需求分析 4.6.1 引言 4.6.2 业务需求 4.6.3 需求分析 4.6.4 总结 小结 综合练习4 第5章 总体设计 5.1 软件设计的重要性 5.2 设计过程 5.3 软件总体设计 5.4 设计基本原理 5.4.1 抽象 5.4.2 细化 5.4.3 模块化 5.4.4 软件体系结构 5.4.5 程序结构 5.4.6 数据结构 5.4.7 软件过程 5.5 体系结构设计 5.5.1 软件结构图 5.5.2 模块的大小 5.5.3 扇出和扇入与深度和宽度 5.5.4 模块的耦合 5.5.5 模块的内聚 5.5.6 结构设计的一般准则 5.5.7 模块的作用域与控制域 5.6 结构化设计 5.6.1 数据流的类型 5.6.2 过程步骤 5.6.3 变换分析设计 5.6.4 事务分析设计 5.6.5 混合流设计 5.6.6 结构化设计方法应用示例 5.6.7 设计的后期处理 5.7 应用案例——成绩管理系统总体设计 5.7.1 总体设计 5.7.2 接口设计 5.7.3 运行设计 5.7.4 系统论结构设计 5.7.5 故障检测与处理机制 小结 综合练习5 第6章 软件详细设计 6.1 详细设计的任务与方法 6.1.1 详细设计的基本任务 6.1.2 详细设计方法 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 常见错误 6.4 应用案例——成绩管理系统结构化详细设计 6.4.1 引言 6.4.2 模块结构设计 6.4.3 数据结构设计 6.4.4 算法设计 小结 综合练习6 第三部分 面向对象方法与实现 第7章 面向对象分析 7.1 面向对象的相关概念 7.1.1 对象 |