
| 王雷,男,1969年生,博士。北京航空航天大学计算机科学与工程系副教授,从事软件工程、过程工程和系统软件等方面的研究工作。曾获部级科技进步二等奖、三等奖各一项。 张莉,女,1968年生,博士。北京航空航天大学计算机科学与工程系教授,软件工程研究所副所长。主要从事软件工程、过程工程、企业/软件建模等的研究。1996年博士学位论文被评为北京计算机学会第三届博士优秀学位论文,1998~2000年任863/CIMS石化行业专家组成员,2001年入选北京市科技新星计划,2001年获得“中.. << 查看详细 |
| 第1章 引言1 1.1 用例是什么(梗概)1 用例1 通过万维网购买股票2 用例2 汽车交通事故索赔3 用例3 对运到的包装箱进行登记4 1.2 你的用例不能作为我的用例5 用例4 买东西(非正式版本)7 用例5 买东西(完整正式版本)7 ◆ steve adolph 在新领域中“发现”需求10 1.3 需求和用例11 图1-1 “轮辐和轮轴”需求模型12 1.3.1 用例作为项目连接结构13 1.4 用例的增值点13 1.5 合理安排你的精力14 1.6 先用一个系统使用叙述热身15 1.7 练习16 第一部分 用例体部分 第2章 用例是规范行为的契约19 2.1 具有目标的执行者之间的交互19 2.1.1 执行者具有目标19 .图2-1 一个具有目标的执行者请求另一个 执行者履行职责19 2.1.2 目标可能失败20 2.1.3 交互是复合的21 2.1.4 用例聚集场景23 图2-2 条形裤:成功场景和失败场景23 图2-3 条形裤表现子目标24 2.2 具有利益的项目相关人员之间的契约24 图2-4 sud为主执行者提供服务,同时维护 幕后项目相关人员的利益25 2.3 图形模型25 图2-5 执行者和项目相关人员26 图2-6 行为27 图2-7 用例是职责的激发者27 图2-8 作为组合的交互27 第3章 范围28 表3-1 “内/外”列表28 3.1 功能范围28 3.1.1 执行者-目标列表29 表3-2 执行者-目标列表的示例29 3.1.2 用例简述29 表3-3 用例简述的示例30 3.2 设计范围30 图3-1 设计范围的大小是任意的31 ◆ 一个简短而真实的故事31 3.2.1 用图标来突出设计范围32 3.2.2 设计范围示例32 (1) 企业—系统的范围32 用例6 增加新服务(企业)33 用例7 增加新服务(acura)33 (2) 一个应用程序对应多台计算机34 用例8 输入和更新请求(联合系 统)34 用例9 添加新服务(进入acura)34 用例10 通知新服务请求(bsso 中)35 用例11 更新服务请求(bsso 中)35 用例12 通知更新后的服务请 求(acura中)35 3. 基本用例35 图3-2 acura-bsso的用例图36 图3-3 acura-bsso的组合用例图36 用例13 资源的串行存取37 用例14 实施资源锁转换策略38 用例15 实施存取兼容性策略38 用例16 实施存取选择策略39 用例17 令服务客户等待获得资源存取 权限39 3.3 最外层用例40 3.4 使用范围确定的工作产品41 3.5 练习42 第4章 项目相关人员和执行者43 4.1 项目相关人员43 ◆ 一个简短而真实的故事43 4.2 主执行者44 4.2.1 主执行者为什么有时是不重要的 (而有时又是重要的)44 4.2.2 执行者和角色46 4.2.3 刻画主执行者的特点47 表4-1 执行者概况表的示例47 4.3 辅助执行者47 4.4 被讨论系统48 4.5 内部执行者和白盒用例48 4.6 练习48 第5章 三个命名的目标层次50 图5-1 用例层次50 5.1 用户目标(蓝色,海平面)51 ◆ 一个简短而真实的故事52 5.1.1 蓝色的两个层次52 5.2 概要层次(白色,云朵,风筝)52 用例18 操作保险单+53 5.2.1 重温最外层用例的内容53 5.3 子功能(靛青色/黑色,海平面以下 /蛤)54 5.3.1 目标层次总结54 5.4 利用图标来突出目标层次55 5.5 找出正确的目标层55 5.5.1 找出用户目标56 5.5.2 提升和降低目标层次56 图5-2 通过问“为什么”的问题来转换 层次56 5.6 一个较长的编写实例:“处理申请”的多 层次示范57 用例19 处理申请(业务)58 用例20 评估工作补偿申请59 用例21 处理申请(系统)+60 用例22 损失登记62 用例23 查找无论什么(问题陈 述)65 5.7 练习65 第6章 前置条件、触发事件和保证66 6.1 前置条件66 6.2 最小保证68 6.3 成功保证68 6.4 触发事件69 6.5 练习69 第7章 场景和步骤71 7.1 主成功场景71 7.1.1 常见的环境结构71 7.1.2 场景主体72 7.2 执行步骤73 7.2.1 准则73 准则1:使用简单的语法73 准则2:明确地写出“谁控制球”73 准则3:从俯视的角度来编写用例74 准则4:显示过程向前推移74 准则5:显示执行者的意图而不是动作75 准则6:包含“合理”的活动集76 图7-1 一个事务由四个部分组成76 准则7:“确认”而不是“检查是否”77 准则8:可选择地提及时间限制78 准则9:习惯用语:“用户让系统a与系统b 交互”78 准则10:习惯用语:“循环执行步骤x到y, 直到条件满足”78 7.2.2 编号或不编号79 7.3 练习80 第8章 扩展81 8.1 扩展的基础81 8.2 扩展条件82 8.2.1 集中讨论所有可能的失败和可选择的 过程83 准则11:用“检测到什么”的方式来编写 条件83 ◆ 一个真实的、令人不快的小故事84 8.2.2 扩展列表的合理化85 8.2.3 逐层合并失败85 8.3 扩展处理86 准则12:条件处理的缩排方式88 8.3.1 失败的嵌套88 8.3.2 从扩展中创建新用例89 8.4 练习90 第9章 技术和数据的变化91 图9-1 在uml中使用具体化方式表现技术 变化92 第10章 连接用例93 10.1 子用例93 10.2 扩展用例93 图10-1 扩展用例的uml图94 10.2.1 什么时候使用扩展用例95 10.3 练习96 第11章 用例格式97 11.1 供选择的格式97 11.1.1 完整正式的用例格式97 用例24 完整正式的用例模板[名字]97 11.1.2 非正式的用例格式98 用例25 实际登录(非正式版本)98 11.1.3 单列表格格式98 表11-1 用例的单列表格格式98 11.1.4 双列表格格式99 表11-2 双列表格100 11.1.5 rup格式100 用例26 登记课程101 11.1.6 条件语句格式103 11.1.7 occam格式103 11.1.8 图形方式104 11.1.9 uml用例图104 11.2 影响用例书写格式的因素104 11.3 五种项目类型的标准107 11.3.1 需求了解阶段用例108 用例27 需求了解用例模板—oble a new biscum108 11.3.2 业务过程建模用例108 用例28 业务过程用例模板—symp a carstromming108 11.3.3 确定系统需求用例规模109 用例29 确定系统需求用例规模模板 —burble the tramling109 11.3.4 短期、高强度的项目用例110 用例30 高强度项目用例模板—kree a ranfath110 11.3.5 详细功能需求用例110 用例31 用例名称—nathorize a permion110 11.4 总结111 11.5 练习111 第二部分 经常讨论的主题 第12章 什么时候才算完成115 12.1 关于“正在完成”116 第13章 扩展到多个用例117 13.1 简单描述每个用例(低精度表示)117 13.2 创建用例簇117 第14章 crud和参数化用例119 14.1 crud用例119 用例32 管理报表用例119 用例33 存储报表用例121 14.2 参数化用例123 第15章 业务过程建模125 15.1 建模与设计125 15.1.1 从核心业务125 图15-1 核心业务黑盒126 图15-2 白盒用例中的新业务设计126 15.1.2 从业务过程到技术126 图15-3 白盒用例中的新业务设计 (又一次)127 图15-4 黑盒系统用例中的新业务过程127 15.1.3 从技术到业务过程128 15.2 连接业务用例和系统用例128 ◆ rusty walters: 业务建模和系统需求129 第16章 遗漏的需求131 16.1 数据需求的精度132 16.2 从用例到其他需求的交叉链接133 图16-1 翻新图1-1,“轮轴和轮辐”需求 模型133 第17章 用例在整个过程中的作用135 17.1 用例在项目组织中的作用135 17.1.1 通过用例标题进行组织135 表17-1 规划表的示例135 ◆ 一个真实的小故事136 17.1.2 跨版本处理用例136 17.1.3 交付完整场景137 ◆ 一个短而真实的集成实例137 17.2 从用例到任务或特征列表137 用例34 获得折扣139 表17-2 “获得折扣”任务列表139 17.3 从用例到设计140 ◆ 一个真实的小故事141 17.3.1 面向对象设计者特别注意141 17.4 从用例到用户界面设计142 17.5 从用例到测试用例143 用例35 订购商品,产生发货单(测试 用例)143 表17-3 主成功场景测试(好信用)144 表17-4 主成功场景测试(坏信用)144 17.6 实际用例编写144 17.6.1 分工合作过程144 17.6.2 用例需要的平均时间147 17.6.3 从大型团队中收集用例147 ◆ andy kraus:从庞大的不同地位的团队 那里收集用例147 第18章 用例概述和极端编程151 第19章 错误改正152 19.1 没有系统152 19.2 没有主执行者153 19.3 过多的用户接口细节153 19.4 过低的目标级别155 19.5 目标和内容不符156 19.6 用户接口描述过多的改进实例156 用例36 寻找一种解决方案—修改 前157 用例37 寻找可能的解决方案—修改 后161 第三部分 对忙于编写用例的人的提示 第20章 对每个用例的提示167 提示1:每个用例都是一篇散文167 提示2:使用例易于阅读167 提示3:仅用一种句型168 提示4:“包含”子用例168 提示5:谁控制球169 提示6:正确地得到目标层169 提示7:不考虑gui169 图20-1 问“为什么”来提高层次170 提示8:两个结局170 提示9:项目相关人员需要的保证171 提示10:前置条件172 提示11:对用例进行通过/失败测试172 表20-1 对用例进行通过/失败测试172 第21章 对用例集的提示174 提示12:一个不断展开的故事174 提示13:业务范围和系统范围174 提示14:核心价值和变化175 提示15:用例集中的质量问题177 第22章 处理用例的提示178 提示16:仅仅是第3章(第4章在哪儿呢?)178 提示17:首先向广度上努力178 图22-1 工作随着细化而增加178 提示18:12步秘诀179 提示19:认识错误的代价180 提示20:喜欢蓝色牛仔服180 ◆ 一个真实的小故事180 提示21:处理失败情况181 提示22:前期和后期的工作标题181 提示23:执行者扮演角色181 提示24:大的图画恶作剧182 图22-2 “妈妈,我想回家。” 182 图22-3 椭圆图形式的语境图183 表22-1 语境图的执行者-目标列表183 提示25:大型工具的争论184 提示26:使用标题和简介的项目计划185 附 录 附录a uml的用例189 a.1 椭圆和“小人”图符189 a.2 uml的包含关系189 图a-1 包含关系的画法190 准则13:将高层目标画得高一点190 a.3 uml的扩展关系190 图a-2 扩展关系的画法191 准则14:将扩展用例画得低一点191 准则15:使用不同形状的箭头191 a.3.1 正确地使用扩展关系192 图a-3 扩展一个基用例的三个中断 用例192 a.3.2 扩展点192 a.4 uml的泛化关系193 a.4.1 正确地使用泛化关系193 图a-4 泛化关系的画法194 准则16:将泛化目标画得高一点194 a.4.2 泛化的危害194 图a-5 泛化的危害—终止大交易195 图a-6 改正后的终止大交易195 a.5 从属用例与子用例195 a.6 用例图的画法196 准则17:语境图中的用户目标196 准则18:将支持执行者放在右边196 a.7 代之以编写基于文本的用例196 附录b 部分练习题答案198 第3章练习题198 练习3-1198 练习3-2198 图b-1 atm的设计范围198 第4章练习题198 练习4-2198 练习4-3199 第5章练习题199 练习5-1199 练习5-2200 第6章练习题200 练习6-1200 练习6-4200 第7章练习题200 练习7-1200 练习7-2201 练习7-4201 用例38 使用订单处理系统202 第8章练习题202 练习8-1202 练习8-5203 用例39 通过万维网购买 股票203 第11章练习题204 练习11-1204 用例40 执行清洁火花塞 服务204 附录c 术语表205 主要术语205 用例类型206 图形207 附录d 参考文献208 本书参考图书目录208 本书参考文章目录208 有用的在线资源209 索引210 |
商品评论(0条)