前面文章进行了系统分析和系统架构设计,手工焊接了一个板子,集合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. ts 遇到的问题

    1. Property 'generatePdf' does not exist on type 'Element'. 问题:ts类型校验报错,使得编译失败 解决方法:将报错字段定义为any类型

  2. 蓝桥杯练习 Day6 题解

    蓝桥杯练习 Day6 题解 A 题意:给你一个等式ax+by = c,问你x,y是否有整数解. 思路:gcd(a,b) = t,如果方程有解,那么\((a/t)*x + (b/t)*y = c/t\) ...

  3. hdu 4704 Sum(组合,费马小定理,快速幂)

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4704: 这个题很刁是不是,一点都不6,为什么数据范围要开这么大,把我吓哭了,我kao......说笑的, ...

  4. mybatis查询时使用基本数据类型接收报错-attempted to return null from a method with a primitive return type (int)

    一.问题由来 自己在查看日志时发现日志中打印了一行错误信息为: 组装已经放养的宠物数据异常--->Mapper method 'applets.user.mapper.xxxMapper.xxx ...

  5. 「算法笔记」快速傅里叶变换(FFT)

    一.引入 首先,定义多项式的形式为 \(f(x)=\sum_{i=0}^n a_ix^i\),其中 \(a_i\) 为系数,\(n\) 为次数,这种表示方法称为"系数表示法",一个 ...

  6. OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks

    目录 概 主要内容 Sermanet P., Eigen D., Zhang X., Mathieu M., Fergus R., LeCun Y. OverFeat:integrated recog ...

  7. CS5210完全替代AG6202|HDMI转VGA不带音频输出的芯片+原理图|替代兼容AG6202

    CS5210完全替代AG6202|HDMI转VGA不带音频输出的芯片+原理图|替代兼容AG6202 安格AG6202是一个HDMI转VGA不带音频解决方案,用于实现HDMI1.4高分辨率视频转VGA转 ...

  8. Hive on Spark和Spark sql on Hive,你能分的清楚么

    摘要:结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序. 本文分享自华为云社区<Hive on Spark和Spark sql o ...

  9. Solr单机安装Version5.5.2

    Solr安装单机模式,基于Solr的安装版本为5.5.2. 安装规划 IP/机器名 安装软件 运行进程 zdh-9 solr jar 安装用户 solr/zdh1234 hadoop useradd ...

  10. OpenIddict 登录及详细流程解析

    GitHub上实例都是集成了Identity来实现,我这里去掉了相关东西,实现自定义的登录满足自己的结构要求 服务端配置添加数据库服务以及定时任务服务 builder.Services.AddDbCo ...