软件工程综述(共6页).doc
《软件工程综述(共6页).doc》由会员分享,可在线阅读,更多相关《软件工程综述(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件工程综述作者:周咲宇单位:宁波工程学院邮政编码:E-mail:frank00963摘要:为方便对软件工程这个领域的系统性了解,本文将介绍软件工程定义及与其他工程差别、软件工程系统需求分析、软件工程方法和技术、模块化及软件工程的新发展。关键词:系统需求分析 方法和技术 模块化 1.引言近年来,由于计算机的应用范围不断扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机”。为解决“软件危机”提出了统一、规范的开发软件的新理论思想,即软件工程采用工程的原理和技术来开发和维护软件,更好地从管理和
2、技术两方面开发和维护软件。2.软件工程综述2.1软件工程定义及与其他工程差别软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴了传统工程的原则和方法,以求高效地开发高质量软件。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件的特性与其他工程领域特性之间存在着本质上的不同。差别之一处理常用的预先定制的构件来构建系统的能力。一些传统的工程领域已经长期受益于这种方法,即在构建复杂的设备时,采用各种现成配件。然而,软件工程在这点上是很落后的。过去,以前设计的软件构件
3、一般倾向于用于特定的领域。也就是说,这些构件本质上是为专门的应用而设计的,所以,将它们作为通用构件来使用是受限的。因此,复杂的软件系统历来都是从头做起。但现在这点已经取得了重要的进展,尽管还有很多工作要做。软件工程与其他工程间的另一差别在于缺少度量技术,称为度量学,来衡量软件的属性。对于机器设备,质量的重要量度是平均无故障时间,这是设备的耐损耗性的一个基本的衡量指标。相反,软件没有消耗,所以这种方法在软件工程中并不适用。软件指标不能以定量的方式测量,这也是软件工程和机械、电子工程不同,至今还未找到一个严格、坚实的立足点的原因。因而,现在的软件工程研究在两个层面上进行:实践派的工作指向开发直接应
4、用的技术;理论派则致力于探寻软件工程基础原理和理论,为将来构建更坚实的技术而努力。2.2软件工程系统需求分析需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方。分析的目的在于开发出高质量的需求,这样就能做出实用的项目估算并可以进行设计、构造和测试。确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的
5、活动即构成软件开发生命周期的需求分析阶段。需求分析是获得用户需求的有效途径。开发软件是为用户服务的。为了开发出真正满足用户需求的软件产品首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件。需求分析也是决定项目成功的关键因素,是系统分析和软件设计的桥梁。需求分析过程是确定顾客需求的过程。12.3软件工程方法和技术软件工程的方法对软件产业的发展起到了很大的推动作用。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。2.3.1技术的角度 主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程
6、的“途径” ,即研究怎样完成从高层概念模型到低层概念模型的映射。主要的软件过程模型有:瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。瀑布模型是最早出现的也是应用最广泛的过程模型,对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,所以可以用瀑布模型来实现。增量模型和迭代模型反映出软件开发采用原型开发这样一种趋势,并加以评估。在增量模型中,演化式原型开发是指将这些原型发展为一个最终的完整系统的过程。抛物式原型开发则是指在一些情况中原型可能会抛弃不用,以使得最后设计有全新的
7、实现的方法。快速原型开发通常属于抛物式原型开发这个范畴。快速原型开发是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。开放源码开发是演化式原型开发的一种变种方法。这是今天许多自由软件开发采用的一种方式。软件包的开放源码开发遵循以下过程:先是单个作者开发一个初始版本的软件(通常是完成该作者自己的需求),然后将其源代码和相关文档发放到因特网上,其他用户可以免费下载和使用这个软件。由于这些其他用户拥有该软件的源代码和相关文档,那么他们就能修改或增强这个软件的功能,以适合自己的需要,或者改正他们发现的错误。接下
8、来,他们就将这些改动报告给原作者,原作者就将这些改动整合到系统中,得到软件的扩展版本,并可用于进一步的修改。还有一种方法是敏捷方法的方法学集合,是由瀑布模型转化而来的最显著的方法。它们都建议在增量基础上的早期和快速实现,响应需求变更,降低严格需求规格说明和设计的重要性。概括说来,敏捷方法具有灵活性的特点。2.3.2管理的角度 软件项目管理具有一些与其他项目管理不同的特性。软件项目管理中遵循着一些原则,例如:软件项目中需要平衡需求、资源、工期、质量这四个要素之间的关系;大规模的项目要拆分成几个小项目,从而减小项目的管理风险,并且使目标具体明确;依靠一套规范的过程来实时控制项目进度,并确保项目经理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 综述
限制150内