集成工程师精选文档.ppt
《集成工程师精选文档.ppt》由会员分享,可在线阅读,更多相关《集成工程师精选文档.ppt(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、集成工程师本讲稿第一页,共一百六十五页第第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软件
2、设计模式本讲稿第三页,共一百六十五页3.1信息系统建设与软件工程信息系统集成定义根据信息产业部1999年1047号文件计算机信息系统集成资质管理办法(试行)中定义:计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障。4基本概念本讲稿第四页,共一百六十五页信息系统的特点以满足用户需求为根本出发点是综合的、高技术含量的系统工程最终交付物时完整系统,而不是产品系统包括技术、管理、商务活动,技术是核心,管理商务是保障5本讲稿第五页,共一百六十五页信息系统集成的分类信息系统集成包括两大类:设备系统集成也称“硬件系统集成”、“系统集成”,或简称“弱电系统集成
3、”,区别于机电设备安装类的强点集成。应用系统集成(ApplicationSystemIntegration)应用系统集成也称“行业信息化解决方案集成”。指提供符合业务需求和管理需求的系统技术解决方案和运维方案。6本讲稿第六页,共一百六十五页设备集成包括:智能建筑系统集成(IntelligentBuildingSystemIntegration),指搭建建筑主体内的智能化管理系统。如:综合布线技术、楼宇自控技术、网络互联技术、多媒体应用技术、安防技术等。计算机网络系统集成(ComputerNetworkSystemIntegration)指利用综合布线和计算机网络技术,将分散在不同地点的电脑设备
4、及功能的集成。安防系统集成(SecuritySystemIntegration)指搭建机构或组织内部的安全防范管理系统。如:门襟系统、楼宇对讲系统、防盗监控报警系统、停车管理系统、远程会议系统等。7本讲稿第七页,共一百六十五页信息系统集成技术信息系统技术与软件工程从信息系统集成的分类可以看出,信息系统集成所涉及的专业技术非常广泛,除了包括多种学科的专业技术之外,还包括管理学科的技术和方法。从信息系统集成的开发过程来看,主要涉及技术是软件工程和网络技术。8本讲稿第八页,共一百六十五页9软件工程基本概念软件工程的定义:软件工程方法和技术是计算机学科的重要部分。按照IEEE93对软件工程定义:第一,
5、软件工程是将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。第二,软件工程是在一中所述方法的研究。本讲稿第九页,共一百六十五页软件工程定义中给出的4个要点软件工程的性质是系统的、严格约束的、可量化的方法软件工程作用的范围是用于软件的开发、运行和维护的全过程软件工程的目标是工程化应用于软件软件工程的趋势是软件工程方法的不断发展和研究10本讲稿第十页,共一百六十五页软件工程的内容包括:工程部分:包括软件项目的招标、投标、合同、实施、监督、验收、推广,等方面来研究,以经济管理科学的理论为依据,研究软件工程的规划策略和经济收益等工程问题。技术部分:软件项目的分析、设
6、计、编码、测试、维护等技术方法。依据软件技术理论,以高效、健壮、可复用、可维护的软件为目标。研究软件体系结构、组成成分,以及构造方式,等。管理部分:软件项目开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学性、合理性、高效可行、及可测量性为目标,来研究工程项目管理。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本讲稿第十二页,共一百六十五页软件开发生命周期(SystemsDevelo
7、pmentLifeCycle)是软件的产生直到报废的存活期。与人类相同,任何软件都会经历同样的生命周期。133.2.1软件生命周期及过程过程模型本讲稿第十三页,共一百六十五页软件过程软件过程(SoftwareProcedure)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动中包括完成软件项目的各项任务的;每个任务都要运用软件开发方法和技术实施软件系统。活动的执行按照基本的规律,在一定的条件下,可以是顺序的、重复的、并行的、嵌套的等不同的形式,这些形式属于过程模型(本章过面论述)。14本讲稿第十四页,共一百六十五页软件过程模型15传统软件开发模型演化模型面向对象开发模型形式化方法
8、模型 (智能模型)增量模型螺旋模型喷泉模型构件集成模型瀑布模型快速原型模型转换模型净室模型本讲稿第十五页,共一百六十五页161)瀑布模型需求分析软件设计编码测试维护模型要点:阶段的顺序性推迟实现的观点严格文档是保证质量的手段带来的问题:过程基本不可迭代需求在开始的不确定性错误到最后才能发现开发进程呈现塞阻状态可行性研究本讲稿第十六页,共一百六十五页172)原型模型带来的问题:系统分析组织仓促需求背离合同,进度不易保证先入为主而系统设计,可能不是最佳设计听取用户意见建造修改原型测试运行原型原型过程示意:本讲稿第十七页,共一百六十五页183)增量模型分析设计编码测试分析设计编码测试分析设计编码测试
9、分析设计编码测试增量2增量3增量4增量1第1个增量的发布第2个增量的发布第3个增量的发布第4增量的发布模型要点:瀑布和原型模型相结合强调版本升级每版本开发遵循顺序过程 本讲稿第十八页,共一百六十五页19风险分析累计费用制定阶段 计划评审约定模型4)螺旋模型模型要点:统一了瀑布模型与原型模型 与增量模型相似,更强调风险分析风险分析风险分析风险分析原型1原型2原型3运行原型软件需求需求有效性产品设计设计有效性验证操作概念需求阶段计划开发计划确定目标选择方案设定条件运行验收测试集成测试详细设计单元测试编码系统集成测试计划评估方案明确风险排除风险开发验证本讲稿第十九页,共一百六十五页2020205)喷
10、泉模型演化维护确认实现设计分析模型要点:体现认识事物的循环迭代性强调开发活动之间的无间隙性 无明显的活动阶段划分适用于面向对象的开发过程本讲稿第二十页,共一百六十五页216)构件集成模型构件库问题域识别构件查找构件生成构件组装系统查到构件未查到构件模型要点:基于面向对象的构件方法 立足于软件复用性 形成统一开发过程RUP 采用统一建模语言本讲稿第二十一页,共一百六十五页222222需求明确或有先例的项目 瀑布模型需求不明确或与客户难以沟通的项目 原型模型规模大且时间紧的项目 增量模型带有突破性技术的项目 螺旋模型采用面向对象方法开发的项目 喷泉模型明显复用潜力的项目 构件模型 项目情况适用模型
11、项目适应模型的一般规律本讲稿第二十二页,共一百六十五页233.2.2软件过程管理体系1)软件过程管理的体系:软件过程的定义、主要内容、策略、方法等。主要的软件过程管理体系:RUP(RationalUnifiedProcess)统一过程PSP(PersonalSoftwareProcess)个体软件过程敏捷过程2)软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware)软件能力成熟度模型体系CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成体系,CMMI/SPCA双模认证(软件能力成熟度与软件过程能力)评
12、估体系。本讲稿第二十三页,共一百六十五页RUP(RationalUnifiedProcess)Rational公司提出的软件按开发过程模型。是一个面向对象软件工程的通用业务流程。RUP的目标:为确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP过程模型:横轴是时间轴,分为反复迭代的四个阶段:初始阶段、细化阶段、构造阶段和发布阶段纵轴是工作流轴,包括六个核心工作流程和三个核心支撑工作流程24本讲稿第二十四页,共一百六十五页25时间轴初始阶段 细化阶段 构造阶段 发布阶段工作流轴支撑工作流程区业务建模需求分析设计实现测试发布配置与变更管理项目管理环境核心工作流程区RUP过程
13、模型本讲稿第二十五页,共一百六十五页RUP的6项经验迭代式开发。允许在过程中,不断适应需求的变化,通过不断细化来加深对问题的理解。管理需求。提供如何提取系统功能和约束条件,并将其文档化。基于构件的体系结构。使系统成为可构造、可复用,系统应该尽量采用构件式结构。可视化建模。采用UML对软件系统建模,提供软件文档控制及管理能力。验证软件质量。软件质量评估是事先进行的并贯穿在整个过程所有活动中的必需任务,要统一组织和管理控制软件变更。给出了如何控制、跟踪及监控对系统过程中的修改工作,以确迭代过程进行。26本讲稿第二十六页,共一百六十五页PSP个体软件过程PSP(PersonalSoftwarePro
14、cess)个体软件过程,是由美国CarnegieMellon大学软件工程研究所开发的,是用于软件开发中,控制和管理个人工作方式的一种软件过程体系。PSP给出了个体软件过程的原则,并可应用到任何软件工程任务之中。PSP提供了度量和分析工具,帮助软件开发者做出准确的计划;确定为改善产品质量所采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件开发者能力的影响。27本讲稿第二十七页,共一百六十五页敏捷过程敏捷过程20世纪末世纪末90年代后期,出现了一些软件开发方法的新观年代后期,出现了一些软件开发方法的新观点,虽然形式各异,但都有一个共同点:强调自组织团点,虽然形式各异,但都有一个共同点
15、:强调自组织团队、面对面交流、紧缩文档工作量、增强应急需求变化队、面对面交流、紧缩文档工作量、增强应急需求变化。2001年年2月月17位软件学者联合起草了位软件学者联合起草了敏捷软件开发宣言敏捷软件开发宣言(http:/WWW.agilemanifesto.org)宣言的宣言的4个基本价值观点:个基本价值观点:1)“个体和交互个体和交互”胜过胜过“过程和工具过程和工具”2)“可以使用的软件可以使用的软件”胜过胜过“面面俱到的文档面面俱到的文档”3)“客户合作客户合作”胜过胜过“合同谈判合同谈判”4)“响应变化响应变化”胜过胜过“遵循计划遵循计划”28本讲稿第二十八页,共一百六十五页敏捷软件开发
16、宣言中的主要原则:敏捷软件开发宣言中的主要原则:尽早并应连续交付软件,时间越短越好尽早并应连续交付软件,时间越短越好不反对开发后期有需求变化,以满足用户心理需求不反对开发后期有需求变化,以满足用户心理需求业务人员和开发人员应始终每天在一起业务人员和开发人员应始终每天在一起提供开发人员必要的环境支持,并给以充分信任提供开发人员必要的环境支持,并给以充分信任最有效的信息传达是面对面交流最有效的信息传达是面对面交流最好的度量标准是提供可以使用的软件最好的度量标准是提供可以使用的软件持续追求卓越良好的设计是敏捷性的关键持续追求卓越良好的设计是敏捷性的关键简单(尽量减少工作量)最重要简单(尽量减少工作量
17、)最重要最好的设计会出自于自组团队最好的设计会出自于自组团队定期总结、及时调整行动会提高效率定期总结、及时调整行动会提高效率29本讲稿第二十九页,共一百六十五页理解敏捷软件开发宣言:理解敏捷软件开发宣言:比较了成功软件开发因素的重要性,并没有反对或比较了成功软件开发因素的重要性,并没有反对或试图取代其他因素。试图取代其他因素。极限编程极限编程(eXtreme Programming XP)极限编程是敏捷过程的代表性方法极限编程是敏捷过程的代表性方法“极限极限”是指把是指把有效的开发实践有效的开发实践运用到极致运用到极致适用于需求模糊且经常变换的系统开发适用于需求模糊且经常变换的系统开发30本讲
18、稿第三十页,共一百六十五页极限编程的有效开发实践:极限编程的有效开发实践:客户作为开发团队成员客户作为开发团队成员使用用户素材使用用户素材短交付周期短交付周期由客户指定验收测试由客户指定验收测试结对编程,辅助一人审查与测试结对编程,辅助一人审查与测试测试驱动开发,编码之前涉及测试用例测试驱动开发,编码之前涉及测试用例代码集体所有,集体成员有权阅读和修改代码集体所有,集体成员有权阅读和修改运用不断及时地持续集成,并进行回归测试运用不断及时地持续集成,并进行回归测试维持可持续性,每周工作时间不超过维持可持续性,每周工作时间不超过40h开放工作空间开放工作空间及时调整计划及时调整计划坚持简单设计、代
19、码重构、使用隐喻(抽象)坚持简单设计、代码重构、使用隐喻(抽象)31本讲稿第三十一页,共一百六十五页用户故事用户故事测试用例测试用例架构试探架构试探指定交指定交付计划付计划迭代开发迭代开发验收测试验收测试难点试探难点试探需求需求用户新故事用户新故事差错差错隐喻隐喻交付计划交付计划最新版本最新版本用户认可用户认可下次迭代下次迭代估计不确定估计不确定估计确定估计确定极限编程开发过程极限编程开发过程小交付小交付32本讲稿第三十二页,共一百六十五页软件过程改进和评估体系CMM(CapabilityMaturityModelforSoftware,SW-CMM,简称CMM)软件能力成熟度模型,是由美国C
20、arnegieMellon大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定的。初始的目的是为了评价美国国防部的软件合同承包组织的能力,因为在软件企业应用进取得了较大的成功,所以在全世界范围内被广泛使用。CMM的核心CMM的是这对软件开发全过程管理和控制,使其更加科学化、标准化。作为一种评价软件承包能力,并且,帮助其改善软件质量的方法。CMM的核心是软件开发过程的管理工程能力的提高与评估。33本讲稿第三十三页,共一百六十五页CMM的体系的主要内容:能力等级能力等级特点特点关键过程域关键过程域KPA第一级第一级 基本级基本级软软件件过过程程混混乱乱而而无无序序,几几乎乎没没
21、有有过过程程定定义义,完完全全依依靠靠的的个个人人的的才才能能和和经经验验来来实实施系统施系统,反应式的管理方式。反应式的管理方式。第二级第二级 可重复级可重复级建建立立了了基基本本的的项项目目管管理理机机制制,对对项项目目进进度度和和费费用用有有必必要要的的跟跟踪踪,能能够够利利用用以以前前类似的项目经验,重复开发过程。类似的项目经验,重复开发过程。需需求求管管理理,项项目目计计划划,项项目目跟跟踪踪和和监监督督,软软件件子子合合同同管管理理,软软件件配配置置管管理理,软软件件质质量量保保障障第三级第三级 定义级定义级 制制定定了了软软件件工工程程化化标标准准化化和和文文档档标标准准化化,并
22、在软件开发过程中得以实施。并在软件开发过程中得以实施。过过程程定定义义,过过程程焦焦点点,培培训训,集集成成管管理理,软软件件产产品品工工程程,组组间协调间协调,专家审评专家审评第四级第四级 管理级管理级收收集集软软件件过过程程和和产产品品质质量量的的详详细细度度量量,对对软软件件过过程程和和产产品品质质量量有有定定量量的的理理解解和和控制。控制。定定量量的的软软件件过过程程管管理理和和产产品质量管理品质量管理第五级第五级 优化级优化级软软件件过过程程的的量量化化反反馈馈和和新新的的思思想想和和技技术术促进过程的不断改进。促进过程的不断改进。缺缺陷陷预预防防,过过程程变变更更管管理理和和技术变
23、更管理技术变更管理34本讲稿第三十四页,共一百六十五页3535软件配置管理软件配置管理软件配置项(SCI Software Configuration Item):分类特性举例环境类软件开发或维护环境编辑器、编译器、文档工具等定义类需求分析与定义阶段得到的工作产品需求规格说明书、开发计划、设计和测试标准、验收计划设计类设计阶段得到的产品设计规格说明、程序规格说明、用户界面设计标准、用户手册编码类编码及单元测试后产品源代码、目标代码、单元测试数据及结果测试类系统测试后得到的产品系统测试数据、测试结果、操作手册、安装手册维护类进入维护后所得到的产品以上任何需要变更的配置项本讲稿第三十五页,共一百六
24、十五页CMM关键过程域和考核标准KPA是CMM实现每级目标的关键过程域(KeyProcessArea)KPA考核标准:确定目标:给出准确的目标,若满足了某个级别的所有KPA要求,则表明达到了该级别的能力。实施保证:必须采取的活动,包括制定企业范围的政策和高层管理的责任。实施能力:前提条件,包括资源保证、人员培训等。必须采取措施满足这些条件后,才有可能执行KPA的活动。执行活动:执行KPA的角色和步骤。包括计划、执行、及执行跟踪等。度量分析:对过程度量和度量分析,确定执行活动的状态,以及执行活动的有效性。实施验证:验证执行活动是否与所建立的过程一致。组织评审、审计及质量保证活动。36本讲稿第三十
25、六页,共一百六十五页CMMI(CapabilityMaturityModelIntegration)能力成熟度模型集成,是SEI在2000年发布的CMM的新版本。在CMM基础上,整合了SoftwareCMM、SystemsEng-CMM、PeopleCMM和AcquisitionCMM,建立起除软件开发外,软件系统工程中诸多因素处理能力的标准和评价体系。CMMI主要内容软件能力成熟度模型CMM2.0草案、系统工程能力成熟度模型、软件采购能力成熟度模型、集成产品和过程开发等。CMMI的KPA增加至25个,目标105个,关键实践485条。CMMI的基本目标解决大型软件项目过程改进难度增大问题可实施
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成 工程师 精选 文档
限制150内