欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    集成工程师精选文档.ppt

    • 资源ID:52091949       资源大小:7.78MB        全文页数:165页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    集成工程师精选文档.ppt

    集成工程师本讲稿第一页,共一百六十五页第第3章信息系统集成专业技术知识章信息系统集成专业技术知识3.1信息系统建设与软件工程3.2软件工程方法与技术3.2.1软件生命周期和过程模型3.2.2过程管理体系3.2.3软件分析过程3.2.4软件设计过程4.2.5软件测试过程3.2.6软件维护过程3.2.7软件质量保证及评价体系2本讲稿第二页,共一百六十五页33.3软件分析方法3.3.1结构化分析方法3.3.2面向对象分析方法3.4软件设计方法3.4.1结构化设计3.4.2面向对象设计3.5系统架构设计3.5.1软件体系结构基本概念3.5.2软件体系结构风格3.5.3软件体系结构应用框架3.5.4软件设计模式本讲稿第三页,共一百六十五页3.1信息系统建设与软件工程信息系统集成定义根据信息产业部1999年1047号文件计算机信息系统集成资质管理办法(试行)中定义:计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障。4基本概念本讲稿第四页,共一百六十五页信息系统的特点以满足用户需求为根本出发点是综合的、高技术含量的系统工程最终交付物时完整系统,而不是产品系统包括技术、管理、商务活动,技术是核心,管理商务是保障5本讲稿第五页,共一百六十五页信息系统集成的分类信息系统集成包括两大类:设备系统集成也称“硬件系统集成”、“系统集成”,或简称“弱电系统集成”,区别于机电设备安装类的强点集成。应用系统集成(ApplicationSystemIntegration)应用系统集成也称“行业信息化解决方案集成”。指提供符合业务需求和管理需求的系统技术解决方案和运维方案。6本讲稿第六页,共一百六十五页设备集成包括:智能建筑系统集成(IntelligentBuildingSystemIntegration),指搭建建筑主体内的智能化管理系统。如:综合布线技术、楼宇自控技术、网络互联技术、多媒体应用技术、安防技术等。计算机网络系统集成(ComputerNetworkSystemIntegration)指利用综合布线和计算机网络技术,将分散在不同地点的电脑设备及功能的集成。安防系统集成(SecuritySystemIntegration)指搭建机构或组织内部的安全防范管理系统。如:门襟系统、楼宇对讲系统、防盗监控报警系统、停车管理系统、远程会议系统等。7本讲稿第七页,共一百六十五页信息系统集成技术信息系统技术与软件工程从信息系统集成的分类可以看出,信息系统集成所涉及的专业技术非常广泛,除了包括多种学科的专业技术之外,还包括管理学科的技术和方法。从信息系统集成的开发过程来看,主要涉及技术是软件工程和网络技术。8本讲稿第八页,共一百六十五页9软件工程基本概念软件工程的定义:软件工程方法和技术是计算机学科的重要部分。按照IEEE93对软件工程定义:第一,软件工程是将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。第二,软件工程是在一中所述方法的研究。本讲稿第九页,共一百六十五页软件工程定义中给出的4个要点软件工程的性质是系统的、严格约束的、可量化的方法软件工程作用的范围是用于软件的开发、运行和维护的全过程软件工程的目标是工程化应用于软件软件工程的趋势是软件工程方法的不断发展和研究10本讲稿第十页,共一百六十五页软件工程的内容包括:工程部分:包括软件项目的招标、投标、合同、实施、监督、验收、推广,等方面来研究,以经济管理科学的理论为依据,研究软件工程的规划策略和经济收益等工程问题。技术部分:软件项目的分析、设计、编码、测试、维护等技术方法。依据软件技术理论,以高效、健壮、可复用、可维护的软件为目标。研究软件体系结构、组成成分,以及构造方式,等。管理部分:软件项目开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学性、合理性、高效可行、及可测量性为目标,来研究工程项目管理。11本讲稿第十一页,共一百六十五页3.2软件工程方法和技术3.2.1软件生命周期及过程过程模型3.2.2软件过程管理体系3.2.3软件分析过程3.2.4软件设计过程3.2.5软件测试过程3.2.6软件维护过程3.2.7软件质量保证及评价体系12本讲稿第十二页,共一百六十五页软件开发生命周期(SystemsDevelopmentLifeCycle)是软件的产生直到报废的存活期。与人类相同,任何软件都会经历同样的生命周期。133.2.1软件生命周期及过程过程模型本讲稿第十三页,共一百六十五页软件过程软件过程(SoftwareProcedure)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动中包括完成软件项目的各项任务的;每个任务都要运用软件开发方法和技术实施软件系统。活动的执行按照基本的规律,在一定的条件下,可以是顺序的、重复的、并行的、嵌套的等不同的形式,这些形式属于过程模型(本章过面论述)。14本讲稿第十四页,共一百六十五页软件过程模型15传统软件开发模型演化模型面向对象开发模型形式化方法模型 (智能模型)增量模型螺旋模型喷泉模型构件集成模型瀑布模型快速原型模型转换模型净室模型本讲稿第十五页,共一百六十五页161)瀑布模型需求分析软件设计编码测试维护模型要点:阶段的顺序性推迟实现的观点严格文档是保证质量的手段带来的问题:过程基本不可迭代需求在开始的不确定性错误到最后才能发现开发进程呈现塞阻状态可行性研究本讲稿第十六页,共一百六十五页172)原型模型带来的问题:系统分析组织仓促需求背离合同,进度不易保证先入为主而系统设计,可能不是最佳设计听取用户意见建造修改原型测试运行原型原型过程示意:本讲稿第十七页,共一百六十五页183)增量模型分析设计编码测试分析设计编码测试分析设计编码测试分析设计编码测试增量2增量3增量4增量1第1个增量的发布第2个增量的发布第3个增量的发布第4增量的发布模型要点:瀑布和原型模型相结合强调版本升级每版本开发遵循顺序过程 本讲稿第十八页,共一百六十五页19风险分析累计费用制定阶段 计划评审约定模型4)螺旋模型模型要点:统一了瀑布模型与原型模型 与增量模型相似,更强调风险分析风险分析风险分析风险分析原型1原型2原型3运行原型软件需求需求有效性产品设计设计有效性验证操作概念需求阶段计划开发计划确定目标选择方案设定条件运行验收测试集成测试详细设计单元测试编码系统集成测试计划评估方案明确风险排除风险开发验证本讲稿第十九页,共一百六十五页2020205)喷泉模型演化维护确认实现设计分析模型要点:体现认识事物的循环迭代性强调开发活动之间的无间隙性 无明显的活动阶段划分适用于面向对象的开发过程本讲稿第二十页,共一百六十五页216)构件集成模型构件库问题域识别构件查找构件生成构件组装系统查到构件未查到构件模型要点:基于面向对象的构件方法 立足于软件复用性 形成统一开发过程RUP 采用统一建模语言本讲稿第二十一页,共一百六十五页222222需求明确或有先例的项目 瀑布模型需求不明确或与客户难以沟通的项目 原型模型规模大且时间紧的项目 增量模型带有突破性技术的项目 螺旋模型采用面向对象方法开发的项目 喷泉模型明显复用潜力的项目 构件模型 项目情况适用模型项目适应模型的一般规律本讲稿第二十二页,共一百六十五页233.2.2软件过程管理体系1)软件过程管理的体系:软件过程的定义、主要内容、策略、方法等。主要的软件过程管理体系:RUP(RationalUnifiedProcess)统一过程PSP(PersonalSoftwareProcess)个体软件过程敏捷过程2)软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware)软件能力成熟度模型体系CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成体系,CMMI/SPCA双模认证(软件能力成熟度与软件过程能力)评估体系。本讲稿第二十三页,共一百六十五页RUP(RationalUnifiedProcess)Rational公司提出的软件按开发过程模型。是一个面向对象软件工程的通用业务流程。RUP的目标:为确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP过程模型:横轴是时间轴,分为反复迭代的四个阶段:初始阶段、细化阶段、构造阶段和发布阶段纵轴是工作流轴,包括六个核心工作流程和三个核心支撑工作流程24本讲稿第二十四页,共一百六十五页25时间轴初始阶段 细化阶段 构造阶段 发布阶段工作流轴支撑工作流程区业务建模需求分析设计实现测试发布配置与变更管理项目管理环境核心工作流程区RUP过程模型本讲稿第二十五页,共一百六十五页RUP的6项经验迭代式开发。允许在过程中,不断适应需求的变化,通过不断细化来加深对问题的理解。管理需求。提供如何提取系统功能和约束条件,并将其文档化。基于构件的体系结构。使系统成为可构造、可复用,系统应该尽量采用构件式结构。可视化建模。采用UML对软件系统建模,提供软件文档控制及管理能力。验证软件质量。软件质量评估是事先进行的并贯穿在整个过程所有活动中的必需任务,要统一组织和管理控制软件变更。给出了如何控制、跟踪及监控对系统过程中的修改工作,以确迭代过程进行。26本讲稿第二十六页,共一百六十五页PSP个体软件过程PSP(PersonalSoftwareProcess)个体软件过程,是由美国CarnegieMellon大学软件工程研究所开发的,是用于软件开发中,控制和管理个人工作方式的一种软件过程体系。PSP给出了个体软件过程的原则,并可应用到任何软件工程任务之中。PSP提供了度量和分析工具,帮助软件开发者做出准确的计划;确定为改善产品质量所采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件开发者能力的影响。27本讲稿第二十七页,共一百六十五页敏捷过程敏捷过程20世纪末世纪末90年代后期,出现了一些软件开发方法的新观年代后期,出现了一些软件开发方法的新观点,虽然形式各异,但都有一个共同点:强调自组织团点,虽然形式各异,但都有一个共同点:强调自组织团队、面对面交流、紧缩文档工作量、增强应急需求变化队、面对面交流、紧缩文档工作量、增强应急需求变化。2001年年2月月17位软件学者联合起草了位软件学者联合起草了敏捷软件开发宣言敏捷软件开发宣言(http:/WWW.agilemanifesto.org)宣言的宣言的4个基本价值观点:个基本价值观点:1)“个体和交互个体和交互”胜过胜过“过程和工具过程和工具”2)“可以使用的软件可以使用的软件”胜过胜过“面面俱到的文档面面俱到的文档”3)“客户合作客户合作”胜过胜过“合同谈判合同谈判”4)“响应变化响应变化”胜过胜过“遵循计划遵循计划”28本讲稿第二十八页,共一百六十五页敏捷软件开发宣言中的主要原则:敏捷软件开发宣言中的主要原则:尽早并应连续交付软件,时间越短越好尽早并应连续交付软件,时间越短越好不反对开发后期有需求变化,以满足用户心理需求不反对开发后期有需求变化,以满足用户心理需求业务人员和开发人员应始终每天在一起业务人员和开发人员应始终每天在一起提供开发人员必要的环境支持,并给以充分信任提供开发人员必要的环境支持,并给以充分信任最有效的信息传达是面对面交流最有效的信息传达是面对面交流最好的度量标准是提供可以使用的软件最好的度量标准是提供可以使用的软件持续追求卓越良好的设计是敏捷性的关键持续追求卓越良好的设计是敏捷性的关键简单(尽量减少工作量)最重要简单(尽量减少工作量)最重要最好的设计会出自于自组团队最好的设计会出自于自组团队定期总结、及时调整行动会提高效率定期总结、及时调整行动会提高效率29本讲稿第二十九页,共一百六十五页理解敏捷软件开发宣言:理解敏捷软件开发宣言:比较了成功软件开发因素的重要性,并没有反对或比较了成功软件开发因素的重要性,并没有反对或试图取代其他因素。试图取代其他因素。极限编程极限编程(eXtreme Programming XP)极限编程是敏捷过程的代表性方法极限编程是敏捷过程的代表性方法“极限极限”是指把是指把有效的开发实践有效的开发实践运用到极致运用到极致适用于需求模糊且经常变换的系统开发适用于需求模糊且经常变换的系统开发30本讲稿第三十页,共一百六十五页极限编程的有效开发实践:极限编程的有效开发实践:客户作为开发团队成员客户作为开发团队成员使用用户素材使用用户素材短交付周期短交付周期由客户指定验收测试由客户指定验收测试结对编程,辅助一人审查与测试结对编程,辅助一人审查与测试测试驱动开发,编码之前涉及测试用例测试驱动开发,编码之前涉及测试用例代码集体所有,集体成员有权阅读和修改代码集体所有,集体成员有权阅读和修改运用不断及时地持续集成,并进行回归测试运用不断及时地持续集成,并进行回归测试维持可持续性,每周工作时间不超过维持可持续性,每周工作时间不超过40h开放工作空间开放工作空间及时调整计划及时调整计划坚持简单设计、代码重构、使用隐喻(抽象)坚持简单设计、代码重构、使用隐喻(抽象)31本讲稿第三十一页,共一百六十五页用户故事用户故事测试用例测试用例架构试探架构试探指定交指定交付计划付计划迭代开发迭代开发验收测试验收测试难点试探难点试探需求需求用户新故事用户新故事差错差错隐喻隐喻交付计划交付计划最新版本最新版本用户认可用户认可下次迭代下次迭代估计不确定估计不确定估计确定估计确定极限编程开发过程极限编程开发过程小交付小交付32本讲稿第三十二页,共一百六十五页软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware,SW-CMM,简称CMM)软件能力成熟度模型,是由美国CarnegieMellon大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定的。初始的目的是为了评价美国国防部的软件合同承包组织的能力,因为在软件企业应用进取得了较大的成功,所以在全世界范围内被广泛使用。CMM的核心CMM的是这对软件开发全过程管理和控制,使其更加科学化、标准化。作为一种评价软件承包能力,并且,帮助其改善软件质量的方法。CMM的核心是软件开发过程的管理工程能力的提高与评估。33本讲稿第三十三页,共一百六十五页CMM的体系的主要内容:能力等级能力等级特点特点关键过程域关键过程域KPA第一级第一级 基本级基本级软软件件过过程程混混乱乱而而无无序序,几几乎乎没没有有过过程程定定义义,完完全全依依靠靠的的个个人人的的才才能能和和经经验验来来实实施系统施系统,反应式的管理方式。反应式的管理方式。第二级第二级 可重复级可重复级建建立立了了基基本本的的项项目目管管理理机机制制,对对项项目目进进度度和和费费用用有有必必要要的的跟跟踪踪,能能够够利利用用以以前前类似的项目经验,重复开发过程。类似的项目经验,重复开发过程。需需求求管管理理,项项目目计计划划,项项目目跟跟踪踪和和监监督督,软软件件子子合合同同管管理理,软软件件配配置置管管理理,软软件件质质量量保保障障第三级第三级 定义级定义级 制制定定了了软软件件工工程程化化标标准准化化和和文文档档标标准准化化,并在软件开发过程中得以实施。并在软件开发过程中得以实施。过过程程定定义义,过过程程焦焦点点,培培训训,集集成成管管理理,软软件件产产品品工工程程,组组间协调间协调,专家审评专家审评第四级第四级 管理级管理级收收集集软软件件过过程程和和产产品品质质量量的的详详细细度度量量,对对软软件件过过程程和和产产品品质质量量有有定定量量的的理理解解和和控制。控制。定定量量的的软软件件过过程程管管理理和和产产品质量管理品质量管理第五级第五级 优化级优化级软软件件过过程程的的量量化化反反馈馈和和新新的的思思想想和和技技术术促进过程的不断改进。促进过程的不断改进。缺缺陷陷预预防防,过过程程变变更更管管理理和和技术变更管理技术变更管理34本讲稿第三十四页,共一百六十五页3535软件配置管理软件配置管理软件配置项(SCI Software Configuration Item):分类特性举例环境类软件开发或维护环境编辑器、编译器、文档工具等定义类需求分析与定义阶段得到的工作产品需求规格说明书、开发计划、设计和测试标准、验收计划设计类设计阶段得到的产品设计规格说明、程序规格说明、用户界面设计标准、用户手册编码类编码及单元测试后产品源代码、目标代码、单元测试数据及结果测试类系统测试后得到的产品系统测试数据、测试结果、操作手册、安装手册维护类进入维护后所得到的产品以上任何需要变更的配置项本讲稿第三十五页,共一百六十五页CMM关键过程域和考核标准KPA是CMM实现每级目标的关键过程域(KeyProcessArea)KPA考核标准:确定目标:给出准确的目标,若满足了某个级别的所有KPA要求,则表明达到了该级别的能力。实施保证:必须采取的活动,包括制定企业范围的政策和高层管理的责任。实施能力:前提条件,包括资源保证、人员培训等。必须采取措施满足这些条件后,才有可能执行KPA的活动。执行活动:执行KPA的角色和步骤。包括计划、执行、及执行跟踪等。度量分析:对过程度量和度量分析,确定执行活动的状态,以及执行活动的有效性。实施验证:验证执行活动是否与所建立的过程一致。组织评审、审计及质量保证活动。36本讲稿第三十六页,共一百六十五页CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成,是SEI在2000年发布的CMM的新版本。在CMM基础上,整合了SoftwareCMM、SystemsEng-CMM、PeopleCMM和AcquisitionCMM,建立起除软件开发外,软件系统工程中诸多因素处理能力的标准和评价体系。CMMI主要内容软件能力成熟度模型CMM2.0草案、系统工程能力成熟度模型、软件采购能力成熟度模型、集成产品和过程开发等。CMMI的KPA增加至25个,目标105个,关键实践485条。CMMI的基本目标解决大型软件项目过程改进难度增大问题可实施软件过程的并行化与多学科组合提高过程改进的效益37本讲稿第三十七页,共一百六十五页CMM评估评估机构及人员要求:必须由SEI授权的合作机构,由SEI授权的主任评估师进行评估。遵守SEI发布的评估需求和评估方法;若进行双模式SPCA(软件过程能力和软件能力成熟度)评估,必须得到信息产业部和国家认证认可委员会的批准,评估过程遵守国家发布的SPCA评估方法。申请评估企业的一般条件要求企业的项目或产品活动应能覆盖所申请CMM/CMMI等级的要求;SPCA评估,要求企业成立5年以上,软件开发人员20人以上,评估项目和人员覆盖率达到70以上38本讲稿第三十八页,共一百六十五页实施CMM到评估的基本流程:CMM/CMMI培训成立软件过程组织、软件质量保证组织建立和完善过程管理体系试点实施推广并制度化参加预评估参加、准备最终评估持续改进39本讲稿第三十九页,共一百六十五页软件需求分析概述软件需求分析是软件生命周期中必不可少的重要的部分,是软件开发成败的关键,占整个工程一半以上的工作量。需求分析用经过证实的有效原理、方法,通过合适的工具和记号,系统地描述待开发产品或系统的行为特征及相关约束。403.2.3软件分析过程本讲稿第四十页,共一百六十五页41建立分析模型 在当前物理模型的基础上,建立分析模型完成“软件需求规格说明”(Software Requirement Specification,SRS)在SRS中,定义软件的功能,信息,表示软件的行为需求验证 与用户达成共识启动测试活动 编写测试计划和测试案例需求分析的任务和步骤本讲稿第四十一页,共一百六十五页42行业知识学习访问用户考察现场定制调研计划组织调研整理调研问题陈述建立当前系统物理模型建立未来系统逻辑模型多次反复的过程编制需求规格说明开发系统原型系统分析步骤示意本讲稿第四十二页,共一百六十五页43需求规格说明需求规格说明:(主要内容)1.引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料2.任务概述 2.1目标 2.2运行环境 2.3条件与限制3.数据描述 3.1数据字典(或数据库描述)3.2数据采集4.功能需求 4.1功能划分 4.2功能描述5.性能描述 5.1数据精确度 5.2时间特性 5.3适应性6.运行需求 6.1用户界面 6.2硬件接口 6.3软件接口 6.4故障处理7.其它需求需求分析阶段的产品本讲稿第四十三页,共一百六十五页软件的非功能性需求过程需求:交付需求、实现方法需求、标准需求等产品需求:可用性、性能需求、可靠性需求、可移植性需求、可重用性需求、安全性需求等外部需求:法规需求、费用需求、互操作性需求等需求模型模型是描述现实问题的一种手段,它能抽象和简化地反映实际产品或系统的外部特征和本质。不同的方法学有不同的模型表示。因此,它是软件工程方法学研究的主要内容之一。(本章后面论述)44本讲稿第四十四页,共一百六十五页45软件设计,在软件生命周期中处于技术核心的位置,将完成软件系统实现意义的工程表示。软件设计阶段任务:数据设计,用数据结构组织处理数据元素之间的逻辑关系体系结构设计,定义软件的主要结构、构造元素、及之间的关系、限制和约束接口设计,描述软件内部、软件和协作系统之间的通信,数据流或控制流构件逻辑设计,对软件结构的构造元素,进行软件算法过程的描述,为编码提供依据3.2.4软件设计过程本讲稿第四十五页,共一百六十五页46软件设计的方法和技术软件设计方法是软件工程中,软件技术的汇集焦点。它汇集了操作系统、数据库技术、网络技术、软件体系结构,以及算法设计、界面设计等,几乎涵盖了计算机学科的所有技术和方法。不同的方法学对应不同的设计方法和技术,目前的两大主流方法学:结构化设计方法面向对象的设计方法(本章后面分别论述)本讲稿第四十六页,共一百六十五页47软件测试基本概念为了发现软件中的错误,努力产生好的测试案例能成功发现软件错误的测试才是好的测试能揭示软件错误的案例才是好的案例测试不可能穷举,只能尽量充分覆盖软件测试的基本原则 测试应符合软件的功能及性能需求测试要有计划地进行测试应该从小规模开始,逐步到大规模的测试测试应该由软件开发人员和独立测试组共同完成3.2.5软件测试过程本讲稿第四十七页,共一百六十五页48软件测试的三个阶段单元测试阶段,验证程序控制结构的分支,尽量覆盖所有可能的错误集成测试阶段,在单元测试的基础上验证程序以及测试程序构造问题高阶测试,也叫做“确认性测试”,是对已经通过集成测试并可运行的程序进行的测试确认性测试集成测试单元测试编码设计需求分析验证需求分析验证设计验证编码可行性分析系统维护测试v模型本讲稿第四十八页,共一百六十五页49软件测试策略方法 软件测试的不同阶段对应不同测试策略单元测试策略,包括:程序中常见错误的测试、单元测试规程,等策略集成测试策略,包括:自顶向下的测试、自底向上的测试、回归测试、烟雾测试,等策略高阶测试策略,包括:测试、测试、恢复测试、安全测试、应力测试、性能测试等策略本讲稿第四十九页,共一百六十五页50软件测试技术黑盒测试技术,为证实软件运行功能,通过功能的操作执行发现和寻找错误白盒测试技术,为证实软件内部的执行规约,在程序内部发现和寻找错误软件测试方法和工具结构化测试方法和工具,是针对结构化程序语言程序的测试方法,以及结构化程序设计语言环境的软件测试工具。面向对象测试方法,针对面向对象程序语言程序的测试方法,以及面向对象程序设计语言环境的软件测试工具。本讲稿第五十页,共一百六十五页51基本概念软件维护是指对已经提交用户使用的软件系统或软件产品的修改是软件生命周期中必然经历的阶段软件系统缺陷问题 软件的基本性质决定必然存在缺陷:软件是人工过程为主的知识密集型产品,软件开发者对解决问题的理解总是有误差的与软件操作相关的环境和需求是会变化的软件解决的现实问题本身是存在不确定性因素的软件开发的方法和技术本身是存在局限性的3.2.6软件维护过程本讲稿第五十一页,共一百六十五页52软件维护的基本类型改正性维护:交付使用的软件暴露的错误隐患适应性维护:更新业务以及硬件系统或软件环境升级完善性维护:原有功能或性能在使用中发现短缺预防性维护:系统未来的扩充、维护、移植 改正性维护20%适应性维护25%完善性维护50%其它4种维护的比例:本讲稿第五十二页,共一百六十五页53软件维护的任务及过程设置专门的维护确认审批机构,减少由于随意修改造成的系统结构混乱建立合理的维护管理流程及严格的维护文档,包括:申请、审批、问题报告、维护计划、实施结果进行维护活动的评审,对维护所带来的成本开销给出定量的分析本讲稿第五十三页,共一百六十五页54软件质量定义按国际标准ISO/8042-1994对软件质量定义:能满足明确需求的软件实体,所具有能力的特性总合。按照国家GB/T 11457-2006软件工程术语中定义软件质量为:软件产品能满足给定需要的性质和特性的总体软件质量模型,表达了软件特性应包括的内容3.2.7软件质量保证及评价体系本讲稿第五十四页,共一百六十五页55软件质量模型质量模型是质量特性结构的表达,业界认同的软件质量模型有几种:Bohm 质量模型,1976年由Bohm等提出软件质量分层模型McCall 质量模型,1979年由McCall等人提出的软件质量模型ISOIEC 9126-1:2001,给出的软件质量模型本讲稿第五十五页,共一百六十五页56软件质量可移植性可用性可维护性可靠性效率人类工程可测性可理解性可修改性设备独立性自包含性正确性完备性健壮性一致性可计测性设备效率可存取性通信性自描述性结构化性简单清晰性可扩充性Bohm 质量模型本讲稿第五十六页,共一百六十五页57产品修正产品转移产品运行可维护性可测试性灵活性互联性可移植性复用性 正确性 可靠性易用性 效率 完整性McCall 质量模型本讲稿第五十七页,共一百六十五页58外部质量和内部质量功能性易用性可靠性效率可维护性可移植性使用质量生产性有效性安全性满意度ISOIEC 9126-1:2001质量模型本讲稿第五十八页,共一百六十五页59软件质量保证体系ISO9001是适用于所有工程质量保证标准。ISO9000-3是在软件过程中质量保证体系使用的子集。标准给出的主要内容包括:管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、服务、统计系统等20多项。本讲稿第五十九页,共一百六十五页软件评审软件评审是软件质量保证的重要措施根据GB/T12504-1990计算机软件质量保证计划规范软件评审包括:1)软件需求评审,产品对应需求的适合性,在软件需求分析结束后进行。2)概要设计评审,软件设计的总体结构、外部接口、部件分配、数据结构以及各主要部件之间的接口等方面的适合性,在软件概要设计结束后进行。3)详细设计评审,评价软件设计的每一个基本部件的功能、算法和过程描述各方面的适合性,在软件详细设计结束后进行。60本讲稿第六十页,共一百六十五页4)软件验证和确认评审,评价软件验证与确认计划中使用方法的适合性与完整性,在软件验证与确认计划完成后进行。5)功能检查,验证所开发软件满足需求的情况,在软件提交前对软件进行。6)物理检查,验证程序和文档的一致性并是否做好了交付准备,在软件验收前进行。7)综合检查,验证代码和设计文档的一致性、接口规格说明的一致性、设计实现和功能需求的一致性、功能需求和测试描述的一致性。在软件验收时,用户或用户委托专家,进行抽样的方式检查。8)管理评审,计划执行情况定期管理评审,必须由独立评审机构或授权的第三方主持进行。61本讲稿第六十一页,共一百六十五页623.3.1结构化分析方法(Structured Analysis)Structured Analysis)SA是面向数据流的分析方法,在20世纪90年代被广泛应用。SA方法适合于开发数据处理类型的软件,是需求分析阶段的描述工具。SA方法的主要思想是:以数据的输入输出流向,确认其加工(或处理),从粗到细,逐层分解。3.3系统分析方法本讲稿第六十二页,共一百六十五页63数据流图(DataFlowDiagramDFD)外部实体外部实体外部实体外部实体变换1变换3变换2变换4数据存储输入数据中间数据中间数据中间数据输入数据输出数据输出数据输入输出变换加工说明:输入:输出:加工:结构化分析方法和工具本讲稿第六十三页,共一百六十五页64数据流结构化Ff1f41f43f45f42f46f3f2f4f5f6f7ABABXXYYZZ本讲稿第六十四页,共一百六十五页65名称:别名:何处使用/如何使用:内容描述:补充信息:数据字典作用:描述各个数据流项数据字典内容和形式:本讲稿第六十五页,共一百六十五页66系统分析建模示例系统分析建模示例家庭安全系统问题陈述:系统由房主在安装时配置,通过系统控制窗口和键盘功能与房主交互进行。系统可以监控所有连接的传感器。在安装过程中,每个传感器可以设置编号和类型,系统的启动和关闭必须有主人密码控制;传感器事件发生时,软件激活系统上的警报器,在设定的时间延时后,软件自动拨打设定的电话号码,并提供位置信息和事件性质,电话号码将每隔20秒重拨一次,直至电话接通。系统运行时,系统控制窗口显示提示信息和系统状态。通过键盘可以控制系统运行。本讲稿第六十六页,共一百六十五页67例:家庭安全系统控制面板例:家庭安全系统控制面板 SAFEHOME01报警检查火情离开驻留紧急旁路准备未就绪装备 电源 关闭 离开 驻留 最大 测试 旁路 立即 编码 警声 准备就绪 123456789*0#本讲稿第六十七页,共一百六十五页68从问题陈述,分析从问题陈述,分析SafeHome系统顶层系统顶层DFD控制面板控制面板 传感器传感器SafeHome系统系统控制面板控制面板 显示显示 警告警告电话线电话线用户命令用户命令 和数据和数据传感器传感器 状态状态显示信息显示信息警告类型警告类型电话号电话号本讲稿第六十八页,共一百六十五页69SafeHome 第一层第一层DFD控制面板控制面板传感器传感器处处理理用用户户输输入入控制面板控制面板 显示显示 警告警告电话线电话线用户命令用户命令 和数据和数据传感器传感器 状态状态显示信息显示信息警告类型警告类型电话号信号电话号信号配置配置系系统统监控监控传感传感器器处理处理口令口令激活激活或失或失效效系统系统显示显示信息信息和和状态状态传感器信息传感器信息配置信息配置信息正确的正确的ID信息信息配置数据配置数据配置数据配置数据配置请求配置请求启动停止启动停止口令口令激活激活/失效信息失效信息本讲稿第六十九页,共一百六十五页70 监控传感器的精化监控传感器的精化DFD评评定定输出输出配置信息配置信息显示显示格式格式化化产生产生警告警告信号信号读读传传感感器器拨打拨打电话电话传感器状态传感器状态传感器传感器ID类类型型,位置位置传感器信息传感器信息警告类型警告类型警告数据警告数据电话号电话号配置数据配置数据电话号信号电话号信号传感器传感器ID类类型型,位置位置本讲稿第七十页,共一百六十五页71 从从60年代出现年代出现 Simula 60语言以来,形成了体现类和语言以来,形成了体现类和对象两个基本概念的程序设计语言;对象两个基本概念的程序设计语言;70年代诞生的年代诞生的Smalltalk语言,真正确立了面向对象程序设计语言语言,真正确立了面向对象程序设计语言的地位。的地位。80年代面向对象的分析和设计方法才正式出现。年代面向对象的分析和设计方法才正式出现。面向对象分析和设计方法的起源面向对象分析和设计方法的起源 伴随着软件界对于结构化方法引起的越来越多的争议,伴随着软件界对于结构化方法引起的越来越多的争议,以及面向对象程序设计越发广泛的应用和成熟,产生了以及面向对象程序设计越发广泛的应用和成熟,产生了面向对象分析和设计方法。面向对象分析和设计方法。3.3.23.3.2 面向对象分析方法面向对象分析方法本讲稿第七十一页,共一百六十五页72面向对象方法的基本概念和原则面向对象方法的基本概念和原则(1)(1)思想方法思想方法从现实世界中客观存在的从现实世界中客观存在的事物事物出发,以问题域中出发,以问题域中的的事物事物为中心,建立和表达系统。为中心,建立和表达系统。将事物的将事物的特征特征和和系统责任系统责任抽象表示为系统的抽象表示为系统的对象对象,作为系统的基本作为系统的基本构成单位构成单位。(2)4(2)4个基本概念个基本概念类和对象类和对象消息和封装消息和封装继承继承多态和动态绑定多态和动态绑定本讲稿第七十二页,共一百六十五页73类和对象类和对象在在外外部部世世界界中中,相相同同属属性性和和操操作作的的对对象象属属于于一一个个类类,对对象是类的一个实例;象是类的一个实例;在在机机器器空空间间中中,类类是是一一个个可可复复用用的的模模板板,而而对对象象是是复用出来的独立可执行程序块;复用出来的独立可执行程序块;数数据据抽抽象象是是在在数数据据对对象象上上定定义义相相关关的的属属性性和和必必要要的的操操作作;过过程程抽抽象象是是定定义义某某功功能能到到责责任任实实体体;而而这这一一实实体体要要有有必必要要的的属属性性和和执执行行这这一一功功能能的的一一些些列列操作;操作;对象包括对象包括实体对象实体对象和和无形对象无形对象;本讲稿第七十三页,共一百六十五页74封装和消息封装和消息隐隐藏藏类类的的内内部部属属性性和和操操作作的的执执行行,只只留留下下外外部部可可见见的的操操作作界界面面。避避免免外外界界错错误误地对内部进行修改,造成不良影响;地对内部进行修改,造成不良影响;对对象象只只通通过过消消息息来来请请求求其其他他的的对对象象执执行行自自身身的的操操作作;消消息息必必须须直直接接发发给给指指定定的的对对象象,消消息息中中包包括括请请求求执执行行操操作作的的必必要要信息;信息;接接收收消消息息的的对对象象是是消消息息的的执执行行者者,在在执执时也可以向其他对象发出时也可以向其他对象发出请求请求。本讲稿第七十四页,共一百六十五页75类和子类类和子类类可以有子类,子类继承父类,形成类类可以有子类,子类继承父类,形成类的层次结构;的层次结构;继承的概念与现实意义相同,子类继承继承的概念与现实意义相同,子类继承父类的全部属性和操作,并允许有自己父类的全部属性和操作,并允许有自己的属性和操作;的属性和操作;继承可以有多重继承;继承可以有多重继承;继承有传递性;继承有传递性;继承的重要作用在于源代码的复用。继承的重要作用在于源代码的复用。本讲稿第七十五页,共一百六十五页76学生学生姓名姓名年龄年龄研究生研究生导师导师研究方向研究方向本科生本科生班级班级专业专业继承:继承:本讲稿第七十六页,共一百六十五页77继承层次:继承层次:运输工具运输工具轮船轮船车辆车辆飞机飞机卡车卡车轿车轿车本讲稿第七十七页,共一百六十五页78人员人员姓名姓名年龄年龄研究生研究生导师导师研究方向研究方向职工职工部门部门职务职务在职研究生在职研究生多继承:多继承:本讲稿第七十八页,共一百六十五页79多态性多态性在继承关系的类层次结构中,定义同名操作,形在继承关系的类层次结构中,定义同名操作,形成同一操作的多种形态,按同一个消息响应不同成同一操作的多种形态,按同一个消息响应不同的行为。即的行为。即“多态性多态性”。多态性更强地体现了信息隐蔽的原则,实现接口的独多态性更强地体现了信息隐蔽的原则,实现接口的独立封装。立封装。多态性的实现机制:多态性的实现机制:静态联编静态联编编译直接确定连接的软件成分编译直接确定连接的软件成分 动态联编动态联编编译不确定连接的软件成分,执行时编译不确定连接的软件成分,执行时根据定义的实体再确定需要的连接的软件成分根据定义的实体再确定需要的连接的软件成分 本讲稿第七十九页,共一百六十五页80动态联

    注意事项

    本文(集成工程师精选文档.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开