期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 科技论文 > 电工论文 >

软件开发规划对产品和事业成功至关重要

事实上,所有产品的设计周期均在加快。要保持竞争力,您的公司需要不断开发客户迫切需要的新产品,要在竞争中取胜,新产品的成本不得高于以往。这恰恰是问题所在,您不能聘请一大批精通代码的编程人员来完成产品开发。当前,您只拥有可承受目前工作量的团队。那么,您要如何应对呢?这可能听起来像个自助管理研讨会,但事实是——您必须更明智而不是更辛苦地工作。 
  首先,让我们明确定义新产品开发项目所涉及的因素: 
  (1)您需要一个具有一系列特定功能的产品。 
  (2)该产品必须具有一个特定的价格范围。 
  (3)必须可靠。 
  (4)必须支持在设计时扩展,从而实现故障修复并应对需求变更,并且还支持后期升级。 
  (5)必须具有较短的开发周期,这意味在测试阶段很少发生棘手而费时的意外情况,从而保证较快的开发速度。 
  实现此目标的方法很简单——先花时间完成良好的系统级设计,然后开始编写第一行代码。如图1所示,良好的系统级设计将有助于您的产品得到应有的认可。 
  现在你们中的大部分人可能还不太明白这一点,那么请阅读下文。最好的办法通常是自顶向下设计,如下所述(图2): 
  第1步:制定一个明确而全面的需求文档。该文档应包含一个清单,写明所有的系统功能、相应的时序要求、数据存储器要求、哪个功能具有优先级以及何时改变优先级。还应进行一次严谨的审核,指出产品定义的任何漏洞或含糊之处。填补这些漏洞可防止以后造成误解,并防止在产品无法满足客户预期要求时,浪费时间彻底重写代码。 
  还有,如果可能,请让管理者在文档上签字——这有助于放慢需求漂移。 
  第2步:利用需求文档中的信息来明确定义您对单片机的一系列要求。您可根据功能和时序要求来预估所需的MIPS值,根据存储器要求来选择系统的数据和程序存储器。依据经验,您必须赋予这两个数字一定的裕度——应为20%至30%。这种做法预留了一定的空间,以便进行扩展。您还可以利用这个良好的时机对设计各环节进行权衡,从而做出决策(如软件与硬件外设以及显示和输入系统的高低开销)。 
  第3步:对设计的各个模块进行黑盒设计。每个模块都具有一定的独立性,其输入和输出、时序要求和所有特定算法都有明确定义。所有这些信息,包括一系列合理的测试需求和方案,应结合在一起组成一组模块规范,最好是一个模块对应一个规范。 
  第4步:一旦明确了每个模块的规范,就可以开始设计您的设计框架,这包括一个全面的模块间通信变量库,指定源和目标模块、值的典型范围、相关变量以及每个变量要处理的数据格式。还需要一个时序/优先级系统在模块要运行和应运行时触发对应的函数。请记住,时序系统决定模块何时应运行,而优先级系统决定模块是否应运行。 
  第5步:清晰而详细地记录关于设计的所有事情。这将成为您的设计蓝图,完整地描述了系统的工作方式以及模块连接在一起的方式。对系统的记录越清晰详尽,就越容易对其进行编写、测试和修改。这份文档也可作为冗长代码文档的良好来源。
   
   
   
  一旦您已记录系统级,组件级设计的所有信息,那么就可以开始实际的代码编写。您应对每个代码块进行明确定义,这样更容易编写和测试代码。这还是一种模块化很强的设计,使得代码编写更加容易。文档完备的模块化设计还有另一项好处,那就是各模块编程人员几乎不需要做什么解释,就可在项目收尾时间紧迫时,轻松地将一部分设计移交给其他人员。最后,一个文档完备的模块化设计还将为单独测试各个模块提供便利框架。 
  请注意,并且这很重要——应在系统框架中测试各个模块。这将有助于消除集成阶段的故障以及更容易单独测试各个模块。所有模块都已完成并经过测试后,集成时仅有的问题只有模块间的时序不同步,以及数据传输方式略有不同。 
  最终的设计应该是三级设置: 
  (1)系统级设计,包含所有原始需求和最终设计决策,据此进行框架和模块设计。 
  (2)组件级设计,包含特定接口文档,并明确定义每个模块的工作和测试方式。 
  (3)最后是实际代码,集成之前已明确记录并测试良好。您还需要明确描述每个模块与框架的接口,这可简化添加新模块或替换任何现有系统模块的操作。 
  除了实际的设计,您最终将获得一个定义明确、经良好测试的独立模块化块库,这将加速未来使用任何相同功能模块的设计的开发。 
  目前,预先设计是一个好主意,但它是否能满足产品开发的初始需求? 
  (1)预先设计列出了所需的功能/模块,明确定义了模块的运行和交互方式,这有助于您选择能满足一系列特定功能的产品。 
  (2)如前页的第2步所讨论的那样,我们可选择2至4个价格处于合理范围的单片机,这些单片机引脚和代码兼容,这就允许我们以较低的成本实现系统扩展并加快产品上市。 
  (3)设计的模块化特征提升了整个设计过程中的测试速度,可尽早修复故障和简化集成阶段的最终测试,从而提高设计的可靠性。 
  (4)第2步的这种选择赋予了系统进行扩展的能力,并且设计的框架和模块化特征以及详实记录的模块规范给设计提供了一种可轻松添加新功能的方法。这种可扩展性,使得系统能在设计阶段进行故障修订以及应对设计需求的变更,并能在今后进行升级。 
  (5)设计的模块化特征便于多个设计人员同时参与工作并可尽早测试。它还提供了对项目的明确定义,防止由于误解规范和需求变更而不得不重新编写代码。显而易见,这样做可大大缩短设计出现状况的可能性,从而加快开发的脚步。 
  即使加上预先设计工作,最终的设计也只需较少的时间即可完成。在模块级进行测试会更全面,且产生较少的最终测试问题。整合集成所需的时间也将减少,因为疑问数很少。而且,最终的设计较容易在未来设计中进行升级。如图3所示,即使下一个设计从头开始,许多模块将作为新系统开发的基础,从而简化了大部分重建工作。


    更多电工论文论文详细信息: 软件开发规划对产品和事业成功至关重要
    http://www.400qikan.com/mflunwen/kjlw/dglw/3249.html

    相关专题:计算机论文范文 供应链成本控制


    上一篇:乒乓模式在IC量产测试中的应用
    下一篇:一种电能表码轮驱动步进电机堵转检测芯片设计

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍