软件工程-分离原理

2023-11-03

分离原理是建立企业管理信息系统分析方法体系的基础
分离原理与组合原理的关系
image.png
定义
分离原理,将研究对象中符合相同设计方法的同类项进行分离、归集。这种分离方式为在软件工程中建立具有普遍意义的分析与设计模型奠定了基础。
作用
将企业的运行体系进行拆分,在露出运行体系内部的要素、关系后才容易理解和分析它们。分离原理的主要作用有以下两点。

  • 作用1:提出了对企业构成内容按照设计方法进行分离和归集。
  • 作用2:分离原理为建立具有普遍意义的分析与设计模型奠定了基础。

分离原理要解决的是:
如何拆分研究对象中包含的各类要素(如业务、管理),拆分的逻辑是否合理、粒度是否合适。分离原理大幅度降低了需求分析与软件设计的复杂程度。

分离原理模型

image.png

分离方法

  • 纵向分离(按照部门进行纵向切分)

因为存在着不同的行业,不同行业中还存在着不同的企业,即使是在同类行业内的企业各自的部门设置和名称也不尽相同,所以如果按照纵向进行分离,以部门为边界进行的分离会得到数量繁多的分类
意义:按照组织部门的划分方向进行切分,得到的是无限多的要素分类

  • 横向分离

切分出来的要素分类数量是有限的,只有4种:业务、管理、组织、物品。不论是什么行业、企业,且不论企业内部有什么部门、从事什么业务,其构成都可以用这4类要素来表达,因此横向切分得到的4类要素对了解企业构成的共性、建立具有普遍意义的模型具有重要意义
意义:按照横向切分,因为只有4层,所以获得了4种分类:组织、管理、业务和物品,这4类要素合起来可以覆盖所有的企业,它们与企业的特性脱离了关联
给后续的需求分析、业务设计、技术设计以及系统的开发带来了很多的益处
分离4要素之间的关系
image.png

分离原理模型

image.png
①业务:是进行生产的内容,包括需要导入信息化处理的全部业务对象。
②管理:与业务相关的管理内容、控制规则、评估指标等。
③组织:支持业务、管理的人力资源的安排,包括组织结构、岗位等。
④物品:所有的生产资料,包括业务运行产生的产品,以及生产产品所需要的设备等。

业务的概念

定义:业务,指企业为达成某个目标而进行的一系列活动
1)一般企业

  • 销售部门的“业务”是将产品销售出去。
  • 生产部门的“业务”是将产品制造出来。

2)在医院

  • 门诊部门的“业务”是为患者做诊断。
  • 药剂部门的“业务”是从库房中取药交给患者。

在学校

  • 教师的“业务”是向学生们传授知识。
  • 学生的“业务”是从教师那里学习知识。

软件行业的业务概念

  • 对软件企业内部:除去直接做与编码相关的工作岗位(包括技术设计、编程、测试)以外,其他岗位(包括需求调研/分析、业务架构/设计)的工作,都属于“业务”范畴。
  • 对软件客户:将软件客户需要进行信息化对应的工作全部称为“业务”。

管理的概念

为实现业务目标而进行的决策、计划、组织、指导、实施、控制的过程。

  • 管理是在特定的环境下,对组织所拥有的资源进行有效的计划、组织、领导和控制,以便达成既定的组织目标的过程。
  • 管理有6个环节:管理规则确定、管理资源的配置、目标的设立与分解、组织与实施过程控制、效果评价、总结与处理。

根据“管理方”和“被管理方”的不同,将管理方式分为4种组合
人管人
由“人”对“人”进行直接的管理,如上级对下级、领导对员工,这类方式属于传统的管理方式。具有灵活性,但是不严谨,因人而异。
人管物
由“人”对“物”进行管理,“物”包括产品、设备、物资等。
机管人
用计算机建立信息系统,将流程、业务标准、管理规则等输入给计算机,然后计算机按照预置规则对人进行管理,相当于借助机器间接地管理人。
具有严谨、快速的特点。但是不通融。
机管物
用包括计算机在内的各类设备监控自动生产流水线属于此类
业务与管理的特性
业务:具有个性、具有稳定性、是管理的载体、是实现价值
管理:具有共性、具有易变性、是对业务的控制、是保证价值
业务的影响:业务形态的变化是由于生产技术、材料、工艺以及标准等发生了变化而带来的。随着业务形态的改变,企业会选择不同的管理方法以适应新的业务形态,新形态业务的出现会催生新的管理理论、管理模式的出现。
管理的影响:业务处理的方式不同需要不同的管理方式;同样,管理方式的进步又可以反过来影响对业务的优化方式。业务和管理之间需要反复地磨合才能最终确定下来与业务最为匹配的管理方式。
业务和管理不一定成对出现
生产一把椅子的过程,由选取木材、切割、刨光、开榫、组合、上漆等多个步骤组成

  • 无人管理的场景:制作椅子的过程全由1个人完成,那么就不存在人对人的管理
  • 有人管理的场景:建立椅子的生产流水线,由多人一起协作完成椅子的制作,虽然制作椅子的步骤还是一样的,为了保证各个环节之间协同工作可以满足质量、数量、时间等的要求,在人对物的管理之上,还要再增加人对人的管理措施

业务与管理的比例
从管理的目的来看,管理是为了保证业务目的的达成

  • 当道路非常混乱、通行效率非常低下的时候,设置信号灯可以提升效率。
  • 当交通量不大的时候,设置过多的信号灯反而会降低通行效率。

并非是管理设置的越多越好

分离–业务与管理

分离的对象包括:要素、架构以及流程等内容。
要素的分离
在了解一个企业的业务时,第一手获得的需求中“业务”和“管理”的要素通常都是混在一起的,需要将它们拆分开来,识别出哪些属于业务、哪些属于管理,分离开的业务和管理在设计时再将它们架构在一起
image.png
拆分的目的是要搞清楚:
哪些要素是在“做事”,做事的要素构成了业务架构,目的是为“生产”价值
哪些要素是在“管事”,管事的要素构成了管理架构,目的是为“保证”业务可以生产出预期价值
image.png
业务与管理的区别
①在泛指“业务对象、研究对象”时,对象中包含“业务和管理”的两类要素;
②在强调“业务相关的内容”时,对象中仅包含“业务要素”,简称为“业务”;
③在强调“管理相关的内容”时,对象中仅包含“管理要素”,简称为“管理”。

框架的分离

业务架构
一般来说,某类业务的处理步骤都是按照某类业务的事理、技术要求、规章制度、标准等而定的
用来处理业务的,因此,业务架构上各个节点(活动)之间流动着的数据是“业务数据”。
管理架构
一般来说,采用何种管理方法来管控业务没有一定之规,管理的方式取决于业务形态,管理方法会因某个外部因素的变化而变化。确定管理之前必须要先给出稳定的业务形态(架构)。
管理模型是基于各种管理理论、技术、标准等建立的
用来管理业务的,因此,管理架构中传递着的数据还包含“企业管理规则”
image.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程-分离原理 的相关文章

随机推荐

  • 如何将本地项目上传至Gitee仓库(详细教程)

    码云 Gitee 简单介绍 Git 是一个开源的分布式版本控制系统 用于敏捷高效地处理任何或小或大的项目 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 Git 与常用的版本控
  • C++-函数模板特化如何避免重复定义

    我正在用一个基于模板的库源代码 该库包含一些针对特定类型的模板函数特化 类模板 函数模板和模板函数特化都在头文件中 我在我的 cpp文件中 include 头文件并编译链接工程 但是为了在整个工程中使用该库 我将头文件包含在 stdafx
  • Linux——线程安全

    概念 线程安全就是在多线程运行的时候 不论线程的调度顺序怎样 最终的结果都是一样的 正确的 那么就说这些线程是安全的 要保证线程安全需要做到 对线程同步 保证同一时刻只有一个线程访问临界资源 在多线程中使用线程安全的函数 可重入函数 所谓线
  • sql语句多表查询

    问题及描述 1 学生表 Student S Sname Sage Ssex S 学生编号 Sname 学生姓名 Sage 出生年月 Ssex 学生性别 2 课程表 Course C Cname T C 课程编号 Cname 课程名称 T 教
  • 微信小程序客服功能接入指南

    一 功能介绍 1 客服消息会话入口有两个 1 小程序内 开发者在小程序内添加客服消息按钮组件 用户可在小程序内唤起客服会话页面 给小程序发消息 2 已使用过的小程序客服消息会聚合显示在微信会话 小程序客服消息 内 用户可以在小程序外查看历史
  • Windows 10 安装wsl(linux子系统)

    目录 1 简介 2 检查windows 系统版本 是否符合要求 3 安装wsl2 2中方式 3 1手动安装 3 2 应用商店安装 4 资料参考 1 简介 wsl是适用于windows环境linux子系统 支持windows 10 11和wi
  • 软件测试基础理论详解

    1 软件测试定义 软件测试 Software Testing 在规定的条件下对程序进行操作 以发现程序错误 衡量软件质量 并对其是否能满足设计要求进行评估的过程 2 软件测试工程师的素质 良好的沟通和表达能力 具有怀疑与破坏的精神 扎实的软
  • Unity实现异步加载场景

    一 创建UGUI 首先我们在LoginCanvas登入面板下面创建一个Panel 取名为LoadScreen 再在loadScreen下面创建一个Image组件 放置背景图片 然后我们再在lpadScreen下面继续创建一个Slider 这
  • jdbc C3P0容错和自动重连

    1 C3P0容错和自动重连与以下配置参数有关 breakAfterAcquireFailure true表示pool向数据库请求连接失败后标记整个pool为block并close 就算后端数据库恢复正常也不进行重连 客户端对pool的请求都
  • CentOS8基础篇14:使用源代码安装FTP软件

    一 TAR包管理工具简介 TAR Tape Archive TAR 是Linux下的包管理工具 利用tar命令可以将要备份保存的数据打包成一个扩展名为 tar的文件 以便文件的保存 需要使用时再利用tar命名进行释放即可 使用tar命令对文
  • Java面向对象编程

    下面有关JVM内存 说法错误的是 A 程序计数器是一个比较小的内存区域 用于指示当前线程所执行的字节码执行到了第几行 是线程隔离的 B Java方法执行内存模型 用于存储局部变量 操作数栈 动态链接 方法出口等信息 是线程隔离的 C 方法区
  • 自己组装电脑配置清单2022 自己组装电脑需要哪些配件

    自己组装电脑需要主板 CPU处理器 CPU散热器 内存条 显卡 硬盘 鼠标 键盘 声卡 耳机 音箱 机箱 显示器 电源等等 组装电脑怎么搭配更合适这些点很重要 http www adiannao cn du 3500左右性价比游戏型组装电脑
  • 【RPA】机器人流程自动化(RPA)概念、原理与实践

    多数人每天都会使用到一些机器人流程自动化工具 例如读取邮件和系统 计算 生成文件和报告 而在未来 那些你不想做的枯燥的工作 也许真的可以不做了 重复化 标准化的工作都可以让机器人帮你完成 本期推文特邀陈剑独家原创阐述RPA的概念 原理与实践
  • Kubernetes 的控制器模型

    文章目录 控制器模式 控制循环 控制器的配置和定义 Deployment 控制器详解 水平扩展 收缩 滚动更新 版本控制 控制器模式 本篇文章我们来看看 编排 这个 Kubernetes 项目最核心的功能吧 经过上篇文章的介绍后 你可能已经
  • redis主从-哨兵模式(windows下搭建)

    一 下载 由于redis官方并不支持windows操作系统 所以官网上是下不到的 需要到gitlab上下载 下载地址如下 https github com MicrosoftArchive redis releases 二 解压安装 将下载
  • webpack4---模块化打包工具(一)

    一 webpack4初识 1 首先先了解几个规范 ES规范 导出 export default Header 导入 import Header from header js CommonJS规范 导出 module exports Head
  • 如何快速安装和配置Node.js环境

    Node js是一种可以简化Web应用程序开发的平台 它使用JavaScript编写 并使用Chrome V8 JavaScript引擎 本文将介绍如何快速安装和配置Node js环境 为读者打开了Node js的大门 并提供了背景信息 一
  • 有趣的数据结构算法11——实现中缀表达式到后缀表达式的转换

    有趣的数据结构算法11 实现中缀表达式到后缀表达式的转换 解题思路 实现代码 GITHUB下载连接 这是学习栈的最后一篇blog了 在上一篇博客里 讲述了如何利用栈计算后缀表达式的结果 但是谁会无缘无故用后缀表达式写一个式子在那里计算呢 这
  • Quartz 之 JobExecutionContext 解读

    项目地址 https github com yuleiqq quartz example tree master quartz study 查看源码注释可以得知 JobExecutionContext 是一个包含了各种上下文信息的句柄 指向
  • 软件工程-分离原理

    分离原理是建立企业管理信息系统分析方法体系的基础分离原理与组合原理的关系定义分离原理 将研究对象中符合相同设计方法的同类项进行分离 归集 这种分离方式为在软件工程中建立具有普遍意义的分析与设计模型奠定了基础 作用将企业的运行体系进行拆分 在