关于本书的内容有任何问题,请联系 初美呈
第 1章 软件工程概述 001 1.1 软件工程的产生 001 1.1.1 软件生产的发展 001 1.1.2 软件危机 002 1.2 软件工程 003 1.2.1 软件工程的定义 004 1.2.2 软件工程学的主要内容 004 1.2.3 软件工程的基本原理 007 1.3 软件生命周期 007 1.4 软件过程模型 008 1.4.1 瀑布模型 009 1.4.2 快速原型模型 010 1.4.3 增量模型 011 1.4.4 喷泉模型 012 1.4.5 统一过程模型 013 本章小结 014 习题1 015 第 2章 可行性研究与软件工程开发计划 016 2.1 软件定义与可行性研究 016 2.1.1 软件定义 016 2.1.2 可行性研究 018 2.2 软件工程开发计划的制订 019 2.2.1 软件工程项目概述和实施计划 019 2.2.2 Gantt图 020 2.2.3 工程网络图 021 2.2.4 软件工程开发计划的复审 024 本章小结 025 习题2 025 第3章 需求分析 027 3.1 需求分析的任务 027 3.1.1 确定目标系统的具体要求 028 3.1.2 建立目标系统的逻辑模型 030 3.2 结构化分析步骤 030 3.2.1 进行调查研究 030 3.2.2 分析和描述系统的逻辑模型 031 3.2.3 对需求分析进行复审 031 3.3 需求分析的图形工具 032 3.3.1 实体-联系图 033 3.3.2 数据流图 034 3.3.3 状态转换图 037 3.3.4 IPO图 038 3.4 数据字典 039 3.4.1 数据字典的内容 039 3.4.2 数据字典使用的符号 040 3.4.3 数据字典与图形工具 042 3.5 软件需求分析举例 042 3.5.1 系统管理 042 3.5.2 商品信息管理 043 3.5.3 商品供销存管理 043 3.5.4 商品销售管理系统的数据流图 044 3.5.5 数据字典 044 3.6 需求分析文档 045 3.6.1 软件需求规格说明书 045 3.6.2 用户手册编写提示 046 3.6.3 编写需求分析文档的步骤 046 本章小结 047 习题3 047 第4章 概要设计 049 4.1 概要设计步骤 049 4.1.1 软件结构设计 049 4.1.2 数据结构设计及数据库设计 050 4.1.3 系统接口设计 051 4.1.4 测试方案设计 051 4.2 软件结构设计的基本原理 051 4.2.1 模块与模块化 051 4.2.2 模块的耦合和内聚 054 4.2.3 软件结构设计的优化规则 057 4.3 软件结构设计的图形工具 058 4.3.1 层次图 058 4.3.2 结构图 059 4.4 概要设计方法 060 4.4.1 结构化方法 060 4.4.2 面向数据结构设计方法 063 4.5 概要设计文档与复审 066 4.5.1 概要设计说明书 066 4.5.2 概要设计复审 067 4.5.3 数据库设计说明书 067 本章小结 068 习题4 068 第5章 详细设计 070 5.1 过程设计 070 5.1.1 流程图 071 5.1.2 盒图 075 5.1.3 PAD 076 5.1.4 判定表 078 5.1.5 判定树 078 5.1.6 过程设计语言 079 5.2 用户界面设计 081 5.2.1 用户界面设计问题 081 5.2.2 用户界面设计过程 082 5.2.3 用户界面设计的基本原则 082 5.2.4 用户界面设计指南 083 5.3 数据代码设计 085 5.3.1 数据代码设计原则 085 5.3.2 代码种类 086 5.3.3 数据代码设计方法 088 5.4 数据输入/输出设计 088 5.4.1 数据输入设计 088 5.4.2 数据输出设计 089 5.5 数据安全设计 089 5.6 详细设计文档与复审 090 5.6.1 详细设计说明书 090 5.6.2 操作手册 091 5.6.3 详细设计的复审 092 本章小结 092 习题5 092 第6章 软件实现 094 6.1 结构化程序设计 094 6.2 选择程序设计语言 095 6.3 程序设计风格 097 6.4 程序设计质量评价 099 6.5 程序设计文档 099 6.6 软件测试目标和原则 100 6.6.1 软件测试目标 100 6.6.2 软件测试原则 100 6.7 软件测试方法 101 6.7.1 静态分析与动态测试 101 6.7.2 黑盒法与白盒法 102 6.8 软件测试步骤 102 6.8.1 模块测试 102 6.8.2 集成测试 103 6.8.3 程序审查会和人工运行 104 6.8.4 确认测试 104 6.8.5 平行运行 105 6.9 设计测试方案 105 6.9.1 等价类划分法 106 6.9.2 边界值分析法 106 6.9.3 错误推测法 107 6.9.4 逻辑覆盖法 107 6.9.5 实用测试策略 110 6.10 软件调试、验证与确认 111 6.10.1 软件调试 111 6.10.2 软件验证 112 6.10.3 软件确认 112 6.11 软件测试计划和分析报告 113 本章小结 114 习题6 115 第7章 软件维护 119 7.1 软件维护过程 119 7.1.1 软件维护的种类 119 7.1.2 软件维护的困难 120 7.1.3 软件维护的实施 121 7.1.4 软件维护的副作用 123 7.2 软件的可维护性 123 7.2.1 影响可维护性的因素 124 7.2.2 可维护性的度量 124 7.2.3 提高软件的可维护性 125 本章小结 126 习题7 126 第8章 面向对象方法、UML及应用 128 8.1 面向对象方法概述 128 8.1.1 面向对象方法的主要优点 129 8.1.2 面向对象方法的主要概念 130 8.2 UML概述 132 8.2.1 UML的发展 132 8.2.2 UML的设计目标 133 8.2.3 UML的内容 133 8.2.4 UML的扩展机制 134 8.3 UML图 135 8.3.1 用例图 136 8.3.2 类图 137 8.3.3 对象图 141 8.3.4 状态图 141 8.3.5 顺序图 143 8.3.6 活动图 144 8.3.7 协作图 144 8.3.8 构件图 145 8.3.9 部署图 145 8.4 面向对象分析 146 8.4.1 面向对象分析过程 146 8.4.2 面向对象分析原则 147 8.5 建立对象模型 148 8.5.1 确定对象和类 148 8.5.2 确定类的相互关系 149 8.5.3 划分主题 150 8.6 建立动态模型 152 8.6.1 编写脚本 153 8.6.2 设计用户界面 154 8.6.3 画顺序图或活动图 154 8.6.4 画状态图 154 8.7 建立功能模型 155 8.8 面向对象设计 156 8.8.1 系统设计 157 8.8.2 对象设计 160 8.8.3 面向对象设计的准则和启发式规则 161 8.9 面向对象系统的实现 162 8.9.1 选择程序设计语言 162 8.9.2 面向对象程序设计 163 8.10 面向对象的测试 163 8.10.1 面向对象测试策略 164 8.10.2 面向对象的测试步骤 165 8.11 UML的应用 169 8.11.1 UML模型 169 8.11.2 UML视图 171 8.11.3 UML使用准则 171 8.11.4 UML的应用领域 172 本章小结 173 习题8 173 第9章 WebApp软件工程 175 9.1 Web的特性 175 9.2 网络系统的层次结构 177 9.2.1 二层C/S结构 177 9.2.2 三层C/S结构 178 9.2.3 四层C/S结构 180 9.2.4 B/S结构 180 9.3 客户端使用的技术 182 9.3.1 HTML 182 9.3.2 脚本语言 182 9.3.3 Applet 183 9.3.4 AJAX 183 9.4 网络服务器端使用的技术 184 9.4.1 Servlet 184 9.4.2 JSP 186 9.5 WebApp的设计模式 186 9.5.1 观察者模式 187 9.5.2 组合模式 188 9.5.3 工厂方法模式和策略模式 189 9.5.4 模型-视图-控制器模式 190 9.5.5 装饰者模式 191 9.6 WebApp的设计 192 9.6.1 WebApp的特点及应用类型 192 9.6.2 WebApp的需求分析 193 9.6.3 WebApp需求分析过程 196 9.6.4 WebApp设计过程 198 9.6.5 WebApp体系结构设计 202 9.6.6 WebApp导航设计 203 9.7 WebApp测试 204 9.7.1 WebApp测试过程概述 205 9.7.2 WebApp内容测试 205 9.7.3 WebApp界面测试 206 9.7.4 WebApp导航测试 207 9.7.5 WebApp配置测试 207 9.7.6 WebApp安全性测试 207 9.7.7 WebApp性能测试 208 本章小结 208 习题9 209 第 10章 软件重用和再工程 210 10.1 可重用的软件成分 210 10.2 软件重用过程 211 10.2.1 软件重用过程的模型 211 10.2.2 开发可重用的软件构件 213 10.2.3 分类和检索软件构件 213 10.2.4 软件重用环境 214 10.3 软件逆向工程 215 10.4 软件再工程 216 本章小结 217 习题10 217 第 11章 软件工程管理 218 11.1 软件工程管理概述 218 11.2 软件开发成本估算 219 11.2.1 软件开发成本估算方法 219 11.2.2 代码行技术和任务估算技术 220 11.2.3 COCOMO2模型 221 11.2.4 程序环行复杂度的度量 223 11.3 软件工程人员组织 224 11.4 软件配置管理 226 11.5 软件质量保证 228 11.5.1 软件质量的特性 229 11.5.2 软件质量保证措施 230 11.6 软件开发风险管理 231 11.6.1 软件开发风险的分类 231 11.6.2 软件开发风险的识别 232 11.6.3 软件开发风险的预测 232 11.6.4 处理软件开发风险的策略 233 11.7 软件工程标准与软件工程文档 235 11.7.1 软件工程标准 235 11.7.2 软件工程文档的编写 236 本章小结 238 习题11 238 第 12章 实例——网上商品竞拍系统 239 12.1 问题定义和可行性研究 239 12.1.1 问题定义 239 12.1.2 可行性研究 239 12.2 需求分析和概要设计 240 12.2.1 系统角色的功能设计 240 12.2.2 数据库设计 242 12.2.3 系统结构设计 243 12.2.4 网络设计 244 12.3 模块设计 245 12.3.1 注册登录 245 12.3.2 用户信息管理 245 12.3.3 拍卖商品管理 246 12.3.4 拍卖业务管理 247 12.4 软件测试 248 本章小结 250 习题12 250 附录A 部分习题参考答案 251 附录B 试题类型举例 257 参考文献 258
本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...
本书是面向PHP语言和MySQL数据库初学者的一本入门教材,使用通俗易懂的语言、丰富的图解和实用的案例,详细讲...
本书以PyCharm为主要开发工具,采用理论与实训案例相结合的编写方式,系统地讲解Python的相关知识。本书...
本书注重基础知识的讲解,循序渐进、系统地讲述了JavaScript和jQuery前端开发的相关基础知识。Jav...
本书较为全面地介绍OceanBase分布式数据库的环境部署、运维、性能优化和应用等方面的知识。全书共8个项目,...
本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...
内 容 提 要 本书围绕软件行业相关岗位的实际需求,采用校企合作的方式设计教材案例,推进“岗课赛证”协同育人...
本书合理选取JavaScript的相关理论知识,优化JavaScript程序设计的教学内容,科学安排各模块的编...
我要评论