结构化方法SASD

ops/2025/3/1 14:21:36/

结构化方法是一种面向功能或者说面向数据流的方法,结构化方法包括针对需求分析的结构化分析方法(SA)、针对软件设计阶段的结构化设计方法(SD)、针对软件开发阶段的结构化编程方法(SP)

结构化分析方法(SA)

        结构化分析方法强调系统的模块化和层次化,通过数据流程图、数据字典等工具来描述系统的数据流动和处理过程,结构化分析的模型包括功能模型,数据模型和行为模型,其中功能模型一般通过数据流图进行建模,数据模型通过实体联系图进行建模,行为模型通过状态转换图进行建模。而数据字典则是配合各方进行相应的数据的解读的工具。

数据流图DFD

数据流图建模方法,也称之为过程建模或功能建模方法。用于描述系统的功能、数据流动和处理过程。DFD以图形符号的形式展示系统中的数据流、处理过程和数据存储,帮助分析师和设计师理解系统的功能和交互关系。DFD方法由四种基本元素组成:数据流、处理加工、数据存储和外部实体。

实体联系图E-R图

实体联系图是通过将实体和属性联系起来的方式来描述现实世界的概念模型,E-R图中包含实体,属性和联系三种元素,其中实体用矩形表示,属性用椭圆表示,联系用菱形表示。

状态转换图STD

状态转换图用于描述系统重对象或系统的状态及其之间的转换关系。状态转换图通常用于对系统的状态机进行建模和分析,STD主要包含三种基本元素:状态、转移、事件

数据字典

数据字典是一种用户可以访问的记录数据库和应用程序元数据的目录。数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述。简而言之,数据字典是描述数据的信息集合,是对系统中所有的数据元素定义的集合。

结构化设计方法SD

结构化设计是一种面向数据流的设计方法,它以软件需求规格说明书SRS和结构化分析SA阶段产生的数据流图和数据字典等文档为基础,是一个自顶向下,逐步求精和模块化的过程。SD的基本思想是将软件设计成相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。

概要设计:确定软件系统的结构,对软件系统进行模块划分,确定每个模块的功能、接口和模块之间的调用关系。

详细设计:为每个模块设计实现的细节。

结构化的基本原则包括:

信息隐蔽

模块独立(高内聚、低耦合)

保持模块的大小适中

尽可能减少调用深度

多扇入、少扇出

单入口、单出口

模块的作用域应该在模块之内

功能应该是可预测的

结构化编程方法SP

结构化程序设计方法将系统划分为若干功能模块,各模块按要求独立编程,在组合构建成相应的软件系统。结构化程序设计采用自顶向下、逐步求精的设计方法,各个模块通过顺序、选择、循环的控制结构进行连接,并且只有一个入口和出口。结构化程序设计中程序=算法+数据结构。结构化程序设计的原则可以归纳为:自顶向下、逐步求精、清晰第一、效率第二、书写规范、缩进格式、基本结构、组合而成。

面对对象方法OO

面对对象方法认为客观世界是由对象组成的,对象由属性和操作组成,对象可按其属性进行分类,对象之间的联系通过消息实现,对象具有封装性、继承性和多态性。面向对象开发方法是以用例为驱动的、以体系结构为中心的、迭代和渐增式的开发过程。主要包括需求分析、系统分析、系统设计和系统实现四个阶段,与结构化开发不同的是,面对对象方法的各个阶段是迭代进行的。

面对对象分析OOA

面对对象分析方法中模型有五个层次(主题层、对象类层、结构层、属性层、服务层)和五个活动(定义主题、标识对象类、结构标识、定义属性、定义服务)组成。在这种方法中定义了两种对象之间的结构:分类和组装结构。

OOA原则包括

抽象

封装

集成

分类

聚合

关联

消息通信

粒度控制

行为分析

OOA的基本步骤为:确定对象和类、确定结构、确定主题、确定属性、确定方法

面对对象设计OOD

面对对象设计方法是OOA的延续,基本思想包括:抽象、封装、可扩展性;其中可扩展性通过继承和多态来实现;在OOD中类可以分为3中:

实体类

控制类

边界类

面对对象编程OOP

面对对象编程是一种计算机编程框架,OOP达到了软件工程的三个主要目标:重用性,灵活性和扩展性。OOP=对象+类+继承+多态+消息。其基本特点有

封装

继承

多态


http://www.ppmy.cn/ops/162250.html

相关文章

【Leetcode 每日一题】2353. 设计食物评分系统

问题背景 设计一个支持下述操作的食物评分系统: 修改 系统中列出的某种食物的评分。返回系统中某一类烹饪方式下评分最高的食物。 实现 FoodRatings 类:FoodRatings(String[] foods, String[] cuisines, int[] ratings) 初始化系统。食物由 f o o d s…

DevOps原理和实现面试题及参考答案

解释 DevOps 的核心目标与文化价值观,如何理解 “CAMS” 模型? DevOps 的核心目标是打破开发(Development)和运维(Operations)之间的壁垒,通过自动化、协作和持续反馈,实现软件的快速、可靠交付,以更好地满足业务需求和客户期望。具体来说,DevOps 旨在缩短软件的交付…

自媒体多账号如何切换不同定位才能做得更好

一、选择稀缺增长的赛道,避开内卷红海 1.职场赛道 ● 细分方向:公务员/体制内经验分享、自由职业指南、远程办公技巧。例如,通过采访自由职业者或分享远程工作体验,快速积累精准粉丝。 ● 优势:职场人群需求明确&…

Java面试要点120 - Java虚拟机栈帧结构

文章目录 引言一、Java虚拟机栈概述二、栈帧的内部结构2.1 局部变量表2.2 操作数栈2.3 动态链接2.4 方法返回地址 三、栈帧的生命周期四、虚拟机栈的异常五、栈帧优化与JIT编译总结 引言 Java虚拟机栈(JVM Stack)是Java虚拟机运行时数据区域的重要组成部…

docker通用技术介绍

docker通用技术介绍 1.docker介绍 1.1 基本概念 docker是一个开源的容器化平台,用于快速构建、打包、部署和运行应用程序。它通过容器化技术将应用及其依赖环境(如代码、库、系统工具等)打包成一个标准化、轻量级的独立单元,实…

自然语言处理NLP入门 -- 第八节OpenAI GPT 在 NLP 任务中的应用

在前面的学习中,我们已经了解了如何使用一些经典的方法和模型来处理自然语言任务,如文本分类、命名实体识别等。但当我们需要更强的语言生成能力时,往往会求助于更先进的预训练语言模型。OpenAI 旗下的 GPT 系列模型(如 GPT-3、GP…

SQL 建表语句详解

SQL 建表语句详解 在 SQL 中,创建表(Table)是数据库设计的基础。表是存储数据的基本单位,每个表由行和列组成。创建表的过程涉及到定义表的结构,包括列名、数据类型、约束等。本文将详细介绍 SQL 中的建表语句&#x…

Spring 源码硬核解析系列专题(五):Spring Boot 自动装配的原理

在前四期及扩展篇中,我们深入探讨了 Spring 的 IoC 容器、Bean 创建、AOP 和事务管理,这些是 Spring 框架的基石。而 Spring Boot 作为 Spring 的进化版,通过自动装配大幅简化了开发流程。本篇将聚焦 Spring Boot 的自动装配机制,揭秘其如何通过源码实现“约定优于配置”的…