• 946.50 KB
  • 2022-04-29 14:46:01 发布

最新1第1章电子教案 软件工程 原理、方法与应用优秀课件课件PPT.ppt

  • 61页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'1第1章电子教案软件工程原理、方法与应用优秀课件 第1章软件工程概论学习目标掌握软件的概念及特点了解软件危机的产生掌握软件工程的概念及其研究内容掌握软件生存周期的定义及其模型2 第1章软件工程概论教学内容1.1引言1.2软件与软件危机1.3软件工程的概念1.4软件生存周期及软件开发模型本章小结返回总目录3 1.2软件与软件危机主要教学内容:1.2.1软件的定义1.2.2软件的特点1.2.3软件的分类1.2.4软件危机返回目录7 1.2软件与软件危机1.2.1软件的定义软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。可以写作为:软件=程序+数据+文档。程序:程序是按事先设计好的功能和性能要求执行的指令序列。数据:数据是指程序能正常处理信息的数据和数据结构。文档:文档是与程序运行和维护有关的图文资料。返回目录8 1.2软件与软件危机1.2.2软件的特点(1)软件具有抽象特征。(2)软件具有无明显制造过程特征。(3)软件无备件的特征。(4)手工制作特征。(5)成本昂贵特征。返回目录9 1.2软件与软件危机1.2.3软件的分类1.按软件功能进行划分(1)系统软件(2)支撑软件(3)应用软件2.按软件规模进行划分按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。如表1.1所示。10 1.2软件与软件危机表1.1软件规模的分类类别参加人员数研制期限产品规模(源程序行数)微型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~10M返回目录11 1.2软件与软件危机1.2.4软件危机1.软件危机的产生20世纪60年代中期以后,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。1963年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“。”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。12 1.2软件与软件危机2.软件危机的定义及其表现形式软件危机是指在软件开发和维护中所产生的一系列严重的问题。一是如何开发软件,满足用户对软件的需求,二是如何维护数量众多的已有软件。其主要表现如下:(1)用户需求不明确、变更过多(2)软件成本日益增长(3)开发进度难以控制(4)软件质量差(5)软件维护困难13 1.2软件与软件危机3.软件危机产生的原因(1)软件开发无计划性(2)软件需求不充分(3)软件开发过程无规范(4)软件产品无评测手段4.解决软件危机的途径(1)应该加强软件开发过程的管理。(2)推广使用开发软件的成功技术与方法(3)开发和使用好的软件工具返回目录14 1.3软件工程的概念主要教学内容:1.3.1软件工程的产生及发展1.3.2软件工程的定义及目标1.3.3软件工程学的范畴返回目录15 1.3软件工程的概念1.3.1软件工程的产生及发展为了解决软件危机,人们在软件开发中也不断改进和发展,在50多年中计算机软件开发经历了三个发展阶段:程序设计阶段:约为50至60年代程序系统阶段:约为60至70年代软件工程阶段:约为70年代以后从表1.2中可以看到软件开发三个发展阶段的主要特点。16 1.3软件工程的概念几十年来最根本的变化体现在:(1)人们改变了对软件的看法。(2)软件的需求是软件发展的动力。(3)软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。返回目录17 1.3软件工程的概念1.3.2软件工程的定义及目标FritzBauer曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法”,其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。18 1.3软件工程的概念软件工程的方法、工具、过程构成了软件工程的三要素。软件工程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户要求的软件产品。图1.2软件工程目标之间的关系返回目录19 1.3软件工程的概念1.3.3软件工程学的范畴软件工程学所研究的主要内容包括:软件开发技术和软件工程管理两个方面。其中:软件开发技术包含:1、软件开发方法学2、软件工具3、软件工程环境4、软件工程管理返回目录20 1.4软件生存周期及软件开发模型主要教学内容:1.4.1软件生存周期1.4.2软件生存周期模型1.4.3瀑布模型(Waterfallmodel)1.4.4演化模型(evolutionalmodel)1.4.5螺旋模型(spiralmodel)1.4.6智能模型(intelligencemodel)返回目录21 1.4软件生存周期及软件开发模型1.4.1软件生存周期软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生存周期。软件生存周期可划分为若干个阶段。各阶段都包括计划、开发、运行与维护三个时期,而每个时期又划分为若干个阶段。1.计划时期计划时期的主要任务是调查和分析。计划时期有问题定义和可行性研究两个阶段。22 1.4软件生存周期及软件开发模型2.开发时期开发时期要完成设计和实现两大任务。设计任务包括需求分析和软件设计两个阶段;实现任务包括编码和测试。(1)需求分析该阶段主要解决的问题是“目标系统必须做什么”,也就是要深入描述软件的功能和性能;确定软件设计的限制和软件与其他系统元素的接口;定义软件的其他有效性需求,并用“需求规格说明书”的形式准确地表达出来,提交管理机构评审。23 1.4软件生存周期及软件开发模型(2)软件设计是软件工程的技术核心,主要任务是把已确定了的各项需求转换成一个相应的体系结构,通常细分成总体设计和详细设计两个阶段。(3)编码该阶段的主要任务就是按照选定的语言把软件设计转换成计算机可以接受的程序代码,即写成“源程序清单”。(4)测试测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。24 1.4软件生存周期及软件开发模型3.运行时期已交付的软件投入正式使用,便进入运行时期。这是软件生存期的最后一个时期,可能要持续若干年甚至几十年。在运行过程中,可能由于多方面的原因,需要对它进行修改。因此,软件人员在这一时期的主要工作,就是做好软件维护。返回目录25 1.4软件生存周期及软件开发模型1.4.2软件生存周期模型软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。有多种软件生存期模型。例如:瀑布模型、演化模型、螺旋模型、智能模型等。它们各有特色,但一般都包含“定义(或计划)”、“开发”和“维护”3类活动。定义活动主要弄清软件“做什么”;开发活动集中解决让软件“怎么做”;维护活动则聚集于软件的“修改”,即“What-How-Change”。返回目录26 1.4软件生存周期及软件开发模型1.4.3瀑布模型(Waterfallmodel)瀑布模型(也称线性顺序模型或软件生存周期模型),是W.Royce在1970年提出的。瀑布模型遵循软件生存期的划分,明确规定各个阶段的任务,各个阶段的工作自上而下、顺序展开,如同瀑布流水,逐级下落。瀑布模型把软件生存周期划分为计划时期(或定义时期)、开发时期和运行时期。这三个时期又分别细分为若干个阶段。参看图1.3。27 1.4软件生存周期及软件开发模型图1.3软件生存周期的瀑布模型28 1.4软件生存周期及软件开发模型瀑布模型软件开发具有以下几个特征:1.阶段间的顺序性和依赖性顺序性是指:只有等前一阶段的工作完成以后,后一阶段的工作才能开始;前一阶段的输出文档,就是后一阶段的输入文档。依赖性又同时表明了,只有前一阶段有正确的输出时,后一阶段才可能有正确的结果。29 1.4软件生存周期及软件开发模型2.推迟实现的观点过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带来灾难性的后果。瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。把逻辑设计与物理设计清楚地划分开来,尽可能推迟程序的物理实现,这是瀑布型软件开发的一条重要的指导思想。30 1.4软件生存周期及软件开发模型3.质量保证的观点为了保证质量,瀑布型软件开发在各个阶段坚持了两个重要的做法:(1)每一阶段都要完成规定的文档。没有完成文档,就认为没有完成该阶段的任务。(2)每一阶段都要对完成的文档进行复审,以便尽早发现问题,消除隐患。返回目录31 1.4软件生存周期及软件开发模型1.4.4演化模型(evolutionalmodel)先做试验开发,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。显然,演化模型在克服瀑布模型缺点、减少由于软件需求不明确而给开发工作带来风险方面,确有显著的效果。返回目录32 1.4软件生存周期及软件开发模型1.4.5螺旋模型(spiralmodel)螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足。螺旋模型沿着螺线旋转,如图1.4所示,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即:(1)制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析──分析所选方案,考虑如何识别和消除风险;(3)实施工程──实施软件开发;(4)客户评估──评价开发工作,提出修正建议。33 1.4软件生存周期及软件开发模型图1.4螺旋模型34 1.4软件生存周期及软件开发模型沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。如果软件开发人员对项目的需求已有较好的理解,则无需开发原型,第一圈就可以直接采用瀑布模型,这在瀑布模型中认为是单圈螺线。反之,若对项目的需求没有把握,就需要经过多圈螺线,并通过开发一个或多个原型来弄清软件的需求。对于高风险的大型软件,螺旋模型是一个理想的开发方法。风险分析是螺旋模型的一项重要活动。返回目录35 1.4软件生存周期及软件开发模型1.4.6智能模型(intelligencemodel)智能模型是基于知识的软件开发模型,它综合了上述若干模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用归约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。为此,建立了知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含有应用领域知识规则的其它专家系统相结合,构成了这一应用领域软件的开发系统。返回目录36 本章小结随着软件规模的不断扩大,引发了软件危机,从而导致了软件工程的出现。本章介绍了软件、软件工程、软件生存周期及其模型的一些基本概念,论述了软件工程学的基本范畴,阐述了目前比较常见的几种软件开发模型的基本理论、基本特点。软件工程的目标指明了软件开发项目应追求和应达到的标准。软件生存周期是软件从孕育、诞生、成长、成熟直到衰亡的生存过程。37 本章小结软件的生存周期划分为3个时期,包括计划、开发、运行与维护三个时期,每个时期又细分为几个目标明确的不同阶段。软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。目前常见的模型有瀑布模型、演化模型、螺旋模型、智能模型等。它们各有特色,开发人员可根据项目的不同特点,选用不同的开发模型。返回目录38 第四章语义 第一节词义的性质和词义的变化一、词义词的意义就是词义。词义是客观事物在人们意识中的概括反映。包括词汇意义和语法意义,实词既有词汇意义,也有语法意义,虚词一般只有语法意义。 第一节词义的性质和词义的变化二、词义的性质(一)词义具有客观性词义都是客观事物在人们意识中的反映,客观事物正是词义所反映的对象。(二)词义具有概括性人类在认识过程中,把所感知到的事物的共同特点加以概括,成为概念,同时用一定的语音形式将它固定下来,就形成了词义。 第一节词义的性质和词义的变化(三)词义具有模糊性词义的模糊性是词义所反映的客观事物之间本身存在连续性和边界不清楚地表现,也是人类认识和感知差异的表现。(四)词义具有历史性语言总是处在不断的变化之中,词汇又是语言中变化最明显的要素,作为词汇系统中的词义当然也是不断变化的,词义的这种变化就使得词义具有历史性。 第一节词义的性质和词义的变化三、词义的构成(一)理性义:词义中同概念相关的部分是词的理性意义,它是人们对所指对象或现象的区别性特征的概括反映。(二)评价义:是一个词所体现出来的反映说话人对所指对象的评价和主观态度。(三)语体义:是一些词因为经常用于某种特定的交际场合而形成的风格色彩,所以又称为风格义。(四)理据义:是由词的理由和依据形成的字面表层意义及其形象色彩,包括意趣情调和联想意义等。(五)搭配义:是某些词由于特定的搭配习惯而形成的互相制约关系,反映了词与词的选择关系和使用范围。 第一节词义的性质和词义的变化四、词义的变化(一)词义变化的类型和原因1、词义变化的类型:词义的语境变化;词义的历时变化。2、词义变化的原因(1)词义的语境变化(2)词义的历时变化产生的原因:社会生活的发展变化、人的认识发展变化、语言内部各要素的相互影响。 第一节词义的性质和词义的变化(二)词义的语境变化1、语境狭义广义 第一节词义的性质和词义的变化2、语境对词义的影响(1)语境为解释词义提供了依据(2)语境使词义单一化(3)语境使词义具体化(4)语境使词义增加了临时意义(5)语境能使词的附加意义发生变化(6)语境体现出词义的选择性 第一节词义的性质和词义的变化(三)词义的历时变化1、词义的扩大2、词义的缩小3、词义的转移 第二节多义词、同音词、同义词、反义词一、词义的音义关系的矛盾性二、单义词和多义词(一)单义词:只有一个义项的词(二)多义词:有两个或两个以上义项而且这些义项之间有内在联系的词1、多义词的基本义和引申义2、词义引申的方式:直接引申、比喻引申、借代引申3、多义词的运用 第二节多义词、同音词、同义词、反义词三、同音词(一)同音词的性质同音词是音同而意义不同的一组词(二)同音词的类型1、同形同音词2、异性同音词(三)同音词产生的原因1、造词时的偶合2、语音演变的结果3、意义分化的结果 第二节多义词、同音词、同义词、反义词(四)同音词的消极作用和补救方法(五)同音词的积极作用1、可以利用同音词构成修辞上的谐音双关2、利用同音词构成歇后语3、利用同音现象构成拈连对举格式4、利用同音现象达到幽默的效果 第二节多义词、同音词、同义词、反义词四、同义词(一)同义词的性质和类型1、同义词之意义相同或相近的一组词2、等义词3、近义词 第二节多义词、同音词、同义词、反义词(二)同义词产生的原因1、新旧词并存产生的同义词2、普通话的词跟方言词构成同义词3、外来词和资源词、意译词构成同义词4、同一个事物的不同造词理据造出的词构成同义词5、客观事物之间的细微差别和交际的特殊需要在词汇中的反映 第二节多义词、同音词、同义词、反义词(三)同义词的辨析1、从理性意义上辨析(1)词义的轻重不同(2)词义的侧重点不同(3)词义的适用对象不同(4)词义所指的范围大小不同(5)词义的所指属于个体与集体的不同 第二节多义词、同音词、同义词、反义词2、从附加意义上辨析(1)评价义的不同(2)语体义的不同(3)理据义的不同3、从用法上辨析 第二节多义词、同音词、同义词、反义词(四)同义词的表达作用1、使表达精确、严密、细腻2、适应不同的语体风格,满足修辞上讳饰、委婉的需求3、避免用词重复,使表达富于变化4、同义词连用可以加强语势,达到强调、显豁的效果,或者使节奏和谐 第二节多义词、同音词、同义词、反义词五、反义词(一)反义词的性质和反义词构成的条件1、反义词的性质2、反义词构成的条件(二)反义词的类型1、绝对反义词2、相对反义词 第二节多义词、同音词、同义词、反义词(三)反义词的表达作用1、凸现事物的矛盾对立,起到对比、映衬的作用。2、运用反义词可以构成对偶,可以形成警句,增强语言的表现力。3、反义词连用能起到加强与其、强调语义的作用。 第三节现代汉语中的歧义现象一、歧义的性质(一)歧义:一个语言片段(短语、句子等)中包括着不止一种语义理解的语言想象。(二)歧义产生的根源语言单位是由形式和内容两个方面构成的,语言单位的形式在语句中主要是语句结构,语言单位的内容主要指语义,语言的语义内容是无限的,而语言结构或表达语义的手段是有限的,所以有限的结构去表达无限的内容,就必然会出现一个语言片段表达多种语义的想象。这是歧义现象产生的根本原因。 第三节现代汉语中的歧义现象(三)书面语歧义和口语歧义1、口语歧义:口头上说出来的话中有歧义的就是口语歧义,现代汉语中的歧义主要是由同音词或同音字造成的。2、书面语歧义:指书面上写下来的话中即书面语中的歧义。 第三节现代汉语中的歧义现象二、歧义的类型(一)词的音义不确定造成的歧义(二)词性不确定造成的歧义(三)语言单位的性质不确定造成的歧义(四)句法关系不确定造成的歧义(五)语义关系不确定造成的歧义(六)层次关系不确定造成的歧义 第三节现代汉语中的歧义现象三、消除歧义的方法(一)利用语境消除歧义(二)选用合适的词语来消除歧义1、换用适当的词语2、适当增添或删减词语(三)调整语序来消除歧义(四)变换句式来消除歧义'