系统架构设计:1论软件系统建模方法及其应用

目录

[一 软件系统建模方法](#一 软件系统建模方法)

1结构化建模

2信息工程建模

3面向对象建模

4功能分解法

5基于构件的开发方法

一 软件系统建模方法

软件建模体现了软件设计的思想,是连接需求和实现的桥梁,用于指导软件的具体实现。软件模型不是软件系统的完备表示,而是通过不同的视角采用不同模型去抽象描述一个系统。

主流的软件系统建模方法有:

1结构化建模

结构化建模方法是以过程为中心的技术,可用于分析一个现有系统以及定义新系统的业务需求。结构化设计的准则有分解与抽象、模块独立性、信息隐蔽等。

结构化建模方法所绘制的模型称为数据流图(DFD)。针对软件生存周期各个不同的阶段,结构化建模包含结构化分析、结构化设计和结构化程序设计等方法。对于流程较为稳定的系统可以考虑结构化建模方法。

结构化建模工具:

(1)数据流图

全面描述数据处理,综合反应系统中信息的变换处理、流动,用于系统的功能建模。数据流图中主要图形元素有数据流、数据源、数据存储。

数据流图在分析阶段和设计阶段的作用?

分析阶段:建立系统的功能模型,从而完成需求分析。

设计阶段:为模块划分与模块之间接口设计提供依据。

(2)数据字典

定义和描述数据的数据项、数据结构、数据流、数据存储、处理逻辑等,其目的是详细说明数据流图中的各个元素。数据字典中包含的信息有:名称、别名、使用范围、使用方法、内容描述等。

数据字典在分析与设计阶段的作用:是所有人员工作的依据、统一的标准。它可以确保数据在系统中的完整性和一致性。

(3)判定表

描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关的情形。

2信息工程建模

信息工程建模又称为数据库建模。该方法是一种以数据为中心,但过程敏感的技术,它强调在分析和研究过程需求之前,首先研究和分析数据需求。信息工程建模方法所创建的模型被称为实体-联系图(E-R图),主要用于数据建模。

实体-联系图(E-R图)是一种表示实体类型、属性和联系的方法,用于描述现实世界关系的概念模型。实体间的联系类型有1:1、1:n、m:n三种。

3面向对象建模

面向对象建模方法将"数据"和"过程"集成到被称为"对象"的结构中,消除了数据和过程的人为分离现象。面向对象建模方法所创建的模型被称为对象模型。随着面向对象技术的不断发展和应用,形成了面向对象的建模标准,即UML(统一建模语言)。

UML定义了几种不同类型的模型图。目前比较常用的建模方法。UML可以清晰地表示系统的逻辑模型和实现模型。UML支持Java、C++等面向对象语言的实现。UML由事务、关系、图三个部分组成。

面向对象建模可以实现软件复用,简化程序设计;系统易于维护;系统开发周期短。

4功能分解法

功能分解法将一个系统看成若干功能的集合,将系统划分为若干功能块,较大的功能模块则细分为较小的子模块,直到可以方便设计者定义为止。功能分解法完全是以系统需要提供的功能为中心来进行系统设计,总体思想就是分治。

功能分解法能准确地反映用户的需求,但是由于系统部分关联性较强,当需求改变时可能会导致系统整体框架的改变。

5基于构件的开发方法

基于构件的软件开发方法是指使用可复用的构件开发软件。构件就是系统中有价值的、独立的、可替换的部分,可以通过接口访问构件的服务。三大构件标准:CORBA、EJB和DNA2000。

构件的特性:

  • 独立部署单元;
  • 作为第三方的组装单元;
  • 没有(外部的)可见状态。

基于构件的方法支持软件复用,可以有效提高开发效率和质量,降低开发和维护成本。但是需要有构件支持,没有构件可使用的情况下需要重新开发构件。

构件、对象和模块的对比:

相关推荐
Cicada1282 天前
库存消息消费的正确性设计——从幂等窗口到批量流水线
分布式·系统架构
彧azz2 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构
风123456789~2 天前
【架构专栏】第15章 面向服务架构设计 2/3
系统架构
风123456789~2 天前
【架构专栏】第15章 面向服务架构设计 1/3
系统架构
智慧物业老杨2 天前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
数安旭说2 天前
从“堆叠工具”到“一体化治理”:端点安全的技术演进与实践观察
网络安全·系统架构·数据安全·企业安全·端点安全·防泄密·一体化管理
Liaiyang663 天前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
珠海西格电力3 天前
零碳园区管理系统“智慧大脑”功能对园区运营成本的影响有哪些?
大数据·人工智能·安全·系统架构·能源
风123456789~3 天前
【架构设计】第14章 云原生架构设计 2/2
系统架构
跨境数据猎手3 天前
从零搭建多平台二手ERP中台:闲鱼、淘宝、京东、拼多多、Mercari统一调度架构
大数据·系统架构·团队开发