第四讲.初始化阶段Chapter4-7_第1页
第四讲.初始化阶段Chapter4-7_第2页
第四讲.初始化阶段Chapter4-7_第3页
第四讲.初始化阶段Chapter4-7_第4页
第四讲.初始化阶段Chapter4-7_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-252w案例简介案例简介w初始化阶段初始化阶段w需求概念需求概念w基于用例的功能性需求获取基于用例的功能性需求获取w非功能性需求非功能性需求上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-254wNextGen 销售终端销售终端(point-of-sale, POS) 系统系统wPOS系统是用来记录销售信息和处理支付的计算系统是用来记录销售信息和处理支付的计算机系统,它一般用于零售店机系统,它一般用于零售店上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-255Inter

2、faceSalePaymentLogPersistenceFacadeapplicationlogic anddomain objectlayertechnicalservices layerminor focusexplore how to connect toother layersprimary focus ofcase studyexplore how todesign objectssecondaryfocusexplore howto designobjects上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-256Iteration 1Iteration

3、2Iteration 3介绍与第一次迭代相介绍与第一次迭代相关的分析和设计技术关的分析和设计技术介绍其他的分析和设计技术介绍其他的分析和设计技术Likewise.上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-258w在项目启动前,我们需要回答下列问题在项目启动前,我们需要回答下列问题:n该项目的该项目的vision(设想,前景)(设想,前景) 和和business case(业务(业务案例)案例) ?n可行吗可行吗?n购买购买and/or 构造构造?n成本的大致估计成本的大致估计; 是是$10K-100K 或者几百万或者几百万?n我们需要继续还是停止我们需要继续还是

4、停止?上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-259w该阶段的目的不是定义所有的需求,而是做适当该阶段的目的不是定义所有的需求,而是做适当的调研(的调研(to do just enough investigation)w何谓何谓“适当的适当的”:n对新系统的整体目的和可行性形成一个合理的意见对新系统的整体目的和可行性形成一个合理的意见n确定是否值得深入研究确定是否值得深入研究上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2510w初始化阶段的主要目标为初始化阶段的主要目标为: n建立项目的软件范围和边界条件,包括一个操作建立项目的软

5、件范围和边界条件,包括一个操作“前前景景”,“接受准则接受准则”和产品中包含什么,不包含什么和产品中包含什么,不包含什么n确定核心的用例,这是系统运行的主要场景,它将决确定核心的用例,这是系统运行的主要场景,它将决定系统设计的方案定系统设计的方案n针对主要的场景,确定或者演示至少一个备选的系统针对主要的场景,确定或者演示至少一个备选的系统结构结构n对整个项目估计总成本和计划对整个项目估计总成本和计划 (更详细的估计将安排更详细的估计将安排在细化阶段中在细化阶段中) n估计可能的风险估计可能的风险 (不可预计性的来源)不可预计性的来源)n为项目准备支持环境为项目准备支持环境上海交通大学计算机科学

6、与工程系上海交通大学计算机科学与工程系2022-3-2511w前景和业务用例(前景和业务用例(Vision and Business Case)w用例模型(用例模型(Use-Case Model)w补充规格说明(补充规格说明(Supplementary Specification)w词汇表(词汇表(Glossary)w风险列表和风险管理计划(风险列表和风险管理计划(Risk List&Risk Management Plan)w原型和概念验证(原型和概念验证(Prototypes and Proof-of-concepts)w迭代计划(迭代计划(Iteration Plan)w阶段计划

7、和软件开发计划(阶段计划和软件开发计划(Phase Plan & Software Development Plan)w开发案例(开发案例(Development Case)上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2513w需求需求n每一个人都有需求每一个人都有需求n在不同的时间我们有不同的需求在不同的时间我们有不同的需求n需求驱动了软件过程需求驱动了软件过程w正式的定义正式的定义n“需求就是系统(更广义的说法是项目)必须提供的需求就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件能力和必须遵从的条件.上海交通大学计算机科学与工程系上海交通大

8、学计算机科学与工程系2022-3-2514w客户(客户(Client) 为开发付钱的人,将来是产品为开发付钱的人,将来是产品的拥有者的拥有者w顾客(顾客(Customer) 买商品化软件的人,或者买商品化软件的人,或者将来有发言权确定是否产品可以接受(开发产将来有发言权确定是否产品可以接受(开发产品)。可能与客户是同样的人品)。可能与客户是同样的人w涉众涉众 任何对系统的需求有直接或者间接影响的任何对系统的需求有直接或者间接影响的人人 参考参考: Mastering the Requirements Process, Robertson and Robertson上海交通大学计算机科学与工程系

9、上海交通大学计算机科学与工程系2022-3-2515w需求管理是一种系统化的方法:需求管理是一种系统化的方法: n获取,记载、组织和跟踪系统的需求获取,记载、组织和跟踪系统的需求n为客户和项目团队之间针对不断变化的需求为客户和项目团队之间针对不断变化的需求建立和维护协议建立和维护协议上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2516w功能需求功能需求n系统必须提供的服务的描述,系统应该如何响系统必须提供的服务的描述,系统应该如何响应特定的输入,系统在特定的情景下的行为应特定的输入,系统在特定的情景下的行为上海交通大学计算机科学与工程系上海交通大学计算机科学与工程

10、系2022-3-2517w例子例子n用户能够搜索所有的数据集合或者从中选择一部分进用户能够搜索所有的数据集合或者从中选择一部分进行搜索行搜索n系统需要为用户提供合适的浏览器从文档库中读取文系统需要为用户提供合适的浏览器从文档库中读取文档档n每一个订单需要分配一个唯一标识符,用户可以永久每一个订单需要分配一个唯一标识符,用户可以永久保存起来保存起来.上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2518w对系统提供服务或者功能的约束,如时间约束,对系统提供服务或者功能的约束,如时间约束,开发过程的约束,标准等等;开发过程的约束,标准等等;w许多需求是非功能性的,只能够

11、描述系统的属性许多需求是非功能性的,只能够描述系统的属性或者系统环境的属性或者系统环境的属性上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2519w例子例子n产品需求产品需求“It shall be possible for all necessary communication between the APSE and the user to be expressed in the standard Ada character set.”n组织需求组织需求“The system development process and deliverable documen

12、ts shall conform to the process and deliverables defined in XYZCo-SP-STAN-95”n外部需求外部需求“The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system”上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2520w另一种分类的方法是采用另一种分类的方法是采用FURP

13、S+ 模型模型 GRA92, 缩写缩写FURPS 描述了需求的主要类别:描述了需求的主要类别: nFunctionality nUsability nReliability nPerformance nSupportability 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2521w功能性功能性 n特性集(特性集(feature sets)n功能(功能(capabilities )n安全性(安全性(security )w可用性可用性n人性化因素人性化因素 (Related Concepts: User-Centered Design) n美学特性美学特性(aes

14、thetics )n用户接口的一致性(用户接口的一致性(consistency in the user interface )n在线和上下文相关的帮助(在线和上下文相关的帮助(online and context-sensitive help )n智能助手(智能助手(wizards and agents )n用户文档(用户文档(user documentation )n训练材料(训练材料(training materials )上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2522w可靠性可靠性n失效频率和严重性(失效频率和严重性(frequency and sev

15、erity of failure )n可恢复性(可恢复性(recoverability )n可预测性(可预测性(predictability )n精度(精度(accuracy )n平均失效时间(平均失效时间(mean time between failure (MTBF) )w性能性能n速度(速度(speed )n效率(效率(efficiency )n可用性(可用性(availability )n精度(精度(accuracy )n吞吐量(吞吐量(throughput )n响应时间(响应时间(response time )n恢复时间(恢复时间(recovery time )n资源利用率(资源利用

16、率(resource usage )上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2523w可支持性可支持性n可测试性(可测试性(testability )n可扩展性(可扩展性(extensibility )n适应性(适应性(adaptability )n可维护性(可维护性(maintainability )n匹配性(匹配性(compatibility )n可配置性(可配置性(configurability )n可服务性(可服务性(serviceability )n可安装性(可安装性(installability )n本地化,国际化本地化,国际化localizabi

17、lity (internationalization) 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2524wFURPS+中的中的“+” 号意味着还有一些其号意味着还有一些其他的约束,如他的约束,如: n设计约束(设计约束(design constraints )n实现需求实现需求implementation requirements n接口需求接口需求interface requirements n物理需求物理需求physical requirementsn包装包装Packagingn授权等等授权等等Legal-licensing and so forth上海交

18、通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2526w如何识别和编写用例如何识别和编写用例w使用摘要、非正式和详述等用例形式的基本式样使用摘要、非正式和详述等用例形式的基本式样w将测试应用于确定适当的用例上将测试应用于确定适当的用例上w将用例分析与迭代开发联系起来将用例分析与迭代开发联系起来上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2527w人类的行动主要是由目标驱动的人类的行动主要是由目标驱动的. 对于一个图书馆信息系统,某些目标为对于一个图书馆信息系统,某些目标为:n每一本书的请求都必须最终实现每一本书的请求都必须最终实现n新系统必须

19、高度可靠新系统必须高度可靠w通过做某些事情或者避免(不做)某些事情来实通过做某些事情或者避免(不做)某些事情来实现现w系统构造时,我们必须记住我们的目标系统构造时,我们必须记住我们的目标 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2528w获取目标并不容易获取目标并不容易n真正的需要是什么真正的需要是什么n不同的细节层次不同的细节层次n无法控制的复杂性无法控制的复杂性w存在许多方法存在许多方法n越简单的往往应用越广越简单的往往应用越广w通过讲述如何利用系统满足不同涉众的目标的故通过讲述如何利用系统满足不同涉众的目标的故事来记录功能需求事来记录功能需求-cases

20、 of use上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2529w“一组用例的实例,其中每个实例都是系统执行一组用例的实例,其中每个实例都是系统执行的一系列活动,这些活动产生了对每个参与者而的一系列活动,这些活动产生了对每个参与者而言可观察的返回值言可观察的返回值”(RUP)w描述了从参与者(描述了从参与者(Actor)角度看系统(黑盒子)角度看系统(黑盒子)做了什么做了什么 WHATw用例模型本身不是面向对象建模技术用例模型本身不是面向对象建模技术上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2530w用例的好处用例的好处n从用户的

21、角度获取操作性需求从用户的角度获取操作性需求n对系统的功能进行清晰而一致的描述对系统的功能进行清晰而一致的描述n系统测试的基础系统测试的基础n提供了从功能需求跟踪到系统中真正的类和操作的能提供了从功能需求跟踪到系统中真正的类和操作的能力力上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2531w理解理解Use Casesn参与者参与者Actor: 是某些具有行为的事物,可以是人(由是某些具有行为的事物,可以是人(由角色标识),计算机系统或组织,例如收银员角色标识),计算机系统或组织,例如收银员n场景场景Scenario: 参与者和系统之间的一系列特定的活动参与者和系统

22、之间的一系列特定的活动和交互,也称为用例实例。场景是使用系统的一个特和交互,也称为用例实例。场景是使用系统的一个特定情节或用例的一条执行路径。定情节或用例的一条执行路径。n用例用例Use Case: 一组相关的成功和失败场景集合,用一组相关的成功和失败场景集合,用来描述参与者如何使用系统实现其目标来描述参与者如何使用系统实现其目标上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2532w处理退货处理退货-非正式格式非正式格式n主成功场景主成功场景A customer arrives at a checkout with items to return. The cas

23、hier uses the POS system to record each returned itemn其它场景其它场景:If they paid by credit, and the reimbursement transaction to their credit account is rejected, inform the customer and pay them with cashIf the item identifier is not found in the system, notify the Cashier and suggest manual entry of th

24、e identifier codeIf the system detects failure to communicate with external accounting system上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2533Use Case: 购买产品1.Customer browsers through catalog and selects items to buy2.Customer goes to check out3.Customer fills in shipping information (address; next-day or 3

25、-day delivery)4.System presents full pricing information, including shipping5.Customer fills in credit card information6.System authorizes purchase7.System confirms sale immediately8.System sends confirming email to customerAlternative: 授权失败6a. At step 6, system fails to authorize credit purchaseAll

26、ow customer to re-enter credit card information and re-tryAlternative: 会员会员3a. System displays current shipping information, pricing information,and last four digits of credit card information3b. Customer may accept or override these defaultsReturn to primary scenario at step 6上海交通大学计算机科学与工程系上海交通大学计

27、算机科学与工程系2022-3-2534w思考思考n用例是相关的成功或者失败的场景的集合用例是相关的成功或者失败的场景的集合“在在ATM机中输入用户机中输入用户ID 不能建模为单独的不能建模为单独的Use Case,因为无人使用系统仅仅为了输,因为无人使用系统仅仅为了输入入ID上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2535w用例是什么,不是什么用例是什么,不是什么n用例是需求,而且主要是功能需求,反映了系统将做用例是需求,而且主要是功能需求,反映了系统将做什么什么n用例是需求,而不是功能或者特征列表用例是需求,而不是功能或者特征列表n用例是文档,而不是图,用例

28、建模主要是写文字,而用例是文档,而不是图,用例建模主要是写文字,而不是画图不是画图上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2536w不同形式化程度不同形式化程度n摘要摘要n非正式非正式n详述详述w详述格式的例子,见详述格式的例子,见pp50-54(中译本),(中译本),pp68-72(英文版)(英文版)上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2537w章节内容章节内容n绪言绪言范围:系统用例,业务用例范围:系统用例,业务用例级别:用户目标级别,子功能级别(可被许多用例重复使用的)级别:用户目标级别,子功能级别(可被许多用例重复

29、使用的)主要角色主要角色涉众涉众前置条件和后置条件前置条件和后置条件n主成功场景和步骤(或基本流程)主成功场景和步骤(或基本流程)n扩展(或替代流程)扩展(或替代流程)n特殊需求:非功能性需求,质量属性或约束特殊需求:非功能性需求,质量属性或约束n技术和数据变元表:比如用户对如何实现系统的要求技术和数据变元表:比如用户对如何实现系统的要求上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2538w指南指南n以无界面约束的本质风格编写用例以无界面约束的本质风格编写用例发现目标的目标,可以拓宽我们的视野发现目标的目标,可以拓宽我们的视野What versus How Wha

30、t: 标识我自己并获得授权标识我自己并获得授权 Howl 通过对话框输入用户通过对话框输入用户ID和口令和口令l 生物识别生物识别il Smart Card指南:指南:“以本质风格编写用例,摒弃用户界面并关注参与者的意图以本质风格编写用例,摒弃用户界面并关注参与者的意图”“具体风格具体风格”需要在早期需求工作中避免需要在早期需求工作中避免上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2539wRecycle Items: The user uses this machine to automatically have all the return items (bo

31、ttles, cans, and crates) counted, and receives a receipt. The receipt is to be cashed at a cash register (machine).wAdd New Bottle Type: New kinds of bottles can be added to the machine by starting it in learning mode and inserting 5 samples just like when returning items. In this way, the machine c

32、an measure the bottles and learn to identify them. The manager specifies the refund value for the new bottle type.上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2540n编写简洁的用例编写简洁的用例n编写黑盒用例编写黑盒用例软件元素具有责任(软件元素具有责任(responsibility)n采用参与者和参与者目标的观点采用参与者和参与者目标的观点“对特定参与者而言具有价值的可观察的结果对特定参与者而言具有价值的可观察的结果”上海交通大学计算机科学与工程系

33、上海交通大学计算机科学与工程系2022-3-2542w选择系统边界选择系统边界w寻找主要参与者寻找主要参与者w为每个参与者确定他们的目标为每个参与者确定他们的目标w定义用例定义用例上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2543w系统边界描述了系统被包含在内的系统边界描述了系统被包含在内的“信封信封”w在许多情形下,系统边界是显而易见的。例如对在许多情形下,系统边界是显而易见的。例如对一个单个用户的运行在一个单个用户的运行在Microsoft Windows上的上的个人联系信息管理本,它的边界是很容易定的,个人联系信息管理本,它的边界是很容易定的,因为只有一个

34、用户,一个平台。因为只有一个用户,一个平台。.上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2544w选择系统边界选择系统边界w寻找主要参与者寻找主要参与者w为每个参与者确定他们的目标为每个参与者确定他们的目标w定义用例定义用例上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2545w参与者是与系统交换数据的实体。参与者可以使参与者是与系统交换数据的实体。参与者可以使用户,外部的硬件或者另外一个系统用户,外部的硬件或者另外一个系统上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2546w我们可以问一些代表性的问题来

35、找到参与者和目我们可以问一些代表性的问题来找到参与者和目标标w参与者的类型参与者的类型n主要的参与者主要的参与者Primary Actorsn支持参与者支持参与者Supporting Actorsn幕后参与者幕后参与者Offstage actorsw参与者参与者-活动列表活动列表n这似乎一个交互和叠代的过程这似乎一个交互和叠代的过程The focus of this stage上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2547w主要的参与者和用户目标依赖于系统的边界主要的参与者和用户目标依赖于系统的边界Goal: Process salesCashierCust

36、omerPOS SystemCheckout ServiceGoal: Buy itemsEnterprise Selling ThingsSales TaxAgencyGoal: Collecttaxes on salesSales ActivitySystemGoal: Analyze salesand performance data上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2548w选择系统边界选择系统边界w寻找主要参与者寻找主要参与者w为每个参与者确定他们的目标为每个参与者确定他们的目标w定义用例定义用例上海交通大学计算机科学与工程系上海交通大学计算机

37、科学与工程系2022-3-2549w一般而言,为每一个用户目标定义用例一般而言,为每一个用户目标定义用例n用例名称以动词开头用例名称以动词开头n将将CRUD (create, retrieve, update, delete)这些分散的这些分散的目标合并成一个目标合并成一个CRUD用例用例: Manage w定义用例需要交流和参与定义用例需要交流和参与n领域专家的参与非常重要领域专家的参与非常重要n迭代开发迭代开发上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2550w发现有效用例发现有效用例n用例的粒度问题用例的粒度问题大用例大用例我们的企业需要拓宽销售渠道我们的

38、企业需要拓宽销售渠道整个系统就只有一个用例整个系统就只有一个用例!小的用例小的用例输入口令输入口令系统中可能有成百上千个用例系统中可能有成百上千个用例!我们必须权衡我们必须权衡上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2551w经验方法经验方法n老板测试老板测试nEBP测试测试n规模测试规模测试上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2552w老板测试老板测试n老板是付钱的人老板是付钱的人n老板必须看到可量化的价值老板必须看到可量化的价值上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2553wEBP测

39、试测试nEBP用例用例对计算机应用的需求分析,关注于基本业务过程对计算机应用的需求分析,关注于基本业务过程( elementary business processes,EBPs)层面上的用例)层面上的用例依据持续时间,步骤,涉及到的人来定依据持续时间,步骤,涉及到的人来定n增加可见的或者可度量的业务价值增加可见的或者可度量的业务价值没有人仅仅想输入一个口令没有人仅仅想输入一个口令客户愿意为此付费吗客户愿意为此付费吗?上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2554w规模测试规模测试n用例通常应该包括多个步骤用例通常应该包括多个步骤n在详细描述的情形下,应该需

40、要在详细描述的情形下,应该需要3-10页文本页文本上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2555w分析分析n供应者合同进行协商供应者合同进行协商n处理退货处理退货n登陆登陆n在游戏板上移动棋子在游戏板上移动棋子上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2556w任何东西都有例外任何东西都有例外nEBP 原则也不是圣经原则也不是圣经n有些时候我们会把多个用例中的公共部分单独成为用例有些时候我们会把多个用例中的公共部分单独成为用例w目标与用例的关系目标与用例的关系n目标可以分解成不同层次目标可以分解成不同层次n用户目标用户目标EB

41、P层次的用例层次的用例=用户目标用户目标EBP层次的用例层次的用例 用户目标用户目标 Use Case reflects current solutions Understanding Goal opens up the vision for new and improved solutionsn企业层次企业层次增加利润增加利润n子功能目标子功能目标上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2558w在在UML里里, 用例图用例图是表达用例和活动者及其之间关系的是表达用例和活动者及其之间关系的载体载体w用例图是模型图,用例图可包含用例,活动者以及它们用例图是模型

42、图,用例图可包含用例,活动者以及它们之间的关系,这些关系可以是:之间的关系,这些关系可以是:n关联关系关联关系n依赖关系依赖关系n实现关系实现关系w用例图的用途是为软件系统、软件子系统、类的动态行用例图的用途是为软件系统、软件子系统、类的动态行为建模。它从两个方面对其建模对象的内容进行描述,为建模。它从两个方面对其建模对象的内容进行描述,即:即:n描述它们的边界描述它们的边界n对它们进行需求分析对它们进行需求分析上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2559w下图是一个描绘系统边界的用例图的例子,它通过区分下图是一个描绘系统边界的用例图的例子,它通过区分系统

43、用例和活动者,明确区分了系统内部的事物和系统系统用例和活动者,明确区分了系统内部的事物和系统外部的事物,通过描绘它们之间的关联关系,系统的边外部的事物,通过描绘它们之间的关联关系,系统的边界得到了清晰的表达界得到了清晰的表达 位图文件 显示窗口 用户 1.打开图象文件 读文件 更新显示 用户 用户 用户 用户 5. 保存文件 位图文件 写文件 3. 放大(ZoomOut) 显示窗口 4.拖动图象(Pan) 显示窗口 更新显示 2. 放大(ZoomIn) 显示窗口 更新显示 更新显示 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2560w用例图和用例关系在编写用例工

44、作中是次要的。用例图和用例关系在编写用例工作中是次要的。用例是文本文档。编写用例意味着编写文本。用例是文本文档。编写用例意味着编写文本。w绘制简单的用例图,并与参与者绘制简单的用例图,并与参与者-目标列表关联。目标列表关联。w用例不是面向对象的用例不是面向对象的上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2561NextGenProcess Sale. . .CashierShow computer system actorswith an alternate notation tohuman actors.primary actors onthe leftsup

45、porting actorson the rightFor a use case contextdiagram, limit the use cases touser-goal level use cases.actorPaymentAuthorizationServiceNextGenProcess SalesystemPaymentAuthorizationService.actorPaymentAuthorizationServiceSome UML alternatives toillustrate external actors that areother computer syst

46、ems.The class box style can be usedfor any actor, computer orhuman. Using it for computeractors provides visualdistinction.PaymentAuthorizationService上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2563w功能需求首先记录在用例(用例模型)中;功能需求首先记录在用例(用例模型)中;w用例是迭代计划的重要部分,是预算的关键输入用例是迭代计划的重要部分,是预算的关键输入w用例实现驱动设计用例实现驱动设计w用例影响了用户手册

47、和测试用例影响了用户手册和测试上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2564w需求规格说明的工作任务跨越了各个迭代,见书需求规格说明的工作任务跨越了各个迭代,见书表表6-1, 中文,中文,pp72,英文,英文,pp96上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2565w确定目标和涉众,推测项目范围确定目标和涉众,推测项目范围w参与者参与者-目标目标-用例用例 表表n绝大部分需要关注的,复杂的,具有风险的用例采用绝大部分需要关注的,复杂的,具有风险的用例采用简单的形式编写简单的形式编写n其中的其中的10%-20% 的用例代表了复

48、杂的核心功能,需的用例代表了复杂的核心功能,需要构建核心架构或者在某些方面具有风险,采用详细要构建核心架构或者在某些方面具有风险,采用详细的格式进行描述的格式进行描述w确定是否要继续到细化阶段确定是否要继续到细化阶段上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2566w多次时间定量的迭代多次时间定量的迭代w绝大部分的需求被识别和描述清楚绝大部分的需求被识别和描述清楚w在每一次迭代中,会有一次需求会议在每一次迭代中,会有一次需求会议n早期的会议关注于最重要用例的子集早期的会议关注于最重要用例的子集n用户目标和用例列表被精化用户目标和用例列表被精化w在细化阶段结束时,

49、在细化阶段结束时,80-90%的用例被详细描述的用例被详细描述上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2567w由时间定量的迭代由时间定量的迭代w关注于完成系统关注于完成系统w在这个阶段可能涉及编写一些次要的用例,也可在这个阶段可能涉及编写一些次要的用例,也可能举办需求讨论会能举办需求讨论会上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2568JanuaryFebruaryUse Case: Capture a Sale. . .Main Success Scenario:1. .2. .3. .Extensions:Use Cas

50、e: Handle Returns. . .Main Success Scenario:1. .2. .3. .Extensions:WhenOnce during inception. Short; do not try todefine or polish all requirements.Several times during elaboration iterations.WhereAt a requirements workshop.WhoMany, including, end users and developers, will playthe role of requireme

51、nts specifier, helping to write usecases.Led by system analyst, who is responsible forrequirements definition.How: ToolsSoftware:For use case text, use a web-enabled requirements toolthat integrates with a popular word processor.For use case diagrams, a UML CASE tool.Hyperlink the use cases; present

52、 them on the projectwebsite.Hardware: Use two projectors attached to dual video cardsand set the display width double, to improve thespaciousness of the drawing area or display 2 adjacenctword processor windows .DeveloperCustomerSystemAnalystEnd UserTwo adjacent projections.SoftwareArchitect上海交通大学计算

53、机科学与工程系上海交通大学计算机科学与工程系2022-3-2570上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2571上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2572w用例模型用例模型w词汇表词汇表w补充性规格说明补充性规格说明w前景前景w业务规则业务规则上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2573w领域术语领域术语w设计设计/实现中的术语对所有人并不相同实现中的术语对所有人并不相同w从用例中观察:是不是有任何术语需要重用或者从用例中观察:是不是有任何术语需要重用或者容易误解容易误解上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2574包含那些用例中没有的需求包含那些用例中没有的需求:w非功能需求非功能需求 (URPS+)w领域领域 (或者业务或者业务) 规则规则w法律问题法律问题 责任,知识产权,等等责任,知识产权,等等w约束约束w封装封装, 等等等等.上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-3-2575w业务机会业务机会w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论