[模拟] 系统架构设计师设计论文
案例分析
第1题:
论面向服务的体系结构在系统集成中的应用
面向服务的体系结构(Service Oriented Architecture,SOA)作为一种体系结构模型,将应用程序的不同功能单元通过一些良好定义的接口联系起来。接口是采用中立的方式进行定义的,它于实现服务的硬件平台、操作系统和编程语言。这使得构建服务可以以一种统一和通用的方式进行交互。
请围绕“SOA在系统集成中的应用”论题,依次从以下的3个方面进行论述:
①概要叙述你参与分析与开发的系统集成项目,以及你在其中所担任的主要工作。
②详细论述SOA中的关键技术,以及你熟悉的工具和环境对SOA的支持。
③通过你的切身实践详细论述SOA在系统集成中发挥的作用和优势。
参:
面向服务的体系结构是一种新的体系结构风格,它具有松耦合和面向软件服务的特点,具有很高的重用性和灵活性。关于SOA的详细介绍请参看“8.1.6面向服务的架构(SOA)”。 在撰写本文时,要注意以下几个方面: ①简单介绍你参与分析与开发的系统集成项目情
1
况和背景,以及你在其中所担任的主要工作,说明为什么要使用SOA。 ②详细论述SOA中的关键技术,以及你熟悉的工具和环境对SOA的支持。要注意的是不要逐个地对技术进行讨论,而只是根据你的项目实际情况,具体地讨论2~3个技术的应用就可以了。 ③根据你的项目应用情况,详细介绍SOA在系统集成中发挥的作用和优势。
详细解答:
第2题:
论软件的静态演化和动态演化及其应用
软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(Static Evolution)和动态演化(Dynamic Evolution)是目前软件演化的两种重要类型。
请围绕“软件的静态演化和动态演化及其应用’’论题,依次从以下3个方面进行论述:
①概要叙述你参与管理和开发的软件项目及你在其中所担任的主要工作。
②请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。
③具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,
2
以及所采取的对应演化技术手段,说明具体实施过程及实际应用的效果。
参:
本题考查的知识点是软件演化。一个软件系统开发完毕正式投入使用之后,如果需求发生变化,或者要将该系统移植到另一个环境运行,且新环境的需求也有相应的变化时,就要对软件进行修改,这就是软件演化。软件演化是一个程序不断调节以满足新的软件需求的过程,也就是对一个已有软件不断进行修改、补充、完善以适用新需求和环境变化的过程。由于软件演化一词并不多见,所以难倒了很多考生。其实换一种,可能大家就倍感亲切了——“软件升级”,其实演化的本质就是在升级。既然是升级,静态演化与动态演化是怎么回事也就好理解了,即升级时是否停止系统的运行。所以如果有了上面的基础概念理解,写该论文的方向也就明晰了。 文章共分3个部分组织内容。 第一部分,简要叙述作者所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 第二部分,偏理论,需要介绍静态演化和动态演化的基本情况,写作时可参考以下材料。 静态演化(Static Evolution),静态演化是指软件在停机状态下的演化。其优点是不用考虑运行状态的迁移,同时也没有活动的进程需要处理。然而停止一个应用程序就意味着中断它提供的服务,造成软件暂时失效。 软件静态演化是指发生在应用程序停止时的软件修改和更新,即一般意义上的软件维护和升级。静态演化的优点是没有状态迁移或活动线程的问题要解决,缺陷是停止应用程序意味着停止它所提供的服务,也就是使软件系统暂时失效。在软件交付之后,静态演化(类似于一般意义上的软件维护)就成为软件变更的一个常规过程。变更可以是一种更正代码错误的简单变更,也可以是更正设计错误的较大范围的变更,还可以是对描述错误进行修正或提供新需求这样的重大改进。有3种不同的软件维护:改正性维护、适应性维护和完善性维护。维护过程一般包括变更分析、版本规划、系统实现和向客户交付系统等活动。 在面向对象技术中,使用子类型方法来扩展程序,它适合于软件静态演化和代码重用。子类型化一个类意味着保留父类中的参数
3
和方法,并尽可能地增加新的参数和方法。另外,使用重载和多态性作为主要的演化机制。实际上,建立类的新版本,最简单的机制是创建它的子类,然后重载需要变更的方法,最后,使用多态性调用新创建的方法。在基于构件的软件技术中,构件采取接口和实现相分离技术,构件之间只能通过接口进行通信,这使得具有兼容接口的不同构件实现可以相互取代,从而成为软件静态演化的一条途径。 动态演化(Dynamic Evolution),动态演化是指软件在执行期间的软件演化。其优点是软件不会存在暂时的失效,有持续可用性的明显优点。但由于涉及状态迁移等问题,比静态演化从技术上更难处理。 动态演化是最复杂也是最有实际意义的演化形式。动态演化使得软件在运行过程中,可以根据应用需求和环境变化,动态地进行软件的配置、维护和更新,其表现形式包括系统元素数目的可变性、结构关系的可调节性和结构形态的动态可配置性。软件的动态演化特性对于适应未来软件发展的开放性、动态性具有重要意义。 动态演化是指软件在运行期间的演化。在许多重要的应用领域中,如金融、电力、电信及空中交通管制等,系统的持续可用性是一个关键性的要求,运行时刻的系统演化可减少因关机和重新启动而带来的损失和风险。此外,越来越多的其他类型的应用软件也提出了运行时刻演化的要求,在不必对应用软件进行重新编译和加载的前提下,为最终用户提供系统定制和扩展的能力。 动态演化可分为两种类型:预设的和非预设的。在Web环境中,软件应用常常需要处理多种类型的信息,因此它们常被设计为可以动态下载并安装插件以处理当前所面临的新类型的信息;而分布式Web应用也常常需要增减内部处理节点的数目以适应多变的负载。这些动态改变都是软件设计者能够预先设想到的,可实现为系统的固有功能。另有一些必须对系统配置进行修改和调整的情况是直到系统投入运行以后才发现的,这就要求系统能够处理在原始设计中没有完全预料到的新需求。这种情况下一般需要关闭整个系统,重新开发、重新装入并重新启动系统。然而,为了进行局部的修改而关闭整个系统在某些情况下是不允许的(如关键运行系统)或者代价太高。精心设计的动态演化技术可以在不关闭整个系统的前提下修改系统的结构配置,并尽量使未受影响的部分继续工作以提高系统的可用度。 为支持软件的动态演化性,已在语言、机制和环境等方面做了大量工作。在程序语言的层次上,引进各种机制
4
以支持软件动态演化,例如,动态装载技术允许增加代码到已运行的程序中,延迟绑定是在运行时而不是编译时决定类和对象的绑定。Javahotswap允许在运行时改变方法:当一个方法终止时这个方法的新版本可以有效地替换旧版本,在类层次上代码的二进制兼容被支持。Gilgul语言也允许更换运行时对象。但程序语言层次上的动态演化机制仅局限于函数、类方法和对象等小粒度的替换,只支持预设的有限变更,变更由事件触发。 通过标准化运行级构件的规约,依靠构件运行平台(中间件平台)提供的基础设施,使软件在构件层次上的动态演化成为可能。中间件中具有的如命名服务、反射技术和动态适配等机制,为运行态构件的动态替换和升级提供支撑,从而推动了软件动态演化的发展。命名服务就是给构件实例提供一个名称,以便客户通过这些名称来获取构件实例。对工业标准构件EJB和CORBA构件的引用都可以通过中间件平台的命名服务进行。同一构件标识可以被映射到多个构件实例,从而根据具体情境对某一名字的构件引用导向到不同的构件实例。反射技术是系统的一种自描述(Self-Representation)和自推理的技术,它提供了关于自身行为的表示,这种表示可以被检查和调整,且与它所描述的系统行为是因果相联(Causally Connected)的。因果相联,意味着对自身表示的改动将立即反映在系统的实际状态和行为中,反之亦然。将反射性引入中间件能够以可控的方式开放平台内部的实现,从而提高中间件的定制能力和运行时的适应能力。动态适配机制中比较著名的是CORBA提供的动态接口服务:动态调用接口DⅡ和动态骨架接口DSI。前者支持动态客户请求调用,而后者支持将请求动态指派(Dispatch)给构件。因此,软件构件化技术使得软件具有良好的构造性,软件演化的粒度更大。中间件技术则为基于构件的软件动态演化提供了坚实的基础设施和方便的操作界面。 第三部分需要结合作者自身的项目情况进行描述,这部分应是详细描述的部分。
详细解答:
第3题:
5
论大规模分布式系统缓存设计策略
大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在缓存服务器中存放一个副本,当该内容下次被访问时,不必建立新的数据请求,而是直接由缓存提供。良好的缓存设计,是一个大规模分布式系统能够正常、高效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统缓存架构。
请围绕“大规模分布式系统缓存设计策略”论题,依次从以下3个方面进行论述:
①概要叙述你参与实施的大规模分布式系统开发项目及你所担任的主要工作。
②从不同的用途和应用场景考虑,请详细阐述至少两种常见的缓存工作模式,并说明每种工作模式的适应场景。
③阐述你在设计大规模分布式系统的缓存机制时遇到了哪些问题,如何解决。
参:
①论文中要具体介绍项目的总体需求(特别是应用需求中对缓存机制的要求)、系统的逻辑与物理架构、采用的技术等内容和担任的实际工作。 ②从不同的用途和应用场景来考虑,大体上可以将缓存分为3种工作模式,即单实例缓存模式(Single Instance)、复制模式(Replication Cache)和分区模式(PartitionCache)。每种工作模式都有其适应的场景和优缺点。 · 单实例模式。单实例模式是一种较为简单的缓存模式,多个应用服务器共
6
享一个的缓存服务器。通过共享缓存的数据,能够极大提高系统的性能。该模式的主要在于缓存服务器的内存大小和节点增加之后服务器的处理能力和网络带宽。该模式的适应场景是:对缓存的要求比较简单;系统的吞吐量和数据量不大;性能要求不高。 · 复制模式。复制模式将缓存的数据复制到多台机器上,对于单一缓存服务器性能出现问题的情况下,可以通过缓存复制的方式将压力分解到多个缓存服务器。该模式的工作原理是:缓存客户端可以访问自己的缓存服务器,多个缓存服务器之间的数据是彼此同步的,对于性能要求更高的场景,这样的部署架构能够获得更高的吞吐能力。该模式的适应场景是:数据量不是特别大;需要极高的性能;数据改动的频率不是特别大。 · 分区模式。当需要缓存的数据已经超过一台服务器的内存上限时,可以考虑采用分区模式对数据进行线性缩放,也就是通过增加缓存服务器来解决数据增长和压力增加的情况。在分区模式中,其架构是无分享架构(Shared NothingAchitecture,SNA),每个节点之间数据彼此,一个节点出现故障后不会影响到其他节点。在出现某个节点宕机或者其他故障的情况下,致使这部分的分区缓存无法使用,并不妨碍其他数据节点数据的正常工作。该模式的适应场景是:总体数据量较大,已经超出了单个缓存服务器的内存上限;系统缓存要求具有很大的可伸缩性;客户端数量庞大,单个客户端对缓存数据的数据量要求不大。 ③进行大规模分布式系统缓存机制设计时可能遇到的问题包括如何缓存服务器的工作模式选择;高可用性的设计考虑;缓存一致性与分布式算法;对象状态同步的考虑;缓存钝化/激活/过期和初始化,等等。
详细解答:
第4题:
论基于REST服务的Web应用系统设计
7
REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于REST服务(RESTfulService)的Web应用系统设计任务主要包括:识别并设计REST风格的服务,采用面向服务的思想进行REST J~务集成。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点,近年来受到了广泛的关注。
请围绕“基于REST服务的Web应用系统设计”论题,依次从以下3个方面进行论述:
①概要叙述你参与实施的Web应用系统开发项目及你所承担的主要工作。
②简要叙述与传统的Web服务相比,采用REST服务构建的Web应用具有哪些优势和不足。
③阐述你在设计基于REST服务的Web应用系统时遇到了哪些问题,如何解决。
参:
①论文中要具体介绍项目的总体需求(特别是质量属性需求)、Web应用系统的逻辑与物理拓扑结构、采用的技术等内容和承担的实际工作。 ②REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,目前Web的体系结构正是基于REST风格的。REST风格中的特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。REST组件通过以一种数据格式转移资源的表述进行通信,可以基于接收者的能力和期待的内容,以及资源的性质动态地选择不同的表述。 与传统的Web服务相比,REST服务主要有以下优势: · RESL服务基于W3C/IETF的标准与
8
规范(包括HTTP、XML、URI和MIME等),其实现技术简单、成熟。 · REST服务基于URT和超链接技术,不需要通过集中式的服务信息仓库即可发现服务资源。 · REST服务支持缓存,具有无状态的特性,这些使得REST服务能够支持大量客户端,构建的应用系统具有较强的伸缩性。 · REST服务基于轻量级的Web框架,仅仅需要基本的开发工具支持,构建过程简单且成本较低。 · REST服务的测试相对简单,采用浏览器即可完成服务功能测试。 与传统的Web服务相比,REST服务主要存在如下不足: · REST服务倡导的REST风格与实际实现尚存在一定差距。例如,高层REST服务倡导使用GET、PUT、POST和DELETE所有4个统一接口,在REST实现部分通常只能采用GET和POST接口,因为大多数的代理和防火墙会屏蔽其他接口;并且XHTML表单中只能使用GET和POST接口。 · REST服务要求所有的输入参数都必须在URI中传递,这样会产生对参数容量大小的(目前的大小是4KB)。如果超出该数量,会导致HTTP协议错误(错误代码414:Request-URI too long)。 · 在URI中表达复杂类型的参数比较困难,且目前对URI中的参数不存在一种公认的编组(marshalling)和解编(un-marshalling)方法。 ③进行基于REST服务的Web应用系统的设计时可能遇到的问题包括:如何识别并设计REST风格服务;构建REST服务的运行环境,HTTP服务器与应用服务器选型等;富客户端表现方式及编程语言的选择;系统逻辑与物理拓扑结构的分析与设计等。
详细解答:
第5题:
论中间件技术在软件开发中的作用
随着软件应用越来越复杂,软件开发“一切从零开始”的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间
9
件等为软件开发提供有力的支持。
请围绕“中间件技术在软件开发中的作用”这个论题,依次从以下3个方面进行论述:
①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。
②具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。
③假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。
参:
中间件是一种的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户/服务器的操作系统之上,管理计算资源和网络通信。从定义中可以看出: ①中间件是一类软件,而非一种软件。 ②中间件不仅要实现互联,还要实现应用之间的互操作。 ③中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 1、中间件的分类 根据功能的不同,中间件可以细化为以下一些种类: ①通信处理(消息)中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。 ⑦事务处理(交易)中间件。在分布式事务处理系统中要处理大量的事务,常常在系统中要同时进行上万笔事务。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器的程序顺序地协调完成,一旦中问
10
发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器实时并发运行,并进行负载平衡地调度,实现昂贵的小型机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件,以及数据存取管理中间件3部分组成。 ③数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。 ④Web服务中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能做数据写入、受HTTP协议的等,必须进行修改和扩充,这形成了Web服务器中间件。 ⑤安全中间件。一些军事、和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。 ⑥跨平台和体系结构的中间件。当前,开发大型应用软件通常采用基于体系结构和构件的技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了体系结构中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;Java Bean较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括Linux)和Windows,因此针对这两个平台建立相应的中间件要实用得多。 ⑦专用平台中间件。为特定应用领域设计参考模式,建立相应体系结构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。 ⑧其他中间件。现在出现了一些中间件,如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中问件。另外还有一些更高层的中间件,多用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。 2、中间件的优点及其应用 中间件作为一大类系统软件,与操作系统、数据库管理系统并称“三套车”,其重要性是不言而喻的,中间件的优点应该说是有目共睹的。它的优越性体现在
11
以下几个方面:缩短应用的开发周期;节约应用的开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 中间件带给应用系统的不只是开发的简便、开发周期的缩短,还减少了系统的维护、运行和管理的工作量,同时减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中问件技术,应用系统的总建设费用可以减少50%左右。在网络经济、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。 其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力的投入。 3、中间件的发展趋势 中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下3种发展趋势: ①规范化。在中间件的发展过程中,做得最好的一件事情就是规范的制定。对于不同类型的中间件,目前都有一些规范可以遵循,如消息类的JMS,对象类的CORBA和COM/DCOM,交易类的XA、OTS、JTA/JTS,应用服务器类的J2EE,数据访问类的ODBC和JDBC,Web服务有SOAP、WSDL、UDDI等。这些规范的建立极大地促进了中间件技术的发展,同时保证了系统的扩展性、开放性和互操作。 ②构件化和松耦合。除了已经得到较为普遍应用的CORBA、DCOM等适应Intranet的构件技术外,随着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向Web、松耦合的方式发展。基于XML和Web服务的中间件技术,使得不同系统之间、不同应用之间的交互建立在非常灵活的基础上。XML是一种可扩展的源标识语言,它提供了一种新的定义标识语言标准。XML技术非常适合于异构系统间的数据交换,因此在国际上已经被普遍采纳为电子商务的数据标准。而Web服
12
务作为基于Web技术的构件,在流程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。 ③平台化。目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联网的软件平台战略计划和应用解决方案。 4、选用中间件的原则 ①技术成熟度。不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库和应用都有关系,因此中间件从诞生到成熟需要2~3年的时间。中间件的技术成熟度是一个很需要关注的问题。 ②先进性。中间件的技术先进性主要看它是不是符合国际的潮流,是否采用了各种标准化的做法。比如,它能不能支持HTlML、JavaScript、XML这样一些国际标准的语言环境。因为大量的应用软件都是在语言环境下发展起来,现在计算机上的这些语言环境已经很成熟,手机上也开始有了Java,机顶盒如果不支持这些标准的话,将来很难做到应用服务的通用。如果中间件技术上能达到国际开放标准水平的话,就很容易向上发展了。包括MHP和MHEG和美国的OPENCABEL在内的一系列的中间件标准,只要中间件支持JavaScript、HTML和XML等通用语言,这3种常用中间件的主流模块都可以移植到我们的应用服务里。 ③与遗留应用的结合度。如果选用中间件构造的应用与传统的遗留应用要建立联系的话,就必须考虑这个问题。 ④使用的难易程度。每类中间件使用的难度也不尽相同。有些中间件只是你的应用的一部分,而有些中间件将会给你的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。 ⑤成本。不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大,把交易中间件用在非交易处理类系统中去传递消息同样不可取。另外也要考虑技术培训对开发成本带来的影响。 ⑥技术方向。有的中间件比较传统,而有的中间件是发展方向,中间件的选择与对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或Web技术,就要选择相关的中间件。 ⑦适用性。好的中间件要带一个非常丰富的应用库。中间件的一个最大作用就是重复使用已经开发过的应用软件模块,通常这些模块都是以库单元的方法来实现的,中间件在实际应用中越成功,开发的应用程序越多,它带的库就越丰富,使用者就可以越简便地开发或修改自己需要的新服务,这就是知识的积累。 通过以上分析,可以对中间
13
件技术有一个全面的了解,除了基础技术的了解,写好本文,还要注意以下要点: ①用400~600字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简单介绍中间件的种类及作用。 ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。 ④结合市场和技术因素,为你的公司设计一个有自主版权的中问件的方案,并评价你的方案。
详细解答:
第6题:
论基于Web的数据库应用系统的开发技术
浏览器和HTTP协议在全球因特网的成功应用,促进了企业中的B/S结构的迅速推广。基于Web的数据库应用系统通常采用三层(或更多层)C/S结构,允许用于各类不同的平台和选择相应的数据库应用环境。
请围绕“基于Web的数据库应用系统的开发技术”论题,依次从以下3个方面进行论述:
①概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。
②具体讨论你在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。
③分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改进,以及如何加以改进?
14
参:
完成本题的写作,需要对Web开发的相关架构有充分的了解,相关知识可参看“8.1.5分层架构”。除了解技术知识,在写作方面还要注意以下几个方面的要点: ①在文章中首先用400-600字的篇幅简要叙述自己参与分析和开发的系统概要和所担任的工作。 ②具体讨论在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。特别要注意描述三层结构的逻辑和物理部署,讨论数据是如何在三层之间传送的。 ③最后要根据项目实际情况,分析所采用的开发技术的具体效果,你现在认为还有哪些可以改进的地方(例如,应用服务器性能的改进等),如何加以改进。
详细解答:
第7题:
论数据库的安全性设计
通常,信息系统的安全性指的是采取必要的安全保护方面的技术和管理措施,保护硬件、软件和数据不因偶然的或恶意的原因而受到破坏、更改和泄露。其中数据库的安全性设计有着十分重要的作用(包括物理安全与逻辑安全)。
根据你实际参与开发和设计的经验,论述下列3个问题:
①简述你开发与设计的软件概要和你所担任的工作。
②具体叙述你在数据库应用系统开发中是如何使用安全性设计技术的,包括采用过哪些主要技术,遇到过哪些实际问题,采取过哪些相应的措施。
15
③简述你所采用的数据库安全性设计技术的效果,以及你有哪些主要的使用体会和进一步的设想。
参:
数据库的安全性是指保护数据不被破坏和不被非法窃取,包括物理安全性和逻辑安全性。 1、物理安全性 要保证数据库的物理安全性,除了健全机房管理制度,提高防火、防盗、防雷击等基础设施以外,最重要的就是要有一个好的数据库备份策略。 数据库备份是指对重要的数据制作一份拷贝,并将其存储在安全的地方。备份系统为一个目的而存在:尽可能快地全盘恢复运行计算机系统所需的数据。根据系统安全需求可选择的备份机制有:场地内高速度、大容量自动的数据存储、备份与恢复;场地外的数据存储、备份与恢复;对系统设备的备份。备份不仅在网络系统硬件故障或人为失误时起到保护作用,还在入侵者非授权访问、攻击网络和破坏数据完整性时起到保护作用,同时也是系统灾难恢复的前提之一。 一般的数据备份操作有3种:一是全盘备份,即将所有文件写入备份介质;二是增量备份,只备份那些上次备份之后更改过的文件,这是最有效的备份方法;三是差分备份,备份上次全盘备份之后更改过的所有文件,其优点是只需两组磁带就可以恢复最后一次全盘备份的磁带和最后一次差分备份的磁带。 在确定备份的指导思想和备份方案之后,需要选择安全的存储媒介和技术进行数据备份。一般来说,备份的硬件设备包括磁盘、磁带和光盘塔。而利用磁盘备份的方法常用的是磁盘镜像、磁盘双工和磁盘阵列,其中磁盘镜像是指系统中使用两块一样大小的磁盘,在写入数据时,先将数据写入源盘,然后再写入镜像盘,这样镜像盘中的数据与源盘的数据一模一样,从而起到了备份的作用。而磁盘双工是两个互为备份的盘同时写入。磁盘阵列是指将多个类型、容量、接口甚至品牌一致的专用磁盘或普通磁盘连成一个阵列,使其能以某种快速、准确和安全的方式来读写磁盘数据。其主要功能是可以提高网络数据的可用性及存储容量,并能够免除单块硬盘故障所带来的灾难性后果。因此,磁盘阵列是一种高效、快速、易用的网络存储备份设备。
16
备份的技术有“冷备份”和“热备份”两种。热备份是指“在线”的备份,即下载备份的数据还在整个计算机系统和网络中,只不过传到另一个非工作的分区或另一个非实时处理的业务系统中存放,如前面提到的磁盘镜像、磁盘双工和磁盘阵列都属于热备份。 “冷备份”则是指“不在线”的备份,下载的备份存放到安全的存储媒介中,而这种存储媒介与正在运行的整个计算机系统和网络没有直接联系,在系统恢复时重新安装,有一部分原始的数据长期保存并作为查询使用。磁带就是一种冷备份的设备。热备份的优点是调用快,使用方便,在系统恢复中需要反复调试时更显优势,但投资比较昂贵。冷备份则弥补了热备份的一些不足,二者优势互补,相辅相成,冷备份在回避风险中还具有便于保管的特殊优点。 在进行备份的过程中常使用备份软件,它一般应具有以下功能:保证备份数据的完整性,并具有对备份介质的管理能力;支持多种备份方式,可以定时自动备份,还可以设置备份自动启动和停止日期;支持多种校验手段(如字节校验、CRC循环冗余校验、快速磁带扫描),以保证备份的正确性;提供联机数据备份功能;支持RAID容错技术和图像备份功能。 与备份同样重要的是在备份完成之后对它们进行存储。备份的目的是为了在发生事故时能够及时进行恢复,而事故的类型可能从用户误删数据到站点的灾难性毁坏。前者需要备份处于附近位置以便于快速恢复,而后者却要求将备份存储在其他地方。实践证明,最好的方法是将备份存储在其他地方,最大程度地保护数据。当需要还原时,再将备份及时取回。 日常备份制度描述了每天的备份以什么方式、使用什么备份介质进行,是系统备份方案的具体实施细则。在制定完毕后,应严格按照制度进行日常备份,否则将无法达到备份方案的目标。数据备份有多种方式:全备份、增量备份、差分备份、按需备份等。 · 全备份:备份系统中所有的数据。 · 增量备份:只备份上次备份以后有变化的数据。 · 差分备份:只备份上次完全备份以后有变化的数据。 · 按需备份:根据临时需要有选择地进行数据备份。 全备份所需时间最长,但恢复时间最短,操作最方便,当系统中数据量不大时,采用全备份最可靠。但是随着数据量不断增大,我们将无法每天做全备份,而只能在周末进行全备份,其他时间我们采用所用时间更少的增量备份,或采用介于两者之间的差分备份。各种备份的数据量不同:全备份>差分备份>增量备份。在备份
17
时要根据它们的特点灵活使用。 (1)数据存储基本策略的设定 · 数据库全备份:选择在周五(或周六)自动进行。 · 数据库增量备份:每晚做批处理前和批处理后,由UNIX或其他主机系统执行,批处理人员触发或由系统自动执行。 · 文件全备份:将主机系统和其他服务器的数据做全备份,选择在周日自动进行。 · 文件增量备份:在周一到周四(或周五)之间备份文件的增量。 · 系统全量:在每月初的周日备份系统及数据库的全量。 · 系统增量:在其余的时间仅备份系统和数据库配置的增量。 · 跟踪备份:实时备份系统增量(事务日志备份)。 结合以上备份策略,从便于管理和恢复的角度考虑,制订数据分组和存储介质池对应策略,将数据分门别类放在不同编号的磁带组上,并建立不同的存取权限。建议建立: · 数据库介质。专门放置数据库信息。 · 文件介质。放置除数据库以外的文件。 · 数据库日志和系统曰志介质。安全稽核和系统恢复的重要数据记录需较长时间保存,建议由安全管理员在服务器端建立管理,形成与主机系统管理人员分离的运行数据记录。 · 系统介质。备份系统和系统配置等的变化,做到快速恢复系统。 (2)数据备份工作过程 · 自动备份进程由备份服务器发动。每天晚上,自动按照事先制订的时间表所要求的内容,进行增量或全量的备份。由于每天的备份被适当地均衡,峰值备份数据量在周五(或周六)和周日发生。 · 批前及批后备份在UNIX或其他主机端发起。批处理人员输入触发备份命令,自动按要求备份数据库有关内容。 · 其他文件的自由备份。进入软件交互菜单,选择要求备份的文件后备份。 · 在线跟踪备份。配合数据存储管理软件的数据库在线备份功能,可定义实时或定时备份日志。 · 灾难备份异地存放介质的克隆。自动复制每日完成后的数据,以存放在异地做灾难恢复。 (3)灾难恢复 灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。灾难恢复操作通常可以分为两类:第一类是全盘恢复,第二类是个别文件恢复。此外还有一种值得一提的是重定向恢复。 · 全盘恢复。全盘恢复一般应用于服务器发生意外灾难导致数据全部丢失、系统崩溃或有计划的系统升级、系统重组等情况,也称为系统恢复。 · 个别文件恢复。由于操作人员的水平不高,个别文件恢复可能要比全盘恢复常见得多,利用网络备份系统的恢复功能,我们很容易恢复受损的个别文件。只需浏览备
18
份数据库或目录,找到该文件,触动恢复功能,软件将自动驱动存储设备,加载相应的存储媒体,然后恢复指定文件。 · 重定向恢复。重定向恢复是将备份的文件恢复到另一个不同的位置或系统上去,而不是进行备份操作时它们当时所在的位置。重定向恢复可以是整个系统恢复也可以是个别文件恢复。重定向恢复时需要慎重考虑,要确保系统或文件恢复后的可用性。 为了防止数据丢失,我们需要做好详细的灾难恢复计划,同时还要定期进行灾难演练。每过一段时间,应进行一次灾难演习。可以利用淘汰的机器或多余的硬盘进行灾难模拟,以熟练灾难恢复的操作过程,并检验所生成的灾难恢复软盘和灾难恢复备份是否可靠。 2、逻辑安全性 数据库的逻辑安全模型如图13-1所示。与数据库使用直接有关的安全措施有:用户标识和鉴定、存取控制、审计、密码存储、视图的保护和日志监视等方式。
1983年,美国发布了“可信计算机系统评价标准(TCSEC)”,1994年4月,美国国家计算机安全中心(NCSC)颁布了TDI,即“可信计算机系统评估标准在数据库管理系统中的解释”,它将TcSEC扩展到数据库领域。在TCSEC中,系统安全从4个方面被划分为7个不同的安全级别,即D,C1,C2,B1,B2,B3,A1,其中A1级别最高,D级别最低。 TDI沿用TCSEC的做法,从安全策略、责任、保证和文档4个方面来描述每级的安全性。一般认为,数据库及其他处理敏感商业信息的系统应达到C2级,在C2安全级上,能使用登录过程、审计跟踪并对与安全性有关的事件进行资源隔离;而处理保密的和要求更高敏感度的信息系统,安全级应达到B1级,这样能使用标记机制对特定的客体进行强制访问控制。 (1)用户标识与鉴定 用户标识与鉴定是系统提供的最外层的安全保护措施。用户的标识和鉴定是两个不同的过程,标识过程负责将用户ID在系统中注册登记,而鉴别过程旨在将用户ID与真正的合法用户关联起来。目前有3种标识与鉴别方法。
19
①利用用户的物理特征(声波、指纹、相貌、签名等)作为ID,这在理论上是可靠的,但由于物理特征可能随时间变化且记录技术尚欠成熟等原因,使得该方法未能广泛用于数据库系统。 ②利用用户持有的证件,如身份证、机器可读卡片等,其缺点是证件可能被别人复制或冒用。 ③利用用户知道某个能证明其身份的约定(如口令),这是当前数据库系统用来识别用户的主要方法。 · 用户名或用户标识号。在定义外模式时为每个用户提供一个用户代号存放在数据字典中。用户使用系统时,系统鉴别此用户是否是合法用户,若是,则可进入下一步的核实,否则不能使用系统。 · 口令。为了进一步核实用户,系统常常要求用户输入口令。为保密起见,用户在终端上输入的口令不显示在屏幕上,系统核对口令以鉴别用户身份。以上的方法简单易行,但用户名、口令容易被人窃取,因此还可以用更可靠的方法。 · 随机数检验。用户根据预先约定好的计算公式求出一个数值作为动态口令送入计算机,当这个值与系统算出的结果一致时,才允许进入系统。 此外,还可要求用户向鉴别机构交验机器可读身份卡片,或提供声波、指纹、签名等生物唯一性标志证明用户身份,鉴别机构对用户提供的信息进行鉴别,证明其有效性,或进行译码后给系统提供一个位串作为用户标识。 用户标识和鉴定可以重复多次。 (2)存取控制 在数据库系统中,为了保证用户只能存取有权存取的数据,系统要求对每个用户定义存取权限。存取权限包括两方面的内容:一方面是要存取的数据对象;另一方面是对此数据对象进行操作的类型。对一个用户定义存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。在数据库系统中对存取权限的定义称为“授权”,这些授权定义经过编译后存放在数据库中。对于获得使用权又进一步发出存取数据库操作的用户,系统就根据事先定义好的存取权限进行合法权检查,若用户的操作超出了定义的权限,系统就拒绝执行此操作,这就是存取控制。 授权编译程序和合法权检查机制一起组成了安全性子系统。 在非关系系统中,用户只能对数据进行操作,存取控制的数据对象也仅限于数据本身。而在关系数据库系统中,DBA可以把建立和修改基本表的权限授予用户,用户可利用这种权限来建立和修改基本表、索引、视图,因此,关系系统中存取控制的数据对象不仅有数据本身,还有模式、外模式、内模式等内容。 (3)审计 审计是现代计算机系统中必不可
20
少的功能之一,其主要任务是对用户(包括应用程序)使用系统资源(包括软硬件和数据)的情况进行记录和审查,一旦发现问题,审计人员通过审计跟踪,可望找出原因,追查责任,防止类似问题再度发生。因此,审计往往作为保证数据库安全的一种补救措施。 数据库系统中的审计工作包括如下几种: · 设备安全审计。它主要审查关于系统资源的安全策略、各种安全保护措施及故障恢复计划等。 · 操作审计。对系统的各种操作(特别是一些敏感操作)进行记录、分析。记录内容包括:操作的种类、所属事务、所属进程、用户、终端(或客户机)、操作时间、审计日期等。 · 应用审计。审计建立于数据库之上的整个应用系统的功能、控制逻辑、数据流是否正确。 · 攻击审计。对已发生的攻击性操作及危害系统安全的事件(或企图)进行检测和审计。 上述各种审计所用技术大致可分为以下3类: · 静态分析系统技术。审计者通过查阅各种系统资源(软硬件、数据)的说明性文件,例如,软件的设计说明书、流程图等来了解整个系统,甚至定位出一些易被攻击的薄弱环节。 · 运行验证技术。运行验证的目的是保证系统控制逻辑正确,各类事务能有效执行。该技术一般又细分为实际运行测试和性能测试两种。实现时,审计者既可以根据审计需要,选择系统中一个实际事务作为样板进行审计跟踪,也可以生成专门的测试用例,通过将测试用事务在系统运行的实际结果与期望结果进行比较来评价系统;还可以设计一个专门仿真系统的程序,让仿真系统与实际系统并行工作,通过比较它们的结果来评测系统。 · 运行结果验证技术。这种技术将注意力放在运行结果——数据上。它主要涉及审计数据选择和收集、数据分析两类问题。常用的审计数据选择和收集的办法有:在应用程序中插入一个审计数据收集模块;设置专门的审计跟踪事务;兼用系统的日志库;使用由随机抽取记录组成的专用审计库,等等。 一旦获得审计数据后,审计者可以检查各类控制信息、完整性约束等内容,以达到各种审计目的。 (4)数据加密 对于那些保密程度极高的数据(如用户标识、绝密信息等)和在网络传输过程中可能被盗窃的数据,除采用上述种种安全保护措施外,一般还需采用数据加密技术,以密文形式保存和传输,保证只有那些知道密钥的用户可以访问。数据加密是防止数据库中的数据在存储和传输中失密的有效手段。有关加密技术的详细内容请参考相关章节,在此不再详细叙述。 (5)视图保护 视图机制可
21
以将要保密的数据对无权存取这些数据的用户隐藏起来,这样就自动地提供了对数据的安全保护。 (6)日志监视 使用日志监视数据库的活动,在日志中记载日期、时间、程序名、地点、存取的数据和存取的类型等。这个日志由DBA监督,对于可疑的存取或高度机密数据的存取实施调查。 安全保护的策略还有很多,但要注意,任何安全的措施都是相对的,要根据具体的用户对象、系统对安全的要求和花费的代价来选择恰当的安全措施。 除了解相关技术知识,在写作方面还要注意以下几个方面的要点: ①在文章中首先用400-600字的篇幅简要叙述自己参与开发与设计的软件概要和所担任的工作。 ②具体叙述在开发过程中,是如何使用安全性设计技术的,遇到过哪些实际问题,采取过哪些相应的措施。可就物理安全性或逻辑安全性进行阐述,不要面面俱到。 ③最后要根据项目实际情况,说明采用的数据库安全性设计技术的效果,有哪些主要的使用体会和进一步的设想。
详细解答:
第8题:
论数据挖掘技术的应用
随着信息技术的高速发展,各组织机构积累的数据量急剧增长。如何从海量的数据中提取有用的知识成为当务之急。数据挖掘(Data Mining)就是为顺应这种需要应运而生发展起来的数据处理技术,是知识发现的关键步骤。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
请围绕“论数据挖掘技术的应用”论题,依次从以下3个方面进行论述:
22
①概要叙述你参与分析和开发的软件项目及你所担任的主要工作。
②数据挖掘的主要任务是什么?具体论述你在项目中使用数据挖掘技术所解决的问题。
③数据挖掘的方法主要有哪些?分析并讨论你所选择的数据挖掘方法,简述其具体实现过程和实际应用效果。
参:
本题考查数据挖掘技术的应用。其实从应用的角度,或者从商业的角度来看,数据挖掘这一词在业内出现的频度已不如以前那么高了。因为数据挖掘通常是不进行的,它涉及数据源的获取问题,即先要建立一个数据仓库,再从中“挖”数据。这其实就是我们经常看到的是“BI”——商业智能。商业智能我们可以理解为是:数据仓库+数据挖掘。这也就确定了本文的项目背景。 文章最好是把这一层关系讲清楚,写商业智能的项目,如果没有项目经验,直接杜撰出数据挖掘项目来写文章,风险会很高,很容易让人看出文章的“做假”行为。除此以外,文章可按传统的写法组织内容。即按问答方式组织文章的主体脉络,并加入项目信息,同时做好承上启下的句子进行段落衔接。 具体的写作规范如下: ①结合自己所参与的软件项目,概要介绍该项目的背景及主要内容,并明确指出在其中所承担的主要任务和开展的主要工作。 ②数据挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。 · 关联分析。两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关联是数据库中存在的一类重要的、可被发现的知识。关联分析的目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阈值来度量关联规则的相关性。 · 聚类分析。聚类是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分
23
布模式,以及可能的数据属性之间的相互关系。 · 分类。分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法而求得分类规则。分类可被用于规则描述和预测。 · 预测。预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。预测的精度和不确定性被重点关注,通常用预测方差来度量。 · 时序模式。时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。 · 偏差分析。在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之间的差别。 论文中须明确指出自己在该项目应用数据挖掘技术所要解决的具体问题是什么。 ③主要的数据挖掘方法: · 神经网络方法:神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分三大类:以感知机、BP反向传播模型、函数型网络为代表的,用于分类、预测和模式识别的前馈式神经网络模型;以hopfield的离散模型和连续模型为代表的,分别用于联想记忆和优化计算的反馈式神经网络模型;以an模型、koholon模型为代表的,用于聚类的自组织映射方法。神经网络方法的缺点是“黑箱”性,人们难以理解网络的学习和决策过程。 · 遗传算法:遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。遗传算法具有的隐含并行性、易于和其他模型结合等性质使得它在数据挖掘中被加以应用。 · 决策树方法:决策树是一种常用于预测模型的算法,它通过将大量数据有目的地分类,从中找到一些有价值的、潜在的信息。它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。最有影响和最早的决策树方法是由quinlan提出的著名的基于信息熵的id3算法。它的主要问题是:id3是非递增学习算法;id3决策树是单变量决策树,复杂概念的表达困难;同性间的相互关系强调不够;抗噪性差。针对上述问题,出现了许多较好的改进算法,如schlimmer和fisher。设计了id4递增式学习算法
24
等。 · 粗集方法:粗集理论是一种研究不精确、不确定知识的数学工具。粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。粗集处理的对象是类似二维关系表的信息表。目前成熟的关系数据库管理系统和新发展起来的数据仓库管理系统,为粗集的数据挖掘奠定了坚实的基础。 · 覆盖正例排斥反例方法:它是利用覆盖所有正例、排斥所有反例的思想来寻找规则。首先在正例集合中任选一个种子,到反例集合中逐个比较。与字段取值构成的选择子相容则舍去,相反则保留。按此思想循环所有正例种子,将得到正例的规则。比较典型的算法有michalski的aq11方法等。 · 统计分析方法:在数据库字段项之间存在两种关系:函数关系(能用函数公式表示的确定性关系)和相关关系(不能用函数公式表示,但仍是相关确定性关系),对它们的分析可采用统计学方法,即利用统计学原理对数据库中的信息进行分析。可进行常用统计(求大量数据中的最大值、最小值、总和、平均值等)、回归分析(用回归方程来表示变量间的数量关系)、相关分析(用相关系数来度量变量间的相关程度)、差异分析(从样本统计量的值得出差异来确定总体参数之间是否存在差异)等。 · 模糊集方法:利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的此亦彼性的。 论文中必须明确指出使用了上述7种方法中的哪种或哪几种数据挖掘方法,并给出该方法的具体实现过程;分析所选择的数据挖掘方法的实现效果。
详细解答:
第9题:
论企业信息系统的安全
企业信息化能够实现高效率、低成本的运行,越来越受到人们的重视。目前,它已
25
经渗透到企业活动的各个阶段。在传统的企业活动中,所涉及的不同企业或企业内部不同人员在相互交往中往往需要直接见面。但在企业信息化中,更多的是通过计算机网络这一媒介,而不需要直接见面。这就要求在设计和实现企业信息系统时除了针对具体业务需求进行详细的分析,保证满足具体的业务需求之外,还要加强信息系统安全方面的考虑。
请围绕“企业信息系统的安全”论题,依次从以下3个方面进行论述:
①概要叙述你参与分析设计的企业信息系统及你所担任的主要工作。
②深入讨论在企业信息系统中,通常需要着重解决的安全问题。
③结合你所参与分析设计的企业信息系统及其特点,详细论述你所采用的企业信息系统安全解决方案,并客观地分析、评价你的解决方案。
参:
关于“企业信息系统的安全”的论文,在写作方面大致包括以下几个方面: · 围绕安全方面,根据你所参与分析设计的企业信息系统的具体特点,介绍系统的需求;介绍自己在其中所承担的工作和需要处理的主要问题。 · 在企业信息化建设方面,有许多需要解决的安全问题,它们并非对于每个企业都是必需的。不同企业由于其自身的特点,所关心的安全问题会各有侧重点。由于各个企业信息系统受投资的,在保障信息安全方面也不得不有所侧重,或在不同的工程建设阶段,有不同的建设目标。因此这部分的说明重点在于针对不同企业的特点、应用领域和投资,给出相应的合理论述。 · 在论述自己的安全解决方案之后,要根据系统的具体情况和采用的措施,客观地评价自己所采用的安全措施,并给出评价依据。这里需要注意,不可脱离实际,评价要适当。
26
详细解答:
第10题:
论软件可靠性评价
软件可靠性评价是指选用和建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间的软件失效数据(也可能包含软件生命周期内其他可靠性数据)进行处理,并评估和预测软件可靠性的过程。
软件可靠性评价是软件可靠性活动的重要组成部分,既可在软件开发过程实施,也可针对最终软件系统实施。软件可靠性评价的难点在于软件可靠性模型的选择和软件可靠性数据的收集与处理。
请围绕“软件可靠性评价”论题,依次从以下3个方面进行论述:
①简要概述你参与实施的软件开发项目及你承担的主要工作。
②说明你在项目实施过程中所选择的软件可靠性模型,并论述在软件可靠性模型选择时应该考虑的主要因素。
③收集软件可靠性数据时经常遇到的问题有哪些?简述你收集软件可靠性数据时所遇到的具体问题及解决的方法。
参:
27
①说明软件开发项目的基本情况及自己承担的主要工作。 ②当前的软件可靠性模型众多,但并没有一个最好的或者可以适用所用软件系统的软件可靠性模型,因此对于不同的软件系统,出于不同的可靠性分析目的,需要选择合适的软件可靠性模型。 常见的10类软件可靠性模型有种子法模型、失效率类模型、曲线拟合类模型、可靠性增长模型、程序结构分析模型、输入域分类模型、执行路径分析方法模型、非齐次泊松过程模型、马尔可夫过程模型和贝叶斯分析模型。 软件可靠性模型的选择主要需要考虑以下4个方面: · 模型假设的适用性:模型假设是可靠性模型的基础,模型假设需要符合软件系统的现有状况,在软件系统中与假设冲突的因素达到几乎不存在的程度。往往一个模型的假设有很多,需要在选择模型时对每一条假设进行分析,评估现有软件系统中不符合假设的因素对可靠性评价有多大影响,以确定模型是否符合软件系统的可靠性评价工作。 · 模型预测的能力与质量:预测的能力和质量是指模型根据现在和历史的可靠性数据,预测将来的可靠性和失效概率的能力,以及预测结果的准确程度。因此,应尽可能选择比较成熟的、应用较广的模型。 · 模型输出值能否满足可靠性评价需求:根据可靠性测试目的来确定哪些模型的输出值满足可靠性评价需求。重要的可靠性定量指标包括当前可靠度、平均无失效时间、故障密度、期望达到规定可靠性目标的日期、达到规定可靠性目标的成本要求等。 · 模型使用的简便性:模型使用的数据在软件系统中易于收集;模型应该简单、易懂;模型应该便于使用,最好有工具支持。 软件可靠性数据的收集是一项艰巨而又烦琐的工作,受到许多潜在因素的影响和制约。常见的问题如下: · 可靠性数据规范不一致,对软件进行度量的定义混乱。 · 数据收集过程存在于整个软件生命周期,但由于成本等因素,其连续性往往不能保证。 · 缺乏有效的技术和工具支持,难以进行自动分析。 · 数据完整性不能保证,收集到的数据大多数是不完全的。 · 数据质量和准确性不能保证。 · 缺乏可靠性数据的交流与共享。 考生应叙述在项目中遇到了上述中的哪些问题。 可供采用的解决方法主要有: · 尽早确定可靠性模型,明确需要搜集的可靠性数据,确定涉及的术语、记录方法等。 · 制订可实施的可靠性数据搜集计划,并指定专人负责。保证数据的收集和验证与软件开发过程同步进行。 · 重视软件测试特别是
28
可靠性测试产生的测试结果的整理和分析。 · 尽可能地利用工具进行收集工作,如利用数据库进行存储和分析等。
详细解答:
29
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务