当前位置:首页 > 嵌入式 > 嵌入式硬件

项目管理方法通常用于PC系统的大型软件开发中。本文以项目时间管理为例,把软件项目管理方法引入嵌入式系统的开发之中。

以嵌入式USB主机为例,建立工作分解结构,利用网络图技术分析项目的关键路径,从而合理分配了嵌入式USB主机项目的设计开发时间,控制进度。

  传统的嵌入式系统开发往往被归类于硬件开发,而采用汇编语言控制硬件CPU的方法被严格区分于面向过程、面向对象的PC平台软件的开发。但是随着嵌入式处理器和控制器、嵌入式实时操作系统等的发展,嵌入式系统的软件开发工作已越来越多的采用高级语言来进行,汇编语言则只应用在部分需要高效率的模块中并且嵌入在高级语言中。面向嵌入式CPU的软件编译器的特性也越来越接近于纯PC的软件编译环境。

在建立了硬件开发平台(包括嵌入式CPU选型、外围电路设计、功能模块设计、PCB电路板制作等)之后,嵌入式系统软件的开发工作对于整个系统的成功与否至关重要。其从算法设计、代码实现、流程控制到代码重用性、可靠性的提高等,都接近于PC平台的软件设计。二者都可以利用软件工程的方法来优化软件质量,通过软件项目管理来控制整个开发过程,使得每个项目能够有序、高效、高质量、按时的完成。二者的异同如图1所示。在嵌入式系统的开发中,同样应该利用软件项目管理方法来规划、控制整个项目的进行。

           


1 在嵌入式系统项目开发中进行软件项目时间管理的必要性
  

软件项目管理就是以项目管理的体系、融合软件开发的具体特点、为适应软件开发项目的需要,揭示最常见的、困扰软件项目的主要问题,提出较好的实践方法和解决方案。软件项目管理包括9大领域:项目整体、范围、时间、成本、质量、人力资源、沟通、风险和采购管理。范围、时间、成本和质量管理是软件项目管理的核心内容。而范围、时间、成本是项目管理的3要素,相互约束着执行,成功的项目应该是同时实现这3个方面的。
  

据美国国防部19世纪70年代立项研究软件项目做不好的原因,结果发现70%的项目问题是由于管理不善引起的,而不是因为技术能力不够;1995年,Standish Group研究表明,所有的开发项目中有32%的项目在它们结束之前被中止,此外多于一半的软件项目花费的成本相当于原来预算的2倍;只有42%的软件项目完成时达到了预期的范围和功能。可见,时间对于一个项目的成功是至关重要的。
  

本文以嵌入式USB主机项目为例,把软件项目时间管理的理念和方法引入其中。

2 嵌入式USB主机功能描述
  

有关嵌入式USB主机的内容可参见参考文献[5]。简而言之,嵌入式USB主机就是将PC上的USB主机功能嵌入式化。该系统由6大模块组成:MC68HC912D60A模块;SL811HS模块;CAN总线模块;键盘输入模块;LCD显示模块;SCI通信模块。

3 创建工作分解结构WBS
  

工作分解结构WBS(Work Breakdown Structure)是将项目按照其内在结构或实施过程的顺序逐层分解而形成的结构示意图。WBS是实施项目、创造最终产品或服务所必须进行的全部活动的一张清单,也是进度计划、人员分配和预算计划的基础。
  

根据分析,嵌入式USB主机项目的工作分解结构WBS如图2所示。
                  

4 制定项目进度计划
  

关键路径法CPM(Critical Path Method)和计划评审技术PERT(Program Evaluation and Review Technique)在网络图的画法上基本相同,基本原理是用网络图来表达项目中各项活动的进度及其之间的相互关系,并在此基础上进行网络分析,计算网络中各项时间参数,确定关键活动与关键路线,利用时差不断地调整与优化网络,以求得最短工期,又叫做网络图技术。本文采用网络图技术,为嵌入式USB主机项目制定进度计划。

4.1 制定项目的活动表
  

在嵌入式USB主机项目的工作分解结构WBS的基础上,经过分析每一项任务的工作量和前后关系,可制定出如表1所示的项目活动表。

4.2 绘制前导图
  

以项目活动表为基础,前导图的绘制规则是:无先行活动的活动从开始结点发出,有的活动是并行的,有的活动是有先后顺序的,根据活动表中的关系,画出网络图。绘制的嵌入式USB主机项目的前导图如图3所示。其中无后继活动的活动汇聚于结束结点。每个节点的结构为,其中A代表节点活动编号;B代表最迟结束时间;C代表活动浮动时间;D代表最早结束时间。

           




            

4.3 前向路径计算活动最早开始时间TES和最早结束时间TEF
  

根据图3所示的前导图,求出每个项目活动的最早开始时间TES和最早结束时间TEF,结果如表2所示。计算顺序是前向从节点1往后计算,直至计算到节点9。
  

每一项活动的最早开始时间,均需要按照前导图的前后关系逐渐累加计算。需要说明的是,活动I是由F、G、H共3项活动汇聚而成的,因此I的最早开始时间TES等于这3个活动的最早结束时间的最大值,即如表2所示,I的最早开始时间
  

TES-I=max{18,13,10}=18
  

下一步,从表3中选取每一个节点的最早结束时间,填入前导图中,如图4所示。
  

需要特殊说明的是节点9的最早开始时间就是活动J的最早结束时间,即21。

            

4.4 后向路径计算活动最迟开始时间TLS和最迟结束时间TLF
  

这里,需要计算的是在不影响整个项目按期完成的前提下,本活动必须开始和完成的最迟时间。反向计算各活动的最迟结束时间时,要以结束结点的最迟结束时间等于最早开始时间为准。若一个结点有几个活动发出,则该结点(事件)的最迟开始时间取各活动最迟开始时间的小者。计算结果如表3所示。计算顺序是后向从节点9开始往前算。
  

最后,将每一个节点的最迟结束时间填入前导图,如图5所示。



4.5 确定关键活动及关键路径
  

(1)确定关键节点
  

总浮动时间是最迟开始时间和最迟结束时间的差,首先将计算后的各活动的总浮动时间填入表3,并将节点总浮动数填入前导图,如图6所示。
  

最早时间与最迟时间相等的点,也就是总浮动时间为0的节点是关键节点。因此,由图6可知,嵌入式USB主机项目的所有节点1、2、3、4、5、6、7、8、9均为关键节点。这是本项目的特殊之处。
  

(2)确定关键路径
  

由以上分析,以及表1可知,嵌入式USB主机项目的关键路径是1-2-3-4-5-6-7-8-9,而相应的关键活动是A、B、C、D、E、F、I、J。
  

这条关键路径在时间上没有回旋余地,即每个关键活动应满足最早开始时间等于最迟开始时间,而非关键活动则有富裕时间。这使得人们在实施嵌入式USB主机项目计划时做到心中有数,项目的关键活动工作包括:
  

项目需求分析(A);系统总体设计(B);系统硬件设计(C);初始化及用户交互界面软件设计(D);单片机与接口芯片通信软件设计(E);USB主机系统软件设计(F);系统联调测试(I);项目结题报告(J)。
  

要严格控制按预定工作时间进行,否则就会拖长整个任务的工期,延误项目的按时完成。相对来说,作为非关键工作的MS 设备类协议软件设计和FAT 文件系统软件设计由于有浮动时间存在,在资源或人力不足时,可适当调整这些工作的耗费时间和开始时间,不会影响总工期。

参考文献

1 殷人昆.清华大学《软件项目管理》课程讲义.2005,
2 Schwalbe K.IT项目管理(英文版,第2版).北京:机械工业出版社,2003
3 郑人杰.实用软件工程.北京:清华大学出版社,1997
4 Jalote P著,施平安译.软件项目管理实践.北京:清华大学出版社,2003
5 马 伟.计算机USB系统原理及其主/从机设计.北京:北京航空航天大学出版社,2004
6 金振华.面向对象方法在汽车排放测试系统软件开发中的应用.电子技术应用,2001;(4)


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭