结构化需求分析与设计

前言:

感觉书本上和线上课程, 讲的太抽象, 不好理解,   但软件开发不就是为了开发应用程序吗?!

干嘛搞这么抽象,对吧,  下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂,

当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看法,

如果有不准确的地方, 欢迎留言, 你的留言是我更新的动力

结构化软件开发方法:  以下是正文

       特点:

              面向数据流, 以数据流为中心构建软件的分析/设计模型

              结构化分析模型:数据流图

              结构化设计模型:结构图, 模块的程序流程图

       1.建立结构化分析模型:

                      数据流图--DFD图

                             功能建模, 规约加工流程

                      实体关系图-ER图

                             数据建模, 对实体对象的描述

                      状态转换图-SDT图

                             行为建模, 控制规约

                      数据字典--DD

                             包含软件使用和产生的所有数据的描述

       2.建立结构化设计模型:

              2.1概要设计

                             划分模块及其关系, 确定接口--将结构化分析阶段的数据流图DFD映射成结构图

                          1.体系结构设计

                                           关注的是软件系统的整体结构,包括

                                           1.体系架构风格的选择,

                                                         比如, B/S, C/S...                                

                                           2.系统的物理结构

                                                         比如, nginx负载均衡, web服务器, 数据库服务器

                                           3.系统如何划分成不同的软件组件,

                                                        比如,前端用户界面, 后端逻辑处理组件, 数据库表

                                           4.这些软件组件之间的关系,以及它们如何交互

                                                         比如,前后端通过http请求通信,

                                                        后端使用sql对数据库表进行操作

                             2.数据结构设计

                                           关注的是如何组织和存储数据

                                                  比如, 数据结构的选择、数据库设计、数据字典的创建等

                             3.接口设计

                                           关注的是系统内部组件之间的接口以及系统与外部系统之间的接口

                                                  软件部件间接口

                                                         比如, 前端与后端是否使用RESTful风格进行通信

                                                                  后端操作数据库使用sql还是orm

                                                  功能模块间接口

                                                         比如, 线上聊天室, A用户给B用户发送消息,

                                                                 A通过聊天管理模块发送,

                                                                然后, 通知模块会提醒B用户查看消息

                                                  软件部件与外部系统接口

                                                         比如, 后端调用第三方api服务

                                                  人机接口

                                                         比如, 各个网站简洁大气的主页面

             2.2详细设计(部件级设计)

                             给出每个模块的程序流程图或伪代码      

       3.评判方法:

              主要根据模块的内聚度和耦合度判断

下面是作者的废话, 别看了

啥话也不说了

感觉学校教学与社会实践有点脱节了, 虽然408的那些知识很重要, 但是

也没必要一点也不跟时代节奏呀, 让学生硬扣代码吗??? 

啥也不说, 这碗自学的鸡汤, 灌你嘴里了吧?!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

列出D3的所有交互方法,并给出示例

D3.js 提供了丰富的交互方法,可以用来增强图表的用户交互体验。以下是一些常用的交互方法及其示例: 1. 鼠标事件 on("mouseover", function) 用途: 当鼠标悬停在元素上时触发。示例:svg.selectAll(".bar").on("mouseover&qu…

【传知代码】VRT_ 关于视频修复的模型

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ VRT_ 关于视频修复的模型 背景介绍:重要性: VRT的重要性和研究背景VRT的背景:VRT的重要性: 视…

软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型

4,1 网络安全体系的主要特征: (1)整体性。网络安全体系从全局、长远的角度实现安全保障,网络安全单元按照一定的规则,相互依赖、相互约束、相互作用而形成人机物一体化的网络安全保护方式。 (2)协同性。网络安全体系依赖于多种安全机制,通过各…

【java】链表:找到成环的起始节点

分析: 定义快慢双指针,在上一篇博客中,分析过若有环,快慢指针一定会相遇。 在这里,想要找到成环的起始节点,我们在快慢指针相遇的时候,让其中一个指针回到开始结点,然后两个指针一步…

使用nossl模式连接MySQL数据库详解

使用nossl模式连接MySQL数据库详解 摘要一、引言二、nossl模式概述2.1 SSL与nossl模式的区别2.2 选择nossl模式的场景三、在nossl模式下连接MySQL数据库3.1 准备工作3.2 C++代码示例3.3 代码详解3.3.1 初始化MySQL连接对象3.3.2 连接到MySQL数据库3.3.3 执行查询操作3.3.4 处理…

Android OpenGL ES详解——立方体贴图

目录 一、概念 二、如何使用 1、创建立方体贴图 2、生成纹理 3、设置纹理环绕和过滤方式 4、激活和绑定立方体贴图 三、应用举例——天空盒 1、概念 2、加载天空盒 3、显示天空盒 4、优化 四、应用举例——环境映射:反射 五、应用举例——环境映射:折射 六、应用…

【模拟仿真】基于区间观测器的故障诊断与容错控制

摘要 本文提出了一种基于区间观测器的故障诊断与容错控制方法。该方法通过构建区间观测器,实现对系统状态的上下边界估计,从而在存在不确定性和外部噪声的情况下进行高效的故障诊断。进一步地,本文设计了一种容错控制策略,以保证…

深度学习-卷积神经网络CNN

案例-图像分类 网络结构: 卷积BN激活池化 数据集介绍 CIFAR-10数据集5万张训练图像、1万张测试图像、10个类别、每个类别有6k个图像,图像大小32323。下图列举了10个类,每一类随机展示了10张图片: 特征图计算 在卷积层和池化层结束后, 将特征…

PHP Switch 语句

<?php switch (expression) {case value1:// 代码块1break;case value2:// 代码块2break;// 更多的 case 语句default:// 如果没有匹配的值&#xff0c;输出这一行 } ?> $color 表示自己的颜色&#xff0c;需要switch循环找到对应的值。 case value : 表示对应的值&am…

Python Plotly 库使用教程

Python Plotly 库使用教程 引言 数据可视化是数据分析中至关重要的一部分&#xff0c;它能够帮助我们更直观地理解数据、发现潜在的模式和趋势。Python 提供了多种数据可视化库&#xff0c;其中 Plotly 是一个功能强大且灵活的库&#xff0c;支持交互式图表的创建。与静态图表…

ubuntu:20.04安装协议逆向工具netzob

创建容器 docker run -d --name ubuntu_env ubuntu:20.04 /bin/bash -c "while true; do sleep 1; done" 63a8f5cf5431a930671ff0e7bb2b667adf001efb05fd7261da244879d2699bec 进入容器 PS E:\src> docker exec -it ubuntu_env /bin/bash 安装常用工具 apt upda…

H3C NX30Pro刷机教程-2024-11-16

H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…

什么是嵌入式?

目录 一、什么是嵌入式 二、嵌入式系统的特点 &#xff08;一&#xff09;专用性与隐蔽性 &#xff08;二&#xff09;高可靠性与实时性 &#xff08;三&#xff09;资源固定与小型化 三、嵌入式系统的发展历史 &#xff08;一&#xff09;20 世纪 60 年代早期雏形 &am…

学习大数据DAY62 指标计算

客户需求 第一张汇总报表需要的指标 - 决策报表 汇总表 每次计算只有一天的记录 - 大 BOSS: - 全部会员数 新增会员数 - 有效会员数 有效会员占比 - 流失会员数: 倒推一年含一年无消费记录的会员 - 净增有效会员数 - 会员消费级别分类人数 (A >2000 B >1000 < …

快速上手 Vue 3 的高效组件库Element Plus

目录 前言1. 什么是组件&#xff1f;2. 安装与引入 Element Plus2.1 安装 Element Plus2.2 在 main.js 中引入 Element Plus 3. 使用 Element Plus 组件3.1 组件的基本使用3.2 控制组件状态 4. 常用组件实例解析4.1 表单与输入框4.2 表格与分页 5. 组件库的扩展性结语 前言 在…

自动驾驶车载SoC设计功能安全

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所有人的看法和评价都是暂时的&#xff0c;只有自己的经历是伴随一生的&#xff0c;几乎所有的担忧和畏惧…

【开源免费】基于Vue和SpringBoot的私人健身与教练预约管理系统(附论文)

本文项目编号 T 618 &#xff0c;文末自助获取源码 \color{red}{T618&#xff0c;文末自助获取源码} T618&#xff0c;文末自助获取源码 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息…

【项目实战】基于 LLaMA-Factory 通过 LoRA 微调 Qwen2

【项目实战】基于 LLaMAFactory 通过 LoRA 微调 Qwen2 一、项目介绍二、环境准备1、环境准备2、安装LLaMa-Factory3、准备模型数据集3.1 模型准备3.2 数据集准备 三、微调1、启动webui2、选择参数3、训练 四、测试五、总结 一、项目介绍 LLaMA-Factory是一个由北京航空航天大学…

《Probing the 3D Awareness of Visual Foundation Models》论文解析——多视图一致性

一、论文简介 论文讨论了大规模预训练产生的视觉基础模型在处理任意图像时的强大能力&#xff0c;这些模型不仅能够完成训练任务&#xff0c;其中间表示还对其他视觉任务&#xff08;如检测和分割&#xff09;有用。研究者们提出了一个问题&#xff1a;这些模型是否能够表示物体…

C++ | Leetcode C++题解之第565题数组嵌套

题目&#xff1a; 题解&#xff1a; class Solution { public:int arrayNesting(vector<int> &nums) {int ans 0, n nums.size();for (int i 0; i < n; i) {int cnt 0;while (nums[i] < n) {int num nums[i];nums[i] n;i num;cnt;}ans max(ans, cnt);…