欢迎来到天天文库
浏览记录
ID:24531720
大小:63.50 KB
页数:4页
时间:2018-11-15
《微软的开发过程简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.4微软的软件开发过程简介一、微软的特点和成就1.微软的成就微软公司是当今世界上最大的,也是最成功的PC软件生产厂家,有20500个雇员,250种产品,年收入达8.7billion美元(按1996年估计)。已开发了许多产品如EXCEL、OFFICE,PUBLISHER,WINDOWS95,WINDOWSNT,WORDWORKS,IE等等。这些庞大而复杂的软件系统包含了几百万行代码,如WINDOWS95的代码量已超过了11million行,需要200名以上的程序员进行编程和测试。这些庞大的产品已被人们普遍的接受。80年代中期,微软和其他PC软件公司已认识到必须改进开
2、发软件产品的方法以获得高质量的产品和有能力及时交付使用,并已致力于这方面的研究。2.微软的哲理微软与SEI的CMM,或ISO所推崇的结构化软件工程方法不同。微软的哲理是追求高度灵活。企图把一种松散(有时称hacker)组织成的小组风格提升正规的产品开发。3.微软的目标要达到有自由,又有严格性。使许多小的,平行的小组(每个小组约3~8人)或单个程序员能一起合作工作,成为一个单一相当大的组织,并能以相对快的速度开发大型产品。每个程序员及小组自由地、自动地进行设计及开发动作。这些小型平行小组自主地发展产品的功能特性。随着整个产品扩大的同时,随时会引入新技术、新概念。由于开
3、发者可以自由地进行创新,就如同他们单独工作一样。关键是要保持各个部分经常同步其变化,使产品部件可以共同工作。二、“同步稳定”方法1.“创意要通过特性的演进及固定资源来发挥”采用什么方法来开发软件要考虑许多因素:公司的目标、市场策略、资源约束、软件可靠性需求以及企业开发文化等等。在高技术公司中雇佣具有创新能力的人才是很重要的,但更重要的是指导其创新性。否则,开发人员会分散精力,经常凭灵感改变各种相关部件,或不考虑用户的真正要求,软件公司不会有极大的风险:无法控制公司的资源投资及无法同步众人的工作,进而永远不能把任何东西投入市场。为了确定产品和组织开发过程,微软产品组按
4、照一种策略:“创意要通过特性的演进及固定资源来发挥”。其原则是:§把大项目分成多个子项目,每个称为里程碑。安排全部项目时间的20%~50%作为缓冲期,但无单独的维护组。§利用“预想陈述”及“特性规格概述”来指导项目。而不采用在编码之前进行详细设计及不强调对产品进行全面规格说明。因为这些工作在事先是极难确定的。把这些工作交给开发组的成员去进行创新,去适应变化或尚未预见的竞争机会或危险。§对于应用问题,要求一定要反映用户的需求,要求开发人员观察用户的反映以及测试情况。根据用户的活动情况及获得的数据,决定选择基本特性及确定特性的优先次序。§每个项目有几个顺序子项目组成。子
5、项目的顺序按所包含的特性的优先次序而定。§坚持模块化。在设计产品体系结构时,使项目的人事组织结构与产品的结构相一致。§为每个个人固定一定的资源及确定的控制小任务的责任。§大多数产品设计是按体系结构来进行,管理人员让开发组成员用半天到三天的时间来详细的分析任务,自己负责定进度。管理人员负责分配资源(人数,时间)。必要时,开发组应删除一部分特性以赶上进度。§项目的进度中考虑了充分的缓冲时间来处理可能发生的变动、事先尚未考虑到的困难及延期问题。2.“同步稳定”方法的目标致力于高度竞争,研制快速变化的企业环境所追求的、要求创新精神的、高度复杂的产品。这种产品不可能仅仅由两、
6、三人,而是要求更大的队伍来完成。而且,小组成员开发的部件往往在开发周期的早期是难于精确定义的。用户的要求是难于理解的,软件技术之变动又是如此之快,企图事先设计出完整的软件系统是不明智的。此时,项目组必须找出构造系统的方法,并能调节每个成员的工作。一方面,给予开发人员足够的灵活性来创造及发燕尾服产品的具体细节。另一方面,开发方法必须存在一个机制,可让开发人员和客户一起测试产品,并在开发时就可以改进设计。3.“同步稳定”方法的原则频繁地同步,周期性地稳定。这个简单原则要求不断同步个人或小组成员正在开展的工作,周期性地稳定不断扩大中的产品。在产品的进展中(而不是在项目结束
7、之时)搞称为“里程碑”,“日建立”,“夜建立”或“零缺陷”之类的过程。这一原则比较类似于原型方法和增式开发方法。不是用顺序、瀑布式的开发方法,而是注重并行地进行设计、构造、测试等活动,经多次循环,以增式迭代方式来控制产品的开发。三、开发阶段的划分一般可划分为三阶段:计划阶段,开发阶段及稳定阶段。见表3-2。在计划阶段,一般由市场专家担当的产品管理员负责提出产品的“预想陈述”(visionstatement),以确定新产品的目标。并对支持产品性质所必需的用户参与活动安排活动次序。产品管理员还与负责编写产品的功能规格的程序管理员一起讨论研究。程序管理员与开发人员讨论
此文档下载收益归作者所有