架构师备考-概念背诵(软件工程)

软件工程

  • 软件开发生命周期
    • 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。
    • 软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。
    • 软件运行和维护:就是把软件产品移交给用户使用。
  • 软件系统的文档可以分为用户文档系统文档两类,用户文档主要描述系统功能使用方法,并不关系这些功能是怎样实现的;系统文档描述系统设计实现和测试等各方面的内容。
  • 软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程
  • 活动,包括以下4个方面。
    • (1)P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
    • (2)D(Do)——软件开发。开发出满足规格说明的软件。
    • (3)C(Check)——软件确认。确认开发的软件能够满足用户的需求。
    • (4)A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。
  • 软件系统工具通常可以按软件过程活动将软件工具分为软件开发工具软件维护工具软件管软件支持工具
    • 软件开发工具需求分析工具设计工具编码与排错工具测试工具等。
    • 软件维护工具版本控制工具文档分析工具开发信息库工具逆向工程工具再工程工具
    • 软件管理和软件支持工具项目管理工具配置管理工具软件评价工具软件开发工具的评价和选择
  • 软件设计包括四个既独立又相互联系的活动,即数据设计架构(体系结构)设计人机界面(接口)设计过程设计,这四个活动完成以后就得到了全面的软件设计模型。

需求工程

软件需求

        软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明分为需求开发和需求管理两大过程,如下所示:

  • 业务需求:反映企业客户对系统高层次的目标要求,通常来自项目投资人客户市场营销部门产品策划部门。通过业务需求可以确定目视图范围
  • 用户需求:描述的是用户的具体目标,或用户要求系统必须能完成的任务。即描述了用户能使用系统来做什么。通常采取用户访谈问卷调查等方式,对用户使用的场景进行整理,从而建立用户需求。
  • 系统需求:从系统的角度来说明软件的需求,包括功能需求非功能需求设计约束等。
    • 功能需求:也称为行为需求,规定了开发人员必须在系统中实现的软件功能,用户利用这些功能来完成任务,满足业务需要。
    • 非功能需求:指系统必须具备的属性或品质,又可以细分为软件质量属性(如可维护性、可靠性、效率等)和其他非功能需求。
    • 设计约束:也称为限制条件或补充规约,通常是对系统的一些约束说明,例如必须采用国有自主知识产权的数据库系统,必须运行在UNIX操作系统之下等。

需求获取

  • 需求获取是一个确定和理解不同的项目干系人的需求和约束的过程
  • 常见的需求获取法包括:
    • 用户访谈:1对1-3,有代表性的用户。其形式包括结构化和非结构化两种。
    • 问卷调查:用户多,无法一一访谈。
    • 采样:从种群中系统地选出有代表性的样本集的过程。样本数量=0.25*(可信度因子/错误率)2
    • 情节串联板:一系列图片,通过这些图片来讲故事。
    • 联合需求计划(JRP):通过联合各个关键用户代表、系统分析师、开发团队代表一起,通过有组织的会议来讨论需求。
    • 需求记录技术:任务卡片、场景说明、用户故事、Volere白卡。

需求分析

  • 一个好的需求应该具有无二义性完整性一致性可测试性确定性可跟踪性正确性必要性等特性,因此,需要分析人员把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的工作。
  • 需求分析的任务:
    • 绘制系统上下文范围关系图
    • 创建用户界面原型
    • 分析需求的可行性
    • 确定需求的优先级
    • 为需求建立模型
    • 创建数据字典
    • 使用QFD(质量功能部署)
  • 结构化的需求分析的结构化特点自顶向下逐步分解面向数据
  • 结构化的需求分析的三大模型:功能模型(数据流图)、行为模型(状态转换图)、数据模型(E-R图)以及数据字典

  • 数据流图DFD基本图形元素:外部实体加工数据存储数据流

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小白docker入门简介

Dockerfile入门使用分享 一、docker是啥二、镜像仓库三、自定义镜像四、动手做机甲玩偶五、帮我做数学题六、计算功能的写法七、咒语翻译器八、放屁九、解决问题 一、docker是啥 最开始我和你一样,围着镜像、容器、docker的名词团团转,其实没那么复杂。…

一文学习Android中的Property

在 Android 系统中,Property 是一种全局的键值对存储系统,允许不同组件和进程间以轻量级的方式进行数据传递。它主要用于系统配置、状态标识等场景,使得不同进程能够通过属性的设置或获取来通信。property 的核心特性是快速、高效&#xff0…

node.js安装配置(Windows)

1、下载 CNPM Binaries Mirror 2、安装 3、验证 win R 进入cmd 4、配置环境变量 4.1、创建两个文件夹 4.2、安装目录进入cmd(配置全局属性) 配置两个命令: npm config set prefix "D:\liyunqing\nodejs\node_global"npm config set cache "D:\l…

mp3格式音频怎么做成二维码?扫码获取音频文件的制作方法

随着二维码的广泛使用,现在很多内容都会通过生成二维码的方式来传输内容,通过这种方式可以更快捷的实现内容分享,简化其他人获取内容的流程,有效提高效率。音频是目前常见的一种内容分享方式,比如录音、听力、音乐等类…

【css flex 多行均分有间隙布局】

小程序、web均可使用&#xff0c;我当前用的是小程序 <view class"job_tab_container flex_between"><view class"job_tab_item"></view><view class"job_tab_item"></view><view class"job_tab_item&qu…

单臂路由技术,eNSP实验讲解

单臂路由技术&#xff0c;eNSP实验讲解 一、简要介绍1、概念2、工作原理3、优点4、缺点5、应用场景举例 二、eNSP仿真实验1、步骤一&#xff1a;2、步骤二&#xff1a;3、步骤三&#xff1a;4、步骤四&#xff1a; 三、总结。 一、简要介绍 1、概念 单臂路由&#xff08;Rout…

微服务day03

导入黑马商城项目 创建Mysql服务 由于已有相关项目则要关闭DockerComponent中的已开启的项目 [rootserver02 ~]# docker compose down WARN[0000] /root/docker-compose.yml: version is obsolete [] Running 4/4✔ Container nginx Removed …

Mac如何实现最简单的随时监测实时运行状态的方法

Mac book有着不同于Windows的设计逻辑与交互设计&#xff0c;使得Mac book有着非常棒的使用体验&#xff0c;但是在Mac电脑的使用时间过长时&#xff0c;电脑也会出现响应速度变慢或应用程序崩溃的情况&#xff0c;当发生的时候却不知道什么原因导致的&#xff0c;想要查询电脑…

无需云端!国产开源大语言模型llama.cpp本地实战

作者&#xff1a;高瑞冬 注&#xff1a; 文章是2023年底写的。代码和运行方式虽有些旧&#xff0c;但基本原理一样。现在出来ollama&#xff0c;vllm等工具框架用来本地部署大模型&#xff0c;顺便更新一下。 [TOC](最后有彩蛋) 背景 上海人工智能实验室与商汤科技…

初始JavaEE篇 —— 网络编程(2):了解套接字,从0到1实现回显服务器

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 TCP 与 UDP Socket套接字 UDP TCP 网络基础知识 在一篇文章中&#xff0c;我们了解了基础的网络知识&#xff0c;网络的出…

PVE纵览-从零开始:了解Proxmox Virtual Environment

PVE纵览-从零开始&#xff1a;了解Proxmox Virtual Environment 文章目录 PVE纵览-从零开始&#xff1a;了解Proxmox Virtual Environment摘要什么是Proxmox Virtual EnvironmentPVE的核心功能PVE 优势如何开始使用PVEPVE应用案例总结 关键字&#xff1a; PVE、 虚拟机、 Pr…

08 Oracle数据库故障应对与恢复策略:全面掌握RMAN恢复方法

文章目录 Oracle数据库故障应对与恢复策略&#xff1a;全面掌握RMAN恢复方法一、故障场景及恢复策略1.1 实例失败1.2 介质故障1.3 数据丢失 二、RMAN恢复方法详解2.1 全库恢复2.2 增量恢复2.3 时间点恢复 三、实践与总结 Oracle数据库故障应对与恢复策略&#xff1a;全面掌握RM…

MYSQL隔离性原理——MVCC

表的隐藏字段 表的列包含用户自定义的列和由系统自动创建的隐藏字段。我们介绍3个隐藏字段&#xff0c;不理解也没有关系&#xff0c;理解后面的undo log就懂了&#xff1a; DB_TRX_ID &#xff1a;6 byte&#xff0c;最近修改( 修改/插入 )事务ID&#xff0c;记录创建这条记…

Git超详细教程

Git初始 概念 一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 作用 记录代码内容&#xff0c;&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 如何学&#xff1a; 个人本机使用&#xff1a;Git基础命令和概念 多…

BK3432芯片SPI方式烧录固件方法

前言 本文介绍 BK3432 芯片的烧录授权。该芯片支持的固件烧录方式为 SPI 烧录 。 BK3432 的固件主要由三部分组成&#xff1a;boot stack app&#xff0c;其中&#xff1a; bk3432_ble_app.bin&#xff1a;生成的 App 部分的原始 bin 文件bk3432_ble_app_app.bin&#xff1…

网站架构知识之Ansible进阶(day022)

1.handler触发器 应用场景&#xff1a;一般用于分发配置文件时候&#xff0c;如果配置文件有变化&#xff0c;则重启服务&#xff0c;如果没有变化&#xff0c;则不重启服务 案列01&#xff1a;分发nfs配置文件&#xff0c;若文件发生改变则重启服务 2.when判断 用于给ans运…

陪诊问诊APP开发实战:基于互联网医院系统源码的搭建详解

时下&#xff0c;开发一款功能全面、用户体验良好的陪诊问诊APP成为了医疗行业的一大热点。本文将结合互联网医院系统源码&#xff0c;详细解析陪诊问诊APP的开发过程&#xff0c;为开发者提供实用的开发方案与技术指导。 一、陪诊问诊APP的背景与功能需求 陪诊问诊APP核心目…

稳压二极管详解

目录 1. 工作原理 2. 稳压二极管的伏安特性曲线 3. 正向特性&#xff1a; 4. 反向特性 5. 稳定电压&#xff08;Vz&#xff09; 6. 动态电阻&#xff08;rz&#xff09; 7.最大耗散功率&#xff08;PzM&#xff09; 8. 最大稳定工作电流&#xff08;IzMAX&#xff09;和…

python爬虫案例——网页源码被加密,解密方法全过程

文章目录 1、任务目标2、网页分析3、代码编写1、任务目标 目标网站:https://jzsc.mohurd.gov.cn/data/company,该网站的网页源码被加密了,用于本文测验 要求:解密该网站的网页源码,请求网站并返回解密后的明文数据,网页内容如下: 2、网页分析 进入网站,打开开发者模式,…

K8S简单部署,以及UI界面配置

准备两台服务器K8Smaster和K8Sminion 分别在两台服务器上执行以下代码 #添加hosts解析&#xff1b; cat >/etc/hosts<<EOF 127.0.0.1 localhost localhost.localdomain 192.168.45.133 master1 192.168.45.135 node2 EOF #临时关闭selinux和防火墙&#xff1b; sed …