系统架构设计: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。

构件的特性:

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

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

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

相关推荐
power-辰南3 小时前
高并发系统架构设计全链路指南
分布式·系统架构·高并发·springcloud
晴空了无痕3 小时前
现代任务调度系统架构深度解析——以TaskSchedulerController为核心的弹性任务管理方案
unity·系统架构·游戏引擎
Nerd Nirvana4 小时前
软考—系统架构设计(案例 | 论文)
linux·系统架构·软件工程·软考·计算机基础
程序员古德4 小时前
《论云上自动化运维及其应用》审题技巧 - 系统架构设计师
系统架构·项目经验·软考论文·云上自动化运维·衡量指标·实践应用
王佑辉1 天前
【系统架构设计师】操作系统的分类
系统架构
G***技2 天前
杰和科技GAM-AI视觉识别管理系统,让AI走进零售营销
大数据·人工智能·系统架构
南风过闲庭2 天前
操作系统研究
大数据·人工智能·科技·学习·ai·系统架构
nbsaas-boot2 天前
云端SaaS系统架构设计
系统架构
图导物联2 天前
基于WebGIS技术的校园地图导航系统架构与核心功能设计
系统架构·智慧校园·gis·webgl·地图导航·电子地图·校园地图导航
王佑辉3 天前
【系统架构设计师】需求工程
系统架构