软件工程。

贡献者:女孩般的幸福 类别:简体中文 时间:2017-03-25 08:54:39 收藏数:1 评分:0
返回上页 举报此文章
请选择举报理由:




收藏到我的文章 改错字
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、
技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前
能够得到的最好的技术方法结合起来,这就是软件工程。软件工程强调使用生
存周期方法学和各种结构分析及结构设计技术。它们是在七十年代为了对付应
用软件日益增长的复杂程度、漫长的开发周期以及用户对软件产品经常不满意
的状况而发展起来的。人类解决复杂问题时普遍采用的一个策略就是“各个击
破”,也就是对问题进行分解然后再分别解决各个子问题的策略。软件工程采
用的生存周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,
把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,
然后逐步完成每个阶段的任务。采用软件工程方法论开发软件的时候,从对任
务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完
成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使
前一阶段提出的解法更进一步具体化,加进了更多的物理细节。每一个阶段的
开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标
准就是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技
术审查和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,通
过之后这个阶段才算结束;如果检查通不过,则必须进行必要的返工,并且返
工后还要再经过审查。审查的一条主要标准就是每个阶段都应该交出“最新式
的”(即和所开发的软件完全一致的)高质量的文档资料,从而保证在软件开
发工程结束时有一个完整准确的软件配置交付使用。文档是通信的工具,它们
清楚准确地说明了到这个时候为止,关于该项工程已经知道了什么,同时确立
了下一步工作的基础。此外,文档也起备忘录的作用,如果文档不完整,那么
一定是某些工作忘记做了,在进入生存周期的下一阶段之前,必须补足这些遗
漏的细节。在完成生存周期每个阶段的任务时,应该采用适合该阶段任务特点
的系统化的技术方法,结构分析或结构设计技术。把软件生存周期划分成若干
个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,
从而降低了整个软件开发工程的困难程度;在软件生存周期的每个阶段都采用
科学的关机技术和良好的技术方法,而且在每个阶段结束之前都从技术和管理
两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发
工程的全过程以一种有条不紊的方式进行,保证了软件的质量,特别是提高了
软件的可维护性。总之,采用软件工程方法论可以大大提高软件开发的成功率
,软件开发的生产率也能明显提高。目前划分软件生存周期阶段的方法有许多
种,软件规模、种类、开发方式、开发环境以及开发时使用的方法论都影响软
件生存周期阶段的划分。在划分软件生存周期的阶段时应该遵循的一条基本原
则就是使各阶段的任务彼此间尽可能相对独立,同一阶段各项任务的性质尽可
能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利
于软件开发工程的组织管理。一般说来,软件生存周期由软件定义、软件开发
和软件维护三个时期组成,每个时期又进一步划分成若干个阶段。下面的论述
主要针对应用软件,对系统软件也基本使用。软件定义时期的任务是确定软件
开发工程必须完成的总目标;确定工程的可行性,导出实现工程目标应该采用
的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制
定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成
。软件定义时期通常进一步划分成三个阶段,即问题定义、可行性研究和需求
分析。开发时期具体设计和实现在前一个时期定义的软件,它通常由下述四个
阶段组成:总体设计,详细设计,编码和单元测试,综合测试。维护时期的主
要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现
错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有
新要求时应该及时改进软件满足用户的新需要。通常对维护时期不再进一步划
分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程
。下面扼要介绍软件生存周期每个阶段的基本任务和结束标准。问题定义问题
定义阶段必须回答的关键问题:“要解决的问题是什么?”如果不知道问题是
什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最终得
出的结果很可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的,
但是在实践中它却可能是最容易被忽视的一个步骤。通过问题定义阶段的工作
,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。通过对系
统的实际用户和使用部门负责人的访问调查,分析员扼要地写出他对问题的理
解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不
清的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。问题定
义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。2
可行性研究。这个阶段要回答的关键问题:“对于上一个阶段所确定的问题有
行得通的解决办法吗?”为了回答这个问题,系统分析员需要进行一次大大压
缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析
和设计的过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题
,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法
。在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究
阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上
更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本
和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一
。可行性研究的结果是使用部门负责人做出是否继续进行这项工程的决定的重
要依据,一般说来,
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
文章热度:
文章难度:
文章质量:
说明:系统根据文章的热度、难度、质量自动认证,已认证的文章将参与打字排名!

本文打字排名TOP20