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

系统开发与运行知识

系统开发与运行知识

导航

文章目录

  • 系统开发与运行知识
  • 导航
    • 一、软件工程
    • 二、软件生命周期
    • 三、开发模型
    • 四、开发方法
    • 五、需求分析
      • 结构化分析
    • 六、数据流图
      • 分层数据流图的画法
      • 设计注意事项
    • 七、数据字典
      • 数据字典的内容
    • 八、系统设计
    • 九、结构化设计常用工具
    • 十、面向对象
    • 十一、UML
    • 十二、软件测试
      • 测试过程
      • 测试原则
      • 测试类型

一、软件工程

软件危机

软件工程

  • 三个要素:
    1. 方法:是指完成软件开发的各项任务的技术方法
    2. 工具:是指为运用方法而提供的软件工程支撑环境
    3. 过程:是指为获得高质量的软件所需要完成的一系列任务

二、软件生命周期

image-20240520171407761

三、开发模型

image-20240520171738829

image-20240520173127062

image-20240520173232827

image-20240520173326646

image-20240520173519518

image-20240520173607843

四、开发方法

image-20240520215937872

五、需求分析

软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。

软件需求他是指用户解决问题或达到目标所需要的条件或能力,是系统要满足合同、标准、规范或其他正式规定文档所需具有的条件或者能力,以及反映这些条件或能力的文档说明

结构化分析

  • 数据流图:是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况。

  • 数据字典:

    加工处理逻辑描述

    • 结构化语言
    • 判定表
    • 判定树

六、数据流图

image-20240520223928122

image-20240520224057641

分层数据流图的画法

  • 画系统的输入和输出
  • 画系统的内部
  • 画加工的内部
  • 对第3步分解出来的DFD子图中的每个加工,重复第3步的分解,直到图中尚未分解的加工都足够简单为止

设计注意事项

  • 适当取名,避免空洞的名字
  • 加工输入、输出不应同名
  • 允许一个加工有多个数据流流向另一个加工
  • 允许一个加工有两个相同的输出数据流流向两个不同的加工
  • 一个存储首次出现时只与一个加工有关,则该存储应作为加工的内部,而不必画出
  • 表现的是数据流而不是控制流
  • 保持父图与子图的平衡
  • 保持数据守恒
  • 每个加工必须既有输入数据流,又有输出数据流
  • 整套数据流图中,每个数据存储必须既有读,又有写的数据流;但某一张子图中可以只有读或者写

七、数据字典

数据字典的内容

  • 数据元素(数据项):包括数据项名,数据项含义说明、别名、数据类型长度、取值范围、取值含义、与其他数据项的逻辑关系。
  • 数据结构:数据结构它是用来描述数据元素之间的关系。
  • 数据流:它是由一个或一组数据元素所组成的。
  • 加工逻辑:数据流图中功能块的说明。数据存储:数据流图中数据块的存储特性说明。

八、系统设计

image-20240521152558815

image-20240521155119829

image-20240521155204917

image-20240521155300615

九、结构化设计常用工具

image-20240521223052896

十、面向对象

image-20240522091034315

十一、UML

image-20240522091546871

image-20240522091738332

十二、软件测试

测试意义与目的

测试过程

  • 制定测试计划
  • 编制测试大纲
  • 根据测试大纲设计和生成测试用例,产生测试设计说明文档
  • 实施测试
  • 生成测试报告

测试原则

  • 尽早、不断的进行测试
  • 程序员避免测试自己设计的程序
  • 既要选择有效、合理的数据,也要选择无效、不合理的数据
  • 修改后应进行回归测试
  • 尚未发现的错误数量与该程序已发现错误数成正比

测试类型

  1. 动态测试

    • 黑盒测试法

    • 白盒测试法

    • 灰盒测试法

  2. 静态测试

    • 桌前检查

    • 代码审查

    • 代码走查

image-20240522103634905

image-20240522104121754

image-20240522104426107

相关文章:

系统开发与运行知识

系统开发与运行知识 导航 文章目录 系统开发与运行知识导航一、软件工程二、软件生命周期三、开发模型四、开发方法五、需求分析结构化分析 六、数据流图分层数据流图的画法设计注意事项 七、数据字典数据字典的内容 八、系统设计九、结构化设计常用工具十、面向对象十一、UML…...

算法训练 | 二叉树Part1 | 递归遍历、迭代遍历、统一迭代

目录 递归遍历 前序遍历 迭代遍历 前序遍历(迭代法) 中序遍历(迭代法) 后序遍历(迭代法) 统一迭代法 统一迭代 嵌入式学习分享个人主页:Orion嵌入式随想录 - 小红书 (xiaohongshu.com) …...

AcWing 2568:树链剖分 ← 线段树+DFS

【题目来源】https://www.acwing.com/problem/content/2570/【题目描述】 给定一棵树,树中包含 n 个节点(编号 1∼n),其中第 i 个节点的权值为 ai。 初始时,1 号节点为树的根节点。 现在要对该树进行 m 次操作&#xf…...

PCIe协议之-DLLP详解

✨前言: 🌟数据链路层的功能 数据链路层将从物理层中获得报文, 并将其传递给事务层; 同时接收事务层的报文, 并将其转发到物理层; 核心的功能有以下三点 1.保证TLP在 PCIe 链路中的正确传递; 2.数据链路层使用了容错…...

Jmeter+prometheus+grafana性能测试

文章目录 Jmeterprometheusgrafana性能测试背景目标设计思路原理案例启发 Jmeterprometheusgrafana性能测试 背景 ​ 在现代社会中,人们对于应用程序的响应速度和性能体验提出了越来越高的要求。无论是电子商务网站、社交媒体平台还是企业级软件系统,都…...

Hololens 2 新建自定义按钮

官方链接地址 1、创建Cube 2、添加PressableButton脚本,并点击AddNearin… 3、把Cube拖入到MovingButtonVisuals变量中 4、点击NearInteractionTouchable组件(这个组件是添加和上一个脚本绑定的,自动添加上来的)上的Fix… 5、…...

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中,抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则,新手小白如何才能在抖音小店的海洋里稳健航行,捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位,明确目…...

力扣 42. 接雨水 python AC

双指针 class Solution:def trap(self, heights):l, r 0, len(heights) - 1maxl, maxr 0, 0ans 0while l < r:maxl, maxr max(maxl, heights[l]), max(maxr, heights[r])if maxl < maxr:ans maxl - heights[l]l 1else:ans maxr - heights[r]r - 1return ans单调栈…...

The 2022 ICPC Asia Nanjing Regional Contest - External D

G题 赛题补充 D题的题目来源 https://codeforces.com/gym/104128/problem/D 文章目录 题意思路代码 题意 给一个长度为n的数组&#xff0c;问对一段区间添加等差数列后的最大的第 k 大是多少 思路 通过观察题目可以发现答案的范围符合单调性&#xff0c;因此我们可以考虑二分…...

2024年蓝桥杯B组C++——复盘

1、握手问题 知识点&#xff1a;模拟 这道题很简单。但是不知道考试的时候有没有写错。一开始的43个人握手&#xff0c;仅需要两两握手&#xff0c;也就是从42个握手开始&#xff0c;而非43.很可惜。这道题没有拿稳这5分。也很有可能是这5分导致没有进决赛。 总结&#xff1a…...

微调Llama3实现在线搜索引擎和RAG检索增强生成功能

视频中所出现的代码 Tavily SearchRAG 微调Llama3实现在线搜索引擎和RAG检索增强生成功能&#xff01;打造自己的perplexity和GPTs&#xff01;用PDF实现本地知识库_哔哩哔哩_bilibili 一.准备工作 1.安装环境 conda create --name unsloth_env python3.10 conda activate …...

【软件工程】【23.04】p1

关键字&#xff1a; 软件模型、提炼、加工表达工具、通信内聚、访问依赖、边界类交互分析、RUP核心工作流、首先测试数据流、软件验证过程、CMMI过程域分类工程类&#xff1b; 软件工程目的、功能需求是需求的主体、结构化方法、耦合、详细设计工具、类、类图、RUP采用用例技…...

Flutter 中的 ColoredBox 小部件:全面指南

Flutter 中的 ColoredBox 小部件&#xff1a;全面指南 在 Flutter 的世界中&#xff0c;ColoredBox 是一个用于填充颜色的简单而强大的小部件。它是一个不透明的矩形&#xff0c;可以用来创建颜色块&#xff0c;作为布局的占位符&#xff0c;或者简单地改变某个区域的背景色。…...

【LeetCode 随笔】面试经典 150 题【中等+困难】持续更新中。。。

文章目录 12.【中等】整数转罗马数字151.【中等】反转字符串中的单词6.【中等】Z 字形变换68.【困难】文本左右对齐167.【中等】两数之和 II - 输入有序数组 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您…...

SwiftUI中AppStorage的介绍使用

在Swift中&#xff0c;AppStorage是SwiftUI中引入的一个属性包装器&#xff0c;在这之前我们要存储一些轻量级的数据采用UserDefaults进行存取。而AppStorage用于从UserDefaults中读取值&#xff0c;当值改变时&#xff0c;它会自动重新调用视图的body属性。也就是说&#xff0…...

iCloud 照片到 Android 指南:帮助您快速将照片从 iCloud 传输到安卓手机

​ 概括 iOS 和 Android 之间的传输是一个复杂的老问题。将 iCloud 照片传输到 Android 似乎是不可能的。放心。现在的高科技已经解决了这个问题。尽管 Apple 和 Android 不提供传输工具&#xff0c;但您仍然有其他有用的选项。这篇文章与您分享了 5 个技巧。因此&#xff0c;…...

知识点总结

1、Uboot的流程调用&#xff1a; 1.1、cmd_process函数是怎么被调用到的&#xff1a; cmd_process在common/command.c 1.2、uboot阶段断电&#xff0c;后续起不来&#xff0c;可能要换线去使用&#xff0c;也许和电源线有关 2、git 相关使用 2.1 .gitignore相关的使用 1、…...

Python并发与异步编程

Python的并发与异步编程是两个不同的概念&#xff0c;但它们经常一起使用&#xff0c;以提高程序的性能和响应能力。以下是对这两个概念的详细讲解&#xff1a; 并发编程 (Concurrency) 并发编程是指在程序中同时执行多个任务的能力。Python提供了几种实现并发的机制&#xff…...

动态内存管理—C语言通讯录

目录 一&#xff0c;动态内存函数的介绍 1.1 malloc和free 1.2 calloc 1.3 realloc 1.4C/C程序的内存开辟 二&#xff0c;通讯录管理系统 动态内存函数的介绍 malloc free calloc realloc 一&#xff0c;动态内存函数的介绍 1.1 malloc和free void* malloc (…...

美光EMMC芯片丝印型号查询 8LK17/D9PSK, OXA17/JY997

问题说明 最近在使用美光EMMC的时候&#xff0c;发现通过芯片丝印查询不到 芯片的规格说明书&#xff1b; 经过查阅资料&#xff0c;发现美光的EMMC芯片 “由于空间限制&#xff0c;FBGA 封装组件具有与部件号不同的缩写部件标记”&#xff0c;需要通过官网查询丝印的FBGA cod…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...