嵌入式软件的运行流程一般分几个阶段?每个阶段完成的主要工作是什么?

作者&投稿:说虎 (若有异议请与网页底部的电邮联系)
软件工程有哪些主要阶段?每个阶段的主要工作是什么~

F1第一阶段软件工程,免费下载
链接:https://pan.baidu.com/s/1NMX-eXOtRYFpfcsaYpv3Vw
提取码:paem
计划阶段----开发阶段----维护阶段
计划阶段:问题定义,可行性研究,需求分析
开发阶段:概要设计,详细设计,编码,测试
维护阶段:运行与维护

1. 项目计划
在一个产品发布并使用之后,其中肯定有许多地方不如意和值得改进的地方。客户在使用的过程中会发现一些问题,提出更高的需求,市场也在发生变化,我们的竞争对手也在发展,新的技术不断地产生,这些因素推动着我们的产品不断地向前发展,使它的版本不停地往上增长。这些发展的需求不是一下子提出来的,在客户使用的过程中发现某些不如意不方便的地方,他们会向我们的技术支持人员提意见,而技术支持人员会把这些需求以BUG的形式存入BUG数据库中,其级别一般定义为下一个版本的Feature。有些上一个版本未解决的BUG也可能需要在本版本中来解决。因此当我们来开发下一个版本时,其许多特性已经存在于BUG数据库中了。当然新版本的特性不是只从BUG中获得,管理层可能从市场的角度来提出新的特性以求领先竞争对手,开发人员本身也可提出某些要求来纳入新版本开发的计划中,如要求对某部分代码进行重构以使其结构更清晰更容易维护,执行效率更高。
每个人把同自己相关的功能模块收集起来,同时预估时间,其中主要包括写文档的时间、开发时间和单元测试的时间,一般要求精确到工作日。这些信息发送给组长,组长再把本小组人员的任务和预估时间发送给管理层,由管理层对此任务及进度进行评估审核,管理层会根据产品发布时间及客户需求、市场因素等方面作出选择,可能某些功能由于时间紧急会被推迟到下一个版本中去。若预估出来的时间同预计的产品发布时间有较大冲突,而且此功能是本版本中必须得做的,则开发小组会被要求重新预估时间,加快开发速度来达到这个要求。
虽然这个开发进度时间是一个大概的估计时间,但我们要尽力按照这个开发进度来执行。每个星期五下午我们有一个Status Meeting(一般那时工作效率较低,适合开会),在此会议上我们会根据这个进度来review我们的工作,每个人手上的工作是否按照这个进度在走,是否有人延后了,是否block住别人的工作了。在此会议上每个人都要报告自己的进度,同时还要报告上个星期做了什么,正在做什么,以及下个星期打算做什么。通过这个会议,会让你觉得有人在监督你,无形之中迫使你不断地督促自己不要使任务延后,如果有延后的迹象也会尽早发现而赶上。若某些经过努力不能赶上,那也没有办法,只能修改原先的进度表,因为那是我们的估计与现实发生了偏差,我们必须使我们的进度表符合实际情况,这可以避免许多项目发生最后的20%的工作量会占据80%甚至一直拖后的情况。修改进度表的情况我们曾经发生过,有一次在按照原先的进度执行到将要完成的状态时突然接到通知由于市场及客户的原因要求加入另一项重大的功能,这个功能对我们程序的结构有非常大的影响,因此我们就要重新制定一个进度来满足需求。在这种情况下,产品原先的开发进度被打乱,发布时间也因此推迟。当然这种情况应当尽力避免,尤其在项目后期产生新的需求,若不得已也应重新规划进度,而不是仍旧依照原先的进度去执行,因为老的进度已不能反映现实的情况。

2. 开发文档
在项目进度安排中我们已经把写文档的时间也规划进去了,这里虽然是写文档,其实是设计程序,整理一下思路与架构,磨刀不误砍柴工,这样在实际写代码时会流畅很多,节省时间,因此可以说真正有思想性的东西都在写文档这段时间内完成了。当然我们这里的文档格式不象ISO那样规定了条条框框,我们的文档格式相对自由,基本上能随意发挥,但对于几个主要点一般来说是需要说明的。要求写的文档能让他人比较容易地看明白,能把问题讲清楚,能反映你的设计思想。文档的数量也不多,开发文档有两类,一类是function Spec,另一类是Design Document。
function Spec中需要写明的是本模块完成的任务,解决什么问题,有什么作用,为什么要这些功能,此外我们还会添加进适用范围,有什么不足,注意点是什么,还有哪些地方在以后可以进行改进。在这个function Spec中不涉及到任何非常详细的算法。此文档不光给开发人员看,还让QA及其他成员以及后来的新人能根据此文档来了解此模块的大致功能,同时也会给文档编写者看,他们会根据这些function Spec整理出一份用户手册,告诉用户此版本中新增了哪些功能,各功能模块有什么作用,如何使用等信息。因此在我们的开发过程中function Spec是很重要的文档,此文档完成后会抽出一段时间同相关人员及QA一起review这个文档,让QA了解设计者的意图,同时熟悉新的功能模块,为接下来的测试作准备。如果其中有误解或不明之处,大家会提出来探讨并由开发者修正。
Design Document中主要描述实现此模块所涉及到的主要算法、数据结构、类的层次结构及调用关系。这个文档的阅读者主要是开发人员,包括任何想了解详细实现代码的人,帮助人们理解代码。在某些功能模块比较简单的程序中,此文档所描述的信息会比较少。此文档不象function Spec要在开始写代码前就编写完成,它可以随着代码编写的进行而增加,但基本上遵循文档先行原则,也就是要增加新的代码或修改代码前若有涉及到文档部分的应先修改文档,然后再修改代码。

四个阶段: 

1、问题的定义及规划,此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。 

2、需求分析,在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析,因此,必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。 

3、软件设计此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。

4、程序编码此阶段是将软件设计的结果转化为计算机可运行的程序代码,以保证程序的可读性、易维护性。提高程序的运行效率。 

扩展资料:

嵌入式软件具有独特的实用性,嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。

嵌入式系统以应用为中心,嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值。

2嵌入式软件应有灵活的适用性,嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活的运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。它要小巧,不能占用大量资源;其次要使用灵活,应尽量优化配置。




嵌入式软件的运行流程一般分几个阶段?每个阶段完成的主要工作是什么...
4、程序编码此阶段是将软件设计的结果转化为计算机可运行的程序代码,以保证程序的可读性、易维护性。提高程序的运行效率。

嵌入式linux启动流程
嵌入式Linux启动流程分为四个主要阶段:引导加载程序(Bootloader)、内核加载、根文件系统挂载和系统初始化。1. 引导加载程序(Bootloader):这是嵌入式Linux系统启动的第一个阶段。Bootloader的主要任务是初始化硬件设备、设置内存等,为接下来加载Linux内核做好准备。常见的Bootloader有U-Boot、GRUB等。以U...

嵌入式软件开发方法
图1:嵌入式软件开发流程 (1)创建工程项目:在配置硬件设备和安装软件开发工具后,就可以开始创建工程项目,通常需要选择项目文件的存储位置及目标处理器。(2)添加项目文件:开发人员需要创建源程序文件,编写应用程序代码,并添加到工程项目中;还将使用设备驱动程序的库文件,包括启动代码、头文件和一些...

什么叫嵌入式软件?
软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。\\x0d\\x0a更多关于什么叫嵌入式软件,进入:https:\/\/www.abcgonglue.com\/ask\/423dae1615822018.html?zd...

简述嵌入式系统的硬件设计流程
简述嵌入式系统的硬件设计流程如下:1.确定需求 在设计嵌入式系统之前,首先需要明确系统的需求。这包括系统的功能、性能要求、输入输出接口、通讯方式等。通过与用户和相关利益相关者的沟通,确定系统的功能和性能需求,为后续的设计工作打下基础。2.选择处理器架构 嵌入式系统的处理器架构是设计的核心。

嵌入式软件工程师职业规划
这个过程称为“平台定制”,定制产生的平台往往和具体的硬件设备相关,直接将平台下载到硬件设备上就可以运行了。整个开发过程,需要选择不同的组件来搭配出最适合当前硬件的软件平台。所以要对Windows CE的组件,也就是Catalog Item,有相当程度的了解。3、应用程序开发 嵌入式设备上的应用程序...

我还有半年就要从事嵌入式系统应用软件\/中间件开发,请专家指导,该怎样...
4、嵌入式系统开发基础 嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序 4、嵌入式系统移植 Linux内核代码 平台...

嵌入式linux的bootloader的启动流程是怎样的?
这就是嵌入式Linux系统启动过程 Linux 引导的整个过程。Bootloader 的启动方式:网络启动方式。这种方式的开发板不需要较大的存储介质,跟无盘工作站有点类似,但是使用这种启动方式之前,需要把Bootloader安装到板上的EPROM或者Flash中。Bootloader通过以太网接口远程下载Linux内核映像或者文件系统。Bootloader下载...

嵌入式软件开发
嵌入式软件开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,Palm与新出现的Symbian等。另外,用单片机c语言或汇编开发;用高级处理器,arm7,arm9,powerpc等,加上操作系统也属于嵌入式的开发。………权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式...

嵌入式系统、软件开发环境、嵌入式处理器
2:嵌入式开发环境是什么?linux uclinux ecos uc\/os android RTlinux这些都可以用GCC来编译程序,具体是什么GCC和你的处理器有关系,比如arm,就用arm-linux-gcc,mips的处理可能就是用mips-linux-gcc,名字不固定,但是一般都是基于gcc来开发和移植的。还有wince主要是用platform builder来开发的。...

沙河市19536027861: 嵌入式软件的构建一般依次要经历 -
大季庭血滞: •一般地来说,嵌入式软件开发依次要经历编辑(代码准备)、编译、重定位(定址和打包)、烧写、下载、调试、优化等步骤,在某些嵌入式系统中可能还需要测试和验证等步骤.•从流程上说,大致可分为编码阶段、构建阶段、部署阶段、调优和其他阶段 http://wenku.baidu.com/view/e4bfa401e87101f69f319505.html

沙河市19536027861: 嵌入式系统的工作流程 -
大季庭血滞: 1.系统需求分析确定设计任务和设计目标,提练设计规格说明书,作为设计指导和验收的标准.系统需求一般包括功能性需求和非功能性需求两方面.功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能性需求包括系统性能...

沙河市19536027861: 嵌入式linux的bootloader的启动流程是怎样的 -
大季庭血滞: 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序. 当系统首次引导时,或系统被重置时,处理器会执行一个位于Flash/ROM中的已知位置处的代码,Bootloader就是这第一...

沙河市19536027861: 嵌入式分几个层面的?? -
大季庭血滞: 你好,这个也没有具体的规定的,各家的理论不一,以嵌入式软件分层来说,下面的说法还是很有理论依据的.1、核心层:主要完成硬件设备或芯片的驱动管理、进程间的通信、线程调度、中断和内存管理等.包括三个部分: BSP、END、RTOS2、逻辑处理层:主要完成系统细化和分解的服务功能.主要包括5个部分:设备控制和管理、通信控制和管理、 LCD 等的控制和管理、服务管理、多任务管理等.3、应用层:完成定义的应用服务功能.如:设备运行记录、服务请求和处理日志、网络管理、控制程序的下载和升级.

沙河市19536027861: 软件开发过程一般有几个阶段?每个阶段的作用 -
大季庭血滞: 1、首先制定项目计划,最初计划是里程碑性质的.可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用,进入试运行期....

沙河市19536027861: 进行嵌入式系统开发时,主要包括哪些基本流程 -
大季庭血滞: 前期可行性论证 方案设计 元器件选型 原理图设计 PCB设计 Demo板加工 硬件调试 软件系统移植 驱动程序设计 应用软件设计 软件调试 软硬件联调

沙河市19536027861: 嵌入式考试……急 -
大季庭血滞: 选项A:应该是硬件中断时处理器的中断引脚电平信号发生变化;选项B:应该是软件中断可以用啦实现操作系统的系统调用;选项C:正确;选项D:都称为INTERRUPT.概要设计阶段、详细设计阶段、编码阶段、调试阶段.JTAG调试、仿真器、示波器、万能表、基于主机调试、远程调试、在线仿真、ROM仿真等等.

沙河市19536027861: 软件开发的一般流程是什么? -
大季庭血滞:一个软件从开始到最后一共需要以下几个流程: 1、计划 2、分析 3、设计 4、编码 5、测试 6、维护 1、计划 对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行...

沙河市19536027861: 嵌入式系统项目开发的生命周期分为哪几个阶段 -
大季庭血滞: 嵌入式系统项目开发的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段. 1.识别需求 识别需求是项目生命周期的最初阶段.当需求被客户确定时,项目就产生了.这个阶段的主要任务是确认需求,分析投资收益比,研...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网