系统架构:软件工程速成

文章目录

  • 参考
  • 概述
    • 软件工程概述
    • 软件过程
  • 可行性分析
    • 可行性分析概述
    • 数据流图
    • 数据字典
  • 需求分析
    • 需求分析概述
    • ER图
    • 状态转换图

参考

软件工程速成(期末+考研复试+软考)均适用. 支持4K

概述

软件工程概述

定义:采用工程的概念、原理、技术和方法来开发与维护软件。

三要素:

  • 方法:完成软件开发各项任务的技术方法,回答“怎么做”。
  • 工具:为运用方法提供的自动或半自动软件工程支撑环境。
  • 过程:为了获得高质量软件所需要完成的一系列任务框架,回答“什么时候做”

软件生命周期三时期、八阶段。

  1. 软件定义时期。包括的阶段有:
    问题定义阶段:用户需要解决什么样的问题。
    可行性研究阶段:软件开发是否可行。
    需求分析:明确客户需求,输出标准化的需求说明书。
  2. 软件开发时期,包括的阶段有:
    总体设计:设计整体结构、确定综合测试目标
    详细设计
    编码和单元测试
    综合测试
  3. 软件维护时期(持续时间最长、花费最大)
    软件运维

软件过程

主要包括瀑布模型、增量模型、螺旋模型、喷泉模型等,是任务框架。

  1. 瀑布模型
    在这里插入图片描述
    特点:是最基本的软件开发生命周期模型。
    优点:方便组织管理,提高了大型软件开发的质量和效率。
    缺点:开发过程死板,不便修改,很难实践

  2. 增量模型
    在这里插入图片描述
    优点:人员分配灵活、可先发布部分功能给客户。
    缺点:并行开发有难以集成的风险。

  3. 螺旋模型
    在这里插入图片描述特点:引入了风险分析,每个螺旋周期大致是瀑布模型。
    优点:设计灵活,方便变更、每个周期均要求用户评估。
    缺点:迭代次数太多导致成本高。

  4. 喷泉模型
    在这里插入图片描述
    特点:划分为多个阶段,但无明显界限,可迭代交叉。

可行性分析

可行性分析概述

可行性分析:用最小代价在最短时间内确定问题是否可解决。
可行性研究:了解客户要求,从技术、经济、社会因素等方面论证可行性

数据流图

数据流图也称为数据流程图DFD,是一种便于用户理解、分析系统数据流程的图形工具,其基本元素包括:

  • 外部实体:表示数据的源点和终点,为软件系统外的人员或组织。
  • 加工:数据的处理。
  • 数据存储:信息的静态存储。
  • 数据流:转移了什么数据。

在这里插入图片描述

例题:零件入库或出库称为事务,通过放在仓库中的CAT终端把出入库事务报告给订货系统。当某种零件的库存数小于阈值时应该再次订货。采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件,这些零件具有如下数据(零件编号、零件名称、订货数量、目前价格、主要供应商、次要供应商)。

解题:
一、从问题描述中提取数据流的四种成分

  • 源点和终点:通过仓库的CAT终端把事务报告给订货系统,进而到采购部,源点是仓库管理员,终点是采购人员。
  • 加工:采购部需要订货报表,因此需要生成订货报表。出入库改变零件数量也是一个加工。
  • 数据流:一是从仓库把出入库事务报告给订货系统,二是订货报表送到采购部。
  • 数据存储:需要订货的零件的信息、库存信息。

二、画大致模型

在这里插入图片描述
三、进一步细化

在这里插入图片描述

数据字典

数据流图描述了系统的分解,数据字典用于为数据流图中的每个数据流、文件、加工、数据项等作出说明,有以下四类条目:

  • 数据流条目:描述数据组成部分(如:内部号码=非零数字+3{数字}3)
  • 数据存储条目:
  • 数据项条目:
  • 处理条目:

需求分析

需求分析概述

定义:需求分析是指开发人员要准确理解客户要求,进行详细调查研究,将用户的非形式话的需求描述转换为完整的需求定义,进而生成软件需求规格说明书的过程。

ER图

提供了表示实体类型、属性和联系的方法。

状态转换图

通过描绘系统状态及引起系统状态转换的事件,来表示系统的行为,其符号包括:

  • 初态:用实心圆表示。
  • 中间状态:用圆角矩形表示,可分为上中下三部分,分别代表状态的名称、变量说明(可选)和活动表(可选)。
  • 终态:用一对同心圆表示。
  • 状态转换:用箭头表示。如转换由事件触发则应在箭头上标明,不标明则表示在原状态内部活动执行完之后自动触发。

在这里插入图片描述

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

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

相关文章

GET,POST,DELETE,PUT参数传递的形式

一.get请求参数在地址后面进行拼接 1.代码&#xff1a; <template><div class""><button click"fn">点击</button></div> </template><script> import axios from "axios"; //安装完之后&#xff0…

Spring MVC 八 - 内置过滤器

SpringMVC内置如下过滤器&#xff1a; Form DataForwarded HeadersShallow ETagCORS Form Data 浏览器可以通过HTTP GET或HTTP POST提交form data&#xff08;表单数据&#xff09;&#xff0c;但是非浏览器客户端可以通过HTTP PUT、HTTP DELETE、HTTP PATCH提交表单数据。但…

MFC中嵌入显示opencv窗口

在MFC窗体中建立一个Picture Control控件,用于显示opencv窗口 在属性中设置图片控件的资源ID为IDC_PIC1 主要的思路: 使用GetWindowRect可以获取图片控件的区域 使用cv::resizeWindow可以设置opencv窗口的大小,适合图片控件的大小 使用cvGetWindowHandle函数可以获取到ope…

conn,cur=DBHelper.connDB(DBconfig.A)是什么意思

这段代码是 Python 中调用 DBHelper.connDB() 方法的语句&#xff0c;并将其返回的连接对象和游标对象赋值给变量 conn 和 cur。 假设 DBHelper 是一个 Python 类&#xff0c;而 connDB() 是类 DBHelper 中的一个静态方法&#xff08;类方法&#xff09;&#xff0c;用于建立数…

OpenCV(四十二):Harris角点检测

1.Harris角点介绍 什么是角点&#xff1f; 角点指的是两条边的交点&#xff0c;图中红色圈起来的点就是角点。 Harris角点检测原理&#xff1a;首先定义一个矩形区域&#xff0c;然后将这个矩形区域放置在我的图像中&#xff0c;求取这个区域内所有的像素值之和&#xff0c;之…

ARTS第6周T:设计模式——外观模式(Facade模式)

下面是一个基于Java语言的Facade模式示例&#xff1a; java // 这个接口是客户端所看到的&#xff0c;也就是外观 public interface ICalculator { int add(int a, int b); int subtract(int a, int b); } // 这个类实现了上面的接口&#xff0c;也就是具体子系统的一…

麒麟v10安装mysql(ARM架构)

下载MYSQL安装包 华为开源镜像站_软件开发服务_华为云 上面的选择一个下载 或者用命令下载 wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-5.7.27-1.el7.aarch64.rpm 检查是否已经安装MySQL rpm -qa | grep mysql将包卸载掉 rpm -…

vue之封装tab类组件

vue之封装tab类组件 vue之封装tab类组件CSS样式方面JS方面 vue之封装tab类组件 需求&#xff1a;点击【上一步】、【下一步】按钮&#xff0c;切换tab&#xff0c;且有淡入浅出的动画。 CSS样式方面 <div class"parent"><div class"childDiv" id…

图论第三天|130. 被围绕的区域、417. 太平洋大西洋水流问题、827. 最大人工岛

130. 被围绕的区域 文档讲解 &#xff1a;代码随想录 - 130. 被围绕的区域 状态&#xff1a;开始学习。 思路&#xff1a; 步骤一&#xff1a; 深搜或者广搜将地图周边的 ‘O’ 全部改成 ’A’&#xff0c;如图所示&#xff1a; 步骤二&#xff1a; 再遍历地图&#xff0c;将 …

JWT 安全及案例实战

文章目录 一、JWT (json web token)安全1. Cookie&#xff08;放在浏览器&#xff09;2. Session&#xff08;放在服务器&#xff09;3. Token4. JWT (json web token)4.1 头部4.1.1 alg4.1.2 typ 4.2 payload4.3 签名4.4 通信流程 5. 防御措施 二、漏洞实例&#xff08;webgoa…

API原理概念篇(六)玩转正则表达式等常用API

一 玩转正则表达式等常用API ① 正则 1、openresty存在两套正则表达式规范1) lua自身独有的正则规范 备注&#xff1a;大约有5%&#xff5e;15%性能损耗损耗原因&#xff1a;表达式compile成pattern,并不会被缓存,每次都会被重新compile编译2) nginx的符合POSIX规范的PCR…

集合减法【新思路】

#include<stdio.h> int main() {int n,m,flag0;int x;int a[100001]{0},b[100001]{0};scanf("%d %d",&n,&m);以集合A所有元素作为数组下标映射值成1 for (int i 0; i < n; i) {scanf("%d", &x);a[x] 1; }以集合B所有元素作为数组下…

生产消费者模型的介绍以及其的模拟实现

目录 生产者消费者模型的概念 生产者消费者模型的特点 基于阻塞队列BlockingQueue的生产者消费者模型 对基于阻塞队列BlockingQueue的生产者消费者模型的模拟实现 ConProd.c文件的整体代码 BlockQueue.h文件的整体代码 对【基于阻塞队列BlockingQueue的生产者消费者模型…

Oracle 给字段加注释SQL

在Oracle中&#xff0c;可以使用COMMENT关键字为表中的字段添加注释。下面是使用COMMENT关键字为字段添加注释的SQL示例&#xff1a; 创建一个表 CREATE TABLE employees ( employee_id NUMBER, first_name VARCHAR2(100), last_name VARCHAR2(100)); 为employee_id字段…

windows系统安装php,运行php

一、安装php 官网&#xff1a;PHP For Windows: Binaries and sources Releases 下载最新的PHP解释器 解压好放入 C:\php 目录文件下 二、配置php 配置环境变量&#xff1a;在CMD命令提示符中输入以下命令&#xff0c;将PHP路径添加到系统环境变量中&#xff0c;以便可以在…

【第四阶段】kotlin语言集合转换与快捷转换学习

1.list可以通过转换为set进行去重 2.list转set在转list也能去重 3.使用快捷函数distinct进行去重 package Kotlin.Stage4fun main() {val list mutableListOf("java", "ktolin", "c", "java", "ktolin", "c")pr…

MyVector 的实现

myVector #include <iostream> #include <vector>int size20;using namespace std;template <typename type> class myvector {int size;type value;type *arr;public://无参构造myvector(){};//有参构造myvector(int s,type v):size(s),value(v){arrnew in…

laravel8框架-语言包的安装和配置

1, 查找 laravel框架语言包地址&#xff1a; \根目录\resources\lang\ 默认有个 en 语言包 2&#xff0c;下载 和 安装 下载地址&#xff1a;https://packagist.org/ 搜索 laravel/lang 参考网址&#xff1a;https://packagist.org/packages/overtrue/laravel-lang 选择你…

Django系列:Django简介与MTV架构体系概述

Django系列 Django简介与MTV架构体系概述 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/132890054 【介…

MATLAB算法实战应用案例精讲-【数模应用】NP-hard问题

目录 前言 几个高频面试题目 NP难问题和NP完全问题的区别 P问题、NP问题、NP完全