今天和大家来聊聊 嵌入式系统需求分析与体系结构设计的一些基础知识:

1.1软件需求分析

1.1.1 关于选择裸机开发还是基于实时操作系统

一是采用在裸机上直接开发的方式,且关键部分采用汇编语言编写,可以保证该控制系统的实时性;

二是由于该软件系统由多种周期的处理任务组成,采用商用嵌入式实时操作系统开发方式可以保证系统的可靠性。

三是对于软实时系统,选择基于优先级调度的算法可以满足软实时系统的需求,而且可以提供高速的响应和大的系统吞吐量;而对于硬实时系统来说,需要使用调度算法简单,反应速度快的实时调度算法。

1.1.2 实时操作系统优点

嵌入式实时操作系统首先要完成的4个主要任务是进程管理、内存管理、进程间通信和同步和I、O资源管理。

一是提供的任务调度功能能够调度一切资源保证多周期任务的完成;

二是提供的事件、信号和任务间的通信机制,可以有效保证资源共享时出现的互斥问题;

三是采用商品化的软件不仅可以提高软件的可靠性,还可以简化软件开发成本,提高开发效率。

1.1.3 实时操作系统的时间性能评估

一是系统开销时间一般不大于整个控制系统运行时间的20%;

二是保证所有任务在规定的时间期限内完成;

三是任务的上下文切换时间和中断响应时间。

1.2体系结构设计

1.2.1系统需求

分为功能性需求和非功能性需求。

功能性需求:系统名称、目的、功能、输入、输出、性能、操作方式等;

非功能性需求:功耗、物理尺寸、重量、生产成本。

1.2.2 规格说明书

它描述了系统“做什么“的问题。对输入数据、输出数据、操作方式、数据库等的具体内容的表述。

1.2.3 体系结构设计

它描述了系统“怎么做“的问题。

1.3项目进度管理

1.3.1 快速原型开发法的优缺点

图片发自简书App

1.3.2 项目管理的内容

      包括项目进度管理、项目范围管理、项目成本管理、项目配置管理、项目质量管理、项目风险管理、开发人员管理等7个方面的管理,其贯穿开发的整个阶段。

1.3.3 PERT图及关键路径

包括最理想情况和保守情况;

关键路径指PERT图中最长的路径;

在两种情况下的关键路径的交集工作就是要着重抓住的共同环节。

1.4 UML(统一建模语言)建模技术

1. 符合人类的思维习惯;

2. 由于系统开发基于问题模型,其稳定性好;

3. 由于对象固有的封装和继承性,其可重用性好;

4. 由于系统开性发的模块化,其可维护性好。

1.4.2类图概念及六种关系

类图用于描述系统的结构化设计,即用来表示概念模型,它最基本的元素是类或接口,表达了类、接口以及它们之间的静态结构和关系。当对系统的静态设计视图建模时,通常以对系统的词汇建模、对简单协作建模、对逻辑数据库模式建模这三种方式之一使用类图。

图片发自简书App


1.4.3序列图概念

序列图是场景的图形化表示,描述了以时间顺序为组织的对象之间的交互活动,即显示了一组对象和由这组对象发送和接收的消息。

1.4.4基于UML嵌入式软件开发环境

从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次是根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。前两歩中建立的模型都是静态的,包括用例图、类图、对象图、组件图和配置图这五种图形,是标准建模语言UML的静态建模机制。第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系,它包括状态图、活动图、顺序图和协作图这四种图形,是动态建模机制。

完整的基于UML嵌入式软件开发环境的结构图

***********************************************

===========我是华丽的分割线===========

*************************************************

更多知识:

***点击关注专题:***[嵌入式Linux&ARM](https://www.jianshu.com/c/42d33cadb1c1)

***或浏览器打开:***https://www.jianshu.com/c/42d33cadb1c1

***或扫描二维码:***

![扫我](http://upload-images.jianshu.io/upload_images/6217760-fb25d7cd85861e9a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1080/q/50)