自从有了计算机,就有了软件开发。软件是由程序、数据和文档组成。一般认为软件的发展经历了三个大的时期:以个体生产为特征,主要凭个人经验、技巧的程序设计时期;以作坊生产为特征,几个人分工合作的程序系统时期;以工程化和产业化为特征的软件工程时期,同时强调生产技术和管理方法。www.mypm.net 项目管理者联盟 一个软件生命周期包括六个阶段:项目管理者联盟 1. 计划阶段:定义系统,确定用户的要求或总目标,进行可行性研究,提出可行的方案,包括资源、成本、效益、进度等,并制定粗略的实施计划。bbs.mypm.net 2. 需求分析:确定软件功能、性能、可靠性、接口标准等要求,根据功能要求进行数据流程分析,提出初步的系统逻辑模型,并据此修改项目实施计划。项目管理者联盟 3. 软件设计:包括系统概要设计和详细设计。在概要设计中,要建立系统整体结构,进行模块划分,根据要求确定接口。在详细设计中,要建立算法、数据结构和流程图。项目管理者联盟 4. 编码:把流程图翻译成程序,并对程序进行调试。可见编码的实现方式与软件的处理流程是相对独立的,项目管理者联盟 5. 测试:通过单元测试,检验模块内部的结构和功能;通过集成测试,把模块联结成系统,重点找接口上的问题;确认测试:按照需求的内容逐项进行测试;系统测试,就是到实际的使用环境中进行测试。以上四种测试中,单元测试和集成测试是由开发者自己完成的,而确认测试和系统测试则是由用户参与完成的。这是软件质量保证的重要一环。training.mypm.net 6. 运行维护:一般包括三类工作,为了修改错误而做的改正性维护,为了适应环境变化而做的适应性维护,为了适应用户新的需求而做的完善性维护,这有时会成为二次开发,进入一个新的生命周期,再从计划阶段开始。可见,维护的工作是软件生命周期中重要的一环,通过良好的运行维护工作,可以延长软件的生命周期,乃至为软件带来新的生命,
软件生命周期是一个连续的、周而复始的过程,每一阶段都有特定的目的,各个阶段之间都存在着必然的因果关系,所以在软件开发过程当中,应该遵循软件工程的有关要求和规范,按部就班地进行软件开发,特别是在软件开发的初期,如果差之毫厘,那么以后开发出来的软件一定会谬以千里。为了保证在开发过程中可以根据一些新的情况对软件的需求、设计进行合理的调整,所以在软件工程管理中一般都包含了变更控制。当执行变更控制时,一定要回溯到前面的各个有关联的阶段,保证所做的变更与前期的各项工作保持整体一致性。值得一提的是,软件的质量管理,不能单纯地依赖于测试阶段的工作,而是要在整个软件生命周期中,从每一个环节上加强控制,这是保证软件质量的根本方法。项目管理者联盟 项目管理者联盟 考虑到一些新产品在最初的设想阶段,预先定义完全、清晰、精细、一致的需求,是有相当的难度,需要做一些实验,因此在软件工程的开发策略上还存在一种快速原型法。他的软件开发过程一般包括四个阶段:项目管理者联盟 项目管理者联盟 1. 提出基本需求,可以不完全。项目管理者联盟 2. 建造快速原型pmp.mypm.net 3. 对模型进行检验,补充、细化需求项目管理者联盟 4. 按照改进的需求对模型进行改进、扩充。项目管理者联盟 talent.mypm.net 通过第3、4步骤的反复循环,最终形成完整、准确的需求,模型也就成为了符合要求的目标系统。项目管理者联盟 快速原型法往往会被认为是一种快速启动的方法,对需要快速进入市场的产品开发是一个有利的途径。但是,必须清醒地认识到,采用快速原型法,由于最初没有定义清楚任务目标的范围,所以项目风险很大,有可能会陷入无止境的精益求精,这就需要更强有力的项目管理、控制能力,更需要用户和开发者对任务目标的共识,以及在项目进行过程中的相互理解和密切合作。如果不能具备这种能力,就不要冒险采取这种方法。
软件工程管理不是一项技术,而是管理,但在大多数的高等院校中都是伴随着理工类课程的,在管理类课程中并没有详细介绍有关的内容,这不能不说是一个误区。现在信息科技在各行各业中所占的比重越来越大,在其中唱主角的软件的开发工作,就会成为大家共同关心的内容,特别是作为管理者,更应该正确认识软件工程管理,使自己在整个软件工程的组织中正确定位,采取科学、严谨的态度,正确学习有关的理论知识用于指导实践,使软件开发工作真正为满足企业的目标而发挥作用。
项目管理者联盟
项目管理者联盟
本文为项目管理者联盟联盟会员原创文章,授权发布,非经同意不得转载!
|