




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集成工程师集成工程师(共165张PPT)全文共165页,当前为第1页。第3章信息系统集成专业技术知识信息系统建设与软件工程软件工程方法与技术软件生命周期和过程模型过程管理体系软件分析过程软件设计过程软件测试过程软件维护过程软件质量保证及评价体系2集成工程师(共165张PPT)全文共165页,当前为第2页。3软件分析方法结构化分析方法面向对象分析方法软件设计方法结构化设计面向对象设计系统架构设计3.5.1软件体系结构基本概念软件体系结构风格3.5.3软件体系结构应用框架3.5.4软件设计模式集成工程师(共165张PPT)全文共165页,当前为第3页。信息系统建设与软件工程信息系统集成定义根据信息产业部1999年1047号文件《计算机信息系统集成资质管理办法(试行)》中定义:计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障。4基本概念集成工程师(共165张PPT)全文共165页,当前为第4页。信息系统的特点以满足用户需求为根本出发点是综合的、高技术含量的系统工程最终交付物时完整系统,而不是产品系统包括技术、管理、商务活动,技术是核心,管理商务是保障5集成工程师(共165张PPT)全文共165页,当前为第5页。信息系统集成的分类信息系统集成包括两大类:设备系统集成也称“硬件系统集成”、“系统集成”,或简称“弱电系统集成”,区别于机电设备安装类的强点集成。应用系统集成(ApplicationSystemIntegration)应用系统集成也称“行业信息化解决方案集成”。指提供符合业务需求和管理需求的系统技术解决方案和运维方案。6集成工程师(共165张PPT)全文共165页,当前为第6页。设备集成包括:智能建筑系统集成(IntelligentBuildingSystemIntegration),指搭建建筑主体内的智能化管理系统。如:综合布线技术、楼宇自控技术、网络互联技术、多媒体应用技术、安防技术等。计算机网络系统集成(ComputerNetworkSystemIntegration)指利用综合布线和计算机网络技术,将分散在不同地点的电脑设备及功能的集成。安防系统集成(SecuritySystemIntegration)指搭建机构或组织内部的安全防范管理系统。如:门襟系统、楼宇对讲系统、防盗监控报警系统、停车管理系统、远程会议系统等。7集成工程师(共165张PPT)全文共165页,当前为第7页。信息系统集成技术信息系统技术与软件工程从信息系统集成的分类可以看出,信息系统集成所涉及的专业技术非常广泛,除了包括多种学科的专业技术之外,还包括管理学科的技术和方法。从信息系统集成的开发过程来看,主要涉及技术是软件工程和网络技术。8集成工程师(共165张PPT)全文共165页,当前为第8页。9软件工程基本概念软件工程的定义:软件工程方法和技术是计算机学科的重要部分。按照IEEE93对软件工程定义:第一,软件工程是将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。第二,软件工程是在一中所述方法的研究。集成工程师(共165张PPT)全文共165页,当前为第9页。软件工程定义中给出的4个要点软件工程的性质是系统的、严格约束的、可量化的方法软件工程作用的范围是用于软件的开发、运行和维护的全过程软件工程的目标是工程化应用于软件软件工程的趋势是软件工程方法的不断发展和研究10集成工程师(共165张PPT)全文共165页,当前为第10页。软件工程的内容包括:工程部分:包括软件项目的招标、投标、合同、实施、监督、验收、推广,等方面来研究,以经济管理科学的理论为依据,研究软件工程的规划策略和经济收益等工程问题。技术部分:软件项目的分析、设计、编码、测试、维护等技术方法。依据软件技术理论,以高效、健壮、可复用、可维护的软件为目标。研究软件体系结构、组成成分,以及构造方式,等。管理部分:软件项目开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学性、合理性、高效可行、及可测量性为目标,来研究工程项目管理。11集成工程师(共165张PPT)全文共165页,当前为第11页。软件工程方法和技术软件生命周期及过程过程模型软件过程管理体系软件分析过程软件设计过程软件测试过程软件维护过程软件质量保证及评价体系12集成工程师(共165张PPT)全文共165页,当前为第12页。软件开发生命周期(SystemsDevelopmentLifeCycle)是软件的产生直到报废的存活期。与人类相同,任何软件都会经历同样的生命周期。13软件生命周期及过程过程模型集成工程师(共165张PPT)全文共165页,当前为第13页。软件过程软件过程(SoftwareProcedure)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动中包括完成软件项目的各项任务的;每个任务都要运用软件开发方法和技术实施软件系统。活动的执行按照基本的规律,在一定的条件下,可以是顺序的、重复的、并行的、嵌套的等不同的形式,这些形式属于过程模型(本章过面论述)。14集成工程师(共165张PPT)全文共165页,当前为第14页。软件过程模型15传统软件开发模型演化模型面向对象开发模型形式化方法模型
(智能模型)增量模型螺旋模型喷泉模型构件集成模型瀑布模型快速原型模型转换模型净室模型集成工程师(共165张PPT)全文共165页,当前为第15页。161)瀑布模型需求分析软件设计编码测试维护模型要点:阶段的顺序性推迟实现的观点严格文档是保证质量的手段带来的问题:过程基本不可迭代需求在开始的不确定性错误到最后才能发现开发进程呈现塞阻状态可行性研究集成工程师(共165张PPT)全文共165页,当前为第16页。172)原型模型
带来的问题:•系统分析组织仓促•需求背离合同,进度不易保证•先入为主而系统设计,可能不是最佳设计听取用户意见建造修改原型测试运行原型原型过程示意:集成工程师(共165张PPT)全文共165页,当前为第17页。183)增量模型
分析设计编码测试分析设计编码测试分析设计编码测试分析设计编码测试增量2增量3增量4增量1第1个增量的发布第2个增量的发布第3个增量的发布第4增量的发布模型要点:•瀑布和原型模型相结合•强调版本升级•每版本开发遵循顺序过程
集成工程师(共165张PPT)全文共165页,当前为第18页。19风险分析累计费用制定阶段计划评审约定模型4)螺旋模型
模型要点:•统一了瀑布模型与原型模型•与增量模型相似,更强调风险分析风险分析风险分析风险分析原型1原型2原型3运行原型软件需求需求有效性产品设计设计有效性验证操作概念需求阶段计划开发计划确定目标选择方案设定条件运行验收测试集成测试详细设计单元测试编码系统集成测试计划评估方案明确风险排除风险开发验证集成工程师(共165张PPT)全文共165页,当前为第19页。20205)喷泉模型演化维护确认实现设计分析模型要点:•体现认识事物的循环迭代性•强调开发活动之间的无间隙性无明显的活动阶段划分•适用于面向对象的开发过程集成工程师(共165张PPT)全文共165页,当前为第20页。216)构件集成模型构件库问题域识别构件查找构件生成构件组装系统查到构件未查到构件模型要点:•
基于面向对象的构件方法立足于软件复用性•
形成统一开发过程RUP•
采用统一建模语言集成工程师(共165张PPT)全文共165页,当前为第21页。2222•需求明确或有先例的项目瀑布模型•需求不明确或与客户难以沟通的项目原型模型•规模大且时间紧的项目增量模型•带有突破性技术的项目螺旋模型•采用面向对象方法开发的项目喷泉模型•明显复用潜力的项目构件模型
项目情况适用模型项目适应模型的一般规律集成工程师(共165张PPT)全文共165页,当前为第22页。23软件过程管理体系1)软件过程管理的体系:软件过程的定义、主要内容、策略、方法等。主要的软件过程管理体系:RUP(RationalUnifiedProcess)统一过程PSP(PersonalSoftwareProcess)个体软件过程敏捷过程2)软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware)软件能力成熟度模型体系CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成体系,CMMI/SPCA双模认证(软件能力成熟度与软件过程能力)评估体系。集成工程师(共165张PPT)全文共165页,当前为第23页。RUP(RationalUnifiedProcess)Rational公司提出的软件按开发过程模型。是一个面向对象软件工程的通用业务流程。RUP的目标:为确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP过程模型:横轴是时间轴,分为反复迭代的四个阶段:初始阶段、细化阶段、构造阶段和发布阶段纵轴是工作流轴,包括六个核心工作流程和三个核心支撑工作流程24集成工程师(共165张PPT)全文共165页,当前为第24页。25时间轴初始阶段细化阶段构造阶段发布阶段工作流轴支撑工作流程区业务建模需求分析设计实现测试发布配置与变更管理项目管理环境核心工作流程区RUP过程模型集成工程师(共165张PPT)全文共165页,当前为第25页。RUP的6项经验迭代式开发。允许在过程中,不断适应需求的变化,通过不断细化来加深对问题的理解。管理需求。提供如何提取系统功能和约束条件,并将其文档化。基于构件的体系结构。使系统成为可构造、可复用,系统应该尽量采用构件式结构。可视化建模。采用UML对软件系统建模,提供软件文档控制及管理能力。
验证软件质量。软件质量评估是事先进行的并贯穿在整个过程所有活动中的必需任务,要统一组织和管理控制软件变更。给出了如何控制、跟踪及监控对系统过程中的修改工作,以确迭代过程进行。26集成工程师(共165张PPT)全文共165页,当前为第26页。PSP个体软件过程PSP(PersonalSoftwareProcess)个体软件过程,是由CarnegieMellon大学软件工程研究所开发的,是用于软件开发中,控制和管理个人工作方式的一种软件过程体系。PSP给出了个体软件过程的原则,并可应用到任何软件工程任务之中。PSP提供了度量和分析工具,帮助软件开发者做出准确的计划;确定为改善产品质量所采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件开发者能力的影响。27集成工程师(共165张PPT)全文共165页,当前为第27页。敏捷过程20世纪末90年代后期,出现了一些软件开发方法的新观点,虽然形式各异,但都有一个共同点:强调自组织团队、面对面交流、紧缩文档工作量、增强应急需求变化。2001年2月17位软件学者联合起草了《敏捷软件开发宣言》()宣言的4个基本价值观点:
1)“个体和交互”胜过“过程和工具”
2)“可以使用的软件”胜过“面面俱到的文档”
3)“客户合作”胜过“合同谈判”
4)“响应变化”胜过“遵循计划”28集成工程师(共165张PPT)全文共165页,当前为第28页。敏捷软件开发宣言中的主要原则:尽早并应连续交付软件,时间越短越好不反对开发后期有需求变化,以满足用户心理需求业务人员和开发人员应始终每天在一起提供开发人员必要的环境支持,并给以充分信任最有效的信息传达是面对面交流最好的度量标准是提供可以使用的软件持续追求卓越良好的设计是敏捷性的关键简单(尽量减少工作量)最重要最好的设计会出自于自组团队定期总结、及时调整行动会提高效率29集成工程师(共165张PPT)全文共165页,当前为第29页。理解敏捷软件开发宣言:比较了成功软件开发因素的重要性,并没有反对或试图取代其他因素。极限编程(eXtremeProgrammingXP)极限编程是敏捷过程的代表性方法“极限”是指把有效的开发实践运用到极致适用于需求模糊且经常变换的系统开发30集成工程师(共165张PPT)全文共165页,当前为第30页。极限编程的有效开发实践:客户作为开发团队成员使用用户素材短交付周期由客户指定验收测试结对编程,辅助一人审查与测试测试驱动开发,编码之前涉及测试用例代码集体所有,集体成员有权阅读和修改运用不断及时地持续集成,并进行回归测试维持可持续性,每周工作时间不超过40h开放工作空间及时调整计划坚持简单设计、代码重构、使用隐喻(抽象)31集成工程师(共165张PPT)全文共165页,当前为第31页。用户故事测试用例架构试探指定交付计划迭代开发验收测试难点试探需求用户新故事差错隐喻交付计划最新版本用户认可下次迭代估计不确定估计确定极限编程开发过程小交付32集成工程师(共165张PPT)全文共165页,当前为第32页。软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware,SW-CMM,简称CMM)软件能力成熟度模型,是由CarnegieMellon大学的软件工程研究所(简称SEI)受国防部委托,于1991年研究制定的。初始的目的是为了评价国防部的软件合同承包组织的能力,因为在软件企业应用进取得了较大的成功,所以在全世界范围内被广泛使用。CMM的核心CMM的是这对软件开发全过程管理和控制,使其更加科学化、标准化。作为一种评价软件承包能力,并且,帮助其改善软件质量的方法。CMM的核心是软件开发过程的管理工程能力的提高与评估。33集成工程师(共165张PPT)全文共165页,当前为第33页。CMM的体系的主要内容:能力等级特点关键过程域KPA第一级基本级软件过程混乱而无序,几乎没有过程定义,完全依靠的个人的才能和经验来实施系统,反应式的管理方式。
第二级可重复级建立了基本的项目管理机制,对项目进度和费用有必要的跟踪,能够利用以前类似的项目经验,重复开发过程。需求管理,项目计划,项目跟踪和监督,软件子合同管理,软件配置管理,软件质量保障第三级定义级制定了软件工程化标准化和文档标准化,并在软件开发过程中得以实施。过程定义,过程焦点,培训,集成管理,软件产品工程,组间协调,专家审评第四级管理级收集软件过程和产品质量的详细度量,对软件过程和产品质量有定量的理解和控制。定量的软件过程管理和产品质量管理第五级优化级软件过程的量化反馈和新的思想和技术促进过程的不断改进。缺陷预防,过程变更管理和技术变更管理34集成工程师(共165张PPT)全文共165页,当前为第34页。35软件配置管理软件配置项(SCISoftwareConfigurationItem):分类特性举例环境类软件开发或维护环境编辑器、编译器、文档工具等定义类需求分析与定义阶段得到的工作产品需求规格说明书、开发计划、设计和测试标准、验收计划设计类设计阶段得到的产品设计规格说明、程序规格说明、用户界面设计标准、用户手册编码类编码及单元测试后产品源代码、目标代码、单元测试数据及结果测试类系统测试后得到的产品系统测试数据、测试结果、操作手册、安装手册维护类进入维护后所得到的产品以上任何需要变更的配置项集成工程师(共165张PPT)全文共165页,当前为第35页。CMM关键过程域和考核标准KPA是CMM实现每级目标的关键过程域(KeyProcessArea)KPA考核标准:确定目标:给出准确的目标,若满足了某个级别的所有KPA要求,则表明达到了该级别的能力。实施保证:必须采取的活动,包括制定企业范围的和高层管理的责任。实施能力:前提条件,包括资源保证、人员培训等。必须采取措施满足这些条件后,才有可能执行KPA的活动。执行活动:执行KPA的角色和步骤。包括计划、执行、及执行跟踪等。度量分析:对过程度量和度量分析,确定执行活动的状态,以及执行活动的有效性。实施验证:验证执行活动是否与所建立的过程一致。组织评审、审计及质量保证活动。36集成工程师(共165张PPT)全文共165页,当前为第36页。CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成,是SEI在2000年发布的CMM的新版本。在CMM基础上,整合了SoftwareCMM、SystemsEng-CMM、PeopleCMM和AcquisitionCMM,建立起除软件开发外,软件系统工程中诸多因素处理能力的标准和评价体系。CMMI主要内容软件能力成熟度模型草案、系统工程能力成熟度模型、软件采购能力成熟度模型、集成产品和过程开发等。CMMI的KPA增加至25个,目标105个,关键实践485条。CMMI的基本目标解决大型软件项目过程改进难度增大问题可实施软件过程的并行化与多学科组合提高过程改进的效益37集成工程师(共165张PPT)全文共165页,当前为第37页。CMM评估评估机构及人员要求:必须由SEI授权的合作机构,由SEI授权的主任评估师进行评估。遵守SEI发布的评估需求和评估方法;若进行双模式SPCA(软件过程能力和软件能力成熟度)评估,必须得到信息产业部和国家认证认可委员会的批准,评估过程遵守国家发布的SPCA评估方法。申请评估企业的一般条件要求企业的项目或产品活动应能覆盖所申请CMM/CMMI等级的要求;
SPCA评估,要求企业成立5年以上,软件开发人员20人以上,评估项目和人员覆盖率达到70%以上38集成工程师(共165张PPT)全文共165页,当前为第38页。一个节点通常被表示为可以部署构件的处理器或设备。初始的目的是为了评价国防部的软件合同承包组织的能力,因为在软件企业应用进取得了较大的成功,所以在全世界范围内被广泛使用。depositStatus缺陷预防,过程变更管理和技术变更管理软件的基本性质决定必然存在缺陷:F条件TF条件T过程需求:交付需求、实现方法需求、标准需求等最好的度量标准是提供可以使用的软件软件生命周期及过程过程模型计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障。PDL程序设计语言(programdesignlanguage)SafeHome系统的用交互子系统DFD(第一层)软件过程混乱而无序,几乎没有过程定义,完全依靠的个人的才能和经验来实施系统,反应式的管理方式。S3S2软件评审是软件质量保证的重要措施根据《GB/T12504-1990计算机软件质量保证计划规范》软件评审包括:实施CMM到评估的基本流程:CMM/CMMI培训成立软件过程组织、软件质量保证组织建立和完善过程管理体系试点实施推广并制度化参加预评估参加、准备最终评估持续改进39集成工程师(共165张PPT)全文共165页,当前为第39页。软件需求分析概述软件需求分析是软件生命周期中必不可少的重要的部分,是软件开发成败的关键,占整个工程一半以上的工作量。需求分析用经过证实的有效原理、方法,通过合适的工具和记号,系统地描述待开发产品或系统的行为特征及相关约束。40软件分析过程集成工程师(共165张PPT)全文共165页,当前为第40页。41建立分析模型在当前物理模型的基础上,建立分析模型完成“软件需求规格说明”(SoftwareRequirementSpecification,SRS)在SRS中,定义软件的功能,信息,表示软件的行为需求验证与用户达成共识启动测试活动编写测试计划和测试案例需求分析的任务和步骤集成工程师(共165张PPT)全文共165页,当前为第41页。42行业知识学习访问用户考察现场定制调研计划组织调研整理调研问题陈述建立当前系统物理模型建立未来系统逻辑模型多次反复的过程编制需求规格说明开发系统原型系统分析步骤示意集成工程师(共165张PPT)全文共165页,当前为第42页。43需求规格说明:(主要内容)1.引言编写目的项目背景定义参考资料2.任务概述目标运行环境条件与限制3.数据描述数据字典(或数据库描述)数据采集4.功能需求功能划分功能描述5.性能描述数据精确度时间特性适应性6.运行需求用户界面硬件接口软件接口故障处理7.其它需求需求分析阶段的产品集成工程师(共165张PPT)全文共165页,当前为第43页。软件的非功能性需求过程需求:交付需求、实现方法需求、标准需求等产品需求:可用性、性能需求、可靠性需求、可移植性需求、可重用性需求、安全性需求等外部需求:法规需求、费用需求、互操作性需求等需求模型模型是描述现实问题的一种手段,它能抽象和简化地反映实际产品或系统的外部特征和本质。不同的方法学有不同的模型表示。因此,它是软件工程方法学研究的主要内容之一。(本章后面论述)44集成工程师(共165张PPT)全文共165页,当前为第44页。45软件设计,在软件生命周期中处于技术核心的位置,将完成软件系统实现意义的工程表示。软件设计阶段任务:数据设计,用数据结构组织处理数据元素之间的逻辑关系体系结构设计,定义软件的主要结构、构造元素、及之间的关系、限制和约束接口设计,描述软件内部、软件和协作系统之间的通信,数据流或控制流构件逻辑设计,对软件结构的构造元素,进行软件算法过程的描述,为编码提供依据软件设计过程集成工程师(共165张PPT)全文共165页,当前为第45页。46软件设计的方法和技术软件设计方法是软件工程中,软件技术的汇集焦点。它汇集了操作系统、数据库技术、网络技术、软件体系结构,以及算法设计、界面设计等,几乎涵盖了计算机学科的所有技术和方法。不同的方法学对应不同的设计方法和技术,目前的两大主流方法学:结构化设计方法面向对象的设计方法(本章后面分别论述)集成工程师(共165张PPT)全文共165页,当前为第46页。47软件测试基本概念为了发现软件中的错误,努力产生好的测试案例能成功发现软件错误的测试才是好的测试能揭示软件错误的案例才是好的案例测试不可能穷举,只能尽量充分覆盖软件测试的基本原则
测试应符合软件的功能及性能需求测试要有计划地进行测试应该从小规模开始,逐步到大规模的测试测试应该由软件开发人员和独立测试组共同完成软件测试过程集成工程师(共165张PPT)全文共165页,当前为第47页。48软件测试的三个阶段单元测试阶段,验证程序控制结构的分支,尽量覆盖所有可能的错误集成测试阶段,在单元测试的基础上验证程序以及测试程序构造问题高阶测试,也叫做“确认性测试”,是对已经通过集成测试并可运行的程序进行的测试确认性测试集成测试单元测试编码设计需求分析验证需求分析验证设计验证编码可行性分析系统维护测试v模型集成工程师(共165张PPT)全文共165页,当前为第48页。49软件测试策略方法
软件测试的不同阶段对应不同测试策略单元测试策略,包括:程序中常见错误的测试、单元测试规程,等策略集成测试策略,包括:自顶向下的测试、自底向上的测试、回归测试、烟雾测试,等策略高阶测试策略,包括:测试、测试、恢复测试、安全测试、应力测试、性能测试等策略集成工程师(共165张PPT)全文共165页,当前为第49页。50软件测试技术黑盒测试技术,为证实软件运行功能,通过功能的操作执行发现和寻找错误白盒测试技术,为证实软件内部的执行规约,在程序内部发现和寻找错误软件测试方法和工具结构化测试方法和工具,是针对结构化程序语言程序的测试方法,以及结构化程序设计语言环境的软件测试工具。面向对象测试方法,针对面向对象程序语言程序的测试方法,以及面向对象程序设计语言环境的软件测试工具。集成工程师(共165张PPT)全文共165页,当前为第50页。51基本概念软件维护是指对已经提交用户使用的软件系统或软件产品的修改是软件生命周期中必然经历的阶段软件系统缺陷问题软件的基本性质决定必然存在缺陷:软件是人工过程为主的知识密集型产品,软件开发者对解决问题的理解总是有误差的与软件操作相关的环境和需求是会变化的软件解决的现实问题本身是存在不确定性因素的软件开发的方法和技术本身是存在局限性的软件维护过程集成工程师(共165张PPT)全文共165页,当前为第51页。52软件维护的基本类型改正性维护:交付使用的软件暴露的错误隐患适应性维护:更新业务以及硬件系统或软件环境升级完善性维护:原有功能或性能在使用中发现短缺预防性维护:系统未来的扩充、维护、移植
改正性维护20%适应性维护25%完善性维护50%其它4种维护的比例:集成工程师(共165张PPT)全文共165页,当前为第52页。53软件维护的任务及过程设置专门的维护确认审批机构,减少由于随意修改造成的系统结构混乱建立合理的维护管理流程及严格的维护文档,包括:申请、审批、问题报告、维护计划、实施结果进行维护活动的评审,对维护所带来的成本开销给出定量的分析集成工程师(共165张PPT)全文共165页,当前为第53页。54软件质量定义按国际标准ISO/8042-1994对软件质量定义:能满足明确需求的软件实体,所具有能力的特性总合。按照国家GB/T11457-2006《软件工程术语》中定义软件质量为:软件产品能满足给定需要的性质和特性的总体软件质量模型,表达了软件特性应包括的内容软件质量保证及评价体系集成工程师(共165张PPT)全文共165页,当前为第54页。55软件质量模型质量模型是质量特性结构的表达,业界认同的软件质量模型有几种:Bohm质量模型,1976年由Bohm等提出软件质量分层模型McCall质量模型,1979年由McCall等人提出的软件质量模型ISO/IEC9126-1:2001,给出的软件质量模型集成工程师(共165张PPT)全文共165页,当前为第55页。56软件质量可移植性可用性可维护性可靠性效率人类工程可测性可理解性可修改性设备独立性自包含性正确性完备性健壮性一致性可计测性设备效率可存取性通信性自描述性结构化性简单清晰性可扩充性Bohm质量模型集成工程师(共165张PPT)全文共165页,当前为第56页。57产品修正产品转移产品运行可维护性可测试性灵活性互联性可移植性复用性正确性可靠性易用性效率完整性McCall质量模型集成工程师(共165张PPT)全文共165页,当前为第57页。58外部质量和内部质量功能性易用性可靠性效率可维护性可移植性使用质量生产性有效性安全性满意度ISO/IEC9126-1:2001质量模型集成工程师(共165张PPT)全文共165页,当前为第58页。59软件质量保证体系ISO9001是适用于所有工程质量保证标准。ISO9000-3是在软件过程中质量保证体系使用的子集。标准给出的主要内容包括:管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、服务、统计系统等20多项。集成工程师(共165张PPT)全文共165页,当前为第59页。软件评审软件评审是软件质量保证的重要措施根据《GB/T12504-1990计算机软件质量保证计划规范》软件评审包括:1)软件需求评审,产品对应需求的适合性,在软件需求分析结束后进行。2)概要设计评审,软件设计的总体结构、外部接口、部件分配、数据结构以及各主要部件之间的接口等方面的适合性,在软件概要设计结束后进行。3)详细设计评审,评价软件设计的每一个基本部件的功能、算法和过程描述各方面的适合性,在软件详细设计结束后进行。60集成工程师(共165张PPT)全文共165页,当前为第60页。4)软件验证和确认评审,评价软件验证与确认计划中使用方法的适合性与完整性,在软件验证与确认计划完成后进行。5)功能检查,验证所开发软件满足需求的情况,在软件提交前对软件进行。6)物理检查,验证程序和文档的一致性并是否做好了交付准备,在软件验收前进行。7)综合检查,验证代码和设计文档的一致性、接口规格说明的一致性、设计实现和功能需求的一致性、功能需求和测试描述的一致性。在软件验收时,用户或用户委托专家,进行抽样的方式检查。8)管理评审,计划执行情况定期管理评审,必须由独立评审机构或授权的第三方主持进行。61集成工程师(共165张PPT)全文共165页,当前为第61页。62结构化分析方法(StructuredAnalysis)SA是面向数据流的分析方法,在20世纪90年代被广泛应用。SA方法适合于开发数据处理类型的软件,是需求分析阶段的描述工具。SA方法的主要思想是:以数据的输入输出流向,确认其加工(或处理),从粗到细,逐层分解。系统分析方法集成工程师(共165张PPT)全文共165页,当前为第62页。63数据流图(DataFlowDiagramDFD)外部实体外部实体外部实体外部实体变换1变换3变换2变换4数据存储输入数据中间数据中间数据中间数据输入数据输出数据输出数据输入输出变换加工说明:输入:输出:加工:结构化分析方法和工具集成工程师(共165张PPT)全文共165页,当前为第63页。64数据流结构化Ff1f41f43f45f42f46f3f2f4f5f6f7ABABXXYYZZ集成工程师(共165张PPT)全文共165页,当前为第64页。65名称:
别名:
何处使用/如何使用:
内容描述:
补充信息:
数据字典作用:
描述各个数据流项数据字典内容和形式:集成工程师(共165张PPT)全文共165页,当前为第65页。66系统分析建模示例家庭安全系统问题陈述:系统由房主在安装时配置,通过系统控制窗口和键盘功能与房主交互进行。系统可以监控所有连接的传感器。在安装过程中,每个传感器可以设置编号和类型,系统的启动和关闭必须有主人密码控制;传感器事件发生时,软件激活系统上的警报器,在设定的时间延时后,软件自动拨打设定的号码,并提供位置信息和事件性质,号码将每隔20秒重拨一次,直至接通。系统运行时,系统控制窗口显示提示信息和系统状态。通过键盘可以控制系统运行。集成工程师(共165张PPT)全文共165页,当前为第66页。67例:家庭安全系统控制面板
SAFEHOME01报警检查火情离开驻留紧急旁路准备未就绪装备电源关闭离开驻留最大测试旁路立即编码警声准备就绪123456789*0#集成工程师(共165张PPT)全文共165页,当前为第67页。68从问题陈述,分析SafeHome系统顶层DFD控制面板
传感器SafeHome系统控制面板显示
警告线用户命令和数据传感器状态显示信息警告类型号集成工程师(共165张PPT)全文共165页,当前为第68页。69SafeHome第一层DFD控制面板传感器处理用户输入控制面板显示
警告线用户命令和数据传感器状态显示信息警告类型号信号配置系统监控传感器处理口令激活或失效系统显示信息和状态传感器信息配置信息正确的ID信息配置数据配置数据配置请求启动停止口令激活/失效信息集成工程师(共165张PPT)全文共165页,当前为第69页。70
监控传感器的精化DFD评定输出配置信息显示格式化产生警告信号读传感器拨打
传感器状态传感器ID类型,位置传感器信息警告类型警告数据号配置数据号信号传感器ID类型,位置集成工程师(共165张PPT)全文共165页,当前为第70页。71
从60年代出现Simula60语言以来,形成了体现类和对象两个基本概念的程序设计语言;70年代诞生的Smalltalk语言,真正确立了面向对象程序设计语言的地位。80年代面向对象的分析和设计方法才正式出现。▲面向对象分析和设计方法的起源
伴随着软件界对于结构化方法引起的越来越多的争议,以及面向对象程序设计越发广泛的应用和成熟,产生了面向对象分析和设计方法。面向对象分析方法集成工程师(共165张PPT)全文共165页,当前为第71页。72▲面向对象方法的基本概念和原则(1)思想方法从现实世界中客观存在的事物出发,以问题域中的事物为中心,建立和表达系统。将事物的特征和系统责任抽象表示为系统的对象,作为系统的基本构成单位。(2)4个基本概念类和对象消息和封装继承多态和动态绑定集成工程师(共165张PPT)全文共165页,当前为第72页。73类和对象在外部世界中,相同属性和操作的对象属于一个类,对象是类的一个实例;在机器空间中,类是一个可复用的模板,而对象是复用出来的独立可执行程序块;数据抽象是在数据对象上定义相关的属性和必要的操作;过程抽象是定义某功能到责任实体;而这一实体要有必要的属性和执行这一功能的一些列操作;对象包括实体对象和无形对象;集成工程师(共165张PPT)全文共165页,当前为第73页。74封装和消息隐藏类的内部属性和操作的执行,只留下外部可见的操作界面。避免外界错误地对内部进行修改,造成不良影响;对象只通过消息来请求其他的对象执行自身的操作;消息必须直接发给指定的对象,消息中包括请求执行操作的必要信息;接收消息的对象是消息的执行者,在执时也可以向其他对象发出请求。集成工程师(共165张PPT)全文共165页,当前为第74页。75类和子类类可以有子类,子类继承父类,形成类的层次结构;继承的概念与现实意义相同,子类继承父类的全部属性和操作,并允许有自己的属性和操作;继承可以有多重继承;继承有传递性;继承的重要作用在于源代码的复用。集成工程师(共165张PPT)全文共165页,当前为第75页。76学生姓名年龄……研究生导师研究方向……本科生班级专业……继承:集成工程师(共165张PPT)全文共165页,当前为第76页。77继承层次:运输工具轮船车辆飞机卡车轿车集成工程师(共165张PPT)全文共165页,当前为第77页。78人员姓名年龄……研究生导师研究方向……职工部门职务……在职研究生……多继承:集成工程师(共165张PPT)全文共165页,当前为第78页。79多态性在继承关系的类层次结构中,定义同名操作,形成同一操作的多种形态,按同一个消息响应不同的行为。即“多态性”。多态性更强地体现了信息隐蔽的原则,实现接口的独立封装。多态性的实现机制:静态联编—编译直接确定连接的软件成分动态联编—编译不确定连接的软件成分,执行时根据定义的实体再确定需要的连接的软件成分
集成工程师(共165张PPT)全文共165页,当前为第79页。80动态联编:静态联编:图形坐标移动()点……移动()……矩形长宽移动()……圆半径移动()多态性:图形字符型坐标数字型坐标……移动()移动()……Virtue可使用统一图形移动接口,采用移动()的动态联编集成工程师(共165张PPT)全文共165页,当前为第80页。81面向对象方法的优势以更接近人类认识世界的思维的方式来建立问题域模型,因为事物本身不但包括属性也包括行为,认识事物,从来不会将事物的属性和行为分离建造系统的基本元素是封装了操作的对象实体,回避了以易变的处理过程为基础的系统建造从实体对象抽象得到的对象类,保持了语义上的一致性,提高了系统的复用和构造性继承机制是源代码级的复用机制,在此基础上的多态机制,成为系统可扩充性结构,以及分布式系统结构实现的基础保证集成工程师(共165张PPT)全文共165页,当前为第81页。82面向对象方法的发展趋势
从80年代到现在20多年的发展过程,面向对象方法学逐渐走向成熟和。主要表现在:横向求同:多种的面向对象方法之间的求同。纵向求同:与非面向对象方法的求同。标准化:统一建模语言(UnifiedModelingLanguageUML)
96年由Booch、Jacobson、Rumbaugh三位面向对象方法的专家,在国际对象管理组织OMG建议下,在Rational公司研制了UML,从97年的版到现在的版,逐步完善。目前是业界共识的标准。集成工程师(共165张PPT)全文共165页,当前为第82页。83统一建模语言(UnifiedModelingLanguageUML)UML是以图形来确定、表示、和记录软件系统的建模语言面向对象分析模型
需求描述:
UseCase
用况图
辅助模型:
Sequence顺序图
Collaboration协作图
State状态图
Packet包图
Component构件图
Deployment部署图
Activity活动图基本模型:
Class类图
Object对象图集成工程师(共165张PPT)全文共165页,当前为第83页。841.
用况图(UseCase)用况图的建立思想不属于面向对象的,而是业界早已熟悉的需求建模方法,只是UML有新的表示方法。房主《include》UseCase示例:身份确认系统设置系统运行查询启动/关闭系统传感器监测密码验证系统区域设置系统设置系统警报设置《include》《extend》《extend》《extend》参与者用况包含用况扩展用况交互关系显示窗
报警器传感器参与者集成工程师(共165张PPT)全文共165页,当前为第84页。85《include》《extend》UseCase图元素:参与者:与系统交互的,使用系统相关功能的角色,用况:与参与者有交互的一个功能参与者与用况的连线:表示双向,没有箭头用况之间的连线:表示包含其中必须的功能用况之间的连线:表示扩展可选的功能集成工程师(共165张PPT)全文共165页,当前为第85页。2.类图(Class)从问题域中的实体抽象出对象类,描述类之间的静态结构。InternetClient+search(s:String):StringCustomerList+search(s:String):Customer[]+getCustomer(number:Sting):Customer+addCustomer(c:Customer):Boolean+removeCustomer(c:Customer):Boolean0..CompanyCustomer+login(nimber:String,passwd:String):Boolean+update(webpage:String,e_mail:String):Boolean+viewMyInfo():StringInternalClient+updateCustomer(nimber:String,…):Boolean+addCustomer(name:String,…):Boolean+removeCustomer(number:String):Boolean+viewCustomer(number:String):StringCustomerInfo-number:String-name:String-address:String-e_mail:String-webpage:String-pass:String+check_pwd(s:String):Boolean+showInfo():String111*依赖关系聚合关系关联关系继承关系多重性表示类图示例:有集成工程师(共165张PPT)全文共165页,当前为第86页。87类图元素:•对象:在问题域中承担责任的事物•关联:对象类之间固有的关系•属性:对象类的特征,系统必要的信息对象类名属性操作类:名词为类名,属性和操作栏必须有,内容可以暂略。关联:有方向,由多重性描述,可以有名称继承:一般和特殊的关系聚合:整体和部分的关系0..n多重性:1..n1..10..1*..0..*
可见性分为:公共的(+)私有的(-)受保护的(#)集成工程师(共165张PPT)全文共165页,当前为第87页。88边界边界(国家)西班牙(国家)法国(国家)比利时国家名称边界3.
对象图(Object)国家类的实例对象图
集成工程师(共165张PPT)全文共165页,当前为第88页。89
顺序图强调消息交互的时序;协作图强调对象收发消息的组织结构顺序图的作用:在给定的语境中,通过对象之间的消息通信,展现对象的行为;用以发现对象的操作。交互图4.顺序图(Sequence)
顺序图和协作图表示相同的模型语义,可以相互转换,能表示对方不能表示的某些内容。协作图的作用:分析对象行为的控制线程,规划系统分布,以及规划测试用例集成工程师(共165张PPT)全文共165页,当前为第89页。90顺序图表示:按时间顺序排列的对象间的交互。ob1:C1ob3:C3ob2:C2:C4Op()[x>0]create(x)[x<0]bar(x)doit(w)doit(z)more()生命线激活(控制焦点)消息匿名对象对象消息名条件和参数销毁自调用参与者创建对象分支条件集成工程师(共165张PPT)全文共165页,当前为第90页。91包括:实箭线“”同步过程,需要等待回应,会有嵌套控制枝状箭线“
”异步通信,发出消息后不必等待,继续执行虚的枝状箭线“
”显式表示回应返回
(一般的控制流省略返回消息,表明每个请求都有返回)对象类创建的对象实体名匿名对象只表示类名创建对象通过消息发送创建的对象生命线表示对象存在的时间段激活(控制焦点)表示对象行为的操作历程,即活动的持续时间销毁对象被结束生命(杀死)自调用对象的操作递归调用自己,或本对象的其他操作消息顺序图元素:集成工程师(共165张PPT)全文共165页,当前为第91页。92c:Clientt:Transactionp:ODBCProxycreatesetAction(a,d,o)setValues(d,3.4)setValues(a”CO”)destroy顺序图示例:对象生命线激活消息集成工程师(共165张PPT)全文共165页,当前为第92页。935.协作图(Collaboration)协作图表示协同完成某行为对象之间的交互,强调对象的消息结构,而忽略时间顺序。c:Clientt:Transactionp:ODBCProxy1:create2:setAction(a,d,o)3:destroy2.1:setValues(d,3.4)2.2setValues(a”CO”)Collaboration图示例:链消息对象与前例的顺序图语义等价!集成工程师(共165张PPT)全文共165页,当前为第93页。941:cardinserted2:passworddeposit3:withdraw4:accntStatus5:terminate2.1:verifyaccnt2.2:verityPIN2.3veritypolicy3.1:withdrawReq4.1:deppositReq4.2:acctInfoReqverityStatusdepositStatusdisppoensecashprintAccntStarreadCardInfogetCashAmnt2:openaccnt3:initialDeposit1:authorizeCard4:deauthorize5:closeaccnt4.1.1:deposit4.2.1:creditLimit4.2.2:accntType4.2.3:balance4.2.4:withdraw4.2.5:depositclose2.1.1:validaccnt2.2.1:validPINATMuserinterface
ATM
Bank
CashierAccountValidationInfo用协作图规划储蓄系统的行为:集成工程师(共165张PPT)全文共165页,当前为第94页。956.状态转换图(StateTransition)状态图表示对象事物的行为,描述对象在生命周期内,响应事件的状态转换过程,以及响应事件后所做的反映。状态图的作用:用以确定状态属性的范围;并以此确定对象的必要操作,包括接受的请求和响应请求所执行的必要动作,以及维持常态的必要行为。状态图的两个要点:
•状态转换的原子性(不可间断性)
•针对有明确生命阶段的复杂行为对象建立状态图集成工程师(共165张PPT)全文共165页,当前为第95页。96源状态目标状态事件标记[监护条件]/动作表达式状态和事件的表示:事件的规格描述状态名称动作标号1/动作表达式1动作标号2/动作表达式2……初始状态终止状态内部动作两个伪状态集成工程师(共165张PPT)全文共165页,当前为第96页。97活动空闲关闭[2分钟之后]/断电()when(温度>1200)/测试设备()事件示例:状态示例:EnterPasswordentry/password.reset()exit/password.test()clear/password.reset()help/displayhelpprint/deferdo/suppressecho集成工程师(共165张PPT)全文共165页,当前为第97页。98Waiting等待状态Put(c)[c/=“<”]/returnfalseGettingToken获得符号状态Put(c)[c/=“>”]/token.append(c);returnfalseGettingBody获得主句状态Put(c)[c/=“;”]/body.append(c);returnfalsePut(c)[c==“<”]Put(c)[c==“>”]字符流分析器类状态图:Put(c)[c==“;”]/returntrue字符流形式为:x…x<xx…x>xx..x;要求分析出<>中的符号,及;号前的主句状态图示例:集成工程师(共165张PPT)全文共165页,当前为第98页。997.包图(Packet)用来对描述进行组织,以控制描述的复杂性。是对模型成分的分组的机制。•把模型成分组织成为包,可以嵌套表示•包有唯一的命名,可以被独立引用•包必须提供外部可访问的操作(接口)包的表示:
操作1()
……包名:vision
操作1()
……嵌套表示包名:sensor集成工程师(共165张PPT)全文共165页,当前为第99页。100包之间依赖关系表示:引入依赖包中可见的操作可以被另一个包引用
<<import>>
(即提供方的元素直接附加到请求方)访问依赖包中可见的操作可以被另一个包使用
<<access>>
(请求方直接使用提供方的元素)Server+Database+LoggingServiceGUI+Windoes+Form+EventHandlerPolicies+OrderRulesClient+OrderForm+TrackingForm-Order<<access>><<import>>集成工程师(共165张PPT)全文共165页,当前为第100页。101控制面板
键盘区
屏幕闪光的灯LCD显示
图符
信息
键区
功能区命令处理()数据接收()显示格式化()
…..控制键盘包控制键盘包示例:集成工程师(共165张PPT)全文共165页,当前为第101页。1028.构件图(Component)构件表示:
构件是指物理上存在的软件成分。构件图属于设计活动的描述工具。描述软件在系统每个物理节点上的分布情况,属于物理事物建模。构件与类的不同:
•类表示逻辑抽象,是逻辑模块;
•构件表示字节空间中的物理存在,表示的是物理模块;
•类有属性和操作,构件仅通过接口提供或请求操作。集成工程师(共165张PPT)全文共165页,当前为第102页。103构件的接口是一组操作的集合ImageObserver<<interface>>ImageObserverabort:int{finalstatic}error:int{finalstatic}imageUpdate():Boolean构件接口的表示:集成工程师(共165张PPT)全文共165页,当前为第103页。104构件对API建模示例
{version=5.2}IscriptsIrenderingImodels集成工程师(共165张PPT)全文共165页,当前为第104页。105构件对表、文件和文档建模标识系统物理实现部分的附属构件表示附属构件与可执行程序、动态连接库及接口间的关系{version=5.2}建模示例:集成工程师(共165张PPT)全文共165页,当前为第105页。1069.部署图(Deployment)
部署图可以表示在一个节点上运行系统的物理拓扑结构;一个节点通常被表示为可以部署构件的处理器或设备。节点是具有独立存储空间,运行时存在,并代表一项计算资源的物理元素和执行能力。节点表示法:节点名称集成工程师(共165张PPT)全文共165页,当前为第106页。107节点和构件的区别:构件是系统执行的事物,节点是执行构件的事物。构件代表逻辑元素的物理打包,节点可表示构件的物理部署节点和构件的关系:节点上可以有一个或多个构件,一个构件也可以部署在一个或多个节点上。sales节点与构件的关系示例:集成工程师(共165张PPT)全文共165页,当前为第107页。108节点之间的关联关系:用来表示节点之间的物理连接kioskconsoleserverRAIDfarm<<10-Tethernet>><<RS--232>>节点之间的连接示例:集成工程师(共165张PPT)全文共165页,当前为第108页。10910.活动图(Activity)活动图ActivityDiagram:描述系统的工作流程和并发行为,与状态图相比它强调流程的控制而不是状态在事件下的变化。活动图的作用:描述业务过程,特别能较好地表示并发流程,帮助理解涉及多个用况的工作流程描述具体操作算法,与程序框图有相同的作用活动图的概念接近结构化方法的流程图思想。集成工程师(共165张PPT)全文共165页,当前为第109页。110包括:1)活动流程中的任务执行单元2)泳道活动的区域划分3)分支活动转向的分支4)分叉
并发控制流的分支5)汇合分叉后的合并6)对象流活动图中的控制流活动图元素:集成工程师(共165张PPT)全文共165页,当前为第110页。111CalculateTotalCost活动图中的“活动”Activity表示:动作Action
活动Activity动作,没有内部转移和内部活动,是原子的最小执行单元,作用是表示执行进入动作后转向的状态,执行时间可以被忽略。活动,可分解的、非原子的,并有一定持续时间的执行单元。集成工程师(共165张PPT)全文共165页,当前为第111页。112活动图中的“泳道”swimlane根据每项活动的职责,划分所有活动的责任区域例:RequestServicePayTakeOrderFillOrderDeliverOrderCollectOrderCustomerSalesStockroom集成工程师(共165张PPT)全文共165页,当前为第112页。113活动图中的“分支”branch在活动图中同一出触发事件,可根据警戒条件转向不同的活动,有两种表示方法:例:CalculatetotalcostChargecustomer`saccountGetauthorization[Cost<$50][Cost>=$50][Cost>=$50][Cost<$50]CalculatetotalcostChargecustomer`saccountGetauthorization表示法1表示法2集成工程师(共165张PPT)全文共165页,当前为第113页。114活动图中的“分叉和汇合”forkandjoin在活动图中同一控制流被两个或多个控制流替代且并发,其转换点为分叉;汇合则与此过程相反。例:ProcessOrderCreditAccountShipOrderNotifyCustomer分叉汇合集成工程师(共165张PPT)全文共165页,当前为第114页。115活动图应用用活动图对工作流建模工作流建模:系统的业务过程的描述用例图的局限性:用例图是以系统的各独立功能为单位描述的,并不涉及到整体业务过程,在进行系统分析时,有时需要对业务过程进行必要的描述。CustomerManufacturingShipPartMakePart例:产品制造和发货过程在用例图中无法表示集成工程师(共165张PPT)全文共165页,当前为第115页。116ParttoShippingdo/VefiryQualityexit/GivetoshippingManufactuningShippingCustomerPackagePartenty/WrapPartdo/VerifyAdressShipNextDayentry/ApplyshippingLabelexit/SendtoCustomer[Weight>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 真石漆的施工方案
- 管道阴极保护施工方案
- 二零二五年度梁上打孔作业风险控制免责合同
- 二零二五年度金融服务合同价款调整与信用风险防范
- 二零二五年度武汉房屋租赁合同纠纷处理办法
- 二零二五年度足疗店连锁经营授权管理合同
- 二零二五年度能源消耗监控系统维保及节能服务合同
- 二零二五年度羊群代放牧与绿色食品生产协议
- 二零二五年度二零二五年度承重墙拆除工程安全生产责任承诺书
- 普通高等学校就业协议书(2025年度)-金融服务业人才输送协议
- 自来水厂安全施工组织设计
- 川教版2024-2025学年六年级下册信息技术全册教案
- 《无人机测绘技术》项目1任务3无人机测绘基础知识
- 招标代理机构遴选投标方案(技术标)
- 彩钢瓦雨棚施工技术标准方案
- 2024年新疆(兵团)公务员考试《行测》真题及答案解析
- KTV商务礼仪培训
- 三级安全教育试题(公司级、部门级、班组级)
- 2024年《论教育》全文课件
- 罐区安全培训教程
- 计算机网络与信息安全(2024年版)课件 李全龙 第1-4章计算机网络与信息安全概述-网络层服务与协议
评论
0/150
提交评论