大话软工笔记—组合要素1之要素

news2025/6/7 15:26:56

1. 要素来源

对象是要素的来源,要素是从对象分解而来的。可将对象分为优化类和非优化类,如下图所示。

对象分类图

2. 要素的概念

2.1 要素的定义

要素,是构成事物必不可少的因素,要素的集合体构成了对象。

2.2 要素的内容

要素,在表达不同对象的逻辑图中以不同的形式出现,例如:

  • 业务架构图,要素表现为系统、子系统、模块、功能。
  • 数据架构图,要素表现为数据表、数据。
  • 管理架构图,要素表现为标准、规则、判断。

2.3 要素的相对性

要素与对象的概念是相对的。

对象、要素的相对概念图

2.4 要素的描述

要素可以从粒度与分层、黑盒与白盒、系统与模块、解耦与内聚四个方面进行描述。

3. 要素属性1—粒度与分层

粒度,是表达对象中不同要素的“粗细”程度的尺度。粒度的概念在进行理解新事物、研究分析时起着非常重要的“划分大小”的作用。

粒度与分层的概念图

要素粒度的应用图

要素粒度与业务流程的分级关系图

4. 要素属性2—黑盒与白盒

4.1 黑/白盒的概念

黑盒与白盒是对要素所处状态的描述。

黑盒/白盒的状态示意图

4.2 黑/白盒概念的作用

将拆分出来的要素归集到不同的分类中(黑盒),首先对大分类(粗粒度)的要素进行观察和讨论,再根据需要将其中的黑盒打开为白盒状态,对白盒内部的细节进行深入的研究,这会避免同时出现不同分类且大小粒度不同的信息,会降低研究的难度。

5. 要素属性3—系统与模块

5.1 系统与模块概念

系统与模块,是要素归集的单位。

系统,是具有独立处理某个业务领域工作的完整功能集合体,系统是由模块组成的。

模块,是分担系统中的局部处理工作的,模块是由功能组成的。

功能,是系统中可以完成某个业务处理操作的最小独立单元。

5.2 模块化设计的概念

模块化设计,就是将具有不同作用的功能进行多种组合,以实现用有限的功能支持多样的业务处理场景。

5.3 模块化案例

将企业业务划分为三个业务领域,分别为:主营区、辅营区和支持区,如下图所示。

企业管理业务功能组合框架图

6. 要素属性4—解耦与内聚

6.1 解耦的概念

耦合,指的是两个或两个以上的系统(要素的集合体)的输入与输出之间存在紧密配合与相互影响,某一方面变动会影响到另一方的变化。

解耦,指的是解开耦合的状态,去掉两者之间造成耦合的连接关系(即“紧耦合”变为“松耦合”)。

6.2 内聚的概念

内聚,是说明同一个系统中各个要素之间的关联性。

6.3 高内聚与松耦合

高内聚的系统的功能要素做到系统内部高度的相似聚合,共同为一个目标服务。

松耦合在同一个对象内的各个系统之间要做到松耦合,系统之间具有最小的相关对。

高内聚与松耦合图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2400887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

平台化 LIMS 系统架构 跨行业协同与资源共享的实现路径

在科技快速发展的今天,质检行业正面临着效率、合规和数据安全的多重挑战。新一代质检 LIMS 系统以智能化与平台化为核心,为实验室管理提供了全新的解决方案。 一、智能化:从数据采集到分析的全流程升级 传统质检流程中,人工数据录…

RedisTemplate查询不到redis中的数据问题(序列化)

RedisTemplate查询不到redis中的数据问题(序列化) 一.问题描述 存入Redis中的值取出来却为null,问题根本原因就是RedisTemplate和StringRedisTemplate的序列化问题、代码示例: SpringBootTest class Redis02SpringbootApplicationTests {Autowiredprivate RedisTe…

SkyWalking如何实现跨线程Trace传递

一、概述 SkyWalking 的中构建 Trace 信息时会借助 ThreadLocal来存储一些上下文信息,当遇到跨线程的时候,如果 Trace 的上下文信息没有传递到新线程的ThreadLocal 中,那么链路就断开了。那么SkyWalking是如何解决这个问题的呢? …

使用 Spring Boot 3.3 和 JdbcTemplate 操作 MySQL 数据库

在现代的 Java 应用开发中,Spring Boot 提供了强大的工具来简化数据库操作。JdbcTemplate 是 Spring 提供的一个核心类,用于简化 JDBC 操作,减少样板代码。本文将介绍如何在 Spring Boot 3.3 项目中使用 JdbcTemplate 来操作 MySQL 数据库&am…

Axure高保真LayUI框架 V2.6.8元件库

点击下载《Axure高保真LayUI框架 V2.6.8元件库》 原型效果:https://axhub.im/ax9/bf36e6dd89bc4c9f/#g1 摘要 本文详细阐述了在 Axure 环境下打造的一套高度还原 LayUI 框架的组件元件集。通过对 LayUI 框架组件的深入剖析,结合 Axure 的强大功能&…

通讯录实现(Linux+Cpp)

通讯录实现(LinuxCpp) 产品底层思考: 人员如何存储 -> 链表 (增删改 但是排序不适合) 文件存储 -> 人员数据的格式 name:xxx,phone:xxx 人员信息 -> 姓名、电话 引出2 name: xxx,phone: xxx,age: xxx,addr…

质检 LIMS 系统数据防护指南 三级等保认证与金融级加密方案设计

面对频发的数据泄露事件,企业亟需构建一套 “防得住、追得回、打得赢” 的防护体系。质检 LIMS 系统通过三级等保认证与金融级加密的结合,为这一目标提供了可行路径。 一、金融级加密:构建数据防护的 “铜墙铁壁” 金融级加密技术通过协议加密…

Spring Boot 从Socket 到Netty网络编程(上):SOCKET 基本开发(BIO)与改进(NIO)

前言 无论是软件还是硬件的本质都是要解决IO问题(输入、输出),再说回网络编程本质上都是基于TCP/UP的开发,socket是在此基础上做的扩展与封装,而Netty又是对socket做的封装。本文旨在通过相关案例对socket进行探讨。 一…

79. Word Search

题目描述 79. Word Search 回溯 代码一&#xff0c;使用used数组 class Solution {vector<pair<int,int>> directions{{0,1},{0,-1},{1,0},{-1,0}};vector<vector<bool>> used; public:bool exist(vector<vector<char>>& board, st…

结构性设计模式之Facade(外观)设计模式

结构性设计模式之Facade&#xff08;外观&#xff09;设计模式 前言&#xff1a; 外观模式&#xff1a;用自己的话理解就是用户看到是一个总体页面&#xff0c;比如xx报名系统页面。里面有历年真题模块、报名模块、教程模块、首页模块… 做了一个各个模块的合并&#xff0c;对…

ICML 2025 Spotlight | 机器人界的「Sora」!让机器人实时进行未来预测和动作执行!

标题&#xff1a;Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations 作者&#xff1a;Yucheng Hu, Yanjiang Guo, Pengchao Wang, Xiaoyu Chen, Yen-Jen Wang, Jianke Zhang, Koushil Sreenath, Chaochao Lu, Jianyu Chen 机构&am…

AI生态警报:MCP协议风险与应对指南(下)——MCP Host安全

AI生态警报&#xff1a;MCP协议风险与应对指南&#xff08;上&#xff09;——架构与供应链风险https://blog.csdn.net/WangsuSecurity/article/details/148335401?sharetypeblogdetail&sharerId148335401&sharereferPC&sharesourceWangsuSecurity&spm1011.24…

基于VLC的Unity视频播放器(四)

上篇文章中提到的问题 播放某个m3u8地址时会嘎掉&#xff0c;想办法解决了一下&#xff0c;很粗暴的&#xff0c;先SetFormat&#xff0c;再Stop&#xff0c;最后再Play&#xff0c;能用…… if (player ! null && player.GetSize() 0) {player.GetSize((w, h) >…

pixel刷入Android15 userdebug版本

最近入手一个pixel7,想着刷个userdebug版本&#xff0c;就不用模拟器调试开发了&#xff0c;结果按照网上的教程&#xff0c;每次刷机后都是卡在goole logo界面&#xff0c;卡了一天多我才找到问题所在&#xff0c;想着记录下&#xff0c;给自己做个备份。 1. 前期准备&#x…

C# 一个解决方案放一个dll项目,一个dll测试项目 ,调试dll项目的源码

一个解决方案&#xff08;sln&#xff09;中放入2个项目(project&#xff0c;通常是一个文件夹)&#xff0c;一个dll项目&#xff0c;一个dll测试项目 右键dll测试项目&#xff0c;设为启动项目。 在dll测试项目添加引用 1&#xff09;右键测试项目 → 添加 → 引用 → 项目…

【PmHub面试篇】PmHub 整合 TransmittableThreadLocal(TTL)缓存用户数据面试专题解析

你好&#xff0c;欢迎来到本次关于PmHub整合TransmittableThreadLocal (TTL)缓存用户数据的面试系列分享。在这篇文章中&#xff0c;我们将深入探讨这一技术领域的相关面试题预测。若想对相关内容有更透彻的理解&#xff0c;强烈推荐参考之前发布的博文&#xff1a;【PmHub后端…

unity随机生成未知符号教程

目录 前言方法1方法2脚本后言示例代码 前言 在某些游戏中&#xff0c;有一些让人感到意味不明的未知符号&#xff0c;例如在游戏《巴别塔圣歌》中&#xff0c;就有这样一些能让人在初次就看不懂的未知符号。 或者在其他时候&#xff0c;这些未知符号如果跟粒子系统结合在一起的…

基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案

1.2.1 工地防护检测技术研究现状 在建筑施工的过程中&#xff0c;工人被要求暴露在危险的环境中作业 [2]。因此&#xff0c;防护装备 对于工人的安全与健康具有非常重要的意义[3]。工地工人必须佩戴适当的防护装备&#xff0c; 以降低意外伤害的风险。在过去的几十年里&#x…

推荐一款PDF压缩的工具

今天一位小伙伴找来&#xff0c;问我有没有办法将PDF变小的办法。 详细了解了一下使用场景&#xff1a; 小伙伴要在某系统上传一个PDF文件&#xff0c;原文件是11.6MB&#xff0c;但是上传时系统做了限制&#xff0c;只能上传小于10MB的文件&#xff0c;如图&#xff1a; 我听…

混沌映射(Chaotic Map)

一.定义 混沌映射是指一类具有混沌行为的离散时间非线性动力系统&#xff0c;通常由递推公式定义。其数学形式为 &#xff0c;其中 f 是非线性函数&#xff0c;θ 为参数。它们以简单的数学规则生成复杂的、看似随机的轨迹&#xff0c;是非线性动力学和混沌理论的重要研究对象…