软件工程第二章电子教案课件

PPT
  • 阅读 43 次
  • 下载 0 次
  • 页数 74 页
  • 大小 595.129 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
软件工程第二章电子教案课件
可在后台配置第一页与第二页中间广告代码
软件工程第二章电子教案课件
可在后台配置第二页与第三页中间广告代码
软件工程第二章电子教案课件
可在后台配置第三页与第四页中间广告代码
软件工程第二章电子教案课件
软件工程第二章电子教案课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 74
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】软件工程第二章电子教案课件.ppt,共(74)页,595.129 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45005.html

以下为本文档部分文字说明:

第二章软件开发模型传统开发模型瀑布模型快速原型模型演化开发模型增量模型螺旋模型面向对象开发模型喷泉模型构件集成模型形式化开发模型转换模型净室模型Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientPr

ofile5.2.0Copyright2004-2011AsposePtyLtd.2.1软件生存周期引言——生存周期:工业产品、软件、人的生命计划时期•问题定义——系统解决什么问题、目标、范围•可行性分析——了

解用户要求及观察环境、收集资料、数据流程、技术、经济、操作可行性、组织、人力、物力、效益开发时期•需求分析——弄清用户的全部需求,用“需求规格说明书”准确地表达出来;建立系统目标逻辑模型——即“做什么”•软件设计——分为总体设计与详细设计,产生软件结构、数据结构、用户界面和算法;建立系统物理

模型——即“怎么做”•编码——实现用户界面,将详细设计“翻译”成员程序代码•测试——单元、组装(综合)、确认、系统;白盒、黑盒运行时期•软件维护——正确性、适应性、完善性Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5

.2.0Copyright2004-2011AsposePtyLtd.典型的软件生存周期问题定义可行性研究需求分析软件设计编码测试运行与维护计划时期开发时期运行时期Evaluationonly.eatedw

ithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.技术复审和管理复审复审每阶段结束前技术复审从技术角度确保质量降低软件成本(尽早发现问题)管理复审成本、进度、经费等Evaluatio

nonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.技术复审和管理复审审查小组审查过程准备简要介绍情

况阅读被审文档开审查会返工复查Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.2.

2传统软件开发模型1.瀑布模型瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐

级下落。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型问题定义编码需求分析设计可行性研究运行与维护测试开发时期运行

时期计划时期(目标与范围说明书)(可行性论证论告)(测试报告)(程序)(设计文档)(需求说明书)图2.2.0瀑布模型的生存周期(运行日志,维护报告)Evaluationonly.eatedwithAspose.Slidesfor.NET

3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型特点阶段的顺序性和依赖性推迟实现的观点质量保证存在问题不适合需求模糊的系统Evaluationonly.eatedwithAspose.Slidesfo

r.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型的开发过程在实际开发过程中,为了保证软件产品的质量,每个阶段完成之后,要对其阶段的工作和成果做出客观评价,如发现问题,就应停止前进,沿着所经历的

阶段返回,就构成了图中所示的阶段间的向上流线。(带“反馈环”)Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档在各个阶段之间

的工作转换是通过各阶段的不同文档资料来完成的,而各个阶段的任务则由一系列工程化的方法和工具来实现。其中系统分析和系统设计是系统生命周期中最重要的两个阶段,它们是系统开发的核心内容,开发的难度较大,需要使用有效的方法和工具,在系统分

析阶段的常用技术有结构化系统分析方法(SA)、结构化系统设计方法(SD),在系统分析阶段的相应软件工具有信息关联图(IRD),管理业务流程图(TFD),数据流程图(DFD),数据词典(DD),实体——关系图(E-R)等等。在系统设计阶段的软件工具有系统模块结构图,Jackson设计方法。在

程序设计阶段用结构化程序设计方法(SP)。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任

务与文档瀑布模型法明确规定了每个阶段的任务。上一阶段完成确定的任务后就产生一定格式的文档交给下一阶段。不同阶段的任务一般由不同级别的软件人员来承担。瀑布模型法适合于在软件需求比较明确、开发技术比较成熟、工程管理比较严格的场合下使用。例如工资管理、会计系统软件的需求比较

明确,就适合于使用瀑布模型法进行开发。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各

个阶段的任务与文档软件的简要定义:软件=程序+数据+文档按照软件工程学的要求,在软件生命期的每一阶段,都有明确的任务,并产生相应的文档,作为下阶段工作的基础和依据。采用瀑布模型进行软件开发时,各阶段的主要任务

及文档如下:1.可行性研究与计划⑴就是调查了解用户的要求及观察环境,包括企业的管理现状和人、财、物的使用状况,企业内部分工及内部业务往来等。⑵掌握现有系统的数据处理流程和方法,包括各部门人员的分工,当前

存在的问题及薄弱环节,业务处理流程收集系统有关的账、证、表、卡、文件、资料等信息。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011Asp

osePtyLtd.瀑布模型各个阶段的任务与文档1.可行性研究与计划⑶从技术上,经济上,操作可行性上和其它方面(如组织上、人员上)去研究确定并论证新系统的可行性,包括企业的管理工作的规范性、科学性、各种信息的可

靠性、管理水平、有关人员对新开发系统的设想和要求,现有人员对计算机知识的掌握程度是否足以支持新系统的运行,经济效益与管理效益的初步分析等。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfi

le5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档1.可行性研究与计划⑷编写系统调查报告和可行性报告,报有关部门审批。可行性报告,其内容主要包括:①单位的基本情况(规模、人员、机构);②系统的初步方案;③开发新系统

的必要性;④技术可行性;⑤操作可行性;⑥经济可行性;⑦结论或建议。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd

.瀑布模型各个阶段的任务与文档值得注意的是,首先必须有由单位领导签发的系统开发任务书,任务书的内容应简洁明了、全面完整而具体,以作为系统需求分析和开发工作的依据。可行性研究报告批准之后,便可着手进行软件计划工作。对软件作用范围、工作环境和基本功能、特性加以研

究,确定要做什么,不要做什么,做到什么程序。同时,估算出所需的资金、工作量、费用和进度。编制系统开发初步进度计划表。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientPro

file5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档2.系统(需求)分析研究现有系统的数据处理流程,去粗取精,去伪存真,把握现有系统数据处理流程中的本质要素,改善其中不合理部分,增加用户需要的新功能,并以计

算机为基础,确定出新系统的功能界面,建立新系统的逻辑模型(即数据流图、数据词典、加工说明、控制说明等),编制出能反映新系统功能、特点,运行环境和测试确认准则的软件需求说明书(或称系统分析说明书),报有关部门审批。Evaluationo

nly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档3.系统(软件)设计——(1)系统设计包括概要设计和详细设计两部分。⑴概要设计又叫总体设计

,它在系统分析说明书的基础上,建立起包括模块结构和数据结构在内的软件系统结构,并完成各模块的功能和相应之间的接口关系。它以交付包括总体结构设计和数据库设计的概要设计说明书为完成标志。Evaluationonly

.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档3.系统(软件)设计——(2)⑵详细设计是对概要设计所划分模块的进一步细化,它详细描述每一模块

的功能和实现该功能的程序,完成所用到的程序实现方法和内部数据结构等。并确定模块间的详细接口。设计完成后,应提交详细设计说明书。模块——表示能够用计算机程序代码实现的,相对独立的单一数据处理功能,所以模块有时也叫功能模块。Evaluationonly.eatedwi

thAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档系统调查、系统分析与系统设计的

主要区别在于:系统调查得出的是旧系统的逻辑模型;系统分析将旧系统的逻辑模型转换成新系统的目标逻辑模型;系统设计得到的则是新系统的物理模型(即解决如何用计算机实现逻辑模型的全部功能)。Evaluationonly.eatedwithAspose.Slidesfor.NET

3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档旧系统的逻辑模型是手工方式的真实写照。新系统的目标逻辑模型主要用来规定未来的新系统应具备哪些功能,新系统的信息流程等,反

映了新系统需要做什么,但不反映如何做。物理模型则着重于描述在技术上如何实现这些功能,采用哪些技术方法,解决如何做的问题。例如,在调查阶段,我们遇到报表收集和输入问题,这只需要了解报表的种类、作用、各种报表所包含的数据项,没有必要考虑

、报表的输入格式、输入方式、输入内容、输入的正确性控制等问题。这些问题将在系统分析、系统设计阶段来完成。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-20

11AsposePtyLtd.瀑布模型各个阶段的任务与文档4.程序设计(编码)程序设计是按照详细设计说明书的要求,用程序设计语言或数据库语言为每个模块编制计算机可运行的源程序,并且对单个模块进行测试,验证模块的功能、模块接口与设计说明书的一致性。最后提交源程序清单及程序设计说明书。Eval

uationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档5.系统测试通过测试,发现隐藏在程序内部的各

种错误。测试包括单元测试,组装(综合)测试、确认测试和系统测试。单元测试是验证单个模块的正确性,组装测试是将经过模块测试的各个模块进行装配并测试,从而形成一个完整的系统。确认测试是验证所开发的系统是否符合系统分析中确定的全部功能和性能要求。系统测试完毕,提交的文档应包括测试报告,用

户操作手册等,经有关部门评审确认后,便结束了软件开发工作,软件可作为一个产品投入运行。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePt

yLtd.瀑布模型各个阶段的任务与文档6.运行和维护——(1)当软件产品制成并交付使用后,便开始了软件生命周期的最后阶段——运行和维护阶段。软件产品投入运行之后。仍有必要对软件进行维护,维护工作又分为以下两个部分。⑴程

序维护◆正确性维护:改正在开发阶段产生,在测试阶段又没有发现的错误。◆适应性维护:为适应软件的外界环境的变化引起的软件修改。◆完善性维护:为扩充软件系统功能或改善性能而进行的修改。Evaluationonly.eatedwithAspose.Slide

sfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.瀑布模型各个阶段的任务与文档6.运行和维护——(2)⑵使用维护◆环境维护:为保证软件产品正常运行而进行的维护(如主机、打印机等)。◆意外事故维护:解决因发生意外事故而使数据

混乱或丢失的问题而进行的维护。◆计算机病毒治理和维护:预防、检测,清除计算机病毒。运行和维护也应像其他开发阶段一样,提供运行日志、软件问题报告、软件修改报告等维护文档。Evaluationonly.eatedwithAspose.Slide

sfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原型模型的基本思想在获得用户基本需求说明的基础上,投入少量人力和物力,快速建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,并对需求说

明进行补充和精化,提出改进意见,开发人员进一步修改完善,如此循环迭代,直到得到一个用户满意的模型为止。从原型法的基本思想中可以看到,用户能及早看到系统模型,在循环迭代修改和完善过程中,使用户的需求日益明确,从而消除了用户需求的不确定性,同时从原型

到模型的生成,周期短、见效快,对环境变化的适应能力较强。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原型模型

包含的内容⑴功能选择要恰当选择原型实现的功能。根据用户基本需求,对系统给出初步定义。用户的基本需求包括各种功能的要求、数据结构、菜单和屏幕、报表内容和格式等要求。这些要求虽是概略的,但是最基本的,易于描述和定义。原型和最终的软件系统不同,两者在功能范围上的区别主要有以下两

个方面:Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原型模型包含的内容第一最终系统是软件需求全部功能的实现,而原型只实现所选择的部

分功能。第二最终系统对每个软件需求都要求详细实现,而原型仅仅是为了试验和演示用的,部分功能需求可以忽略,或者模拟实现。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyr

ight2004-2011AsposePtyLtd.快速原型模型包含的内容⑵构造原型根据用户初步需求,开发出一个可以应用的系统,它应满足上述的由用户提出的基本要求。在构造一个原型时,应当强调着眼于预期的评估,而不是为了正规的长期使用。Evaluationonly.eatedw

ithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原型模型包含的内容⑶运行和评价原型在试用中能亲自参加和面对一个实在的模型,能较为直观和明确地进一步提出需求,提出修改意见。通过运

行原型对软件需求规格说明进行评价和确认。评价要有用户参与,注意来自用户的反馈信息。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原

型模型包含的内容⑷修改和完善原型根据修改意见进行修改,以得到新的系统原型,然后再进行试用和评价,这样经过有限次的循环反复,逐步提高和完善,直到得到一个用户满意的系统模型为止。根据原型实现的特点和环境,可以把原型作为试验的工具,用完就丢弃

之;也可以使原型全部或部分地成为最终系统的组成部分。原型法的开发过程如图2-3所示。其中,原型开发与原型运行评价两者需反复进行多次,才能最后得到经过确认的需求规格说明,并以此作为进一步的软件设计和实现的基础。Evaluationonly.

eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.快速原型模型需求分析原型开发最终系统设

计原型评价最终系统实现用户反馈图2.3快速原型模型Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011Aspos

ePtyLtd.原型模型(快速原型模型)原型范型用户测试运行原型建造/修改原型听取用户意见Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.采用原型模型的软

件生存周期分析定义系统需求生成原型系统设计程序设计编码测试运行和维护原型化含原型化的软件生存期Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-20

11AsposePtyLtd.快速原型模型特点(1)快速开发工具(2)循环(3)低成本种类(1)渐进型(2)抛弃型原型法具有明显的优点,它的开发周期短,见效快,可以边开发边使用,较适合于开发环境和管理体制多变、系统结构不稳定的情况。但是开发系统采用原型法,需要有交互式开发环境

和第四代语言及自动编程系统的支持,其初始原型设计较为困难,开发过程尚缺乏有效的管理方法和控制手段。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004

-2011AsposePtyLtd.2.3软件演化模型1.阶段式开发:增量模型系统设计时分片交付,可使用户在使用某些基本功能的同时,开发剩余的功能。这样通常会并行地存在两个系统:生产系统和开发系统。运行或生产系统是当前被客户或用户所使用的系统。而开发系统是准备用于替代当前

生产系统的下一个版本。增量模型是一种非整体开发的模型。是瀑布模型的顺序特征和快速原型模型的迭代特征相结合的产物。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientP

rofile5.2.0Copyright2004-2011AsposePtyLtd.创建版本1创建版本2创建版本3使用版本1使用版本2使用版本3开发者使用者阶段式开发:增量和迭代模型Evaluationonly.eatedwit

hAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.增量模型规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规

格说明设计实现和集成交付客户增量1增量2增量3增量nEvaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.增量模型增量小而可用的软件

特点在前面增量的基础上开发后面的增量每个增量的开发可用瀑布或快速原型模型迭代的思路Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyr

ight2004-2011AsposePtyLtd.螺旋模型软件开发几乎总要冒一定的风险,例如,产品交付给用户之后用户可能对产品不满意,到了预定的交付日期软件可能还未开发出来,实际的开发成本可能超过了预算,产品完成之前一些关键的开发人员可能“跳槽”了,产品投入市场之前竞争对手发布了一个功能相

近、价格更低的软件等等。软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件产品越复杂,承担该项目所冒的风险也越大。软件风险可能在不同程度上损害软件开发过程和软件产品质量。因此,在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种

能使某些类型的风险降至最低的方法。于是在1988年B.boehm提出了螺旋模型。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.螺旋模型螺

旋模型的基本思想是,使用原型及其他方法以尽可能地降低风险。理解这种模型的一个简易方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,如右图所示。简化的螺旋模型图Evaluationonly.eatedwi

thAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.螺旋模型螺旋模型将瀑布模型与增量模型结合起来,加入了两种模型均忽略了的风险分析,弥补

了这两种模型的不足。螺旋模型是一种风险驱动的模型。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。螺旋模型适合于大型软件的开发。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyrig

ht2004-2011AsposePtyLtd.螺旋模型完整的螺旋模型图制定计划风险分析客户评估工程实施Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-20

11AsposePtyLtd.螺旋模型图中带箭头的点划线的长度代表当前累计的开发费用,螺线旋过的角度值代表开发进度。螺旋线每个周期对应于一个开发阶段。每个阶段开始时(左上象限)的任务是,确定该阶段的目标、为完成这些目标选择方案及设定这些方案的约束条件。接下来的任务是,从风险角度分析上一步的工作结

果。努力排除各种潜在的风险,通常用建造原型的方法来排除风险。如果风险不能排除,则停止开发工作或大幅度地削减项目规模。如果成功地排除了所有风险,则启动下一个开发步骤(右下象限),在这个步骤的工作过程相当于纯粹的瀑布模型。最后是评价该阶段的工作成果并计划下一个

阶段的工作。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.螺旋模型特点瀑布模型+快速原型+风险分析迭代过程一个螺旋式周期确定目标,选择方案

,选定完成目标的策略风险角度分析该策略启动一个开发阶段评价前一步的结果,计划下一轮的工作Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyL

td.2.4面向对象的开发模型——1在讲面向对象的开发模型之前先讲•面向对象的基本概念对象Object类Class继承Inheritance消息Message面向对象对象+类+继承+消息通信Evaluationonly.ea

tedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.对象Object客观世界中的实体状态(静态属性Attributes)操作(动态行为Method

s)对象::=<ID,MS,DS,MI>Identifier——(标识:即名称,用来在问题域中区分其他对象)MethodSet——(即行为或方法:一是对自身的操作,改变原有的属性状态;另一是施加于其他对象的操作,将产生的输出结果作为

消息发送的操作)DataStructure——(数据:描述对象属性的存储或数据结构,他表示了对象的一个状态)MessageInterface——(接口:主要指对外接口,指对象受理外部消息所制定的操作的名称集合)Evaluat

iononly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.对象的特点以数据为中心对象

是主动的实现数据封装本质上有并行性模块独立性好Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposeP

tyLtd.类Class和实例Instance类相同属性和行为的对象的抽象实例特定类所描述的一个具体对象Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5

.2.0Copyright2004-2011AsposePtyLtd.子类直接继承父类的数据和操作继承的传递性,单继承、多重继承继承(Inheritance)家具桌子椅子衣柜床椅子的实例Evaluationonly.eatedwithAspose.Slidesfor.NET3.5

ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.多态性Polymorphism概念不同类层次共享一个方法名相同的参数特征和返回值类型多种不同实现C++中虚函数实现动态联编Evalu

ationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.重载Overload

ing函数重载同一作用域多个名字相同的函数参数特征不同静态联编运算符重载Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyri

ght2004-2011AsposePtyLtd.消息Message对象间的交互手段形式:Message:[dest,op,para]DestinationObject(目标对象)Operation(操作

)Parameters(参数)Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.2.4面向对象的开发模型——2对象技术为软件工程的基于构件的过程模型提供了

技术框架。面向对象范型强调了类的创建,类封装了数据和用于操纵该数据的算法。如果经过合适的设计和实现,面向对象的类可以在不同的应用及基于计算机的系统结构中复用。面向对象模型融合了螺旋模型的许多特征。它本质上是演化的,支持软件开发的迭代方法。Evalua

tiononly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.喷泉模型喷泉模型是属于面向对象

方法学的,是一种以用户需求为动力,以对象作为驱动的模型。它适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无

间隙是指在分析、设计和实现等开发活动之间不存在明显的边界。该模型是由B.H.Sollers和J.M.Edwards于1990年提出的一种新的开发模型。主要用于采用对象技术的软件开发项目。它克服了瀑布模型不支持

软件重用和多项开发活动集成的局限性,喷泉模型使开发过程具有迭代性和无间隙性。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.喷泉

模型喷泉模型实现软件设计系统设计分析Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.喷泉模型其特点如下:1、开发过程有分析、系

统设计、软件设计和实现4个阶段。2、各阶段相互重叠,它反映了软件过程并行性的特点。3、以分析为基础,资源消耗成塔型。4、反映了软件过程迭代性的自然特性,从高层返回低层无资源消耗。5、强调增量开发,整个过程是一个迭代的逐步提炼

的过程。6、喷泉模型是对象驱动的过程,对象是所有活动作用的实体,也是项目管理的基本内容。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright200

4-2011AsposePtyLtd.构件集成模型构件(component)也称为组件,是一段实现一系列有确定接口的程序体,具有自己的功能和逻辑,能同其他构件组装起来协调工作。该模型支持软件重用,对缩短软件开发周期、降低项目成本有重要的现实意义。同时,建造符合某应用领域体系结构标准的构件,可

以用来搭建分布式的、跨越不同操作平台的软件,扩展了软件的应用前景,促进了软件标准化、商品化的发展。因此,在此基础上专家们又提出了“基于构件的软件工程”(CBSE)。构件组装模型具有极其广阔的实用性和深远的意义。构件组装模型如下图所示:Evaluationonly.eated

withAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.构件集成模型软件需求标识构件检索构件库开发构件取出构件存入构件库集成目标系统体系结构设计构件适应

性修改集成测试系统测试运行维护Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.构件集成模型Evaluationonly.eatedw

ithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.构件集成模型特点面向对象基于构件库融合螺旋模型特征支持软件开发的迭代方法软件重用Evaluatio

nonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.构件技术软件体系结构被建立后,必须用构件去充实,这些构件可从复用库中获

得,或者根据专门需要而开发。整个过程可以演化地进行,面向对象方法给予技术上的支持。构件技术目前主要有三种流行标准:•OMG的CORBA:对象管理组织发布的公共对象请求代理体系结构(CommonObjectRequestBrokerArchitectur

e)。一个对象请求代理(ORB)提供一系列服务,使得一个构件和其他构件通信,而不管它们在系统中的位置,实现了远程对象通过接口进行通信的机制。Evaluationonly.eatedwithAspose.Slides

for.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.构件技术•微软的COM/DCOM:微软开发了构件对象模型(ComponentObjectM

odel),它提供了运行于windows之上的单个应用系统使用不同厂商生产的构件的规约。基于分布式环境下的COM称为DCOM(DistributeCOM)。•SUN的EJB(EnterpriseJavaBean):随着Java在

企业级应用的地位日趋重要,Sun提出了一个统一的企业级Java平台—J2EE。在J2EE中,EJB负责最核心的业务处理。它为服务器端的应用程序提供了一种与厂商无关的Java接口,让任何符合EJB规范的构件都可以运行在每一台这样的服务器上。E

valuationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.基于构件的未来软件生产线应用构件提取车间

应用构件库构件生产车间构件库组装车间领域1领域2应用系统...12341基础构件,2功能构件3接口构件,4用户界面构件Evaluationonly.eatedwithAspose.Slidesfor.NET3.

5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.2.5形式化方法模型形式化方法模型是一种基于数学的开发技术,主要采用数学的方法与表示体系描述软件的性质,表示软件规格说明,然后进行一系

列自动或半自动的程序转换,最后转化为计算机系统能够接受的目标程序系统。是基于形式化语言和程序变换的模型,因此,也称变换模型。从软件需求形式化说明开始,经过一系列的数学变换和正确性证明,最终得到系统的目标程序。形式化方法使开

发者应用一个严格的数学符号体系来表示、构造和验证系统,从而大大提高软件的可靠性。模型见下图:Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright20

04-2011AsposePtyLtd.转换模型形式化规格说明与需求比较后修正变换2变换1变换n测试形式化开发记录系统需求目标系统Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-

2011AsposePtyLtd.转换模型两种技术:•基于模型的规格说明及其变换技术基于模型的技术使用数学上的结构如集合和函数为系统建模。它们能展现系统的状态以简化对某些行为的描述。基于模型的描述语言及方法如

Z、VDM(ViennaDefinitionMethod)、B、PetriNets等。•基于代数结构及其变换技术代数方法适合于对接口的描述。这里接口被定义为一组对象类或抽象数据类型的集合,用接口操作之间的关系来刻画系统。E

valuationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.转换模型特点:•该模型迫使对系统需求的分析在软件开发的早期阶段完成。在这个阶段改正错

误比在系统被交付之后修改错误要经济得多。•形式化描述是对非形式化描述技术的补充。可以用来精化非形式化的详细的系统需求描述。描述是精确的和无二义的,避免了由于语言误解而产生的一些问题。•最适合用于安全性、可靠性和保密性等性能要求极高的系统。•开发成本较

高。•需要严格的数学理论和开发环境的支持。•难以与用户进行通信。Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011As

posePtyLtd.形式化过程模型的一个扩展——净室模型形式化过程模型的一个扩展,称为净室软件工程或净室模型,它除了强调分析和设计上的严格性,以及使用基于数学的正确性证明来对设计模型的每个元素进行形式化验证外,还强调了统计质量控制技术。基本思想:力求在分析

和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。关键技术:•基于统计过程控制之下的增量开发•基于函数的规范、设计、验证•统计测试和软件认证模型见下图:Evaluationonly.eatedwi

thAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.净室模型需求收集盒结构规约形式化设计统计性使用测试正确性证明代码生成与检查测试计划认证需求收集盒结构规约形式

化设计统计性使用测试正确性证明代码生成与检查测试计划认证需求收集盒结构规约形式化设计统计性使用测试正确性证明代码生成与检查测试计划认证增量1增量2增量nEvaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copy

right2004-2011AsposePtyLtd.净室模型净室思想在分析和设计阶段消除错误在“洁净”状态下实现软件制作形式化盒结构表示分析和设计正确性验证增量模型Evaluationonly.eatedwit

hAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.案例考虑如下两个软件项目的例子:针对一种新机器,为一种已知的编程语言(例如,C语言)开发一种普通的编译器;开发一

个应用程序使医生办公室自动化。问:其中哪一个项目可能要求一个瀑布型生命期开发模型?为什么?这两个例子可能存在什么风险?所选的开发模型如何处理这些风险?Evaluationonly.eatedwithAspose.Slidesf

or.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.小结讲了八种软件开发模型,还有智能模型等等软件开发模型是不断发展的各种软件开发模型各有优缺点选用时不必拘泥于某种模型可组合多种模型也可根据实际创建

新的模型Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyright2004-2011AsposePtyLtd.Evaluationonly.eatedwithAspose.Slidesfor.NET3.5Cl

ientProfile5.2.0Copyright2004-2011AsposePtyLtd.作业习题P291.2.3.1.什么是软件生存周期?软件生存周期划分成阶段的目的是什么?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。(1)任何一个阶段的具体

任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。(2)可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。(3)使软件开发的全过程以一种有

条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。2.3.Evaluationonly.eatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0Copyri

ght2004-2011AsposePtyLtd.

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?