本书主要面向IT专业领域的大学一二年级本科学生,将UML符号和软件开发的方法协调融合起来,进行从整个项目概念到测试、系统配置和强化方面的介绍,这在其他同类书籍中是很少见的。
对于那些没有UML知识并且在IT系统和软件开发方面的能力稍显不足的IT管理者和开发人员来说,本书将会对入门很有帮助。 本书包含非常广泛的例子,这是我读一本书时所喜欢的,也是我在大学中和商业培训中的学生们所喜欢的。书中有一些例子遍布各个章节,并且在附录中有一个完整的实例。
本书是给出了以UML作为建模语言进行软件开发的过程指导。书中紧密结合UML的符号与具体的软件开发方法,通过一个实例,贯穿从整体构想到测试、发布及升级的项目全过程。以一家拥有多元化业务流程的石油公司ICANDO为例,具体讲述了软件开发的整个流程。
本书的各部分内容包括引言和实例研究,IT项目的开端、组织和管理,分析,构架和设计,构造、测试与部署,以及总结。在最后,提供了一个颇具代表性的完整实例。 本书的实用性与可读性强,实例生动有趣,十分有助于读者学习和理解。本书可作为高等学校统一建模语言课程的教材,也可作为IT行业管理和开发人员的参考书和使用指南。
主要网站和参考资料 全套讲稿的辅助资料,包括幻灯片、拓展练习和例子,可以从下面的网址获得: http://www.palgrave.com/science/computing/lunn/
第一部分 引言和实例研究
第1章 引言
1.1 目标
1.2 组织机构
1.3 软件开发过程
1.4 构架和设计
1.5 符号和统一建模语言
1.6 实例研究
1.7 小结
第2章 建模和符号--UML
2.1 面向对象的软件开发
2.2 UML
2.3 小结
第3章 实例研究:ICANDO石油
3.1 ICANDO 石油
3.2 ICANDO化学制品订货
3.3 ICANDO储站安全
3.4 ICANDO零售汽油促销
3.5 ICANDO零售系统
3.6 ICANDO石油交易
第二部分 IT项目的开端. 组织和管理
第4章 项目概念和开端
4.1 项目中的项目相关者
4.2 目标
4.3 基础设施
4.4 风险
4.5 有用的分析工具
4.6 正确的项目开端
4.7 ICANDO化学制品订货
4.8 ICANDO储站安全
4.9 ICANDO零售汽油促销
第5章 软件开发生命周期
5.1 软件开发生命周期的阶段
5.2 瀑布法
5.3 迭代法
5.4 项目管理
5.5 ICANDO化学制品订货
5.6 ICANDO储站安全
5.7 ICANDO零售汽油促销
第6章 开发过程管理
6.1 组织机构类型
6.2 指导小组
6.3 项目管理
6.4 其他角色
6.5 项目失败的原因
6.6 风险
6.7 计划
6.8 管理迭代
6.9 ICANDO 化学制品订货
6.10 ICANDO储站安全
6.11 ICANDO零售汽油促销
第7章 成本效益模型
7.1 资本投入的回报
7.2 确定成本
7.3 确定成本缩减
7.4 确定收入影响
7.5 确定资本影响
7.6 现金流模型和成本收益
7.7 一些警告
7.8 ICANDO化学制品订货
7.9 ICANDO储站安全
7.10 ICANDO零售汽油促销
第三部分 分 析
第8章 业务建模
8.1 理解业务过程的重要性
8.2 建立业务过程图
8.3 业务剧本分析
8.4 使用活动图进行业务建模
8.5 过程目录
8.6 业务对象
8.7 初步状态图建模
8.8 统一过程
8.9 业务建模的深层模型与符号
8.10 ICANDO化学制品订货
8.11 ICANDO储站安全
8.12 ICANDO零售汽油促销
第9章 需求分析
9.1 什么是UML用例模型
9.2 非功能性需求
9.3 描述用例
9.4 构造原型
9.5 需求分析的输出
9.6 ICANDO化学制品订货
9.7 ICANDO储站安全系统
9.8 ICANDO零售汽油促销
第10章 购买. 构建或修改
10.1 包及包的采购
10.2 软件打包. 确定范围和差异分析
10.3 现有软件. 确定范围和差距分析
10.4 ICANDO化学制品订货--RFI
10.5 ICANDO化学制品--RFT
第11章 对象概念
11.1 对象
11.2 封装
11.3 多态性
11.4 关系
11.5 继承
11.6 聚合
11.7 对象模型与类图
11.8 ICANDO 储站安全
第12章 系统分析
12.1 域对象
12.2 顺序图
12.3 协同图
12.4 类图
12.5 用户接口
12.6 状态图
12.7 "棕地"分析
12.8 包强化分析
12.9 系统分析的本质
12.10 分析模型的状况
12.11 ICANDO化学制品订货
12.12 ICANDO 储站安全
12.13 ICANDO零售汽油促销
第四部分 构架和设计
第13章 设计
13.1 对象
13.2 顺序图
13.3 协同图
13.4 操作规范
13.5 用户接口
13.6 组件
13.7 重用
13.8 ICANDO化学制品订货
13.9 ICANDO 储站安全
13.10 ICANDO零售汽油促销
13.11 小结
第14章 数据库设计
14.1 实体关系图
14.2 对象的数据库实现和规范化
14.3 存储对象和关系
14.4 数据库查询
14.5 规范化
14.6 事务. 日志和恢复
14.7 ICANDO 化学制品订货
14.8 ICANDO 储站安全
14.9 ICANDO零售汽油促销
第15章 构架
15.1 现代技术构架
15.2 开发方法和构架
15.3 开发构架
15.4 ICANDO 化学制品订货
15.5 ICANDO储站安全
15.6 ICANDO零售汽油促销
第五部分 构造. 测试与部署
第16章 构造
16.1 构造的组织
16.2 用户接口
16.3 程序与应用逻辑
16.4 数据库
16.5 组件
16.6 异常处理
16.7 集成
16.8 小结
第17章 测试
17.1 测试需求
17.2 测试分析
17.3 测试设计
17.4 代码的单元测试
17.5 系统测试
17.6 非功能性测试
17.7 用户确认测试
17.8 beta测试
17.9 调试和处理反馈
17.10 ICANDO化学制品订货
17.11 ICANDO储站安全
17.12 ICANDO零售汽油促销
第18章 部署. 支持与强化
18.1 文档
18.2 培训
18.3 数据转储
18.4 beta发布
18.5 部署策略
18.6 风险管理
18.7 支持与强化
18.8 小结
第六部分 总结
第19章 旅程终点
19.1 CASE工具
19.2 文档管理
19.3 方法学
19.4 对象约束语言
19.5 小结
第20章 习题答案
第21章 UML符号总结
21.1 活动图
21.2 用例图
21.3 类图
21.4 状态图
21.5 顺序图
21.6 协同图
21.7 组件图
第22章 实例--特鞋公司
22.1 特鞋公司
22.2 项目开端
22.3 管理过程
22.4 业务建模
22.5 技术构架
22.6 成本效益
22.7 需求分析
22.8 系统分析
22.9 设计
22.10 实现
22.11 测试
22.12 项目开发
22.13 总结
肯·路恩(Ken Lunn), 1976年从谢菲尔德大学(Sheffield University)毕业, 并于1983年在Keele大学被授予分布式计算博士学位. 他致力于研究和开发工作, 先后在Air Products Ltd, Systime Computers Ltd, Shell International Petroleum, 以及Ventura(Next plc的一部分)公司工作. 他同时担任Bradford 和Liverpool大学的学术顾问, 现在是Huddersfield大学信息系统的主要讲师. 他经常在UML和面向对象设计方面提供训练和咨询服务, 并且为蓝筹股机构做分析工作. 他与Simon Bennett 和John Skelton共同编著了当今最畅销的UML方面的著作之一"Schaum誷 Outline of UML". 目前, 他正致力于领导电子商务应用方面的研究与教学.
计算机系统的开发不啻为伟大的现代化探险. 现存的称为雨林的丛林, 是自然资源的保护主义者出没的地方, 而不再是猎人涉猎冒险的天下了. 西装革履的生意人, 往往能经常飞越北极圈上空, 他们漠然地看着格陵兰岛, 已没有了新鲜的感觉. 伟大的建筑奇观也已很少能吸引匆忙赶路的旅行者. 从21 世纪开始, 自然世界看起来空间变得更小, 即使是对珠穆朗玛峰的征服和伟大的极地探险, 似乎也是微不足道的了.
因此, 计算机和软件的人造世界似乎成为了人类发挥他们想像力的地方. 因为, 自然世界看起来正在我们的想像中慢慢缩小, 而虚拟世界则不断扩张. 并且, 就在这里, 人们消耗了太多的热情与精力. 现代世界的时间与精力非常集中地倾注在信息技术方面.
这并不像听起来那么富于幻想和有诗意. 在19世纪, 工程上的伟大创造引发了公众的想像力. 历史表明, 今天的计算机世界先驱者们经历了与那时相同的成功与灾难, 区分了英雄与凡人, 享有了名誉与财富或得到了耻辱与损失. 这并不是说, 仅仅出于一种模式上的重复, 我们就应该漠视那些正在发生的事情. 即使工程师们的工作在今天看来平淡无奇, 但是, 如果没有他们两个世纪前努力建造出来的铁路与公路, 这个世界将会很困苦. 总有一天, 信息技术对大多数人也会像今天的土木工程学一样, 变得索然无味. 虽然那一天还很遥远, 但是, 不要踌躇徘徊, 让我们加入到探索者的队伍中来.
如今, 有很多热衷于计算机的人认为技术的使用没有限制, 因而生活在连环画式的幻想当中. 他们试图把我们的大脑与因特网相连, 让我们的冰箱自己购物, 也有愤世嫉俗的人, 认为那些劝诱我们接纳的新事物仅仅是一些虚幻的泡沫, 更有一些悲观主义者看到的只有灾难. 所有这些更多的是与心理因素有关, 而不仅仅是技术. 每一种新的运动都有着类似的发展模式. 毫无疑问IT产业有一天将会变得单调, 但在今天, 它仍然富有活力且令人兴奋. 除此之外, 也同样有着提倡者和反对者.
IT业的一系列成功帮你消除了烦恼. IT应用围绕在你的身边, 你可能在因特网上买到本书, 即使是在书店里购买本书, 也几乎肯定要用到计算机系统来记录这次交易. 在今天, 大家都很难离开计算机系统. 事实上, 你在用任何手段购买本书时, 已经成为了IT应用的一个支持者. 除非你是一个破坏分子, 希望以此作为现代化衰落的例证, 并把这本书在大街上烧掉. 同样, 列举IT失败的冗长记录也是没什么意义的. 每一个计算机的专业职员都有着不幸的经历, 并且他们很乐于去讲述. 任何一个计算机系统的开发都是有风险的, 风险可能会导致失败, 但是, 最大的风险却是不去冒这种风险.
这是我们切入本书的关键. 开发一个有实际意义的计算机系统需要很大的努力, 有很多条路通向这片现代化的丛林, 冒险者可能会被蛇咬到或者被老虎追逐, 一些人会被吃掉. 今天, 许多IT项目正是由这样一些人组成, 他们只有指南针. 大砍刀和一些由售货员胡乱提供的粗糙地图这样一些资源. 近25年来, 我参与了大量IT系统的研究和开发. 我有着自己不幸的创伤以及成功的经历, 忍受了太多不仅仅是我所拥有的不切实际的妄想, 也表达了我自己的一些狂妄的想法. 在那个时候, 我已经有了一些对丛林全景的认识, 并且理解了在那里听到的一些奇怪声音的意义. 我虽然不是最成功的冒险者, 但是, 我却幸存下来得以讲述我的故事.
在1973年, 我用Fortran语言和打孔机写出了我的第一段计算机程序. 在攻读数学学位时, 我有幸参加当时最好的编程实践, 并且受到了当时伟大的专家Dijkstra的指导, 学习了Algol语言和逐步求精方法. 在那个时候, 我认为自己知道所有与编写计算机程序有关的事情. 1977年, 我使用Cobol语言开始了我的第一份程序员工作, 也第一次知道自己懂得的还太少. 当从Jackson的书中自学了结构化编程后, 我就认为我的编程训练结束了. 1979年, 我开始攻读分布式计算博士学位, 更加发现自己知之甚少. 在随后的20多年时间里, 我致力于系统编程和人工智能应用方面的研究和开发, 以及大型系统开发的管理, 并且使用了几乎所有的计算机语言和操作系统. 在学习知识和技能的同时, 我需要学习的知识范围在不断扩大. 我期待着继续进步, 使得终究有一天我可以停止手头的工作, 拿起鱼竿和画具去享受久违的轻松.
我想告诉本书的初学者们一些我自己的探险感受, 给你们一些良方, 指明一条通往丛林的路. 这并不是惟一的路, 也不一定是最佳的路. 但是, 听了我的经验的人将会比单凭自己探索丛林要走得更远. 并且, 当他们自己或者和其他参与者们一起探索时, 将不会对所看到的事物感到惊讶. 我不能保证把所有的人都从虎口中救出, 但可以确信你们会在未来的事业中感到兴奋.
Ken Lunn
2002年6月
作者
肯·路恩(Ken Lunn), 1976年从谢菲尔德大学(Sheffield University)毕业, 并于1983年在Keele大学被授予分布式计算博士学位. 他致力于研究和开发工作, 先后在Air Products Ltd, Systime Computers Ltd, Shell International Petroleum, 以及Ventura(Next plc的一部分)公司工作. 他同时担任Bradford 和Liverpool大学的学术顾问, 现在是Huddersfield大学信息系统的主要讲师. 他经常在UML和面向对象设计方面提供训练和咨询服务, 并且为蓝筹股机构做分析工作. 他与Simon Bennett 和John Skelton共同编著了当今最畅销的UML方面的著作之一"Schaum誷 Outline of UML". 目前, 他正致力于领导电子商务应用方面的研究与教学.
目标读者
本书主要面向IT专业领域的大学一二年级本科学生, 将UML符号和软件开发的方法协调融合起来, 进行从整个项目概念到测试. 系统配置和强化方面的介绍, 这在其他同类书籍中是很少见的.
对于那些没有UML知识并且在IT系统和软件开发方面的能力稍显不足的IT管理者和开发人员来说, 本书将会对入门很有帮助.
本书包含非常广泛的例子, 这是我读一本书时所喜欢的, 也是我在大学中和商业培训中的学生们所喜欢的. 书中有一些例子遍布各个章节, 并且在附录中有一个完整的实例.
主要网站和参考资料
全套讲稿的辅助资料, 包括幻灯片. 拓展练习和例子, 可以从下面的网址获得:
http://www.palgrave.com/science/computing/lunn/