软件工程概述2_第1页
软件工程概述2_第2页
软件工程概述2_第3页
软件工程概述2_第4页
软件工程概述2_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程模型与方法

Models&MethodsofSoftwareEngineering第一章软件工程概述本章内容1.1计算机软件1.2软件的发展和软件危机1.3软件工程1.4通信软件工程1.5软件工程知识体系1.1计算机软件本节内容1.1.1软件的定义1.1.2软件的特点1.1.3软件的分类1.1.1软件的定义软件是程序的完善和发展,是经过严格的正确性检验和实际试用,并具有相对稳定的文本和完整的文档资料的程序。Wirth中指出:在结构化程序设计:程序=算法+数据结构在软件工程中:软件=程序+文档。IEEE定义:软件是计算机程序、规程以及运行计算机系统所需要的文档和数据。1.1.1软件的定义另一种对软件的公认解释是:软件是包括程序、数据及其相关文档的完整集合。程序是按照事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。1.1.2软件的特点(1)软件是一种逻辑实体,具有抽象性。(2)软件的开发过程中没有明显的制造过程。(3)软件在运行和使用期间,没有硬件那样的机械磨损和老化问题,但存在软件退化问题。(4)软件的开发和运行常常受到计算机系统的约束和限制,不同程度地依赖计算机硬件。(5)软件的开发至今未完全摆脱手工艺的开发方式,大部分软件还是定制的,很难通过组装方式完成软件开发。1.1.2软件的特点(6)软件是复杂的。实际需求的复杂性程序逻辑的复杂性(7)软件研制成本相当高,在计算机系统中软件成本比例逐步增加。(8)软件投入运行时还涉及到许多社会因素。1.1.3软件的分类根据软件服务对象的范围不同:通用软件:操作系统、数据库等;定制软件:企业ERP、卫星控制系统等;根据软件完成功能所处的层次不同:系统软件中间件软件应用软件1.1.3软件的分类系统软件:指能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。操作系统设备驱动程序通信处理程序1.1.3软件的分类中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,将注意力集中在自己的业务上,不必再为程序的移植而重复工作,从而大大减少了技术上的负担。中间件软件:为了解决分布异构系统的集成问题而开发的软件,是处于操作系统软件与用户的应用软件的中间的通用服务,具有标准的接口和协议。1.1.3软件的的分类中间件的种种类包括::消息中间件件数据访问中中间件应用服务器器对象中间件件交易中间件件安全中间件件1.1.3软件的的分类中间件的十十大优越性性:(1)缩缩短应用的的开发周期期(2)节约约应用的开开发成本(3)减少少系统初期期的建设成成本(4)降低低应用开发发的失败率率(5)保护护已有的投投资(6)简化化应用集成成(7)减少少维护费用用(8)提高高应用的开开发质量(9)保证证技术进步步的连续性性(10)增增强应用的的生命力1.1.3软件的的分类应用软件::在特定领领域内开发发,为特定定目的服务务的一类软软件。商业数据处处理软件工程与科学学计算软件件计算机辅助助设计/制制造软件系统仿真软软件智能产品嵌嵌入软件医疗、制药药软件事务管理、、办公自动动化软件计算机辅助助教学软件件计算机网络络软件1.1.3软件的的分类按照软件的的规模:类别参加人员数开发周期产品规模(LOC)微型11~4周0.5k小型11~6月1k~2k中型2~51~2年5k~50k大型5~202~3年50k~100k甚大型100~10004~5年1M(=1000k)极大型2000~50005~10年1M~10M1.1.3软件的的分类按软件工作作方式不同同:实时处理软软件分时软件交互式软件件批处理软件件按照支撑应应用开发的的工具类型型可以将其其划分为::支持软件开开发过程的的工具支持软件维维护过程的的工具支持软件管管理过程和和支持过程程的工具1.2软软件的发展展和软件危危机本节内容1.2.1软件发发展阶段1.2.2软件危危机1.2.3软件危危机的解决决途径1.2.1软件发发展阶段程序设计阶阶段:20世纪50至60年年代程序系统阶阶段:20世纪60至70年年代软件工程阶阶段:20世纪70至90年年代现代软件工工程阶段::20世世纪90年年代至今1.2.1软件发发展阶段

阶段程序设计程序系统(现代)软件工程特点

软件所指程序程序及说明书程序、文档和数据程序设计语言汇编及机器语言高级语言软件语言软件工作范围程序编写包括设计和测试软件生存期需求者程序设计本人少数用户市场用户开发软件的组织个人开发小组开发小组及大中型软件开发机构软件规模小型中小型大中小型决定质量的因素个人程序技术小组技术水平管理水平开发技术和手段子程序/程序库结构化程序设计数据库、开发工具、开发环境、工程化开发方法、标准和规范、网络及分布式开发、面向对象技术、软件复用维护责任者程序设计者开发小组专职维护人员硬件特征价格高/存储容量小

工作可靠性差降价、速度、容量及工作可靠性明显提高向超高速、大容量、微型化及网络化发展软件特征完全不受重视软件技术的发展不能满足需求,出现软件危机开发技术有进步,但未获突破性进展,价高,未完全摆脱软件危机1.2.2软件危危机20世纪60年代后后,随着计计算机软件件应用领域域增多,软软件规模不不断扩大,,软件系统统功能多,,逻辑复杂杂,不断扩扩充,从而而导致许多多系统开发发出现了不不良的后果果:系统存在大大量错误,,可用性和和可靠性差差;系统无法增增加新功能能,难于维维护;系统无法按按照计划时时间完成;;最严重的彻彻底失败。。软件危机举举例20世纪60年代IBM公司司开发的((OS/360)系系统就是一一个很好的的例子。该系统由4000多多个模块组组成,约100万条条指令,人人工为5000人年年(一个人人年为一个个人工作一一年的工作作量),耗耗费达数亿亿美元。该该系统投入入运行后发发现了2000多个个错误,发发布过19个版本,,而以后每每个版本的的更新均有有1000多个大大大小小的错错误存在。。系统开发发陷入了僵僵局。OS/360系统的的负责人F.D.Brooms曾曾这样形象象地描述了了开发过程程中的困难难和混乱::“……像像一头巨兽兽在泥潭中中作垂死挣挣扎,挣扎扎得越猛,,泥浆就沾沾得越多,,最后没有有一个野兽兽能逃脱淹淹没在泥潭潭中的命运运……程序序设计就像像是这样一一个泥潭………一批批批程序员在在泥潭中挣挣扎……没没人料到问问题竟会这这样棘手………”。1.2.2软件危危机所谓软件危危机(SoftwareCrisis)就是是计算机软软件在开发发和维护过过程中所遇遇到的一系系列严重问问题,具体体表现在::软件开发成成本难以估估算,无法法制定合理理的开发计计划;用户的需求求无法确切切表达;软件质量存存在问题;;软件的可维维护性差;;缺乏文档资资料;软件成本难难以控制;;1.2.3软件危危机的解决决途径产生软件危危机的原因因:软件系统本本身的复杂杂性;软件开发的的方法和技技术不合理理;程序设计方方法学讨论程序的的性质、程程序设计的的理论和方方法软件工程方方法运用工程化化原则和方方法组织软软件开发工工作1968年年提出1.3软软件工程本节内容1.3.1软件工工程定义1.3.2软件工工程要素1.3.3软件工工程的目标标和原则1.3.4软件工工程基本原原理1.3.1软件工工程定义1968年年10月月,,FritzBauer首首次次提提出出了了““软软件件工工程程””的的概概念念::软软件件工工程程是是为为了了经经济济地地获获得得能能够够在在实实际际机机器器上上高高效效运运行行的的可可靠靠软软件件而而建建立立和和使使用用的的一一系系列列好好的的工程程化化原则则。。Boehm为为软软件件工工程程下下的的定定义义::运运用用现现代代科科学学技技术术知知识识来来设设计计并并构构造造计计算算机机程程序序及及为为开开发发、、运运行行和和维维护护这这些些程程序序所所必必需需的的相相关关文文件件资资料料。。软软件件工工程程定定义义Fairley认认为为::软软件件工工程程学学是是为为在在成成本本限限额额以以内内按按时时完完成成开开发发和和修修改改软软件件产产品品所所需需的的系系统统生生产产和和维维护护的的技技术术和和管管理理的的学学科科。。IEEE计计算算机机学学会会将将““软软件件工工程程””定定义义为为::⑴⑴应应用用系统统化化的的、、规规范范化化的的、、定定量量的方方法法来来开开发发、、运运行行和和维维护护软软件件,,即即::将将工工程程应应用用到到软软件件;;⑵⑵对对⑴⑴中中各各种种方方法法的的研研究究。。从以以上上定定义义可可以以看看出出,,软软件件工工程程的的含含义义::(1))工工程程概概念念在在软软件件领领域域里里的的一一个个特特定定应应用用(2))软软件件工工程程涉涉及及软软件件产产品品的的所所有有环环节节软软件件工工程程要要素素软件件工工程程包包括括三三个个要要素素::方方法法、、工工具具和和过过程程。。方法法::提提供供了了““如如何何做做””的的技技术术;;工具具::提提供供了了自自动动的的或或半半自自动动的的软软件件支支撑撑环环境境;;过程程::将将软软件件工工程程的的方方法法和和工工具具综综合合起起来来以以达达到到合合理理、、及及时时地地进进行行计计算算机机软软件件开开发发的的目目的的;;软软件件工工程程的的目目标标和和原原则则软件件工工程程的的目目标标可可概概括括为为::生生产产具具有有正正确确性性、、可可用用性性以以及及开开销销适适宜宜的的软软件件产产品品。。正确确性性指指软软件件产产品品达达到到预预期期功功能能的的程程度度。。可用用性性指指软软件件基基本本结结构构、、实实现现及及文文档档为为用用户户可可用用的的程程度度。。开销销合合宜宜是是指指软软件件开开发发、、运运行行的的整整个个开开销销满满足足用用户户要要求求的的程程度度。。软件件工工程程的的最最终终目目的的是是摆摆脱脱手手工工生生产产软软件件的的状状况况,,逐逐步步实实现现软软件件研研制制和和维维护护的的自自动动化化。。软软件件工工程程的的目目标标和和原原则则软件工程研究究内容:软件开发技术术:根据不同的软软件类型,按按不同的观点点和原则,对对软件开发中中应遵循的策策略、原则、、步骤和必须须产生的文档档资料等作出出规定,从而而使软件的开开发能够进入入规范化和工工程化的阶段段,以克服早早期的手工作作坊生产中的的随意性和非非规范性做法法。包括:软件开开发方法学、、开发过程模模型、开发工工具、软件工工程环境软件工程管理理软件按工程化化生产时的重重要环节,它它要求按照预预先制定的计计划、进度和和预算执行,,以实现预期期的经济效益益和社会效益益。包括:软件管管理学、软件件工程经济学学、软件心理理学等内容软软件工程的的目标和原则则使用软件工程程开发软件系系统的过程中中,要坚持四四项基本原则则:选取适宜的开开发模型;采用合适的设设计方法;;提供高质量的的工程支持;;重视开发过程程的管理;;软软件工程基基本原理八条一般原理理:(1)抽象(2)信息隐隐藏(3)模块化化(4)局部化化(5)确定性性(6)一致性性(7)完备性性(8)可验证证性软软件工程基基本原理七条基本原理理(1)用分阶阶段的生命周周期计划严格格管理(2)坚持进进行阶段评审审(3)实行严严格的产品控控制(4)采用现现代程序设计计技术(5)结果应应能清楚地审审查(6)开发小小组的人员应应少而精(7)承认不不断改进软件件工程实践的的必要性1.4通信信软件工程本节内容通通信系统通通信软件通通信软件工工程通通信系统通信系统基本本组成通通信系统通信网:众多多点对点通信信系统通过交交换系统按一一定拓扑结构构组合在一起起就构成了通通信网。通信网的组成成:硬件:用户终端设备备、传输设备备、交换设备备软件:通信网为能很很好地完成信信息的传递和和交换所必需需的一整套协协议、标准,,包括网络结结构、信令方方式、协议和和接口、网络络管理、技术术体制标准等等通通信系统通信网系统基基本功能:⑴基本的传传输和交换功功能。⑵业务控制制功能。⑶网络管理理功能。通通信软件凡是用来实现现两个或多个个实体(计算算机、电信终终端、交换设设备等)之间间相互通信的的软件都可称称为通信软件件。电信软件:电电话交换软件件、移动通信信软件、智能能网软件等;;计算机网络软软件:网络协协议软件、网网络应用软件件;通通信软件电信软件类型型通通信软件⑴基本呼叫叫处理软件::负责呼叫接接续和呼叫状状态转移的处处理。⑵业务独立立逻辑处理模模块:将交换换机侧相同的的处理功能抽抽象封装而成成,如智能网网。⑶资源管理理:为业务控控制软件提供供资源控制和和管理功能。。⑷业务控制制:在通信信网业务能力力基础上提供供业务的生成成、配置、接接入、管理等等功能。⑸客户服务务:客户关关系管理系统统(CRM::CustomerRelationshipManagement),,包括业务开开通、业务保保障、业务计计量;⑹产品开发发与管理电信软件分类类:OSS(OperationSupportSystem,运运行支撑系统统),包括括(1)~(4)BSS(BusinessSupportSystem,经营支支撑系统)),包括(5),(6)电信业内将BSS和OSS结合起来来统称为BOSS(BusinessandOperationSupportSystem,运营支撑撑系统)。某电信运营商商系统规划实实例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论