系统开发与运行知识

news2024/11/26 6:57:51

系统开发与运行知识

导航

文章目录

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

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

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

相关文章

集合的创建

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python中的集合同数学中的集合概念类似,也是用于保存不重复元素的。它有可变集合(set)和不可变集合(f…

Vue3实战笔记(34)—完美的菜单组件封装

文章目录 前言多层菜单封装总结 前言 之前简单的封装了一下菜单组件,数据都是写死的,多层嵌套没有支持,学完了组件传值,计算属性就可以继续完善了。 多层菜单封装 先看下数据结构: {"id":"1",&q…

K210 数字识别 笔记

一、烧写固件 连接k210开发板,点开烧录固件工具,选中固件,并下载 二、模型训练 网站:MaixHub 1、上传文件 2、开始标记数据 添加9个标签,命名为1~9,按键盘w开始标记,键盘D可以下一张图片&…

Redis学习篇2:Redis在Spring中的应用

本文继上文开始讲述了Redis在IDEA中如何应用以及集成进入spring开发环境,以及如何使用Redis客户端。上一个文章:Redis学习篇1:初识Redishttps://blog.csdn.net/jialuosi/article/details/139057088 一、Redis在java中的客户端 二、SpringDat…

Spring Boot中@Value加载配置的替代者:@ConfigurationProperties

Value注解Spring Boot开发者都已经熟悉了,通过该注解,我们可以快速的把配置信息加载到Spring的Bean中。 例如:在application.yml中添加了一个配置如下: 我想在service中获取name,通过value注解方式实现,代…

【JVM精通之路】垃圾回收-三色标记算法

首先预期你已经基本了解垃圾回收的相关知识,包括新生代垃圾回收器,老年代垃圾回收器,以及他们的算法,可达性分析等等。 先想象一个场景 最开始黑色节点是GC-Roots的根节点,这些对象有这样的特点因此被选为垃圾回收的根…

你什么时候感觉学明白Java了?

学是学不明白Java的,要学明白Java,一定只能在工作以后。 1 在学习阶段,哪怕是借鉴别人的学习路线,其实依然会学很多不必要的技能,比如jsp,swing,或者多线程,或者设计模式。 2 或者…

你对仲裁裁决不服怎么办?我教你四个狠招!

你对仲裁裁决不服怎么办?我教你四个狠招! 这个标题是什么意思呢?也就是说,当你(或用人单位)向劳动仲裁委提出仲裁申请后,但劳动仲裁结果没有维护你的权益,或者你不满意,…

【Nginx <三>⭐️⭐️⭐️】Nginx 负载均衡使用

目录 👋前言 👀一、 负载均衡概述 🌱二、项目模拟 2.1 环境准备 2.2 启动多个服务器 2.3 配置 Nginx 2.4 测试配置 💞️三、章末 👋前言 小伙伴们大家好,前不久开始学习了 Nginx 的使用,在…

如何克隆非默认分支

直接git clone下来的我们知道是默认分支,那如何克隆其他分支呢: 比如这个,我们想克隆AdvNet。 我们可以在本地文件夹打开Git Bash 依次输入: git clone --branch AdvNet https://github.com/wgcban/SemiCD.git cd SemiCD git b…

Monaco-Editor在Vue中使用(实现代码编辑与diff代码比较)--类似vscode代码编辑器

Monaco-Editor 是一个由 Microsoft 开发的 Web 代码编辑器,它是 Visual Studio Code 的浏览器版本。在 Vue 项目中集成 Monaco-Editor 可以提供代码编辑、语法高亮、智能提示等功能 效果: 1、安装使用,最好安装指定版本,我是 vue…

力扣算法之1070. 产品销售分析 III

力扣传送门 题解 选出每个售出过的产品 第一年 销售的 产品 id、年份、数量 和 价格,很明显就是个排序问题 我的解 SELECT product_id,year as first_year,quantity,price FROM ( SELECT sale_id,RANK() OVER(PARTITION BY product_id ORDER BY [year] asc ) A…

Matlab-熵权法

文章目录 熵权法一、模型简介二、例题1. 数据标准化2.指标的熵值和变异程度3.权重与评分4.代码实现 熵权法 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多…

Docker安装Nginx 并实现通过nginx部署静态网址

Docker镜像就是一个只读的模板,可以用来创建Docker容器。 例如:一个镜像可以包含一个完整的centos操作系统环境,里面仅安装了mysql、nginx等或用户需要的其他应用程序。 Docker提供了一个非常简单的机制来创建镜像或者更新现有的镜像&#…

OpenHarmony Camera源码分析

一、简介 当前,开源在科技进步和产业发展中发挥着越来越重要的作用,OpenAtom OpenHarmony(简称“OpenHarmony”)赋予了开发者孕育创新的种子,也为数字化产业发展开辟了一片土壤。深开鸿是开源的坚定践行者&#xff0c…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展,AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中,开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势,分析它们对AI大模型发展的影响,并预测谁将…

Spring中RestTemplate用法

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 RestTemplate 是从…

redis基本数据结构与应用

文章目录 概要String结构Hash结构List结构Set结构Zset结构bitmap位图类型geo地理位置类型其他常用命令 概要 redis常用的5种不同数据结构类型之间的映射如下: 结构类型结构存储的值结构的读写能力STRING可以是字符串、整数或者浮点数key-value形式;对整…

Python筑基之旅-集合

目录 一、集合 1、集合的定义 2、集合的语法 3、获取集合的属性和方法 4、获取集合的帮助信息 5、集合的用法 5-1、创建集合 5-1-1、创建空集合(必须使用set()函数) 5-1-2、使用花括号创建集合(包含元素) 5-1-3、使用set()函数创建集合(包含元素) 5-1-4、尝试使用花括…