软件工程-软件设计
包括
从管理的观点看包括:
详细设计
概要设计
从技术的观点看包括:
数据设计(详细设计)
系统结构设计(概要设计)
过程设计(详细设计)
任务
分析模型——》设计模型——》设计文档
通过之前的分析模型,设计出设计模型,撰写设计文档
数据设计:
信息模型——》软件数据结构
体系结构设计:
定义软件部件间的关系(绘制SC图)
过程设计:
软件组件的过程性描述
基本概念
模块(module)与构件(component)
模块:定义输入、输出与特性的程序实体
构件:可重复使用的软件组件
抽象(abstract)与细化(refinement)
抽象:分层次考虑和处理问题(数据和过程)
细化:从高到低的逐步分解过程
信息隐蔽
对其它模块隐藏模块内部的数据和过程
软件复用
Design with reuse,design for reuse
软件设计文档SDS
也叫软件设计说明书包括:
- 范围
- 数据设计
- 体系结构设计
- 接口设计
- 接口设计
- 模块的过程设计
- 其它,包括测试的考虑,确保设计满足所有需求,设计约束和一些特殊注解等内容
设计复审
及早发现设计中的缺陷
差错的传播
复审的内容:
- 概要设计复审:系统总体结构,模块划分,内外接口
- 详细设计复审:各个模块的具体设计
相关文章:
软件工程-软件设计
包括 从管理的观点看包括: 详细设计 概要设计 从技术的观点看包括: 数据设计(详细设计) 系统结构设计(概要设计) 过程设计(详细设计) 任务 分析模型——》设计模型——》设…...
【Viper】配置格式与支持的数据源与go案例
Viper 是一个用于 Go 应用程序的配置管理库,支持多种配置格式和数据源。 安装依赖 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要写在etcd客户端import里 1…...
C++ Primer 参数传递
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
数据结构 day06
数据结构 day06 6. 双向链表6.3. 双向循环链表 7. 树 tree7.1. 特点7.1.1. 什么是树7.1.2. 树的特性7.1.3. 关于树的一些术语 7.2. 二叉树7.2.1. 什么是二叉树7.2.2. 二叉树的性质7.2.3. 满二叉树和完全二叉树的区别7.2.4. 二叉树的遍历(画图)7.2.5. 二叉…...
AI编程01-生成前/后端接口对表-豆包(或Deepseek+WPS的AI
前言: 做过全栈的工程师知道,如果一个APP的项目分别是前端/后端两个团队开发的话,那么原型设计之后,通过接口文档进行开发对接是非常必要的。 传统的方法是,大家一起定义一个接口文档,然后,前端和后端的工程师进行为何,现在AI的时代,是不是通过AI能协助呢,显然可以…...
01什么是DevOps
在日常开发中,运维人员主要负责跟生产环境打交道,开发和测试,不去操作生产环境的内容,生产环境由运维人员操作,这里面包含了环境的搭建、系统监控、故障的转移,还有软件的维护等内容。 当一个项目开发完毕&…...
力扣100. 相同的树(利用分解思想解决)
Problem: 100. 相同的树 文章目录 题目描述思路Code 题目描述 思路 题目要求判断两个二叉树是否完全相同,而此要求可以利用问题分解的思想解决,即判断当前节点的左右子树是否完全相同,而在二叉树问题分解的一般题目中均会带有返回值ÿ…...
【深度学习模型分类】
深度学习模型种类繁多,涵盖了从基础到前沿的多种架构。以下是主要模型的分类及代表性方法: 1. 基础模型 1.1 多层感知机(MLP) 特点:全连接神经网络,适用于结构化数据。 应用:分类、回归任务…...
el-select 设置宽度 没效果
想实现下面的效果,一行两个,充满el-col12 然后设置了 width100%,当时一直没有效果 解决原因: el-form 添加了 inline 所以删除inline属性 即可...
chrome://version/
浏览器输入: chrome://version/ Google浏览器版本号以及安装路径 Google Chrome131.0.6778.205 (正式版本) (64 位) (cohort: Stable) 修订版本81b36b9535e3e3b610a52df3da48cd81362ec860-refs/branch-heads/6778_155{#8}操作系统Windows…...
反向代理块sjbe
1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...
封装一个sqlite3动态库
作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、项目案例 二…...
P1878 舞蹈课(详解)c++
题目链接:P1878 舞蹈课 - 洛谷 | 计算机科学教育新生态 1.题目解析 1:我们可以发现任意两个相邻的都是异性,所以他们的舞蹈技术差值我们都要考虑,4和2的差值是2,2和4的差值是2,4和3的差值是1,根…...
力扣第一题 哈希解法 O(n)时间复杂度
题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那俩个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返…...
【C++学习篇】C++11
目录 编辑 1. 初始化列表{} 1.1 C98中的{} 1.2 C11中的{} 2. C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期 3.4 左值和右值的参数匹配 3.5 右值引⽤和移动语义的使⽤场景 3.5.1 左值引⽤…...
leetcode刷题第十天——栈与队列Ⅱ
本次刷题顺序是按照卡尔的代码随想录中给出的顺序 1047. 删除字符串中的所有相邻重复项 char* removeDuplicates(char* s) {int len strlen(s);char* tmp malloc(sizeof(char) * (len 1));int top -1, idx 0;while(idx < len) {if(top -1) tmp[top] s[idx];else {i…...
Vulnhub靶机随笔-Hackable II
Vulnhub靶机Hackable II详解 攻击机Kali IP:192.168.1.6 靶机 IP:未知 系统:未知 A.信息收集 扫描靶机存活性 确定IP地址 1.命令:arp-scan -l 扫描靶机开放端口及其服务版本信息 2.命令:nmap -A -p- -sV 靶机IP 3.靶机开放三个端口: 21ftp端口:存在anonymous匿…...
适配器模式 + 外观模式联合使用:新旧系统的平滑整合之道
🌟 引言:当系统演进遇到历史包袱 场景痛点: 假设企业需要将老旧的CRM系统与新的SaaS平台整合,面临: 旧系统接口:XML格式+同步调用新系统接口:JSON格式+异步调用需要统一提供简洁的RESTful API给前端若直接修改旧系统: // 旧系统核心类(无法修改) public class Leg…...
九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表
文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中,随着数据量的不断增长,单一数据库已难以满足高可用性、扩展性和…...
【第2章:神经网络基础与实现——2.3 多层感知机(MLP)的构建与调优技巧】
在当今科技飞速发展的时代,人工智能早已不是一个陌生的词汇,它已经渗透到我们生活的方方面面,从智能语音助手到自动驾驶汽车,从图像识别到自然语言处理。而支撑这一切的核心技术之一,就是神经网络。作为机器学习领域的璀璨明星,神经网络已经在众多任务中取得了令人瞩目的…...
宠物企业宣传网站静态模板 – 前端静态页面开发实例
该宠物宣传企业站是一个基于前端技术构建的静态网站,旨在为宠物行业的企业提供一个简洁、现代的在线展示平台。整个网站采用HTML、CSS和JavaScript三种技术,确保了良好的用户体验和页面表现。 前端技术: HTML:HTML负责构建网站的…...
git如何下载指定版本
要使用Git下载指定版本,可以通过以下步骤进行操作: 1. 使用Git命令行下载指定版本: 1.1 首先,使用git clone命令克隆整个git库到本地。例如:git clone [库的URL]。这将下载最新的代码到本地。 1.2 进入克隆…...
【第4章:循环神经网络(RNN)与长短时记忆网络(LSTM)——4.2 LSTM的引入与解决长期依赖问题的方法】
在人工智能的璀璨星空中,深度学习模型犹如一颗颗耀眼的星辰,引领着技术的革新。而在处理序列数据的领域中,循环神经网络(RNN)无疑是那颗最为亮眼的星星。然而,即便是这样强大的模型,也面临着一些棘手的问题,其中最突出的便是长期依赖问题。今天,我们就来深入探讨一下长…...
IoTDB 集群节点 IP 改变,如何更新集群
问题 问题1:如果 IoTDB 配置的时候用的 IP,没有用 hostname,后面 IP 修改了,历史数据需要重新导吗? 问题2:如果现场运行 IoTDB 半年,电脑 IP 要改的话,半年的数据要导出来再导入么…...
C++ 设计模式-建造者模式
以下是一个完整的C建造者模式示例,包含产品类、建造者接口、具体建造者、指挥者以及测试代码: #include <iostream> #include <string> #include <memory>// 产品类:汽车 class Car { public:void setBody(const std::str…...
词袋模型和词嵌入模型区别和关联分析(词袋模型是否属于词嵌入模型)
词袋模型(Bag of Words, BoW)不属于词嵌入模型,它们是两种完全不同的文本表示方法。以下从多个维度对比二者的核心区别 1. 本质区别 特性词袋模型 (BoW)词嵌入模型 (Word Embedding)表示形式离散的稀疏向量(高维,维度…...
png、jpg、gif、webp的区别
png、jpg、gif、webp的区别 1.img的格式2.问题 1.img的格式 png 无损压缩,尺寸体积比jpg/jpeg大;适合做小图标jpg 采用了压缩算法,有一点失真,比png体积小;适合中大型图片gif 动态图webp 同时支持有损和无损压缩,相同质量的图片,webp具有更小的体积,但兼容性不太好(在某些浏览…...
el-input输入框样式修改
el-input输入框样式修改 目的:蓝色边框去掉、右下角黑色去掉(可能看不清楚) 之前我试过deep不行 最有效的办法就是就是在底部添加一下css文件 代码中针对input的type为textarea,对于非textarea,只需将下面的css样式中的textarea替换成input…...
什么是多光谱环形光源
多光谱环形光源是一种用于机器视觉、工业检测和科学研究的光源设备,能够提供多种波长的光,适用于不同材料和表面的检测需求。以下是其关键特点和应用: 关键特点 多光谱输出:可发射多种波长的光(如可见光、红外光、紫外…...
几款C#开发的入门书籍与视频教程
以下是几本适合C#初学者的书籍和一些优质的视频教程推荐,帮助你快速入门C#开发: 书籍推荐 1. 《C#入门经典》 • 作者:Karli Watson, Christian Nagel 等 • 特点:经典的C#入门书籍,内容全面,从基础语法到…...
