您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 4.业务架构视图-业务建模与领域分析
业务架构视图业务架构视图--业务建模与领域业务建模与领域分析分析胡协刚软件架构师UML/RUP专家2¾¾软件系统的上下文软件系统的上下文¾¾业务建模概貌业务建模概貌¾¾描述目标组织描述目标组织¾¾细化业务用例模型细化业务用例模型¾¾分析业务用例分析业务用例¾¾引申软件系统需求引申软件系统需求内容提要内容提要软件系统的上下文软件系统的上下文4••用户的需求老是变来变去,前几天刚刚说要变成这用户的需求老是变来变去,前几天刚刚说要变成这样,今天却又让我改回原来的样子;天哪!真不知他样,今天却又让我改回原来的样子;天哪!真不知他们是怎么了。到底怎样的需求才是对的?们是怎么了。到底怎样的需求才是对的?••到了到了betabeta测试版本部署到客户现场后,用户才突然发测试版本部署到客户现场后,用户才突然发现系统需要增加一大批新的功能,他们的业务才能真现系统需要增加一大批新的功能,他们的业务才能真正运作起来,当时做的那些需求简直成了垃圾。正运作起来,当时做的那些需求简直成了垃圾。••程序员小张感到最尴尬的经历就是程序员小张感到最尴尬的经历就是————费了九牛二虎费了九牛二虎之力开发了一套权限管理机制,却发现还是缺乏足够之力开发了一套权限管理机制,却发现还是缺乏足够的灵活性来适应客户的业务管理流程;最后客户的业的灵活性来适应客户的业务管理流程;最后客户的业务主管告诉他,其实只要在他们的业务制度中加上一务主管告诉他,其实只要在他们的业务制度中加上一些强制性规定,让业务员遵守,就能满足他们的业务些强制性规定,让业务员遵守,就能满足他们的业务要求了;小张的工作算是白做了。要求了;小张的工作算是白做了。业务业务//领域分析中的常见问题领域分析中的常见问题5••程序员小赵当前开发的一套系统涉及的业务比较复程序员小赵当前开发的一套系统涉及的业务比较复杂,牵涉到许多业务规则和活动;小赵感到头大的杂,牵涉到许多业务规则和活动;小赵感到头大的是,用户根本不懂软件,提出的需求往往让人啼笑是,用户根本不懂软件,提出的需求往往让人啼笑皆非,但自己原来不懂业务,也不知现在该怎样从皆非,但自己原来不懂业务,也不知现在该怎样从中理出一个头绪来;老板已定下最后期限,很快要中理出一个头绪来;老板已定下最后期限,很快要跟客户对需求签字啦。跟客户对需求签字啦。。。。。。。业务业务//领域分析中的常见问题领域分析中的常见问题699软件需求不能脱离目标系统的上下文:软件需求不能脱离目标系统的上下文:对系统行为、特性或属性的规格说明不是需对系统行为、特性或属性的规格说明不是需求的全部,因为它还要依赖上下文求的全部,因为它还要依赖上下文————系系统、外部系统与用户一道才能完成任务。统、外部系统与用户一道才能完成任务。软件需求与系统的上下文软件需求与系统的上下文上下文目标系统用户外部系统7示例:业务上下文示例:业务上下文8分析是描述已存在的事物(概念模型)分析是描述已存在的事物(概念模型)::¾¾一个正在运转的业务流程;一个正在运转的业务流程;¾¾一套现有的硬件设施;一套现有的硬件设施;¾¾一批针对业务问题的解决需求。一批针对业务问题的解决需求。设计是定义期望实现的事物(规格模型)设计是定义期望实现的事物(规格模型)::¾¾新的用户界面;新的用户界面;¾¾替代原有应用的新系统;替代原有应用的新系统;¾¾业务再造业务再造————新的业务流程新的业务流程通俗地讲,分析着眼于搞清楚问题,即确定要做的通俗地讲,分析着眼于搞清楚问题,即确定要做的正确的事(正确的事(dorightthingsdorightthings););设计着眼于解决设计着眼于解决问题,即决定如何正确地做(问题,即决定如何正确地做(doitrightdoitright))分析与设计分析与设计9当我们从更大的视野来分析问题时,软件需当我们从更大的视野来分析问题时,软件需求将转化为解决问题的一种设计方案求将转化为解决问题的一种设计方案————¾¾对于一个正在运转的手工业务流程,我们设对于一个正在运转的手工业务流程,我们设计一套自动化的作业方案来替代它;而其中计一套自动化的作业方案来替代它;而其中的核心便是执行业务的软件系统,它在新的的核心便是执行业务的软件系统,它在新的作业方案中所要承担的职责,便是软件本身作业方案中所要承担的职责,便是软件本身的需求规格。的需求规格。¾¾对于一套硬件设施,例如医疗诊断设备,其对于一套硬件设施,例如医疗诊断设备,其诊断功能最终要由组成系统的硬件和软件共诊断功能最终要由组成系统的硬件和软件共同协作来实现;向软件部分分配职责其实就同协作来实现;向软件部分分配职责其实就是分配需求(可以认为也是一种设计)。是分配需求(可以认为也是一种设计)。需求也可以成为设计的成果需求也可以成为设计的成果10业务建模与领域分析业务建模与领域分析zz对于业务密集的软件系统,通过业务建对于业务密集的软件系统,通过业务建模,将目标系统所处的业务流程上下文模,将目标系统所处的业务流程上下文理清楚;在探索自动化的步骤中,定义理清楚;在探索自动化的步骤中,定义自动化需求,从而得到充分、合理的软自动化需求,从而得到充分、合理的软件需求规格件需求规格zz对于科学计算、工程工具等软件,例如对于科学计算、工程工具等软件,例如CADCAD软件,可以开展领域分析,将目标软件,可以开展领域分析,将目标系统所面临的领域内问题分析透彻;这系统所面临的领域内问题分析透彻;这些分析成果(例如领域模型),将成为些分析成果(例如领域模型),将成为确定软件需求规格的关键来源确定软件需求规格的关键来源业务建模概貌业务建模概貌12业务建模活动全景业务建模活动全景FindBusinessActorsandUseCasesBusiness-ProcessAnalystStructuretheBusinessUse-CaseModelCaptureaCommonVocabularyBusinessModelReviewerReviewtheBusinessUse-CaseModelDetailaBusinessUseCaseBusinessDesignerReviewtheBusinessObjectModelDetailaBusinessEntityFindBusinessWorkersandEntitiesDetailaBusinessWorker13业务建模的对象业务建模的对象zz业务的执行主体业务的执行主体————目标组织目标组织targetorganizationtargetorganization14目标组织的构架目标组织的构架BusinessArchitecture•ProductsandServices•Processes•Organization•LocationsApplicationArchitecture•Applications•Components•Interfaces•ServicesTechnicalArchitecture•HardwareInfrastructure•Network&Communications•Datamanagement•AvailabilityMarket&environmentforcesInnovationTechnologyforcesDriversDriversTradeoffsTradeoffs15业务建模的目标业务建模的目标zz用于理解目标组织当前的问题,并识别改进用于理解目标组织当前的问题,并识别改进机会机会zz用于评估组织性用于评估组织性organizationalorganizational变更的影响变更的影响zz确保客户、最终用户、开发人员和其他伙伴确保客户、最终用户、开发人员和其他伙伴对目标组织拥有共同的理解对目标组织拥有共同的理解zz用来抽取软件系统的需求,以便支持目标组用来抽取软件系统的需求,以便支持目标组织的业务需要织的业务需要zz用来理解被部署的软件系统如何适应目标组用来理解被部署的软件系统如何适应目标组织织16业务建模的范围业务建模的范围根据应用上下文和相关需要,业务建模有不同的范根据应用上下文和相关需要,业务建模有不同的范围,主要有以下场景:围,主要有以下场景:zz组织轮廓图组织轮廓图OrganizationChartOrganizationChart简单描述目标组织的结构和业务流程,以便更好地理简单描述目标组织的结构和业务流程,以便更好地理解应用软件的需求;它包含于软件工程项目的工作解应用软件的需求;它包含于软件工程项目的工作内容中,一般不更改业务本身内容中,一般不更改业务本身zz领域模型领域模型DomainModelingDomainModeling在开发信息密集(主要管理和呈现业务信息)系统在开发信息密集(主要管理和呈现业务信息)系统时,例如订单管理系统,可以在业务层面对这些关时,例如订单管理系统,可以在业务层面对这些关键信息建模,而忽略之上的业务流程;它同样属于键信息建模,而忽略之上的业务流程;它同样属于软件项目的工作内容软件项目的工作内容17业务建模的范围业务建模的范围zz一种业务多个系统一种业务多个系统对于为复杂业务服务的大型系统、或一族应用系统,对于为复杂业务服务的大型系统、或一族应用系统,可以建立一个业务模型,同时成为多个软件项目的可以建立一个业务模型,同时成为多个软件项目的输入;业务建模在此通常作为单独的项目来展开输入;业务建模在此通常作为单独的项目来展开zz通用业务模型通用业务模型GenericBusinessModelGenericBusinessModel对于开发一种将被多个组织使用的应用系统,例如帐对于开发一种将被多个组织使用的应用系统,例如帐务管理应用,业务模型可以用于规整不同组织的业务管理应用,业务模型可以用于规整不同组织的业务处理方式,避免软件需求过于复杂;或者在规整务处理方式,避免软件需求过于复杂;或者在规整不了时,帮助项目组理解各组织对目标软件在使用不了时,帮助项目组理解各组织对目标软件在使用场景上的不同之处,从而加以控制场景上的不同之处,从而加以控制18业务建模的范围业务建模的范围zz全新的业务全新的业务目标组织在决定开展一种全新的业务时,常常需要相目标组织在决定开展一种全新的业务时,常常需要相应的信息系统来支撑它;在此,业务建模不仅仅用应的信息系统来支撑它;在此,业务建模不仅仅用于发现软件需求,同时也用来确定(设计)新的业于发现软件需求,同时也用来确定(设计)新的业务操作的可行性,它通常作为单独的项目来展开务操作的可行性,它通常作为单独的项目来展开zz业务重组业务重组RevampRevamp如果目标组织决定全面重组其业务时,业务建模常常如果目标组织决定全面重组其业务时,业务建模常常作为一个或多个独立项目来展开;典型的,业务再作为一个或多个独立项目来展开;典型的,业务再工程分多个阶段来实施:构思新的业务,反向工程工程分多个阶段来实施:构思新的业务,反向工程已有业务,正向工程新的业务,最后部署新的业务已有业务,正向工程新的业务,最后部署新的业务19业务建模工作流程业务建模工作流程20业务建模的工件业务建模的工件21UMLUML语言与业务建模语言与业务建模zz通过版型等扩展机制加以扩展,通过版型等扩展机制加以扩展,UMLUML语言已语言已经成为支持业务建模的最佳选择经成为支持业务建模的最佳选择zz扩展了业务用例扩展了业务用例businessactor/businessusebusinessactor/businessusecase/businessgoalcase/businessgoalzz扩展了业务对象扩展了业务对象businessworker/businessentity/businessbusinessworker/businessentity/businessevent/businessruleevent/businessrulezz扩展了业务系统扩展了业务系统businesssystem/unitbusinesssys
本文标题:4.业务架构视图-业务建模与领域分析
链接地址:https://www.777doc.com/doc-4256212 .html