分析建模

简介: 分析建模

为了 更 好 地 理解需求获取过程中用户描述的问题,可以 采 用 创 建模型的方式实现。这就是分析建模的过程。模型,就是为了理解事物所做出的一种抽象,是对事物无歧视义的书面描述。模型由一组图形符号组成这些符号的规则所组成。


分析模型


软件的分析模型通常是由一组模型组成,其中 包括 数据模型、功能模型和行为模型。两种建模方法:基于数据流的结构化分析模型,和基于对象的面向对象分析模型

基于数据流的结构化分析模型:将系统分成几个模块,各块之间用数据流进行通信

基于对象的面向对象分析模型:将系统分解为一组互相关联的对象,每一对象由对象的属性和在对象上的操作构成。


结构化分析模型

ad2846210e62c33f47ff192d4ea3d49c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png

结构化分析模型,模型的核心是DD(数据字典),从数据字典出发主要通过以下3种图来构建该模型的3种类型。E - R 图 (Entity Relation Diagram ,实体 联 系图 ) :用于描述数据对象间的关系、构建软件的数据模型,在实体 — 关系中出现的 每 个数据对象的 属 性 均 可用数据对象进行说明描述。


DFD(Data Flow Diagram ,数据流图 ) :其主要作用是 指 明系统中数据是如 何 流 动 和 变 换 的,以 及 描述数据流如 何 进行 变 换 。在 DFD 图中出现的 每 个功能都会写 在 PSPEC(Process Specification , 加 工说明 ) 中,它 们 一 起 构成系统的功能模型。


STD 图 (Status Transfer Diagram , 状态- 变 迁 图 ) :用于 指 明系统在 外部事 件的作用下将如 何动 作,表明系统的各种 状态 及 各种 状态 间的 变 迁 。所 有 软件 控 制 方面的 附 加信息包 含在 CSPEC(Control Specification , 控 制 说明 ) 中,它 们 构成系统的行为模型。


面向对象分析模型


55f2d71c280df1f6e8f5c47abce1541c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


面 向 对象分析是 采 用面 向 对象的思 想 进行软件需求分析建模的过程。面向对象分析模型中的3个模型对象模型:定 位 在 哪 个对象上,通过反映系统中的对象与对象之间的关系 及 表示对象、 类 、 属 性和 操 作来表达目标系统的 静态 结构,与结构化分析模型中的数据模型有 相 近 的功能。利用 类 图 及 对象图建模。


功能模型:确定什么 事 件发生,反映的是系统模 块 的 输入 和 输 出。该模型从用户的

视 角 来表示系统,用例和 场 景 用于功能模型的建模 选择


动 态 模型:决定在什么 时 候 ,什么 条 件下发生。关 心 的是

时 间 变 化、对象与对象之间关系的 变 化。对象与对象之

间的相 互 作用,导致它 们 的状态 不 断 发生 变 化。一个 事件是 指 一个 单 独 对象对 另 一个的 激励 。该模型主要描述目标系统的 动 态 或行为,相当于结构化分析模型中的行为模型。以 状态 图和 时 序 图为工具建模。


相关文章
|
9月前
|
供应链 安全 区块链
【北京大学 软件工程】一、软件工程概论
本文介绍了软件的定义、特点及分类,探讨了软件工程的起源、概念及其框架,并展望了软件工程的新视野。软件是指计算机系统中的程序及其文档,具有无形性、复杂性和高开发成本等特点,分为系统软件、支撑软件和应用软件三类。软件工程起源于解决早期编程难题,历经个人程序、软件作坊到软件工程时期的发展,旨在以工程化方法解决软件危机。软件工程的核心目标是生产正确、可用且开销合理的软件,主要活动包括需求分析、设计、实现、确认和支持。新一代信息技术如量子计算、区块链等正推动软件工程向更高效、安全的方向发展。
【北京大学 软件工程】一、软件工程概论
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
缓存 算法 大数据
倚天710规模化应用 - 性能优化 - 软件预取分析与优化实践
软件预取技术是编程者结合数据结构和算法知识,将访问内存的指令提前插入到程序,以此获得内存访取的最佳性能。然而,为了获取性能收益,预取数据与load加载数据,比依据指令时延调用减小cachemiss的收益更大。
|
存储 前端开发 Java
谷粒商城笔记+踩坑(4)——商品服务-品牌管理,阿里云云存储+JSR303数字校验+统一异常处理
商品服务-品牌管理、添加“品牌管理”到人人后台管理系统、前端显示状态开关、阿里云云存储实现文件上传、异常处理类、JSR303数字校验、分组校验、自定义校验
谷粒商城笔记+踩坑(4)——商品服务-品牌管理,阿里云云存储+JSR303数字校验+统一异常处理
|
监控 Linux
在Linux中,如何查看网络接口的状态?
在Linux中,如何查看网络接口的状态?
|
11月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
266 0
|
存储 设计模式 分布式计算
面向对象编程在大数据处理中的最佳实践
【8月更文第12天】随着互联网和物联网技术的发展,数据量呈指数级增长,大数据处理已成为现代企业不可或缺的一部分。大数据处理通常涉及收集、存储、管理和分析海量数据集。传统的数据库管理系统难以应对这样的挑战,因此出现了诸如Hadoop、Spark等分布式处理框架。这些框架通常使用面向对象编程(OOP)来构建可扩展、可维护的应用程序。本文将探讨如何利用面向对象编程的原则和模式来优化大数据处理任务。
238 0
|
测试技术
notepad++安装HexEditor插件查看二进制文件
有时候我们需要分析二进制文件,但是分析二进制文件直接用编辑器查看会出现乱码的情况,本文在 notepad++ 软件上安装一个 HexEditor 插件,可方便分析二进制文件。
1023 0
|
存储 关系型数据库 MySQL
如何处理爬取到的数据,例如存储到数据库或文件中?
处理爬取的数据,可存储为txt、csv(适合表格数据)或json(适合结构化数据)文件。若需存储大量数据并执行复杂查询,可选择关系型(如MySQL)或非关系型(如MongoDB)数据库。以MySQL为例,需安装数据库和Python的pymysql库,创建数据库和表,然后编写Python代码进行数据操作。选择存储方式应考虑数据类型、数量及后续处理需求。
228 1