本书以一个典型的信息系统——酒店信息系统的开发为例,站在欠缺经验的新手的角度,从一开始懵头懵脑地了解业务,调研背景,策划分解,建立计划,到逐步思考Use Case,构建ER、DFD、面向对象UML模型,再到构思软件构架、实现系统界面,给出了各种思考案例。从这些来自真实案例的糊涂思考及相应图、表、文档的粗拙产生,再到分析、改进、提升的思考过程中,读者可以举一反三,避免重蹈覆辙,逐步理解、深化、悟透信息系统、软件工程的真实内涵,切实提高系统分析、软件开发的实际修养。全书将“前后一贯,左右顾盼”的理念贯穿开发活动的始终,十分有助于读者系统化一致化思考能力的提升。
目录
引言走入信息系统开发的“魔鬼”地带:从哪里开始1
第1章从这里开始——基于实践,编好系统开发计划5
1.1调查研究一下这是一个什么项目7
1.1.1了解一下这家酒店的背景7
1.1.2讨论清楚系统的目标9
1.1.3画一幅酒店组织架构图11
1.1.4重点是一定要研究清楚在信息系统支持下酒店运行的业务流程13
1.1.5画一幅系统的网络环境图15
1.2如何分解系统17
1.2.1把系统划分成几个子系统17
1.2.2明确每个子系统的功能19
1.2.3确定系统的软硬件配置21
1.3如何安排好项目计划23
1.3.1安排好时间:软件过程模型的实际应用与管理23目录
引言走入信息系统开发的“魔鬼”地带:从哪里开始1
第1章从这里开始——基于实践,编好系统开发计划5
1.1调查研究一下这是一个什么项目7
1.1.1了解一下这家酒店的背景7
1.1.2讨论清楚系统的目标9
1.1.3画一幅酒店组织架构图11
1.1.4重点是一定要研究清楚在信息系统支持下酒店运行的业务流程13
1.1.5画一幅系统的网络环境图15
1.2如何分解系统17
1.2.1把系统划分成几个子系统17
1.2.2明确每个子系统的功能19
1.2.3确定系统的软硬件配置21
1.3如何安排好项目计划23
1.3.1安排好时间:软件过程模型的实际应用与管理23
1.3.2安排好资金:为测试与维护留有余地——40-20-40原则28
1.3.3安排好人员:人件与风险管理30
1.4如何考虑知识产权问题32
1.4.1严谨制定开发合同:不要以为合同是虚的33
1.4.2具体确定利益分派:不要以为利益只是钱34
1.5如何编好系统开发计划书——计划书实例36
第2章从这里入手——观察实践,分析需求55
2.1从宏观上把握系统——系统Use Case图56
2.1.1在线预订Use Case图58
2.1.2前/后台系统Use Case图60
2.2从微观上明确概念——系统概念模型62
2.2.1系统E-R图62
2.2.2概念定义——数据表65
2.2.3概念定义——数据字典67
2.3从流程上明确需求——系统DFD图与相关IPO描述70
2.3.1全系统0层DFD70
2.3.2系统1层DFD72
2.3.3系统2层DFD74
2.3.4IPO描述75
第3章从这里深化——深入实践,建立UML模型77
3.1哪些是我系统中的对象——静态Class图79
3.1.1系统Class图80
3.1.2系统GUI类图83
3.2如何用这些对象实现我的系统——动态Sequence图85
3.2.1预订(Reservation)序列图87
3.2.2登记入住(CheckIn)序列图89
3.2.3退房结账(CheckOut)序列图91
3.3如何编好系统需求规范说明书——SRS实例93
第4章从这里构筑——围绕实践,设计系统架构与部件116
4.1如何考虑系统架构117
4.1.1以数据为中心的体系架构117
4.1.2分层体系架构118
4.1.3三层体系(C/S, B/S)架构119
4.1.4调用/返回体系架构120
4.1.5面向对象体系架构121
4.1.6面向对象与面向过程122
4.2如何组织对象部件——Package图124
4.3如何设计对象部件126
4.3.1预订Component图127
4.3.2客房Component设计128
4.3.3预订Activity图130
4.3.4客房State图132
4.3.5入住/退房 Swimlane图133
第5章哇,软件出来了——反复实践,实现系统136
5.1酒店网站首页的设计:注意全局风格的安排137
5.2客房预订的实现——关联预订的分析与设计142
5.3入住登记的实现——关联入住的分析与设计145
5.4退房收银的实现——关联退房的分析与设计147
5.5如何编好设计说明书——设计说明书实例150
第6章从这里解析——酒店薪资管理系统174
6.1背景175
6.2问题与需求分析175
6.3系统开发过程178
6.4薪资发放管理子系统180
6.5薪资分析管理子系统186
6.6阶段成效及全系统目标188
后记190
蔡智明博士,毕业于加拿大多伦多大学,现任澳门城市大学教授,同时任澳门软件协会理事长,长期从事计算机软件项目研究,主持过多个省部级项目研究,有很强的专业能力。