嵌入式系统开发过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.6详细设计阶段-软件设计
1.
设计软件子系统
总体设计、模块设计
2.
定义软件接口 模块接口、函数接口
62
25
2.7详细设计阶段-检查设计
小项目
自己审查设计文档
中等项目
拿给同事朋友并向他们解释你的设计
设计者应作一个更正式的报告。由于这是一 个设计审查会,召集一群人,主要由工程师 组成,并尽可能包括一些对项目有不同看法 角度的成员,如做市场的人员、最终用户
62
11
1.1.5需求的内部一致性(注)
在写完需求以后,对它们的内部一致性进 行检查:
1. 2. 3. 4.
是否忘记了给某个功能指定输入或输出? 是否考虑了系统运行的所有方式? 是否有一些不切实际的要求? 系统是否可以实现?
62
12
1.2 需求分析-确定硬件软件
1. 2. 3.
4.
5.
6.
7.
62 19
2.1详细设计阶段-审查分析资料
1.
审查分析资料(来自需求分析阶段)
。。。
2.
审查约束条件(来自需求分析阶段)
。。。
62
20
2.2详细设计阶段-体系结构设计
描述系统的功能如何实现是体系结构设计 的目的 。 决定因素
1. 2. 3. 4. 5.
系统是硬实时系统还是软实时系统 操作系统是否需要嵌入 物理系统的成本、尺寸和耗电量是否是产品 成功的关键因素 选择处理器和相关硬件 其他
62
7
1.1.3需求分析-罗列用户的需求2/4
(6)系统连接何种外设? (7)系统是否需要运行某些现存的软件? (8)系统处理哪种类型的数据? (9)系统是否要与别的系统通讯? (10)系统是单机还是网络系统?
62
8
1.1.3需求分析-罗列用户的需求3/4 (11)系统的响应时间是多少? (12)需要什么安全措施? (13)系统在什么样的环境下运行? (14)外部存储媒介和内存需要多大? (15)系统的可拆装性,可靠性和牢 固性的期望值是什么?
目的
方法和内容
62
14
1.4 需求分析-确定项目的约束条件
① ②
约束条件:属于项目实施过程中的不利因素, 指的是项目实施过程中限制项目按时圆满完成 的内部和外部因素。 约束条件 ½ 是否要满足项目的阶段性或竣工的工期限制? 项目的部分或全体是否限制在一个固定的预算 内? 分派到该项目的最大人数是多少? 每个人员每周在此项目上能工作多少小时? 员工的技术知识和经验是否足够?
62
5
1.1.2需求分析-确认需求
1.
用户的表达方式 。。。 系统设计者的表达方式 。。。 交互的一致性 。。。
62 6
2.
3.
1.1.3需求分析-罗列用户的需求1/4
(1)系统用于什么任务? (2)系统从用户或其他源接收什么输入? (3)系统从用户或其他源输出什么? (4)用户想要如何同系统打交道? (5)系统的重量和体积如何?
62
9
wk.baidu.com
1.1.3需求分析-罗列用户的需求4/4
(16)如何给系统供电? (17)系统如何向用户通报故障? (18)是否需要任何手动或机械代用装置? (19)系统是否将具有远程诊断或更正问 题的功能? (20)其他问题
62
10
1.1.4需求分析-简单的需求表格
名称 目的 输入 输出 功能 性能 生产成本 功耗 物理尺寸和重量
62 15
③
④
⑤
1.4 需求分析-确定项目的约束条件
约束条件 2/2
⑥ ⑦ ⑧
⑨
员工对要解决的问题是否熟悉? 员工和关键的人才地处何处? 你是否必须要采用某种硬件? 你是否必须要采用某种工具软件?
62
16
约束(限制)条件的考虑(注)
1. 2. 3.
4.
约束随时都可能出现 约束影响所选择的方法 约束会滋长新的约束 太多的约束将使进行中的项目成为不可能
处理器选型 总线的吞吐量 操作系统 编程语言 第三方软件或库函数 第三方的硬件:开发板、评估板、OEM板 其他。。。
62 13
1.3需求分析-对需求的结果进行检查
1. 2. 3.
原因
需求分析阶段可能会发生错误-走弯路 资料的全面性、工作的细致性 干扰的信息(多余) 漏掉的信息(缺少) 超前的信息(一些需要在设计阶段才提出的信息) 矛盾(相互制约) 模棱两可 无法实现
62
3
1.1 需求分析-分析用户的需求
contents
1.
2.
3.
4.
5.
分析用户对产品的需求 确认需求 罗列用户的需求 设计简单的需求表格 需求的内部一致性
62 4
1.1.1 需求分析分析用户对产品的需求
1. 2.
用户:一般用户、公司内部的市场部门等 需求指标:
1.
2.
3. 4. 5.
功能 价格 系统的尺寸和重量 功耗 其他。。。
根据项目的情况自由选择
62
23
2.5详细设计阶段-硬件设计
1.
设计硬件子系统:top-down方法
1. 2. 3.
分成模块 设计框图 例:CPU子系统、存储器子系统等 I/O端口 硬件寄存器 共享内存 硬件中断 存储器空间分配 处理器的运行速度
2.
定义硬件接口
1. 2. 3.
4.
5. 6.
62
24
嵌入式产品开发过程
需 求 分 析
方 案 设 计
科 研 开 发
系 统 测 试
概要设计 详细设计
62 1
内容
1. 2. 3.
4.
需求分析 系统设计(概要设计、详细设计) 科研开发-系统实现 测试阶段
62
2
1、需求分析阶段
1. 2.
3.
4.
5.
contents 分析用户的需求 确定硬件软件 检查需求分析的结果 确定项目的约束条件 概要设计
62 21
2.3详细设计阶段-硬件与软件划分
决定哪些用硬件实现,哪些用软件实现? 例如:
1.
2.
3. 4.
浮点运算 网络通信控制器实现的功能 软调制解调器/硬调制解调器 软件压缩解压/硬件压缩解压图像
62
22
2.4详细设计阶段-硬件与软件设计次序
方案
1. 2.
3.
先设计硬件 先设计软件 软硬件同时设计
62
17
1.5需求分析-概要设计
1. 2.
概要设计-初步设计 硬件设计
1. 2. 3.
功能设计 结构化设计 物理设计
3.
软件设计
1.
2. 3.
功能分析与设计 软件模块划分 模块开发与实现
62 18
2详细设计阶段
contents
1. 2. 3. 4.
5.
6. 7.
审查需求分析资料… 体系结构/整体设计… 硬件与软件划分… 硬件与软件的设计次序… 硬件设计… 软件设计… 检查设计…
62 26