信息系统项目管理师(2)ppt课件_第1页
信息系统项目管理师(2)ppt课件_第2页
信息系统项目管理师(2)ppt课件_第3页
信息系统项目管理师(2)ppt课件_第4页
信息系统项目管理师(2)ppt课件_第5页
已阅读5页,还剩187页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息系统工程管理师辅导课程2北京理工大学计算机学院徐进13.信息系统集成专业技术知识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面向对象设计23.1信息系统建立信息系统集成定义根据信息产业部1999年1047号文件中定义,计算机信息系统集成是指从事计算机运用系统工程和网络系统工程的总体谋划、设计、开发、实施、效力及保证。33.1.1根本概念信息系统的特点以满足用户需求为根本出发点是综合的、高技术含量的系统工程最终交付物时完好系统,而

2、不是产品系统包括技术、管理、商务活动,技术是中心,管理商务是保证4信息系统集成的分类信息系统集成包括两大类:设备系统集成也称“硬件系统集成、“系统集成,或简称“弱电系统集成,区别于机电设备安装类的强点集成。运用系统集成Application System Integration运用系统集成也称“行业信息化处理方案集成。指提供符合业务需求和管理需求的系统技术处理方案和运维方案。5设备集成包括:智能建筑系统集成Intelligent Building System Integration,指搭建建筑主体内的智能化管理系统。如:综合布线技术、楼宇自控技术、网络互联技术、多媒体运用技术、安防技术等。计

3、算机网络系统集成Computer Network System Integration指利用综合布线和计算机网络技术,将分散在不同地点的电脑设备及功能的集成。安防系统集成Security System Integration指搭建机构或组织内部的平安防备管理系统。如:门襟系统、楼宇对讲系统、防盗监控报警系统、停车管理系统、远程会议系统等。6信息系统集成技术信息系统技术与软件工程从信息系统集成的分类可以看出,信息系统集成所涉及的专业技术非常广泛,除了包括多种学科的专业技术之外,还包括管理学科的技术和方法。从信息系统集成的开发过程来看,主要涉及技术是软件工程和网络技术。73.1.2 软件工程方法和

4、技术1根本概念2软件过程管理3软件需求分析概述4软件设计概述5软件测试6软件维护7软件质量保证及评价体系891根本概念软件工程的定义软件工程方法和技术是计算机学科的重要部分。按照IEEE93对软件工程定义:第一,软件工程是将系统的、严厉约束的、可量化的方法运用于软件的开发、运转和维护,即将工程化运用于软件。第二,软件工程是在一中所述方法的研讨。软件工程定义中给出的4个要点软件工程的性质是系统的、严厉约束的、可量化的方法软件工程作用的范围是用于软件的开发、运转和维护的全过程软件工程的目的是工程化运用于软件软件工程的趋势是软件工程方法的不断开展和研讨10软件工程的内容包括:工程部分:包括软件工程的

5、招标、招标、合同、实施、监视、验收、推行,等方面来研讨,以经济管文科学的实际为根据,研讨软件工程的规划战略和经济收益等工程问题。技术部分:软件工程的分析、设计、编码、测试、维护等技术方法。根据软件技术实际,以高效、强壮、可复用、可维护的软件为目的。研讨软件体系构造、组成成分,以及构造方式,等。管理部分:软件工程开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学性、合理性、高效可行、及可丈量性为目的,来研讨工程工程管理。11软件开发生命周期Systems Development Life Cycle是软件的产生直到报废的存活期。与人类一样,任何软件都会阅历同样的生命周期。12软件

6、过程 软件过程(Software Procedure)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动中包括完成软件工程的各项义务的;每个义务都要运用软件开发方法和技术实施软件系统。活动的执行按照根本的规律,在一定的条件下,可以是顺序的、反复的、并行的、嵌套的等不同的方式,这些方式属于过程模型(本章过面论述)。132软件过程管理研讨的热点主要包括:1软件过程模型的分析和建立,包括:软件过程的合理性、可实施性,以及方式描画和可验证。2软件过程管理的体系,包括:软件过程定义的概念、内容、战略、方法等,主要的软件过程管理体系:RUPRational Unified Process) 一

7、致过程PSP (Personal Software Process) 个体软件过程3软件过程改良和评价体系CMMCapability Maturity Model for Software,SW-CMM软件才干成熟度模型体系CMMICapability Maturity Model Integration才干成熟度模型集成体系,CMMI/SPCA双模认证软件才干成熟度与软件过程才干评价体系。14RUPRational Unified Process)Rational公司提出的软件按开发过程模型。是一个面向对象软件工程的通用业务流程。RUP的目的:为确保在可估计的时间安排和预算内开发出满足最终用

8、户需求的高质量的软件。RUP 过程模型:横轴是时间轴,分为反复迭代的四个阶段:初始阶段、细化阶段、构造阶段和发布阶段纵轴是任务流轴,包括六个中心任务流程和三个中心支撑任务流程15RUP 中心任务流包括:业务建模任务流需求任务流分析设计任务流实现任务流测试任务流发布任务流RUP 中心支撑任务流包括:环境任务流工程管理任务流配置与变卦管理任务流16RUP的6项阅历迭代式开发。允许在过程中,不断顺应需求的变化,经过不断细化来加深对问题的了解。管理需求。提供如何提取系统功能和约束条件,并将其文档化。基于构件的体系构造。使系统成为可构造、可复用,系统应该尽量采用构件式构造。可视化建模。采用UML对软件系

9、统建模,提供软件文档控制及管理才干。验证软件质量。软件质量评价是事先进展的并贯穿在整个过程一切活动中的必需义务,要一致组织和管理控制软件变卦。给出了如何控制、跟踪及监控对系统过程中的修正任务,以确迭代过程进展。17PSP个体软件过程PSP (Personal Software Process)个体软件过程,是由美国Carnegie Mellon大学软件工程研讨所开发的,是用于软件开发中,控制和管理个人任务方式的一种软件过程体系。PSP给出了个体软件过程的原那么,并可运用到任何软件工程义务之中。PSP提供了度量和分析工具,协助软件开发者做出准确的方案;确定为改善产质量量所采取的步骤;建立度量个体

10、软件过程改善的基准;确定过程的改动对软件开发者才干的影响。18PSP过程体系框架1个体度量过程PSP0中规定了建立个体过程基线,包括在方案、开发以及后置处置三个阶段中,制定开发时间、选定缺陷类型规范、度量缺陷限值、排除缺陷限值等。PSP0.1添加了编码规范、程序规模度量和过程改善建议三个关键过程域。2个体规划过程PSP1是个体方案方法,用本人的历史数据预测程序的大小和需求的开发时间,并运用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。PSP1.1添加了对义务和进度的规划。193个体质量管理过程PSP2是个体质量管理,建立程序缺陷的检测表,按照检测表进展设计复查和代码复查也称“代码

11、走查,便于尽早发现软件缺陷,减小修复代价。PSP2.1给出设计过程和设计模板,引见设计方法。4个体循环过程PSP3PSP3是延伸个体过程到达大规模的消费过程的方法,采用螺旋式上升过程,即迭代增量式开发方式,分解大型系统的程序,对每个分解模块按照PSP2.1所描画的过程开发,并逐渐集成完好软件产品。20软件过程改良和评价体系CMMCapability Maturity Model for Software,SW-CMM,简称CMM软件才干成熟度模型,是由美国Carnegie Mellon大学的软件工程研讨所简称SEI受美国国防部委托,于1991年研讨制定的。初始的目的是为了评价美国国防部的软件合

12、同承包组织的才干,由于在软件企业运用进获得了较大的胜利,所以在全世界范围内被广泛运用。CMM的中心 CMM的是这对软件开发全过程管理和控制,使其更加科学化、规范化。作为一种评价软件承包才干,并且,协助其改善软件质量的方法。CMM的中心是软件开发过程的管理工程才干的提高与评价。21CMM的体系的主要内容:能力等级特点关键过程域KPA第一级 基本级软件过程混乱而无序,几乎没有过程定义,完全依靠的个人的才能和经验来实施系统,反应式的管理方式。第二级 可重复级建立了基本的项目管理机制,对项目进度和费用有必要的跟踪,能够利用以前类似的项目经验,重复开发过程。需求管理,项目计划,项目跟踪和监督,软件子合同

13、管理,软件配置管理,软件质量保障第三级 定义级 制定了软件工程化标准化和文档标准化,并在软件开发过程中得以实施。过程定义,过程焦点,培训,集成管理,软件产品工程,组间协调,专家审评第四级 管理级收集软件过程和产品质量的详细度量,对软件过程和产品质量有定量的理解和控制。定量的软件过程管理和产品质量管理第五级 优化级软件过程的量化反馈和新的思想和技术促进过程的不断改进。缺陷预防,过程变更管理和技术变更管理2223软件配置管理软件配置项SCI Software Configuration Item:分类特性举例环境类软件开发或维护环境编辑器、编译器、文档工具等定义类需求分析与定义阶段得到的工作产品需

14、求规格说明书、开发计划、设计和测试标准、验收计划设计类设计阶段得到的产品设计规格说明、程序规格说明、用户界面设计标准、用户手册编码类编码及单元测试后产品源代码、目标代码、单元测试数据及结果测试类系统测试后得到的产品系统测试数据、测试结果、操作手册、安装手册维护类进入维护后所得到的产品以上任何需要变更的配置项CMM关键过程域和考核规范KPA是CMM实现每级目的的关键过程域(Key Process Area)KPA一致考核规范:确定目的:给出准确的目的,假设满足了某个级别的一切KPA要求,那么阐明到达了该级别的才干。实施保证:必需采取的活动,包括制定企业范围的政策和高层管理的责任。实施才干:前提条

15、件,包括资源保证、人员培训等。必需采取措施满足这些条件后,才有能够执行KPA的活动。执行活动:执行KPA的角色和步骤。包括方案、执行、及执行跟踪等。度量分析:对过程度量和度量分析,确定执行活动的形状,以及执行活动的有效性。实施验证:验证执行活动能否与所建立的过程一致。组织评审、审计及质量保证活动。24CMMICapability Maturity Model Integration才干成熟度模型集成,是SEI在2000年发布的CMM的新版本。在CMM根底上,整合了Software CMM、Systems Eng-CMM、People CMM和Acquisition CMM,建立起除软件开发外,

16、软件系统工程中诸多要素处置才干的规范和评价体系。CMMI主要内容 软件才干成熟度模型CMM 2.0草案、系统工程才干成熟度模型、软件采购才干成熟度模型、集成产品和过程开发等。CMMI的KPA添加至 25个,目的105个, 关键实际485条。CMMI的根本目的处理大型软件工程过程改良难度增大问题可实施软件过程的并行化与多学科组合提高过程改良的效益25CMM评价评价机构及人员要求:必需由SEI授权的协作机构,由SEI授权的主任评价师进展评价。遵守SEI发布的评价需求和评价方法;假设进展双方式SPCA软件过程才干和软件才干成熟度评价,必需得到信息产业部和国家认证认可委员会的同意,评价过程遵守国家发布

17、的SPCA评价方法。恳求评价企业的普通条件 要求企业的工程或产品活动应能覆盖所恳求CMM/CMMI等级的要求; SPCA评价,要求企业成立5年以上,软件开发人员20人以上,评价工程和人员覆盖率到达70以上26实施CMM到评价的根本流程:CMM/CMMI培训成立软件过程组织、软件质量保证组织建立和完善过程管理体系试点实施推行并制度化参与预评价参与、预备最终评价继续改良273软件需求分析概述软件需求分析是软件生命周期中必不可少的重要的部分,是软件开发成败的关键,占整个工程一半以上的任务量。需求分析 用经过证明的有效原理、方法,经过适宜的工具和记号,系统地描画待开发产品或系统的行为特征及相关约束。需

18、求分析过程 包括:需求获取、建立需求模型、编写软件需求规格阐明Software Requirement Specification,SRS及一致性验证。需求分析的内容 包括:功能性需求、非功能性需求28软件的非功能性需求过程需求:交付需求、实现方法需求、规范需求等产品需求:可用性、性能需求、可靠性需求、可移植性需求、可重用性需求、平安性需求等外部需求:法规需求、费用需求、互操作性需求等需求模型 模型是描画现实问题的一种手段,它能笼统和简化地反映实践产品或系统的外部特征和本质。不同的方法学有不同的模型表示。因此,它是软件工程方法学研讨的主要内容之一。本章后面论述2930Kruchten在1995

19、年提出了4+1试图模型,从五个不同的侧面来表达系统。逻辑视图开发视图进程视图物理视图场景最终用户功能需求编程人员软件元素管理系统运转特性、非功能性需求系统实施的拓扑、系统安装逻辑视图和开发视图属于静态构造表达进程视图和物理视图是从系统的动态构造老表达的。314软件设计概述软件设计,在软件生命周期中处于技术中心的位置,将完成软件系统实现意义的工程表示。软件设计阶段义务:数据设计,用数据构造组织处置数据元素之间的逻辑关系体系构造设计,定义软件的主要构造、构造元素、及之间的关系、限制和约束接口设计,描画软件内部、软件和协作系统之间的通讯,数据流或控制流构件逻辑设计,对软件构造的构造元素,进展软件算法

20、过程的描画,为编码提供根据32软件设计的方法和技术软件设计方法是软件工程中,软件技术的聚集焦点。它聚集了操作系统、数据库技术、网络技术、软件体系构造,以及算法设计、界面设计等,几乎涵盖了计算机学科的一切技术和方法。不同的方法学对应不同的设计方法和技术,例如:构造化设计方法和面向对象的设计方法。本章后面分别论述335软件测试软件测试的目的为了发现软件中的错误,努力产生好的测试案例软件测试的评价能胜利发现软件错误的测试才是好的测试能提示软件错误的案例才是好的案例软件测试的根本原那么测试应符合软件的功能及性能需求测试要有方案地进展测试应该从小规模开场,逐渐到大规模的测试测试不能够穷举,只能尽量充分覆

21、盖测试应该由软件开发人员和独立测试组共同完成34软件测试的三个阶段单元测试阶段,验证程序控制构造的分支,尽量覆盖一切能够的错误集成测试阶段,在单元测试的根底上验证程序以及测试程序构造问题高阶测试,也叫做“确认性测试,是对曾经经过集成测试并可运转的程序进展的测试确认性测试集成测试单元测试编码设计需求分析验证需求分析验证设计验证编码可行性分析系统维护测试v模型35软件测试的战略 软件测试的不同阶段对应不同测试战略单元测试战略,包括:程序中常见错误的测试、单元测试规程,等战略集成测试战略,包括:自顶向下的测试、自底向上的测试、回归测试、烟雾测试,等战略高阶测试战略,包括:测试、测试、恢复测试、平安测

22、试、应力测试、性能测试等战略36软件测试技术黑盒测试技术,为证明软件运转功能,经过功能的操作执行发现和寻觅错误白盒测试技术,为证明软件内部的执行规约,在程序内部发现和寻觅错误软件测试方法和工具构造化测试方法和工具,是针对构造化程序文语程序的测试方法,以及构造化程序设计言语环境的软件测试工具。面向对象测试方法,针对面向对象程序文语程序的测试方法,以及面向对象程序设计言语环境的软件测试工具。376软件维护根本概念软件维护是指对曾经提交用户运用的软件系统或软件产品的修正是软件生命周期中必然阅历的阶段任何软件系统或产品存都存在缺陷,这是软件根本性质决议的:软件是人工过程为主的知识密集型产品,软件开发者

23、对处理问题的了解总是有误差的与软件操作相关的环境和需求是会变化的软件处理的现实问题本身是存在不确定性要素的软件开发的方法和技术本身是存在局限性的38软件维护的根本类型矫正性维护:交付运用的软件暴露的错误隐患顺应性维护:更新业务以及硬件系统或软件环境晋级完善性维护:原有功能或性能在运用中发现短缺预防性维护:系统未来的扩展、维护、移植 矫正性维护20%顺应性维护25%完善性维护50%其它4种维护的比例:39软件维护的义务及过程设置专门的维护确认审批机构,减少由于随意修正呵斥的系统构造混乱建立合理的维护管理流程及严厉的维护文档,包括:恳求、审批、问题报告、维护方案、实施结果进展维护活动的评审,对维护

24、所带来的本钱开销给出定量的分析407软件质量保证及评价体系软件质量定义按国际规范ISO/8042-1994对软件质量定义: 能满足明确需求的软件实体,所具有才干的特性总合。按照国家GB/T 11457-2006中定义软件质量为:软件产品中能满足给定需求的性质和特性的总体软件具有所期望的各种属性的组合程度顾客和用户觉得软件满足其综合期望的程度确定软件在运用中将满足顾客预期要求的程度41软件质量模型质量模型是质量特性构造的表达,业界认同的软件质量模型有几种:Bohm 质量模型,1976年由Bohm等提出软件质量分层模型McCall 质量模型,1979年由McCall等人提出的软件质量模型ISOIE

25、C 9126-1:2001,给出的软件质量模型42软件质量可移植性可用性可维护性可靠性效率人类工程可测性可了解性可修正性设备独立性自包含性正确性完备性强壮性一致性可计测性设备效率可存取性通讯性自描画性构造化性简单明晰性可扩展性Bohm 质量模型43产品修正产品转移产品运转可维护性可测试性灵敏性互联性可移植性复用性 正确性 可靠性易用性 效率 完好性McCall 质量模型44外部质量和内部质量功能性易用性可靠性效率可维护性可移植性运用质量消费性有效性平安性称心度ISOIEC 9126-1:2001质量模型45软件质量保证体系ISO9001是适用于一切工程质量保证规范。ISO9000-3是在软件过

26、程中质量保证体系运用的子集。规范中给出的软件质量保证体系。主要内容包括:管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和实验、检验/丈量和实验设备的控制、检验和实验形状、不合格品的控制、纠正和预防措施、搬运/储存/包装/防护和交付、质量记录的控制、内部质量审核、培训、效力、统计系统等20多项。软件评审软件评审是软件质量保证的重要措施根据软件评审包括: 1软件需求评审,产品对应需求的适宜性,在软件需求分析终了后进展。2概要设计评审,软件设计的总体构造、外部接口、部件分配、数据构造以及各主要部件之间的接口等方面的适宜性,在软件概

27、要设计终了后进展。3详细设计评审,评价软件设计的每一个根本部件的功能、算法和过程描画各方面的适宜性,在软件详细设计终了后进展。464软件验证和确认评审,评价软件验证与确认方案中运用方法的适宜性与完好性,在软件验证与确认方案完成后进展。5功能检查,验证所开发软件满足需求的情况,在软件提交前对软件进展。6物理检查,验证程序和文档的一致性并能否做好了交付预备,在软件验收前进展。7综合检查,验证代码和设计文档的一致性、接口规格阐明的一致性、设计实现和功能需求的一致性、功能需求和测试描画的一致性。在软件验收时,用户或用户委托专家,进展抽样的方式检查。8管理评审,方案执行情况定期管理评审,必需由独立评审机

28、构或授权的第三方主持进展。4748软件的检查和走查方式软件检查,是针对软件产品的某一部分,目的是检测和发现软件产品的异常情况记录下来并提交软件走查,是对软件产品发现异常或缺陷并改良的过程,可以在同事之间相互进展,评价产品实现的运转效果,发现问题,改良方案。49软件质量评价ISO/IEC1458给出了软件质量评价规范,主要内容包括:软件评价的管理: 测试方案的编制指南 评价过程控制开发人员的评价过程顾客的评价过程评价者的评价过程合同协议评价模块评价50开发人员的评价过程,包括:软件质量指示器,评价过程的要求;对组织的要求(数据搜集的反响方式和途径);工程的要求(如确定质量要求、确定内部和外部质量

29、度量等);以及对质量分析、谋划、质量控制和质量评价的要求。顾客的评价过程,评价的目的包括: 用户的文件、课程和培训;用于产品开发的软件工程过程;产品历史运作情况;可执行软件产品本身(如经过黑盒测试或原型评价)。 评价者的评价过程,定义了供方本人的质量控制部门或第三方机构对软件产质量量的评价过程。软件产品的购买者或运用者,也可以独立进展评价。51评价供方、需方和评价者的相互关系、职责,以及相互达成合同协议的性质。 评价模块,包括6项内容:模块的范围,模块援用文件,模块的定义,模块所运用文件、搜集的数据和计算的度量值,解释丈量结果的信息,运用程序要求的资源(如硬件、软件、人员的技艺和资历及任务量)

30、 。52评价的五项活动:评价需求的分析评价规范制定评价的设计(包括评价方案)评价实施评价结果记录3.2开发过程模型53经典过程模型传统软件开发模型演化模型面向对象开发模型方式化方法模型 (智能模型)增量模型螺旋模型喷泉模型构件集成模型瀑布模型快速原型模型转换模型净室模型54要点:系统工程方法学基于软件过程 系统过程贯穿于开发生命周期 不同的过程,对应不同的系统开发活动5555瀑布模型需求分析软件设计编码测试维护模型要点: 阶段的顺序性 推迟实现的观念 严厉文档是保证质量的手段带来的问题: 过程根本不可迭代 需求在开场的不确定性 错误到最后才干发现 开发进程呈现塞阻形状可行性研讨问题定义56原型

31、模型 带来的问题:系统分析组织仓促用户不宜了解进度先入为主而系统设计,能够不是最正确设计听取用户意见建造修正原型测试运转原型原型过程表示:5757增量模型 分析设计编码测试分析设计编码测试分析设计编码测试分析设计编码测试增量2增量3增量4增量1第1个增量的发布第2个增量的发布第3个增量的发布第4增量的发布模型要点:瀑布和原型模型相结合强调版本晋级每版本开发遵照顺序过程 5858风险分析累计费用制定阶段 方案评审商定模型螺旋模型 模型要点:一致了瀑布模型与原型模型 与增量模型类似,更强调风险分析风险分析风险分析风险分析原型1原型2原型3运转原型软件需求需求有效性产品设计设计有效性验证操作概念需求

32、阶段方案开发方案确定目的选择方案设定条件运转验收测试集成测试详细设计单元测试编码系统集成测试方案评价方案明确风险排除风险开发验证5959喷泉模型 演化维护确认实现设计分析模型要点:表达认识事物的循环迭代性强调开发活动之间的无间隙性 无明显的活动阶段划分适用于面向对象的开发过程60构件集成模型 构件库问题域识别构件查找构件生成构件组装系统查到构件未查到构件模型要点: 基于面向对象的构件方法 立足于软件复用性 构成一致开发过程RUP 采用一致建模言语6161需求明确或有先例的工程 瀑布模型需求不明确或与客户难以沟通的工程 原型模型规模大且时间紧的工程 增量模型带有突破性技术的工程 螺旋模型采用面向

33、对象方法开发的工程 喷泉模型明显复用潜力的工程 构件模型 工程情况适用模型工程顺应模型的普通规律3.3系统分析方法62前往目录系统分析的根本概念 “系统分析也叫“需求分析或“问题定义 系统分析是在可行性分析阶段之后的一个重要的阶段 系统分析阶段,定义系统的功能、数据、行为的规约,及与其他系统的接口约束。63建立分析模型 在当前物理模型的根底上,建立分析模型完成“软件需求规格阐明 Software Requirement Specification,SRS在SRS中,定义软件的功能,信息,表示软件的行为需求验证 与用户达成共识,编写测试方案和测试案例需求分析的义务和步骤64行业知识学习访问用户调

34、查现场定制调研方案组织调研整理调研问题陈说建立当前系统物理模型建立未来系统逻辑模型多次反复的过程编制需求规格阐明开发系统原型系统分析步骤表示65需求规格阐明: (主要内容)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.其它需求需求分析阶段的产品663.3.1 构造化分析方法S

35、tructured Analysis)SA是面向数据流的分析方法,在20世纪90年代被广泛运用。SA方法适宜于开发数据处置类型的软件,是需求分析阶段的描画工具。SA方法的主要思想是:以数据的输入输出流向,确认其加工或处置,从粗到细,逐层分解。67数据流图(Data Flow Diagram DFD) 外部实体外部实体外部实体外部实体变换1变换3变换2变换4数据存储输入数据中间数据中间数据中间数据输入数据输出数据输出数据输入输出变换加工阐明:输入:输出:加工:构造化分析方法和工具68数据流构造化Ff1f41f43f45f42f46f3f2f4f5f6f7ABABXXYYZZ69称号: 别名: 何

36、处运用/如何运用: 内容描画: 补充信息: 数据字典作用:描画各个数据项约束数据字典内容和方式:70系统分析建模例如家庭平安系统问题陈说: 系统由房主在安装时配置,经过系统控制窗口和键盘功能与房主交互进展。系统可以监控一切衔接的传感器。 在安装过程中,每个传感器可以设置编号和类型,系统的启动和封锁必需有主人密码控制;传感器事件发生时,软件激活系统上的警报器,在设定的时间延时后,软件自动拨打设定的号码,并提供位置信息和事件性质,号码将每隔20秒重拨一次,直至接通。 系统运转时,系统控制窗口显示提示信息和系统形状。经过键盘可以控制系统运转。71例:家庭平安系统控制面板 SAFEHOME01报警检查

37、火情分开驻留紧急旁路预备未就绪配备 电源 封锁 分开 驻留 最大 测试 旁路 立刻 编码 警声 预备就绪 123456789*0#72从问题陈说,分析SafeHome系统顶层DFD控制面板 传感器SafeHome系统控制面板 显示 警告线用户命令 和数据传感器 形状显示信息警告类型号73SafeHome 第一层DFD控制面板传感器处置用户输入控制面板 显示 警告线用户命令 和数据传感器 形状显示信息警告类型号信号配置系统监控传感器处置口令激活或失效系统显示信息和形状传感器信息配置信息正确的ID信息配置数据配置数据配置恳求启动停顿口令激活/失效信息74 监控传感器的精化DFD评定输出配置信息显示

38、格式化产生警告信号读传感器拨打传感器形状传感器ID类型,位置传感器信息警告类型警告数据号配置数据号信号传感器ID类型,位置75 从60年代出现 Simula 60言语以来,构成了表达类和对象两个根本概念的程序设计言语;70年代诞生的Smalltalk言语,真正确立了面向对象程序设计言语的位置。80年代面向对象的分析和设计方法才正式出现。面向对象分析和设计方法的来源 伴随着软件界对于构造化方法引起的越来越多的争议,以及面向对象程序设计越发广泛的运用和成熟,产生了面向对象分析和设计方法。3.3.2 面向对象分析方法76面向对象方法的根本概念和原那么(1)思想方法从现实世界中客观存在的事物出发,以问

39、题域中的事物为中心,建立和表达系统。将事物的特征和系统责任笼统表示为系统的对象,作为系统的根本构成单位。(2)4个根本概念类和对象音讯和封装承继多态和动态绑定77类和对象在外部世界中,一样属性和操作的对象属于一个类,对象是类的一个实例;在机器空间中,类是一个可复用的模板,而对象是复用出来的独立可执行程序块;数据笼统是在数据对象上定义相关的属性和必要的操作;过程笼统是定义某功能到责任实体;而这一实体要有必要的属性和执行这一功能的一些列操作;对象包括实体对象和无形对象;78封装和音讯隐藏类的内部属性和操作的执行,只留下外部可见的操作界面。防止外界错误地对内部进展修正,呵斥不良影响;对象只经过音讯来

40、恳求其他的对象执行本身的操作;音讯必需直接发给指定的对象,音讯中包括恳求执行操作的必要信息;接纳音讯的对象是音讯的执行者,在执时也可以向其他对象发出恳求。79类和子类类可以有子类,子类承继父类,构成类的层次构造;承继的概念与现实意义一样,子类承继父类的全部属性和操作,并允许有本人的属性和操作;承继可以有多重承继;承继有传送性;承继的重要作用在于源代码的复用。80学生姓名年龄研讨生导师研讨方向本科生班级专业承继:81承继层次:运输工具轮船车辆飞机卡车轿车82人员姓名年龄研讨生导师研讨方向职工部门职务在职研讨生多承继:83多态性在承继关系的类层次构造中,定义同名操作,构成同一操作的多种形状,按同一

41、个音讯呼应不同的行为。即“多态性。多态性更强地表达了信息隐蔽的原那么,实现接口的独立封装。多态性的实现机制: 静态联编编译直接确定衔接的软件成分 动态联编编译不确定衔接的软件成分,执行时根据定义的实体再确定需求的衔接的软件成分 84动态联编:静态联编:图形坐标挪动点挪动矩形长宽挪动圆半径挪动多态性:图形字符型坐标数字型坐标挪动挪动Virtue可运用一致图形挪动接口,采用挪动的动态联编85面向对象方法的优势以更接近人类认识世界的思想的方式来建立问题域模型,由于事物本身不但包括属性也包括行为,认识事物,从来不会将事物的属性和行为分别建造系统的根本元素是封装了操作的对象实体,逃避了以易变的处置过程为

42、根底的系统建造从实体对象笼统得到的对象类,坚持了语义上的一致性,提高了系统的复用和构造性承继机制是源代码级的复用机制,在此根底上的多态机制,成为系统可扩展性构造,以及分布式系统构造实现的根底保证86面向对象方法的开展趋势 从80年代到如今20多年的开展过程,面向对象方法学逐渐走向成熟和。主要表如今: 横向求同:多种的面向对象方法之间的求同。 纵向求同:与非面向对象方法的求同。 规范化: 一致建模言语Unified Modeling Language UML) 96年由Booch、Jacobson、Rumbaugh三位面向对象方法的专家,在国际对象管理组织OMG建议下,在Rational公司研制

43、了UML,从97年的1.0版到如今的2.X版,逐渐完善。目前是业界共识的规范。87一致建模言语Unified Modeling Language UML)UML是以图形来确定、表示、和记录软件系统的建模言语面向对象分析模型 需求描画: Use Case 用况图 辅助模型: Sequence顺序图 Collaboration协作图 State形状图 Packet包图 Component构件图 Deployment部署图 Activity活动图根本模型: Class类图 Object对象图对象对象间关系对象属性详细阐明881. 用况图Use Case用况图的建立思想不属于面向对象的,而是业界早已熟

44、习的需求建模方法,只是UML有新的表示方法。房主Use Case例如:身份确认系统设置系统运转查询启动/封锁系统传感器监测密码修正系统区域设置系统设置系统警报设置参与者用况包含用况扩展用况交互关系显示窗报警器传感器参与者89Use Case图元素:参与者:与系统交互的,运用系统相关功能的角色,用况:与参与者有交互的一个功能参与者与用况的连线:表示双向,没有箭头用况之间的连线:表示包含其中必需的功能用况之间的连线:表示扩展可选的功能902.类图Class 从问题域中的实体笼统出对象类,描画类之间的静态构造。 InternetClient+search (s: String): String Cu

45、stomerList+search (s: String): Customer +getCustomer (number: Sting): Customer+addCustomer (c: Customer): Boolean+removeCustomer (c: Customer): Boolean0. 1 CompanyCustomer+login (nimber: String , passwd: String): Boolean+update (webpage: String , e_mail: String): Boolean+viewMyInfo ( ): String Inter

46、nalClient+updateCustomer (nimber: String , ): Boolean+addCustomer (name: String , ): Boolean+removeCustomer (number: String): Boolean+viewCustomer (number: String): String Customer-number: String-name: String-address: String-e_mail: String-webpage: String-pass: String+check_pwd (s: String): Boolean+

47、showInfo(): String 1 1 1 *依赖关系聚合关系关联关系承继关系多重性表示class图例如:91类图Class图元素:对象:在问题域中承当责任的事物关联:对象类之间固有的关系属性:对象类的特征,系统必要的信息对象类名属性操作类:名词为类名, 属性和操作栏必需有,内容可以暂略。关联:有方向,由多重性描画,可以有称号承继:普通和特殊的关系聚合:整体和部分的关系0 . n 多重性:1. n 1. 1 0 . 1 * . 0 . * 可见性分为:公共的+ 私有的- 受维护的#92边境边境 国家 西班牙 国家 法国 国家 比利时国家称号边境对象图Object国家类的实例对象图93 顺

48、序图强调音讯交互的时序; 协作图强调对象收发音讯的组织构造顺序图的作用:在给定的语境中,经过对象之间的音讯通讯,展现对象的行为;用以发现对象的操作。交互图关于顺序图和协作图 顺序图和协作图表示一样的模型语义,可以相互转换,能表示对方不能表示的某些内容。协作图的作用:分析对象行为的控制线程,规划系统分布,以及规划测试用例943.顺序图Sequence表示按时间顺序陈列的对象间的交互。ob1:C1ob3:C3ob2:C2:C4Op( )x0create(x)x1200/测试设备事件例如:形状例如: EnterPasswordentry/password.reset()exit/password.t

49、est()clear/password.reset()help/display helpprint/deferdo/suppress echo102Waiting等待形状Put( c)c/=“/token.append( c); return falseGettingBody获得主句形状Put( c)c/=“;/body.append( c); return falsePut( c)c= =“字符流分析器类形状图:Put( c)c= =“;/return true字符流方式为:xx xx.x ;要求分析出中的符号,及;号前的主句形状图例如:1036.包图 Packet 用来对描画进展组织,以控

50、制描画的复杂性。是对模型成分的分组的机制。把模型成分组织成为包,可以嵌套表示包有独一的命名,可以被独立援用包必需提供外部可访问的操作接口包的表示: 操作1 包名:vision 操作1 嵌套表示包名:sensor104包之间依赖关系表示: 引入依赖包中可见的操作可以被另一个包援用 即提供方的元素直接附加到恳求方 访问依赖包中可见的操作可以被另一个包运用 恳求方直接运用提供方的元素Server+Database+LoggingService GUI+Windoes+Form+EventHandlerPolicies+OrderRulesClient+OrderForm+TrackingForm-O

51、rder105控制面板 键盘区 屏幕闪光的灯LCD显示 图符 信息 键区 功能区命令处置数据接纳显示格式化 .控制键盘包控制键盘包例如:1067. 构件图(Component)构件表示: System:dialog.dll 构件是指物理上存在的软件成分。构件图属于设计活动的描画工具。描画软件在系统每个物理节点上的分布情况,属于物理事物建模。构件与类的不同: 类表示逻辑笼统,是逻辑模块; 构件表示字节空间中的物理存在,表示的是物理模块; 类有属性和操作,构件仅经过接口提供或恳求操作。107构件的接口是一组操作的集合 Image.java component.javaImageObserver I

52、mage.javaImageObserverabort:intfinal staticerror:intfinal staticimageUpdate():Boolean component.java构件接口的表示:108构件对源代码建模用标识一组相关源代码文件的集合,成为构件给出源代码文件的版本号、作者名和修正日期等标志值用依赖关系标出源代码文件之间的编译依赖关系 Bill.hversion=3.1 Bill.cppversion=3.2 customer.hversion=4.1 item.hversion=3.1源代码建模例如:109 构件对可执行体建模表示可执行程序和动态衔接库的构件表

53、示可执行程序与动态衔接库及接口之间的关系对可执行体建模例如: Animator.exeversion=5.2 Dialog.dll Render.dll Wrframe.dll110构件对API建模例如 Animator.exeversion=5.2IscriptsIrenderingImodels111构件对表、文件和文档建模标识系统物理实现部分的附属构件表示附属构件与可执行程序、动态衔接库及接口间的关系 Animator.hlp Animator.ini Animator.exeversion=5.2 Dialog.dll Render.dll Wrframe.dll Shapes.tbl

54、建模例如:1128. 部署图Deployment 部署图可以表示在一个节点上运转系统的物理拓扑构造;一个节点通常被表示为可以部署构件的处置器或设备。 节点是具有独立存储空间,运转时存在,并代表一项计算资源的物理元素和执行才干。节点表示法:节点称号113节点和构件的区别:构件是系统执行的事物,节点是执行构件的事物。构件代表逻辑元素的物理打包,节点可表示构件的物理部署节点和构件的关系:节点上可以有一个或多个构件,一个构件也可以部署在一个或多个节点上。sales pos.exe contacts.exe节点与构件的关系例如:114节点之间的关联关系:用来表示节点之间的物理衔接kioskconsole

55、serverRAID farm节点之间的衔接例如:1159. 活动图Activity活动图Activity Diagram:描画系统的任务流程和并发行为,与形状图相比它强调流程的控制而不是形状在事件下的变化。活动图的作用:描画业务过程,特别能较好地表示并发流程,协助了解涉及多个用况的任务流程描画详细操作算法,与程序框图有一样的作用活动图的概念接近构造化方法的流程图思想。116包括:1活动流程中的义务执行单元2泳道活动的区域划分3分支活动转向的分支4分叉 并发控制流的分支5集合分叉后的合并6对象流活动图中的控制流活动图元素:117Calculate Total Cost活动图中的“活动 Acti

56、vity包括:动作形状Action State 活动形状Activity State动作形状,没有内部转移和内部活动,是原子的最小执行单元,作用是表示执行进入动作后转向的形状,执行时间可以被忽略。活动形状,可分解的、非原子的,并有一定继续时间的执行单元。118活动图中的“泳道swim lane根据每项活动的职责,划分一切活动的责任区域例:Request ServicePayTake OrderFill OrderDeliver OrderCollect OrderCustomerSalesStockroom119活动图中的“分支branch在活动图中同一出触发事件,可根据警戒条件转向不同的活动

57、,有两种表示方法:例:Calculate total costCharge customers account Get authorizationCost=$50Cost=$50Cost=5 lbWeight PackageWeight C(p2) 那么 E(p1)E(p2)其中:p1和p2是两个问题C(x)是由x问题决议的复杂性E(x)是处理x问题所需求的任务量C(p1+p2) C(p1) +C(p2)E(p1+p2) E(p1) +E(p2)实验发现关于模块化的问题从人们处理问题的大量察看得出结论:本钱或任务量划分模块的数量软件总本钱集本钱钱模块/本钱最小本钱区模块划分得越小本钱越低 ,但

58、集本钱钱却随着模块划分得越小本钱越高。设计活动的重点:如何确定模块化分的最小本钱区,并保证模块的最正确性能?129软件模块的设计准那么模块的可分解性将问题可分解成子问题模块可组装性可用现有的模块组装来处理问题模块可了解性可作为独立的单位被了解模块延续性变卦只是对单独模块的修正模块维护性模块内部的异常影响只限制在该模块内高内聚及低耦合准那么:内聚-模块内部各成分之间的关系,关系越严密越好耦合-模块之间的依赖程度,依赖越松散越好130 偶尔内聚:把没有关系的分散在多处的成分组成模块 逻辑内聚:仅仅是逻辑功能相关成分组成模块 时间内聚:需求在同一时间执行并无逻辑联络的成分组成模块 过程内聚:过程顺序

59、相关的功能成分组成模块 通讯内聚:需求对一样的外部数据进展操作的成分组成模块 顺序内聚:某个成分的输出是另一个成分的输入,将其组成模块 功能内聚:只完成单一的功能低高 内容耦合:一个模块直接修正另一个模块的内容 公共耦合:两个以上的模块共同援用一个全局数据 控制耦合:接纳模块的动作依赖于控制信号 标志耦合:两个模块接口的参数包含一样的内部构造 数据耦合:仅是模块之间的简单数据传送低高内聚模块内部各成分之间的关联程度耦合模块之间的依赖程度1314.1构造化设计方法数据构造设计体系构造设计模块设计软件设计的义务确定系统怎样做 构造化设计活动划分为两个阶段: 确定系统的整体体系构造总体设计 确定各模

60、块的详细实现详细设计界面设计模块算法设计 表示工具: 总体设计 详细设计层次图 HierarchyIPO图Input-Process-Output模块阐明程序框图盒图N-S图断定表断定树PDL言语132数据构造信息的组织方式。经典数据构造包括: 变量: 经过标识符(独立存储地址)访问的信息元素 向量: 变量组成的列表 数组: n维空间 链表: 以某种方式组织的不相邻的变量、向量或空间 堆栈: 高层笼统,可用向量或用链表来实现1运用根本数据构造,可构造各种规模的数据构造数据构造设计2运用笼统数据构造,包括:构造、结合、类,等等。133软件体系构造:包括: 软件的构成元素 软件元素之间固有的关系,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论