8 软件架构设计 需求分析

电机控制::软件架构::微型软件架构 所谓软件架构就是软件分层:HAL库,嵌入式操作系统,中间件,应用层。大型项目可参考借鉴ROS/PX4/Apollo/FMT等无人机、机器人、无人驾驶等开源项目;电机控制大型为AUTOSAR架构,小型跑裸机参考 前后台系统 或 微型实时操作系统对模块管理的思想。基本原理还是参照大型项目的架构来的,只是大部分层与块都相对简单,也没有操作系统这一层。硬件架构了解不同芯片组合及其各自的特点。1.FPGA+;2.架构;3.TC387+AUTOSAR架构,车规级,汽车领域常用。 阅读详情

需求怎么来?
需求由需求开发而来,需求开发=愿景分析+需求分析

愿景分析

愿景分析:根据需求方对的系统期望的描述(如,需求方:我希望这个软件能解决不同地区员工的交流问题…),总结出 业务目标+需求范围+特色+上下文图
愿景分析得到的文档为《愿景与范围文档》(或称为《市场需求文档》,《项目立项书》)

上下文图
上下文图描述了待开发的系统与周围所有事物的联系,待开发系统位于中心,保持黑盒状态
在这里插入图片描述

需求分析

需要分析:根据需求方提出想要解决的问题,分析出系统的需求(如,需求方:我希望A员工能快速找到B员工。分析:需求方可能需要搜索功能)
需求分析包括需求捕获、需求分析、系统分析

需求捕获
从需求方获取需求方期望系统完成什么样的事情
需求捕获成果
在这里插入图片描述

需求分析
从获取的需求中分析出 功能、质量、约束需求
需求分析成果《软件需求规格说明书》(SRS),其中包含了系统必须提供的功能、质量指标、约束,还包含了用例图,用例规约

系统分析
当我们分析需求后得出的需求会存在问题,这就是系统分析的来由,系统分析用于发现这些衍生问题,系统分析约等于初步高层设计

功能、质量、约束需求

根据 愿景分析、需求分析 得来的需求可分为3类,如下

功能需求
示例:
在这里插入图片描述

质量需求
质量需求包括如下方面
在这里插入图片描述

鲁棒性:健壮性,容错性,比如用户输入一个非法字符,系统就崩溃了,说明鲁棒性差

约束需求
包括业务环境(如客户上线时间,法律限制),使用环境(如用户年龄,地域),构建环境(如开发人员技术水平,人员分布),技术环境(如编程语言)

PMSuite需求分析示例

PMSuite背景介绍
PM Suite是一个分布式的组织级项目管理系统
PM Suite覆盖企业的单项目管理、项目群、项目组合管理,以及配套的辅助管理。

第一步:明确业务目标(愿景分析阶段)
在这里插入图片描述

第二步:范围+特色(Feature)+上下文图(愿景分析阶段)
1.确定需求范围

  • 项目基础管理
  • 单项目管理
  • 项目群管理
  • 项目组合管理

2.确定项目特色
在这里插入图片描述

3.画上下文图
在这里插入图片描述

第三步:画用例图(需求分析阶段)
通过愿景分析和客户业务流程的说明,我们可以推断出客户期望的功能,我们将这些功能建立用例图
在这里插入图片描述

还有其他的用例图,这里省略

第四步:写用例规约(需求分析阶段)
用例的名称不足以说明什么,所有我们需要书写用例规约

在这里插入图片描述

软件架构之架构设计与评估 即每个模块都构成自己的小领域(专门知识或专门技术),并与其他模块的接口清晰,这样,不同的模块分到不同的开发小组中,就能减少各开发小组之间的沟通成本,而在各开发小组内部,由于是处理小领域的问题,容易建立起有效的沟通机制,如成员有这个小领域的背景。修剪这棵树,保留重要场景(不超过 50 个),再对场景按重要性给定优先级(用 H/M/L 的形式),再按场景实现的难易度来确定优先级(用 H/M/L 的形式),这样对所选定的每个场景就有一个优先级对(重要度,难易度),如(H,L)表示该场景重要且易实现。 阅读详情

相关推荐

【系统架构设计师】十一、系统架构设计(软件架构概述|构件|软件架构风格|软件架构复用)

软件体系结构风格(软件系统架构)是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个架构定义、一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。 架构设计的一个核心问题是能否达到架构级的软件复用。 架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。

帅次的博客 3850

[架构之路-95]:《软件架构设计:程序员向架构师转型必备》-5-需求分析之需求列表(功能需求、质量需求、约束条件)

在业务需求分析领域,主要完成三个输出:需求列表:功能需求、质量需求、约束条件 =》 第5章用例图 =》 第6章概念架构 =》 第7章上述工作,通常是由需求分析工程师或系统工程师SE完成,也可以由架构师完成。系统业务目标是组织运营服务的。

文火冰糖(王文兵)的博客 1871

软件设计、软件分析-分析模式

最大的读者群应该是面向对象计算机系统的分析和设计人员; 一个小规模但非常重要的读者群应该是那些建模项目的问题域专家; 希望程序员们可以钻研这本书,尽管本书缺乏代码和有着概念倾向,我建议你们着重注意第十四章,这一章讲述了概念模型和结果软件之间的关系; 数据建模人员; 经理们将发现这本书是开发活动的一个起点。从模式开始有助于简化目标,项目计划也可以获益于广大的模式设计背景; 学生并不是我定位的读者,但他们同样可以阅读这本书。

架构设计说明书该怎么写?

前言架构设计是需求分析到软件实现的桥梁,也是决定软件质量的关键。编制架构设计说明书是开发人员向架构师转变必定会经历的过程。承接上文:如何做架构设计说明书 (点击直达)本文来说一下如何写架...

独行侠梦的博客 5742

软件设计与分析

本需求的编写目的在于研究重庆市矿山执法调查外业核查系统软件的开发途径和应用方法。 本需求的预期读者是与矿山执法调查外业核查系统软件开发有联系的决策人,开发组成人员,辅助开发者,支持本项目的领导和公司人员,软件验证者

Pointnet++环境配置+复现

深度学习点云经典网络Pointnet++

weixin_58663121的博客 8075

【软件分析】软件分析、设计与建模迭代式详解

什么是分析和设计?面向对象:什么是面向对象的分析和设计?用例:只是人们如何使用应用程序的书面故事或场景设计类图与领域模型的区别:一个OOA/D的简短过程:什么是UML为什么建模:建模的目的是沟通为什么使用UML:应用UML:作为草图sketch、蓝图、编程语言什么是软件开发过程Software Development Process(SDLC):描述构建、部署和维护软件的方法(连续步骤或子流程)瀑布模型: 瀑布生命周期(SDLC)什么是迭代和进化开发每次迭代 选择需求的一小部分 快速设计、实施和测试

m0_51371693的博客 1970

芯片设计中的“隐形杀手”:手把手教你理解并优化互连寄生参数(以SPEF/DSPF为例)

本文深入探讨了芯片设计中互连寄生参数的影响及优化策略,特别关注SPEF/DSPF文件解析与静态时序分析。通过实际案例展示了耦合电容对时序收敛的关键影响,并提供从定位到优化的完整解决方案,助力工程师应对先进工艺下的设计挑战。

weixin_30687051的博客 598

软件架构与需求分析

软件架构与需求分析

weixin_61300833的博客 1618

uniapp:K线图,支持H5,APP

K线,1分钟搞定。备注详细,无需理解,直接复制即可。

sunluyi的博客 4576

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 266

软件架构设计说明书该怎么写?

点击上方蓝字,关注我们背景架构设计不是架构师的专属工作,对非技术人员甚至是开发人员来说,从实实在在的需求到高神莫测的架构设计仿佛是一个神秘的过程,只有具有架构师头衔的人才能掌握各中玄妙,这...

独行侠梦的博客 8008

ffmpeg中av_read_frame阻塞的原因与解决方案

最近用到ffmpeg,想要av_read_frame立即返回,但是看网上的博客,都没有详细的解说,那就自己看源码。 两种方法: 设置回调打断函数和设置超时 超时,但是如果只设置该参数,依然会在av_read_frame中阻塞, av_dict_set(&inputDic, "stimeout", "2*1000*1000", 0); // milliseconds //打断回调 m_avformatCtx->interrupt_callback.callback = interru

weixin_43360707的博客 1万+

C#8 和 .NET Core3 软件架构实用指南(一)

本书涵盖了软件架构中涉及的最常见的设计模式和框架。它通过提供实际的真实场景,讨论何时以及如何使用每个模式。本书还介绍了 DevOps、微服务、持续集成和云计算等技术流程,以便你能够为你的客户提供一流的软件解决方案。本书将帮助你理解客户希望从你这里得到的产品。它将指导你解决开发过程中可能遇到的最大问题。它还涵盖了你在基于云的环境中管理应用时需要遵循的“做”和“不做”事项。你将了解不同的架构方法,如分层架构、面向服务的架构、微服务和云架构,并了解如何将它们应用于特定的业务需求。最后,你将使用 Azure 在远程

龙哥盟 1115

高速串行信号仿真避坑指南:为什么你的SIwave Xnet设置了却不出结果?

本文深入解析SIwave中Xnet功能在高速串行信号仿真中的常见问题,包括模型缺失、网络不完整和端口设置错误等关键误区。通过详细的电路元件模型验证、网络完整性检查及端口配置指南,帮助工程师有效解决仿真不出结果的问题,提升信号完整性分析效率。

weixin_29218963的博客 252

全志 camera: 4路AHD摄像头转MIPI

TP2815 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 MIPI 数据,从而实现在 T527 端来对数据进行处理和送显。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 9095

Enterprise Architect 8.0中文汉化版:助力系统建模,提升开发效率

Enterprise Architect 8.0中文汉化版:助力系统建模,提升开发效率 【下载地址】EnterpriseArchitect8.0中文汉化版资源介绍 探索系统建模的无限可能,Enterprise Architect 8.0 中文汉化版为您带来前所未有的设计体验。这款强大的系统建模工具,不仅具备完善的建模功能...

gitblog_06754的博客 819

《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH

只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。

libuping2023的博客 964

[架构之路-19]:目标系统 - 硬件平台 - 案例1 - 用单片机STM8/STM32搭建目标系统(以无线传感器LoRa终端为例)

STM8/STM32称为单片机,但并不意味着只有要STM32,就可以构建一个目标系统,STM8/STM32只集成了大量的外设控制器,但并没有外设本身。因此,要构建特定应用的目标系统,除了STM8/32之外,还需要满足特定应用系统要求的实际外设,如果GPS, 如Lora无线终端等,以及与外设控制器向对应的驱动程序,还需要特定外设相关的应用程序。本文就是探讨如何用STM8/STM32搭建目标系统。

文火冰糖(王文兵)的博客 1274

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java计算机毕业设计基于安卓Android的人在旅途旅行出行APP

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。

qq_1694456187的博客 88

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

UML建模和架构文档化

UML介绍 一、UML现状与发展 二、UML基础 三、基于UML的开发 四、系统架构文档化

嵌入式系统开发 624

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

书籍推荐 —— 软件是这样“炼”成的:从软件需求分析到软件架构设计

软件是这样“炼”成的:从软件需求分析到软件架构设计》是以案例驱动的方式,用投核保系统为本书仅有、连贯性的案例全程记录了软件开发过程中从需求开发到架构设计的全部过程。从文字组织到书的结构设计方面,既不是以理论为主调的“学院派”编写方法,也不是以应用介绍为主调的“应用派”编写格调,而采用了情景对话、场景在线、自然语言的方式,详细介绍了软件需求到架构过程中所应用的理论知识以及这些知识的应用,同时分析了这些理论知识的应用场景,然后以投核保系统为案例将软件开发过程中各个阶段成果物完整的展现给读者。

blackcat123的博客 1309

第1章 软件架构与需求分析方法

中台战略与组件化开发

假装文艺范儿 2558

软件架构设计

降低成本,改进质量,按时按需交付关键因素项目干系人进行交流的手段可传递可复用的模型有助于循序渐进的原型设计。

huanghuayn的专栏 1158

软件架构设计总结和理解

1. 软件架构设计的What & Why ● 啥是软件架构(Software Architecture)? 软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。 软件架构设计就是从宏观上说明一套软件系统的组成与特性。 软件架构设计是一系列有层次的决策 ,比如:功能与展现的决策;技术架构的决策;自主研发还是合作;商业软件还是

weixin_41542613的博客 2058

软件架构设计与需求分析方法论

电商所有模块中,订单系统是非常核心的一个子系统,决定了整个流程能不能顺畅的执行,起着承上启下的作用,其他模块都是围绕订单系统进行构建的。订单系统出问题,或者功能流程设计不完善、不准确,将会造成整个电商系统整体或局部业务流转不顺畅,甚至导致项目的失败。订单系统的作用是:管理订单类型、订单状态,收集关于商品、优惠、用户、收货信息、支付信息等一系列的订单实时数据,进行库存更新、订单下发等一系列动作。订单系统业务的基本模型涉及用户、商品(库存)、订单、付款。

qq_41854911的博客 1360
上一篇: 7 软件架构设计过程
下一篇: 9 软件架构设计 用例与需求
dabusidede
博客等级 码龄9年 84粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值