版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章软件工程概述
本章要点:软件工程产生的原因软件工程的基本原理软件工程方法学和面向对象方法学基本原理软件过程软件工程有关工具和环境本章学习习目标:了解软件件工程产产生的原原因掌握软件件工程的的基本原原理了解软件件工程方方法学和和面向对对象方法法学基本本原理了解软件件过程了解软件件工程有有关工具具和环境境软件工程程§1.1软软件工程程的产生生一、软件件发展经经历了三三个阶段段:1、程序序设计时时代(1946-1956年年)采用“个个体生产产方式””2、程序序系统时时代(1956-1968年年)随着软件件规模的的扩大,,个体生生产已经经不能够够满足软软件生产产的需要要,一个个软件需需要由几几个人协协同完成成,采用用“生产产作坊方方式”,,随着着软件需需求量、、规模及及复杂度度的增大大,生产产作坊的的方式已已经不能能够适应应软件生生产的需需要,出出现所谓谓“软件件危机””。软件工程程主要表现现在两个个方面::(1)软软件产品品质量低低劣,甚甚至开发发过程就就夭折。。(2)软软件生产产率低,,不能满满足需要要。“软件危危机”产产生的原原因“软件危危机”((Softwarecrisis)的的出现是是由于软软件的规规模越来来越大,,复杂度度不断增增加,软软件需求求量增大大。而软软件开发发过程是是一种高高密集度度的脑力力劳动,,软件开开发的模模式及技技术不能能适应软软件发展展的需要要。致使使大量质质量低劣劣的软件件涌向市市场,有有的软件件花费了了大量人人力财力力,却在在开发过过程中就就夭折。。软件工程程3、软件件工程时时代(1968年至今今)为了克服服软件危危机,适适应软件件发展的的需要,,而采用用“工程程化的生生产”方方式。。将工程程学的某某些原理理和方法法应用在在软件的的设计和和开发中中来软件工程程研究的的主要内内容有以以下两个个方面::1、软件件开发技技术,它它包括软软件开发发方法、、技术和和软件开开发工具具及环境境、软件件管理技技术。2、软件件规范((国际规规范)包包括:(1)软软件开发发技术((软件结结构、开开发方法法、工具具与软件件工程环环境、软软件工程程标准化化)(2)软软件工程程管理((质量管管理,软软件工程程经济学学:成本本估算,,计划安安排)软件工程程研究的的目标是是“以较较少的投投资获取取较高质质量的软软件”。。软件工程程§1.2软件工工程及其其基本原原理一、软件件工程的的的定义义软件工程程是指导导计算机机软件开开发和维维护的工工程学科科。采用用工程学学的概念念、原理理、技术术和方法法,把经经过时间间考验而而证明正正确的管管理技术术和当前前能够得得到的最最好的技技术方法法结合起起来开发发与维护护软件。。二、有关关概念程序:为为了使计计算机实实现预期期的目的的(如解解某一算算题或控控制某一一过程))而编排排的一系系列步骤称为程程序。软件:计计算机的的程序加加上该程程序的各各种规格格书或文文档。软软件方法法是以大大型程序序为研究究对象的的。相应应文档是是软件的的核心之之一。软件工程程软件工程程:生产产软件的的工程。。研究软软件工程程的学问问叫软件件工程学学(有时时人们也也把软件件工程学学简称为为软件工工程)。。软件可靠靠性:软软件在所所给条件件下和规规定时间间内,能能完成所所要求的的功能的的性质。。软件可靠靠度:软软件在所所给条件件下和规规定时间间中,能能完成所所要求功功能的概概率。软件工程程软件工程程的基本本原理软件工程程的七条条基本原原理:1.用分分阶段的的生命周周期计划划严格管管理2.坚持持进行阶阶段评审审3.实行行严格的的产品控控制4.采用用现代程程序设计计技术5.结果果应能清清楚地审审查6.开发发小组的的人员应应该少而而精7.承认认不断改改进软件件工程实实践的必必要性软件工程程§1.3软件生存存期软件生存存期又称称软件生生命周期期,是指指一个软软件系统统从目标标提出到到最后丢丢弃的整整个过程程。软件工程程基本原原理强调调软件生生命周期期的阶段段性,其其基本思思想是各各阶段任任务相对对独立,,具有明明确的完完成标志志。阶段段的划分分使得人人员分工工职责清清楚,项项目进度度控制和和软件质质量得到到确认。。原则上上,前一一阶段任任务的完完成是后后一阶段段工作的的前提和和基础;;而后一一阶段的的任务则则是对于于前一阶阶段问题题求解方方法的具具体化。。软件工程程生存期瀑布模型型(目标与范围说明书)(需求说明书)(设计文档)(程序)(测试报告)(维护报告)(可行性论证报告)问题定义测试运行维护可行性分析需求分析设计编程设计时期开发时期运行时期图1.1软件生命周期的阶段划分软件工程程一、问题题定义问题定义义阶段必必须回答答的关键键问题是是:“要要解决的的问题是是什么??”二、可行行性研究究此阶段的的任务不不是具体体解决问问题,而而是研究究问题的的范围,,探索这这个问题题是否值值得去解解决,是否有可可行的解解决办法法。三、需求求分析这个阶段段的任务务,主要要是确定定目标系系统必须须具备哪哪些功能能。
软件工程程四、总体体设计这个阶段段必须回回答的关关键问题题是:““应该如如何解决决这个问问题?””五、详细细设计详细设计计阶段的的任务就就是把解解法具体体化,设设计出程程序的详详细规格格说明,,包括必必要的细细节,程程序员可可以根据据它们写写出实际际的程序序代码。。六、编码码和单元元测试这个阶段段的任务务是程序序员根据据目标系系统的性性质和实实际环境境,选取取一种适适当的高高级程序序设计语言((必要时时用汇编编语言)),把详详细设计计的结果果翻译成成用选定定的语言言书写的的程序,,并且仔仔细测试试编写出出的每一一个模块块。软件工程程七、综合合测试这个阶段段的任务务是通过过各种类类型的测测试,使使软件达达到预定定的要求求。八、软件件维护维护阶段段的任务务,是通通过各种种必要的的维护活活动使系系统持久久地满足足用户的的需要。。软件工程程§1.4软件工程程方法学学软件开发发方法和和技术可可归纳为为三大类类:瀑布布型模型型、原型型化模型型和变换换型。一、软件件开发的的瀑布型型模型严格按照照软件生生命周期期的阶段段划分,,顺序执执行各阶阶段构成成软件开开发的瀑瀑布型模模型。瀑布模型型的特点点是:1.阶段段间具有有顺序性性和依赖赖性顺序性要要求每个个阶段工工作开始始的前提提是其上上一阶段段工作结结束。因因此前一一阶段输输出的文文档就是是其后一一阶段的的输入文文档。依依赖性是是指各阶阶段工作作正确性性依赖与与上一阶阶段工作作的正确确性。软件工程程2.推迟迟实现的的观点编码开始始的越早早,项目目完成的的时间很很可能越越长。这这是因为为过早进进入编码码往往意意味着大大量的返返工。3.质量量保证的的观点为保证软软件开发发质量,,瀑布型型模型在在生命周周期的各各阶段强强调:第一,制制作规定定的文档档是各阶阶段完成成的里程程碑,没没有交出出合格的的文档也也就没有有完成该该阶段的的任务。。第二,每每个阶段段结束之之前都必必须对完完成的文文档进行行评审,,以便及及早发现现问题,,改正错错误。软件工程程二、原型型化开发发模型瀑布型模模型的缺缺陷在于于软件开开发阶段段推进是是直线型型的,工工程实践践说明这这是一个个“理想想化”模模型,不不完全符符合人们们认识问问题的规规律。原型化开开发方法法。其主主要思想想是:先先建立一一个能够够反映用用户需求求的原型型系统((“样机机”),,使得用用户和开开发者可可以对目目标系统统的概貌貌进行评评价、判判断。然然后对原原型进行行若干轮轮反复的的扩充、、改进、、求精,,最终建建立完全全符合用用户需求求的目标标系统。。初始原型型可以非非常简单单,它只只实现未未来系统统的主要要功能,,系统主主要模块块之间的的重要接接口。初初始原型型主要用用于向用用户展示示系统功功能概貌貌。确认认开发人人员对系系统主要要功能的的理解。。对系统统应该具具备的功功能的演演示运行行通常可可以对用用户与开开发人员员之间的的沟通起起到催化化剂作用用,确立立用户对对项目开发发的信心心。软件工程程基于初始始原型的的评价可可以建立立实验性性进化原原型。实实验性进进化原型型的建立立是一个个逐步迭迭代的增增量过程程,每次次迭代的的新版本本应该具具有更强强的功能能,更优优的性能能。当实验性性进化原原型得到到最终确确认以后后,开发发进入目目标系统统的实现现阶段::将原型型转换为为完全符符合系统统运行环环境要求求的目标标系统,,并进行行最终集集成和验验收测试试。由原型转转化为目目标系统统的途径径有:(1)抛抛弃原型型法:建建立原型型系统的的目的主主要是准准确定义义系统需需求,严严格验证证方案设设计。原原型使用用完毕后后抛弃,,然后在在重新建建立目标标系统。。应用抛抛弃原型型法建立立原型的的过程相相当于瀑瀑布型模模型的需需求分析析和总体体设计过过程。软件工程程(2)演演化原型型法:目目标系统统是对实实验性原原型不断断扩充、、完善送送代的结结果。每每次迭代代都要求求再分析析、再设设计、再再实现以以及再测测试评价价。当认认为问题题求解基基本满意意时就可可以交付付系统的的初始版版本了。。演化原原型法的的实施要要求用户户和开发发人员在在一个相相当长的的时期中中对信息息交流和和系统修修改持一一种开放放的态度度。许多多面向市市场的软软件产品品采用所所谓β版发布,,就是施施行演化化原型法法开发的的一种策策略。软件工程程原始用户需求初始原型快速生成评价∕确认实验性原型进化最终确认目标系统实现目标系统测试系统交付展示∕理解∕沟通补充∕确认∕优化软件工程程三、变换换型变换型开开发方法法是一种种形式化化软件开开发方法法。它从从软件需需求的形形式化规规格说明明出发,,经过一一系列的的程序变变换,得得到最终终的程序序系统。。软件需需求形式式化规格格说明,,也往往往经过原原型检查查和确认认。如能能保证形形式化规规格说明明是正确确的,在在逐级变变换中所所使用的的变换规规则是保保持正确确性的变变换规则则,那么么就可确确认,变变换最后后所得到到的程序序系统一一定是正正确的。。变换型开开发方法法必须有有严格的的数学理理论和形形式化技技术的支支持,目目前这种种开发方方法尚处处于研究究和实验验阶段。。软件工程程1.4..2面向对象象方法面向对象象方法学学的基本本思想是是,在问问题求解解过程中中,应该该尽可能能符合人人类习惯惯的思维维方式。。软件开开发的方方法应该该过程与与人类认认识世界界解决问问题习惯惯的方法法与过程程接近,,也就是是使描述述问题的的问题空空间与问问题求解解的解空空间在结结构上尽尽可能一一致。客观世界界的问题题都是由由客观世世界中的的实体和和实体之之间的相相互联系系构成的的。对象象(Object))是客观世世界中的的实体在在问题域域中的抽抽象。软件工程程对象的概概念是抽抽象数据据类型概概念的发发展。面面向对象象的方法法的基本本出发点点是,将将描述实实体对象象静态属属性的数数据与描描述实体体动态行行为的操操作统一一为一个个不可分分割的整整体。对象与传传统数据据类型的的区别在在于:(1)对对象不是是被动地地等待外外部对其其施加操操作。对对象是进进行操作作的主体体,通过过消息发发送请求求对象主主动地执执行某些些操作,,处理其其私有数数据。
软件工程程面向对象象的方法法学可以以概括为为:面向向对象的的方法==对象++类+继继承+消消息通信信(1)客客观世界界是由各各种对象象组成的的。对象象是可以以分解的的:复杂杂对象可可以由比比较简单单的对象象组合构构成。因因此面向向对象的的软件系系统是若若干对象象的有机机集合。。(2)所所有对象象按其结结构成分分,可以以划对分分为各种种对象类类。(3)局局部于一一个对象象的私有有成分都都被“封封装”在在对象内内部,外外部不能能访问。。对象之之间仅能能通过消消息传递递互相作作用。软件工程程面向对象象方法的的主要优优点是::(1)使使用现实实世界的的概念抽抽象地思思考问题题从而自自然地解解决问题题。(2)保保证软件件系统的的稳定性性。(3)软软件系统统具有可可重用性性。(4)软软件系统统具有良良好的可可维护性性。软件工程程§1.5软软件过程程软件过程程(SoftwareProcesses)也称为软软件生存存周期过过程或软软件过程程组,是是指软件件生存周周期中的的一系列列相关过过程(Process)。过过程就是是活动的的集合,,活动是是任务的的集合,,任务则则起到把把输入加加工成输输出的作作用。活活动的执执行可以以是顺序序的、迭迭代的((重复的的)、并并行的、、嵌套的的或者是是有条件件地引发发的。软件过程程应当包包含以下下3个含含义:·个体含含义:即即指软件件或系统统在生存存周期中中的某一一类活动动的集合合,如获获取过程程、供应应过程、、开发过过程、管管理过程程等。软件工程程·整体含含义:即即指软件件或系统统在所有有上述含含义下的的软件过过程的总总体。·工程含含义:即即指解决决软件过过程的工工程,它它应用软软件工程程的原则则、方法法来构造造软件过过程模型型,并结结合软件件的具体体要求进进行例化化,以及及在用户户环境中中运作,,以此进进一步提提高软件件开发率率、降低低成本。。工程含义义还可以以包含如如下几个个方面::(1)软软件过程程不仅要要有工程程视面,,也要有有合同视视面(包包括系统统视面和和用户视视面)。。(2)软软件过程程包含管管理视面面。软件工程程(3)软软件过程程应包含含运作视视面。(4)不不同角色色由于其其视面不不同,所所参与的的软件过过程亦不不相同。。2、软件件过程的的基本成成分软件过程程涉及软软件生存存周期中中相关的的过程与与活动,,其中““活动””是构成成软件过过栓的最最基本的的成分之之一。此此外,软软件开发发是由多多人分工工协作、、并使用用不同的的硬件环环境和软软件环境境来完成成的,因因此软件件过程还还包括支支持人与与人之间间进行协协调与通通信的组组织结构构、资源源及约束束等因素素。因而而,过程程活动、、活动中中所涉及及的人员员、软件件产品、、所用资资源和各各种约束束条件是是软件过过程的基基本成分分。软件工程程3、软件件过程标标准1995年8月月1日,,ISO/IEC经过过多次讨讨论和修修改后,,正式发发布了ISO//IEC12207第第一版““信息技技术软件件生存周周期过程程”国际际标准。。我国则根根据该草草案于1995年颁布布GB//T8566一1995《《信息技技术软件件生存周周期过程程》国家家标准;;软件工程程ISO//IEC12207国际标标准集各各种相关关标准的的优点于于一体,,把软件件生存周周期的各各个过程程分成三三类,即即主要生生存周期期过程、、支持生生存周期期过程和和组织的的生存周周期过程程,软件件人员可可以根据据具体的的软件项项目进行行剪裁。。主要生存存周期过过程包括括:(1)获获取过程程:确定定需方和和组织向向供方获获取系统统、软件件或软件件服务的的活动。。(2)供供应过程程:确定定供方和和组织向向需方提提供系统统、软件件或软件件服务的的活动。。(3)开开发过程程:确定定开发者者和组织织定义并并开发软软件的活活动。软件工程程(4)操操作过程程:确定定操作者者和组织织在规定定的环境境中为其其用户提提供运行行计算机机系统服服务的活活动。(5)维维护过程程:确定定维护者者和组织织提供维维护软件件服务的的活动。。支持生存存周期过过程包括括8个过过程,其其目的是是支持其其他过程程,作为为其组成成部分,,它们有有助于软软件项目目的成功功和质量量提高。。它包括括:(1)文文档编制制过程::确定记记录生存存周期过过程产生生的信息息所需的的活动。。(2)配配置管理理过程::确定配配置管理理活动。。软件工程程(3)质质量保证证过程::确定客客观地保保证软件件和过程程符合规规定的要要求以及及已建立立的计划划所需的的活动。。(4)验验证过程程:根据据软件项项目要求求,按不不同深度度确定验验证软件件所需的的活动。。5)确认认过程::确定确确认软件件所需的的活动。。(6)联联合评审审过程::确定评评价一项项活动的的状态和和产品所所需的活活动。(7)审审核过程程:确定定为判断断符合要要求、计计划和合合同所需需的活动动。(8)问问题解决决过程::确定一一个用于于分析和和解决问问题的过过程(包包括不合合格)。。软件工程程组织的生生存周期期过程包包括4个个过程,,它们被被一个软软件组织织用来建建立和实实现构成成相关生生存周期期的基础础结构和和人事制制度,并并不断改改进这种种结构和和过程。。具体包包括:(1)管管理过程程:确定定生存周周期过程程中的基基本管理理活动。。(2)建建立过程程:确定定建立生生存周期期过程基基础结构构的基本本活动。。(3)改改进过程程:确定定一个组组织为建建立、测测量、控控制和改改进其生生存周期期过程所所需开展展的基本本活动。。(4)培培训过程程:确定定提供经经适当培培训的人人员所需需的活动动。软件工程程4、软件件过程工工程的定定义软件过程程工程就就是为建建立软件件过程所所必须实实施的一一系列工工程化的的活动。。它涉及及与此有有关的方方法、工工具和环环境的研研究。5、软件件过程工工程和软软件项目目工程如果说软软件过程程工程是是以软件件过程为为中心的的工程活活动,那那么在这这种理念念形成之之前的软软件工程程所进行行的是以以软件开开发为中中心的工工程活动动,因而而被称之之为软件件项目工工程。6、软件件过程周周期软件过程程周期,,也称其其为软件件过程生生存周期期或软件件过程生生命周期期,它是是指一个个软件过过程从孕孕育、诞诞生、成成长、衰衰老的全全部历程程。软件工程程§1.6软软件工程程工具和和环境一、软件件工程环环境的概概念和类类型1.按软软件生产产的不同同方面、、不同阶阶段分类类1)软件件开发环环境:这这类环境境目前数数量最多多,它支支持软件件的需求求分析、、设计、、编码或或测试等等。这类类环境中中有的主主要支持持编程,,也称为为程序设设计环境境。如UNIX程序设设计环境境2)软件件项目管管理环境境:它们们支持软软件的项项目管理理,诸如如计划、、人员组组织、成成本估算算等。3)软件件质量保保证环境境:这类类软件环环境包括括程序正正确性证证明、验验证以及及软件测测讨的功功能GYPSY,AFFIRM,SPECIAL等属于于这一类类。软件工程程4)软件件维护环环境。2.按是是否与软软件开发发方法有有关分类类1)不依依赖于软软件开发发方法的的环境::工具箱箱是这类类环境的的主要的的一种。。它并不不依赖于于某种件件开发方方法,而而是将最最常用的的软件工工具组成成一个软软件包,,供用户户使用。。2)支持持某种软软件开发发方法的的环境::为使软软件开发发建立在在更严谨谨的科学学基础之之上,许许多计算算机科学学家在形形式方法法上做了了大量研研究。3.按工工作方式式分类1)交互互式软件件环境软件工程程2)批处处理软件件开发环环境二、软件件工程环环境的发发展前景景整体化是是指软件件工程环环境应支支持软件件生产的的各个阶阶段,应应有统一一的知识识库支持持和统一一的用户户界面,,各工具具间应有有一致的的接口。。有了整整体化的的软件工工程环境境的支持持就能大大大改善善软件生生产的质质量和效效率。智能化是是指将人人们在软软件生产产中的丰丰富知识识和经验验收集和和归纳起起来放入入知识库库。这可可使当前前的交互互式软件件工程环环境有大大量知识识作后盾盾,交互互能力得得到进一一步提高高,以便便加快软软件的开开发过程程,并大大大改善善软件的的维护效效率。软件工程程形式化是是指将实实际应用用系统的的面向用用户的非非形式描描述和实实现该系系统的计计算机形形式化表表示之间间尽可能能缩短距距离,以以便提高高自动化化程度。。三、人工工智能和和软件工工程环境境软件工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育法规模拟试题(含答案)
- 2024年村情简介详细版
- 单层工业厂房结构吊装施工设计方案
- 2024年图书交易详细购买协议
- 2024年城市渣土清运专项承包协议
- 导购岗位专属劳动协议范本2024年
- 2024年规范化采购协议文档模板
- 2024工程用片石买卖协议
- 2024年专业吊车租赁与服务协议
- 2024年医疗器械海外采购协议
- 江苏省泰兴市2024-2025学年高三上学期期中考试语文试题(含答案)
- 家长会教学课件
- 律师事务所律师事务所风险管理手册
- 安徽省亳州市黉学英才中学2024-2025学年七年级上学期期中生物学试题(含答案)
- 期中综合检测(1-4单元)(试题)- 2024-2025学年二年级上册数学人教版
- 2024年消防宣传月知识竞赛考试题库500题(含答案)
- 国开2024年秋《机电控制工程基础》形考任务1答案
- 2024年典型事故案例警示教育手册15例
- 二十四节气课件:《立冬》
- 统计学中的一些基本概念和重要公式
- 幼儿成语故事《刻舟求剑》
评论
0/150
提交评论