信息系统项目-信息系统集成专业技术知识讲义.ppt
《信息系统项目-信息系统集成专业技术知识讲义.ppt》由会员分享,可在线阅读,更多相关《信息系统项目-信息系统集成专业技术知识讲义.ppt(217页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1信息系统项目管理师辅导课程2北京理工大学计算机学院徐进23.信息系统集成专业技术知识3.1信息系统建设 3.1.1基本概念 3.1.2 软件工程方法和技术3.2软件过程模型3.3软件分析方法3.3.1结构化分析方法3.3.2 面向对象分析方法3.4软件设计方法3.4.1结构化设计 3.4.2面向对象设计33.1信息系统建设信息系统集成定义根据信息产业部1999年1047号文件计算机信息系统集成资质管理办法(试行)中定义,计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障。3.1.1基本概念4信息系统的特点以满足用户需求为根本出发点是综合的、高技
2、术含量的系统工程最终交付物时完整系统,而不是产品系统包括技术、管理、商务活动,技术是核心,管理商务是保障5信息系统集成的分类信息系统集成包括两大类:设备系统集成也称“硬件系统集成”、“系统集成”,或简称“弱电系统集成”,区别于机电设备安装类的强点集成。应用系统集成(Application System Integration)应用系统集成也称“行业信息化解决方案集成”。指提供符合业务需求和管理需求的系统技术解决方案和运维方案。6设备集成包括:智能建筑系统集成(Intelligent Building System Integration),指搭建建筑主体内的智能化管理系统。如:综合布线技术、楼
3、宇自控技术、网络互联技术、多媒体应用技术、安防技术等。计算机网络系统集成(Computer Network System Integration)指利用综合布线和计算机网络技术,将分散在不同地点的电脑设备及功能的集成。安防系统集成(Security System Integration)指搭建机构或组织内部的安全防范管理系统。如:门襟系统、楼宇对讲系统、防盗监控报警系统、停车管理系统、远程会议系统等。7信息系统集成技术信息系统技术与软件工程从信息系统集成的分类可以看出,信息系统集成所涉及的专业技术非常广泛,除了包括多种学科的专业技术之外,还包括管理学科的技术和方法。从信息系统集成的开发过程来看
4、,主要涉及技术是软件工程和网络技术。83.1.2 软件工程方法和技术1基本概念2软件过程管理3软件需求分析概述4软件设计概述5软件测试6软件维护7软件质量保证及评价体系91基本概念软件工程的定义软件工程方法和技术是计算机学科的重要部分。按照IEEE93对软件工程定义:第一,软件工程是将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。第二,软件工程是在一中所述方法的研究。10软件工程定义中给出的4个要点软件工程的性质是系统的、严格约束的、可量化的方法软件工程作用的范围是用于软件的开发、运行和维护的全过程软件工程的目标是工程化应用于软件软件工程的趋势是软件工程方
5、法的不断发展和研究11软件工程的内容包括:工程部分:包括软件项目的招标、投标、合同、实施、监督、验收、推广,等方面来研究,以经济管理科学的理论为依据,研究软件工程的规划策略和经济收益等工程问题。技术部分:软件项目的分析、设计、编码、测试、维护等技术方法。依据软件技术理论,以高效、健壮、可复用、可维护的软件为目标。研究软件体系结构、组成成分,以及构造方式,等。管理部分:软件项目开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学性、合理性、高效可行、及可测量性为目标,来研究工程项目管理。12软件开发生命周期(Systems Development Life Cycle)是软件的产生
6、直到报废的存活期。与人类相同,任何软件都会经历同样的生命周期。13软件过程 软件过程(Software Procedure)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动中包括完成软件项目的各项任务的;每个任务都要运用软件开发方法和技术实施软件系统。活动的执行按照基本的规律,在一定的条件下,可以是顺序的、重复的、并行的、嵌套的等不同的形式,这些形式属于过程模型(本章过面论述)。142软件过程管理研究的热点主要包括:1)软件过程模型的分析和建立,包括:软件过程的合理性、可实施性,以及形式描述和可验证。2)软件过程管理的体系,包括:软件过程定义的概念、内容、策略、方法等,主要的软件
7、过程管理体系:RUP(Rational Unified Process)统一过程PSP(Personal Software Process)个体软件过程3)软件过程改进和评估体系CMM(Capability Maturity Model for Software,SW-CMM)软件能力成熟度模型体系CMMI(Capability Maturity Model Integration)能力成熟度模型集成体系,CMMI/SPCA双模认证(软件能力成熟度与软件过程能力)评估体系。15RUP(Rational Unified Process)Rational公司提出的软件按开发过程模型。是一个面向对象
8、软件工程的通用业务流程。RUP的目标:为确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP 过程模型:横轴是时间轴,分为反复迭代的四个阶段:初始阶段、细化阶段、构造阶段和发布阶段纵轴是工作流轴,包括六个核心工作流程和三个核心支撑工作流程16RUP 核心工作流包括:业务建模工作流需求工作流分析设计工作流实现工作流测试工作流发布工作流RUP 核心支撑工作流包括:环境工作流项目管理工作流配置与变更管理工作流17RUP的6项经验迭代式开发。允许在过程中,不断适应需求的变化,通过不断细化来加深对问题的理解。管理需求。提供如何提取系统功能和约束条件,并将其文档化。基于构件的体系结构
9、。使系统成为可构造、可复用,系统应该尽量采用构件式结构。可视化建模。采用UML对软件系统建模,提供软件文档控制及管理能力。验证软件质量。软件质量评估是事先进行的并贯穿在整个过程所有活动中的必需任务,要统一组织和管理控制软件变更。给出了如何控制、跟踪及监控对系统过程中的修改工作,以确迭代过程进行。18PSP个体软件过程PSP(Personal Software Process)个体软件过程,是由美国Carnegie Mellon大学软件工程研究所开发的,是用于软件开发中,控制和管理个人工作方式的一种软件过程体系。PSP给出了个体软件过程的原则,并可应用到任何软件工程任务之中。PSP提供了度量和分
10、析工具,帮助软件开发者做出准确的计划;确定为改善产品质量所采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件开发者能力的影响。19PSP过程体系框架1)个体度量过程PSP0中规定了建立个体过程基线,包括在计划、开发以及后置处理三个阶段中,制定开发时间、选定缺陷类型标准、度量缺陷限值、排除缺陷限值等。PSP0.1增加了编码标准、程序规模度量和过程改善建议三个关键过程域。2)个体规划过程PSP1是个体计划方法,用自己的历史数据预测程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。PSP1.1增加了对任务和进度的规划。203)个体质量管理过程
11、PSP2是个体质量管理,建立程序缺陷的检测表,按照检测表进行设计复查和代码复查(也称“代码走查”),便于尽早发现软件缺陷,减小修复代价。PSP2.1给出设计过程和设计模板,介绍设计方法。4)个体循环过程PSP3PSP3是延伸个体过程达到大规模的生产过程的方法,采用螺旋式上升过程,即迭代增量式开发方式,分解大型系统的程序,对每个分解模块按照PSP2.1所描述的过程开发,并逐步集成完整软件产品。21软件过程改进和评估体系CMM(Capability Maturity Model for Software,SW-CMM,简称CMM)软件能力成熟度模型,是由美国Carnegie Mellon大学的软件
12、工程研究所(简称SEI)受美国国防部委托,于1991年研究制定的。初始的目的是为了评价美国国防部的软件合同承包组织的能力,因为在软件企业应用进取得了较大的成功,所以在全世界范围内被广泛使用。CMM的核心 CMM的是这对软件开发全过程管理和控制,使其更加科学化、标准化。作为一种评价软件承包能力,并且,帮助其改善软件质量的方法。CMM的核心是软件开发过程的管理工程能力的提高与评估。22CMM的体系的主要内容:能力等级能力等级特点特点关键过程域关键过程域KPA第一级第一级 基本级基本级软软件件过过程程混混乱乱而而无无序序,几几乎乎没没有有过过程程定定义义,完完全全依依靠靠的的个个人人的的才才能能和和
13、经经验验来来实实施系统施系统,反应式的管理方式。反应式的管理方式。第二级第二级 可重复级可重复级建建立立了了基基本本的的项项目目管管理理机机制制,对对项项目目进进度度和和费费用用有有必必要要的的跟跟踪踪,能能够够利利用用以以前类似的项目经验,重复开发过程。前类似的项目经验,重复开发过程。需需求求管管理理,项项目目计计划划,项项目目跟跟踪踪和和监监督督,软软件件子子合合同同管管理理,软软件件配配置置管管理理,软软件件质质量量保保障障第三级第三级 定义级定义级 制制定定了了软软件件工工程程化化标标准准化化和和文文档档标标准准化化,并在软件开发过程中得以实施。并在软件开发过程中得以实施。过过程程定定
14、义义,过过程程焦焦点点,培培训训,集集成成管管理理,软软件件产产品品工工程程,组组间协调间协调,专家审评专家审评第四级第四级 管理级管理级收收集集软软件件过过程程和和产产品品质质量量的的详详细细度度量量,对对软软件件过过程程和和产产品品质质量量有有定定量量的的理理解解和控制。和控制。定定量量的的软软件件过过程程管管理理和和产产品质量管理品质量管理第五级第五级 优化级优化级软软件件过过程程的的量量化化反反馈馈和和新新的的思思想想和和技技术促进过程的不断改进。术促进过程的不断改进。缺缺陷陷预预防防,过过程程变变更更管管理理和和技术变更管理技术变更管理2323软件配置管理软件配置管理软件配置项(SC
15、ISoftwareConfigurationItem):分类特性举例环境类软件开发或维护环境编辑器、编译器、文档工具等定义类需求分析与定义阶段得到的工作产品需求规格说明书、开发计划、设计和测试标准、验收计划设计类设计阶段得到的产品设计规格说明、程序规格说明、用户界面设计标准、用户手册编码类编码及单元测试后产品源代码、目标代码、单元测试数据及结果测试类系统测试后得到的产品系统测试数据、测试结果、操作手册、安装手册维护类进入维护后所得到的产品以上任何需要变更的配置项24CMM关键过程域和考核标准KPA是CMM实现每级目标的关键过程域(Key Process Area)KPA统一考核标准:确定目标:
16、给出准确的目标,若满足了某个级别的所有KPA要求,则表明达到了该级别的能力。实施保证:必须采取的活动,包括制定企业范围的政策和高层管理的责任。实施能力:前提条件,包括资源保证、人员培训等。必须采取措施满足这些条件后,才有可能执行KPA的活动。执行活动:执行KPA的角色和步骤。包括计划、执行、及执行跟踪等。度量分析:对过程度量和度量分析,确定执行活动的状态,以及执行活动的有效性。实施验证:验证执行活动是否与所建立的过程一致。组织评审、审计及质量保证活动。25CMMI(Capability Maturity Model Integration)能力成熟度模型集成,是SEI在2000年发布的CMM的
17、新版本。在CMM基础上,整合了Software CMM、Systems Eng-CMM、People CMM和Acquisition CMM,建立起除软件开发外,软件系统工程中诸多因素处理能力的标准和评价体系。CMMI主要内容 软件能力成熟度模型CMM 2.0草案、系统工程能力成熟度模型、软件采购能力成熟度模型、集成产品和过程开发等。CMMI的KPA增加至 25个,目标105个,关键实践485条。CMMI的基本目标解决大型软件项目过程改进难度增大问题可实施软件过程的并行化与多学科组合提高过程改进的效益26CMM评估评估机构及人员要求:必须由SEI授权的合作机构,由SEI授权的主任评估师进行评估
18、。遵守SEI发布的评估需求和评估方法;若进行双模式SPCA(软件过程能力和软件能力成熟度)评估,必须得到信息产业部和国家认证认可委员会的批准,评估过程遵守国家发布的SPCA评估方法。申请评估企业的一般条件 要求企业的项目或产品活动应能覆盖所申请CMM/CMMI等级的要求;SPCA评估,要求企业成立5年以上,软件开发人员20人以上,评估项目和人员覆盖率达到70以上27实施CMM到评估的基本流程:CMM/CMMI培训成立软件过程组织、软件质量保证组织建立和完善过程管理体系试点实施推广并制度化参加预评估参加、准备最终评估持续改进283软件需求分析概述软件需求分析是软件生命周期中必不可少的重要的部分,
19、是软件开发成败的关键,占整个工程一半以上的工作量。需求分析 用经过证实的有效原理、方法,通过合适的工具和记号,系统地描述待开发产品或系统的行为特征及相关约束。需求分析过程 包括:需求获取、建立需求模型、编写软件需求规格说明(Software Requirement Specification,SRS)及一致性验证。需求分析的内容 包括:功能性需求、非功能性需求29软件的非功能性需求过程需求:交付需求、实现方法需求、标准需求等产品需求:可用性、性能需求、可靠性需求、可移植性需求、可重用性需求、安全性需求等外部需求:法规需求、费用需求、互操作性需求等需求模型 模型是描述现实问题的一种手段,它能抽象
20、和简化地反映实际产品或系统的外部特征和本质。不同的方法学有不同的模型表示。因此,它是软件工程方法学研究的主要内容之一。(本章后面论述)30Kruchten在1995年提出了4+1试图模型,从五个不同的侧面来表达系统。逻辑视图开发视图进程视图物理视图场景最终用户功能需求编程人员软件元素管理系统运行特性、非功能性需求系统实施的拓扑、系统安装逻辑视图和开发视图属于静态结构表达进程视图和物理视图是从系统的动态结构老表达的。314软件设计概述软件设计,在软件生命周期中处于技术核心的位置,将完成软件系统实现意义的工程表示。软件设计阶段任务:数据设计,用数据结构组织处理数据元素之间的逻辑关系体系结构设计,定
21、义软件的主要结构、构造元素、及之间的关系、限制和约束接口设计,描述软件内部、软件和协作系统之间的通信,数据流或控制流构件逻辑设计,对软件结构的构造元素,进行软件算法过程的描述,为编码提供依据32软件设计的方法和技术软件设计方法是软件工程中,软件技术的汇集焦点。它汇集了操作系统、数据库技术、网络技术、软件体系结构,以及算法设计、界面设计等,几乎涵盖了计算机学科的所有技术和方法。不同的方法学对应不同的设计方法和技术,例如:结构化设计方法和面向对象的设计方法。(本章后面分别论述)335软件测试软件测试的目标为了发现软件中的错误,努力产生好的测试案例软件测试的评价能成功发现软件错误的测试才是好的测试能
22、揭示软件错误的案例才是好的案例软件测试的基本原则测试应符合软件的功能及性能需求测试要有计划地进行测试应该从小规模开始,逐步到大规模的测试测试不可能穷举,只能尽量充分覆盖测试应该由软件开发人员和独立测试组共同完成34软件测试的三个阶段单元测试阶段,验证程序控制结构的分支,尽量覆盖所有可能的错误集成测试阶段,在单元测试的基础上验证程序以及测试程序构造问题高阶测试,也叫做“确认性测试”,是对已经通过集成测试并可运行的程序进行的测试确认性测试集成测试单元测试编码设计需求分析验证需求分析验证设计验证编码可行性分析系统维护测试v模型35软件测试的策略软件测试的不同阶段对应不同测试策略单元测试策略,包括:程
23、序中常见错误的测试、单元测试规程,等策略集成测试策略,包括:自顶向下的测试、自底向上的测试、回归测试、烟雾测试,等策略高阶测试策略,包括:测试、测试、恢复测试、安全测试、应力测试、性能测试等策略36软件测试技术黑盒测试技术,为证实软件运行功能,通过功能的操作执行发现和寻找错误白盒测试技术,为证实软件内部的执行规约,在程序内部发现和寻找错误软件测试方法和工具结构化测试方法和工具,是针对结构化程序语言程序的测试方法,以及结构化程序设计语言环境的软件测试工具。面向对象测试方法,针对面向对象程序语言程序的测试方法,以及面向对象程序设计语言环境的软件测试工具。376软件维护基本概念软件维护是指对已经提交
24、用户使用的软件系统或软件产品的修改是软件生命周期中必然经历的阶段任何软件系统或产品存都存在缺陷,这是软件基本性质决定的:软件是人工过程为主的知识密集型产品,软件开发者对解决问题的理解总是有误差的与软件操作相关的环境和需求是会变化的软件解决的现实问题本身是存在不确定性因素的软件开发的方法和技术本身是存在局限性的38软件维护的基本类型改正性维护:交付使用的软件暴露的错误隐患适应性维护:更新业务以及硬件系统或软件环境升级完善性维护:原有功能或性能在使用中发现短缺预防性维护:系统未来的扩充、维护、移植改正性维护20%适应性维护25%完善性维护50%其它4种维护的比例:39软件维护的任务及过程设置专门的
25、维护确认审批机构,减少由于随意修改造成的系统结构混乱建立合理的维护管理流程及严格的维护文档,包括:申请、审批、问题报告、维护计划、实施结果进行维护活动的评审,对维护所带来的成本开销给出定量的分析407软件质量保证及评价体系软件质量定义按国际标准ISO/8042-1994对软件质量定义:能满足明确需求的软件实体,所具有能力的特性总合。按照国家GB/T 11457-2006软件工程术语中定义软件质量为:软件产品中能满足给定需要的性质和特性的总体软件具有所期望的各种属性的组合程度顾客和用户觉得软件满足其综合期望的程度确定软件在使用中将满足顾客预期要求的程度41软件质量模型质量模型是质量特性结构的表达
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 项目 集成 专业技术 知识 讲义
限制150内