当前位置: 首页 > news >正文

系统架构:软件工程

文章目录

  • 资源
  • 知识点
    • 自顶向下与自底向上
    • 形式化方法
    • 结构化方法
    • 敏捷方法
    • 净室软件工程
    • 面向服务的方法
    • 面向对象的方法
    • 快速应用开发
    • 螺旋模型
    • 软件过程和活动
    • 开放式源码开发方法
    • 功用驱动开发方法
    • 统一过程模型RUP
    • 基于构件的软件开发
    • UML

资源

信息系统开发方法

知识点

自顶向下与自底向上

自顶向下设计是指根据给定的问题,递归地将给定问题分析成若干小的基本问题,自下而上是一种相反的设计方法,是指根据已有的组件(基本问题),通过一定的排列组合,最终解决需要解决的问题。从两种方法的定义可以看出自顶向下的设计方法强调的是问题的分解,而自下而上的设计方法强调的是组件(基本问题)复用,所以对于一个相对陌生的问题,采用自顶向下,逐层分解的方法可以更好的得到问题的解,而对于常见问题,则是使用现有的组件可以更快地达到目的。

形式化方法

形式化方法是一种具有坚实数学基础的方法,允许对系统和开发过程做严格处理和论证,主要优越性在于能够数学地表述和研究应用问题及实现。但对数学基础要求高,不适用于复杂场景,并未得到普遍应用。

结构化方法

结构化方法也称为面向功能的开发方法,包括结构化分析、结构化设计、结构化编程等阶段。自顶向下、逐步求精地开发系统。
缺点是开发周期长,难以适应需求的变化。
结构化分析的核心是数据流图和数据字典,通过分析数据流图可以导出程序结构图。

敏捷方法

敏捷方法是面向对象的,有三个特点:

  • 适应性:指拥抱变化,不断改变;
  • 面向人:指以人为本,充分发挥人的特性;
  • 迭代增量:每一发行版都是在原版基础上进行功能需求的扩充,最后满足所有需求。

敏捷方法适用于需求变化较大或前期需求不够清晰的项目。

净室软件工程

将正确性验证(而非传统的测试)作为发现和排除错误的主要机制,强调统计质量控制技术,太过于理论化。

面向服务的方法

以粗粒度、松散耦合和基于标准的服务为基础,增强了系统的灵活性、可复用性和可演化性。

面向对象的方法

采用面向对象开发方法时可以使用状态图和活动图对系统的动态行为进行建模。

快速应用开发

利用了基本构件开发方法的思想,大量采用线程的构建进行系统的开发,速度快,但只适用于模块化程度较高的系统。

螺旋模型

在原型模型的基础上扩展而成,把整个软件开发流程分成多个阶段,每个阶段都由目标设定、风险分析、开发、有效性验证和评审构成。适合于开发团队较小的项目。
在这里插入图片描述

软件过程和活动

在这里插入图片描述

开放式源码开发方法

适用于程序开发人员在地域上分布很广的开发团队

功用驱动开发方法

编程开发人员分为首席程序员和“类”程序员。

统一过程模型RUP

三个核心特点:

  • 以架构为中心:
  • 用例驱动:
  • 增量与迭代:在早起迭代中解决高风险和高价值的问题,强调用户的主动参与。

在这里插入图片描述
一个开发周期包括四个阶段

  • 初始:建立业务模型,确定项目边界。
  • 细化:分析问题,建立完善的架构。
  • 构建:开发所有功能并集成为产品。
  • 移交:制作发布版本,基于反馈再进行调整。

基于构件的软件开发

失配问题
在这里插入图片描述逻辑构件模型描述系统设计蓝图以保证系统提供适当的功能,物理构件模型用来了解系统的性能、吞吐率等非功能性属性。

UML

相关文章:

系统架构:软件工程

文章目录 资源知识点自顶向下与自底向上形式化方法结构化方法敏捷方法净室软件工程面向服务的方法面向对象的方法快速应用开发螺旋模型软件过程和活动开放式源码开发方法功用驱动开发方法统一过程模型RUP基于构件的软件开发UML 资源 信息系统开发方法 知识点 自顶向下与自底…...

泰迪大数据实训平台产品介绍

大数据产品包括:大数据实训管理平台、大数据开发实训平台、大数据编程实训平台等 大数据实训管理平台 泰迪大数据实训平台从课程管理、资源管理、实训管理等方面出发,主要解决现有实验室无法满足教学需求、传统教学流程和工具低效耗时和内部教学…...

Linux- 文件夹相关的常用指令

1. 统计文件夹下的文件数量 在 Linux 下&#xff0c;有几种方法可以统计文件夹下的文件数量&#xff1a; 使用 ls 和 wc 命令&#xff1a; 这种方式可以统计目录下的直接子文件&#xff08;不包括子目录里的文件&#xff09;。 ls -l <目录路径> | wc -l注意&#xff1a…...

在 macOS 中安装 TensorFlow 1g

tensorflow 需要多大空间 pip install tensorflow pip install tensorflow Looking in indexes: https://pypi.douban.com/simple/ Collecting tensorflowDownloading https://pypi.doubanio.com/packages/1a/c1/9c14df0625836af8ba6628585c6d3c3bf8f1e1101cafa2435eb28a7764…...

数学建模:CRITIC赋权法

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 CRITIC赋权法 算法流程 构建原始数据矩阵 X X X&#xff0c;他是一个 m ∗ n m * n m∗n 的矩阵&#xff0c; m m m 表示评价对象个数&#xff0c; n n n 表示指标个数对原始数据矩阵进行正向化处理计算…...

Facebook message tag 使用攻略

Messenger 讯息传不出去&#xff1f;无法发送FB 讯息给非好友&#xff1f; 2020年3月&#xff0c;Facebook 为了防止用户被过多的推广或垃圾讯息困扰而更新使用条款&#xff0c;现在商家要用FB传讯息给所有人&#xff08;包括非好友&#xff09;&#xff0c;应该使用 Facebook …...

气传导耳机哪个品牌比较好?综合表现很不错的气传导耳机推荐

​气传导耳机不仅能够提升幸福感还能听到周围环境声&#xff0c;大大提高安全性。如果你在寻找一款高品质的气传导耳机&#xff0c;又不知从何入手时&#xff0c;不要担心&#xff0c;我已经为你精心挑选了四款市面上综合表现很不错的气传导耳机&#xff0c;让你享受更好的音质…...

Rabbitmq的消息转换器

Spring会把你发送的消息序列化为字节发送给MQ&#xff0c;接收消息的时候&#xff0c;还会把字节反序列化为Java对象 ,只不过&#xff0c;默认情况下Spring采用的序列化方式是JDK序列化。众所周知&#xff0c;JDK序列化存在下列问题&#xff1a; 数据体积过大 有安全漏洞 可读…...

nvidia-docker的使用

拉取镜像 docker pull nvidia/cuda可能出现的问题 问题描述 Error response from daemon: manifest for nvidia/cuda:latest not found: manifest unknown: manifest解决方法&#xff1a; 为找到正确且合适的docker镜像版本 在supported-tags中找到与自己系统对应的cuda版本…...

C++新经典 | C语言

目录 一、基础之查漏补缺 1.float精度问题 2.字符型数据 3.变量初值问题 4.赋值&初始化 5.头文件之<> VS " " 6.逻辑运算 7.数组 7.1 二维数组初始化 7.2 字符数组 8.字符串处理函数 8.1 strcat 8.2 strcpy 8.3 strcmp 8.4 strlen 9.函数 …...

物联网智慧种植农业大棚系统

一、项目背景 智慧农业是是将物联网技术和农业生产箱管理的新型农业&#xff0c;依托部署在农业生产现场的各种传感节点&#xff0c;以物联网网关为通道形成数据传输网络&#xff0c;可以实现控制柜、环境监测传感器、气象监测机器等设备的远程监控&#xff0c;达到及时高校的…...

TabBar组件如何跳转页面?

1、先引入 2、假数据 const tabs [{key: home,title: 首页,icon: <AppOutline />,badge: Badge.dot,},{key: todo,title: 待办,icon: <UnorderedListOutline />,badge: 5,},{key: message,title: 消息,icon: (active: boolean) >active ? <MessageFill /&…...

Vue.js中,router和route

<div class"search">{{$route.params.things}}<van-nav-bar fixed title"商品列表" left-arrow click-left"$router.go(-1)" /><van-searchreadonlyshape"round"background"#ffffff"value"手机"sh…...

【微服务】07-缓存

文章目录 为不同的场景设计合适的缓存策略1. 缓存是什么2. 缓存的场景3. 缓存的策略4. 缓存位置5. 缓存实现的要点6. 注意问题7. 使用的组件8. 内存缓存和分布式缓存区别 总结 为不同的场景设计合适的缓存策略 1. 缓存是什么 缓存是计算结果的“临时”存储和重复使用缓存本质…...

权限校验中的“双token”方案

1. 双Token中的两个token分别是什么&#xff1f; 1.1 access_token 1.2 fresh_token 2. 为什么需要双token&#xff1f;一个token不行吗&#xff1f; 答&#xff1a; 两个token的职责不同。其中&#xff0c;access_token是在每次请求的时候携带给后端进行权限校验&#xff…...

TensorFlow的基本概念

TensorFlow 是由 Google 开发的开源机器学习框架&#xff0c;其基本概念如下&#xff1a; 1. 张量&#xff08;Tensor&#xff09;&#xff1a;TensorFlow 中最基本的数据结构&#xff0c;是多维数组&#xff0c;可以理解为向量或矩阵的推广。常见的张量有常量张量、变量张量和…...

【卷积神经网络】MNIST 手写体识别

LeNet-5 是经典卷积神经网络之一&#xff0c;1998 年由 Yann LeCun 等人在论文 《Gradient-Based Learning Applied to Document Recognition》中提出。LeNet-5 网络使用了卷积层、池化层和全连接层&#xff0c;实现可以应用于手写体识别的卷积神经网络。TensorFlow 内置了 MNI…...

Ansible学习笔记2

Ansible是Python开发的自动化运维工具&#xff0c;集合了众多运维工具&#xff08;Puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置&#xff0c;批量程序部署、批量运行命令等功能。 特点&#xff1a; 1&#xff09;部署简单&#xff…...

80. 删除有序数组中的重复项 II

【中等题】 题目&#xff1a; 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额…...

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析 漏洞简介 Windows错误报告服务在提交错误报告前会创建wermgr.exe进程&#xff0c;而攻击者使用特殊手法欺骗系统创建伪造的wermgr.exe进程&#xff0c;从而以system权限执行代码。 影响版本 Windows10 1507 * Wind…...

告别繁琐安装:用快马平台在线IDE实现零配置编程初体验

最近在尝试学习编程时&#xff0c;发现很多新手都会卡在开发环境配置这一步。传统的IDE安装过程不仅耗时&#xff0c;还可能遇到各种环境变量配置问题。作为一个过来人&#xff0c;我想分享一个更简单的解决方案——直接在浏览器里就能完成编程初体验。 为什么需要在线IDE 刚开…...

Ubuntu20.04+ROS Noetic下Quad_sdk四足机器人环境搭建全攻略(附常见错误排查)

Ubuntu 20.04与ROS Noetic环境下Quad-SDK四足机器人开发环境搭建实战指南 四足机器人技术正在从实验室走向更广阔的应用场景&#xff0c;而Quad-SDK作为一款开源的机器人控制框架&#xff0c;凭借其优秀的运动控制算法和地形适应能力&#xff0c;成为许多开发者的首选。本文将带…...

团队知识协作平台:构建高效智能的文档管理系统

团队知识协作平台&#xff1a;构建高效智能的文档管理系统 【免费下载链接】outline Outline 是一个基于 React 和 Node.js 打造的快速、协作式团队知识库。它可以让团队方便地存储和管理知识信息。你可以直接使用其托管版本&#xff0c;也可以自己运行或参与开发。源项目地址&…...

MobaXterm远程连接:管理Baichuan-M2-32B-GPTQ-Int4服务器

MobaXterm远程连接&#xff1a;管理Baichuan-M2-32B-GPTQ-Int4服务器 1. 为什么选择MobaXterm来管理大模型服务器 部署Baichuan-M2-32B-GPTQ-Int4这样的医疗增强推理模型&#xff0c;通常需要在Linux服务器上运行vLLM或SGLang等推理引擎。这类服务对系统资源要求高&#xff0…...

3个专业级音视频处理技巧:让新手也能轻松实现高质量转码

3个专业级音视频处理技巧&#xff1a;让新手也能轻松实现高质量转码 【免费下载链接】Videomass Videomass is a free, open source and cross-platform GUI for FFmpeg and yt-dlp 项目地址: https://gitcode.com/gh_mirrors/vi/Videomass 在数字内容创作领域&#xff…...

Vue3-DateTime-Picker:如何构建现代化的Vue 3日期时间选择器解决方案?

Vue3-DateTime-Picker&#xff1a;如何构建现代化的Vue 3日期时间选择器解决方案&#xff1f; 【免费下载链接】vue3-date-time-picker Datepicker component for Vue 3 项目地址: https://gitcode.com/gh_mirrors/vu/vue3-date-time-picker Vue3-DateTime-Picker作为基…...

DeOldify移动端适配初探:基于Android平台的原型开发

DeOldify移动端适配初探&#xff1a;基于Android平台的原型开发 你有没有翻看过家里的老相册&#xff1f;那些泛黄的黑白照片&#xff0c;承载着珍贵的记忆&#xff0c;却总让人觉得少了点色彩的温度。如果能给它们一键上色&#xff0c;让记忆鲜活起来&#xff0c;那该多好。这…...

SDMatte开源模型部署实录:从镜像拉取到首张图产出完整记录

SDMatte开源模型部署实录&#xff1a;从镜像拉取到首张图产出完整记录 1. 引言 SDMatte是一款面向高质量图像抠图场景的AI模型&#xff0c;特别适合处理主体分离、透明物体提取、边缘精修、商品图去背景等任务。对于玻璃、薄纱、羽毛、叶片等边缘细节复杂或半透明目标&#x…...

OpenClaw+Qwen3.5-4B-Claude:3个提升开发效率的自动化技巧

OpenClawQwen3.5-4B-Claude&#xff1a;3个提升开发效率的自动化技巧 1. 为什么开发者需要OpenClaw&#xff1f; 作为一名长期奋战在代码一线的开发者&#xff0c;我一直在寻找能够真正减轻重复劳动的工具。直到遇到OpenClaw与Qwen3.5-4B-Claude的组合&#xff0c;才发现原来…...

OpenClaw飞书机器人速成:GLM-4.7-Flash对话触发与任务执行

OpenClaw飞书机器人速成&#xff1a;GLM-4.7-Flash对话触发与任务执行 1. 为什么选择OpenClaw飞书GLM组合&#xff1f; 去年夏天&#xff0c;当我第一次尝试用自然语言让AI帮我整理会议录音时&#xff0c;经历了整整三天的挫败——要么是云端API调用太贵&#xff0c;要么是本…...