软件测试生命周期模型(精选8篇)
软件过程定义了软件开发中采用的方法。软件工程是集成计算机软件开发的过程、方法和工具的学科。
软件工程的一般视图:定义阶段(做什么)、开发阶段(如何做)、支持阶段(变化)。线性顺序模型
有时被称为“传统生存周期或瀑布模型”。
活动包括:系统/信息工程和建模、软件需求分析、设计、代码生成、测试、支持 为什么线性模型有时候不能奏效?
建议:虽然线性模型经常被嘲笑为“旧式的”,但是,在需求被很好理解的情况下,它仍然是一种合理的方法。缺点:
1、实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。
2、经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型是不欢迎具有二义性问题存在的。
3、客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能是灾难性的。
4、采用这种线性模型,会经常在过程的开始和结束时碰到等待其他成员完成其所依赖的任务才能进行下去,有可能花在等待的时间比开发的时间要长。我们称之为“堵赛状态”。
优点:
1、它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。
2、虽然有不少缺陷但比在软件开发中随意的状态要好得多。
瀑布模型将软件开发活动分为需求分析、设计、编码、测试等几个阶段,这几个阶段是对工程活动的划分,瀑布模型没有再涉及其它方面的活动,因此瀑布模型关注于工程活动。
关于选取开发模型
有时开发模型的选取不是很容易判断的,这里面有时不单是需求及开发的问题,对于开发商有开发周期、开发费用的问题,对于用户同样有内部计划、公司发展计划等因素进行影响。
一般来说对于应用开发―――为客户开发软件,客户在开发及测试完毕软件后就要实际开始使用,那么就使用瀑布模型。
当然在需求明确的情况下自然也要使用瀑布模型
对于自主开发及客户需求不明并有较长的设计时间―――可以用演化模型。
而螺旋模型适于适合于大型软件开发,吸收了“演化”概念,不过有时也用于用户需求不明的情况下。当然还有其他开发模型,没有在本文讨论。名词定义:
瀑布模型:规定了各项软件工程活动。包括:制定开发计划、进行需求分析和说明、软件设计、程序编码、测试及维护。
特点:自上而下,相互衔接的固定次序,如瀑布流水、逐级下落。
演化模型:第一次只是试验开发,其目标只在于探索可行性,弄清软件需求;第二次则在此基础上获得较为满意的软件产品,通常把一次得到的试验性产品称“原型”。特点:减少由于软件需求不明确而给开发带来的风险。
螺旋模型:将瀑布模型及演化螺旋模型结合起来,并且加入被两种模型都忽略了的风险分析,弥补了两者的不足。
瀑布模型的特点:
① 瀑布模型为软件的开发和维护提供了一种有效有管理模式,对保证软件产品的质量有重要的作用;
② 可根据这一模式制定出开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段,有效地对整个开发过程进行指导; ③ 在一定程度上消除非结构化软件、降低软件的复杂度、促进软件开发工程化方面起到显著作用;
④ 瀑布模型缺乏灵活性、无法通过开发活动来澄清本来不够确切的需求,这将导致直到软件开发完成时发现所开发的软件并非是用户所需求的。原型实现模型
原型实现范型定义: 需求收集 快速设计
原型实现模型是迭代的,是帮助客户或开发者理解需求的,总体上讲,并不是交付一个最终产品系统。其流程从听取客户意见开始、随后是建造/修改原型、客户测试运行原型、然后回头往复循环直到客户对原型满意为止。由于这种模型可以让客户快速的感受到实际的系统(虽然这个系统不带有任何质量的保证),所以客户和开发者都比较喜欢这种过程模型(对于那些仅仅用来演示软件功能的公司而言或从来不考虑软件质量和不害怕长期维护的公司而言)。缺点:
1、没有考虑软件的整体质量和长期的可维护性。
2、大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。
3、由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计。
优点:
1、如果客户和开发者达成一致协议:原型被建造仅为了定义需求,之后就被抛弃或者部分抛弃,那么这种模型很合适了。
2、迷惑客户抢占市场,这是一个首选的模型。
原型实现仍然是软件工程的一个有效范型。关键是定义开始时的游戏规则,即客户和开发者达成一致:原型被建造仅是为了定义需求,之后就被抛弃了(或至少部分被抛弃),实际的软件在充分考虑了质量和可维护性之后才被开发。
建议:当你的客户有一个合理的续签,但对细节没有任务线索时,先开发一个原型。
原型模型则主要是为了解决需求获取的难题而创建原型用于需求的获取和确认,再将需求转化为软件系统,其主要内容集中在软件开发本身,因此原型模型也关注于工程活动。RAD模型
快速应用开发(Rapid Application Development、RAD)是一个增量型的软件开发过程模型,强调极短的开发周期。是线性顺序模型的一个“高速”变种,通过使用基于构件的建造发放赢得了快速开发。如果需求理解的好而且约束了项目的范围,利用这种模型可以很快的创建出功能完善的“信息系统”。其流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试及反复。RAD过程强调的是复用,复用已有的或开发可复用的构件。实际上RAD采用第四代技术。基于构件的软件工程(不理解)适用范围:
如果需求理解得很并且约束了项目范围。主要适用于信息系统应用,包括以下阶段:业务建模、数据建模、过程建模、应用生成、测试及反复。
业务建模工作流程与其他工作流程的关系如下:
业务模型是需求工作流程的一种重要输入,用来了解对系统的需求。
业务实体是分析设计工作流程的一种输入,用来确定设计模型中的实体类。
缺点:
1、只能用于信息系统。
2、对于较大的项目需要足够的人力资源去建造足够的RAD组。
3、开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。
4、这种模型对模块化要求比较高,如果有哪一功能不能被模块化,那么建造RAD所需要的构件就会有问题。
5、技术风险很高的情况下不适合这种模型。
优点:
1、开发速度快,质量有保证。
2、对信息系统特别有效。演化软件过程模型
演化模型是迭代的。它的特征是:使软件工程师渐进地开发逐步完善的软件版本。
5.1 增量模型
增量模型融合了线性顺序模型的基本成分(重复的应用)和原型实现的迭代特征。增量模型采用随着日程时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第一个增量往往是核心的产品,也就是说第一个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能。这个过程在每一个增量发布后不断从复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。
缺点:
1、至始至终开发者和客户纠缠在一起,直到完全版本出来。
优点:
1、人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。
2、当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。
3、具有一定的市场。
增量模型将瀑布模型的顺序化和多次迭代相结合,每个增量开发都是一次瀑布模型的过程,强调每一个增量均发布一个可运行版本,以满足客户和市场的需要。增量模型主要考虑当需要快速推出可运行的版本,而该版本不需要完整的功能时,在工程活动上的解决方案,因此增量模型也关注于工程活动。
5.2 螺旋模型
这是一个演化软件过程模型,它将原型实现的迭代特征和线性顺序模型中控制的和系统化的方面结合起来。使得软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。在每一个迭代中,被开发系统的更加完善的版本逐步产生。螺旋模型被划分为若干框架活动,也称为任务区域。典型地,有3到6个任务区域:
1、客户交流:建立开发者和客户之间有效通信所需要的任务。
2、计划:定义资源、进度、及其它相关项目信息所需要的任务。
3、风险分析:评估技术的及管理的风险所需要的任务。
4、工程:建立应用的一个或多个表示说需要的任务。
5、构造及发布:构造、测试、安装和提供用户支持所需要的任务。
6、客户评估:基于对在工程阶段产生的或在安装阶段实现的软件表示的评估,获得客户反馈所需要的任务。
这是一个相对较新的模型,它的功效还需要经历若干年的使用方能确定下来。
缺点:
1、需要相当的风险分析评估的专门技术,且成功依赖于这种技术。
2、很明显一个大的没有被发现的风险问题,将会导致问题的发生,可能导致演化的方法失去控制。
3、这种模型相对比较新,应用不广泛,其功效需要进一步的验证。
优点:
1、对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险。
螺旋模型的主要贡献在于明确提出迭代概念和风险的问题,并指出在项目定义、需求、设计等阶段均存在风险,需要重点考虑,并通过多次迭代的原型主动诱发风险。风险管理不属于工程活动的范围,但我们仍然认为螺旋模型的主要内容是工程方面的:因为对于非工程活动,螺旋模型仅考虑了风险问题,而风险管理仅是非工程活动的一个小部分,不足以依此推断螺旋模型主要关注于非工程活动。
5.3 WINWIN螺旋模型
螺旋模型提出了强调客户交流的一个框架活动。该活动的目标是从客户处诱导项目需求。在理想情况下,开发者简单地询问客户需要什么,而客户提供足够的细节进行下去。不幸的是这种情形很少发生。在现实中,客户和开发者进入一个谈判过程,客户被要求在成本和应市之间的约束下平衡功能、性能、和其它产品或系统特征。最好的谈判追求“双赢”结果,也就是说通过谈判客户获得大部份系统的功能,而开发者则获得现实的和可达到的预算和时限。对客户的交流定义了下面的活动:
1、系统或子系统的关键“风险承担者”的标识。
2、风险承担者的“赢条件”的确定。
3、风险承担者的赢条件谈判,以将它们协调为一组满足各方考虑的双赢条件。
缺点:
1、需要额外的谈判技巧。
优点:
1、客户和开发者达到一种平衡。
5.4 并发开发模型
这种模型关注于多个任务的并发执行,表示为一系列的主要技术活动、任务及它们的相关状态。并发过程模型是由客户要求、管理决策、评审结果驱动的。该模型不是将软件工程活动限定为一个顺序的事件序列,而是定义了一个活动网络。网络上的每一个活动均可于其它活动同时发生。这种模型可以提供一个项目的当前状态的准确视图。
缺点:暂时无
优点:
1、可用于所有类型的软件开发,而对于客户/服务器结构更加有效。
2、可以随时查阅到开发的状态。基于构件的开发模型
面向对象的技术为软件工程的基于构件的过程模型提供了技术框架。面向对象模型强调了类的创建、类的封装了的数据、操纵该数据的算法。一般来讲经过合适的设计和实现,面向对象的类可以在不同的应用及基于计算机的系统的体系结构中复用。基于构件的开发模型融合了螺旋模型的许多特征,它本质上是演化形的,要求软件创建的迭代方法。然而基于构件的开发模型是利用预先包装好的软件构件(有时成为类)来构造应用。
开发活动从候选类的标识开始,这一步是通过检查将被应用系统操纵的数据及用于实现该操纵的算法来完成的。相关的数据和算法被封装成一个类。
缺点:
1、过分依赖于构件,构件库的质量影响着产品质量。
优点:
1、构件可复用。提高了开发效率。
2、采用了面向对象的技术。形式化方法模型
形式化方法模型包含了一组活动,他们导致了计算机软件的数学规约。形式化方法使得软件工程师们能够通过应用一个严格的数学符号体系来规约、开发、和验证基于计算机的系统。这种方法的一个变种,称为净室软件工程,已经被一些组织所采用。在开发中使用形式化方法时,它们提供了一种机制,能够消除使用其它软件过程模型难以克服的很多问题。二义性、不完整性、不一致性能被更容易地发现和纠正,而不是通过专门的评审,是通过对应用的数学分析。形式化方法提供了可以产生无缺陷软件的承诺。
缺点:
1、开发费用昂贵(对开发人员需要多方面的培训),而且需要的时间较长。
2、不能将这种模型作为对客户通信的机制,因为客户对这些数学语言一无所知。
3、目前还不流行。
优点:
1、形式化规约可直接作为程序验证的基础,可以尽早的发现和纠正错误(包括那些其它情况下不能发现的错误)。
2、开发出来的软件具有很高的安全性和健壮性,特别适合安全部门或者软件错误会造成经济损失的开发者。
3、具有开发无缺陷软件的承诺。第四代技术
一系列的软件工具的使用,是第四代技术的特点。这些工具有一个共同的特点:能够使软件工程师们在较高级别上规约软件的某些特征,然后根据开发者的规约自动生成源代码。我们知道,软件在越高的级别上被规约,就越能被快速的建造出程序。软件工程的4GT模型集中于规约软件的能力:使用特殊的语言形式或一种采用客户可以理解的术语描述待解决问题的图形符号体系。和其它模型一样,4GT也是从需求收集这一步开始的,要将一个4GT实现变成最终产品,开发者还必须进行彻底的测试、开发有意义的文档,并且同样要完成其它模型中同样要求的所有集成活动。总而言之,4GT已经成为软件工程的一个重要方法。特别是和基于构件的开发模型结合起来时,4GT模型可能成为当前软件开发的主流模型!
缺点:
1、用工具生成的源代码可能是“低效”的。
2、生成的大型软件的可维护性目前还令人怀疑。
3、在某些情况下可能需要更多的时间。
优点:
1、缩短了软件开发时间,提高了建造软件的效率。
1软件项目生命周期模型介绍
1.1标准生命周期模型
1.1.1标准生命周期模型将项目分成5个阶段, 分别为构思阶段、计划阶段、开发阶段、稳定阶段和部署阶段, 每个阶段定义了主要的工作目标和活动, 每个阶段的结束以完成各自的里程碑为标记。
1.1.2模型图
通过使用分阶段和里程碑驱动的方式, 使整个项目过程的可预见性和可管理性增强, 项目质量可以得到有效的控制和提高。每个阶段的结束包括一个里程碑, 里程碑表示某个时间点, 在这个时间点上, 应该完成一组预先指定的交付成果。里程碑的设立, 可以帮助团队成员定期同步工作成果;产物经过正式评审, 还可以确保项目进展方向的正确性, 保证不偏离预定的业务目标。
在模型图中定义的里程碑为阶段里程碑 (也称为主里程碑) , 在每个阶段的进行中, 也可以在阶段内部定义其他中间里程碑 (也称为次里程碑) , 如完成系统架构设计的里程碑等。中间里程碑将一个阶段内的工作分成便于管理的几部分, 由项目组根据项目情况制定, 生命周期模型中对中间里程碑不做硬性要求。
此外, 标准生命周期模型还是一个迭代方法, 通过把一个大项目分为几个版本将风险减至最小。
在软件项目开发中, 一般可先开发、测试和部署那些核心的、基本的功能, 然后在后续的版本中添加其他功能。使用多版本的方法, 可以将复杂的大项目分解成几个较小的项目, 使它们更便于管理。由于缩短了交付时间, 使项目组能更快地从用户那里得到产品的反馈, 并在该产品的下一个版本中做及时地更正, 能更早地给客户带来更多的业务利润。由于项目组有不断的功能增加和持续的产品推出, 使项目组员的目标更加清晰明确, 可以鼓舞团队士气。
1.1.3各阶段的主要工作目标和里程碑产物等内容见下表:
1.1.4构思阶段
构思阶段的主要工作是组建项目团队, 建立项目前景, 确定项目范围, 开始风险评估。
当项目产生时, 应及时确定项目的涉众, 确定所需的团队技能, 组建项目团队, 并制定初始的项目计划。项目团队除了项目各角色成员外, 还应包括质量保证人员。
为使团队有一个共同的目标和前景, 应在本阶段确定业务问题和机会, 收集项目需求, 开发项目的前景, 并在给定的假设和限定条件下, 确定项目范围。
在本阶段, 还应完成初步的风险评估。
此外, 还应在本阶段建立配置和变更管理。
重要里程碑产物都必须经过相应的评审, 以保证产物的质量。
构思阶段的主里程碑为“前景/范围确定”, 要求前景和范围文档经过评审, 得到关键涉众的认可。
1.1.5计划阶段
计划阶段的主要工作是开发详细的软件需求、进行逻辑设计和物理设计, 制定主项目计划和其他附属计划, 并准备开发和测试环境等。
为制定出一个高效的计划以降低项目风险, 项目组必须仔细分析用户需求和业务需求, 定义系统的详细需求。在基本确定需求时, 项目组可以进行系统的逻辑设计和物理设计。
在计划阶段应将目标和初始计划转变为项目计划, 并使每个角色对项目计划负责, 注意项目计划不只是单纯的一个时间进度表, 它应该包括一个主项目计划和一系列附属计划, 如培训计划、测试计划、沟通计划等。
此外, 在计划阶段还应按照开发和测试计划中设置的标准配置来建立环境, 为开发和测试做好准备。
计划阶段的主里程碑为“项目计划确定”, 要求关键涉众对要交付的组件、主要项目里程碑日期及如何构建达到一致意见。
1.1.6开发阶段
开发阶段的主要工作是编写代码、创建文档和培训课程、进行测试等。
通过每日构建实现内部发布, 可以帮助团队把一个复杂的项目分解为多个易于管理的任务。
开发阶段的里程碑为“完成产品范围开发”, 表示所有功能和交付成果都已完成。
1.1.7稳定阶段
稳定阶段的主要工作是解决发现的问题, 使产品稳定运行, 提高项目质量, 并完成项目发布。
为达到产品稳定, 应进行有效的测试和试运行, 进行每日构建和测试。
在稳定阶段的后期, 项目组应开发发布候选版本, 准备相关发布文档, 并完成发布。
稳定阶段的里程碑为“发布就绪认可”, 表明项目代码和文档的产物通过评审, 可以正式发布。
1.1.8部署阶段
部署阶段的主要工作是将产品部署到用户环境中, 最终交付运营, 项目组进行总结收尾。
要将产品平稳地部署到用户环境中, 部署完成得到用户认可后, 要将项目交付给用户进行运营, 同时相关产物应交给技术支持部门进行后续维护工作。
在合同项目中还应得到客户的确认, 进行客户验收。
此时, 项目组可以进行项目回顾和总结, 将项目数据、经验和教训存放在过程财富库中。
部署阶段的里程碑为“完成部署”, 表明产品在客户环境中已能稳定运行, 项目得到客户认可, 项目团队的工作基本结束。
1.1.9在项目中运用标准生命周期模型时, 可以根据项目的不同情况进行裁剪。
1.2原型生命周期模型
1.2.1原型是指为需求调研和演示使用的软件产品, 原型生命周期模型是指为这些产品而定义的过程模型, 它对过程的要求比标准生命周期模型简单, 并且由于不是提交给用户的产品, 因此, 基本上都不包括稳定和部署的阶段。
1.2.2模型图
原型生命周期模型和标准生命周期模型类似, 都是采用分阶段和里程碑驱动的方式, 但它通常只包含三个阶段, 同时, 对每个阶段的流程控制要求也相对较少一些。但原型生命周期并不表示稳定和部署阶段肯定不存在, 在有必要的情况下, 也可以包含这两个阶段或其中之一。
同样, 原型生命周期模型也是可以迭代的, 如下图所示。
1.2.3各阶段的主要工作目标和里程碑产物等内容见下表:
1.2.4构思阶段
构思阶段的主要工作是组建项目团队, 建立项目前景, 确定项目范围。
当项目产生时, 应及时确定项目的涉众, 确定所需的团队技能, 组建项目团队, 并制定初始的项目计划。
为使团队有一个共同的目标和前景, 应在本阶段确定业务问题和机会, 收集项目需求, 开发项目的前景, 并在给定的假设和限定条件下, 确定项目范围。
此外, 还应在本阶段建立配置和变更管理。
构思阶段的主里程碑为“前景/范围确定”, 要求前景和范围文档经过评审, 得到关键涉众的认可。
1.2.5计划阶段
计划阶段的主要工作是开发详细的软件需求、制定主项目计划和其他附属计划, 并准备开发环境等。
为制定出一个高效的计划以降低项目风险, 项目组必须仔细分析用户需求和业务需求, 定义系统的详细需求。在有些原型项目中, 项目组还应该进行系统逻辑设计和物理设计。
在计划阶段应将目标和初始计划转变为项目计划, 并使每个角色对项目计划负责。
此外, 在计划阶段还应建立好开发环境。
计划阶段的主里程碑为“项目计划确定”, 要求关键涉众对要交付的组件、主要项目里程碑日期及如何构建达到一致意见。
1.2.6开发阶段
开发阶段的主要工作是编写代码、创建文档等。
原型项目也应采用每日构建的方式来实现内部构建和测试。
开发完成后, 产品就可以提供进行需求调研和演示使用, 有些特殊的原型产品可能还包括稳定阶段或部署阶段的相关工作。
开发阶段的里程碑为“完成产品范围开发”, 表示所有功能和交付成果都已完成。
1.2.7原型生命周期模型也是可以裁剪的。
2两种模型比较
3模型选择
4定义项目特征
在项目立项后, 程序经理要组织项目组组员、质量保证人员等人员根据项目的具体情况, 定义项目特征, 并填写在项目生命周期模型确认表中。
5选择合适的生命周期模型
根据项目特征和生命周期模型特点的比较, 选择相应的生命周期模型、裁减项目过程并确定项目的产物。程序经理将选择的结果和原因记录在项目生命周期模型确认表中。
6确认结果
程序经理将项目生命周期模型确认表提交给EPG进行审核。EPG审核通过后, 项目按照相应生命周期模型进行开发;如果审核不通过, 则程序经理应组织重新进行选择。
注:EPG全称为Engineering Process Group, 即工程过程组, 是软件行业负责对质量管理体系进行改进和重大改进活动的组织;
7结果归档
EPG审核通过后将项目生命周期模型确认表归档到过程财富库中。
结语
项目生命周期确定了将项目的开始和结束连接起来的阶段, 目前还没有确定项目生命周期的最好办法。本文引用行业的通用做法和约定俗成的项目生命周期, 阐述软件行业项目生命周期的两种模型和选择要点, 有助于项目经理有效选择和对项目进行管控。
摘要:本文介绍了软件项目生命周期模型及选用原则, 以指导项目组根据项目具体情况进行活动和任务安排, 规范项目过程, 保证项目质量和开发效率。
关键词:软件项目,生命周期模型,选择
参考文献
[1] (美) 斯蒂夫.麦克康奈尔著.席相霖等译.快速软件开发[M].电子工业出版社.
关键词:网络课程;软件工程;需求分析;构件技术;复用
引言
自从教育信息化计划启动以来,网络课件逐渐登上了现代教育的舞台,但是,当前的网络课件大多不够完整,师生交互机制不到位,更新困难。其原因是缺乏统一规范,对网络课件的需求分析工作不重视。此外,在开发方式上一般是教师请计算机专业人士单独做个网络课件,这不仅浪费金钱,也浪费了时间。针对这些问题,我们以软件工程的工程化思想来设计网络课件。网络课件包括两个部分:第一是按一定的教学目标、教学策略组织起来的教学内容,第二是网络教学支撑环境(也可以称作网络课程开发平台)。本文着重从这两方面来考虑。
1网络课件的开发方法与过程
网络课件的开发实质上是一项软件工程。因此,开发网络课件,要以系统、工程化的观点,全面考虑各种因素,排除不利条件,正视经济实际情况,运用当前最适当的技术,忽略无关紧要的因素,从而高效地交付出所需的合格软件产品。在网络课件开发中,我们参照软件生存期的几种模型,运用构件技术来设计和完善具体细节,并用瀑布模型来指导系统开发过程。
软件工程是一门介绍如何用工程化方法有效地在约定开发周期内经济地开发高质量计算机软件产品的学科,对网络课件开发有着十分重要的指导意义。参考软件开发过程,网络课件开发可分解为三个阶段:“定义阶段”、“开发阶段”和“检验、交付运行与维护阶段”。各阶段网络课件的开发工作如下:
1.1定义阶段
定义阶段包括网络课件的可行性研究和需求分析。可行性分析第一步工作是进行问题定义,也就是弄清用户需要计算机解决的根本问题所在,以及项目所需的资源和经费。在2000年1月高教司下发了《关于实施新世纪网络课程建设工程的通知》之后,掀起了制作网络课件的热潮,随着经济发展和网络技术的成熟,软件工程学的推广,人们逐步意识到,每个单位在制作自己的课件时,人力、物力和财力都消耗非常大,而且已制作成的网络课件又往往是一次性,难以更新的不可再生资源,不符合可持续发展战略宗旨。如何才能解决这些问题?如何充分利用网络的开放性、共享性、交互性、和可扩充性来设计出具有通用性、可扩充性和可再生性的网络课件?这除了需要相应的开发方法学指导、技术支持,还要对一定领域内的网络课件进行规范化,制定相对统一的格式和规定标准。在此基础上进行可行性论证,制定出项目开发计划,有效指导网络课件的开发。
网络课件的需求分析。网络课件系统由一系列支持多种教学模式的教学工具构成,主要包括学习和授课系统(非实时/实时)、教学资源编辑制作系统和管理系统。其结构关系如图1所示。
其中,学习和授课系统包括:课程介绍、教师授课(以视频形式)、辅导答疑、作业评阅、考试与评价、学术交流与讨论、虚拟实验等业务系统及其搜索引擎等支持系统。如图2所示。
在制作这些子系统时,应按照教育部标准或是一定领域内权威论证的、比较规范的文件来具体实施。这里以“软件工程”这门课程来讨论网络课件的分析与设计。 教学资源编辑制作系统指的是制作网络课件的开发平台,可以采用自行开发或与企业或公司联合开发的软件开发平台旧,如图3所示。国外已经出现了一些网络课件平台软件,如:WebCT,Web-Course-in-a-Box,LeamingSpace等等产品。国内现在也出现了一些构件,比如,北京未尔的课件梦工厂和北京弘成CPT2.2能简便地合成各种资源。
在需求分析阶段还要明确日常管理业务,它包括:资源库管理、教学管理和系统管理。资源库管理包含媒体库管理,即多媒体和数据的编辑,也可以包含试题库、课件、案例之类的管理。教学管理包括教师管理、学生管理、学籍管理、教务管理、学习管理、考试管理等。系统管理包括安全管理、性能管理、计费管理、故障管理等。
1.2开发阶段
我校购买的北京未尔的课件梦工厂(简称梦工厂)和北京弘成CPT2.2(简称CPT)网络课程开发平台充分利用构件复用技术,教师可以使用这种软件灵活地编辑资源。因为操作简便,如果网络课程有很大的变动,可以在短时间内再次编辑、制作网络课件。
教师在制作网络课件过程中,应注意以下几点:
(1)资料的准备。在视频录像PPT讲稿制作中,应明确格式要求。借鉴以前在课件制作过程中合理的经验,来规定字体、颜色、字号,安排章节的布局,如何显示重点,如何区别理论和实际应用,等等。在考试系统中,应按照课程特点,合理设计和安排考题,尽量保持每张试卷题型的统一性,并提供答案。在录像制作中,应合理分配讲课时间,让每个教师能讲好每一次课。在交流工具中,通过链接,充分利用网络上已经较成熟的程序,如:BBS、E—mail、留言簿、聊天室、电子板和在线会议等等。
(2)栏目和章节的编辑和资料的上传。在CPT中,先熟悉平台界面操作,可阅读其说明书。按要求制作出具体栏目,如:课件首页、学习指南、教学大纲、考试大纲、模拟试题、参考文献、课程资源、互动交流、虚拟实验,辅导答疑等等。接着制作具体章节,合理安排层次结构。在第一步中已具体准备好的相关资料,将它们按栏目上传;章节上的视频先不上传,进行打包,存入本地硬盘。
(3)视频的编辑。在录像过程中,头或尾难免会出现不好的效果,通过梦工厂可以剪辑片头与片尾不理想的视频内容。
(4)两套平台的合成。其制作过程在下面案例分析中将会涉及。
1.3检验、交付与维护阶段
软件检验工作十分重要,在软件开发完成后,测试工作必不可少,甚至应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。在网络课件的检验中,要细心检查是否按要求准备好所有必需材料及具体细节。应该让整合完成的网络课件在相关计算机平台上运行,看其是否正常工作。
交付阶段可以通过开辟读者信箱之类的交互手段,获取关于改进网络课件的意见。在试用期过后,进行日常运行与维护。一个真正合格的网络课件,并不是一次开发终身受用的,随着新知识不断出现,在日常维护过程中需要经常更新,保持网络课件的先进性。
2网络课件设计
下面介绍网络课件的具体制作过程。安装好CPT软件后,登录到指定的服务器,出现如图4所示的界面,只要按照使用说明手册,就能在“课程结构窗口”下编辑网络课件的结构。 首先,在课件结构窗口中,有课程名称“软件工程”,点击右
键,选择课件模板,上传课件首页图片。接着,在课程名称下按右键,显示子菜单,分别点击新建章和新建栏目建立相应的章节和栏目。例如,新建章名“第一章软件工程和软件危机”;新建栏目名“课程综述”。还需要在“章”下新建节和具体子栏目。
例如,在“第一章软件工程和软件危机”下按右健,建立具体的节次目录,如:“第一节软件工程发展史”,然后,重复类似的操作,直到建立好所有子目录。在节下资源列表中,点击“资源上传”,跳出窗口,按提示上传相关具体内容。通过点击某一资源,在课程预览窗口中预览相应资源信息。重复这样做,直到添加完所有资源,最后进行打包。
接着要制作视频。首先录制老师的讲课过程,随后用课件梦工厂进行编辑。课件梦工厂处理录像的界面如图5所示。
打开已经录制好的视频,设置开始时间点和结束时间点,切除不必要的视频,当所有视频都已编辑完成,最后对CPT和课件梦工厂两套软件的半成品进行整合。具体步骤如下:
(1)在梦工厂中制作好同步内容,发布的课件内容储存在该文件夹下的Release目录(以下简称release目录)下。
(2)将有模板的index.html和图片(需自己修改课程名称)拷贝到release目录下。
(3)在CPT中将建设完毕的课程结构及课程栏目发布,发布内容将以一个压缩包形式存储在本地硬盘中。
(4)将CPT发布的压缩包解压到硬盘中,解压目录为整门课程的主目录(简称主目录)。主目录应有default.htm文件,该文件即为课件首页。
(5)用记事本打开主目录下data子目录中的framework.xml,将对应章节(act标签)中的./content/kcjj/ch_??/se_??/time-line.html改为~./content/kcjj/ch_??/se_??/index.html。其中,“ch_??/se_??”代表对应章节,例如第一章第一节,即为ch_01/se_01。
(6)将release目录下所有内容拷贝到主目录下对应章节中,具体路径为content/kcjj/ch-??,se-_??的子目录。
(7)打开课件首页预览整合效果。
这样,我们完成了网络课件制作。
3结束语
构建网络课件是一项软件工程,因此需认真对待工程开发中的每一个阶段,重视需求分析工作,规范开发过程中的每一项文档,实现软件配置管理,严格按照一定标准设计网络课件的具体内容。同时,运用构件技术,利用现有较为成熟的开发平台,开发的课件易以更新、扩充和再生,也使网络课程可以批量生产,这符合现代网络教育需要,也是未来发展的趋势。
诺基亚在华最大的生产基地之一北京首信诺基亚移动通信有限公司,那绿草如茵的草坪、整洁静谧的办公区、洁净舒适的员工餐厅和繁忙有序的生产区无不令人感觉到一种对环境的“以人为本”的追求。据首信诺基亚环境专家陈敏女士介绍,作为一家在国际市场领先的移动电话供应商,其目标是开发先进的“以人为本”的技术、产品和服务而不对环境造成过度影响,使产品节能并且在产品废弃后可以得到循环利用和安全处置。
诺基亚环境保护工作的一个重要的出发点和落脚点便是基于对整个产品生命周期的考虑,在产品整个生命周期减少对环境的负面影响。具体而言,一个产品从诞生到消亡经历了研发、原材料采购、生产制造、最终产品、产品使用和最终废弃等多个过程。以首信诺基亚为例,这些过程中,首信诺基亚在所有的环节都要考虑环境保护,以减小产品对环境的负面影响。一句耐人寻味的话语诠释出诺基亚对环保的不懈追求,“不环保的产品不是质量好的产品”。在产品的研发阶段,从产品是否符合环保的法律法规要求、有毒有害物质的替代、原材料的使用量及使用效率到制造和使用过程中的能源消耗等因素均得到充分考虑;在原材料采购环节,则需要有效地对供应商的环境绩效进行管理,只有符合诺基亚环保要求的供应商才能成为合格的供应商;生产制造环节则必须符合环境管理体系的要求并得到权威机构的认证;在产品最终废弃阶段,则要充分考虑如何回收、循环利用及妥善处置,使资源可以重新返回物质链中。上述环节协调融合,从而真正形成一个闭环系统,完成了一个产品的整个生命周期。
实际上,诺基亚的环境理念颇具启发。陈敏女士告诉记者,良好的环境准则的商业意义在于有助于公司最大限度地降低环境风险,确保遵守法律,降低成本,并在利益相关方面树立声望。诺基亚十分关注环境问题,关注自然环境是诺基亚企业生命的一部分,与所有利益相关方合作是诺基亚推动环保举措的核心。为了达到这一目的,诺基亚在国内所有生产企业均已通过ISO14001环境管理体系认证。以首信诺基亚为例,在通过ISO14001认证后,从管理层到基层员工,都严格执行相应的程序文件和作业指导书的规定,而且公司的管理层每年还要对公司的环境绩效重新进行评价,对需要改进的地方提出相应的整改方案,并且彻底实施,从而保证了公司在环境保护方面的表现可以不断提高。
概述:
案例:
Jim是A出版社的新上任的营销总监,这段时间他一直为新图书上市的事情烦恼不已。最近推出的几款书,都是在市场上只火了一下子,就很快被读者冷落。它们的生命都很短暂,为什么呢?
Jim提到了其实是关于产品的什么问题呢?
按Ctrl点击该处,返回首页
PLC简介:
产品生命周期一词是美国哈佛大学教授雷蒙德?弗农(Rayond Vernon)首次提出的,后来,英国的戈拍兹等人,用数学的方法或类比的方法,把研究产品生命周期与研究生物老化现象的规律结合起来。从定量研究上形成了描述产品市场销售规律与竞争力的产品生命周期理论模型,并在市场营销策略选择中得到广泛应用。
四个阶段的案例结合:
四个阶段说明:产品生命周期是产品的市场寿命,即一种新产品从开始进入市场到被市场淘汰的整个过程,产品在市场上要经历引入期、成长期、成熟期和衰退期。
按Ctrl点击该处,返回首页
1、引入期:是指产品从设计投产直到投入市场进入测试阶段。在该阶段中,产品生产批量小,
制造成本高,广告费用大,产品销售价格偏高,销售量极为有限,企业通常不能获利,反而可能亏损。
2、成长期:是指产品通过试销效果良好,购买者逐渐接受该产品,产品在市场上站住脚并且打
开了销路。这是需求增长阶段,需求量和销售额迅速上升。生产成本大幅度下降,利润迅速增长。与此同时,竞争者看到有利可图,将纷纷进入市场参与竞争,使同类产品供给量增加,价格随之下降,企业利润增长速度逐步减慢,最后达到生命周期利润的最高点。
3、成熟期:是指产品走入大批量生产并稳定地进入市场销售,随着购买产品的人数增多,市场
需求趋于饱和。此时,产品普及并日趋标准化,成本低而产量大。销售增长速度缓慢直至转而下降,由于竞争的加剧,导致同类产品生产企之间不得不在产品质量、花色、规格、包装服务等方面加大投入,在一定程度上增加了成本。
4、
衰退期:是指产品进入了淘汰阶段。随着科技的发展以及消费习惯的改变等原因,产品的销
售量和利润持续下降,产品在市场上已经老化,不能适应市场需求,市场上已经有其它性能更好、价格更低的新产品,以满足消费者的需求。此时成本较高的企业就会由于无利可图而陆续停止生产,该类产品的生命周期也就陆续结束,以至最后完全撤出市场。
按Ctrl点击该处,返回首页
案例结合:
刚才Jim谈到了他的图书产品的问题,我们下面就结合图书产品来讲解一下生命周期模型。图书产品的生命周期,是指图书的市场寿命或经济寿命,即图书产品从进入市场到最后被市场淘汰的全过程所经历的时间。
一、教材版本
教科版《科学》三年级下册第二单元第6课
二、教学目标
(一)知道动物生命周期的特点;能够对常见动物的发育类型进行辨别;知道常见动物的繁殖方式。
(二)培养学生识图、分析问题和归纳总结的能力。
(三)引导学生爱护环境,保护动物。
三、科学概念
(一)动物都有生命周期,都要经历出生-生长发育-繁殖-死亡四个阶段。
(二)不同动物在生长过程中的形态、变化、繁殖方式各不相同,寿命的长短也不相同。
(三)有些动物幼年期和成年期的样子很不相同,从一种形态变成了另一种形态,这种变化叫做变态。
(四)有些动物是通过卵孵化的方式出生的,这样的出生方式叫卵生,因此这样的动物叫卵生动物。
(五)有些动物是通过妈妈直接生出的,这样的方式叫胎生,因此这样的动物叫胎生动物。
四、教学重点
让学生了解蚕、蝴蝶、蜻蜓、青蛙、鸡、山羊等动物生命周期的特点。
五、教学难点
让学生认识到不同的生命有着不同的发育类型以及不同的繁殖方式。
六、教学准备
PowerPoint课件、动物相关图片
七、教学过程
一、复习蚕的生命周期
1、幻灯片图片导入。
2、提问:其他动物的一生也要经历这样一个过程吗?
3、导出课题并板书
二、其他动物的生命周期
1、出示幻灯片文字:羊、蝴蝶、蜻蜓、鱼等
2、每个小组选择两个动物,利用图片制成循环图。
3、小组汇报,教师出示幻灯片订正答案。
三、生命周期的相同点
1、提问:动物们的生命周期有什么相同点?
2、学生自由回答
3、板书:出生 — 生长发育 — 繁殖 — 死亡
四、变态和不变态,胎生和卵生 提问:动物的生命周期有什么不同点?
(一)变态和不变态(1)出示幻灯片图片(2)学生自由回答
(3)教师提示:(结合书34页)变态的概念(4)讲解变态和不变态(5)练习
(二)卵生和胎生(1)出示幻灯片图片(2)学生自由回答
(3)教师讲解概念:胎生和卵生
四、综合练习:比比谁聪明
五、总结:
1、学生自由发言:本课我学到了什么?
2、教师总结:我们要热爱环境,保护动物。
六、布置作业
七、板书设计
其他动物的生命周期
出生——生长发育——繁殖——死亡
关键词:机载软件,DO-178B,生命周期环境,工具鉴定
民用飞机机载软件在安全性上的严格要求, 使得其除了在功能、性能上的要求之外, 要求其必须在流程和目标上符合DO-178B[1]的规定[2]。DO-178B作为机载软件开发的适航标准, 约束着机载软件开发的开发、验证、配置管理和质量保证等方面。相对于其它行业商用软件的开发过程, 机载软件对于软件生命周期材料的置信度水平有着严格的要求。简言之, 只有达到了DO-178B中的附件中10张表的目标, 才能够判定机载软件产品达到了适航要求, 才有在SOI审查中获取适航当局认可的可能性。
在机载软件项目筹划过程中, 除了要对机载软件开发项目的范围、目标和资源进行统计和估算外, 同样作为机载软件开发的重要基础的是软件生命周期环境的规划和选择。软件生命周期环境是生产高质量软件的重要因素。软件生命周期环境选择不当会对软件质量产生不利影响, 造成项目的风险甚至是项目失败的结局。
软件生命周期环境的核心是开发工具、编译工具和验证工具。工具选择的基本原则是“选择需求开发和限制引入错误机会的设计方法、工具和程序设计语言以及保证能检测到引入错误”的验证方法。除此之外, 工具及其集合可能带来的流程重入, 适航上的要求等也是关键的影响因素。这些考虑可能影响到:生命周期环境的完整性、工具的有效性和效率、工具鉴定工作量、流程与工具的配合等等。本文拟对机载软件生命周期环境的选择考虑因素作出概述, 供机载软件开发时构建软件生命周期环境参考。
一、生命周期环境选择的考虑
1.1开发环境选择的考虑
软件产品依赖于软件开发环境的能力和质量。生命周期环境中的工具是否有其它型号上的适航经历, 是否有软件供应商的可鉴定支持包关系到将来适航是否具有可行性。在供应商的可鉴定支持下, 是否对于该工具有合格使用指南, 且使用方所提交证据的多寡, 也是在工具之间进行选择的考量因素。软件之间是否具备较好的协同和衔接特性, 是否容易与其它工具软件进行搭配和形成完整的生命周期环境。由于工具本身的内因性特点, 有时也会引起软件产品本身的诸多的错误或者隐性缺陷。例如, 某些建模软件在自动生成代码时, 会引入大量的模式代码, 这样就对后期的覆盖率分析带来麻烦, 而有的工具则刻意用C代码实现了面向对象的一些概念, 在软件验证阶段将会带来巨大的麻烦。对于某些带有配置选项的工具, 还要定义一定的使用规则和检查手段, 这也是工具选择时需要注意的。
1.2语言和编译程序考虑
源代码进入编译器进行编译、链接、生成目标码, 目标码翻译为二进制机器码。优化是一个编译的必经环节。未经优化的目标码将是不可能执行的。不同优化等级, 又会在性能和功能之间进行平衡。源代码在编译器中进行优化, 会对目标码的结构、执行顺序等等进行调整, 可能会引起目标码和源代码之间追踪性的丧失。编译器还会在目标码层次上进行必要的代码补充, 例如在中断服务程序执行期间, 会自动关闭中断使能, 在中断服务结束后, 又会自动开启中断使能。那么这些必要的代码可能都无法追溯到源代码。所以在选择编译软件的同时还要考虑如下的方面:
■编译器的优化特性;
■A级软件要求对编译器产生不能追踪到源代码的目标码要进行验证;
■编译选项的更改将引起软覆盖率分析的重入;
编译器的优化性能将使得软件产品在运行效率和空间占用方面产生良好均衡。对于A级软件, 不能追踪到源代码的目标码的验证工作量多寡是考虑因素。任何编译选项的改变都可能对目标码产生影响, 进而引起覆盖率分析结果的变化。
1.3软件测试环境
软件测试阶段除了要完成对代码的静态检查和动态测试, 还有可能对A级软件的目标码进行覆盖率分析。软件测试阶段的工具除了在目标机上直接进行测试, 还有可能对设计阶段的模型进行仿真。依赖于不同模型软件工具的不同, 对仿真工具有不同的要求。由于仿真器和目标机之间的不一致所到影响到的测试结果, 需要在目标机上进行重做。所以仿真器的能力及其与真件的差异需在建立测试环境时予以考虑。
在覆盖率分析阶段, 由于测试用例的补充和覆盖率数据的递增, 应用测试管理工具能够维护有效测试用例的选择效率。
1.4软件工程管理工具
对于软件配置管理中的同行评审和变更管理等要求, 由于变更的范围和影响的差别, 变更的裁定、执行和验证亦需要一定的工具支持, 才能将配置管理计划中定义的流程充分制度化。对于异地协同的团队来说, 支持远程异地协同的配置管理方式也是非常必要的。
对于软件工程管理来说, 为保证软件需求开发、概要设计、详细设计、集成综合、验证确认工作的充分有序进行, 也同时需要相关的工具支持项目的推进。
二、主要工具支撑
软件开发工具的发展促成了软件开发的高速度和高质量。工具的发展从单项工具的开发逐步向集成工具的开发发展。软件开发方法的有效应用也必须得到相应工具的支持, 否则方法将难以有效地实施。工具的完善和发展将促进软件开发方法的进步和完善[3]。根据机载软件项目的典型性, 一般应具备如下的工具支持:
■需求开发工具:需求的开发、追踪、基线维护和评审状态维护;
■架构建模工具:概要设计、架构设计与行为定义;
■设计建模工具:详细设计、低级需求开发;
■代码生成工具:模型代码生成、手工代码融合支持;
■追溯性管理工具:需求、设计、测试追溯性支持;
■静态代码检查工具:源代码编码标准符合性检查;
■动态代码测试工具:功能测试、覆盖率测试;
■编译工具:目标机可执行文件生成;
■可加载格式文件生成工具:机载软件加载格式生成;
■测试管理工具:测试用例、测试脚本、测试结果和测试平台集成;
■配置管理工具:版本管理、基线管理、变更管理;
■项目管理工具:项目计划、估算、风险控制、成本合算、质量保证;
■仿真验证工具:半实物仿真、仿真激励。
软件工程环境是全面支持软件开发过程的软件工具集合。对于上述的工具, 有些无需购买专门软件, 在成本和效率的权衡下可配备开源工具。在拥有上述的工具支持下, 最好能够通过脚本或者某一个工具为中心进行工具链的整合, 为开发人员配备一揽子的开发解决方案。
三、工具鉴定的考虑
按照DO-178B的要求, 凡是某项活动因为工具的原因得以取消、减少或者自动进行, 并且输出无需另外验证时, 那么就需要进行工具鉴定。工具鉴定的目标是确保工具提供必须的适航置信度, 这种置信度能够等效于所取消、减少或者自动进行的这些活动所带来的置信度。换言之, 软件开发和验证工具的研制流程和机载软件是类似的。按照工具鉴定的要求确定的工具类型:软件开发工具和软件验证工具, 其中软件开发工具可能会引入错误, 这是因为开发工具的产物会进入产品中。而软件验证工具的产物不会进入产品, 但是却会对错误进行误判或者漏判。在工具鉴定过程中, 若是不能确定工具的类型, 则需按照开发工具进行鉴定。显然, 软件开发工具的鉴定更加严格和复杂。同时, DO-178B也规定, 进行工具鉴定的工具研发过程亦需遵循软件配置管理过程和软件质量保证过程, 亦需进行工具鉴定。开发工具的鉴定准则包括:DO-178B定义的开发过程目标要在工具的开发过程中进行满足;工具的软件等级原则上等同于所生产软件的等级;申请人要在工具验证阶段验证其输出及工具相关的问题;由于工具软件的系统需求是工具操作需求, 那么工具鉴定自然就取消了诸如对于目标机符合性、可验证性、追踪性的需求。
验证工具的鉴定准则是仅需验证通过正常条件下工具符合工具操作要求的证明来实现即可。
另外, 工具开发过程中, 开发工具要按照CC1类进行配置管理, 而验证工具按照CC2类进行配置管理。
四、结论
机载软件生命周期环境的选择牵涉到开发计划和开发执行, 影响到软件适航审定, 必须对软件工具的工作要求和适航需求进行综合考虑, 才能够支撑机载软件全生命周期任务的顺利完成。
参考文献
[1]DO-178B.Software Considerations in Airborne Systems and Equipment Certification[S].RTCA/EUROCAE, 1992.
[2]岳庆敏.软件适航认证与DO-178B, 航空制造技术[J].北京旋极信息技术股份有限公司, 2011.
企业生命周期的提出,是爱迪思质疑学院派管理理论的产物。这本书以爱迪思20多年的管理咨询工作为基础,号称是第一部把企业现实生命作为研究对象,分析企业诞生、成长、老化的原因并提出相应对策的著作。爱迪思曾宣称:“本书不是对管理文献的概述整理,也不是就有限的观点阐述见解。本书的目的在于检验全新的概念,分析实际的经验,阐述爱迪思疗法应用之后对客户带来的不同效果。”
在爱迪思看来,学院派往往信奉某些教条,认为“只要遵循某些东西,问题就会消失”。而现实中人们能感受到的是,越是“生龙活虎”,问题就越多。管理应该从现实出发,看到问题的积极意义。从管理哲学的角度讲,就是要认知问题和矛盾的合理性,知道绝没有一劳永逸的管理。企业的成长,意味着它具备了处理更大更复杂问题的能力;而企业的老化,则意味着处理问题的能力在下降。企业是活的,就像生物体那样,也有它的生命周期,管理者需要把握它的成长机制。简单地排除问题或者防止问题出现的想法和做法,相当于使生命停顿在某个阶段不再发展。比如,青少年的青春期会表现出大量问题,试图不让这些问题出现,那就有可能会阻碍青少年的正常发育。同理,儿童有儿童的问题,老头有老头的问题。领导的作用就是恰当把握企业所处的生命阶段,集中精力于这一阶段肯定会出现的问题上,因势利导,使问题成为成长的动力,为下一阶段的又一次变化做好准备。正常的问题一般是暂时的,可以由组织内部的管理人员自行解决,不会阻碍企业的成长;病态的问题则是没有及时治疗的后遗症,是正常问题演变而来的,会危及到组织发展与生存,需要“医生”的外部干预才能度过难关。
在企业的生命周期中,正常与不正常的问题都会不期而至,只有认识了企业所处的生命阶段,才会知道它需要什么,可以对它做些什么。从大量经验事实中,爱迪思把企业生命周期划分为11个阶段,它们分别是孕育期、婴儿期、学步期、青春期、盛年前期、盛年后期、稳定期、贵族期、官僚化前期、官僚期、死亡期。盛年期之前是成长阶段,盛年期之后是老化阶段。
孕育期(courtship stage):这是先于企业出现的一个阶段,即梦想阶段。在这个阶段,激动的创业者可能为了某个好主意而夜不能寐,向能抓住的每个人贩卖自己的好主意,如果把企业喻为婚姻,这一阶段就是坠入爱河的激动。这一阶段的最大特点就是创业者高谈阔论,却没什么具体行动。没有这种梦想,就不会有后来的企业。这个阶段的本质,是创业者确立自己的责任,而且相应责任一旦确立,此后将一直伴随着创业者经历企业的全部生命周期。这种责任的形成标志,不是公司在形式上的成立,而是创业者的主意通过了利益相关人的检验。他的主张成功贩卖出去,就意味着创业者和加盟人都树立起了承担风险的责任心,凭借这种责任心才能让企业按照自己的意思运转。风险越高,责任越大。同时,这种责任能够得到经理人、雇员、客户、供应商等等利益相关者的支持。成功的企业不仅要有好的点子、市场和资金的支持,更需要那种把自己的全部热情和精力都能投入事业的人。创业者的责任心和凝聚力,决定着资源能否积聚和充分利用。
如果创业者的动机仅是为了赚钱,这种急功近利的狭隘肯定不能支撑他建立真正的企业,即便取得了所谓的成功,也不过是养了一头快速催肥然后宰杀的猪。真正的企业,在创业阶段必须要带一点超凡脱俗的动机,如满足市场需求,创造附加价值,增添生活意义等。那种一心想着投资回报的人,就像紧盯着比赛记分牌的体育选手一样,无法领略比赛的精彩,真正的运动员只会盯着球,寻求那种激动人心的刺激。创业者是预言家,他们是以产品为导向而不是以市场为导向的,因为他们醉心的是某种未知的或者无法确切表达的需求,而不是对现有市场的跟进。产品导向还会造成狂热的责任心,这对于创业是必需的。不管他们受过多少营销训练,他们肯定会钟爱自己的产品。如果他们把目光过早地投向市场,反而会冲淡自己的梦想。所以,孕育期的创业者不关心市场是正常的,不应该受到责难。然而,这种正常的问题,如果在企业建立后还继续支配着创业者,就会变成阻碍发展的问题。它有可能会使产品或服务定位不准确而造成习惯性赔本,也有可能会阻碍由产品导向到利润导向的转变。而利润导向是企业诞生后能否存活的关键。
创业的责任承诺在后来的兑现过程中,还会产生出一些不正常的和病态的问题。创业者在激动状态下,会被迫或者自愿地作出一些不现实的承诺,以至于出了问题后相当后悔。常见的问题如慷慨地给加盟者分配股份,在梦想阶段这种股份是悬在空中的,后来公司有了真正价值使这种股份权益变为现实时,创业者将会倍受折磨。
婴儿期(infant stage):婴儿期不再有浪漫和梦想,而是实实在在的生存问题。企业在这一阶段能否健康成长,取决于营养摄入和父母照顾,即营运资金和创业者承诺的兑现。因为公司的运转都需要钱来付账,增加销售量就成为头等大事。婴儿期的正常问题是完善产品与扩大销售的矛盾,这将会使企业筋疲力尽。羽翼未丰的企业处处都需要资金,空想清谈不再有用,需要的是行动和销售。这时候必须稳定产品,核定价格,支持销售,但这个时候的企业管理是不到位的,创业者忙得只能解决最紧急的事,他是最熟悉产品的人,却没有时间去推销产品。
这时候的企业,没有明确的制度,缺乏必要的程序,预算相当有限,不足以建立庞大的团队,整个管理构架可能只是创业者兜里一张皱皱巴巴的纸,甚至连纸也不需要有。所以,创业者只能高度集权,他承诺过度,日程过满,加班加点,从领导到员工都在忙,没有等级,没有聘用,没有考核。家庭式的小本经营企业都很脆弱,一不留神,小问题就变成了危机,所以,全部人员都全神贯注,决策权高度集中,领导者事必躬亲,只有那种每天工作十几个小时以上而且没有星期天的人才能胜任。
导致婴儿期企业夭折的第一个因素就是现金流断裂。婴儿期的企业总是投资不足,为了避免耗尽企业的流动资金,必须要有现实的商业计划,现金流要以星期为单位来进行监控。一旦出现把短期贷款用于长线投资、不恰当的价格打折、将股份转让给不能同舟共济的风险投资家等等失误,都会严重到足以毁灭公司。导致企业夭折的第二个因素是创业者失去控制权或者丧失责任心。缺乏规章制度,为了获取现金而采取权宜之计的坏习惯,尤其是为了保证资金链而引进了只求快速收回投资的“狼外婆”式控股者,会让创业者渐渐丧失企业的控制权;当追求事业的热情变成了不堪重负的压力之后,特别是在外来投资者不当干预下企业背离了创业者的初衷时,创业者可能会放弃自己的责任。
应当指出,在婴儿期企业中,独断专行的领导风格几乎是不可避免的,这样才能适时处理危机。但这种独断专行如果不适当地长期延续,就会在下一个阶段学步期病态地阻碍企业发展。
学步期(go-go stage):当公司运转起来,产品和服务得到市场认可的时候,企业就进入了学步期。这一阶段,好点的企业,现金流也不错了,销售也提高了,就会出现“初生牛犊不怕虎”的自大,最常见的问题就是摊子铺得过大。领导人会觉得任何机会都要优先考虑,任何好处都舍不得丢弃,卷入太多相干和不相干的生意,大家的精力都不集中。学步期企业就像刚刚学会到处乱爬的儿童,什么都感兴趣,似乎到处都有机会,于是往往会多元化遍地开花,公司就像是个微型的企业集团,一个小部门甚至一两个人,就想要撑起一个“事业部”架势。企业领导独断专行,虽然造就了婴儿期的成功,却隐含着学步期的管理危机。老板们沉醉于眼前的成功,相信自己的天赋,脑子里都是些不成熟的疯狂想法。大展宏图的雄心,使他们迷恋“更多即更好”的信条,而那些促销的折扣与奖励,可以使销售直线上升却没有利润,甚至销得越多赔得越多。
凡是学步期的企业都应该知道,尽管快速增长表面上是不费力的,然而让销售额直线上涨是危险的,把资金流寄托于未知的扩大市场份额更危险。这时候的企业应该夯实基础,稳扎稳打,关注预算、组织结构、分工、职责、激励机制等基本制度建设,学会自律,学会放弃。但是,经营现实中这种企业最长见到的情况是一连串的决策失误,碰了钉子才会有些许清醒。所以,学步期实际上是频繁的试错阶段。
学步期的企业围绕人来组织,而不是围绕事来组织,因人设事,企业的行为被动而不主动,因为它缺乏规划,它不断对机会做出反应,而不是先计划周密、组织完善、定位准确后再行动。在经历了试错的学习过程后,要是还没有聚焦行政管理制度建设,那么就要落入“创业者陷阱”或者“家族陷阱”,即无法实现由创业向规范经营的转变。因为没有合理的规章制度和方针政策,授权将会变成分权。爱迪思所说的授权是指下放不影响全局的执行权,而分权则是有制度保证的下放决策权。学步期的企业缺乏规范的制度体系,所以,分权产生的离心力将使领导人丧失对企业的控制。他的授权,本意是要求部下做出只有创业者才能作出的那种决定,而任何下属也无法一开始就做到这一点,因为部下只有通过试错才能准确掌握上司的意图。部下不合领导人的意图,促使领导人再度收权。收权后又因为忙得不可开交而不得不再度授权。这种钟摆式的权力集散会严重影响企业运营,最后可能会产生出背地的抱怨—“老头子不死,什么也干不成”。
最糟糕的情况是,创业者事业有成,有了松一口气的念头,想授权于部下,但又不愿失去控制,于是采用某种遥控式管理手段。放开让下面去干,自己去旅游一圈,或者去钓鱼看书,过几天回来看看。但他人离开后,却对公司依然牵肠挂肚,又会不断电话询问某项业务进展。当他得知有某事不合己意或者离开时间过长不太放心时,就会突然回来,而多半又会看到乱糟糟的景象,于是很可能一夜之间又重新回到独断专行。等事情“理顺”了,他可能又走了。这次,部下决策会费尽心思揣摩“老头子在的话会怎样做”,但这种揣摩和模仿会使创业者当初独具个人风格的新意丧失殆尽,企业得不到改善。结果会导致下属都害怕老板回来,就像划船的水手讨厌海鸥不时地来甲板上“扔炸弹”一样,员工们都患上了“海鸥综合症”,期望着老板不再回来。反过来,企业的命运系于老板一身,意味着一旦创业者死亡,企业也就死亡了。创业者就像整合的粘合剂,然而在学步期的扩张中会明显不够用,因此需要非人格化的制度化建设。有的领导人,在学步期经过一场严重的危机打击会使自己清醒过来,更明智的领导人会引进外部力量来完善制度建构,向职业化的管理方式转变,最基本的方式是实现管理权和所有权分离,以保住创业者打下的江山。
青春期(adolescence stage):如果用人的发育做比喻,爱迪思所说的学步期,更接近于人类的青春期,而他所说的青春期,则更接近于人类的社会化。青春期的企业,最重要的事情是摆脱创业者的影响而进入经理人治理阶段。所以,爱迪思把这一阶段称为再生阶段,即脱离父母监护的独立阶段。
从管理角度看,企业的青春期,要完成创业者向职业经理人的交棒过程,所以,这是一个痛苦的过程。即便是创业者本人转变为职业经理人,其中的冲突、摩擦也在所难免。这种管理上的转型,最明显的特征就是企业行为缺乏连续性,人员中间产生隔阂,新人和旧人合不来。
规章制度的建立和授权是青春期企业的必经之路,原来的创业者就像国王,现在必须走向君主立宪制。但国王很少有心甘情愿遵守宪法的,所以往往会引发“革命”。从这一点看,管理中的“问题”与所处周期阶段的关系就昭然若揭了。婴儿期绝对不能授权,大权独揽不存在任何问题,而到青春期则必须授权,就像父母对长大的孩子必须放手一样。只要授权后不会因为手下出错就重新集权,就不会引发病态问题。如果父母看到孩子有不如意的地方就强化监护,那么这个孩子永远长不大。但是,一旦引入职业经理人,肯定就会发生管理风格的变革和企业文化的转化。对于领导人来说,婴儿期需要的是冒险,学步期需要的是远见,而青春期需要的是规范经营。而且多数情况下职业经理人是外来户,管理风格与当初的创业者完全不一样。即便这个职业经理人在受聘之前很受老板的青睐,但他真正执掌大权后也会同创业者发生剧烈的冲突。职业化、减少直觉决策、驾驭机会而不是被机会驱使、创建新的制度、形成新的责任体系、改变薪酬规定等等,都会成为冲突之源。创业者加上当初的元老们,与新经理矛盾频发,新经理要管住老家伙的强硬态度,又会使冲突不可调和。这一阶段的难点,是创业者潜意识中希望新经理“同我一样”,但又要能做“我已经做不了的事”,爱迪思把这种现象比喻为“寻找那种能够使潜水艇上天的飞行员”。创业者希望跑马拉松,而企业生命周期更替注定是接力赛。于是,青春期企业常见的问题是经理人“走马灯”。
青春期的麻烦,实质上是经营目标的转变。概括起来,这一时期必须由“更多即更好”转变为“更好即更多”,由盲目扩大市场份额转向明确追求利润。这种转变中职业经理人要站住脚跟,前提是经营目标的转变能够得到董事会的认可。在频频发作的矛盾之中,最大的可能是经理人与董事会结成同盟,挤走富有开拓精神却在不断破坏制度的创业者,病态的结果是企业未老先衰,有了“数字化管理”却失去了前瞻眼光,有了组织纪律性却失去了朝气活力,最终会丧失盛年期的收获而直接进入贵族期。完成青春期转变的要害,是创业者与经理人之间的理解、信任与合作。所以,那些由所有者身份充当经理人的企业,如果这些所有者能够直接转变为职业经理人,成长的烦恼就会减少许多。也许,杜邦公司的家族经理人训练,就是在类似冲突中演化出来的一个可行样板。
盛年期(prime stage):企业经营中,一直存在着灵活性与控制力的矛盾。婴幼儿的灵活性非常高,但行为的自控力却相当差;成年以后控制力不断增大,但灵活性在不断消退。所谓盛年期,就是灵活性和控制力达到平衡状态的阶段,这是企业蒸蒸日上的时期。
企业经过了青春期的痛苦,实现了领导机制的转变,建立了有效的管理制度体系,梦想和价值观得以实现,合适的权力结构平衡了创造力和控制力的关系。企业明白它要什么不要什么,关注点可以兼顾顾客和雇员,销售和利润能够同时增长,它能预测到即将取得的成效,这时的企业已经成为能够共享某些功能的利润中心组合体,规模经济和显著效益可以让公司多产起来,能够分化和衍生出新的婴儿期企业,也能够扩展到新的事业领域,有了相互尊重和信任的企业文化,可以促进企业的内部整合和团结。
盛年期和青春期的区别,在于青春期知道此前是怎样取得成功的,而盛年期明白今后应当怎样取得成功。有一个具体标志可以看出二者的不同:青春期的蓬勃发展,使预算和现实往往有很大差距,而盛年期的预算和后来的现实吻合程度要高得多。
当然,盛年期的企业也有问题,这种问题主要是培训不足。婴儿期、学步期、青春期出现过的问题,有可能在盛年期还会出现,但是,在问题重要性的排序上,以前出现过的问题位置统统会后移,而鼎盛状态下要想持续发展,管理人员的培训不足、训练有素的员工不够,则会上升到首要位置。企业运行中的问题可以分为常态问题和病态问题,常态问题是影响当前发展的问题,或者说是当前发展中肯定会孕育出的问题,而病态问题则是上一阶段没有解决了的问题遗留。盛年期已经进入公司发展有预见可控制并具有资金基础的阶段,所以关键的难题是如何以高素质人员来保持兴盛状态。
需要指出,盛年期并不处于企业发展的最高点。过了盛年期,发展曲线还会继续上升。这时的发展源泉,来自于以前积累起来的活力。企业如果不滋养这种活力,就会逐渐丧失进取精神。爱迪思在后来的补充和修正中,把盛年期又分为两个阶段—盛年前期和盛年后期。前期和后期的区别在于,前期经营者还在力求兴旺发达,后期经营者则满足于维持已经形成的大好局面。在盛年后期,企业自满了,远见和梦想不复存在,灵活性和创造力都在下降,概括为一句话就是彻底成熟了。就像事业有成的中年人,表面上处处光鲜正常,而内在的各种健康指标都已经有了小毛病。
稳定期(stable stage):稳定期是企业的转折点,虽然一切还是欣欣向荣,但是大家都越来越循规蹈矩安于现状,保守处事。花在一线客户上的时间少了,在办公室的时间多了起来。会议中没有年轻时的直截了当和犀利锐气,而是更多的小心翼翼和习惯防卫。决策的隐含准则是保护自己的利益而不是保护公司利益。这时的高管层虽然也能倾听建议,但却不会探索新的领域。权力中心的关注点慢慢地向财务和法律事务部门转移。琐细的事实、大量的数据和精密的公式在决策中满天飞。
稳定期的表象,是企业遇到了增长瓶颈,实际上是发展曲线到了顶点。表面上看,企业的组织良好,运行有序,按部就班,中规中矩,不再有那种为了事业的固执己见和剧烈争吵。对于胸无大志的领导人来说,可能还会因为冲突明显减少了而沾沾自喜,企业由于已经赢得了市场的稳定地位而富有安全感。公司里有时也会出现新的构想,但却没有了当年的那种兴奋和刺激。领导人为了保持企业的良好声望,会压缩长远的研发预算而加大短期赢利能力的投入,甚至为了保持现有赢利水平而削减市场调研费用。一个最典型的表现,就是对财务部门的重视超过了对营销部门和研发部门的重视,对改善人际关系的兴趣超过了对冒险创新的兴趣,对昔日辉煌的津津乐道超过了对发展愿景和新战略定位的探索,在用人上更乐意用唯唯诺诺者而不愿再见到桀骜不驯者。表面上,这一阶段没有大毛病,高管层更多地会误以为这就是盛年期,但衰败的种子正在悄悄发芽。
贵族期(aristocracy stage):贵族期的表面是雍容华贵,骨子里则是那种半老徐娘在风华已逝之后的浓妆艳抹。这个阶段的企业,不再有真正的长期目标和事业追求,只是为了维持面子而热衷于短期获利和低风险目标。钱主要用于控制和笼络人心的福利,对表面形式的重视远远超出了实质内容。这种企业也想有所发展,但由于已经没有创业精神,所以通常采取并购方式来满足发展欲望,试图通过并购买到新的产品、市场和技术。贵族期的企业本身比较成熟,所以它也会成为别人并购的对象。
贵族期企业的本质就是两个字—平庸。企业内部好像波澜不起的一潭死水。大家关心的不是你做了什么,而是你如何做。衣着、会议室、工作空间、相互称呼等形式要件,是区分贵族期同其他阶段的明显标志。婴儿期是没人关心穿戴的;学步期开始有了正装,但并不统一;盛年期出现了职业化套装,但一般颜色较浅;贵族期则是深色套装,犹如参加庄严的典礼。会议室也类似,婴儿期没有正式会议场所,走廊和电梯中都是议事地点;学步期的办公室就是会议室,甚至一边吃盒饭一边讨论问题;青春期的争论往往在会议室之外,会外的碰头和协商比正式会议更重要;盛年期会议室将正规化,宽敞明亮,桌椅简单舒适;贵族期的会议室经过了精心装饰,墙上挂着创业者的画像,奢侈豪华的深色大会议桌配有典雅的沙发式椅子,地毯、暗色厚窗帘和柔和的灯光衬托出肃穆的气氛。办公地点也一样,婴儿期和青春期都非常散乱,那儿有业务就在那儿租房子办公;盛年期有了办公大楼,但比较实用,没有过分的浪费和炫耀;贵族期的办公楼则极其奢华,空旷的回廊,带有个人盥洗间的总经理办公室,摆放着昂贵的高档家具和装饰品。在相互称呼上,婴儿期和青春期直呼其名,盛年期名姓并称以示尊重,贵族期只能战战兢兢地只称姓氏而且还要带上头衔。在沟通上,婴儿期和青春期是直言不讳,盛年期是有板有眼,贵族期则是官话连篇。到贵族化的后期,在公司运营上就不得不采用杀鸡取卵的方法来维持局面,比如以涨价来增加收入,以兼并来取得市场。
官僚化早期(early bureaucracy stage):当公司挣不到钱,也不能兼并有价值的企业之时,就进入了官僚化早期。人们都为了维护自己的利益而争斗,强调是别人造成了灾难,似乎只要找出“罪魁祸首”就能恢复正常,总要有人为错误承担责任,于是内讧和中伤不断,大家都在争夺企业内部的地盘,客户的需要无人理睬,那些平时就看着不顺眼的员工(正是这些人往往保存着一些创造力)就变成了牺牲品,凡是有创造力的人,在官僚化内讧中往往不是那些擅长权位者的对手,他们会被送上祭坛。而试图推行变革、彻底扭转官僚化趋势的人,其努力不过是“把煮熟的面条向山上滚”,不但无济于事,而且还往往会搭上自己的职业前程,最后不得不走人。
贵族化和官僚化的区别,在于有无“管理偏执”(managerial paranoia)。贵族化阶段能够维持表面的友好,人人都像绅士;官僚化阶段则会出现“人祭”仪式,解雇那些被指斥为造成公司困境的责任者。所谓“偏执”,是指推上祭坛者不过是替罪羊而已。如果情况还不好转,这种偏执经过一段时间就会重演,而人们不清楚下一个替罪羊轮到谁,所以又会加剧内部争斗和互相诋毁。
官僚期(bureaucracy stage):官僚化的结局是企业濒临破产,此时靠企业自身的商业努力已经无力回天,其出路只有两条,或者是接受政府补贴,或者是被收归国有。这两条出路前景都不美妙。可以说,此时的企业已经病入膏肓,由政府插手等于把它送入重症监护病房。这种强力救护,有可能使企业表面上得以再生,但实质上不过是回光返照。因为在这样的企业中,具有创新精神的企业家是站不住脚的,他们可能来了又走了,最后剩下的是行政型管理者。官僚越积越多,他们擅长的是制定制度,建立程式迷宫。
官僚期的企业,到处充斥着制度、表格、程序、规章,就是看不到真正的经营活动。典型的官僚组织,企业已经不在乎客户,与外界隔绝,盛行文件崇拜,不管什么事情都需要打书面报告,客户提交了书面请求而最终找不到谁能对产品中出现的问题负责。部门负责人只能照章行事,但制度为何这样规定却说不清楚。不管是内部员工还是外部的利益相关者,得到的答复都是“公司就是这样规定的”。这样的企业本质上已经死亡,但是,有些官僚期企业却能够维持昏睡式生存,这种生存主要依赖两种方式:一是靠垄断避开市场竞争,二是靠工会压力不让倒闭。
死亡:爱迪思对企业死亡的定义为“已经没有资源鼓励人们为自己工作”。一般来说,进入官僚期的企业,已经患上了不治之症,发出死亡通知书是迟早的事,不过,如果政治因素还能让它苟延残喘,那么它的死亡期会延长下去。等到政治力量不再对这个企业承担义务时,死神就会降临。那些事实死亡而靠政府的监护输液维持生命的企业,是以政府发行钞票以及潜在或显现的通货膨胀为代价的。
爱迪思对企业生命周期的概括,为研究管理打开了一个新的视窗,如图1所示。必须注意的是,企业所处的生命阶段,不以时间长短来确定,也不以规模大小为前提。就时间来说,有不少百年老店依然“年轻”,也有不少刚刚建立的企业已经“老态龙钟”;就规模来说,有些世界排名领先的巨型企业依然生机盎然,而有些小型企业已经送进了重症监护室。判断企业年龄的尺度,是灵活性和控制力的消长情况,如图2所示。
还要指出的是,生命周期很有可能会互相交错重合,企业可能因为纠缠不清的问题而向前一个阶段倒退,也可能在健康发展过程中出现后一个阶段的特征,不同阶段的关键问题往往在其他阶段也存在,不过在其他阶段要么不成为问题,要么不占据首要位置而已。例如,婴幼儿哭闹就不是问题,而成年人哭闹就不正常。另外,就像一个人的整体年龄和他的各个器官的年龄不一致那样,企业的各个部门也许并不一定处在同一个生命阶段,一个企业的销售部门可能一直在青春期徘徊,而财务部门则可能早已进入贵族期,组织整体所处的生命阶段只是大多数部门归纳出的整体表现。理论概括永远是一种简化模式,现实情况要复杂得多,如果脱离了企业运行的现实,简单地用生命周期来套,就有可能犯刻舟求剑、削足适履的错误,违背了爱迪思的本意。
以稳定期为界,企业在成长阶段和老化阶段,所形成的经营氛围和文化环境是不一样的。弄清这种企业文化的差别意义重大。一匹赛马,可能由于训练不当或者调教失误而导致它成绩不好,这时需要的是更换驯马师。但是再好的驯马师,也不可能把一头骡子训练成一匹赛马。经常可以看到企业不景气时更换领导人,但效果不一定好。大体上,在成长阶段,是雄心勃勃的企业家和精明能干的经理人在管理着企业,而在老化阶段,是企业的体制在塑造和调教着日趋官僚化的管理人员。企业文化在成长阶段和老化阶段的表现差别如下表所示(摘自《企业生命周期》第97~98页,中国社会科学出版社1997年版)。
【软件测试生命周期模型】推荐阅读:
软件测试报告范文06-21
软件测试年中总结06-23
软件测试保密协议06-29
软件测试微信07-05
软件测试技术阶段作业07-19
软件测试英文自我介绍09-07
华为软件测试工作流程06-08
合肥软件测试培训学校06-09
软件测试工程师真题06-14
软件测试课程学习心得06-27