第2章 嵌式软件的开发过程2011jm.docVIP

  • 5
  • 0
  • 约 12页
  • 2016-06-07 发布于贵州
  • 举报
第2章 嵌入式软件的开发过程 本章内容: 2.1 动 因 2.2 定义与概念 2.3 嵌入式软件开发过程的特点 2.4 特定领域过程模型的建立 2.1 动 因 1. 嵌入式软件的市场意义:产品功能更多地由嵌入式软件来实现。 2. 嵌入式软件面临的特殊挑战:成本压力上升,创新周期缩短,质量要求更高。 3. 常常出现的问题:软、硬件开发不协调,低估成本,没有达到质量目标。 4. 产生问题的原因:嵌入式软件的开发不是按工程标准进行的。 研究嵌入式软件开发过程的意义 1. 按工程标准开发软件。 工业软件按显式过程模型来设计,可以改善软件的生产力、质量以及可预测性。 2. 按照成熟度模型评价软件企业。 这些模型考虑了有关软件工程的知识状况,以及显式开发过程的存在、应用。成熟度是对软件开发组织的评价标准,开发过程的显式表达是过程改善的重要前提。 3. 为一个软件开发组织或项目找到合适的开发过程。 既不存在普遍的、也不存在最优的开发方法,开发过程总是与项目目标相协调,与开发环境相适应。 开发环境包括诸多方面,如应用领域、现有开发技术、开发者经验、组织框架、预算范围等。 开发过程必须与每个约束条件都相适应。 2.2 定义与概念 软件产品:是人工产物,是根据某些需要在符合工程标准的软件开发框架下开发的。 软件产品特性: (1)软件是一种逻辑产品,不是客观的实体,看不见摸不着,具有无形性,它以程序和文档的形式保存在存储介质上,通过操作计算机才能体现出它的功能和作用。 (2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件研制完成后,通过复制就可以产生大量的软件产品。 (3)软件产品不会用坏,不存在磨损、消耗等问题。 (4)软件产品生产主要是脑力劳动,未完全摆脱手工开发方式。 人工产物的例子:要求文档、系统设计、程序指导方针、源代码、二进制代码、项目进度报告、测量数据、错误报告。 软件过程 软件过程:在符合工程标准的软件开发框架下,为了产品的制造或为了某一个任务的执行而采取的面向目标的活动。 通常,一个软件过程在其他产品的帮助下将一个或多个原始产品转换为一个或多个最终产品。 编码:是借助于产品的编码准则进行的,编码的最终产品是系统组件的源代码。 软件过程可以由人、机器、人和机器共同来执行。 机器执行例子:对源代码的编译→软件自动化执行 人和机器共同执行例子:测试过程、错误消除过程→半自动化执行 项目 项目:是指一次性的、有开始与结束时间限制的、要达到某个目的的计划。 项目阶段:是指一个项目的时间段,这个时间段在内容上是与其他项目阶段分开来运行的。 与过程不同:一个阶段是通过开始时间与结束时间定义的。如果这个时间间隔过去了,那么这个阶段也就结束了。 例如:一个软件项目的分析阶段,在项目进行到某个特定时刻就结束了。 过程可以被多次激活,如“对需求文档的处理”这个过程在分析阶段结束之后,可以再次被激活,这种激活可以发生在设计阶段(对需求进行修改),或发生在测试阶段(为了纠正错误)。 模型 模型:模型是所研究的系统、过程、事物或概念的一种表达形式,是其抽象并简化的代表。 模型仅仅描述了物体或现象已知的部分,这种描述对模型的理解与使用具有重要的意义。 模型能够用于多种目的,如用于规划、控制或预测。 模型有它自己的生命周期,即设计、分析、使用、评价和修改。 软件过程模型 软件过程模型:是对一个软件过程的描述。 软件过程模型与软件过程的区别:软件过程模型描述了现实世界中的行为,而软件过程则是上述行为本身。即软件过程模型描述了软件过程的执行。 例1:烘烤食谱是一个过程描述,而烘烤则是一个过程。 例2:线路规划者计算的最快或最短路程是一个过程描述,而汽车在这段路程上行驶则是一个过程。 例3:机器保养指导是一个过程模型,而保养的行为(如校准或加油)则是一个过程。 过程模型可以被扩展,从而得到重要的数量测量值(如费用、效率、有效性、过程可靠度)。 软件产品模型 软件产品模型:是对一个软件产品或一类软件产品的描述。 就像软件过程与软件过程模型不同一样,软件产品与软件产品模型也是不同的。 软件产品模型详细说明了一个产品,包括对软件产品基本信息模块的描述(如功能性要求、非功能性要求),以及对这些信息模块结构的规定(如要求文档的划分)。 此外,可以扩展产品模型,以便显示产品重要的、定量的测量值(如功能点的数目)。 过程架构 过程架构:也称为过程示意图,是对过程与过程之间的关系进行描述的一个概念框架。 过程架构一方面描述了组成过程模型的模块,另一方面描述了它可以以何种方式出现。 例如:有些过程架构允许有原始产品、最终产品

文档评论(0)

1亿VIP精品文档

相关文档