【软考】13. 结构化开发方法

news2024/12/27 14:13:39

《系统分析与设计概述》

  • 当前系统的物理模型 ——> 当前系统的逻辑模型 ——> 目标系统的逻辑模型 ——> 目标系统的物理模型
  • 系统开发的目的:当前系统的物理模型 ——> 目标系统的物理模型
    在这里插入图片描述
  • 系统设计基本原理
  • 抽象、模块化(逐步分解)、信息隐蔽(暴露接口 / 隐蔽内部细节)、模块独立
  • 衡量模块独立程度的标准:耦合性 和 内聚性
  • 良好的设计模式:高内聚,低耦合
  • (内聚从低到高)偶然 ——> 逻辑 ——> 时间 ——> 过程 ——> 通信 ——> 顺序 ——> 功能
  • 过程内聚(顺序);顺序内聚(顺序,输入为输出)
    在这里插入图片描述
  • (耦合从低到高)无直接 ——> 数据(数据值) ——> 标记(数据结构) ——> 控制——> 外部(软件外部环境) ——> 公共(全局变量) ——> 内容
    在这里插入图片描述

在这里插入图片描述

  • 系统总体结构设计
  • 系统设计分为:概要设计(系统总体结构设计) 和 详细设计
  • 确定模块结构——> 模块结构图
    在这里插入图片描述
  • 子系统结构设计

在这里插入图片描述

  • 系统模块结构设计
  • 模块结构图主要关心的是模块的外部属性(输入输出、处理功能)
    在这里插入图片描述
  • 详细设计:考虑每个子系统采用何种数据结构和核心算法
    在这里插入图片描述

《结构化开发方法》

  • 面向数据流;以数据流为中心,自顶向下、逐步分解
  • 结构化分析(SA) ——> 结构化设计(SD) ——> 结构化程序设计(SPD)
  • 产出物:三大模型(功能模型 / 数据流图,行为模型 / 状态转换图,数据模型 / E-R图) + 数据词典
    在这里插入图片描述
  • 数据流图DFD
  • 顶层数据流(上下文数据流) ——> 顶层图
  • 描述了系统的分解,但没有对图中各成分进行说明
  • 反映了整个系统跟外部实体的交互,没有反映内部实体细节
    在这里插入图片描述
  • 数据流的流向必须经过加工(数据流的其中一端必须是加工)
  • 加工有输入无输出 ——> 黑洞
  • 加工有输出无输入 ——> 奇迹
  • 加工输入不足以产生输出 ——> 灰洞
    在这里插入图片描述
  • 分层数据流图
  • 整个系统的内部细节分层图
  • 分层的数据流图的数据流一定是与顶层图是平衡对等的 ——> 输入输出相等
    在这里插入图片描述
  • 数据字典DD
  • 为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据线做出说明
  • (数据流图基本元素)数据流、数据存储、基本加工、外部实体
  • (成分)数据流、数据项(类)、数据存储、基本加工
  • 常见的加工逻辑描述方法:结构化语言、判定表、判定树
    在这里插入图片描述在这里插入图片描述

《结构化设计方法》

  • 面向数据流
  • 基本思想:将系统设计成由相对独立、功能单一的模块组成的结构
  • 由结构图来描述软件系统的体系结构
  • 模块结构图:结构化设计的工具
  • (组成)模块、调用、数据、控制、转换
  • 结构化设计主要包括:
    a. 体系结构(架构)设计
    b. 数据设计(与数据库、E-R图相关)
    c. 接口设计(与数据流图相关)
    d. 过程设计(详细设计)
    在这里插入图片描述
    在这里插入图片描述

《WebApp分析与设计》

  • 采用敏捷开发过程模型进行开发
  • (主要功能)使用超媒体向最终用户提供文本、图片、音频及视频内容
  • 特性
  • 网络密集性
  • 并发性
  • 无法预知的负载量
  • 性能
  • 可用性
  • 数据驱动
    在这里插入图片描述
  • 五种需求模型
  • 内容模型
  • 交互模型
  • 功能模型
  • 导航模型
  • 配置模型(与物理相关 ——> 运行在哪个平台)
    在这里插入图片描述
  • WebApp设计
  • 架构设计(界面)
  • 构件设计(功能)
  • 内容设计(线性结构、网格结构、层次结构、网络结构)
  • 导航设计
  • MVC(模型 - 视图 - 控制器)结构是WebApp基础结构模型之一
    在这里插入图片描述

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

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

相关文章

「网络编程」数据链路层协议_ 以太网协议学习

「前言」文章内容是数据链路层以太网协议的讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、以太网协议简介二、以太网帧格式(报头)三、MTU对上层协议的影响四、ARP协议4.1 ARP协议的作用4.2 ARP协议报头 一、以太网协…

【Spring】IOC快速入门

文章目录 1. Spring简介2. IOC快速入门 1. Spring简介 Spring是一个开放源代码的Java SE/EE一站式轻量级开源框架,由Rod Johnson发起并创立。其核心是IOC(控制反转)和AOP(面向切面编程),使得开发者可以将对…

『 C++类与对象』继承

文章目录 继承的概念继承方式与访问限定符基类和派生类对象赋值转换继承中的作用域隐藏 派生类的默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数 继承与友元静态成员与继承关系 继承的概念 继承的机制为,允许在以该类为基础上对类进行扩展,增加功能; 通常原来也就是…

社区买菜系统 JAVA开源项目

目录 项目内容 项目获取 项目截图 项目内容 基于VueSpringBootMySQL的社区买菜系统,包含菜品分类模块、菜品档案模块、菜品订单模块、菜品收藏模块、收货地址模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、…

【网安AIGC专题10.19】论文6:Java漏洞自动修复+数据集 VJBench+大语言模型、APR技术+代码转换方法+LLM和DL-APR模型的挑战与机会

How Effective Are Neural Networks for Fixing Security Vulnerabilities 写在最前面摘要贡献发现 介绍背景:漏洞修复需求和Java漏洞修复方向动机方法贡献 数据集先前的数据集和Java漏洞Benchmark数据集扩展要求数据处理工作最终数据集 VJBenchVJBench 与 Vul4J 的…

Unity编辑器扩展之CustomPropertyDrawer理解

一、引言, 在上一篇文章中提到,CustomEditor只能自定义单一类,被其他类持有的类自定义没有作用,这个时候就需要使用CustomPropertyDrawer属性。 二、PropertyDrawer介绍 PropertyDrawer用于自定义属性绘制器的基类。使用Proper…

【办公自动化】wps word首字下沉/文字宽度/段落底纹/图片缩放/装订线(Word的相关操作)

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

『第九章』雨燕新量子引擎:结构化并发

在本篇博文中,您将学到如下内容: 1. 千呼万唤始出来:结构化并发2. async/await3. “结构化(structured)”到底是个神马?3.1 async let3.2 TaskGroup4. 非结构化并发(unstructured concurrency)4.1 非异步上下文中的 Task4.2 Detached Task4.3 延时5. 任务(Task)的取消和…

168. Excel表列名称

168. Excel表列名称 Java代码: 26进制,但是每个进制是从1开始的,不是从0开始;因此要计算要构建从0开始的求余! class Solution {public String convertToTitle(int cn) {StringBuilder sb new StringBuilder();whi…

ElasticSearch快速入门实战

全文检索 什么是全文检索 全文检索是一种通过对文本内容进行全面索引和搜索的技术。它可以快速地在大量文本数据中查找包含特定关键词或短语的文档,并返回相关的搜索结果。全文检索广泛应用于各种信息管理系统和应用中,如搜索引擎、文档管理系统、电子…

Xtuner——报错解决汇总

文章目录 load_dataset读取jsonl文件报错 load_dataset读取jsonl文件报错 alpaca_en dict(typeprocess_hf_dataset,datasetdict(typeload_dataset, data_filesalpaca_file_path),tokenizertokenizer,max_lengthmax_length,dataset_map_fnalpaca_map_fn,template_map_fndict(t…

【C++初阶(三)】引用内联函数auto关键字

目录 前言 1. 引用 1.1 引用的概念 1.2 引用的特性 1.3 引用的权限 1.4 引用的使用 1.5 引用与指针的区别 2. 内联函数 2.1 什么是内联函数 2.2 内联函数的特性 3. auto关键字 3.1 auto简介 3.2 auto使用规则 3.3 auto不能使用的场景 4. 基于范围的for循环 4.1 范围for…

一文2000字教你从0到1实现Jmeter 分布式压测

你可以使用 JMeter 来模拟高并发秒杀场景下的压力测试。这里有一个例子,它模拟了同时有 5000 个用户,循环 10 次的情况‍。 请求默认配置 token 配置 秒杀接口 ​结果分析 ​但是,实际企业中,这种压测方式根本不满足实际需求。下面…

技术资料MF74:将图像插入单元格注释

【分享成果,随喜正能量】须知往生净土,全仗信、愿。有信、愿,即未得三昧、未得一心不乱,亦可往生。且莫只以一心不乱,及得念佛三昧为志事,不复以信、愿、净念为事。。 我给VBA的定义:VBA是个人…

讯飞星火大模型V3.0 WebApi使用

讯飞星火大模型V3.0 WebApi使用 文档说明:星火认知大模型Web文档 | 讯飞开放平台文档中心 (xfyun.cn) 实现效果 初始化 首先构建一个基础脚手架项目 npm init vuelatest用到如下依赖 "dependencies": {"crypto-js": "^4.2.0",&q…

ClickHouse快速了解

简介 ClickHouse是一个开源列式数据库管理系统(DBMS),用于在线分析处理(OLAP): 列式存储:与传统的行式数据库不同,ClickHouse以列的形式存储数据,这使得在分析大量数据时…

嵌入式中C++ 编程习惯与编程要点分析

以良好的方式编写C class 假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。 ① Header(头文件)中的防卫式声明 complex.h: # ifndef __COMPLEX__ # define __COMPLEX__ class complex {} # endif 防止头文件的内容被多次包含。 …

2.25每日一题(反常积分的计算:被积函数分母出现e的正负x次幂)

注:被积函数分母出现e的正负x次幂,这种情况需要把分母化成全部都是正次幂的情况再进行计算

【C语言】字符函数、字符串函数与内存函数

简单不先于复杂,而是在复杂之后。 目录 0. 前言 1. 函数介绍 1.1 strlen 1.1.1 介绍 1.1.2 strlen 函数模拟实现 1.1.2.1 计数器方法 1.1.2.2 递归方法 1.1.2.3 指针 - 指针方法 1.2 strcpy 1.2.1 介绍 1.2.2 strcpy 函数模拟实现 1.3 strcat 1…

基于标签的电影推荐算法研究_张萌

2 标签推荐算法计算过程 2.1 计算用户对标签的喜好程度 用户对一个标签的认可度可以使用二元关系来表示,这种关系只有“是”“否”两种结果,实际上难以准确地表达出用 户对物品的喜好程度。因此&#x…