前面文章进行了系统分析和系统架构设计,手工焊接了一个板子,集合EK-TMC123GXL开发板(请忽略焊接技术)

SWE.1 | 软件需求分析

软件需求分析过程的目的是将系统需求的软件相关部分转化为一组软件需求。

软件需求分析包括,

  • 指定软件需求。使用系统需求和系统架构,以及对系统需求和架构的更改,以确定软件所需的功能和性能。在软件需求中指定功能性和非功能性软件需求。
  • 组织软件需求。在软件需求描述中构造软件需求,比如

  • 对项目相关集群进行分组,
  • 按照项目的逻辑顺序排序,
  • 根据项目的相关标准进行分类,
  • 根据利益相关者的需求划分优先级。
  • 分析软件需求。分析特定的软件需求,包括它们之间的相互依赖性,以确保正确性、技术可行性和可验证性,并支持风险识别。分析对成本、进度和技术的影响。根据利益相关者的需求划分优先级。
  • 分析对操作环境的影响。分析软件需求对系统元素接口和操作环境的影响。
  • 制定验证标准。为每个软件需求制定验证标准,为需求的验证提供定性和定量的措施。
  • 建立双向可追溯性。在系统需求和软件需求之间建立双向的可追溯性。在系统架构和软件需求之间建立双向的可追溯性。
  • 确保一致性。确保系统需求和软件需求之间的一致性。确保系统架构和软件需求之间的一致性。
  • 沟通商定的软件需求。向所有相关方传达商定的软件需求和软件需求的更新。

Enterprise Architect中定义软件需求

SWE.2 | 软件架构设计

软件架构设计过程的目的是建立一个体系结构设计,并确定哪些软件需求分配给软件的哪些元素,并根据定义的标准来评估软件体系结构设计。

它包括以下内容:

  • 开发软件架构设计。根据功能和非功能软件需求,开发和记录软件体系结构设计,确定软件的要素。
  • 分配软件需求。将软件需求分配给软件架构设计的元素。
  • 定义软件元素的接口。识别、开发和记录每个软件元素的接口。
  • 描述动态行为。评估和记录软件元素的时间和动态交互,以满足系统所需的动态行为。
  • 定义资源消耗目标。确定并记录软件架构设计中所有相关元素在适当层次上的资源消耗目标。
  • 评估可选的软件架构。定义体系结构的评估标准。根据改进的标准评估可选的软件架构。记录所选软件体系结构的基本原理。
  • 建立双向可追溯性。建立软件需求和软件体系结构设计元素之间的双向可追溯性。
  • 确保一致性。确保软件需求和软件架构设计之间的一致性。
  • 沟通商定的软件架构设计。将商定的软件架构设计和相应的更新信息传达给所有相关方。

软件架构图

用户使用案例

[开发笔记usbTOcan]软件需求分析和软件架构设计的更多相关文章

  1. [开发笔记usbTOcan]需求获取与系统需求分析

    简介 一直一以来都是站在实现某个模块功能的角度去做软件开发,没有尝试过站在系统的层面去做开发.最近正好不忙,觉得是时候以系统工程师的视角,去开发一个完整的系统.接下来的几篇文章,我会记录一个USB转C ...

  2. TERSUS无代码开发(笔记09)-简单实例前端样式设计

    前端常用样式设计 =========================================================================================== ...

  3. [开发笔记usbTOcan]系统架构设计

    SYS.3 | 系统架构设计 系统架构设计过程的目的是建立一个系统体系结构设计,并确定哪些系统需求分配给系统的哪些元素,并根据确定的标准评估系统架构. 系统结构设计需要做一下工作: 开发系统架构设计. ...

  4. [开发笔记usbTOcan]PyUSB访问设备

    前面的几个章节的介绍,基本把usbTOcan的底层代码设计好,现在需要介绍PC端的PyUSB进行简单的测试. 在文章开始之前,需要简单的介绍一下整个系统. 0 | 部署 这里使用了两块TM4C123G ...

  5. Bytom Dapp 开发笔记(一):架构设计

    简介 研究比原链已经一年了,用比原链做了几个dapp,而且最近还做了一个基于他们插件钱包的dapp,总结了一些遇到的坑,还有一些技术细节,接下来我会分成三章,从dapp设计架构上,到深入到源码分析去帮 ...

  6. [开发笔记usbTOcan]用树莓派搭建私有Git服务器

    0 | 思路 在开始编程前,先创建一个版本管理库,以前一直用SVN,但目前用Git的还是比较,正好利用这个机会学习GIt. 想过使用Github提供的免费服务器,但项目目前还没有做开源的准备,于是就有 ...

  7. TERSUS无代码开发(笔记08)-简单实例电脑端后台逻辑开发

    主管审批功能逻辑开发 1.查询逻辑开发(查询待审批记录) 2.批准处理(将选中的一条记录进行批准处理)  =============================================== ...

  8. TERSUS无代码开发(笔记05)-简单实例电脑端页面设计

    案例笔记电脑端页面设计   1.新建项目(请假管理qjgl)   2.开发软件界面介绍(常用的功能按键)      3.目录中显示元件对象      4.对元件对象的操作主要方式是双击(双击哪个元件, ...

  9. 硬件开发笔记(一):高速电路设计Cadence Aleego软件介绍和安装过程

    前言   红胖子软硬通吃的前提的使用AD,涉及到高速电路板,要配合高速硬件工程师,使用Aleegro更合适,遂开启了Aleegro设计电路板学习,过程保存为开发笔记,旨在普及和沟通技术,共同进步,学无 ...

随机推荐

  1. 如何把myeclipse的工程导入到svn服务器上

    如何把myeclipse的工程导入到svn服务器上,按照如下步骤便可

  2. JS中使用reconnecting-websocket实现websocket断开自动重新连接

    这里用了第三方的js 官方地址:https://github.com/joewalnes/reconnecting-websocket 引入js reconnecting-websocket.min. ...

  3. Linux(centos)创建用户并分配权限

    创建名为 elas的用户 adduser elas 初始化elas的密码 passwd elas 显示 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新. 进行授权 个 ...

  4. springboot目录结构、重要配置文件、重要注解的详解

    前面2篇博客已经带着大家搭建了springboot项目,并编写了持久化接口部署到tomcat下访问.这里我们一起补充下springboot的基本信息 一.springboot简单介绍 springbo ...

  5. cmake之生成动态库

    演示源码下载地址: https://github.com/mohistH/demo_cmake_dylib 把文仅为参考. 以实际情况为准 1.目录结构 │ CMakeLists.txt │ inde ...

  6. 【LeetCode】950. Reveal Cards In Increasing Order 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 模拟 日期 题目地址:https://leetcod ...

  7. 【LeetCode】55. Jump Game 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 贪心 日期 题目地址:https://leetcod ...

  8. 【LeetCode】417. Pacific Atlantic Water Flow 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/pacific- ...

  9. Docker 与 K8S学习笔记(四)—— Dockerfile的编写

    在上一篇中我们简单介绍了Docker镜像的获取与使用,其中在镜像制作中提到在实际使用中一定要用Dockerfile方式去创建镜像而不要用docker commit方式,那么我们该如何编写Dockerf ...

  10. wordpress中遇到的问题

    在博客园申请了账号,也已经开始写了两篇内容,但还是想要有属于自己的小站.于是将域名续费了几年,又在我之前买的vps上搭建了一个wordpress博客站点,这样以后我就可以同时发布到两个地方. 根据教程 ...