您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第6章-软件需求分析与建模
Computer&Information软件需求概论Computer&Information2第6章需求分析与建模最佳实践6.1需求分析与建模的要点与误区分析6.2周期一:理清框架与脉络6.3周期二:确定需求细节6.4其他需求分析Youarehere!你在这儿!需求分析是需求工程中最为核心的工作,而需求建模则是需求分析的主要手段。Computer&Information36.1需求分析与建模的要点与误区分析6.1.1需求分析到底做什么6.1.2建模的目标与要点6.1.3选择建模工具的要点Computer&Information46.1.1需求分析到底做什么需求分析是业务分析,也就是选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,以指导后续的设计、开发工作。概括为:分解、提炼、消除矛盾Computer&Information5需求分析到底做什么之一:分解分解:自顶向下的方法现代需求工程理论更建议采用业务导向的分解,而非传统的系统导向的分解。分解结构类型(1)业务流程为主线索的分解结构联机事务处理系统、管理信息系统适用。(2)程序结构为主线索的分解结构适用于问题域不复杂或者系统与问题域关联性不强的情况。Computer&Information66.1.1需求分析到底做什么(3)基于场景的分解结构适用于决策支持系统、面向用户的嵌入式系统(4)基于数据的分解结构适用于诸如数据仓库之类的数据类项目选择了一个合适的分解结构之后,就可以把需求规格说明书的大纲确定下来,知道应该捕获什么信息;因此当信息捕获回来后,需求分析的任务就是将其填充到相应的级别上,并不断验证是否已经填充完成。Computer&Information7需求分析到底做什么之二:提炼提炼:自底向上的方法分解是一种自顶向下的方法,当你按任何一种线索进行分解时,就会破坏其他线索的完整性。例如,如果以“事”为线索,那么会发现数据需求分解后就会出现相互交叠的情况,也就是在多个业务事件中都涉及相同的类。当出现这样的现象时就会阻碍需求分析人员建立全面理解,因此我们还需要采用自底向上的方法进行提炼。Computer&Information8需求分析到底做什么之三:消除矛盾在分析过程中,显然会发现有些需求是相互矛盾、相互冲突的。由于你是在把收集的信息放在一个预先定义的结构中发现这些矛盾的,因此对矛盾的影响范围会有直观的了解,也知道它影响到哪些层面。这样,你就可以很快地找到相应的人员,通过进一步的捕获来消除矛盾。Computer&Information96.1.2建模的目标与要点建模是需求分析的主要手段,它通过简化、强调来帮助需求分析人员理清思路,达成共识1.建模的目的帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。Computer&Information106.1.2建模的目标与要点2.建模的要点与原则要点:设计要考虑到计划之外的变化;设计要文档化;用可视化的模型表达架构,有助于理解变化所代表的含义。原则:模型是用来沟通的,需要时才构建。Computer&Information116.1.3选择建模工具的要点1.正确认识建模方法论Computer&Information126.1.3选择建模工具的要点2.正确认识UMLUML是一种Language(语言)!UML是一种Modeling(建模)Language!UML是一种Unified(统一)ModelingLanguage!如何选择UML图?Computer&Information13第6章需求分析与建模最佳实践6.1需求分析与建模的要点与误区分析6.2周期一:理清框架与脉络6.3周期二:确定需求细节6.4其他需求分析Youarehere!你在这儿!Computer&Information146.2周期一:理清框架与脉络6.2.1业务流程分析6.2.2业务实体分析6.2.3角色与使用场景分析6.2.4周期一的产物Computer&Information156.2周期一:理清框架与脉络Computer&Information166.2.1业务流程分析这个阶段的任务是理清需求的结构框架(领域类图)和行为脉络(流程图和用例图)该工作的输入是需求定义阶段产生的业务事件列表和报表列表,输出的是领域模型和用例模型在整个过程中是针对每个业务事件进行业务流程分析、业务实体分析和用例分析;针对每类报表业务实体分析和用例分析。Computer&Information176.2.1业务流程分析业务流程分析是针对每个业务事件来进行的,业务事件是业务流程的触发,沿着对业务事件的响应序列,找到所有相关的业务活动,表述出这些业务活动之间的关系就是该任务的关键目标。在业务流程分析中,信息的主要来源是负责该业务流程的中层管理人员,因此访谈的对象就是这一类人员。具体来说,它就是针对每一个业务事件,分析并识别现有业务活动,确定业务活动之间的关系;了解这些业务活动需要接受哪些信息,将产生哪些数据(表单),确定数据传送的路线;同时标识出业务活动是由哪些部门、岗位负责等信息。在分析过程中,要注意抓住核心业务和主要活动点、部门内以及部门之间的衔接,工作中的烦琐及反复的环节,成本高、效率低、时间长的环节以及任务转手次数较多的环节。Computer&Information181.业务流程分析的要点与产物关键的要点:一是理解流程的层次性;三大层次:组织级,部门级,岗位级二是了解流程的类型;生产性流程,管理性流程,支持性流程三是掌握以业务事件识别、寻找流程的技巧。流程分析产物,最常使用的模型有三种:跨职责流程图、活动图和数据流图。Computer&Information192.跨职责流程图应用基础与要点跨职责流程图是商业建模的标准工具,它定义了一套标准的建模元素和建模方法.(1)跨职责流程图的主要元素流程名称职责带区流程阶段流程元素并行流程引用Computer&Information202.跨职责流程图应用基础与要点(2)绘制要点在进行业务流程分析时,关键的入手点是部门级的业务流程,也就是从业务事件出发,分析该业务事件会触发的一系列活动。要真正保障绘制出来的跨职责流程图是真实、有效的,就必须强化用户的参与。具体来说,我们应该先找到业务事件的负责人,然后通过设问的方式,让他描述响应该业务事件所进行的活动,说明活动的执行岗位以及它们之间的关系、数据传递。Computer&Information21跨职责流程图的绘制示例每年初将由航标站根据本年度的计划任务,并结合上一年度的情况制订新年度计划,形成向航标处业务部门提交的工作计划。航标处业务部门对其工作计划进行审核,同时上报处计划部门,计划部门对其进行反馈。航标处业务部门进行补充,形成“工作计划”上报处领导。由航标处领导对其进行审核与确认,并形成“工作任务”下发给养护中心。然后再由养护中心安排具体的采购计划。采购计划生成后报航标处领导审批后进行采购流程。Computer&Information22跨职责流程图的绘制示例Computer&Information233.活动图应用基础与要点(1)活动图概述活动图是一种表述过程机理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。(2)活动图的主要元素(最主要的几种建模元素)①初始节点和活动终点②活动节点③转换④分支与监护条件⑤分岔与汇合Computer&Information243.活动图应用基础与要点(3)带泳道的活动图(4)带对象流的活动图(5)复杂活动图①辅助活动图②汇合描述③发送信号与接收信号④引脚(pin)⑤扩展区(ExpansionRegion)(6)绘制活动图之后Computer&Information254.数据流图应用基础数据流图(DFD)是一种历史悠久的建模方法,它对于数据流为主线索的处理过程是最合适的,例如计费系统。(1)数据流图的主要元素数据加工(数据变换)数据源或数据潭(外部实体)数据流数据存储文件或或Computer&Information264.数据流图应用基础(2)分层的数据流图数据流图模型中引入了层次结构的数据流程图。它是按照系统的层次结构进行逐级分解的,以分层的数据流图来反映这种结构关系Computer&Information27以下是绘制数据流图的一些约定规则:过程通过数据存储区进行通信,而不是从一个过程直接流到另一个过程。使用数据流图时,不要试图让数据流图反映处理顺序。用简明的动词短语命名每一个过程:动词加对象。过程的编号要惟一且具有层次性。在单个图中绘制的过程不要超过8~10个,否则就很难绘制、更改和理解它。与圆圈相连的数据流不允许只有输入或只有输出。Computer&Information284.数据流图应用基础(3)数据流图的绘制过程通过标识业务事件完成从顶层图到0层图的分解;再通过将业务事件分解成业务活动实现0层图到1层图的细化;然后就是通过将业务活动分解成业务步骤实现1层图到2层图的分解。Computer&Information294.数据流图应用基础(3)数据流图的绘制过程①构建顶层图——“课程注册系统”Computer&Information304.数据流图应用基础(3)数据流图的绘制过程②根据业务事件绘制DFD片段Computer&Information31②根据业务事件绘制DFD片段Computer&Information324.数据流图应用基础(3)数据流图的绘制过程③将DFD片片段合并成DFDComputer&Information334.数据流图应用基础(3)数据流图的绘制过程④逐步细化,分解到底Computer&Information346.2.2业务实体分析在业务流程中,必须会涉及许多业务实体(或称为业务数据、业务术语),要正确地构建出信息系统,就必须对这些业务实体建立正确的认识。具体来说,就是要了解这个问题域中有哪些业务实体,它们之间存在什么样的逻辑关系、数量关系,以及有什么相应的结构规则。实际上这样的工作就是大名鼎鼎的“领域建模”、“概念建模”。Computer&Information351.业务实体分析任务概述在领域建模的过程中,应该更多地采用“自底向上”的方法;针对每一个业务事件、每一类报表创建局部的领域类图片段,然后当完成这些建模工作之后,再对其进行抽象、提炼,形成全局的领域模型。针对每一个业务事件、每一类报表进行领域类图片段的绘制时,其主要的步骤包括三个:识别出业务实体,确定实体之间的关系(语义关系和数量关系),定义实体的关键属性。Computer&Information361.业务实体分析任务概述业务实体分析的产物有两种可选的模型:·类图E/R模型也叫实体关系图Computer&Information372.类图应用基础及要点Computer&Information38(1)领域建模方法示例领域建模时,其工作主要就是标识类明确类之间的逻辑关系和数量关系添加重要的结构规则三个方面。Computer&Information39参考案例:个人图书管理系统需求概述小王是一个爱书之人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。该系统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版杜等关键字的组合查询功能。在使用该系统录入新书籍时系统会自动按规则生成书号,可以修改信息,但一经创建就不允许删除。该系统还应该能够对书籍的外借情况进行记录,可对外借情况列表打印。还希望能够对书籍的购买金额、册数按特定时间周期进
本文标题:第6章-软件需求分析与建模
链接地址:https://www.777doc.com/doc-4256792 .html