《产品开发流程与小项目开发管理.docx》由会员分享,可在线阅读,更多相关《产品开发流程与小项目开发管理.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单元六 产产品开发发流程及及相关知知识61 产品品开发流流程162 小项项目开发发管理361产品开开发流程程62小项目目开发管管理一个企业业的管理理,大公公司有大大公司的的方式,小公司司也有小小公司的的方式,如果把把别人的的经验生生搬硬套套到自己己身上,可能会会适得其其反。同同样,管管理一个个开发项项目也一一样,大大项目和和小项目目的方式式不完全全一样。但从另另一个角角度来看看,项目目的大与与小并没没有本质质的区别别,很多多方法是是共通的的。1小项目目的特点点大家知道道,软软件危机机的出出现起源源于一些些大型项项目的不不断延迟迟甚至失失败。小小项目相相比之下下,具有有以下特特点: 1.项目目功
2、能相相对较少少 2.开发发人员较较少 3.开发发周期较较短 另外,在在现实中中,有很很多小项项目是由由一些中中小公司司进行开开发的,这些公公司往往往人员流流动性较较大,这这也是不不容忽视视的一个个现实. 2小项目目开发中中常犯的的错误小项目看看起来比比较简单单,比较较容易成成功,因因而人们们往往忽忽视了小小项目的的管理,其实这这是一种种误解,小项目目开发中中容易犯犯以下的的一些错错误: 1.开发发之前没没有认真真地进行行项目可可行性和和工作量量的估计计。往往由于于项目较较小,便便很草率率地制定定一个开开发日程程表,没没有认真真地估计计项目难难度,结结果实际际完成时时间与估估计完成成时间往往往有
3、较较大差别别。 2.没有有真正的的设计过过程 开发人员员少,意意味着不不同人员员的模块块之间交交互、接接口相对对少一些些。开发发周期短短意味着着往往是是同样的的几个人人从头到到尾负责责一个项项目。这这两者都都让人容容易犯些些错误。往往是是几个人人碰一下下头,讨讨论一下下最基本本的;软软硬件结结构、函函数接口口便分头头去做自自己的工工作了,没有一一份较正正式的文文档。 这种做法法潜在的的危险之之一是有有的人可可能会对对讨论出出的接口口、结构构理解有有偏差(应该承承认人是是会犯错错误的)。一个个误解可可能造成成以后的的返工。 另一个潜潜在的危危险是由由于讨论论时忽略略了某些些情况,等大家家都按当当
4、时的分分工完成成属于自自己的工工作后,才发现现各个模模块组合合起来却却形不成成一个完完整的系系统。其其根源在在于没有有一个负负责协调调的人员员不断监监控整个个开发过过程。 第三个潜潜在的危危险是一一旦有人人中途退退出开发发队伍,其他人人加入时时,新来来的人难难以理解解以前别别人做好好的代码码,索性性自己从从头来。另外,没有文文档的程程序,日日后维护护和版本本升级都都比较困困难。 3.不经经过单元元测试而而直接进进入系统统测试 造成这一一现象的的原因是是每个模模块相对对比较简简单,但但是为了了测试一一个模块块需要建建立一些些测试环环境。例例如,为为了测试试一个函函数是否否正确,应该用用一些测测试
5、数据据去调用用该函数数,需要要编写一一些测试试数据。但很多多开发人人员嫌麻麻烦,觉觉得反正正其他模模块也很很快出来来了,直直接用真真正的数数据来运运行几次次就行了了。 殊不知,一旦直直接进入入系统测测试,发发现运行行结果不不正确后后需要一一步步查查找。由由于模块块间的调调用关系系,可能能查了很很久才发发现是某某个模块块的问题题。这种种方法一一来效率率比较低低,大量量的时间间用在了了将一个个错误定定位在模模块上了了。另外外由于这这种测试试不完全全,真正正运行系系统,当当调用某某模块时时,可能能大部分分时候都都是正常常数据,极少出出现边界界情况,可能某某些边界界情况容容易被忽忽视,很很久之后后才被
6、发发现。但但是如果果对每个个模块进进行单元元测试时时都进行行一下边边界测试试,就会会很容易易消除一一些隐患患。真可可谓欲速速则不达达也。 3合理的的开发流流程合理的开开发模式式,一句句话形容容就是麻雀虽虽小,五五脏俱全全,即即使是小小型项目目的开发发,仍然然应该遵遵循项目目开发的的一般规规律,必必须的步步骤不能能省略。但是小小项目有有它自身身的一些些特点,实行起起来可以以相对灵灵活些。 以下从几几个方面面描述一一下比较较合理的的模式. 1.需求求获取 在进入正正式开发发之前,必须先先从用户户处获取取准确的的需求。在这上上面花费费相当时时间是很很必要的的。 项目可以以大致分分为委托托开发和和公司
7、立立项开发发两大类类。 对于委托托开发,例如给给某单位位开发一一套该单单位专用用的系统统,一般般用户对对于项目目要完成成哪些功功能已经经有了一一个比较较清楚的的轮廓,而且往往往在开开发合同同中已经经大致地地规定了了。 但是,开开发合同同上规定定的只是是一个大大概的框框架,在在进入开开发之前前必须与与用户进进行比较较具体的的交流和和讨论,了解清清楚用户户心目中中的产品品究竟是是什么样样子。这这个步骤骤如果没没有好好好做,往往往到了了开发工工作的后后期才发发现开发发人员的的理解和和用户的的要求有有一些误误解,那那么必然然造成时时间上的的浪费。 对于公司司立项开开发的项项目,在在开发之之前应该该做一
8、定定的市场场调查工工作,一一方面是是从经济济效益考考虑,调调查产品品的潜在在市场有有多大,另一方方面是从从技术的的角度,必须了了解清楚楚潜在用用户对产产品的各各种功能能上的要要求,例例如,用用户现在在使用什什么产品品,对该该产品有有什么意意见和要要求等等等,根据据调查的的统计结结果决定定即将开开发的产产品的一一些技术术指标。 为了比较较好地与与用户进进行交流流,使用用一些工工具是很很有好处处的。 2.需需求分析析 在了解用用户的需需求之后后,将需需求用一一种模型型来表示示,就是是需求分分析。 这部分涉涉及到具具体的方方法,在在此不详详细讨论论,但是是原则上上可能需需要不断断修改而而形成一一份分
9、析析文档。 强调几个个问题:(1)要要分清问问题域与与系统责责任系统责任任是指所所要开发发的项目目应该完完成的功功能,而而问题域域是包含含所有相相关的部部分。例例如你要要开发一一个程控控机计费费程序,程控机机已经是是现成,输出的的数据格格式也已已经是固固定的,你的程程序仅仅仅需要从从程控机机中读取取相应的的信息,那么,程控控机在在你的系系统里只只是一个个外部的的东西,把它作作为一个个类也许许就是不不必要的的,仅仅仅需要一一个类来来完成读读数据的的操作。又如,你需要要在一个个已经存存在的数数据库上上开发一一些应用用,数据据库的格格式已经经固定,并且已已经有一一个后台台程序在在运行,你需要要开发一
10、一个新的的前台程程序,这这时,服服务器程程序对你你来说就就是一个个外部的的东西。但是,象这种种外部的的内容必必须在分分析文档档中有一一些说明明,作为为系统的的外在约约束。 (2)需需求获取取与需求求分析的的关系用什么方方法来完完成需求求的获取取,在很很大程度度上影响响了需求求分析的的做法。 例如当初初采用UUse Casse来表表示用户户需求,那么从从各种序序列图中中选出相相互交互互的各个个实体,就是一一个个类类。 (3)分分析与设设计过程程的衔接接分析过程程的内容容是用类类的结构构来表示示目标系系统,并并不设计计具体实实现,如如采用什什么编程程语言,在什么么操作系系统平台台上运行行等等。这些
11、具具体实现现是在设设计阶段段来完成成的。面面向对象象方法的的优点是是分析、设计、编码过过程表示示法统一一,能比比较好的的衔接。但是,是把分分析和设设计阶段段分开,采用瀑瀑布式开开发,还还是采用用其他方方式,要要看具体体的情况况。 对于需求求潜在变变化不大大的项目目,可以以采用瀑瀑布模型型,有一一个很明明显的设设计阶段段,这样样做的好好处是有有一份比比较完整整的分析析文档,这样以以后如果果需要采采用不同同的编程程语言、或者采采用其他他的平台台时,便便可以以以这份分分析文档档作为开开发的基基础。 对于需求求变化频频繁的项项目,可可能采用用少量分分析;少少量设计计;少量量编码;测试的的方式更更合适,
12、而且随随时可能能要返回回到前面面某个一一阶段去去进行修修改。但但是这意意味着可可能没有有一份完完整的分分析文档档。 现在很多多CASSE工具具并不区区分分析析和设计计的阶段段。但是是,这并并不意味味着开发发就可以以对分析析和设计计不加区区分,CCASEE工具如如同一支支笔,如如何用好好还得还还人。 3.设计计过程 设计阶段段的工作作包括: 对分析模模型必要要的修改改。可能能需要对对某些类类结构进进行一些些修改,这些修修改的原原因可能能是编程程环境的的要求,或者为为了重用用以前的的某些工工作。 定义界面面部分、数据访访问(数数据库)部分。 由于目前前很多编编程语言言都可以以可视化化地设计计界面,
13、所以界界面部分分工作往往往留到到了编码码阶段来来完成。于是设设计阶段段的工作作量并不不大。 4.编码码 进入编码码工作之之后,可可能会发发现前面面分析或或设计阶阶段的某某些错误误,这时时应返回回到前面面的阶段段进行必必要的修修改。 5.测测试 如前所述述,即使使是小项项目,也也应该严严格地进进行测试试。 4人员员的安排排比较小的的项目,往往是是几个人人来完成成,这几几个人基基本上从从头到尾尾参加开开发。在在这几个个人中,有一位位项目负负责人,负责分分析、设设计和协协调的工工作。由由于项目目小,项项目负责责人也要要参加编编程,那那么这人人必须把把时间合合理运用用, 注注意以下下以点原原则:1.协
14、调调几个人人的工作作比自己己完成一一段编码码更重要要. 由于协调调上出了了漏洞,可能导导致很大大的问题题,所以以项目负负责人必必须随时时监控各各开发人人员的工工作,包包括内容容是否与与要求发发生偏差差,进度度是否滞滞后等等等。 只有在完完成这些些工作之之后,项项目负责责人剩下下的时间间才能用用于编程程。 2.给每每个开发发人员明明确的任任务书. 不管是用用面向对对象或者者其他方方法开发发,分析析、设计计模型只只是从功功能的角角度来描描述系统统。但是是,具体体开发时时每个开开发人员员必须非非常明确确自己的的任务,这些任任务应该该采用明明确的文文档来表表示。 3.让大大家都大大致熟悉悉设计模模型. 让每个开开发人员员都清楚楚自己所所做的工工作在整整个系统统中处于于什么地地位,有有时侯可可能会发发现设计计模型中中的漏洞洞,避免免了各人人的代码码编写完完毕之后后又要修修改的后后果。