单元一 初识软件系统分析与设计 1
任务1.1 认识软件系统分析与设计 1
1.1.1 软件系统开发的上下文 1
1.1.2 软件系统开发生命周期概念与类型划分 2
1.1.3 软件系统开发方法与途径 6
习题1.1 11
任务1.2 初识建模工具软件 13
1.2.1 常用UML建模工具软件 13
1.2.2 面向对象建模软件Rational Rose基础概念 15
1.2.3 实训一 初识面向对象建模软件Rational Rose 16
课后做一做 22
单元二 软件项目管理 28
任务2.1 认识项目与项目管理 28
2.1.1 项目 28
2.1.2 项目管理 29
2.1.3 适应方法系统开发生命周期中的项目管理 30
习题2.1 31
任务2.2 典型项目管理技术和活动 31
2.2.1 PERT图与Gannt图 32
2.2.2 关键路径的确定 34
2.2.3 指导团队工作 35
2.2.4 监督和控制进展 35
2.2.5 评估项目结果和经验 38
习题2.2 39
任务2.3 实训二 用项目管理软件Microso Project开发项目进度表 40
课上训练 40
课后做一做 43
单元三 软件项目的启动与规划 44
任务3.1 项目启动原因与初始范围定义 44
3.1.1 项目的启动原因 44
3.1.2 项目规划阶段的活动 45
3.1.3 确定项目的初始范围——定义问题 45
习题3.1 49
任务3.2 实训三 开发“罚单处理系统”的用例清单与系统关联图(Visio绘制) 50
课上训练 50
课后做一做 53
任务3.3 项目进度表的制订 53
3.3.1 确定任务 54
3.3.2 估计任务工期 55
3.3.3 说明任务之间的依赖关系 56
3.3.4 项目调度 56
3.3.5 分配资源 57
习题3.3 58
任务3.4 实训四 用Microsoft Project开发“罚单处理系统”有资源配置的进度表 58
课上训练 58
课后做一做 60
任务3.5 项目可行性的确认 61
3.5.1 什么是可行性和可行性分析 61
3.5.2 可行性评价准则 62
单元四 系统功能需求建模 63
任务4.1 分析阶段的活动与系统需求 63
4.1.1 分析阶段的活动 63
4.1.2 业务过程重构与Zachman框架 64
4.1.3 系统需求 68
习题4.1 69
任务4.2 认识用例及用例图 71
4.2.1 面向对象的分析与分析模型 72
4.2.2 事件表 73
4.2.3 系统活动——用例/场景视图 73
习题4.2 77
任务4.3 实训五 “罚单处理系统”功能分析(1):系统事件表与用例图创建(Rational Rose绘制) 78
课上训练 78
课后做一做 81
任务4.4 用例描述形式、活动图和系统顺序图 81
4.4.1 用例描述 81
4.4.2 活动图 84
4.4.3 系统顺序图 88
习题4.4 92
任务4.5 实训六 “罚单处理系统”功能分析(2):用例详细描述、用例活动图和系统顺序图 93
课上训练 93
课后做一做 100
单元五 系统需处理事物的建模 101
任务5.1 认识问题域内的事物以及用E-R图记录事物的方法 101
5.1.1 问题域内的事物 101
5.1.2 实体关联图 105
习题5.1 108
任务5.2 实训七 “罚单处理系统”需处理事物分析:开发系统的E-R图(用Visio绘制) 109
课上训练 109
课后做一做 113
任务5.3 数据模型的分析与规范化 114
5.3.1 引入关联实体消除多对多关系 114
5.3.2 利用三个范式优化E-R图 115
习题5.3 117
任务5.4 使用分析类图记录问题域内的事物 118
5.4.1 类图 118
5.4.2 传统方法和面向对象方法的需求模型的区别 123
习题5.4 124
任务5.5 实训八 开发“罚单处理系统”分析类图(用Rational Rose绘制) 125
课上训练 125
课后做一做 128
单元六 可行性分析和系统方案建议 129
任务6.1 成本效益分析技术 129
6.1.1 系统将花多少钱 129
6.1.2 系统将提供什么收益 130
6.1.3 货币时间价值与成本效益比较 131
习题6.1 133
任务6.2 系统实施方案的确定与可行性分析 134
6.2.1 候选系统矩阵 134
6.2.2 可行性分析矩阵 136
任务6.3 实训九 “罚单处理系统”的可行性分析与方案建议 138
课上训练 138
课后做一做 139
单元七 面向对象系统的设计方法 140
任务7.1 设计阶段主要任务和系统设计架构分类 140
7.1.1 系统设计阶段的总体认识(与分析阶段对比) 140
7.1.2 系统设计阶段的主要任务 140
7.1.3 应用架构 142
习题7.1 147
任务7.2 认识UML交互图 148
7.2.1 交互图及其类型划分 148
7.2.2 顺序图的表示法 149
7.2.3 通信图的表示法 156
习题7.2 158
任务7.3 实训十 使用Rational Rose绘制UML交互图 160
课上训练 160
课后做一做 164
任务7.4 认识UML设计类图 164
7.4.1 基本设计类图的构造 165
7.4.2 UML设计类图的属性表示方式 166
7.4.3 UML设计类图中的操作/方法 167
7.4.4 UML设计类图中常用符号含义 168
习题7.4 171
任务7.5 实训十一 用Rational Rose逆向工程与绘制UML设计类图 174
课上训练 174
课后做一做 178
任务7.6 为类分配职责——GRASP设计原则 179
7.6.1 对象设计与对象职责 180
7.6.2 依据GRASP模式分配责任 180
7.6.3 用例实现设计系统示例 186
习题7.6 188
任务7.7 可见性、初步设计类图与系统多层设计 188
7.7.1 可见性及其分类 189
7.7.2 可见性与初步设计类图 193
7.7.3 系统多层设计的顺序图表示 195
习题7.7 199
任务7.8 实训十二 “罚单处理系统”初步设计(用Rational Rose绘制所需模型) 199
课上训练 199
课后做一做 200
任务7.9 数据库设计及与数据库连接的设计 200
7.9.1 通常的设计方法 201
7.9.2 数据访问类 202
7.9.3 Java系统访问数据库的四种方式 203
习题7.9 204
任务7.10 实训十三 观察具有数据访问类的软件及代码与模型图的对应关系 205
课上训练 205
单元八 面向对象系统分析设计的细化 210
任务8.1 认识UML状态机图 210
8.1.1 状态机图的概念与分类 210
8.1.2 状态机图的开发与系统设计 211
习题8.1 212
任务8.2 实训十四 “罚单处理系统”对象状态的分析与设计 213
课上训练 213
课后做一做 216
任务8.3 认识用例图和类图的精化 216
8.3.1 关联的用例 217
8.3.2 领域模型的精化 219
习题8.3 223
附录A “房地产信息服务系统”案例 224
背景资料 224
实训十五 “房地产信息服务系统”需求分析建模 224
实训十六 “房地产信息服务系统”设计建模 225
参考文献 227