[架构之路-97]:《软件架构设计:程序员向架构师转型必备》-7-需求分析与业务需求领域建模

文火冰糖的硅基工坊 文火冰糖的硅基工坊     2023-02-05     396

关键词:

前言:

需求分析工程师工作中业务领域,而业务领域有很多业务领域专有的概念;

程序员主要工作在计算机领域,他们没有足够的业务领域的知识识别业务领域的过于专业化的业务需求。

为了确保业务需求能够被软件工程师正确无误地实现,就需要需求分析工程师或架构师为业务领域建立计算机领域的抽象模型,这个模型称为业务领域模型

第7章 业务需求领域建模

7.1 什么是领域模型

业务领域模型是需求分析人员的职责,以便于更好使用相同的“语言”与面向对象的程序员之间沟通业务需求,这就是业务领域模型的价值与意义。

7.1.1 业务领域模型的定义?

备注:

所以领域,就是业务领域,如5G移动通信、数据通信、医疗、金融、交通、电力这些都是业务领域。

每个的领域都拥有大量的专业化的专有名词和业务流程,然而,无论这些领域的专业知识如何变化,实际上都可以通过面向对象的编程,如C++或Java等编程语言实现。

为了平缓业务领域的专业性和面向对象编程语言的通用性之间的差别,业务领域模型应运而生。

7.1.2 业务领域模型是什么?

备注:

类图:使用面向对象的方法抽象业务领域中存在的各种静态概念。

状态图:使用状态机描述业务领域特有的各种业务状态轮转。

业务领域模型已经具备一定的架构设计,因此通常有需求分析工程师或架构师,而不是程序员来完成此任务。

架构师或需求分析工程师:根据对需求的理解和面向对象的理解,对需求领域的概念和业务状态进行抽象。有了这些模型,程序员就很容易根据领域模型和面向对象编程的技能,对目标系统进行编程实现了。

7.1.3 业务领域模型“为什么”

7.2 需求人员视角——促进用户沟通、解决分析瘫痪

7.2.1 领域建模与需求分析的关系

7.2.2 沟通不足

7.2.3 分析瘫痪

7.2.4 案例:多步领域建模,熟悉陌生领域

7.3 开发人员视角——破解“领域知识不足”死结

7.3.1 领域模型作为“理解领域的手段”

7.3.2 案例:从词汇表到领域模型

7.4 实际应用(5)——功能决定如何建模,模型决定功能扩展

7.4.1 案例:模型决定功能扩展

备注:领域模型是专业业务领域与通用的计算机领域的桥梁。

7.4.2 实践:功能决定如何建模

7.4.3 PM Suite领域建模实录(1)——类图

类图是领域建模师(架构师或需求分析人员)同专业领域专家逐步讨论、逐步细化出来的!!!

请看如下案例:

7.4.4 PM Suite领域建模实录(2)——状态图

7.4.5 PM Suite领域建模实录(3)——可扩展性

结束语:

至此,需求领域的任务就完成了......

后续就是就架构设计领域的任务了.......

本章既是专业业务领域的需求,也是计算机领域的设计,是有架构师或业务分析人员与业务领域的专家共同确定的、用面向对象的方法表达的业务领域的需求,同时也是对计算机软件的需求。

业务领域模型在专业的业务领域与计算机领域架起的一座桥梁!!!

[架构之路-97]:《软件架构设计:程序员向架构师转型必备》-7-需求分析与业务需求领域建模

...领域,而业务领域有很多业务领域专有的概念;程序员主要工作在计算机领域,他们没有足够的业务领域的知识识别业务领域的过于专业化的业务需求。为了确保业务需求能够被软件工程师正确无误地实现,就需... 查看详情

[架构之路-100]:《软件架构设计:程序员向架构师转型必备》-10-细化架构设计

...司:有财务、研发、有销售、有生产等部门一样。10.2程序员向架构师转型的关键突破——学会系统思考目标软件就是一个系统所谓系统思考,就是整体的视角参看整个系统,从不同的视角、不同的用户、不同的层面... 查看详情

[架构之路-95]:《软件架构设计:程序员向架构师转型必备》-5-需求分析之需求列表(功能需求质量需求约束条件)

前言:在业务需求分析领域,主要完成三个输出:需求列表:功能需求、质量需求、约束条件=》第5章用例图=》第6章概念架构=》第7章上述工作,通常是由需求分析工程师或系统工程师SE完成,也... 查看详情

[架构之路-96]:《软件架构设计:程序员向架构师转型必备》-6-需求与用户用例usercase/senario建模

第6章需求与用户用例UserCase建模备注:严格意义上讲,用户用例属于需求分析领域,不属于架构设计。用户用例是架构设计最重要的输入参考之一。UserCase和UserSenario是非常重要的描述需求的重要手段6.1常用的4种用例... 查看详情

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)

第13章如何分层13.1分层架构13.1.1常见模式:展现层、业务层、数据层13.1.2案例一则13.1.3常见模式:UI层、SI层、PD层、DM层13.1.4案例一则13.2分层架构实践技巧13.2.1设计思想:分层架构的“封装外部交互”思想备注:... 查看详情

[架构之路-90]:《软件架构设计:程序员向架构师转型必备》-0-总结

...路径。今天分享的这份资料主要包含:软件开发普通程序员向系统架构师转型的一些思路、方法和工程实践。也包括转型过程中意识形态的转变、技术体系的掌握、系统工程学的拓展及各项软技能的提升等内容。本书深入剖... 查看详情

[架构之路-91]:《软件架构设计:程序员向架构师转型必备》-1-从程序员到架构师,学习本书的路径

第1章从程序员到架构师本书不是从系统培训的角度,也不是按照软件的开发流程来组织内容的和展现软件架构师在不同阶段中的职责和作用,而是立足于程序员,展现程序员走向架构师的路径。1.1软件业人才结构1.1.1... 查看详情

[架构之路-93]:《软件架构设计:程序员向架构师转型必备》-3-软件架构设计中的视图view

前言:同一个软件系统,从不同的视角View,得到不同的视觉和感受。所有的视角得到的视觉感受综合而成了整个系统的架构。有些视角是用眼睛看,有些视角是耳朵听,有些视角用探测器探。不同的人,... 查看详情

[架构之路-94]:《软件架构设计:程序员向架构师转型必备》-4-软件架构设计的通用过程

第4章软件架构设计的通用过程本文给出了进行架构设计的通用过程,每个步骤过程的详细方法,在后续的章节中单独探讨。4.1架构设计的实践脉络/步骤4.1.1架构设计的三大原则:看需求、把方向、细设计(1)... 查看详情

[架构之路-94]:《软件架构设计:程序员向架构师转型必备》-4-软件架构设计的通用过程

第4章软件架构设计的通用过程本文给出了进行架构设计的通用过程,每个步骤过程的详细方法,在后续的章节中单独探讨。4.1架构设计的实践脉络/步骤4.1.1架构设计的三大原则:看需求、把方向、细设计(1)... 查看详情

[架构之路-92]:《软件架构设计:程序员向架构师转型必备》-2-解析软件架构的概念

...;很难统一。本文是按照作者个人的理解,来展现一个程序员如何向架构师演进的路径。第2章解析软件架构概念程序员要转向架构的第一道门槛就是:什么是架构?在众多定义中,如何立足自身的实际情况和起点&#... 查看详情

[架构之路-102]:《软件架构设计:程序员向架构师转型必备》-12-粗粒度“软件架构的功能模块”划分,架构师必备基础技能

第12章粗粒度“功能模块”划分备注:(1)功能划分的基本原则:高内聚、低耦合每个子系统、子模块可以独立设计(2)划分方法功能化水平切分垂直切分分层接口12.1功能树12.1.1什么是功能树同一层次的... 查看详情

[架构之路-105]:《软件架构设计:程序员向架构师转型必备》-15-模块划分的综合技术与4步骤法

15.模块划分的综合技术与4步骤法本章把前面切分模块的各种方法都综合了起来,模块划分的综合技术与4步骤法。15.1像专家一样思考15.1.1自顶向下vs.自底向上,垂直切分vs.水平切分15.1.2横切竖割,并不矛盾15.2模块划... 查看详情

[架构之路-92]:《软件架构设计:程序员向架构师转型必备》-2-解析软件架构的概念

...;很难统一。本文是按照作者个人的理解,来展现一个程序员如何向架构师演进的路径。第2章解析软件架构概念程序员要转向架构的第一道门槛就是:什么是架构?在众多定义中,如何立足自身的实际情况和起点&#... 查看详情

[架构之路-101]:《软件架构设计:程序员向架构师转型必备》-11-原型设计与架构评估与提前验证

11.架构评估与提前验证所谓架构验证,就是在架构还没有实施之前,通过原型的方法,提前评估和验证设计的架构是否合理、是否可行。软件原型模型又叫软件快速原型模型,它指的是在执行实际软件的开发之前&... 查看详情

架构师之路系列文章

目录文章目录目录企业数字化转型架构师之路业务架构应用架构API经济数据库设计设计模式系统架构分布式系统RPC远程调用分布式消息队列分布式任务队列微服务架构ServiceComb部署架构高可靠、高可用、高并发、高性能、高可扩... 查看详情

软件架构师应该知道的97件事

...变一切:简单原则,非必要别试图改变以前的工作34软件架构专业还有很长的路,因为架构不断的变化,演讲35 控制项目规模。抓住需求,分而治之,设置优先级,尽快交付36软件架构师是管家,管理技术和建议团队协作37软... 查看详情

[架构之路-99]:《软件架构设计:程序员向架构师转型必备》-9-确定关键性需求与决定系统架构的因素

第9章确定关键性需求与决定系统架构的因素9.1概念架构是什么9.1.1概念架构是直指目标的设计思想、重大选择9.1.2案例1:汽车电子AUTOSAR——跨平台复用NA9.1.3案例2:腾讯QQvideo架构——高性能NA9.1.4案例3:微软MFC架构—... 查看详情