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