《需求分析案例.pptx》由会员分享,可在线阅读,更多相关《需求分析案例.pptx(55页珍藏版)》请在三一办公上搜索。
1、3-3需求分析案例,第一阶段:理清业务与流程,需求分析案例,第二阶段:确定需求细节,“Android点餐系统”项目案例需求获取资料介绍如下:,(1)目标和范围 本软件主要作用是为点餐者提供一套可以在移动设备(手机、平板)上运行的点餐软件。系统分为前台和后台,前台是点餐者使用的,点餐者可以在移动设备上查看餐馆所有的菜目、价格、简单的菜品介绍以及餐馆的特色菜介绍,同时点餐者还可以查看、取消自己已经挑选的菜品,最后上传订单。后台是管理员使用的,管理员可以在后进行订单管理、用户管理、菜谱管理等。,(2)系统角色和职责 系统的使用人群包括两类,一类是普通的用户,另一类是管理员(经过培训或是专业人员)。管
2、理员:系统的维护,订单管理、菜品的增删。普通用户:注册账号,点餐、座位预订。,“Android点餐系统”项目案例需求获取资料介绍如下:,(3)系统处理功能要求见下表。,“Android点餐系统”项目案例需求获取资料介绍如下:,(4)系统其他要求 本系统客户端要求符合大众操作习惯,与网上其他的Android系统App操作方式保持基本一致。餐馆要求每笔订单交易误差不得超过1角,每天交易额的误差不得超过100元。5年内价位在500元以上的Android手机都可以流畅运行该系统。,“Android点餐系统”项目案例需求获取资料介绍如下:,3-3需求分析案例,以Android点餐系统为例。,第一阶段:理
3、清业务与流程,一、业务流程分析,1.业务流程分析,一是理解流程的层次性;二是了解流程的类型;三是掌握以业务事件识别、寻找流程的技巧。,基于Android平台的点餐系统的总体流程包括的步骤有:(1)顾客在智能手机上登录点餐系统客户端后,自动进入菜谱界面,查看菜谱;(2)顾客选择菜品进行下单;(3)顾客选择菜品数量,若需在餐厅用餐还需选择座位号;(4)选择完成并确定后,提交订单;(5)订单提交后,订单数据会上传到服务器;(6)订单提交后,顾客可以在客户端查看自己的订单情况;(7)在管理员未确认订单之前,顾客可以对订单进行修改或取消操作;(8)管理员登录点餐系统服务器端,对用户订单进行确认;,一、业
4、务流程分析,2.跨职责流程图应用,具体来说,我们应该先找到业务事件的负责人,然后通过设问的方式,让他描述响应该业务事件所进行的活动,说明活动的执行岗位以及它们之间的关系、数据传递。,一、业务流程分析,3.活动图应用,活动图是一种表述过程机理、业务过程以及工作流的技术。本系统的下单活动图可以参看右图。,一、业务流程分析,4.数据流程图应用,客户端数据流程图,服务器端数据流程图,二、业务实体分析,1业务实体分析任务概述,业务实体分析的产物有两种可选的模型,包括类图和E/R模型也叫实体关系图。,二、业务实体分析,2.类图,1)领域建模方法领域建模时,其工作主要就是识别标识类、明确类之间的逻辑关系和数
5、量关系以及添加重要的结构规则三个方面。,二、业务实体分析,2.类图,使用名词分析法发现类和对象。,二、业务实体分析,2.类图,二、业务实体分析,2.类图,二、业务实体分析,2.类图,二、业务实体分析,2.类图,最终发现的所有概念类如下:经理,顾客,促销策略,预约,预约表,取号,取号表,支付,下单,订单,订单信息列表,评论,评论列表,二、业务实体分析,2.类图,2)建立类之间的关联,二、业务实体分析,2.类图,3)添加类的重要属性,二、业务实体分析,2.类图,分析模型中有3种十分有用的构造型即实体类、控制类和边界类。实体类即实体对象的抽象;控制类即控制对象的抽象;边界类即边界对象的抽象。,二、业
6、务实体分析,3.E/R图应用基础,概念模型和逻辑模型有什么区别呢?它们实际上是对“需求视图”与“开发视图”的区分。换句话说,概念模型是需求人员的视图,等价于现在出镜率很高的领域模型;而逻辑模型是开发人员(包括设计人员)的视图,它约等于面向对象分析与设计方法中提到的“分析模型”。,三、角色与使用场景分析,在传统的结构化分析与设计方法中,整个分析视角是站在解决方案域的,很容易产生对问题域分析不足的结果。用例分析技术的关键是“发现使用系统的角色(参与者),了解并梳理这些角色将如何使用系统(场景)”,从而更好地完成“人”的视角的需求梳理。,三、角色与使用场景分析,1.参与者参与者是在系统之外,透过系统
7、边界与系统进行有意义交互的任何事物。本例中参与者包括:普通用户与管理员。,三、角色与使用场景分析,2.用例实例与用例用例实例(即场景)是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果,一个用例定义一组用例实例。用例是对一组用例实例(场景)的抽象,也就是说,用例是有路径(基本事件流、扩展事件流、子事件流等)的。一个场景是一个具体的行为,一个用例是对一类相关行为的抽象。,三、角色与使用场景分析,3.参与者与用例之间的关系、用例与用例之间的关系、参与者与参与者的关系参与者与用例的关系体现在一个参与者表示用例的使用者在与这些用例进行交互时所扮演的角色。用例之间的关系有包含、扩展和泛化
8、。参与者之间的关系只有一种,那就是泛化。,三、角色与使用场景分析,事半功倍的问题:你平时都做什么?(参与者目标)这件事是谁交办的?做完了你需要通知或传达给认证吗?做这件事情你都需要填写些什么表格吗?,三、角色与使用场景分析,示例:边界确定(去除非End User的职责带区)确定角色(对剩下的职责带区进行角色化)确定用例,三、角色与使用场景分析,示例:边界确定确定角色确定用例,三、角色与使用场景分析,菜品信息管理用例,它的参与者是管理员,用例是菜品信息管理,菜品信息管理用例包含查看菜品信息、添加菜品、删除菜品、修改菜品信息四个子用例,菜品信息管理是抽象出的一个基用例,是为了简化用例的描述。,三、
9、角色与使用场景分析,4用例分析技术应用要点在上面用例分析的基础上,来讨论一下用例分析的几个技术应用要点。(1)用例真的有粒度吗?(2)用业务动词命名用例十分重要。(3)采用先事后人的方式分析是要点。,四、第一阶段产物,1工作任务说明,以为某餐饮公司开发的Android点餐系统为例,详细介绍该项目的第一阶段分析情况。在需求分析的第一阶段,核心任务就是结合业务流程、报表的需求,梳理出结构框架和行为脉络,为第二阶段的需求分析工作建立基础,指出方向。,四、第一阶段产物,1工作任务说明,领域模型和用例模型:管理员主要负责系统的维护,订单管理、菜品的增删。希望通过这样一个系统能够吸引顾客,同时希望减少人力
10、成本,获得更高的效率和收益。普通用户主要使用这个系统来实现注册账号,点餐、座位预订,节约时间。,四、第一阶段产物,2业务事件分析,“Android点餐系统”的总体业务流程包括如下步骤:(1)顾客在智能手机上登录点餐系统客户端后,自动进入菜谱界面,查看菜谱;(2)顾客选择菜品进行下单;(3)顾客选择菜品数量,若需在餐厅用餐还需选择座位号;(4)选择完成并确定后,提交订单;(5)订单提交后,订单数据会上传到服务器;(6)订单提交后,顾客可以在客户端查看自己的订单情况;(7)在管理员未确认订单之前,顾客可以对订单进行修改或取消操作;(8)管理员登录点餐系统服务器端,对用户订单进行确认。,标识出了查看
11、菜谱、点餐下单、菜品信息管理、用户信息管理、订单管理、特色菜信息管理、数据库维护等业务事件。,四、第一阶段产物,2业务事件分析,以“菜品信息管理”业务事件为例,四、第一阶段产物,2业务事件分析,服务器端的主要作用在于实现与数据库的交互,完成相应数据的增加、修改及删除,具体的操作流程如下:(1)管理员输入正确的登录名和密码来登录系统;(2)管理员成功登录系统后,可对系统的相关信息进行管理。,四、第一阶段产物,2业务事件分析,基于Android平台的点餐系统采用C/S和B/S的混合模式结构,其中手机客户端的实现采用的是C/S模式,而服务器端基于B/S模式进行实现。,四、第一阶段产物,2业务事件分析
12、,参与该系统的类分别是用户、管理员、订单、菜品、座位、菜品类别。,四、第一阶段产物,3报表分析,对于报表而言,分析工作可以分成why(目标)、what(内容)与How(展现形式)三个层次。以“订单业务报表”为例其要解决的问题包括角色查询、目的、相关场景与查询频率等方面的内容。,四、第一阶段产物,4抽象与整理,客户端:客户端包括的主要功能有注册功能、登录功能、查看菜品功能、下单功能、选座功能、查看订单功能等。服务器端:根据前文的分析可知道,服务器端包括的功能有登录功能、用户管理功能、菜谱管理、订单管理等。系统管理模块包含数据备份、数据恢复及数据打印功能,四、第一阶段产物,4抽象与整理,四、第一阶
13、段产物,5填充需求规格说明框架,通过以上分析,就可以完成结构框架和行为脉络的填充,同时将其填充到软件需求规格说明书中。需求规格说明课后可以在网站下载参考。,3-3需求分析案例,以Android点餐系统为例。,第二阶段:确定需求细节,一、确定行为需求的细节,1.用例的灵活应用,根据行为需求的特点,可以将其分成“业务功能、报表功能、接口、技术支撑”4种类型。统一封装成用例,但在具体细节描述方面,可以对其进行灵活处理。,一、确定行为需求的细节,2.用例描述模板,针对业务功能类的用例来说,其需要整理的内容主要包括事件流、相关需求与功能点、界面原型、规则与约束4个方面,描述的方法可以采用通用的用例描述模
14、板来组织。以“Android点餐系统”为例。,一、确定行为需求的细节,2.用例描述模板,以“Android点餐系统”查看菜品信息为例。,一、确定行为需求的细节,3.相关需求整理,(1)用户原始需求 将需求捕获阶段获得的用户原始需求,通常每个原始需求是以一句话的形式整理到相应的用例中,它可以更好地建立用户原始需求和软件需求(即用例)之间的映射。(2)相关功能点 在需求规格说明书中除了可以将用户原始需求归类整理进来,作为开发时的重要参考依据之外,有时可能还会涉及一些无法有效地表述在事件流中的小功能点。,一、确定行为需求的细节,4.界面原型,(1)要点(2)交互不要忽略(3)别让界面掩盖本质,一、确
15、定行为需求的细节,4.界面原型,一、确定行为需求的细节,5.规则与约束,规则大致可以分为:行为规则:或称为功能规则、业务规则,它是指和业务逻辑、业务流程相关的规则。结构规则:或称为数据规则,它是指和业务实体、属性、派生属性相关的规则。界面规则:它是指和用户界面相关的规则。,一、确定行为需求的细节,5.规则与约束,约束分成以下几种类型:性能指标等非功能要求 软、硬件环境限制 技术选择限制 用户特点及环境限制,二、确定结构需求的细节,(1)领域模型的组织(2)数据窗口分析(3)数据组成与格式,三、第二阶段产物,用例描述事件流分析相关需求 用户界面原型规则与约束,三、第二阶段产物,点餐下单需求:1)需求名称:用户点菜下单。2)简要描述:运行Android点餐系统的用户登录系统后。用户下单点菜,若是用户需要在餐馆用餐,则需要选取座位号。用户选好座位以及菜品后点击下单即可完成点菜下单。3)主要参与者:Android点餐系统普通用户。,4)步骤描述,三、第二阶段产物,5)用例描述,6)优先级:重要,