文档库 最新最全的文档下载
当前位置:文档库 › 2016年系统架构设计师考试 考点,重点,难点汇总资料

2016年系统架构设计师考试 考点,重点,难点汇总资料

2016年系统架构设计师考试 考点,重点,难点汇总资料
2016年系统架构设计师考试 考点,重点,难点汇总资料

软件产品线体系机构

什么是软件产品线?软件产品线在软件开发过程中有什么作用?

定义:软件产品线是一个产品的集合,这些产品共享一个公共的、可管理的特征集,这些特征集能够满足选定市场或任务领域的特定需求。这些系统遵循一个预描述的方式,是在公共的核心资源上开发的。

作用:软件产品线是一个是非适合专业软件开发组织的软件开发方法,能有效提高软件生产率和质量、缩短软件开发时间、降低总开发成本;

主要组成部分:核心资源和产品集合。

核心资源:包括产品线中所有产品共享的产品线体系结构,新设计开发的或通过现有系统再工程得到的、需要在整个产品线中系统化重用的软件构件。

产品线开发的4个技术特点:过程驱动、特定领域、技术支持及体系结构为中心。

软件产品线包括哪些过程?如何实现软件产品线创建与演化?软件产品线演化是指什么?如何实现演化?过程模型:双生命周期模型(领域工程+应用工程);SEI模型(核心资源开发+产品开发+管理)和三生命周期(企业工程+领域工程+应用工程)模型;

4种建立方式:用演化方式还是革命方式+基于现有产品还是开发全新产品线

(1)将现有产品演化为产品线

(2)用软件产品线替代现有产品集

(3)全新软件产品线演化

(4)全新软件产品线开发

演化:指的是由于各种原因引起产品线所进行的改动而变成新的产品线;

产品线的演化包括:核心资源的演化、产品的演化和产品的版本升级;

框架的定义及特征

定义:框架是由开发人员定制的应用系统的骨架,是整个系统或子系统的可重用设计,由一组抽象构件和构建实例间的交互方式组成;

特征:反向控制;可重用性;扩展性;模块化或构件化;

软件产品线体系结构定义、特点及个性实现机制

定义:软件产品线体系结构是只一个软件开发组织为一组相关应用或产品建立的公共体系结构。

特点:同领域模型一样,软件产品线体系结构中也可分为共性部分和个性部分;共性部分是产品线中所有产品在体系结构上的共享部分,是不可改变的。个性部分是指产品线体系结构可以变化的部分;产品线体系结构设计的目的尽量扩展产品线中所有产品共享的部分,同时提供一个尽量灵活的体系结构变化机制;个性实现机制:继承;扩展和扩展点;参数化;配置和模块互连语言;自动生成;编译时不同实现的选择;

例题:希赛公司各种网络安全防火墙系统,引入产品线开发方法,问题如下:

1.公司是否适合使用软件产品线方法,并说明理由

适合软件产品线开发方法;公司的产品特点为:各种防火墙系统属于一种产品集合,具有很多共性,同时,每种不同的防火墙又具有自己本身的个性特点;

2.在原有产品的基础上建立软件产品线的方式,并简要评价

(1) 将现有产品演化为产品线:在基于现有产品体系结构设计产品线体系结构的基础上,将特定产品的

构件逐步地、越来越多地转化为产品线的公用构件,从基于产品的方法“慢慢地”转化为基于产品线的软件开发。

主要优点是通过对投资回收期的分解,对现有系统演化的维持使产品线方法的实施风险降到了最低,单完成产品线核心资源的总周期和总投资都比使用革命方式要大;

(2)用软件产品线替代现有产品集:基本停止现有产品的开发,所有努力直接针对软件产品线核心资源开发。需求变化会导致初始投资报废的风险加大

3.成功实施软件产品线的主要因素

(1)对该领域的产品开发已具备长期积累的经验;

(2)一个用于构建产品的好的核心资源库;

(3)好的产品线体系结构;

(4)好的管理(软件资源、人员组织、过程)支持

基于体系结构软件开发

MVC模式:对于界面可变性设计的要求,MVC把交互式系统的组成分解成模型、视图和控制器三种构件。模型构件:独立于外在显示内容和形式,是软件所处理问题逻辑的内在抽象,它封装了问题的核心数据、逻辑和功能计算关系,独立于具体的界面表达和输入/输出操作;

视图构件:把模型数据及逻辑关系和状态信息以特定的形式展示给用户,它从模型获得显示信息,对于相同的信息可以有多个不同的显示视图;

控制器构件:处理用户与软件的交互操作,决定软件的控制流程,确保用户界面和模型间的对应联系,它接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,它是模型和视图协调工作的部件。

设计模式的分类

5种创建型模式:工厂方法,抽象工厂,建造者,原型及单件;

7种结构型模式:适配器,桥,组合,外观,装饰,代理,享元模式;

11种行为型模式:职责链,中介者,对象状态,策略,命令,备忘录,访问者,迭代器,解释器,观察者,模板方法;

MVC与MVP的比较

MVC模式是创建软件很好的途径,它所提倡的一些原则,如,内容和显示分离、隔离模型、视图和控制器的构件等,会使应用程序的体系结构更健壮,更具有扩展性,也会是软件在代码重用和体系结构方面上一

个新的台阶;

MPV:Presenter(呈现器)负责逻辑的处理,模型提供数据,视图负责显示;MVP与MVC的一个重大区别就是:MVP不直接使用模型,他们之间的通行时通过呈现器来进行的,所有的交互都发生在呈现器内部,而在MVC中视图会直接读取模型数据而不是通过控制器。

中间件技术

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于操作系统之上,管理计算机资源和网络通信,实现应用之间的互操作。主要有下面6个基本功能:(1)负责客服机和服务器之间的连接和通信

(2)提供应用层不同服务之间的互操作机制

(3)提供一个多层体系结构的应用开发和运行平台

(4)屏蔽硬件、操作系统、网络和数据库的差异

(5)提供应用的负载均衡、高可用、安全机制和管理功能,保证交易的一致性

(6)提供一组通用的服务去执行不同的功能

中间件的类别

远程过程调用(RPC):客服进程和服务进程通过网络进行通信,相应的存根(Stub)过程和运行支持提供数据转换和通行服务,从而屏蔽不同的操作系统和网络协议;存根过程用来解码请求消息中的参数,调用相应的服务过程和编码应答消息的返回值。

对象请求代理(ORB):ORB是CORBA模型的核心组件,它的作用在于提供一个通信框架,透明地在异构的分布式计算环境中传递对象请求;CORBA对象之间不直接进行通信,对象通过远程存根对运行在本地计算机上的ORB发出请求,本地ORB使用IIOP将该请求传递给其他计算机上的ORB。

RMI:Java的远程方法调用。

面向消息的中间件:MOM利用高效可靠的消息传递机制进行平台无关数据交换,并基于数据通信来进行分布式系统的集成,具有3个特点:

(1)通信程序可以在不同的时间运行(2) 对应用程序的结构没有约束(3) 程序与网络复杂性相隔离

事务处理监控器:交易中间件

什么是基于体系机构的设计方法?简要说明基于体系结构的设计方法的生命周期模型及设计步骤?

ABSD方法为产生软件系统的概念体系结构提供基础,概念体系结构代表了在开发过程中做出的第一个选择,相应地,它是达到系统质量和业务目标的关键,为达到预定功能提供了一个基础。由业务、质量和功能需求的组合驱动ABSD,ABSD设计活动在体系结构驱动已决定就可开始,这意味着需求获取和分析活动还没有完成,就开始了软件设计,分析与设计活动并行;

ABSD的三个基础:功能的分解;通过体系结构风格来实现质量和业务需求;软件模板的使用;

在ABSD方法中,必须记录所有做出的决策以及这些决策的原理,这有利于决策的跟踪和决策评审;

体系结构设计过程:

(1)标识构件;(生成类图、对类进行分组、把类打包成构件)

(2)提出软件体系结构模型(3) 把构件映射到体系结构中(4) 分析构件之间的相互作用

(5)产生软件体系结构(6) 软件体系结构正交化

体系结构演化过程:

(1)需求变动归类

(2)体系结构演化计划

(3)修改、增加或删除构件

(4)更新构件的相互作用

(5)构件组装与测试

(6)技术评审

(7)演化后的体系结构

基于体系结构的软件开发模型:

体系结构需求→体系结构设计→体系结构文档化→体系结构复审→体系结构实现→体系结构演化

例题:B/S结构选用.Net平台还是Java企业版平台,最终选用Java企业版平台。问题如下:

1.给出两个平台各自具备的优势及两个平台的共有特点(从下面选项中选择)

(1)良好跨平台可移植性支持

(2)易于部署与配置

(3)多程序设计语言支持

(4)良好的Web多层应用开发支持

(5)丰富的多厂商外部支持

(6)良好的O/R(对象/关系)映射支持

(7)针对特定平台的优化支持

(8)良好的源代码以外的可定制性支持

(9)良好的Web服务支持

.Net平台特点:(2)(3)(7)Java企业版平台特点:(1)(5)(8)共有特点:(4)(6)(9)

2.分别针对基于EJB的重量级框架和基于Struts等轻量级框架,说明MVC模式中的各组件应采用何种构

件实现

在基于EJB的重量级框架中,实现的构件分别为:

模型(Model):由EJB构件实现视图(View):由JSP构件实现控制器(Controller):由Servlet实现

在基于Struts等的轻量级框架中,实现的构件分别为:

模型(Model):由Java Bea n构件实现视图(View):由JSP构件实现

控制器(Controller):由Servlet构件实现

3.从组件耦合度、组件分工及开发工程化支持等3个方面说明MVP与MVC模式的主要区别

(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。

(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。

(3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。

4.说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的方法;

事务的基本特征包括:

原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。

隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。

持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。

EJB规范支持的两种事务控制方法为:

容器维护的事务(Container Managed Transaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。

Bean维护的事务(Bean Managed Transaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。

软件体系结构评估: 各种软件质量属性

性能:指系统的响应能力,即要经过多长时间才能对某个事件作出响应或在某段时间系统所处理的事件个数;可靠性:软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。常用的设计方法是:容错、检错、降低系统复杂度;

可用性:系统能够正常运行的时间比例;常用两次故障之间的时间间隔或系统恢复正常的速度来表示;

安全性:系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力;安全性又可分为:机密性、完整性、不可否认性及可控性等;

可修改性:能够快速地以较高的性能价格比对系统进行变更的能力;

功能性:系统所能完成所期望工作的能力;

可变性:指体系结构经扩充或变更而成为新体系结构的能够;

集成性:指系统与其它系统协作的程度;

互操作性:指系统与其它系统或者自身环境相互作用的能力;如软件体系结构必须为外部可见的功能特性和数据结构提供精心设计的软件入口;

风险点/架构风险:指架构设计中潜在的、存在问题的架构设计决策所带来的隐患;

敏感点:为了实现某个特定的质量属性,一个或多个组件所具有的特性;

权衡点:影响多个质量属性的特性,是多个质量属性的敏感点;

体系结构评估的3种方式:

(1)基于调查问卷或检查表的方式(2)基于场景的评估方式(3)基于度量的评估方式

ATAM评估的结果:

(1)已文档化了的体系结构方法或风格(2)场景及优先级(3)基于属性的问题(4) 效用树

(5)所发现的风险决策(6) 已文档化了的无风险决策(7) 所发现的敏感点和权衡点

SAAM评估的步骤:

(1)形成场景(2)描述体系结构;(1)和(2)重复进行(3) 对场景进行分类和确定优先级

(4) 对间接场景的单个评估(5) 评估场景的相互作用(6) 形成总体评价

传统的Web应用程序存在以下几个缺点:

操作复杂性数据复杂性交互复杂性

AJAX是由几种蓬勃发展的技术以新的方式组合而成的,包含基于XHTML和CSS标准的表示;使用DOM 进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切;使用AJAX 的最大优点就是能在不更新整个页面的前提下维护数据,这使得Web系统更为讯接地回应用户动作,并避免在网络上发送那些没有改变过的信息;

基于服务的体系结构

W3C的定义:SOA是一种应用程序体系结构,在这种体系结构中,所有的功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序这些服务来形成业务流程;

SOA特征:SOA是一种粗粒度、松耦合的服务体系结构,其服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信协议;

SOA服务构件与传统构件的区别:

(1)服务构件往往是粗粒度的,而传统构件以细粒度居多;

(2)服务构件的接口是标准的,主要是服务描述语言接口,而传统构件常以具体API形式出现;(3)服务构件实现与语言无关,而传统构件常绑定某种特定语言;

(4)服务构件可以通过构件容器提供QoS服务,而传统构件完全由程序控制;

SOA服务常见设计原则:

(1)明确定义的接口(2) 自包含和模块化(3) 粗粒度(4) 松耦合(5) 互操作性、兼容和策略声明

SOA有3个主要的抽象级别:操作、服务和业务流程;层次从底向上排列;

SOA的关键技术

(1)发现服务层:帮助客服端应用程序解析远程服务的位置,同过UDDI来实现;通过UDDI提供的标准接口,企业可以发布自己的服务供其他企业查询和调用,也可以查询特定服务的描述信息,并动态绑定到该服务上;

(2)描述服务层:为客服端应用程序提供正确的与远程服务交互的描述信息,主要通过WSDL来实现;(3)消息格式层:保证客服端应用程序和服务器端的格式保持一致,一般通过SOAP来实现;

(4)编码格式层:为客服端和服务器之间提供一个标准的、独立于平台的数据交换编码格式,一般用XML 来实现;

(5)传输协议层:为客服端和服务器之间提供两者交互的网络通信协议,一般通过HTTP和SMTP来实现;

SOA的实现方式一般有:Web Service,企业服务总线和服务注册表;

Web Service的解决方案中,有3中工作角色,分别为:服务提供者,服务请求者及服务注册中心;主要的操作包括:发布、查找和绑定;

服务注册表一般支持:服务注册、服务位置和服务绑定功能;

企业服务总线:ESB是由中间件技术实现并支持SOA的一组基础体系结构,是传统中间件技术与XML、Web Service等技术结合的产物,是在整个企业集成体系结构下的面向服务的企业应用集成机制;ESB的主要功能如下:

(1) 服务位置透明性(2) 传输协议转换(3) 消息格式转换(4) 消息路由(5) 消息增强(6)安全性

(7)监控和管理

WSDL:是对服务进行描述的语言,它有一套基于XML的语法定义。WSDL描述的重点是服务,它包含服务接口定义和服务实现定义;

UDDI:是一种用于描述、发现、集成Web服务的技术,它是Web服务协议栈的一个重要部分;通过UDDI,企业可以根据自己的需要动态查找并使用服务,也可以将自己的Web服务动态地发布到UDDI注册中心,供其它用户使用;

SOAP:以XMl形式提供一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制;可以将SOAP简单理解为:SOAP=HTTP+RPC+XML,也就是采用HTTP作为底层通信协议,RPC作为通用的调用途径,XML作为数据打包的格式,提供了一个能够穿越防火墙的通信交互能力;

REST(Representational State Transfer,表述性状态转移)是一种只是用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

数据库是以单一数据资源为中心,其目的是及时、安全将当前事务所产生的记录保存下来;而数据仓库是指一个面向主题的、稳定的、集成的、随时间变化的数据集合,用以支持经营管理中的决策制定过程,数据在进入数据仓库之前,经过加工和集成,以实现将原始数据从面向应用到面向主题的转变;

动态软件体系结构

由于系统需求、技术、环境、和分布等因素的变化而最终导致软件体系结构变动,成为软件体系结构演化;

动态软件系统的形式化描述包括:软件体系结构的描述、体系结构的重新配置和系统行为描述。对动态软件体系结构的形式化描述,通常可以采用图形化方法、进程代数方法、逻辑方法等;

XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,用于定义其它特定领域有关的、语义的、结构化的标记语言的句法语言;

UML是用于系统的可视化建模语言,而不是一种方法;其中并不包括过程的概念,其本身是独立于过程的,可以在任何过程中使用它。不过与XML结合最好的是用例驱动的、以体系结构为中心的、迭代的、增量的开发过程。

UML中的3中基本构造块:事物、关系和图;

UML中的事物也称建模元素,包括:结构事物、行为事物、分组事物、注释事物;

UML中的主要4中关系:依赖、关联(聚合、组合)、泛化和实现;

顺序图强调消息的时间次序;通信图强调收发消息的对象或者角色的结构组织(即:消息流经的数据结构);二者都表达的类似的概念;定时图强调消息跨越不同对象或角色的时间时间;交互概览图是活动图和顺序图的混合物;

状态图描述一个状态机,由状态、转移、事件和活动组成;活动图专注于系统的动态视图,强调对象间的控制流程。适合用于表述在不同用例之间的(单个)对象行为。

ADL是这样一种形式化语言,它在底层语言模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。3个基本元素为:构件、连接件和体系结构配置;

软件体系结构风格

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含了一些构件和连接件类型,而约束指出系统如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统共有的结构和语义特性,并指导如何将各个模块和子系统有效组织成一个完整的系统。

体系结构风格4要素内容:一个词汇表、一套配置规则、定义一套语义解释原则和定义对基于这种风格的系统所进行的分析。常见5个风格分类:

(1)数据流风格:批处理序列、管道与过滤器;

(2)调用/返回风格:主程序与子程序、面向对象风格、层次风格;

(3)独立构件风格:进程通信、事件系统;

(4)虚拟机风格:解释器、基于规则的系统;

(5)仓库风格:数据库系统、超文本系统、黑板系统

常见具体风格解析:

管道与过滤器:每个构件(过滤器)都有一组输入和输出,构件读输入的数据流,进过内部处理,然后产生输出数据流;输出数据流输入管道(连接件),作为下一个过滤器的输入;过滤器必须是独立的实体,在

输入数据流没输入完之前,可能输出数据流已经产生了;常见例子:UNIX Shell编写的程序、传统的编译器;

特点:

(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;

(2)可将整个系统看成多个过滤器行为的简单合成;

(3)支持软件(过滤器)重用;

(4)系统维护和增强系统性能简单;

(5)支持并行执行;

缺点:

(1)导致进程成为批处理结构;

(2)不适合处理交互应用;

(3)过滤器增加了解析和合成数据的工作,导致系统性能下降;

面向对象风格:数据的表示方法和它们相应的操作封装在一个抽象数据类型或对象中,这种风格的构件是对象,或者说是抽象数据类型的实例;

基于事件的隐式调用风格的主要特点是:事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。常见的例子是:在编程环境中用于集成各种工具,在数据库系统中确保数据的一致性约束,在用户界面中的管理数据,以及在编辑器中支持语法检查;

优点:

(1)为软件重用提供了强大支持;(2) 为改进系统带来了方便;

缺点:

(1)构件放弃了对计算构件的控制;(2) 数据交换的问题;(3)正确性的的推理存在问题;

分层系统

层次系统组织成一个层次结构,每一层为上层服务,并作为下层的客户。每一次最多影响相邻的两层,只要给相邻两层提供相同的接口,便允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

特点:

(1)支持基于抽象程度递增的系统设计;(2)功能的改变最多影响相邻两层;(3)支持重用;

不足:

(1)并不是每个系统都能够很容易的划分为多层模式;(2)很难找到一个合适的、正确的抽象层次方法;

仓库系统及知识库

在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与外构件间的相互作用在系统中会有大的变化;。

黑板系统的传统应用是信号处理领域,如语音和模式识别,另一应用是松耦合数据共享存取;黑板系统的3个组成部分:

(1)知识源;

(2)黑板数据结构;

(3)控制;控制完全由黑板的状态驱动,黑板状态的改变决定使用特定的知识源;

C2风格

C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络;组织规则如下:(1)构件和连接件都有一个顶部和底部;

(2)构件的顶部连接到某连接件的底部,构件的底部则应连接都某连接件顶部;构件之间不允许之间连接;

(3)一个连接件可连接任意数目的构件和连接件;

(4)当两个构件直接连接时,必须是其中一个的底部到另一个的顶部;

特点:

(1)系统的构件能够实现应用需求,并能将任意复杂度的功能封装在一起;

(2)构件通信通过以连接件为中介的异步消息交换来实现;

(3)构件相对独立,构件之间依赖少;

C/S与B/S体系结构

C/S体系结构的优点在于系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适应各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,易于对系统进行扩充或缩小;C/S结构具有强大的数据操作和事物处理能力,模型思想简单,易于人们理解和接收;由于软件复杂度的不断提高,C/S结构也暴露出下列缺点:

(1)开发成本高。客户端软硬件配置要求高

(2)客户端程序设计复杂;

(3)信息内容和形式单一;

(4)用于界面风格不一,不利于推广;

(5)软件移植困难;

(6)软件维护和升级困难;

(7)新技术不能轻易应用;

两层C/S结构局限:难以扩展至大型企业广域网或Internet;软硬件的组合及集成能力有限;客服机负荷太

重;数据安全性不好;因此三层C/S结构应运而生;

与两层C/S结构相比,三层C/S结构增加了一个应用服务器。可以将整个应用逻辑驻留在服务器上,而只有表示层存在于客户机上;

表示层:应用的用户接口部分,它担负卓用户和应用间的对话功能;

功能层:相当于应用的本体,它将具体的业务逻辑编入程序中;

数据层:就是数据库管理系统,负责管理对数据库数据的读写;

在三层C/S体系结构中,中间件事最重要的构件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客服机和服务器或服务器之间出送数据,实现客服机群和服务器群之间的通信。

目前已有的3中分布式构件标准:Microsoft的DCOM,OMG的CORBA和SUN公司的EJB;

三层C/S结构特点:

(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,是整个系统逻辑结构更为清晰,提高了系统的可维护性和可扩展性;

(2)允许灵活选用相应的平台和硬件系统,且各组成部分具有良好的可升级性和开放性;

(3)应用的各层可并行开发,提高效率;

(4)充分利用功能层有效地隔离表示层和数据层,提高了系统安全;

B/S体系结构利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,节约了开发成本;B/S结构是一种全新的软件体系结构;系统的安装、修改和维护全在服务器端解决;用户仅用一个浏览器就可以运行全部的模块,达到了“零客服端的目的,容易升级。同时,B/S结构还提供了异种机、已种网、已种应用服务的联机、联网、统一服务的最现实开放性基础。

与C/S相比,B/S的不足:

(1)没有有效集成数据库的处理能力;

(2)系统扩展性差,安全性难以控制;

(3)数据查询相应速度远低于C/S结构;

(4)数据动态交互性不强,不利于在线事物处理(OLTP);

公共对象请求代理体系结构

CORBA是由OMG制定的一个工业标准,其主要目标是提供一种机制,使得对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境。其中的ORB是一个关键的通信机制,它以实现互操作性为主要目标,处理对象之间的消息发布。

CORBA技术规范主要包括:接口定义语言IDL,接口池IR,动态调用接口DII和对象适配器OA。

CORBA定义了一种面向对象的软甲构造方法,是不同的应用可以共享由此构造出来的软件构件。每个对象将其内部操作细节封装起来,同时向外界提供精确定义的接口,从而降低了应用系统的复杂性,也降低了软件开发费用。CORAB的平台无关性实现了对象跨平台引用,开发人员可以在更大范围内选择最实用的对象加入到自己的应用系统中。CORBA的语言无关性使开发人员可以在更大范围内相互利用别人的编程技能和成果。

CORBA特点

(1)引入中间件作为事务代理,完成客服机想服务对象方提出的业务请求;

(2)实现客服和服务对象的完全分离;

(3)提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能集成到分布式系统中;

(4)采用棉线对象的软件方法开发应用系统;

CORBA主要作用:提供运行环境;提供通信机制;提供通用服务;

层次消息总线(HMB:Hierarchy Message Bus)

消息总线是系统的连接件,负责消息的分派、传递、和过滤以及处理结果的返回。各个构件挂接在消息总线上,向总线登记感兴趣的消息类型。

遗留系统:指基本上不能进行修改和演化以满足新的变化了的业务需求的信息系统;特点如下:

(1)系统虽然能够完成企业中许多重要的业务管理工作,但已经不能完全满足要求;

(2)系统在性能上已经落后,采用的技术过时;

(3)通常是大型的软件系统,融入了企业的业务运行和管理决策机制中,维护困难;

(4)没用使用现代软件工程方法进行管理和开发,基本上没问题,很难理解;

特定领域软件体系结构

DSSA:在一个特定应用领域中,为一组应用提供组织结构参考的标准体系结构。

DSSA的基本活动:领域分析、设计及实现。领域分析的主要目标是获得领域模型,其描述的是领域中系统之间的共同需求;领域设计的目的是为了DSSA,表示模型在中需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息。

DSSA的人员:领域专家提供领域中系统的需求规约和实现知识;领域分析人员控制整个领域分析过程,把获取的知识组织到领域模型中;领域设计人员控制软件设计过程开发出DSSA;领域实现人员主要开发可重用构件;

DSSA的建立过程:

(1)定义领域范围;

(2)定义领域特定元素;

(3)定义领域特定的设计和实现需求约束;

(4)定义领域模型和体系结构;

(5)产生、搜集可重用产品单元;

DSSA的建立过程是并发的、递归和反复进行的。该过程的目的是将用户的需要反射为基于实现约束集合的软件需求,这些需求定义了DSSA;

DSSA的三层系统模型

(1)领域开发环境,对应领域架构师;

(2)领域特定应用开发环境,对应应用工程师;

(3)应用执行环境,对应操作员;

DSSA与体系结构风格的比较

软件危机的表现:

(1)软件成本日益增加;(2)开发进度难以控制;(3)软件质量差;(4)软件维护困难;

原因:

(1)用户需求不明确;(2)缺乏正确的理论指导;(3)软件规模越来越大;(4)软件复杂度越来越高;

构件是指语义完整、语法正确和有可重用价值的软件单元。

构件获取方法:

(1)从现有构件中获取符合要求的构件,直接使用或作适应性修改,得到重用构件;

(2)通过遗留工程将具有潜在重用价值的构件提取出来;

(3)商业构件(COTS:Commercial Off-The-Shell)

(4)新开发符合要求的构件;

构件管理的内容包括:构件描述、构件分类、构件库组织、人员及权限管理和用户意见反馈;

构件分类方法:关键字分类法、刻面分类法、超文本组织方法;

构件重用的工作:检索和提取构件,理解和评价构件,修改构件,将构件组装到软件产品中。

构件的组装可分为:基于功能(程序调用和参数传递)的组装;基于数据(核心数据结构设计出一个框架)的组装和面向对象(封装、继承和多态特性)的组装技术;

软件体系结构定义:为软件系统提供一个结构、行为和属性的高级抽象;由构成系统的元素的描述、元素的相互作用、指导元素集成的模式及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并显示了系统需求和构成系统元素之间的对应关系,提供了一下设计决策的基本原理。作用如下:(1)风险承担进行交流的手段;

(2)早期设计决策的体现;

(3)是可传递的和可重用的模型;

软件体系结构在软件开发中为不同的人员提供了共同的交流语言,体现并尝试了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享和重用、基于体系结构的软件开发提供了有力的支持;

“4+1”视图模型

逻辑视图(logic view):主要支持系统的功能需求;在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图;

开发视图(development view):也称模块视图,侧重于软件模块的组织和管理;

进程视图(process view):也称并发视图,侧重于系统运行时特性,主要关注一些非功能性的要求,如系统的性能和可用性;

物理视图(physical view):考虑如何把软件映射到硬件上,通常考虑系统的性能、规模和可靠性等;解决系统拓扑结构、系统安装、通信等问题;

场景/用例视图(scenarios):系统中重要活动的抽象,它使其它4个视图有机联系起来;

逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

体系结构的核心模型由5种元素组成:构件、连接件、配置(构件和连接件的拓扑逻辑和约束)、端口和角色;主要为前3种元素;

需求是指用户对目标软件系统在功能、性能、行为和设计约束等方面的期望,需求过程主要是获取用户需求,确定系统中要用到的构件;

体系结构需求包括:需求获取、生成类图、对类分组、把类打包成构件和需求评审等过程;

2017年下半年 系统架构设计师 综合知识

全国计算机技术与软件专业技术资格(水平)考试2017年下半年系统架构设计师上午试卷 (考试时间9:00~11:30共150分钟) 请按下述要求正确填写答题卡 1.在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B铅笔在你写入的准考证号下填涂准考证号。 2.本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。 3.每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。 4.解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。解答时用正规2B铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。 例题 ●2017年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。 (88)A.9 B.10 C.11 D.12 (89)A.4 B.5 C.6 D.7因为考试日期是“11月4日”,故(88)选C,(89)选A,应在答题卡序号88下对C填涂,在序号89下对A填涂(参看答题卡)。

●某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2?t)、分析指令(1?t)、取操作数(3?t)、运算(1?t)和写回结果(2?t)组成,并分别用5个子部完成,该流水线的最大吞吐率为(1);若连续向流水线输入10条指令,则该流水线的加速比为(2). (1)A.1/9?t B.1/3?t C.1/2?t D.1/1?t (2)A.1:10 B.2:1 C.5:2 D.3:1 ●DMA(直接存储器访问)工作方式是在(3)之间建立起直接的数据通路。 (3)A.CPU与外设 B.CPU与主存 C.主存与外设 D.外设与外设 ●RISC(精简指令系统计算机)的特点不包括:(4)。 (4)A.指令长度固定,指令种类尽量少 B.寻址方式尽量丰富,指令功能尽可能强 C.增加寄存器数目,以减少访存次数 D.用硬布线电路实现指令解码,以尽快完成指令译码 ●以下关于RTOS(实时操作系统)的叙述中,不正确的是(5)。 (5)A.RTOS不能针对硬件变化进行结构与功能上的配置及裁剪 B.RTOS可以根据应用环境的要求对内核进行裁剪和重配 C.RTOS的首要任务是调度一切可利用的资源来完成实时控制任务 D.RTOS实质上就是一个计算机资源管理程序,需要及时响应实时事件和中断 ●前趋图(Precedence Graph)是一个有向无环图,记为:→={(Pi,Pj)|Pi must complete before Pj may strat}。假设系统中进程P={P1,P2,P3,P4,P5,P6,P7,P8},且进程的前驱图如下:

系统架构设计师(高级)复习精华[绝对精品]

2017系统架构:系统架构师是怎样炼成的 坦率的讲,除了少数对开发程序极其热爱并愿意为之奋斗终身的编程者来说,对于大多数开发人员,写代码只是他们未来获得职业提升的一个必不可少的积累阶段,在做开发的时间里,他们会积极学习各种知识,经验,培养自己的商业头脑,包括扩展自己各方面的资源,这些积累会为他们未来成为管理者或创业打下牢固的基础。 成为架构设计师是广大开发者职业发展道路之一,架构师究竟是个什么样的职业?需要具 备什么基本能力?如何才能成为一个优秀的架构设计师以及架构设计师需要关注哪些容? 针对有关问题,本期我们为您采访了(微软认证专家,系统分析员,希赛顾问团顾问,中国 计算机学会会员) 友邦,他会就相关问题与大家分享他的看法。 “在我工作的六年多时间里,除了第一年是纯粹编码以外,其余时间都在做和架构设计有 关的工作,当然也还一直在写各种各样的代码。”友邦认为架构设计可能看起来很神秘,新 入门或没有架构设计经验的程序员刚开始的时候会有种不知所措的感觉,但其实架构设计是 件很容易的事,它只是软件系统开发中的一个环节而已,整个软件系统的开发和维护以及变 更还涉及到很多事情,包括技术、团队、沟通、市场、环境等等。 同时,友邦表示,虽然架构设计是件容易的事情,但也不是大多数没有架构设计经验的程 序员想象中的画画框图那么简单。把几台服务器一摆,每一台服务器运行什么软件分配好, 然后用网络连接起来,似乎每个企业级应用都是如此简间单单的几步。但现实生活中的软件 系统实实在在可以用复杂大系统来形容,从规划、开发、维护和变更涉及到许许多多的人和事。架构设计就是要在规划阶段都把后面的事情尽量把握进来,要为稳定性努力,还要为可维护性、扩扩展性以及诸多的性能指标而思前想后。除了技术上的考虑,还要考虑人的因素,包括人员的组织、软件过程的组织、团队的协作和沟通等。 另外,架构设计还需要方法论的指导。友邦强调,这些方法论的思路包括,至上而下的分 析,关注点分离,横向/纵向模块划分等。有时候觉得架构设计决策就像是浏览Google Earth,实际上反映的是一种自上而下的决策过程。对问题的分解是软件思维的基本素质,可以有横向分解、纵向分解以及两者的结合。能不能有效快速准确的分解问题,是软件开发人员需要 首先训练的项目。另外,架构设计中图形化的工具非常有用,它能把系统的结构和运作机制 以图形化的方式表达出来。也正因为这样才有了架构设计就是画框图的误会。再者,架构设计是一个工程性质的工作,对当事人的实际从业经验要求较高。只有对市场上的各种技术有 较全面的了解之后才有可能设计出一个尽可能满足各种设计约束的架构。 在谈到架构师需要具备的能力上,友邦认为架构师首先必须具有丰富的开发经验,是个技 术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本 上很难领会到,就算当时理解了也不一定能融会到实践中去。

高级系统架构设计师上午模拟试题及答案解析(11)

高级系统架构设计师上午模拟试题及答案解析(11) (1~2/共50题)选择题 以下嵌入式处理器类型中不具备内存管理单元(MMU)的是______,嵌入式操作系统______可以运行在它上面。 第1题 A.PowerPC750 B.ARM920T C.Cortex-M3 D.MIPS32 24K 第2题 A.Linux B.VxWorks653 C.μC/OS-Ⅱ D.Windows CE 下一题 (3/50)选择题 第3题 若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设P i (i=1,2,…,n)表示售票终端的进程,H j (j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数,Temp为工作单元。P i 进程的工作流程如下图所示,a、b和c 处将执行P操作和V操作,则图中a、b和c应分别填入______。 图片 售票终端进程工作流程图A.P(S)、V(S)和V(S) B.P(S)、P(S)和V(S) C.V(S)、P(S)和P(S) D.V(S)、V(S)和P(S) 上一题下一题 (4/50)选择题 第4题 通常情况下,电子政务业务分为3个领域。在如下图所示的电子政务业务模型中,(Ⅰ)、(Ⅱ)、(Ⅲ)空缺处的内容分别为______。 图片 电子政务业务模型A.政务业务办理系统、办公自动化系统、政务信息发布系统 B.政务信息发布系统、政务业务办理系统、办公自动化系统 C.政务业务办理系统、政务信息发布系统、办公自动化系统 D.办公自动化系统、政务信息发布系统、政务业务办理系统 上一题下一题 (5/50)选择题 第5题 以下关于自顶向下开发方法的叙述中,正确的是______。 A.自顶向下过程因为单元测试而比较耗费时间 B.自顶向下过程可以更快地发现系统性能方面的问题 C.相对于自底向上方法,自顶向下方法可以更快地得到系统的演示原型 D.在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因

软考系统架构设计师(高级)学习笔记汇总

2011年软考系统架构设计师学习笔记第一章 1.1.1 系统架构师的概念 现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。 架构本质上存在两个层次:概念层,物理层。 1.2.1 系统架构师的定义 负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。 主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。 要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。 1.2.2 系统架构师技术素质 对软件工程标准规范有良好的把握。 1.2.3 系统架构师管理素质 系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力; 必须提供特定的方法和模型作为理想的技术解决方案; 必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。 1.2.4 系统架构师与其他团队角色的协调 系统分析师,需求分析,技术实现 系统架构师,系统设计,基于环境和资源的系统技术实现 项目管理师,资源组织,资源实现 由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。 所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。 对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。 1.3 系统架构师知识结构 需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。 1.4 从开发人员到架构师 总结自己的架构模式,深入行业总结规律。 几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养

(完整版)系统架构师个人简历

系统架构师个人简历 求职意向 希望岗位:技术总监、项目经理、系统架构设计师工作年限:10年 职称:高级 求职类型:全职 可到职日期:随时

月薪要求:面议 工作经历 xx年3月至今xx有限公司,担任技术总监。 主要工作是: 负责公司的项目产品规划、产品开发方向、项目研发管理及控制: 1、组织并制定相关技术体系的技术标准和技术规范; 2、负责组织公司开发项目的总体方案设计,指导并审核公司产

品项目的总体技术方案; 3、协调技术部与销售部之间的工作,包括任务复杂度、任务处理时间等方面的协调; 4、对客户提出的开发需求进行可行性评估和风险评估,并制定相关开发计划; 5、对项目开发进度进行监督,并对各项目进行最后的质量评估。 xx年3月xx年7月xx有限公司,担任系统架构设计师。 主要工作是: 1、负责公司软件项目的架构、总体设计、需求分析设计;

2、编写技术标准、设计文档; 3、负责新技术研发,软件技术指导和监控; 4、负责公司员工培训; 5、参与软件项目管理、测试管理和风险管理等。 xx年3月xx年7月xx有限公司,担任开发经理。主要工作是:负责公司ERP软件管理与开发;负责与速达软件的合作开发,项目顾问;与客户交流、谈判;软件实施顾问。 xx年3月xx年7月xx有限公司,担任开发组长。主要工作是:

1、负责项目的架构、开发和管理; 2、负责数据库、Internet电子商务的技术支持及其开发; 3、负责监督团队的开发,以及开发人员的培训,为公司培养优秀的技术人才; 4、带领团队成功开发了至少3个以上的大中型软件项目。 教育背景 毕业院校:重庆大学 最高学历:本科

2014年系统架构设计师真题及答案

2014年下半年系统架构设计师考试上午真题(标准 参考答案) 卷面总分:75.0 分 答题时间:150 分钟 测试次数:1475 次 平均得分:54.8 分 是否需要批改:否 单项选择题 每题的四个选项中只有一个答案是正确的,请将正确的选项选择出来。 1 某计算机系统中有一个CPU、一台输入设备和一台输出设备,假设系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级>T2的优先级>T3 的优先级>T4的优先级。每个作业具有三个程序段:输入I i 、计算C i 和输出 P i (i=1,2,3,4),其执行顺序为I i →C i →P i 。这四个作业各程序段并发执行的前驱 图如下所示。图中①、②、③分别为(),④、⑤、⑥分别为()。 A.I 2、C 2 、C 4 B.I 2、I 3 、C 2 C.C 2、P 3 、C 4 D.C 2、P 3 、P 4 A.C 2、C 4 、P 4 B.I 2、I 3 、C 4 C.I 3、P 3 、P 4 D.C 4、P 3 、P 4 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B

?C ?D ? ? 2 某文件系统文件存储采用文件索引节点法。假设磁盘索引块和磁盘数据块大小均为1KB,每个文件的索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引。如果要访问icwutil.dll文件的逻辑块号分别为0、260和518,则系统应分别采用()。该文件系统可表示的单个文件最大长度是()KB。 A.直接地址索引、一级间接地址索引和二级间接地址索引 B.直接地址索引、二级间接地址索引和二级间接地址索引 C.一级间接地址索引、一级间接地址索引和二级间接地址索引 D.一级间接地址索引、二级间接地址索引和二级间接地址索引 A.518 B.1030 C.16514 D.65798 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B ?C ?D ? ? 3 设关系模式R(U,F),其中u为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统(Armstrong公理系统)中的合并规则是指()为F所蕴涵。 A.若A→B,B→C,则A→C B.若,则X→Y

2017年系统架构师考试综合版

2017年系统架构师考试科目一:综合知识 1.某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2?t )、分析指令(1?t )、取操作数(3?t )、运算(1?t )和写回结果(2?t )组成,并分别用5个子部完成,该流水 线的最大吞吐率为();若连续向流水线输入10条指令,则该流水线的加速比为()。(1)A.Δt 91B.Δt 31C.Δt 21D.Δt 11 (2)A.1:10 B.2:1 C.5:2 D.3:1 【解析】 理论流水线执行时间=(2t ?+1t ?+3t ?+1t ?+2t ?)+max(2t ?,1t ?,3t ?,1t ?,2t ?)*(n-1) =9t ?+(n-1)*3t ?; 第一问: 最大吞吐率:Δt 31Δt 6t nΔ3n Δt 31)(n-Δt+9n n =+=?∞→lim 第二问: 10条指令使用流水线的执行时间=9t ?+(10-1)*3t ?=36t ?。 10条指令不用流水线的执行时间=9t ?*10=90t ?。 加速比=使用流水线的执行时间/不使用流水线的执行时间=90t ?/36t ?=5:2。 【答案】:B 、C 。 2.DMA (直接存储器访问)工作方式是在()之间建立起直接的数据通路。 A.CPU 与外设 B.CPU 与主存 C.主存与外设 D.外设与外设 【解析】 直接主存存取(Direct Memory Access ,DMA )是指数据在主存与I/O 设备间的直接成块传送, 即在主存与I/O 设备间传送数据块的过程中,不需要CPU 作任何干涉,只需在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU 通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时由CPU 进行处理,实际操作由DMA 硬件直接完成,CPU 在传送过程中可做其它事情。 【答案】:C 。 3.RISC(精简指令系统计算机)的特点不包括:()。 A.指令长度固定,指令种类尽量少 B.寻址方式尽量丰富,指令功能尽可能强 C.增加寄存器数目,以减少访存次数 D.用硬布线电路实现指令解码,以尽快完成指令译码 【解析】RISC 与CISC 的对比表所示: 指令系统类型指令寻址方式 实现方式其他CISC (复杂)数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术研制周期长RISC (精简)数量少,使用频率接近,支持方式少增加了通优化编译,

2012下半年系统架构设计师下午试题Ⅱ分析与解答

2012年下半年系统架构设计师下午试题Ⅱ分析与解答 (总分75, 考试时间120分钟) 试题一论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。 试题一写作要点 一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。 二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。 1.架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。 (1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。 (2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。 (3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。 2.架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将己标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。 3.架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。 4.在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否

系统架构设计师下午2012下半年Ⅰ

[真题] 系统架构设计师下午2012下半年Ⅰ 案例分析题 试题一 阅读以下关于软件架构风格的说明,回答下列问题。 【说明】 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求: (1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。 (2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖曳和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。 (3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。 针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道.过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。 第1题: 请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。________ 参考答案: 软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道.过滤器架构风格则对用户的交互式数据处理支持有限。从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道。过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式

2018年下半年系统架构设计师考试论文真题(完整版)

2018年下半年系统架构设计师考试论文真题(专业 解析) 1、 论软件开发过程RUP及其应用 RUP (Rational Unified Process)是IBM公司一款软件开发过程产品, 它提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基 础进行软件开发。RUP汲取了各种面向对象分析与设计方法的精华,提供了一 个普遍的软件过程框架,可以适应不同的软件系统、应用领域、组织类型和项目规模。 问题内容: 请围绕“论软件开发过程RUP及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细论述软件开发过程产品RUP所包含的4个阶段以及RUP的基本特征。 3.结合你所参与管理和开发的软件项目,详细阐述RUP在该项目中的具体实施 内容,包括核心工作流的选择、制品的确定、各个阶段之间的演进及迭代计划 以及工作流内部结构的规划等。 2、 论软件体系结构的演化 软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后, 由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变 化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。 问题内容: 请围绕“论软件体系结构的演化”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2. 软件体系结构的演化是使用系统演化步骤去修改系统,以满足新的需求。简要论述系统演化的6个步骤。 3. 具体阐述你参与管理和开发的项目是如何基于系统演化的6个步骤完成软件体系结构演化的。 3、 论面向服务架构设计及其应用

2016系统架构师考试知识点总结

2016系统架构师考试知识点总结

1操作系统 操作系统是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用 1.1 操作系统的类型 操作系统的类型(依据使用环境和对作业的处理方式)分为批处理、分时、实时、网络和分布式等。 1、批处理:把作业分类,把一批作业编成一个作业执行序列。可分联机和脱机。特征为脱机使用计算机、成批处理和多道程序运行。 2、分时:采用分时技术,使多个用户同时以会话控制自己程序的运行,每个用户都认为拥有各自独立的、支持自己请求服务的系统。特征有交互性、多用户同时性和独立性。 3、实时:专用,系统与应用难分离。并不强调资源利用率,更关心及时性、可靠性和完整性。分实时过程控制和实时信息处理。特征有即时响应、高可靠性。 4、网络:按网络架构的各个协议标准制订,包括网络管理、通信、资源共享、系统安全和多种网络应用,实现协同工作和应用集成。特征有互操作性、协作处理。 5、分布式:要求一个统一的操作系统,实现系统操作的统一性,负责全系统的资源分配和调度,为用户提供统一的界面。 6、操作系统的5项基本功能,包括处理器管理、存储管理、设备管理、文件管理和作业管理。 1.2 操作系统的结构 结构分为无序、层次、面向对象、对称多处理和微内核。 1、无序:又称整体或模块结构。以大型表格和队列为中心,操作系统各个部分围绕着表格运行,整个系统是一个程序。模块结构相对独立,模块之间通过规定的接口相互调用。优点为缩短开发周期。缺点是模块之间调用关系复杂、相互依赖,使分析、移植和维护系统较易出错。 2、层次:操作系统分解成若干个单向依赖的层次,由多层正确性保证操作系统的可靠性。优点层次结构清晰,简化了接口设计,有利于系统功能的增加或删改,易于保证可靠性,便于维护和移植。 3、面向对象:基于面向对象程序设计的概念,采用了各种不同的对象技术。把对象最为系统中的最小单位,由对象、对象操作、对象保护组成的操作系统。优点适用于网络操作系统和分布式操作系统。 4、对称多处理:所有多处理运行且共享同一内存(内存储器、主存、实存)。优点适合共享存储器结构的多处理机系统。 5、微内核:把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其他功能以服务器形式建立在微内核之上。具有良好的模块化和结构化特征,模块之间和上下层之间通过消息来通信。 操作系统大多拥有两种工作状态:核心态和用户态。一般的应用程序工作在用户态,内核模块和最基本的操作系统核心工作在核心态。 微内核结构由一个简单的硬件抽象层和一组比较关键的原语(仅仅为建立系统必须的部分,包括线程管理、地址空间和进程间通信)或系统调用组成。 微内核的目标将系统服务的实现和系统的基本操作规则分离开来。

高级系统架构设计师下午试题模拟 含详细答案

系统架构设计师考试下午I模拟2 案例分析题 阅读以下软件架构设计的问题,在答题纸上回答问题。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。 1在线交易平台必须在1秒内完成客户的交易请求。 2该平台必须保证客户个人信息和交易信息的安全。 3当发生故障时,该平台的平均故障恢复时间必须小于10秒。 4由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 1、软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。 2、请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。 阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。 希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。 3小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。 4小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。 项目组经讨沦确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。 3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。 4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类

系统架构设计师下午(Ⅱ)模拟5

[模拟] 系统架构设计师下午(Ⅱ)模拟5 论文 一、论基于CBSD的软件架构设计与应用 第1题: 基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术,强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-The-Shelf)构件,也可以是通过其他途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大中型软件系统所需要的维护负担,从而降低软件开发的费用。 请围绕“基于CBSD的软件架构设计与应用”论题,依次从以下3个方面进行论述。 1、概要叙述你参与管理和开发的软件项目及你在其中所承担的主要工作。 2、简要介绍基于构件的软件开发过程模型,具体论述你在所管理和开发的软件工程项目中选择了哪种典型的构件平台并说明理由,如何具体实施的,最终实际效果如何。 3、论述你在该项目实施过程中遇到的问题及解决的办法,以及你进一步应用软件复用技术的有关设想。 参考答案: 1、简要介绍你参与规划、设计和实施的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。 2、构件(Component)是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。构件是一个独立发布的功能部分,可以通过其接口访问它的服务。软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。软件构件需承载有用的功能,并遵循某种构件模型。可复用构件是指具有可复用价值的构件。商用成品构件(Commercial Off-The-Shelf,COTS)是指由第三方开发的满足一定构件标准的,可组装的软件构件。基于构件的软件工程(CBSE)不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发。领域工程完成一组可复用构件的标示、构造、分类和传播;基于构件的开发完成使用可复用构件构造新的软件系统。基于构件的软件开发过程(CBSD)模型如图6-11所示。

系统架构设计师模拟题及答案解析第十八套

系统架构设计师模拟题及答案解析第十八套单项选择题 1、需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立 ______ A.数据流图和数据字典 B.程序流程图 C.体系结构模型 D.软件必须满足的约束条件 2、有两种需求定义的方法一严格定义和原型定义,在关于这两种方法的描述中,不正确的是______。 A.严格定义方法假定所有的需求都可以预先定义 B.严格定义方法假定软件开发人员与用户之间的沟通存在障碍 C.原型定义方法认为需求分析中不可避免地要出现很多反复 D.原型定义方法强调用户在软件开发过程中的参与和决策 3、软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。下面对于软件需求分析的描述,不正确的是______。 A.分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算 B.需求分析使得系统工程师能够刻画出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束 C.经过仔细的需求分析活动,分析员能够得到详细的系统规约 D.需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型 4、质量功能部署(QFD.是一种将客户要求转化成软件需求的技术。OFD的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,OFD确认了3类需求,常规需求、______和意外需求。 A.期望需求 B.基础需求 C.显式需求 D.功能需求 5、需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系

统“做什么”的问题。______并不是需求分析的实现步骤之一 A.获得当前系统的物理模型 B.抽象出当前系统的逻辑模型 C.建立目标系统的逻辑模型 D.确定目标实现的具体技术路线 6、某网软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用______。 A.瀑布模型 B.增量模型 C.原型开发模型 D.快速应用程序开发(RAD. 7、基于构件的开发(CBD.模型,融合了______模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。 A.瀑布 B.快速应用开发(RAD. C.螺旋 D.形式化方法 统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、8、构建阶段和9,其中在构建阶段主要产生的文档有10。 8、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 9、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 10、A.初始用户手册B.用例模型C.项目计划D.设计模型 11、敏捷软件过程强调:让客户满意和软件尽早增量发布;小而高度自主的项目团队;非正式的方法;最小化软件工程工作产品,以及整体精简开发。______不是采用这种软件开发过程的原因。 A.难以提前预测哪些需求是稳定的和哪些需求会变化 B.对于软件项目开发来说,设计和实现可以做到基本分离 C.从制订计划的角度来看,分析、设计、实现和测试并不容易预测 D.可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介

2016年系统架构设计师考试 考点

软件产品线体系机构 什么是软件产品线?软件产品线在软件开发过程中有什么作用? 定义:软件产品线是一个产品的集合,这些产品共享一个公共的、可管理的特征集,这些特征集能够满足选定市场或任务领域的特定需求。这些系统遵循一个预描述的方式,是在公共的核心资源上开发的。 作用:软件产品线是一个是非适合专业软件开发组织的软件开发方法,能有效提高软件生产率和质量、缩短软件开发时间、降低总开发成本; 主要组成部分:核心资源和产品集合。 核心资源:包括产品线中所有产品共享的产品线体系结构,新设计开发的或通过现有系统再工程得到的、需要在整个产品线中系统化重用的软件构件。 产品线开发的4个技术特点:过程驱动、特定领域、技术支持及体系结构为中心。 软件产品线包括哪些过程?如何实现软件产品线创建与演化?软件产品线演化是指什么?如何实现演化? 过程模型:双生命周期模型(领域工程+应用工程);SEI模型(核心资源开发+产品开发+管理)和三生命周期(企业工程+领域工程+应用工程)模型; 4种建立方式:用演化方式还是革命方式+基于现有产品还是开发全新产品线 (1)将现有产品演化为产品线 (2)用软件产品线替代现有产品集 (3)全新软件产品线演化 (4)全新软件产品线开发 演化:指的是由于各种原因引起产品线所进行的改动而变成新的产品线; 产品线的演化包括:核心资源的演化、产品的演化和产品的版本升级; 框架的定义及特征 定义:框架是由开发人员定制的应用系统的骨架,是整个系统或子系统的可重用设计,由一组抽象构件和构建实例间的交互方式组成; 特征:反向控制;可重用性;扩展性;模块化或构件化; 软件产品线体系结构定义、特点及个性实现机制 定义:软件产品线体系结构是只一个软件开发组织为一组相关应用或产品建立的公共体系结构。特点:同领域模型一样,软件产品线体系结构中也可分为共性部分和个性部分;共性部分是产品线中所有产品在体系结构上的共享部分,是不可改变的。个性部分是指产品线体系结构可以变化的部分;产品线体系结构设计的目的尽量扩展产品线中所有产品共享的部分,同时提供一个尽量灵活的体系结构变化机制; 个性实现机制:继承;扩展和扩展点;参数化;配置和模块互连语言;自动生成;编译时不同实现的选择; 页15 共页1 第 例题:希赛公司各种网络安全防火墙系统,引入产品线开发方法,问题如下: 1.公司是否适合使用软件产品线方法,并说明理由 适合软件产品线开发方法;公司的产品特点为:各种防火墙系统属于一种产品集合,具有很多共性,同时,每种不同的防火墙又具有自己本身的个性特点;

2011年下半年系统架构设计师上午试题

全国计算机技术与软件专业技术资格(水平)考试 2011年下半年 系统架构设计师 上午试卷 (考试时间 9 : 00~11 : 30 共150分钟) 请按下述要求正确填写答题卡 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。 3. 每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。 4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。解答时用正规2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。 例题 ● 2011年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88) 月 (89) 日。(88)A.12 B.11 C.10 D.9 (89)A.9 B.10 C.11 D.12 因为考试日期是“11月12日”,故(88)选B,(89)选D,应在答题卡序号88 下对B 填涂,在序号89 下对D 填涂(参看答题卡)。

●操作系统为用户提供了两类接口:操作一级和程序控制一级的接口,以下不属于操作一级的接口是(1)。 (1) A.操作控制命令 B.系统调用 C.菜单 D.窗口 ●进程Pl、P2、P3、P4和P5的前趋图如下: 若用PV操作控制进程P1~P5并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,进程间同步所使用的信号量标注在上图中的边上,且信号量S1~S5的初值都等于零,初始状态下进程P1开始执行。下图中a、b和c处应分别填写(2);d和e处应分别填写(3),f 和g处应分别填写(4)。 (2) A.V(S1)V(S2)、P(S1)和v(S3)V(S4) B.P(S1)V(S2)、P(S1)和P(S2)V(S1) C.V(S1)V(S2)、P(S1)和P(S3)P(S4) D.P(S1)P(S2)、V(S1)和P(S3)V(S2) (3) A.P(S1)和V(S5) B.V(S1)和P(S5) C.P(S2)和V(S5) D.V(S2)和P(S5) (4) A.P(S3)和V(S4)V(S5) B.P(S3)和P(S4)P(S5) C.V(S3)和V(S4)V(S5) D.V(S3)和P(S4)P(S5) ●某企业工程项目管理数据库的部分关系模式如下所示,其中带实下划线的表示主键,虚下划线的表示外键。 供应商(供应商号,名称,地址,电话,账号) 项目(项目号,负责人,开工日期) 零件(零件号,名称,规格,单价)

系统架构设计师论文范文

架构风格数字图书馆类的应用 摘要:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。本人有幸作为系统架构设计师参与了某大学图书馆数字化信息系统建设过程。由于在数字化图书馆信息系统中后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。结合各种体系结构的优缺点,我们决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。 本文详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,最后说明采用三层结构带来的效果,以及可以改进的地方。 正文:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某大学图书馆为了更好的服务读者,提高图书馆的管理水平和服务水平,已经启动了数字图书馆工程。本人有幸作为系统架构设计师参与了该项目。 该数字图书馆工程主要包括:后台馆藏信息管理系统、对外信息Web发布系统,交互式检索网、非纸质资源下载、新书通报、订购征询、以及读者信息管理系统等。 后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。

根据我们做出的需求分析以及各种体系结构的优缺点,我决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。对于后台馆藏信息管理系统的需求,需要对数据进行更新处理,采用C/S 结构可以更快更好的开发且数据处理速度更快,而且安全性在一定程度上也容易控制,可以更好的满足要求。对于读者的查询需求,我们采用B/S模式。采取这样的结构可以很好的满足用户需求,且容易开发和维护,节约开发成本。由于都是在windows 平台上使用,因此在开发工具的选择上,我们使用Delphi来开发后台馆藏信息管理部门的客户端和中间件,使用FrontPage来开发网页,连接在其内部网上提供查询服务。中间件我们采用COM+进行逻辑处理,数据层使用SQL Server。 以下详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,文章最后说明采用三层结构带来的效果,以及可以改进的地方。 对于客户端,B/S 结构仅提供查询功能,使用浏览器(例如Internet Explorer),学校各系部读者都可以通过内部网使用,读者也可以利用Internet 通过外网访问。C/S 结构提供日常操作和管理界面,承担着整个系统的数据录入及数据维护工作,使用Delphi 开发,它是系统数据的入口,使用频繁,安装在图书馆出口、和图书馆后台馆藏信息管理中心;中间件和数据库以及Web 服务器都放在该大学的计算机中心,便于维护管理。中间件负责根据客户端要求从数据库中取得数据,并在进行处理后提交到客户端显示;后台使用SQLServer 数据库,数据集中在数据库服务器进行管理,方便数据管理和分析,保证数据安全。 对于C/S 和B/S 结构,我们分别使用不同的工具来开发客户端。C/S 结

相关文档
相关文档 最新文档