UML业务建模与需求分析课件

上传人:29 文档编号:241759219 上传时间:2024-07-21 格式:PPT 页数:155 大小:7.86MB
返回 下载 相关 举报
UML业务建模与需求分析课件_第1页
第1页 / 共155页
UML业务建模与需求分析课件_第2页
第2页 / 共155页
UML业务建模与需求分析课件_第3页
第3页 / 共155页
点击查看更多>>
资源描述
1UML业务建模与需求分析2024/7/211UML业务建模与需求分析2023/8/16参加本次培训,您有什么目标/目的?明确学习目标oSMART原则:nSpecific-具体的目标nMeasurable-可衡量的目标nAttainable-可实现的目标nRealistic-和本次培训相关的目标nTime-based-两天内的目标2024/7/212参加本次培训,您有什么目标/目的?明确学习目标2023/8/需求工程介绍中国科学院软件研究所许舒人32024/7/21需求工程介绍中国科学院软件研究所32023/8/164软件需求的基本概念oI E E E的软件需求定义1.用户解决问题或达到目标所需的条件或能力(Capability)。2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。3.一种反映上面或所描述的条件或能力的文档说明。oRUP的软件需求定义1.需求用于说明系统必须符合的条件或具备的功能。2.它可以直接来自于用户需要,或在合同、标准、规约或其他正式规定的文档中阐明。3.FURPS+模型(Functionality、Usability、Reliability、Performance、Supportability)o功能性、可用性、可靠性、性能和可支持性 o“+”:设计约束、实施需求、接口需求和物理需求2024/7/214软件需求的基本概念I E E E的软件需求定义2023/8需求的层次软件需求各组成部分之间的关系5业务需求项目范围业务用例模型、业务对象模型、业务规则业务需求说明书用户需求涉众需求特性前景(项目建议书、任务委托书)功能需求用例模型、用例说明、补充需求(FURPS+)逻辑模型软件需求规格说明书(系统、子系统、构件)问题空间解 空 间2024/7/21需求的层次软件需求各组成部分之间的关系5业务需求项目范围业务需求(business requirement)o反映了组织机构或客户对系统、产品高层次的目标要求。o业务用例模型(business use-case model)业务既定功能的模型。业务用例模型被用作一种基本输入,用于确定组织的各个角色和可交付工件。o业务对象模型(business object model)说明业务用例实现的对象模型。o业务规则(business rule)在业务之中必须满足的策略或条件的声明。62024/7/21业务需求(business requirement)反映了组用户需求(user requirement)o描述了用户使用产品必须要完成的任务。o前景(vision)用户或客户的待开发产品的视图,它是在关键涉众需要和系统特性的层次上指定的。72024/7/21用户需求(user requirement)描述了用户使用产8功能需求(functional requirement)o定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。o所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。2024/7/218功能需求(functional requirement)定需求管理定义oCMU/SEI 1995n需求管理需要“建立并维护在软件工程中同客户达成的契约”。oRUP的定义n一种系统化的方法系统化的方法,用来获取、组织和记录系统的需求,还要使客户和项目团队在系统变更需求上达成并保持一致。92024/7/21需求管理定义CMU/SEI 199592023/8/1610需求工程关注的问题o软件开发的目标是在预算内及时开发出满足用户需求的软件o项目的成功取决于有效的需求管理o需求错误是最常见的系统开发错误,并且修改代价最高o一些关键的技巧可以大大减少需求错误,并因此改善软件质量o分析问题 o理解涉众需求 o定义系统 o管理范围 o精炼系统定义 o建造正确系统 2024/7/2110需求工程关注的问题软件开发的目标是在预算内及时开发出满足需求问题oStandish Group 从 1994 年到 2001 年的 CHAOS Reports 证实,导致项目失败的最重要的原因与需求有关。o2001 年,Standish Group 的CHAOS Reports 报导了该公司的一项研究,该公司对多个项目作调查后发现,74%项目是失败的,既这些项目不能按时按预算完成。其中提到最多的导致项目失败的原因就是“变更用户需求”。o常见的需求问题:1.无法跟踪需求变更71%2.难以编写70%3.特性偏移67%4.组织欠佳54%IBM Rational 需求管理技术白皮书112024/7/21需求问题Standish Group 从 1994 年到 212导致不合格需求说明的原因o无足够用户参与o用户需求的不断增加o模棱两可的需求o不必要的特性o过于精简的规格说明o忽略了用户分类o不准确的计划2024/7/2112导致不合格需求说明的原因无足够用户参与2023/8/1613不同阶段修改错误的代价o后期发现缺陷修改代价更高:n如果设计或编码1¥,系统测试19¥,产品发布后92¥n客户发现与需求相关的错误的修改代价是需求阶段时的68-110倍需求0.10.2设计0.5编码1.0单元测试2.0验收测试5.0维护20.02024/7/2113不同阶段修改错误的代价后期发现缺陷修改代价更高:需求0.14高质量的需求过程带来的好处o最大的好处是在开发和维护的工作大大减少o收集需求能使开发小组更好地了解市场n市场因素是项目成功的关键因素o避免在无用功能上白耗精力o弥补用户期望和开发者实际开发之间的“鸿沟(期望差异)”2024/7/2114高质量的需求过程带来的好处最大的好处是在开发和维护的工作15优秀需求具有的特性o完整性o正确性o可行性n软件工程小组的组员负责检查技术可行性o必要性o划分优先级o无二义性n对需求文档的正规审查n编写测试用例n开发原型n设计特定的方案脚本o可验证性n是否能通过设计测试用例或其它的验证方法2024/7/2115优秀需求具有的特性完整性无二义性2023/8/1616需求规格说明的特点o完整性o一致性o可修改性o可跟踪性2024/7/2116需求规格说明的特点完整性2023/8/16为什么需求获取很困难o用户n任何系统都会有很多用户,每个用户只知道他如何使用系统,没有任何人知道系统的整个情况n用户常常不知道需求是什么,或不知道如何以一种精确的方式描述需求n即使有分析人员的帮助,用户也不完全理解系统到底应实现什么功能,直到系统基本完成时才知道自己的需求o业务价值n更重要的是系统要支持任务,系统是为执行任务而构造的,系统应为业务和客户提供价值n很难确定或理解这种价值,有时也不能确保这种价值o世界是不断变化的n业务、技术、资源等等172024/7/21为什么需求获取很困难用户172023/8/16需求获取的目的o致力于开发正确的系统o要足够详细地说明系统需求,使客户和开发人员在系统应做什么、不应做什么方面达成共识o必须用客户语言来描述需求o需求获取的结果也有助于经理规划迭代和客户版本182024/7/21需求获取的目的致力于开发正确的系统182023/8/16需求获取概述o每个软件项目都是唯一的,源于系统、客户、开发组织、技术等情况都各不相同,但在大多数情况下一些确定的步骤都是可行的:1.列举出候选的需求n特性:状态、估计实现成本、优先级风险级别2.理解系统的语境n领域建模:领域对象及其之间的连接n业务建模:领域模型+支持的业务过程支持的业务过程+过程所需的能力过程所需的能力n业务工程方法是业务应用中用来获取需求的最系统的过程3.获取功能性需求:用况既获取功能需求,也获取非功能需求4.获取非功能性需求:不能与用况或现实世界中特定类相联系的非功能需求,归入补充需求192024/7/21需求获取概述每个软件项目都是唯一的,192023/8/1620需求的开发和管理 需求工程域的层次分解需求工程需求开发需求获取需求分析需求规格说明需求验证需求管理变更控制版本控制需求跟踪需求状态跟踪2024/7/2120需求的开发和管理 需求工程域的层次分解需求工程需求开21需求开发o可进一步分为:n问题获取(elicitation)、n分析(analysis)、n编写规格说明(specification)和n验证(verification)四个阶段2024/7/2121需求开发可进一步分为:2023/8/1622需求开发活动o确定产品所期望的用户类o获取每个用户类的需求o了解用户任务和目标以及业务需求o区别任务、功能、业务规则、质量属性、建议解决方法和附加信息o需求分子系统,分配给软件组件o相关质量属性o实施优先级的划分o编写成规格说明和模型o评审,达到共识2024/7/2122需求开发活动确定产品所期望的用户类2023/8/1623需求管理活动o定义需求基线o评审提出的需求变更o将需求变更融入到项目中o使当前的项目计划与需求一致o估计变更产生影响以协商新的承诺o需求与设计、源代码和测试用例联系o跟踪需求状态及其变更情况2024/7/2123需求管理活动定义需求基线2023/8/1624需求开发和需求管理之间的区别2024/7/2124需求开发和需求管理之间的区别2023/8/1625客户的需求观o软件客户:提出要求、支付款项、项目风险承担、或是获得产品所产生的结果的人。o业务需求为后继工作建立了一个指导性的框架。o对信息系统、合同(contract)或是应用系统的开发,业务需求应来自风险承担者,而用户需求则应来自产品的真正使用、操作者2024/7/2125客户的需求观软件客户:提出要求、支付款项、项目风险承担、26客户权利1.要求分析人员使用符合客户语言客户语言习惯的表达。2.要求分析人员了解客户系统的业务及目标业务及目标。3.要求分析人员组织需求获取期间所介绍的信息,并编写软件需求规格说需求规格说明明。4.要求开发人员对需求过程中所产生的工作结果进行解释说明解释说明。5.要求开发人员在整个交流过程中保持和维护一种合作的职业态度职业态度。6.要求开发人员对产品的实现及需求都要提供建议,拿出主意拿出主意。7.描述产品使其具有易用、好用易用、好用的特性。8.可以调整需求,允许重用允许重用已有的软件组件。9.当需要对需求进行变更时,对成本、影响、得失(trade-off)有个真真实可信的评估实可信的评估。10.获得满足客户功能和质量要求的系统,并且这些要求是开发人员同意同意的。2024/7/2126客户权利1.要求分析人员使用符合客户语言习惯的表达。227客户义务1.给分析人员讲解业务及说明业务方面的术语等专业问题专业问题。2.抽出时间清楚地说明需求说明需求并不断完善。3.当说明系统需求时,力求准确详细力求准确详细。4.需要时要及时对需求做出决策决策。5.要尊重尊重开发人员的成本估算和对需求的可行性分析。6.对单项需求、系统特性或使用实例划分优先级划分优先级。7.评审需求评审需求文档和原型。8.一旦知道要对项目需求进行变更,要马上与开发人员联系联系。9.在要求需求变更时,应遵照开发组织确定的工作过程工作过程来处理。10.尊重需求工程中开发人员采用的流程流程(过程)2024/7/2127客户义务1.给分析人员讲解业务及说明业务方面的术语等专28需求工程的推荐方法o知识技能o需求获取o需求分析o需求规格说明o需求验证o需求管理o项目管理2024/7/2128需求工程的推荐方法知识技能2023/8/1629知识技能o培训需求分析人员n了解应用领域并有效地应用需求工程中的成熟技术o培训软件需求的用户代表和管理人员n明白强调需求的重要性,以及忽略需求带来的风险o让开发人员了解应用领域的基本概念n关于客户业务活动、术语、目标等o编写项目术语汇编2024/7/2129知识技能培训需求分析人员2023/8/1630需求获取o确定需求开发过程o编写项目视图和范围文档o将用户群分类并归纳各自特点o选择每类用户的产品代表o建立起典型用户的核心队伍o让用户代表确定使用实例o召开应用程序开发联系会议o分析用户工作流程o确定质量属性和其它非功能需求o通过检查当前系统的问题报告来进一步完善需求o跨项目重用需求2024/7/2130需求获取确定需求开发过程2023/8/1631需求分析o包括提炼、分析和仔细审查提炼、分析和仔细审查已收集到的需求,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方o与客户交流交流以澄清某些易混淆的问题,并明确哪些需求更为重要o分析的目的在于开发出高质高质量和具体的需求量和具体的需求,这样你就能作出实用的项目估算并可以进行设计、构造和测试o绘制系统关联图o创建用户接口原型o分析需求可行性o确定需求的优先级别o为需求建立模型o创建数据字典o使用质量功能调配n将产品特性、属性与对客户的重要性联系起来n期望需求、普通需求、兴奋需求2024/7/2131需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所32需求规格说明o采用SRS模板o指明需求的来源n使用实例或其它客户要求n更高层系统需求、业务规范、政府法规、标准或别的外部来源o为每项需求注上标号o记录业务规范o创建需求跟踪能力矩阵n把每项需求与实现、测试它的设计和代码部分联系起来n把功能需求和高层的需求及其它相关需求联系起来了2024/7/2132需求规格说明采用SRS模板2023/8/1633需求验证o验证是为了确保需求说明准确、完整地表达必要的质量特点o客户的参与在需求验证中占有重要的位置o审查需求文档o以需求为依据编写测试用例o编写用户手册o确定合格的标准2024/7/2133需求验证验证是为了确保需求说明准确、完整地表达必要的质量34需求管理o建立起良好的配置管理方法是进行有效需求管理的先决条件o确定需求变更控制过程o建立变更控制委员会o进行需求变更影响分析o跟踪所有受需求变更影响的工作产品o建立需求基准版本和需求控制版本文档o维护需求变更的历史记录o跟踪每项需求的状态o衡量需求稳定性o使用需求管理工具2024/7/2134需求管理建立起良好的配置管理方法是进行有效需求管理的先决35项目管理o项目计划建立在功能基础之上,而需求变更会影响这些计划o选择一种合适的软件开发方法生存周期o基于需求的项目计划o发生需求变更时协商项目约定o编写文档和管理与需求相关的风险o跟踪需求工程所耗的工作量2024/7/2135项目管理项目计划建立在功能基础之上,而需求变更会影响这些36统一建模语言UML中国科学院软件研究所许舒人2024/7/2136统一建模语言UML中国科学院软件研究所2023/8/1637UML图o九种图n用例图(use case diagram)n顺序图(sequence diagram)n协作图(collaboration diagram)n类图(class diagram)n对象图(object diagram)n状态转移图(state transition diagram)n活动图(activity diagram)n构件图(component diagram)n部署图(deployment diagram)oUML2.0的新图n组合结构图(composite structure diagram)n交互概览图(interaction overview diagram)n时序图(timing diagram)n包图(package diagram)2024/7/2137UML图九种图2023/8/16模型和图oUML用多个视图来展示一个系统o这组视图成为一个模型o模型是一个特定系统的完整描述分类分类o用例图(Use-Case)o静态图(Static diagram)n类图、包图n对象图o行为图(Behavior diagram)n状态图n活动图 o交互图(Interactive diagram)n顺序图 n协作图 o实现图(Implementation diagram)n构件图 n部署图 2024/7/2138部署图用例图类图对象图构件图活动图状态图协作图顺序图模型库模型库模型和图UML用多个视图来展示一个系统分类2023/8/16UML元素392024/7/21UML元素392023/8/162024/7/2140体系结构和UML组织:包、子系统动态:交互、状态机逻辑视图构件视图过程视图构件类、接口、协作活动类部署视图节点用例视图用例2023/8/1640体系结构和UML组织:动态:逻辑视图构RUP工作流间关系41业务建模需求需求分析设计实现测试业务用例模型业务对象模型用例模型用例模型分析模型分析模型设计模型实现模型测试模型2024/7/21RUP工作流间关系41业务建模需求分析设计实现测试业务42在开发过程中运用UMLo需求获取n发现领域过程活动图n领域分析高层类图、会谈记录n识别协作系统部署图n发现系统需求细化类图、高层用例n将结果交给用户o分析n理解系统的用法用例图n充实用例用例说明n细化类图细化类图n分析对象状态变化状态图n定义对象间的交互顺序图、协作图n分析与协作系统的集成部署图、数据模型o设计n开发和细化对象图对象图、活动图n开发构件图构件图n制定部署图部署图n设计和开发GUI原型屏幕界面原型n测试设计测试脚本n开始编制文档文档的结构o开发n编制代码代码n测试代码测试结果n构建GUI和GUI到代码的连接及测试带有用户界面的功能系统n完成文档文档o部署n编制备份和恢复计划n安装最终系统部署好的计算机系统n测试按装后的系统测试结果n庆祝新系统JAD:联合应用开发会议2024/7/2142在开发过程中运用UML需求获取制定部署图部署图202343用例图o用例图,从用户角度描述系统行为功能(行为),并指出各功能的操作者n参与者(actor)o一个人o一个系统o又称“主角”n用例(use case)o参与者使用用例n系统(system)o硬件和软件的结合体o业务问题的解决方案2024/7/2143用例图用例图,从用户角度描述系统行为功能(行为),并指出44系统、参与者、用例2024/7/2144系统、参与者、用例2023/8/1645包含、扩展补货扩展点扩展点在填充隔层之前根据销售情况补货打开柜门关闭柜门2024/7/2145包含、扩展补货扩展点在填充隔层之前根据销售情况补货打开柜46泛化_用例买饮料买一听饮料买一杯饮料2024/7/2146泛化_用例买饮料买一听饮料买一杯饮料2023/8/1647泛化_参与者厂商代理采购员保管员2024/7/2147泛化_参与者厂商代理采购员保管员2023/8/1648行为图o行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系n状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件n活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动o用例行为o对象行为2024/7/2148行为图行为图(Behavior diagram),描述系活动图o显示工作步骤(活动)、判断点和分支o活动n起点、终点o活动转移o判定n直接、判定符号n条件o并发o信号n输出事件n输入事件o泳道:明确角色职责o对象节点:明确输入和输出;钉o处理异常n异常句柄o活动析构o时间流失、流程结束节点o约束符号o交互概览图n活动图和交互图的组合n每个活动都是一个独立的交互图492024/7/21活动图显示工作步骤(活动)、判断点和分支对象节点:明确输入和发送和接收事件50:电视显示新频道改变(频道)遥控器键按下(频道)改变(频道)按频道号码看2024/7/21发送和接收事件50:电视显示新频道改变(频道)遥控器键按下(时间、接收、异常51手动设置时间时间时间时间时间显示时间接收时间校准信号信号中断信号接收时间1 秒时间:=时间+1 秒3-6分上午2:00-5:00(东部时间)定点2024/7/21时间、接收、异常51手动设置时间时间时间时间时间显示时间接收52状态图o对象改变了自身的状态以响应事件和时间的流失oUML状态图就能捕捉这些状态变化o焦点是一个对象的状态变化o状态n起点、终点n状态名n活动列表o入口动作(entry)o出口动作(exit)o动作(do)o状态转移:触发器事件、无触发器转移o组成状态:历史状态(记住子状态、深H*、浅H)o子状态:顺序子状态、并发子状态o连接点:进入一个状态或退出一个状态的位置2024/7/2152状态图对象改变了自身的状态以响应事件和时间的流失202353初始、终止状态2024/7/2153初始、终止状态2023/8/1654传真机状态转移发传真entry/输入对方传真号exit/完成传输do/加时间戳空闲entry/传真完成exit/开始传真2024/7/2154传真机状态转移发传真entry/输入对方传真号空闲ent55PC状态转移打开PC初始化do/引导工作中屏幕保护时间到关机关机中按键 或移鼠标2024/7/2155PC状态转移打开PC初始化do/引导工作中屏幕保护时间56顺序、并发、历史状态等待用户输入修改显示工作中监视系统时钟时间到按键 或移鼠标时间间隔到输入保存用户输入显示用户输入2024/7/2156顺序、并发、历史状态等待用户输入修改工作中监视系统时钟57入口和出口在书架上已预约正在办理借出结束2024/7/2157入口和出口在书架上已预约正在办理借出结束2023/8静态图o静态图(Static diagram),包括类图、对象图和包图n类图o描述系统中类的静态结构(模仿现实世界、客户术语)o属性、操作、责任n对象图o是类图的实例,对象图只能在系统某一时间段存在 o对象名:类名、:类名n包图o由包或类组成,表示包与包之间的关系o包图用来对一个图的元素进行分组,描述系统的分层结构o全限定名:包名:包元素名n路径名:包:类o关系:泛化、依赖和细化582024/7/21静态图静态图(Static diagram),包括类图、对59类图o类(领域知识的词汇)n属性:属性名:类型=缺省值n操作(型构)o操作名(参数:类型)o操作名():类型n职责o类的缺省表示法n缺省符:o用构造型来组织属性和操作列表o约束:规则o注释o可见性n其他类可访问的属性和操作的范围n共有:其他类,“+”n受保护:子类,“#”n私有:类本身,“-”o作用域n实例:每个实例对象都有自己的属性和操作n分类符:所有实例只存在一个属性和操作2024/7/2159类图类(领域知识的词汇)可见性2023/8/1660可见性电视+商标+型号+调音量()-在屏幕上绘图像()#修改里程计数()2024/7/2160可见性电视+商标+调音量()2023/8/1661关系-关联o关联n关联o名字、方向、角色、约束o关联类o链:对象间的关系n多重性o一对一、一对多、一对“一或多”、一对“零或一”、n限定关联o限定符:ID信息n自身关联2024/7/2161关系-关联关联2023/8/1662关联上的约束银行出纳员服务排队顾客排队2024/7/2162关联上的约束银行出纳员服务排队顾客排队2023/63or约束高中生选择选择理科文科2024/7/2163or约束高中生选择选择理科文科2023/8/1664关联类、链球员球队雇员雇主合同总经理商议2024/7/2164关联类、链球员球队雇员雇主合同总经理商议2023/8/165链齐达内:球员踢球法国队:球队2024/7/2165链齐达内:球员踢球法国队:球队2023/8/1666自身关联司机开车汽车乘坐者乘客2024/7/2166自身关联司机开车汽车乘坐者乘客2023/8/1667关系-泛化、依赖o继承和泛化n基类或根类n叶类n单继承n多继承n抽象类o依赖n使用了另一个类n通常是操作的型构中用到另一个类的定义n如:displayForm(f:Form)2024/7/2167关系-泛化、依赖继承和泛化2023/8/1668泛化哺乳动物马2024/7/2168泛化哺乳动物马2023/8/1669依赖系统表格2024/7/2169依赖系统表格2023/8/1670关系-聚集、组成o聚集n整体-部分关联n约束o组成n强类型的聚集n每个部分只能属于一个整体o组合结构图n展示潜入在一个类中的那些类n使该类的内部结构变得可见2024/7/2170关系-聚集、组成聚集2023/8/1671聚集膳食汤沙拉主食餐后甜点2024/7/2171聚集膳食汤沙拉主食餐后甜点2023/8/1672组成茶几桌面腿2024/7/2172组成茶几桌面腿2023/8/1673接口和实现o接口n描述类的部分行为的一组操作n提供给其他类使用的一个操作集n所有操作的可见性都是共有的n用没有属性的类表示,o实现n一个类和它的接口之间的关系o一个类可以实现多个接口o一个接口也可以被多个类实现o接口和端口2024/7/2173接口和实现接口2023/8/1674类和接口洗衣机控制钮2024/7/2174类和接口洗衣机控制钮2023/8/1675接口的省略表示法洗衣机控制钮2024/7/2175接口的省略表示法洗衣机控制钮2023/8/1676接口和类交互洗衣机控制钮人2024/7/2176接口和类交互洗衣机控制钮人2023/8/1677球窝洗衣机人2024/7/2177球窝洗衣机人2023/8/1678端口鼠标计算机鼠标口2024/7/2178端口鼠标计算机鼠标口2023/8/1679交互图o交互图(Interactive diagram),描述对象间的交互关系n顺序图显示对象之间的动态协作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互o消息:发送对象对接收对象的一个请求,要求接收对象完成一个操作o时间从上到下延续n协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态协作关系o时间顺序用消息前的序号表示2024/7/2179交互图交互图(Interactive diagram),80顺序图o对象n生命线n激活o消息n调用消息n返回消息n异步消息o时间o实例顺序图:描述一个场景o一般顺序图:描述所有场景n条件oif:表达式oWhile:*表达式n最终消息前加上o在消息序列中创建对象实例o对象销毁o帧化顺序图sdn交互事件refn交互片断组合altn交互片断并发par2024/7/2180顺序图对象在消息序列中创建对象实例2023/8/16创建对象实例81:顾客按键(信用卡号):手机:面板处理顾客信息(信用卡号)显示提示(确认)按键(选择)处理顾客信息(选择)检查可用性(选择)可用:交易记录:售货机释放饮料(选择)接收饮料(选择)2024/7/21创建对象实例81:顾客按键(信用卡号):手机:面板处理顾客信销毁对象实例82:交易记录:面板:交易记录2024/7/21销毁对象实例82:交易记录:面板:交易记录2023/8/16帧化顺序图83:顾客接受(现金,选择):登记:面板显示提示(“用零钱”):售货机释放饮料(选择)选择有货接收饮料(选择)获取顾客输入(现金,选择)现金价格找零(现金,价格)没零钱退回现金(现金)transaction over没零钱检查存货(选择)售完显示提示(“售完”)transaction over售完退回现金(现金)修改(现金,价格)现金价格接收找零(现金,价格)transaction overSd买饮料2024/7/21帧化顺序图83:顾客接受(现金,选择):登记:面板显示提示(帧化交互事件84transaction over:顾客接受(现金,选择):登记:面板:售货机释放饮料(选择)选择有货接收饮料(选择)获取顾客输入(现金,选择)检查存货(选择)修改存货(现金,价格)Sd 买饮料最佳情况有货2024/7/21帧化交互事件84transaction over:顾客接复用交互事件85:顾客接受(现金,选择):登记:面板:售货机释放饮料(选择)接收(零钱)获取顾客输入(现金,选择)检查存货(选择)修改存货(现金,价格)Sd买饮料不合适零钱有货找零(现金,价格)2024/7/21复用交互事件85:顾客接受(现金,选择):登记:面板:售货机条件执行86:顾客接受(现金,选择):登记:面板显示提示(“用零钱”):售货机释放饮料(选择)选择有货接收饮料(选择)获取顾客输入(现金,选择)现金价格找零(现金,价格)没零钱退回现金(现金)transaction over没零钱检查存货(选择)显示提示(“售完”)售完退回现金(现金)修改(现金,价格)现金价格接收找零(现金,价格)transaction overSd买饮料elsetransaction over2024/7/21条件执行86:顾客接受(现金,选择):登记:面板显示提示(“并行执行87:顾客:登记:面板显示提示(“用零钱”):售货机释放饮料(选择)选择有货接收饮料(选择)获取顾客输入(现金,选择)transaction over没零钱售完显示提示(“售完”)退回现金(现金)现金价格接收找零(现金,价格)transaction overSd买饮料接受(现金,选择)没零钱退回现金(现金)现金价格找零(现金,价格)检查存货(选择)修改(现金,价格)transaction over售完2024/7/21并行执行87:顾客:登记:面板显示提示(“用零钱”):售货机协作图o顺序图与协作图语义等价o顺序图强调交互的时间顺序(按时间布局)o协作图强调交互的语境和参与交互的对象的整体组织(按空间布局)o对象图是一个快照,协作图是一部电影o状态变化和消息嵌套n3.1:o互斥保护条件的消息编号nyes 2.1go()nno2.1 stop()o多对象n一叠o返回值表示法n变量:=操作名(参数,参数)o主动对象n边框加粗o同步表示法n序号/消息882024/7/21协作图顺序图与协作图语义等价互斥保护条件的消息编号8820289实现图o实现图(Implementation diagram),与计算机系统密切相关n构件图o描述代码构件的物理结构及各构件之间的依赖关系。o有助于理解构件间的相互影响n部署图o定义系统中软硬件的物理体系结构 o计算机、外设,之间的连接o驻留的软件 2024/7/2189实现图实现图(Implementation diagr90构件图o软件构件是软件系统的一个物理单元o作为一个或多个类的实现o构件驻留在计算机中o构件定义了一个系统的功能o工件是一个构件的实现n部署构件、工作产品、执行构件o目的n使客户能够看到最终系统的结构和功能n让开发者有一个工作目标n让文档编写者能够理解所写文档是关于哪些方面的内容n利于复用(构件重要特征)o构件接口n只能通过构件的接口来使用构件定义的操作n提供接口n所需接口n替换:只要新构件符合旧构件的接口o实现(构件和构件的接口关系)o构件图恰好包括构件、接口和关系o黑盒、白盒(在构件中列出接口,并用关键字分组)o连接点、汇编连接、委托连接2024/7/2190构件图软件构件是软件系统的一个物理单元构件接口2023/91部署图o部署图:展示工件如何在系统硬件上部署,以及各个硬件部件如何相互连接o节点:各种计算机资源的统称n处理器:能够执行软件构件o部署工件n设备o连接:节点之间的连线2024/7/2191部署图部署图:展示工件如何在系统硬件上部署,以及各个硬件92UML2.0新图o组成结构图o交互概览览图o时序图o包图2024/7/2192UML2.0新图组成结构图2023/8/16组合结构图93人灵魂肉体2024/7/21组合结构图93人灵魂肉体2023/8/16交互概览图94:用户:用户:用户:图书馆数据库:图书馆员:保安查找()办理借阅请求()拿走书()查证借阅()走出图书馆()到存书位置2024/7/21交互概览图94:用户:用户:用户:图书馆数据库:图书馆员:保时序图95:洗衣机甩干.漂洗.洗涤.浸泡.2024/7/21时序图95:洗衣机甩干包图962024/7/21包图962023/8/1697业务建模中国科学院软件研究所许舒人2024/7/2197业务建模中国科学院软件研究所2023/8/162024/7/2198模型o在许多学科中,模型是设计者的语言o模型是系统要被创建的描述o模型是不同的投资者通信的手段o可视化模型,蓝图o范围o模型允许推断真实系统的某些特征2023/8/1698模型在许多学科中,模型是设计者的语言2024/7/2199为什么需要业务模型?建立客观系统软件的开发标准软件客户化业务工程成本核算工作流系统的实施ISO 9000 质量论证模型目的业务状况-今天(现状)-明天(目标)2023/8/1699为什么需要业务模型?建立客观系统模型目2024/7/21100哪些对象能用于描述企业?o功能n检查信用度,输入客户订单,.o数据n商品,客户,材料,供应商,.o组织单元n销售,采购,会计,生产部门,.o事件n客户订单已到达,发票已寄出,.o资源nPC,文件,车床,.o服务/产品nBPR 咨询,芯片,电路板,PC,这些不同对象不是孤立的,存在相互关系。2023/8/16100哪些对象能用于描述企业?功能这些不同2024/7/21101怎样描述?o文本:“销售部负责核查客户的信用度。”o表格:o图形:功能功能组织单元组织单元关系关系核查信用度销售部负责2023/8/16101怎样描述?文本:“销售部负责核查客2024/7/21102形式化描述o管理体系形式化描述的含义是:n用确定的、无二意的一套表达规则来描述组织管理体系。o为什么必须对管理体系进行形式化描述?n只有被形式化描述的客观事务才能够被计算机所理解。o形式化描述方法的要求:n管理的形式化描述是衔接管理体系和管理信息系统桥梁管理体系管理信息系统形 式 化 描 述2023/8/16102形式化描述管理体系形式化描述的含义是2024/7/21103业务模型o业务n拥有或消耗资源n具有目的的操作o业务模型n业务功能的抽象描述n业务的简化表述n核心概念是业务过程n集中表现业务的核心任务及其关键机制o业务所有者n设定目标n分配资源n运作业务o业务模型构架师n建立基础结构n设计业务流程n分配资源n实现业务目标o系统开发人员n改造、设计或开发配套的信息系统n支持业务运作2023/8/16103业务模型业务业务所有者业务模型作用o提高竞争力的需要n适应环境o竞争者o分包商o供应商o法律、法规o客户n加强自身o内部运作o产品和服务改进o新市场和用户o信息系统o作用n专注于事物的重要方面n促进交流n作为其他模型的基础o目的n理解现行业务关键机制n建立信息系统的基石n改进现行业务基础n展示革新后的业务结构n尝试新的业务理念n用以确定外部机遇2024/7/21104业务模型作用提高竞争力的需要作用2023/8/161042024/7/21105模型组成o视图n一个业务模型以数个不同的视图表示n一个特定观点的抽象描述o图表n每个视图由多个图表组成n每个图表表达了业务结构的特定部分或特定的业务状态n这些图表包含并表述了业务状态中的对象、过程、规则、目标和愿景o对象和过程n对象是业务中的事物n过程是业务中的活动o模型是由目标推动的2023/8/16105模型组成视图业务建模分类oCIM-OSAn(Computer Integrated Manufacturing-Openness System Architecture)欧共体 oARISn(Architecture of Integrated Information System)德国 oIDEFn(ICAM(Integrated ComputerAided Manufacturing)DEFinition)包含功能模型、信息模型和动态模型等 美国 oGRAI/GIM n(Graph with Results and Activities Interrelated)法国 oBAAN/DEM n(Dynamic Enterprise Modeling)BaaN公司oUMLn(Unified Modeling Language)OMG组织o扩展UML2024/7/21106业务建模分类CIM-OSA2023/8/161062024/7/21107UML业务建模o类图o对象图o状态图o活动图o顺序图o协作图o用例图o构件图o部署图2023/8/16107UML业务建模类图2024/7/21108Eriksson-Penker扩展o视图n业务愿景o愿景陈述o概念建模o目标问题建模n业务过程(活动和价值)o过程建模o装配线图o装配线图和用例n业务结构(资源结构)o资源建模o信息建模o组织建模n业务行为(个体行为和交互)o状态建模o交互建模o图表n愿景陈述图n概念模型n目标模型n过程图n装配线图n用例图n资源模型n组织模型n信息模型n状态图n交互图n系统拓扑图2023/8/16108Eriksson-Penker扩展视对应关系愿景陈述图文本描述概念模型类图目标模型对象图过程图活动图装配线图活动图用例图用例图资源模型类图组织模型类图|对象图信息模型类图|对象图状态图状态图交互图顺序图|协作图系统拓扑图类图(包图)2024/7/21109对应关系愿景陈述图 文本描述2023/8/16业务过程1102024/7/21业务过程1102023/8/16业务建模元模型1112024/7/21业务建模元模型1112023/8/16业务模式1122024/7/21业务模式1122023/8/16113RUP 业务建模过程o评估业务状态 o描述当前业务 o确定业务流程 o改进业务流程 o设计业务流程实现 o改进角色和职责 o研究流程自动化o开发领域模型 113RUP 业务建模过程评估业务状态 114业务建模活动114业务建模活动115需求分析中国科学院软件研究所许舒人2024/7/21115需求分析中国科学院软件研究所2023/8/16常用的需求分析方法o面向数据流的结构化分析方法(SA)o面向数据结构的Jackson方法(JSD)o结构化数据系统开发方法(DSSD)o面向对象的分析方法(OOA)等1162024/7/21常用的需求分析方法面向数据流的结构化分析方法(SA)1162面向数据流的结构化分析o业务分析(IPO)n范围o目标和任务o组织机构o职能范围o与外界联系n业务流程o业务1o业务2on信息系统存在问题n对信息系统期望o数据分析(DFD)n范围n任务概述o目标o用户特点n信息系统边界n功能分析n数据流分析o顶层o分解n业务1n业务2nn性能分析1172024/7/21面向数据流的结构化分析业务分析(IPO)数据分析(DFD)1信息传递118日日 常常 业业 务务 处处 理理业业 务务 控控 制制管管 理理 控控 制制战略规划战略规划分解和具体化综合和抽象化2024/7/21信息传递118日 常 业 务 处 理业 务 面向对象分析o面向对象分析的目的n完成对问题空间的分析n建立系统模型o具体任务:确定和描述n系统中的对象n对象的静态特性和动态特性n对象间的关系n对象的行为约束1192024/7/21面向对象分析面向对象分析的目的1192023/8/16分析原则o构造和分解相结合n构造:基本对象组装复杂对象n分解:对大粒度对象精化o抽象和具体化相结合n抽象:数据、操作对象n具体化:细节刻画,确定对象,提高模型稳定性o封装:独立的外部特性与内部实现细节分开o相关n静态结构关联:如整体和部分n动态结构关联:如消息传递o行为约束:静态、动态1202024/7/21分析原则构造和分解相结合1202023/8/16静态结构分析o确定对象、对象类n对象o一种具有简明界面及应用意义的实体的抽象n对象类o一组具有共同属性、操作和语义特征的对象o属性是类中对象的性质o操作是类中对象的行为o确定对象类之间的关系1212024/7/21静态结构分析确定对象、对象类1212023/8/16确定对象类之间的关系o一般化和特殊化关系n高层次的类表达共性,形成父类n低层次的类表达个性,形成子类n子类通过继承机制来获得父类的属性和操作o聚合关系:对象之间的组合构造关系n聚合对象:容器对象n组成对象:内含对象n聚合对象通过组成对象的操作来实现自身的操作o关联关系:引用关系和消息传递关系n一对一、一对多、多对多1222024/7/21确定对象类之间的关系一般化和特殊化关系1222023/8/1动态行为分析o动态行为分析n单个对象自身的生命周期演化n整个对象系统中对象间的消息传递和协同工作o静态结构限制了对象状态的取值范围o对象状态的变化是通过对象操作来完成的o事件可以由操作调用来表达o对象操作可以是并发的,对象状态的变化也可以是并发的1232024/7/21动态行为分析动态行为分析1232023/8/16开发领域模型 o确定所有对于业务领域来说比较重要的产品、可交付工件和事件 o详细说明业务实体的定义 o正式核实业务对象建模的结果是否符合涉众对业务的看法o核心开发团队o领域专家 2024/7/21124开发领域模型 确定所有对于业务领域来说比较重要的产品、可交付领域模型o领域模型描述领域中系统之间的共同的需求n领域模型是逻辑模型,而不是物理模型n领域模型是面向问题域的2024/7/21125领域模型领域模型描述领域中系统之间的共同的需求2023/8/领域特定的软件构架o领域特定的软件构架(Domain Specific Software Architecture)oDSSA描述在领域模型中表示的需求的解决方案nDSSA不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计nDSSA是面向解空间的2024/7/21126领域特定的软件构架领域特定的软件构架(Domain Spec2024/7/21127领域工程与应用工程行为产品领域工程应用工程系统1系统2系统n领域分析领域设计领域实现领域模型DSSA领域构件分析用户需求设计应用系统规约应用系统实现应用系统构架应用系统2023/8/16127领域工程与应用工程行为产品领域工程系领域分析o“标识一个特定问题领域中一类相似系统的对象和操作的活动”o关心n相似系统的共性n分析、设计的复用n代码的复用o借助用户的智能,提高系统的适应性,灵活性 1282024/7/21领域分析“标识一个特定问题领域中一类相似系统的对象和操作的活领域分析的步骤 129 概览领域需求 确定领域边界 主题文档分析 领域专家交互 确定体系结构 领域共性分析 抽取领域构件 软件进化设计 领域知识库设计 2024/7/21领域分析的步骤 129 概览领域需求 确定领域边界 主题需求分析目的o与客户和其他相关人员在系统的工作内容方面达成并保持一致 o使系统开发人员能够更清楚地了解系统需求 o定义系统边界 o为计划迭代的技术内容提供基础 o为估算开发系统所需成本和时间提供基础 o定义系统的用户界面,重点是用户的需要和目标 1302024/7/21需求分析目的与客户和其他相关人员在系统的工作内容方面达成并保如何看待IT在企业中的作用1 oCEO:n使IT目标和业务目标相一致;n借助IT完善业务流程;n提高业务有效性;n增强企业竞争优势;n提高内部客户满意度;n控制IT成本。n更关注o应用新技术建立企业竞争优势,o完善供应链。oCIO:n借助IT完善业务流程;n提高业务有效性;n使IT目标和业务目标相一致;n提高客户满意度;n增强企业竞争优势;n控制IT成本。n更重视oIT系统建设及oIT成本的控制。1312024/7/21如何看待IT在企业中的作用1 CEO:CIO:1312023如何看待IT在企业中的作用2o一半的CEO认为IT具有“前瞻性”n68%的CIO认为,oIT应当“前瞻性”地预测出业务发展时机,o并运用技术来实现。n只有56%的CEO认同这一观点。n44%的CEO认为,oIT应当支持并促进企业已划定的业务拓展活动。oCEO比较注重CIO和CXO间的关系 n在培养IT员工的业务和领导技巧方面,oCEO认为有效性是3.7,oCIO认为是3.2。1322024/7/21如何看待IT在企业中的作用2一半的CEO认为IT具有“前瞻性如何看待IT在企业中的作用3oCEO对技术性知识技能评价更高 n技能有:o有效沟通,o战略制定和实施,o熟练掌握业务流程和操作等n对于技术性知识技能的评价,oCEO所占比重是33%,oCIO是19%;n在了解行业趋势、市场动向及业务策略的选项上,oCEO所占比重是33%,oCIO是27%。oCEO认为建立竞争优势对企业影响更大 nCEO把“促进竞争优势的形成”列为第二大贡献,nCIO则把它列为第五1332024/7/21如何看待IT在企业中的作用3CEO对技术性知识技能评价更高 与其他工作流程的关系 o业务建模n业务规则、n业务用例模型和n业务对象模型 o分析设计n从需求中获取主要输入(用例模型和词汇表)n发现用例模型的缺陷;n随后将生成变更请求,并应用到用例模型中。o测试n验证代码是否与用例模型一致n用例和补充规约为测试需求提供输入 o环境n需求管理和用例建模中使用的支持性工件 o管理n制定项目计划n制定需求管理计划n用例模型是计划重要输入1342024/7/21与其他工作流程的关系 业务建模测试1342023/8/16需求开发过程o组织o理解要解决的问题o理解涉众需求o定义系统o不断地管理范围和变更o精炼系统定义o构造正确的系统o管理需求过程1352024/7/21需求开发过程组织1352023/8/16组织o团队就将要采用的基本软件过程达成一致o用一两页的需求管理计划,从过程和文档的角度,确定如何管理该项目的需求o确定这个项目将要采用的软件工具的种类o确定代码和需求文档的配置管理计划o建立迭代计划,确定基本项目规则和报告制度 1362024/7/21组织团队就将要采用的基本软件过程达成一致1362023/8/理解要解决的问题o执行5步问题分析过程n就要解决的问题达成一致,形成文字n理解问题的主要原因n识别系统中的涉众n定义系统边界。写下边界,用系统环境图或初步的用例图标识涉众n识别对解决方案的限制约束,形成文字o向外部涉众传播问题陈述,并坚持就问题陈述达成一致后才进行下一步工作1372024/7/21理解要解决的问题执行5步问题分析过程1372023/8/16138理解涉众需求o用通用的模板建立项目的访谈计划o访问已识别的5-15位涉众o总结访谈结果:聚合前10-15条用户需求或引用用户自己的词汇精炼用户10-15条需求o开始需求金字塔(需求/特性/软件需求)o推动项目需求会n举行头脑风暴会议,识别或精炼特性n完成想法缩减和特性优先顺序n用“关键、重要和有用”分类o在项目过程中举行一两次需求会提供用户输入格式o对所有创新概念建立示意板。给用户演示用例并获得反馈意见o确保过程尽早服从在用户环境可以测试的迭代2024/7/21138理解涉众需求用通用的模板建立项目的访谈计划2023/8定义系统o采用前景文档模板,适当裁减o定位产品,广泛传达,直到用户同意o在前景文档中写入所有的特性n跟踪特性到用户需求n用优先级、风险、工作量、稳定性和版本n在产品计划中定义商业需求o及时更新前景文档n发布以便容易获取和复审n建立变更特性的正规渠道n采用增量前景文档o开发用例模型1392024/7/21定义系统采用前景文档模板,适当裁减1392023/8/16不断地管理范围和变更o基于团队工作量的评估,确定前景文档发布基线o获得用户对项目范围的同意o鼓吹并教授迭代开发o用基线管理变更o变更请求系统,确保变更求提交给变更控制委员会1402024/7/21不断地管理范围和变更基于团队工作量的评估,确定前景文档发布基精炼系统定义o精炼用例模型,用例规约和补充规约到需要的详细程度o促使开发团队和测试团队管理工作量o跟踪非功能需求和用例、特性的一致性o确保发现所有的非功能需求,包括设计约束1412024/7/21精炼系统定义精炼用例模型,用例规约和补充规约到需要的详细程度构造正确的系统o促使测试部门参与需求管理n开始测试计划n复审用例,查找更多的备选流和事件n头脑风暴其他潜在的条件n开发出场景和测试用例n非
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!