本书是计算机科学丛书之一,讨论了如何将软件工程理论与行业实践联系起来,即集中精力进行系统设计和实现以及着手解决重要的实践问题。书中以一个主要的案例分析为中心展开叙述,提供了针对大型系统开发的软件工程技术,全面论述了开发生命周期、建模语言、工程工具、项目规划以及过程管理。通过主要案例研究的三次迭代,说明了迭代和增量式开发的概念。本书不仅为学生提供系统学习软件工程的方法,而且为IT专业人士提供软件工程的最佳实践。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 实用软件工程(附光盘)/计算机科学丛书 |
分类 | |
作者 | (德)马塞斯扎克//(澳)赖恩 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书是计算机科学丛书之一,讨论了如何将软件工程理论与行业实践联系起来,即集中精力进行系统设计和实现以及着手解决重要的实践问题。书中以一个主要的案例分析为中心展开叙述,提供了针对大型系统开发的软件工程技术,全面论述了开发生命周期、建模语言、工程工具、项目规划以及过程管理。通过主要案例研究的三次迭代,说明了迭代和增量式开发的概念。本书不仅为学生提供系统学习软件工程的方法,而且为IT专业人士提供软件工程的最佳实践。 内容推荐 本书从实践的角度详细介绍软件工程的方方面面。第一部分讨论软件生命周期、建模语言、工程工具、项目计划和过程管理等基础知识,后三个部分围绕案例分析介绍软件工程的实践过程与方法。本书内容由浅入深、逐层展开,很自然地穿插介绍了面向对象的建模、软件体系结构设计、设计模式、组件、数据工程、界面设计、重构等知识。通过贯穿全文的案例分析讲述如何以迭代增量式开发方法设计企业级应用,以实例方式有机结合现代软件工程最前沿的新技术,使读者在实践过程中掌握软件工程技术的精髓。另外,在每一章后都提供针对性很强的复习题、解答题和案例分析题,可帮助读者加深理解基本概念。 本书既可作为计算机专业高年级本科生、研究生的教材或参考书,也可供软件开发人员参考。 目录 第一部分 软件项目 第1章 软件开发生命周期 3 1.1 软件工程的精髓 4 1.1.1 软件系统比企业信息系统的范围小 4 1.1.2 软件过程是业务过程的一部分 5 1.1.3 软件工程不同于传统工程 6 1.1.4 软件工程不只是程序设计 7 1.1.5 软件工程需要建模 8 1.1.6 软件系统是复杂的 9 1.2 生命周期阶段 11 1.2.1 需求分析 11 1.2.2 系统设计 12 1.2.3 实现 13 1.2.4 集成和部署 13 1.2.5 运行和维护 15 1.3 生命周期模型 15 1.3.1 带反馈的瀑布式生命周期 16 1.3.2 迭代增量式的生命周期 17 小结 23 复习题 25 第2章 软件建模语言 26 2.1 结构化建模语言 27 2.1.1 数据流建模 27 2.1.2 实体-联系建模 29 2.2 面向对象建模语言 30 2.2.1 类图 31 2.2.2 用例图 34 2.2.3 交互图 35 2.2.4 状态图 38 2.2.5 活动图 40 2.2.6 实现图 41 小结 43 复习题 44 解答题 44 第3章 软件工程工具 46 3.1 项目管理工具 47 3.1.1 项目调度和控制 47 3.1.2 用战略眼光来安排项目和性能管理 48 3.1.3 项目管理与基于Web的协作及内容管理的统一 48 3.1.4 项目管理与基于Web的组合管理的统一 50 3.1.5 项目管理中的度量 51 3.1.6 项目管理中的风险管理 52 3.2 系统建模工具 54 3.2.1 需求管理 54 3.2.2 可视化UML建模 57 3.2.3 报表生成 59 3.2.4 数据库建模 59 3.3 集成开发环境 60 3.3.1 常规的编程任务 61 3.3.2 与软件建模集成 66 3.3.3 企业应用开发 67 3.3.4 与业务组件集成 68 3.3.5 与变更和配置管理集成 69 3.4 变更和配置管理工具 71 3.4.1 变更管理支持 71 3.4.2 版本管理支持 72 3.4.3 系统构建支持 74 3.4.4 再工程支持 75 小结 77 复习题 78 解答题 78 第4章 软件项目计划和跟踪 80 4.1 项目计划制定 80 4.2 项目进度安排 83 4.2.1 任务、里程碑和可交付成果 83 4.2.2 用条形图表示任务调度 84 4.2.3 资源和资源日历 86 4.2.4 用条形图表示人工量驱动的进度安排 87 4.2.5 资源分配不足和过度分配 88 4.3 项目预算估算 90 4.3.1 进度驱动的预算估算 91 4.3.2 算法预算估算 94 4.4 跟踪项目进展 98 4.4.1 跟踪进度 99 4.4.2 跟踪预算 101 小结 106 复习题 107 解答题 107 第5章 软件过程管理 110 5.1 人员管理 111 5.1.1 选拔和激励人员 111 5.1.2 项目沟通 113 5.1.3 团队建设 116 5.2 风险管理 116 5.2.1 风险识别 117 5.2.2 风险评估 118 5.2.3 风险处理 120 5.3 质量管理 121 5.3.1 软件质量 121 5.3.2 质量控制 123 5.3.3 质量保证 126 5.4 变更和配置管理 129 5.4.1 需求变更 130 5.4.2 工件的版本 131 5.4.3 缺陷和扩展 132 5.4.4 度量 134 小结 136 复习题 137 第二部分 从需求分析经由体系结构设计到软件发布 第6章 业务对象模型 141 6.1 广告费用评估—业务 141 6.2 业务环境图 142 6.3 业务用例模型 143 6.3.1 业务用例和业务执行者 143 6.3.2 AEM业务用例模型 143 6.3.3 AEM可替换业务用例模型 144 6.4 业务术语表 145 6.5 业务类模型 146 6.5.1 业务实体 147 6.5.2 AEM业务类模型 147 6.5.3 AEM业务类模型的替换模型 148 小结 149 复习题 149 讨论题 149 案例题 149 解答题 150 案例分析 150 小案例—广告费用评估 150 练习 151 第7章 领域对象模型 152 7.1 联系人管理—领域 152 7.2 领域用例模型 153 7.2.1 用例和执行者 153 7.2.2 用例联系 153 7.2.3 联系人管理的用例模型 154 7.2.4 联系人管理的可替换用例模型 156 7.3 领域术语表 157 7.4 领域类模型 158 7.4.1 类和属性 159 7.4.2 类之间的联系 159 7.4.3 联系人管理的类模型 160 7.4.4 联系人管理的可替换类模型 161 小结 162 复习题 163 讨论题 163 案例题 163 解答题 163 案例分析 163 小案例—时间日志 164 练习 165 第8章 第1次迭代需求和对象模型 166 8.1 用例模型 167 8.2 用例文档 167 8.2.1 概要描述、前置条件和后置条件 168 8.2.2 基本流程 168 8.2.3 子流程 169 8.2.4 异常流程 171 8.3 概念类 171 8.4 补充规格说明 172 小结 174 复习题 174 讨论题 174 案例题 174 解答题 175 案例分析 175 小案例—时间日志 175 第9章 体系结构设计 176 9.1 体系结构层和依赖性管理 176 9.1.1 体系结构模块 177 9.1.2 包依赖性 178 9.1.3 层依赖性 179 9.1.4 类依赖性 180 9.1.5 继承依赖性 181 9.1.6 方法依赖性 184 9.1.7 接口 187 9.1.8 事件处理 190 9.1.9 相识 194 9.2 体系结构框架 197 9.2.1 模型-视图-控制器 197 9.2.2 表示-控制-中介者-实体-基础 199 9.3 体系结构模式 203 9.3.1 外观 203 9.3.2 抽象工厂 204 9.3.3 责任链 205 9.3.4 观察者模式 205 9.3.5 中介者 207 小结 208 复习题 209 解答题 209 案例分析 209 小案例—联系人信息管理 210 练习 213 第10章 数据库设计和编程 214 10.1 从软件工程角度介绍关系数据库 214 10.1.1 表 215 10.1.2 引用完整性 216 10.1.3 概念和逻辑数据库模型 218 10.1.4 实现业务规则 219 10.1.5 数据库应用逻辑程序设计 220 10.1.6 索引 222 10.2 将临时对象映射成持久记录 225 10.2.1 对象数据库、SQL:1999和阻抗不匹配 225 10.2.2 对象-关系映射 226 10.3 用于电子邮件管理的数据库设计和创建 230 10.3.1 数据库模型 231 10.3.2 创建数据库模式 232 10.3.3 示例数据库内容 233 小结 234 复习题 234 讨论题 234 案例分析题 235 解答题 235 案例分析 235 小案例—联系人信息管理 235 第11章 类设计和交互设计 236 11.1 从用例需求中寻找类 237 11.1.1 从电子邮件管理系统的用例需求中寻找类 237 11.1.2 电子邮件管理系统的初始类设计 240 11.2 类设计的体系结构细化 241 11.2.1 电子邮件管理系统类设计的体系结构细化 244 11.2.2 体系结构细化后电子邮件管理系统的类设计 245 11.2.3 类的实例化 246 11.3 交互 246 11.3.1 序列图 247 11.3.2 通信图 249 11.3.3 交互概述图 249 11.4 电子邮件管理系统中的交互 251 11.4.1 “登录”交互 251 11.4.2 “退出”交互 252 11.4.3 “查看待发邮件”交互 253 11.4.4 “显示邮件文本”交互 254 11.4.5 “发送邮件”交互 254 11.4.6 “错误的用户名和密码”交互 255 11.4.7 “错误的选项”交互 256 11.4.8 “邮件过多”交互 257 11.4.9 “不能发送邮件”交互 257 小结 257 复习题 258 讨论题 258 案例分析题 259 解答题 259 案例分析练习 259 小案例—时间日志系统 259 小案例—联系人信息管理系统 260 第12章 编程和测试 261 12.1 基于软件工程的Java快速指南 261 12.1.1 类 261 12.1.2 类的关联与集合 264 12.1.3 Java中的数据库访问 270 12.2 测试驱动开发 276 12.2.1 JUnit框架 277 12.2.2 邮件管理系统测试驱动开发 279 12.3 验收测试和回归测试 283 12.3.1 电子邮件管理系统的测试脚本 285 12.3.2 测试输入、输出和电子邮件管理系统的回归测试 286 12.3.3 电子邮件管理系统中测试脚本的实现 288 12.4 第1次迭代运行时的截图 291 小结 294 复习题 295 解答题 296 指南和案例分析练习 296 小案例—时间日志系统 297 小案例—联系人信息管理系统 297 第13章 第1次迭代代码评注 298 13.1 代码概览 298 13.2 acquaintance包 300 13.2.1 IAConstants接口 300 13.2.2 IAEmployee接口 300 13.2.3 IAContact接口 301 13.2.4 IAOutMessage接口 302 13.3 presentation包 303 13.3.1 PMain类 303 13.3.2 PConsole类 304 13.4 control包 310 13.5 entity包 315 13.5.1 IEDataSupplier接口 315 13.5.2 EEmployee类 317 13.5.3 EContact类 318 13.5.4 EOutMessage类 320 13.6 mediator包 322 13.7 foundation包 329 13.7.1 FConnection类 329 13.7.2 FReader类 331 13.7.3 FWriter类 331 小结 332 第1次迭代问题和练习 332 第三部分 软件重构与用户界面设计 第14章 第2次迭代需求与对象模型 334 14.1 用例模型 334 14.2 用例文档 335 14.2.1 概要描述、前置条件和后置条件 335 14.2.2 基本流程 336 14.2.3 子流程 337 14.2.4 异常流程 340 14.3 概念类和关系表 341 14.4 补充规格说明 342 小结 343 复习题 343 第15章 体系结构重构 344 15.1 重构的目标代码 344 15.2 重构方法 345 15.2.1 提取类 345 15.2.2 方法归类 346 15.2.3 提取接口 347 15.3 重构模式 349 15.3.1 标识映射模式 349 15.3.2 数据映射器 350 15.3.3 可替换的数据映射器策略 353 15.3.4 延迟加载 355 15.3.5 工作单元 362 15.4 重构后的类模型 363 小结 365 复习题 365 讨论题 365 案例分析题 366 解答题 366 第16章 用户界面设计与编程 367 16.1 用户界面设计准则 367 16.1.1 用户控制 368 16.1.2 界面一致性 369 16.1.3 界面容错性 369 16.1.4 界面可适应性 370 16.2 用户界面组件 370 16.2.1 容器 371 16.2.2 菜单 375 16.2.3 控件 376 16.3 用户界面事件处理 378 16.4 模式与用户界面 381 16.4.1 观察者模式 381 16.4.2 装饰模式 383 16.4.3 责任链模式 383 16.4.4 命令模式 384 16.5 邮件管理的用户界面 385 小结 388 复习题 389 解答题 390 第17章 基于Web的用户界面的设计与编程 391 17.1 Web客户端层可用的技术 392 17.1.1 基本HTML 392 17.1.2 脚本语言 394 17.1.3 applet:轻量级和重量级 395 17.2 Web服务器层可用的技术 399 17.2.1 servlet 399 17.2.2 JSP 401 17.3 无状态因特网系统上的事务 404 17.4 模式与Web 406 17.4.1 观察者模式 407 17.4.2 组合模式 407 17.4.3 工厂方法模式 408 17.4.4 策略模式 408 17.4.5 装饰模式 409 17.4.6 模型-视图-控制器模式 409 17.4.7 前端控制器 410 17.4.8 JSP标签复用 410 17.4.9 控制解耦:Struts 414 17.5 电子邮件管理系统的servlet实现 415 小结 420 复习题 421 解答题 421 第18章 第2次迭代代码评注 422 18.1 代码概览 422 18.2 acquaintance包 423 18.3 presentation包 424 18.3.1 PWindow类 425 18.3.2 PMessageDetailWindow类 430 18.3.3 PMessageTableModel类 432 18.3.4 PDisplayList类 435 18.3.5 PDisplayList.Filter类 437 18.4 control包 438 18.4.1 CAdmin类 438 18.4.2 CMsgSeeker类 439 18.5 entity包 440 18.6 mediator包 443 18.6.1 MModerator类 443 18.6.2 MDataMapper类 444 18.7 表示层:applet版本 449 18.8 表示层:Servlet版本 451 18.8.1 PEMS类 451 18.8.2 PEMSEdit类 457 小结 458 第2次迭代的问题与练习 459 第四部分 数据工程与业务组件 第19章 第3次迭代需求与对象模型 465 19.1 用例模型 465 19.2 用例文档 466 19.2.1 概要描述、前置条件和后置条件 466 19.2.2 基本流程 467 19.2.3 子流程 468 19.2.4 异常流程 474 19.3 概念类和关系表 475 19.4 补充规格说明 477 19.5 数据库规格说明 478 小结 479 复习题 480 第20章 安全性与完整性 481 20.1 安全性设计 481 20.1.1 自主授权 482 20.1.2 强制授权 489 20.1.3 企业级授权 490 20.2 设计完整性 492 20.2.1 空值与默认值约束 493 20.2.2 域与check约束 493 20.2.3 唯一键与主键 494 20.2.4 外键 495 20.2.5 触发器 496 20.3 电子邮件管理系统的安全性与完整性 500 20.3.1 电子邮件管理系统的安全性 500 20.3.2 电子邮件管理系统的完整性 507 小结 509 复习题 509 解答题 510 第21章 事务与并发 511 21.1 系统事务的并发性 512 21.1.1 ACID特性 512 21.1.2 隔离级别 513 21.1.3 锁模式和级别 514 21.1.4 事务模型 515 21.1.5 并发控制模式 517 21.2 业务事务中的并发性 519 21.2.1 业务事务执行语境 519 21.2.2 业务事务和组件技术 520 21.2.3 跨层的事务服务 520 21.2.4 离线并发模式 524 21.3 电子邮件管理系统中的事务和并发 527 21.3.1 单层事务模型 527 21.3.2 工作单元和事务支持 528 小结 529 复习题 530 解答题 531 第22章 业务组件 532 22.1 企业级JavaBean 532 22.1.1 EJB基础 534 22.1.2 实体Bean 536 22.1.3 会话Bean 540 22.2 Java业务组件 541 22.2.1 创建实体组件 541 22.2.2 创建视图组件 544 22.2.3 创建一个应用模块 545 小结 546 复习题 547 第23章 第3次迭代代码评注 548 23.1 代码概览 548 23.2 acquaintance包 548 23.3 presentation包 550 23.3.1 PWindow类 550 23.3.2 PTableWindow类 561 23.4 control包 564 23.5 entity包 565 23.6 mediator包 568 23.6.1 MModerator类 568 23.6.2 MDataMapper类 572 23.6.3 MUnitOfWork类 577 23.7 foundation包 582 23.7.1 FConnection中的事务 582 23.7.2 执行FWriter中的语句 583 23.7.3 在FReader中查询数据库 584 23.8 数据库代码 585 23.8.1 Ref Cursor结果集 585 23.8.2 检索邮件 585 23.8.3 检索部门的邮件 586 23.8.4 删除一个邮件 587 23.8.5 创建一个邮件 588 23.8.6 报表生成 589 23.8.7 OutMessage表上的触发器 591 小结 592 第3次迭代的问题和练习 593 参考文献 594 索引 598 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。