1、1课程回顾课程回顾 如何寻找需求进化式需求和瀑布式需求寻找,不断变更,系统的方法 需求的分类:FURPS+分类法 需求分析的制品和需求分析文档注意事项timeInceptionElaborationConstructionTransition2需求分析的制品需求分析的制品 用例模型:一组使用系统的典型场景。主要用于功能需求 补充性规格说明:几乎囊括了用例之外的所有内容,主要用于所有非功能型需求,或者不能表示为用例的功能需求(例如选课系统报表生成)。 词汇表:最简单的方式定义术语,起到数据字典的作用。 设想:囊括了对项目的“设想”(主题思想和high-level的需求)。 业务规则:凌驾于软件项
2、目之上的需求或政策,例如:国家规定,税收制度,法规。 第四章、初始阶段并非需求阶段Inception is not the requirement phase 第五章、进化式需求 第六章、用例 第七章、其他需求II. 初始阶段 第四章、初始阶段并非需求阶段Inception is not the requirement phase 第五章、进化式需求 第六章、用例 第七章、其他需求第七章、其他需求II. 初始阶段第七章其他需求 补充性规格说明、词汇表、设想和业务规则等制品 比较和对照系统特性与用例 定义质量属性6不要在初始阶段分析所有需求不要在初始阶段分析所有需求 UP是一种迭代和进化式的方法
3、: 应该早在完整的分析和记录大多数需求之前,尽早进行具有产品品质的编程和测试。 来自早期编程和测试的反馈使得需求进化。7需求分析的制品需求分析的制品 用例模型:一组使用系统的典型场景。主要用于功能需求 补充性规格说明:几乎囊括了用例之外的所有内容,主要用于所有非功能型需求,或者不能表示为用例的功能需求(例如选课系统报表生成)。 词汇表:最简单的方式定义术语,起到数据字典的作用。 设想:囊括了对项目的“设想”(主题思想和high-level的需求)。 业务规则:凌驾于软件项目之上的需求或政策,例如:国家规定,税收制度,法规。8 补充性规格说明(Supplementary Specificatio
4、n)u 捕获了用例或词汇表难以描述的其他需求,信息和约束u 包括系统范围内的“URPS+”(可用性、可靠性、性能、可支持性和其他)等质量属性或需求。 某用例专有的非功能性需求可以首先简要的写入用例,即用例的“特殊需求”小节,再归入补充性规格说明。补充性规格说明补充性规格说明9补充性规格说明补充性规格说明 补充性规格说明中的元素包括: FURPS+需求 报表 硬件和软件约束(操作系统和网络系统等) 开发约束(如过程过开发工具) 其他设计和实现约束。 国际化问题(货币单位、语言) 文档化(用户、安装和管理手册等)和帮助。10补充性规格说明补充性规格说明 补充性规格说明中的元素包括: 许可和其他法律
5、问题。 包装。 标准(技术、安全和质量) 物理环境问题(例如热度或震动) 操作问题(如何处理错误,每隔多久进行碑文) 特定应用领域规则 所关注领域的信息(例如:信用卡支付处理的整个过程。)11POS机的补充性规格说明机的补充性规格说明 简介:本文档记录了NextGen POS所有未在用例中描述的需求。 Craig Larman第一个草案。主要在细化阶段中的进化精化Jan 10, 2031初始草案作者描述日期版本 修订历史12POS机的补充性规格说明机的补充性规格说明 功能性(通常跨越多个用例的功能性)1 日志和处理错误在持久性存储中记录所有错误。2 可插拔规则在几个用例的不同场景点执行任何一组
6、规则,以支持对系统功能的定制。3 安全性任何试用都需要经过用户认证。 可用性人性因素顾客将能够看到POS大屏幕显示的显示。因此:应当在一米外轻松看到文本。避免使用一般色盲人群难以辨认的颜色快捷无错的销售交易处理极为重要,因为购买者希望快速离开,否则会给他们的购买体验(和对售货员的服务)带来负面评价。13POS机的补充性规格说明机的补充性规格说明 可靠性1 可恢复性如果在使用外部服务(支付授权、账务系统、)时出现错误,为了完成销售交易,需要尝试采用本地方案(如存储和转发)加以解决。对此需要更深入的分析2 性能正如“人性因素”一节中所提及的,购买者希望非常快速地完成销售处理过程。外部的支付授权是瓶
7、颈之一。我们的目标是:90%的情况下,能够在1分钟内完成授权。 可支持性1 可适应性NextGen POS的不同客户在处理销售时有其特有的业务规则和处理需求。因此,在场景中的几个预订之处(例如:开始新交易,增加新商品)2 可配置性不同的客户对其POS系统有不同的网络配置需求。14POS机的补充性规格说明机的补充性规格说明 实现约束NextGen的领导层坚持采用Java技术的解决方案,他们认为采用Java技术除了易于开发外,还能够提高远期的移植和可支持能力。 购买构件税金计算器。必须支持用于不同国家的可插拔计算器。 免费开源构件一般而言,我们建议在该项目中尽可能使用免费的Java技术开源构件。尽
8、管现在对确定最终的设计和选择构建来说为时尚早,但是我们建议采用以下构件:Jlog logging framework15POS机的补充性规格说明机的补充性规格说明 接口1 重要硬件和借口触摸屏(操作系统将此视为普通监视器,且触摸动作也视为鼠标事件。)条形码激光扫描器(通常附加在一种特殊键盘上,扫描输入在软件中视为键盘输入)。票据打印机。信用卡/借记卡读卡器。签名读取装置。2 软件接口由于存在众多外部协作系统(税金计算器、账务、库存、),我们需要采用不同的接口,接入不同的系统。16POS机的补充性规格说明机的补充性规格说明 应用的领域(业务)规则(一般性规则参见单独的业务规则文档)IDRuleC
9、hangeabilitySourceRULE1Purchaser discount rules. Examples:Employee20% off.Preferred Customer10% off.Senior15% off.High.Each retailer uses different rules.Re t a i l e r policy.17POS机的补充性规格说明机的补充性规格说明 应用的领域(业务)规则(一般性规则参见单独的业务规则文档)IDRuleChangeabilitySourceRULE2Sale (transaction-level) discount rules.A
10、pplies to pre-tax total. Examples:10% off if total greater than $100 USD.5% off each Monday.10% off all sales from 10am to 3pm today.Tofu 50% off from 9am-10am today.High.Each retailer uses different rules, and they may change daily or hourly.Re t a i l e r policy.18POS机的补充性规格说明机的补充性规格说明 应用的领域(业务)规则
11、(一般性规则参见耽误的业务规则文档)IDRuleChangeabilitySourceRULE 3Product (line item level) discount rules.Examples:10% off tractors this week.Buy 2 veggieburgers, get 1 free.High.Each retailer uses different rules, and they may change daily or hourly.Re t a i l e r policy.19POS机的补充性规格说明机的补充性规格说明 法律问题u 我们建议购置一些开源构件,
12、但是要解决其许可限制的问题,以便使包含开源软件的产品能够转售。u 法律规定,在销售交易中必须遵从所有税务规则。 所关注领域内的信息 定价 信用卡和借记卡支付处理 销售税 商品标识:UPC,EAN,SKU,条形码和条形码读取装置20设想设想 系统特性概要 系统特性以高阶、简洁的语句对系统功能加以概括。 在UP中,系统特性是“由系统提供的外部可观察到的服务,可以直接实现涉众的需求” 特性是西宫能够实行的行为上的功能,特性应当通过如下语言上的测试: 系统实行 . E.g. 系统实行支付授权。 准则准则 设想文档中包含的特性最好小于10个,因为更多的特性不能够被快速掌握。如果需要更多特性,则考虑对这些
13、特性进行分组和概括。21设想设想 系统特性概要 准则:对于这些需求,要避免在设想和补充性规格说明(SS)中重复或近于重复。最好只在SS中记录这些需求。在设想文档中,可以指引读者到SS中阅读这些需求。 准则:应当先编写设想还是用例? 首先编写简要的设想草案。 确定用户目标和对应的用例名称。 详细编写一些用例,并且开始编写补充性规格说明。 精化设想,对以上制品中的信息进行概括。 示例:POS22设想示例:设想示例:NextGen POS Craig Larman第一个草案。主要在细化阶段中的进化精化Jan 10, 2031初始草案作者描述日期版本 修订历史修订历史 简介简介:NextGen POS
14、是下一代POS应用,能够容错,具有灵活性以支持各种客户的不同业务规则,具有多终端和用户接口机制,并且能够与各种第三方支持系统进行整合。23设想示例:设想示例:NextGen POS 定位定位 1 商业机遇在持久性存储中记录所有错误。2 问题综述灵活性,容错性难以与第三方集成。3 产品定位综述简洁地概括系统目标用户、特性和与竞争者的差异。4 选择和竞争。24设想示例:设想示例:NextGen POS 涉众描述涉众描述1.市场统计2.涉众(非用户)概要3.用户概要4.涉众的关键高阶目标及问题高阶目标高阶目标优先级优先级相关问题相关问题当前解决方案当前解决方案快速、健壮和整合的销售流程高负载增加时速
15、度降低不能为特殊业务需求定制业务规则难以增加新的中断或用户接口现有的POS产品提供了基本的销售过程,但是没有解决这些问题25设想示例:设想示例:NextGen POS 涉众描述涉众描述5. 用户级目标1.收银员:处理销售交易、处理退货、入款、出款2.系统管理员:管理用户、安全性和系统表3.经理:启动和关闭4.销售活动系统:分析销售数据6. 用户环境26设想示例:设想示例:NextGen POS 产品概览产品概览1. 产品展望POS系统如果使用移动端,可以在商店网络附近的封闭区域内使用,包括商店内部或外部的封闭区域。系统能够与其他系统协作,为用户提供各种服务,如下图。27设想示例:设想示例:Ne
16、xtGen POS 产品概览产品概览2. 优点概述支持的特性支持的特性涉众利益涉众利益从功能上来说,系统能够提供销售组织需要的常见服务,包括记录销售、支付授权、退货处理等自动检测错误,将无效服务切换到本地离线处理过程在销售处理中的不同场景点可以插入业务规则使用行业标准协议,与第三方进行实时交易自动化、快递POS服务当外部构建发生故障时继续销售处理灵活的业务逻辑配置提供及时、准确的销售、账务和库存信息以支持统计和计划28设想示例:设想示例:NextGen POS 产品概览产品概览1. 产品展望2. 优点概述3. 假设和依赖4 成本和定价5 许可和安装29设想示例:设想示例:NextGen POS
17、 系统特性概要系统特性概要1. 记录销售交易产品展望2. 支付授权(信用卡、借记卡、支票)3. 对用户、安全性、编码和约束表等进行系统管理。4 当外部构建发生故障时,自动进行离线销售处理。5 基于行业标准,与第三方系统进行实时交易,这些第三方系统包括库存、账务、人力资源、税金计算器和支付授权服务等。 其他需求和约束其他需求和约束包括设计约束、可用性、可靠性、性能、可支持性、设计约束等。参见补充性规格说明和用例。30词汇表词汇表 词汇表的最简形式是重要术语及其定义的列表。 UP中词汇表充当数据字典的作用,在初始阶段,词汇表是属于及其描述的简单文档,细化阶段,词汇表可以扩展为数据字典。术语的属性包
18、括: 别名 描述 格式(类型、长度、单位) 与其他元素的关系 值域 验证规则31词汇表词汇表 用词汇表记录组合术语 词汇表不仅可以记录原子属于,例如“产品价格”,还可以包括诸如“销售”(其中包含很多其他元素,如日期地点等)的组合元素和用来描述用例参与者之间所传递的简化名称。 例如:处理销售的用例中,有以下陈述 系统向外部支付授权服务发送支付授权请求,并请求批准支付 支付授权请求是一组数据的别名,应该在词汇表中加以解释32词汇表示例:词汇表示例:NextGen POS 修订历史修订历史 Craig LarmanFirst draft. To be refined primarily during
19、 elaboration.Jan 10, 2031Inception draftAuthorDescriptionDateVersion33词汇表示例:词汇表示例:NextGen POS 定义定义术语术语定义和信息定义和信息格式格式验证规则验证规则别名别名商品用于销售的产品或服务支付授权外部支付授权服务进行的验证活动,该服务将完成并保证对卖房的支付支付授权请求电子地发送给授权服务的一组元素,通常是字符序列。元素包含:商店ID、顾客账号、总额和时间戳UPC标识产品的数字代码,通常以条形码来表示分为几个子部分的12位数字编码第12位是校验位通用产品编码34领域规则领域规则 Domain Rules
20、 领域规则(业务规则)指出领域或业务是如何运作的 他们不是任意有一个特定应用的需求 公司政策、物理法则(例如油在地下如何流动)和政府法律都是最常见的领域规则。 最好在单独的与应用无关的制品中确定和记录领域规则,以便使分析在组织和项目范围内进行共享和重用,而不是局限在特定项目的文档里。 规则有助于澄清用例中的歧义。 例如:在NextGen POS中,如果处理销售这个用例想加入另一条路径:允许不记录签名的信用卡支付,业务规则就会给出答案,不允许这种情况。35领域规则示例:领域规则示例:NextGen POS Craig Larman第一个草案。主要在细化阶段中的进化精化Jan 10, 2031初始
21、草案作者描述日期版本 修订历史修订历史36领域规则示例:领域规则示例:NextGen POS 规则列表规则列表ID规则规则可变性可变性验证规则验证规则规则1信用卡支付需要签名签名一直需要,但是语气以后会使用数字签名所有信用卡授权公司的政策规则2税务规则。销售中需要考虑税务事宜,当前详情参见政府公布的状况高。各级政府每年都会变更税法法律规则3信用卡支付退款可能支队购买者的信用卡账户进行退款操作,而不是以现金退款低信用卡授权公司的政策37UP迭代中的进化式需求迭代中的进化式需求 S:开始;R:精化s 软件架构文档 rs 设计模型设计 rs词汇表 rs补充性规格说明 rs设想 rs用例模型需求 s
22、领域模型业务建模C1.CnE1.EnI1迭代 构造细化初始.制品科目38要点回顾要点回顾 补充性规格说明 设想 词汇表 领域规则39初始阶段小结初始阶段小结 初始阶段并非需求阶段 进化式需求 用例 其他需求40初始阶段小结初始阶段小结 初始阶段并非需求阶段u 初始阶段并不是瀑布开发模型的需求阶段u 初始阶段的目标不是定义所有需求,而是提出愿景:预见项目的范围、设想和业务案例。u 初始阶段时间段,并没有大量的文档(很少量的UML用例图):相对完整的愿景,风险列表,迭代计划等u 愿景提出的示例和规则41初始阶段小结初始阶段小结 进化式需求u 如何寻找需求进化式需求和瀑布式需求寻找,不断变更,系统的方法u 需求的分类:FURPS+分类法u 需求分析的制品和需求分析文档注意事项 42初始阶段小结初始阶段小结 用例u 参与者、场景和用例u 用例的三种常用形式:摘要、非正式和详述u 如何编写用例多项准则(确定系统边界,主要参与者和目标,根据目标定义用例)将测试应用于确定适当的用例上(老板、EBP、规模测试) 将用例分析与迭代开发联系起来43初始阶段小结初始阶段小结 其他需求u 补充性 规格说明u 设想u 词汇表u 业务规则u 示例:NextGen POSu 迭代方法中的需求