考试知识框架信息系统集成技术_第1页
考试知识框架信息系统集成技术_第2页
考试知识框架信息系统集成技术_第3页
考试知识框架信息系统集成技术_第4页
考试知识框架信息系统集成技术_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

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

文档简介

1、1第一章、前言项目需求可行性监理书督促和助理解决方案需求报告监督和建议报告 项目章程2系统集成商的项目经理的项目实施团队承约方/乙方:系统集成商监理方客户/甲方认证方管理或投资机构信息系统集成技术高章舜gaozhsh2002 gaozhsh2007中国电子学会 信息系统集成分会2甲方企业的IT发展战略企业规模企业成立电信 电财信务FI财务FI企业成立1年后采购MM销售SM采购MM 销售SM 企业内部集成后库存IM 车间WM供应商经销商上下游信息化后CRMCRMCRM企业从事各种业务,有自己的发展战略:所在的行业如各级党政军警机关(电子政务)、教育、邮电、时间T电信、石化、快速消费品、制造业41

2、.1 、甲方发展战略及其IT发展 什么战略?这个术语来自军事,原意是指中对抗各方制定的制胜的谋略。 什么是企业战略?“企业战略就是指企业在市场体制下,根据企业内外环境及可取得的情况,为求得企业生存和长期稳定地发展,对企业发展目标,达成目标的途径和的总体谋划。” 什么是战略管理?战略管理指的是对战略产生过程的管理,以及对这个战略贯彻过程的管理。33第二章软件开发的典型方法 预备概念1. 类 (Class)类是现实世界中实体的形式化描述,类将该实体的属性(数据)和功能(函数)封装在一起。类是一种复杂的数据类型。6甲方的IT发展战略企业规模企业成立电信 财务FI企业成立1年后采购MM销售SM1、企业

3、IT发展战略2、企业IT规划企业内部集成后3、信息技术战略规划库存IM 车间WM供应商经销商上下游信息化后CRMCRMCRM企业发展战略:所在的行业如电子政务、邮电、电信、时间T石化、快速消费品、制造业5基础设施及网络系统42. 对象(Object)对象是类的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。3. 类相当于复杂的一种数据类型,一种带有操作函数的数据类型。而对象是该类型的变量。8描述账户如下:类账户ClassACCOUNT属性:Attribute:存款人;name;号;ID_Number;日期;da

4、te;帐号;Account_Number;;password;帐上余额;Total;行为:Function:存款( );Save( );取款( );Withdraw( );75继承1. 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象中,继承是子类自动地共享基类中定义的数据和方法的机制。2. 父类:类的上层,也叫基类。3. 子类:类的下层,也叫派生类。4. 继承有时也叫派生。10封装封装:把类中的数据同函数组合在一起。类内数据和函数的存取权限:1)public 2)protect 3)private以达到共享和隐藏类的数据和函数的目的。96多态定义:1、将派生类的

5、对象当作基类的对象使用。或:2、给行为(函数/虚函数)取一个名字或符号,它共享一个类的层次,在这个层次中的每个类都以适合 的方式实现这个行为。或:3、一体(函数/虚函数)多用。12继承和组合1、如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能。2、如果类B有必要使用A的功能,则要分两种情况考虑:1) 若在逻辑上B是A的“一种”(a kind of ),则允许B继承A的功能。如男人n(aMMann)aM是人(Human)的一种,男孩y(oBBoyy)oB是男人的一种。那么n类aMMann可aM以从类Human派生,y类oBBoyy可oB以从na类MMan派n派a生M 。2)

6、若在逻辑上B是 A 的“一部分”(a part of),则不允许B 继承A 的功能, 而是要用B 和其它东西组合出A 。例如眼e(yEEyee)yE、 鼻( Nose ) 、 口( Mouth ) 、 耳r(aEEarr)aE是 头(Head)的一部分,所以类Head应该由e类y类EEyee、yNENose、Mouth、 raEEar组r组a合E 而成,不是派生而成。117思考题以下的陈述正确并且全面的是:A. 对象是类的实例B. 类是对象集合的抽象定义C. 对象有生命期D. 以上都对14思考题下面哪一个选项不是对象的特性?A.状态B.行为C.标识D.多态138体系结构(Architectur

7、e) 体系结构亦可称为架构Software Architecture = Elements,Forms,Rationale / Constraint ,软件主架构 = 组件元素,元素互助合作之模式, 础要求与限制。软件主架构的设计就是:将各组件元素以某些理想的合作模式组织起来以达成系统的基本功能和限制。 举例 OA/WEB /ERP /BOSS /? 网络体系结构? 布线有无体系结构?16基本概念:思想这里,指的是软件项目的技术开发思路。 关于软件开发的一整套理论、方法、步骤和工具。到目前为止,至少有两个:1、结构化系统分析和设计 + 软件生命期的瀑布模型或其改进型模型 + 文字/图形处理软件

8、。2、面向对象的系统分析和设计 + 软件开发的迭代模型 +CASE工具。现在,依据上述思想实现的思路有: 1、微软的MSF;2、UML + RUP +ROSE;问题:瀑布模型/迭代模型仅适用于软件项目吗?159例2:企业网典型设计模型外网服务器VPNInternet子公司公有I P路由器地址区Extranet防火墙/代理服务器域Intranet私有I PVLAN1VLAN2地址ELAN区域ATM宽带多VLAN3VLAN4媒体通信网18公共VLAN内网服务器NAS例1:信息系统集成体系结构客户/服务器平台beWWeb平b平e台WIUGGUI平I平U台G软件集成数据库平5、台用户界面 Intern

9、et/Intranet基础服务 网络4管、理网平络络台应用系统 开发工具 网络传输基础设施数据库平台网开络发通信工设具备基础服务数据集成网络服务器和操作系统3、网应络用协基议础平台 外部信息基础设备互联互通网络集成172、计算机网络平台(外部信息基础设机施房) 电源1、环境支持平台网络安全与网络管理10典型的体系结构 范围/功能分解、地理上分散分布,典型的有: 层次体系结构特点: 客户机/服务器结构 浏览器/服务器结构 多层体系结构 消息驱动 SOA? DIY体系结构, ISO和国际电信ITU-T积10年之功,推出了体系结构的国际标准RM-ODP(Reference Mfor Open Dis

10、tributed Processing)。 UML也给出了与RM-ODP兼容的体系结构。20例3:弱电系统体系结构19安防系统消防、空调系统中控室考勤系统电话系统网络系统11体系结构示例1、选择组件2、确定组件之间的关系22仓库界面财务界面销售界面采购界面仓库管理 财务管理销售管理采购管理仓库数据财务数据销售数据采购数据1、层次体系结构 把复杂的系统功能划分为多个层次,上层可调用下层的功能,但下层不能调用上层及本层的功能。 例如:1、OSI模型21123、浏览器/服务器结构案例.Net Web 体系结构 2Web & ApplicationWeb ClientsServerData Tier.

11、Net ComponentsSQL-01BROWSERASP.NetTransaction浏览器Message QueueADO.NetSQL-02ScalabilityMonitoring SecuritySQL-03ServerDataClusterStorage24Cluster2、客户机 / 服务器结构案例.Net Web体系结构1Middle TierData Tier.Net ComponentsSQL-01Non-Web ClientsTransaction专用界面Message QueueADO.NetSQL-02ScalabilityMonitoring SecuritySQ

12、L-03ApplicationData ServerStorage23ClusterCluster135、消息触发 / 消息驱动 组件动态库 消息队列 Windows任务管理 消息驱动、动态264、多层体系结构 见.NET、J2EE和中间件2514框架示例1、确定体系结构2、完成每一组件的开发:组件设计、编码与调试3、基本的框架成型28仓库界面财务界面销售界面采购界面仓库管理 财务管理销售管理采购管理仓库数据财务数据销售数据采购数据框架(Framework) 框架的一般定义就是:在特定领域基于体系结构的可重用的设计。也可以认为框架是体系结构在特定领域下的应 用。 也可以认为框架是某种应用的半成

13、品,在这样的结构下选用一组组件,供你完成你 的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成 、不断升级的软件。 架构师不是设计师;架构和设计是完全不同。一个应用架构的范围包括系统的主、架构设计模式和可以在上面增加构件的框架。架构主要关注的是非功能性方面,而设计关注应用业务用例将领域对象模型转换成技术对象模型。应用架构是项目的结构,一个特殊的应用程序。通过应用架构开发,你通常必须要做的应用架构决定包括: 层之间进行功能划分 领域对象建模2715设计模式(Design Pattern) 模式为“在一定的环境中解决某一问题的方案”。这三个事物 问题、解决方案和环境 是模式的基本

14、要素。 通过模式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。 模式有不同的领域,领域有模式,软件设计领域也有设计模式。为什么要用模式? 因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。 例子:30 库(Library) 库是可重用的、相互协作的 的集合,供开发 进行重复调用。它与框架的主要区别在于运行时与程序的调用关系。库是被程序调用,而框架则调用程序。2916平台(PlatForm) 由多种系统,其中也可以包含硬件部分。323117Web Service为什么要引入Web Servi

15、ce? 人们偏爱B/S架构。 传统的C/S架构的问题:1、在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信问题。 传统的Windows胖客户应用程序使用DCOM来与服务器进行通信和调用远程对象。 关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信。2. 与其他程序的互操作性。34构件(component) 是可复用的软件组成成份,可被用来构造其他软件,也叫组件。 它可以是被封装的对象、一些功能模块、软件框架(framework)、软件构架(或体系结构 Architecture)、文档、设计模式(P

16、attern)等。 互操作性。 构件标准有:1) CORBA的CCM;2) Microsoft的COM/DCOM /COM+ ; 3)Java Bean和EJB;3318Web Service-续如果所有的应用程序都是使用COM或.NET语言写的,并且都运行在Windows平台上,那就天下太平了。 编程语言事实上大多数商业数据仍然在大型主机上以非关系文件(VSAM)的形式存放,并由COBOL语言编写的大型机程序访问。而且,目前还有很多商用程序继续在使用C+、Java、Visual Basic和其他各种各样的语言编写。 数据格式现在除了最简单的程序之外,所有的应用程序都需要与运 行在其他异构平台

17、上的应用程序集成并进行数据交换。以前没有一个应用程序能够遵守的通信标准,是于平台、组件模型和编程语言的。只有通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。36-4-5-6模块2模块3-1-2-335模块1模块419Web Service(续) 因为它基于HTTP GET请求,出了一个可以通过Web 调用的API。 下面是对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。 Web service平台是一标准,它定义了应用程序如何在Web上实现互操作性。 你可以用任何你喜欢的语言

18、,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行和。38Web Service-续 从表面上看,Web service 就是一个应用程序,它向外界出一个能够通过Web进行调用的API。 这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。 例如,你想创建一个Web service ,它的作用是返回当前的天气情况。那么你可以建立一个ASP页面,它接受邮政编码作为查询字 符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用这个ASP页面,客户端需要发送下面的这个

19、HTTP GET 请求: 返回的数据就应该是这样: 21,晴 这个ASP页面就应该可以算作是Web service 了。3720XML(续) ML 是行业 HTML 扩展标记的定义语言。 ML 与 HTML 结合描述行业的信息文档,如 CDF, CML, MathML, SMIL 等。 ML 是在因特网与 Java、CORBA 等量齐观的一个概念。Java 解决了语言实施的同一,CORBA 解决了通讯协议的同一, ML 解决了信息表示、关联的同一;OO 面向对象是这三者的共同理论基础。万维网接口定义语言WIDL 就是ML 与 IDL 技术结合的产物。 ML 是国际标准化组织的标准通用标记语言

20、SGML 的子集。SGML 面向诸于飞机设计文档的大规模、长生命期的信息储存, ML 则面向短期的临时数据处理、面向万维网络;二者是相互补充的关系。 ML 是巴斯克范式 BNF 的语言化、标准化、电子化。40XML 可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。 ML 是不同数据结构体的文本化描述语言。 除了易于建立和易于分析外, ML主要的优点在于它既是平台无关的,又是厂商无关的。 它可以描述线性表、树、图形等数据结构,也能描述文件化的外部数据结构。甚至可以制造类似ML 的Compiler,可使文档在文本与二进制文件间互相转 换, ML-Data 中严格定义了M

21、L 中数据的物理类 型。也可以说ML 是一种通用的数据结构。3921案例:学生成绩表42学号姓名单位成绩所在省市区1张诨1海南金海77.8海南2张诨2海南琼雅77.9海南3张诨3海南金卡78海南4张诨4海南金安78.1海南5张诨5广州金羊78.2厦门6李旻1三亚信息港88.1海南7李旻2三亚信诚90.5海南8李旻3厦门龙城92.9海南9李旻4海南城开95.3海南10李旻5海南安保97.7海南案例:关于客户的XML数据文件4122XML和XSD 可扩展的标记语言( ML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外, ML主要的优点在于它既是平台无关的,又是厂商无关

22、的。 ML解决了数据表示的问题,但它没有定义一标准的数据类型,更没有说怎么去扩展这套数据类型。 例如,整形数到底代表什么?16位,32位,还是64位?这些细节对实现互操作性都是很重要的。 W3C制定的 ML Schema( SD)就是专门解决这个问题的一 标准。它定义了一标准的数据类型,并给出了一种语言来扩展这套数据类型。44“学生成绩表”的XML数据文件1 张诨1海南金海77.8海南2 张诨2 4323WSDL 你会怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?你可能会写一文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至

23、少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。 解决方法是:用能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于 ML的语言,用于描述Web service及其函数、参数和返回值。因为是基于 ML的,所以WSDL既是可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。4

24、6SOAP Web service建好以后,你或者其他人就会去调用它。 简单对象协议(SOAP)提供了标准的RPC方法来调用Web service。 SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP也是基于 ML和 SD的, ML是SOAP的数据编码方式。4524思考题1、对XML语言的描述,正确的是:A. 采用加格式,安全性高。B. 总是要将信息完整封装,无效信息量大。C. 可以表示各类型的数据,包括图像、声音形式的信息。D. 以上都是。48UDDI 通用发现、说明和集成 (UDDI) 是 Web 服务的黄页。与传统黄页一样,您可以搜索提供所需服务的公司

25、,阅读以了解所提供的服务,然后与以获得信息。当然,您也可以提供 Web 服务而不在 UDDI 中,就象在室开展业务,依靠的是口头吆喝;但是如果您希望拓展市场,则需要 UDDI 以便能被客户发现。 参见g。查找web service返回web service查找web service的使用说明disco(W返回该web service的WSDLeb 调用该web serviceSerL以M以XXML的L的M形X 式返回调用结果vic e)47客户端U D D I服务器端252.1 微软解决方案框架 MSF MSF是什么?MSF是一系列指导有效地创建和运用信息技术解决商业问题的模型、原则、指导、方

26、法。通过提供可衡量的过程和严格的指导,达到满足变化的商业需求。是一套大型系统开发指南和方法 论,是一种思想和原理。50软件开发模型介绍 RUPRational Unified ProcessRational统一过程 PE treme Programming极限编程 MSFMicrosoft Solutions Framework 微软解决方案框架49262.2 RUP 早期的软件开发过程方法:瀑布模型(图1)RU (Rational Unified Process)软件统一过程和 P(E treme Programming)极限编程,通常被叫做“过程方法”,是一种软件项目实施过程的方法论。 软

27、件过程是指实施于软件开发和维护中的阶段、方法、技术、实践及相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。 目前市场上领先的软件过程主要有RUP(Rational Unified Process)、OPEN Process和OOSP(Object-Oriented Software Process)。52MSF 微软解决方案框架 MSF的组成? MSF由以下6个主要模型组成: MSF 企业体系结构模型 MSF 开发团队模型 MSF 开发过程模型 MSF 风险管理模型 MSF 设计过程模型 MSF 应用系统模型512754 RUP可以用二维坐标来描述。横轴表示时间,是项目的生命期,体

28、现开发过程的动态结构,主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(tone);纵轴表示自然的逻辑活动,体现开发过程的静态结构,主要包括活动(Activity)、产物 (Artifact)、工作者(Worker)和工作流(Workflow)。如下图:5328 为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。初始阶段结束时是第一个重要的里程碑: 生命期目标(Lifecycle Objective)里程碑。生命期目标里程碑评价项目基本的生存能力。2细化阶段 细化阶段的目标是分

29、析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范 围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。562.2.1 开发过程中的各个阶段和里程碑RUP中的软件生命期在时间上被分解为四个顺序的阶段,分别是: 初始阶段(Inception); 细化阶段(Elaboration); 构建阶段(Construction); 交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestones)。在每个阶段的结尾执行一次评

30、估以确定这个阶段的目标是否已经满足。1初始阶段 初始阶段的目标是为系统建立商业案例并确定项目的边界。5529构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。4交付阶段 交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命期的早

31、期阶段解决了。在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。58细化阶段结束时形成第二个重要的里程碑:生命期结构(Lifecycle Architecture)里程碑。生命期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。3构建阶段在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其

32、重点放在管理资源及控制运作以优化成本、进度和质量。57303. 分析和设计(Analysis & Design) 分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个分析模型和一个设计模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Packaeg)e)e和)设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。 设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得

33、更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质 量。602.2.2 RUP的工作流RUP中有9个工作流,分为6个过程工作流(Core Process Workflows)和3个支持工作流(Core Supporting Workflows)。尽管6个过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的, 这些工作流在整个生命期中一次又一次被。9个工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。1. 商业建模(Business Ming) 商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在

34、商业用例模型和商业对象模型中定义组织的过程,角色和责任。2. 需求(Re uirements) 需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。5931 部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。7配置和变更管理(Configuration & Change Management) 配置和变更管

35、理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员保持审计记录。624. 实现(Implementation) 实现工作流的目的包括:1) 以层次化的子系统形式定义代码的组织结构;2) 以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;3) 将开发出的组件作为单元进行测试4) 集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。5. 测试(Test)测试工作流的目的是要验证:1) 对象间

36、的交互作用,2) 软件中所有组件的正确集成,3) 所有的需求已被正确的实现, 4) 识别并确认缺陷在软件部署之前被提出并处理。6. 部署(Deployment)部署工作流的目的是1) 成功的生成版本并将软件分发给最终用户。61322.2.3 RUP的迭发模式 RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开 发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增 量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。 传统上的项目组织是顺序通过每个工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命期(见图1)。这样做的结果是到实现末期产品完成并开始测试,在分析、设计

37、和实现阶段所遗留的隐藏问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。 一种更灵活,风险更小的方法是多次通过不同的开发工作流,这样可以更好的理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本。这叫做一个迭代生命期。在工作流中的每一次顺序的通过称为一次迭代。648. 项目管理(Project Management) 软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:1) 为项目的管理提供框架,2) 为计划、人员配备、执行和监控项目提供实用的准则,3) 为管理风险提供框架等。9. 环境(Environment) 环境工作

38、流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活 动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。6333与传统的瀑布模型相比较,迭代过程具有以下优点: 降低了在一个增量上的开发风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。 降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。 加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。 由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中

39、不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。66 软件生命期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求工作流、分析和设计工作流、实现工作流、测试工作流。其本身就像一个小型的瀑布项目(见图2)。图2R URURPU的迭代模型65342.2.4 总结RUP具有很多长处:提高了团队生产力,在迭代的开发过程、需求管 理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件 变更等方面,针对所

40、有关键的开发活动为每个开发成员提供了必要的准 则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了 简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存 在一些不足: RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持 多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说RUP是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对R对URURPU进行补充和完善。68思考题属于 RUP 最佳软件开发实践的是A. 迭代式开

41、发/变更B. 管理需求/验证软件质量C. 可视化建模/分层架构D. 以上都是(D)6735可向教师索取“XP的流程等全面内容”的PPT,也可在下列查到XP:702.3 极限编程XP 什么是极限编程? 极限编程(eXtreme Programming,简称XP)是由Kent Beck于 91999969年初提出的。Kent Beck是一位著名的软件工程师,他以软件工程师的观点来看程序设计这项工作。他认为,长期以来,程序设计的工作受到最后期限(deadline)的压迫,他们的产出往往无法达到应有的品质。XP从人的本质考虑如何让软 件工程师可以有尊严的工作,而同时可以产出高品质的软件。XP的精神可以

42、说是实践敏捷软件开发的四项价值观:1) “个人及相互交流胜过软件工程和工具”,2) “可运行的程序胜过完整广博的文档资料”,3) “与用户合作胜于合约谈判”,4) “回应变化胜于服从计划”。 P和RUP一样,是软件开发的一种过程方法。69367. 双人组程式设计所有程式码由两个程序员在同一台电脑上编写。8. 集体所有权任何人都可以在任何时间按规程改进系统任何地点的任何程序。9. 持续整合一天多次整合和建立系统,每次完成一项任务。连续的回归测试作为需求变化后,功能并没有退步。10. 一周40小时将一周工作不超过40小时作为一条规定;决不连续两周超时工作。11. 现场客户真正的、身处开发现场的用户

43、,随时回答问题。12. 编码标准强调贯穿于全部程序的交流规则。72极限编程的特点和适用范围极限编程的12项原则如下:1. 规划策略迅速决定下一次发行的范围、商业优先和技术评估。由客户从商业角度决定发行范围、优先顺序和发行日期,技术人员则对开发程序作出评估和跟踪。2. 小范围发布迅速在生产中使用小型系统。在极短的周期内(两周) 发行新的版本。3. 系统比喻用关于整个系统如何工作的简单、共用的故事情节卡来指导所有的开发。4. 简单设计在任何给定的时刻都尽可能简单地设计。5. 测试不断编写运行无错误的单元测试;由客户编写测试以表明功能完成。6. 重新划分不改变行为地重构系统,删除重复,改进交流,简化

44、,或增强灵活性。7137三种方法的总结 MSF是一种关于软件开发的思想,包括软件开发过程、团队建设、风险管理等。 RUP和 P属于软件开发的过程方法。74极限编程的适用范围 轻量级项目的开发(10人左右的开发队伍) 强调以程序员、强调交流 强调规则、文档为程序员服务,程序员/系统分析员不是规则和文档的奴隶。7338当代系统分析和设计过程的概括1. 需求 功能 活动 动作76第三章 统模语言UML、信息系统分析与设计 什么是UML?项目立项系统分析系统设计系统实现/编程/测试系统集成系统运行系统维护结构化系统分析:BASIC图例表示方法不统一;FORTRANC早期的各种面向对象的VB系统分析方法

45、:DELPHI具有不同的建模符号体系;POWERBUILDER现在,面向对象的系统分析VC建模图示/语言 ,统一在JAVAUMLASP、PHP、以及各种SCRIPTSQL项目立项OOAOODOOP/OOT系统集成系统维7护5393.1.1 模型和建模 模型-MODEL 逻辑模型 设计模型定义:1、模型是对现实的简化。对于问题,模型是现实的简化,得到一个模型-0;对于方案,它的模型是模型-0的实现,得到模型-2。2、建模是捕捉系统本质的过程。建模是使你逐层深入解决问题的办法;建模就是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决。3、可视化建模用图形来表示建模的过程。783.1UML是主流面向对象方法学的综合和统一 Booch OOSE OMTUML是于过程的: 最适用于用例驱动、以体系结构为中心、迭代和增量的过程中。 原型 = 初始选定的框架(体系结构)+ 界面7740用UML建模 在一个待开发的信息系统项目生命期中,对应不同阶段,至少有如下模型: 业务模型 分析模型 设计模型 实现模型 部署模型。 UML支持项目全程建模,并保持各阶段模型之间的可追溯性。 UML建模要依照某个方法或过程来进行。一般地讲RUP过程是UML建模的好搭档。80

温馨提示

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

评论

0/150

提交评论