ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 软件工程管理(转)

软件工程管理(转)

原创 Linux操作系统 作者:urinator 时间:2007-08-16 00:00:00 0 删除 编辑
软件工程管理
自从有了计算机,就有了软件开发。软件是由程序、数据和文档组成。一般认为软件的发展经历了三个大的时期:以个体生产为特征,主要凭个人经验、技巧的程序设计时期;以作坊生产为特征,几个人分工合作的程序系统时期;以工程化和产业化为特征的软件工程时期,同时强调生产技术和管理方法。

一个软件生命周期包括六个阶段:
1. 计划阶段:定义系统,确定用户的要求或总目标,进行可行性研究,提出可行的方案,包括资源、成本、效益、进度等,并制定粗略的实施计划。
2. 需求分析:确定软件功能、性能、可靠性、接口标准等要求,根据功能要求进行数据流程分析,提出初步的系统逻辑模型,并据此修改项目实施计划。
3. 软件设计:包括系统概要设计和详细设计。在概要设计中,要建立系统整体结构,进行模块划分,根据要求确定接口。在详细设计中,要建立算法、数据结构和流程图。
4. 编码:把流程图翻译成程序,并对程序进行调试。可见编码的实现方式与软件的处理流程是相对独立的,
5. 测试:通过单元测试,检验模块内部的结构和功能;通过集成测试,把模块联结成系统,重点找接口上的问题;确认测试:按照需求的内容逐项进行测试;系统测试,就是到实际的使用环境中进行测试。以上四种测试中,单元测试和集成测试是由开发者自己完成的,而确认测试和系统测试则是由用户参与完成的。这是软件质量保证的重要一环。
6. 运行维护:一般包括三类工作,为了修改错误而做的改正性维护,为了适应环境变化而做的适应性维护,为了适应用户新的需求而做的完善性维护,这有时会成为二次开发,进入一个新的生命周期,再从计划阶段开始。可见,维护的工作是软件生命周期中重要的一环,通过良好的运行维护工作,可以延长软件的生命周期,乃至为软件带来新的生命,

软件生命周期是一个连续的、周而复始的过程,每一阶段都有特定的目的,各个阶段之间都存在着必然的因果关系,所以在软件开发过程当中,应该遵循软件工程的有关要求和规范,按部就班地进行软件开发,特别是在软件开发的初期,如果差之毫厘,那么以后开发出来的软件一定会谬以千里。为了保证在开发过程中可以根据一些新的情况对软件的需求、设计进行合理的调整,所以在软件工程管理中一般都包含了变更控制。当执行变更控制时,一定要回溯到前面的各个有关联的阶段,保证所做的变更与前期的各项工作保持整体一致性。值得一提的是,软件的质量管理,不能单纯地依赖于测试阶段的工作,而是要在整个软件生命周期中,从每一个环节上加强控制,这是保证软件质量的根本方法。

考虑到一些新产品在最初的设想阶段,预先定义完全、清晰、精细、一致的需求,是有相当的难度,需要做一些实验,因此在软件工程的开发策略上还存在一种快速原型法。他的软件开发过程一般包括四个阶段:

1. 提出基本需求,可以不完全。
2. 建造快速原型
3. 对模型进行检验,补充、细化需求
4. 按照改进的需求对模型进行改进、扩充。

通过第3、4步骤的反复循环,最终形成完整、准确的需求,模型也就成为了符合要求的目标系统。
快速原型法往往会被认为是一种快速启动的方法,对需要快速进入市场的产品开发是一个有利的途径。但是,必须清醒地认识到,采用快速原型法,由于最初没有定义清楚任务目标的范围,所以项目风险很大,有可能会陷入无止境的精益求精,这就需要更强有力的项目管理、控制能力,更需要用户和开发者对任务目标的共识,以及在项目进行过程中的相互理解和密切合作。如果不能具备这种能力,就不要冒险采取这种方法。

软件工程管理不是一项技术,而是管理,但在大多数的高等院校中都是伴随着理工类课程的,在管理类课程中并没有详细介绍有关的内容,这不能不说是一个误区。现在信息科技在各行各业中所占的比重越来越大,在其中唱主角的软件的开发工作,就会成为大家共同关心的内容,特别是作为管理者,更应该正确认识软件工程管理,使自己在整个软件工程的组织中正确定位,采取科学、严谨的态度,正确学习有关的理论知识用于指导实践,使软件开发工作真正为满足企业的目标而发挥作用。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7942439/viewspace-21432/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-06

  • 博文量
    3868
  • 访问量
    1899398