软件架构师 历年论文整理

2017年

从下列的 4 道试题(试题一至试题四)中任选 1 道解答 。请在答题纸上的指定位置处将所选择试题的题号框涂黑 。若多 涂或者未涂题号框,则对题号最小的一道试题进行评分。

  • 试题一论软件系统建模方法及其应用

软件系统建模(Software System Modeling)是软件开发中的重要环节,通过构建软 件系统模型可以帮助系统开发人员理解系统、抽取业务过程和管理系统的复杂性,也可 以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一 座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模 型进行软件的维护和改进。 请围绕"论软件系统建模方法及其应用"论题,依次从以下三个方面进行论述。 1.概要叙述你参与的软件系统开发项目以及你所担任的主要工作。 2.说明软件系统开发中常用的建模方法有哪几类?阐述每种方法的特点及其适用 范围。 答题:(1)结构化建模方法 以过程为中心的技术,用于分析现有系统以及定义新系统的业务需要。数据流图DFD 适合于流程比较稳定 数据流图 从数据传递和加工的角度,以图形方式表达系统的逻辑功能,数据在系统内部的逻辑流向和逻辑变化的过程,是结构化分析方法的主要表达工具。 (2)信息工程建模方法 /数据库建模 以数据为中心,但过程敏感数据,强调分析和研究过程需求之前,首先进行研究和分析数据需求 实体关系图ER图 用于数据建模 E-R图 提供表示实体型、属性和联系的方法,用于描述显示世界的概念模型 (3)面向对象建模 将数据和过程 集成到一个称之为对象的结构 消除了数据和过程的人为分离。 对象模型UML 统一建模语言 结构型:类图 对象图 构件图 部署图 包图 行为图:活动图 状态机图 顺序图 通信图 用例图 时间图

博客来源:https://www.jianshu.com/p/4c9f795da7ea 3. 详细说明你所参与的软件系统开发项目中,采用了哪些软件系统建模方法,具体 实施效果如何。

  • 试题二-论软件架构风格

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构 风格定义一个系统家族,即一个体系结构定义一个词汇表和一纽约束。词汇表中包含一 些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体 系结构风格反应了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和 子系统有效地组织成一个完整的系统。 请围绕"论软件架构风格’论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。 2软件系统开发中常用的软件架构风格有哪些?详细阐述每种风格的具体含义。 答:(1)分层架构风格 由一堆组成,每一层对上一层来说都是虚拟机,简单的分层风格中一层只能使用他的相邻的下一层,保证了更低层的内容是隐藏的,有利于可修改性,可移植性和可重复性 (2)大泥球风格 没有任何清楚的机构,随意的数据,全局化的数据结构,系统的可维护性和可修改性都比较差 (3)管道-过滤器风格 数据从管道流向过滤器,过滤器对数据进行处理,整个管道-过滤器网络持续地增量处理。主要有四个元素构成:管道、过滤器、读端口和写端口。工作时,过滤器熊一个或多个端口读数据,进行处理,然后写入一个或多个端口,不断重复。管道保证数据单向的,永远从源头到目的地。过滤器之间是相互独立的,只能通过管道传输。 前端:angular内置的pip系统 (4)批处理架构风格 数据流从一个阶段到下一个阶段,每个阶段都是相互独立的并且是按照顺序执行的,对数据的完全处理,然后交给下一个几点,不是增量的。 可维护性,不能并行 (5)以模型为中心的风格MVC 仓库风格或共享数据风格,独立的组件只与一个中心模型进行交互,每个以模型为中心的系统都有一个模型组件module、视图view,控制器controller、视图-控制器view-controller,视图和控制器依赖于模型,他们之间没有依赖。 可修改、可维护、并发 (6)分发-订阅风格 两个端口:分发端口和订阅端口 一个连接器(事件总线连接器),分发端口用来分发事件,订阅端口用来订阅事件,时间总线连接器用来提交事件。分发事件和订阅事件的组件是相互独立的。 可维护性:事件的生产者与消费者解耦 可扩展性 (7)客户端-服务器风格 包含客户端和服务器组件,请求响应连接器和一些端口,客户端向服务器请求服务/通信,在与客户端建立通信之前 不知道客户端的身份 可维护性 流程发生变化,只改变服务器上的实现即可 集成:与现有的系统集成 (8)对等风格 节点之间的通信是对等的,不能存在分层,每个节点既能做客户端又能做服务器,对等风格常用与提供对资:源的访问。对不对称约束进行特定的禁止 可用性:一个节点离线,还是可用的 弹性:单节点的失败对系统没有太大的损害 (9)map - reduce 风格 处理巨大的数据集 如搜索引擎,社交网站 可伸缩性 可用性 性能高

博客来源:https://www.jianshu.com/p/ec89cf907311 3.详细说明你所参与分析和设计的软件系统是采用什么软件架构风格的,并分析采 用该架构风格设计的原因。

  • 试题三论无服务器架构及其应用

近年来,随着信息技术的迅猛发展和应用需求的快速更迭,传统的多层企业应用系统架构面临越来越多的挑战,已经难以适应这种变化。在这一背景下,无服务器架构(Servl iess Architecture) 逐渐流行,它强调业务逻辑由事件触发,具有短暂的生命周期,运行于无状态的轻量级容器中,并且由第三方代为管理。采用无服务器架构,业务逻辑 以功能即服务 CPunction As a Service. PAAS) 的方式形成多个相互独立的功能组件,以 标准接口的形式向外提供服务:同时,不同功能组件间的逻辑组织代码将存储在通用的 基础设施管理平台中,业务代码仅在调用时才激活运行,当响应结束后占用的资源便会 释放。 请围绕"无服务器架构及其应用’论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。 2.与传统的企业应用系统相比较,基于无服务器架构的应用系统具有哪些特点,请例举至少3个特点,并进行解释。 3. 结合你具体参与分析和设计的软件开发项目,描述该软件的架构,说明该架构是如何是如何采用无服务器架构模式的。,并说明在采用无服务嚣架构后软件开发过程中遇到的实际问题和解决方案。 试题四 论软件质量保证及其应用 软件质量保证 (Software Quality Assurance. SQA) 是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,这些活动贯穿于软件生产的整个生命周期。质量保证人员负责质量保证的计划、监督、记录、分析及报告工作,辅 助软件开发人员得到高质量的最终产品。 请围绕"软件质量保证及其应用"论题,依次从以下三个方面进行论述。 1、概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2、详细论述软件质量保证中常见的活动有哪些?阐述每个活动的主要内容。 结合你具体参与管理和开发的实际项目,说明是如何实施软件质量保证的各项活动,说明其实施过程及应用效果。

2016年

试题一 论软件系统架构评估

对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。 请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。 2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。 答题:基于架构开发的方法中,都是需要对架构进行评估,关注的质量属性有以下: (1)性能 指系统的响应能力,单位时间内所处理事务的数量或系统完成某个事务处理所用的时间来对性能进行定量的表示。基准测试程序 (2)可靠性 指系统在应用或系统错误前,在意外或者错误使用情况下所维护软件系统的功能特性的基本能力。最重要的软件特性,衡量在规定的时间和条件内,软件完成规定功能的能力。平均失效等待时间 mean time out falure MTTF 平均失效间隔时间 mean time between failure MTBF 可靠性分为 容错性 目的是在错误发生时确保系统正确的行为,并进行内部的修复;健壮性:保护应用程序不受错误使用和错误输入的影响,在遇到错误事件时 确保系统处于已经定义好的状态。 (3)可用性 系统能够正常运行的时间比例 两次故障之间的时间长度 (4)安全性 系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或者拒绝服务的能录。安全性分为机密性(保证信息不泄露给未授权的用户、实体或过程)、完整性(保证系统的完整和准确,防止被非法串改)、不可否认性及可控性(对信息的传播及内容具有控制的能力,防止被非法者所有) (5)可修改性 能够快速以较高的性能价格比对系统进行变更的能力。表现为四个方面: 可维护性 可拓展性 结构重组 可移植性 (6)功能性 系统所能够完成期望的工作的能力 一项任务需要系统中许多或大多数构建的相互协作 (7)可变性 体系结构经扩充或变更而成为新体系结构的能力

博客来源:https://wxs.me/2012

3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实旅过程和效果如何。

试题二 论软件设计模式及其应用

软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。 请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。 2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。 3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。

试题三 论数据访问层设计技术及其应用 在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模型是将信息系统分为表现层、业务逻辑层和数据访问层。信息系统一般以数据为中心,数据访问层的设计是系统设计中的重要内容。数据访问层需要针对需求,提供对数据源读写的访问接口;在保障性能的前提下,数据访问层应具有良好的封装性、可移植性,以及数据库无关性。 请围绕“论数据访问层设计技术及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的与数据访问层设计有关的软件项目,以及你在其中所担任的主要工作。 2.详细论述常见的数据访问层设计技术及其所包含的主要内容。 答:(1)响应重定向方法 将一个网页重定向到另一个网页的最简单方式, (2)服务器传输方法 通过简单大改变服务器的锁处理的代码达到请求一个新页的目的 博客来源:https://zhidao.baidu.com/question/359614316.html 3.结合你参与管理和开发的实际项目,具体说明采用了哪种数据访问层设计技术,并叙述具体实施过程以及应用效果。

试题四 论微服务架构及其应用 近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice Architecture Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。 请围绕“论微服务架构及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的、采用微服务架构的软件开发项目及在其中所担任的主要工作。 2.与单块架构相比较,微服务架构有哪些特点?请列举至少4个特点并进行说明。 3.结合你参与管理和开发的软件开发项目,描述该软件的架构,说明该架构是如何采用微服务架构模式的,并说明在采用微服务架构后,在软件开发过程中遇到的实际问题和解决方案。

2015年

一、论应用服务器基础软件 应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性和可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。 请以“应用服务器基础软件”为题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能? 3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。

二、论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。 请以“软件系统架构风格”论题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。 3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。

三、论面向服务的架构及其应用 面向服务的架构(Service-Oriented Architecture,SOA)是一种组件模型,把应用程序中的不同功能单元(即服务)通过这些服务之间定义良好的接口和契约联系起来,使得这些系统中的服务能够以-种统一和通用的方式进行交互。从应用角度看,SOA是一种应用框架,它关注企业日常的业务应用,将其划分为单独的业务功能和流程,并抽象为服务,用户和系统开发人员可以构建、部署和整合这些服务,无需依赖特定的应用程序及应用平台,从而提高企业业务流程的灵活性。SOA有助于实现更多的信息资产重用、更轻松地管理和更快地应用开发与部署。 请以“面向服务的架构及其应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与实施的、基于面向服务架构的软件开发项目以及所担任的主要工作。 2.指出SOA技术参考架构中都包含哪些服务类别,并对每类服务的定义和作用进行简要说明。 3.详细阐述你的项目是如何以面向服务的架构为指导进行实施的,在实施过程中遇到了哪些问题,是如何解决的。

四、论企业集成平台的技术与应用 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信息环境下各特定领域的应用系统的集成。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。 请以“企业集成平台的技术与应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。 2.简要说明企业集成平台的基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。

2014年

一、论应用服务器基础软件 应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性和可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。 请以“应用服务器基础软件”为题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能? 3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。

二、论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。 请以“软件系统架构风格”论题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。 3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。

三、论面向服务的架构及其应用 面向服务的架构(Service-Oriented Architecture,SOA)是一种组件模型,把应用程序中的不同功能单元(即服务)通过这些服务之间定义良好的接口和契约联系起来,使得这些系统中的服务能够以-种统一和通用的方式进行交互。从应用角度看,SOA是一种应用框架,它关注企业日常的业务应用,将其划分为单独的业务功能和流程,并抽象为服务,用户和系统开发人员可以构建、部署和整合这些服务,无需依赖特定的应用程序及应用平台,从而提高企业业务流程的灵活性。SOA有助于实现更多的信息资产重用、更轻松地管理和更快地应用开发与部署。 请以“面向服务的架构及其应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与实施的、基于面向服务架构的软件开发项目以及所担任的主要工作。 2.指出SOA技术参考架构中都包含哪些服务类别,并对每类服务的定义和作用进行简要说明。 3.详细阐述你的项目是如何以面向服务的架构为指导进行实施的,在实施过程中遇到了哪些问题,是如何解决的。

   四、论企业集成平台的技术与应用
   企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信息环境下各特定领域的应用系统的集成。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。

请以“企业集成平台的技术与应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。 2.简要说明企业集成平台的基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。

2013年

一、论软件架构建模技术与应用 软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软件架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kruchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在了一起。 请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2.简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。 3.说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

二、论企业应用系统的分层架构风格 软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格,能够有效简化设计,使得设计的系统结构清晰,便于提高复用能力和产品维护能力。 由于大量企业应用系统都由界面呈现、业务逻辑、数据存储三类功能构成,因此广泛采用分层架构风格进行系统设计。 请围绕“企业应用系统的分层架构风格”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的企业应用系统建设项目以及你在其中所承担的主要工作。 2.请结合项目实际情况,指出应用系统都有哪些层次以及每个层次的主要功能。 3.请结合项目实际情况,指出设计每个层次时需要注意的问题及相应的解决方案。

三、论软件可靠性设计技术的应用 随着软件的日益普及,系统中软件成分不断增加,使得系统对软件的依赖越来越强。软件的可靠性对系统可靠性的影响越来越大。而实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,为此提出了软件可靠性设计的概念。 软件可靠性设计就是在常规的软件设计中,应用各种方法和技术,使软件设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。软件可靠性设计应和软件的常规设计紧密结合,贯穿于软件设计过程的始终。 请围绕“软件可靠性设计技术的应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,论述你在项目开发过程中,进行软件可靠性设计时遵循的基本原则;论述你在该项目中所采用的具体可靠性设计技术。 3.阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

四、论分布式存储系统架构设计 分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。 请围绕“分布式存储系统架构设计”论题,依次从以下三个方面进行论述。 1、概要叙述你参与分析和开发的分布式存储系统项目以及你所承担的主要工作。 2、简要说明在分布式存储系统架构设计中所使用的分布式存储技术及其实现机制,详细叙述你在具体项目中选用了哪种分布式存储技术,说明其原因和实施效果。 3、冗余是提高分布式存储系统可靠性的主要方法,通常在分布式存储系统设计中可采用哪些冗余技术来提升系统的可靠性?你在具体项目中选用了哪种冗余技术?说明其原因和实施效果。

2012年

一、论企业信息化规划的实施与应用 企业信息化建设是一项长期而艰巨的任务,不可能在短时间内完成。信息化规划是企业信息化建设的纲领和向导,是信息系统设计和实施的前提和依据。信息化规划以整个企业的发展目标和战略、企业各部门的目标与功能为基础,同时结合行业信息化方面的实践和对信息技术发展趋势的掌握,制定出企业信息化远景、目标和发展战略,从而达到全面、系统地指导企业信息化建设的目的。 请围绕“企业信息化规划的实施与应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与的企业信息化规划项目以及你在其中所担任的主要工作。 2.简要叙述企业信息化规划的主要内容。结合你参与的项目的实际情况,详细分析有关企业的信息化规划目标及规划的具体内容。 3.说明你所参与实施的企业信息化规划的步骤及效果,介绍其是否达到了预期的目标并分析原因。

二、论决策支持系统的开发与应用 决策支持系统(Decision Support Systems,DSS)是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、仿真技术和信息技术为手段,以人机交互方式进行半结构化和非结构化决策的信息系统。它调用各种信息资源,并提供各种分析工具,为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,帮助决策者提高决策水平和质量。决策支持系统在许多领域得到了广泛的应用,已成为许多行业经营管理中一个不可缺少的现代化支持工具。 请围绕“决策支持系统的开发与应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的决策支持系统项目以及在其中所担任的主要工作。 2.简要叙述决策支持系统包含的典型组成部件及对应的基本功能。说明在建立决策支持系统时需解决的一般关键问题。 3.说明你所参与管理和开发的决策支持系统的应用场合以及对决策结果的要求,具体阐述在开发过程中所采用的关键技术、实施过程和实际应用的效果。

三、论企业应用系统的数据持久层架构设计 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架,这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失多层结构的天然优势,继承延续应用系统架构的可伸缩性和可扩展性。当运用关系型数据库作为数据存储机制时,在业务层与数据源间加入数据持久层,能够解决对象与关系的“阻抗不匹配”问题,将对象的状态持久化存储到关系型数据库中。 请围绕“企业应用系统的数据持久层架构设计”论题,依次从以下三方面进行论述。 1.概要叙述你参与分析和设计的企业应用系统开发项目以及你所担任的主要工作。 2.分析在企业应用系统的数据持久层架构设计中有哪些数据访问模式,并详细阐述每种数据访问模式的主要内容。 3.数据持久层架构设计的好坏决定着应用程序性能的优劣,请结合实际说明在数据持久层架构设计中需要考虑哪些问题。

四、论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。

2011年

一、论模型驱动架构在系统开发中的应用 模型驱动架构(Model Driven Architecture,MDA)是对象管理组织提出的软件体系架构方法学,它基于UML以及一系列工业标准,能够支持基于可视化模型驱动的软件设计、内容存储与交换。MDA核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM),然后针对不同实现技术制定多个映射规则,通过映射规则和辅助工具将PIM转换成与具体实现技术有关的平台相关模型(PSM),最后完成PSM到代码的转换。通过PIM和PSM,MDA分离业务建模与底层实现技术,降低技术变迁对业务模型带来的影响。 请围绕“模型驱动架构在系统开发中的应用”论题,依次从以下三个方面进行论述。 1、简要叙述你参与管理和开发的、与MDA相关的软件开发项目以及你所担任的主要工作。 2、简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。 3、具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。

二、论企业集成平台的架构设计

企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持各种特定领域应用系统的集成。 请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。 1、简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。 2、请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。 3、具体说明所设计的企业集成平台的使用情况,最终实施效果如何。

三、论企业架构管理与应用

企业架构管理(Enterprise Architecture Management,EAM)从功能、应用、信息和技术四个层面定义了企业应用系统的结构,并通过业务需求驱动开发过程,为企业应用系统的开发提供标准和指导。EAM将企业的业务和技术需求联系在一起,以管理业务变更为核心,强调业务与技术对齐,构建一个高内聚、动态的企业应用解决方案。 EAM能够帮助企业识别可以提高运营效率的潜在领域,有助于企业建立从战略到解决方案交付的各种关系,识别技术解决方案中最优的业务成果,能够在业务重组、兼并、收购和其他业务变更计划中为企业最大化地节约成本,降低相关风险。 请围绕“企业架构管理与应用”论题,依次从以下三个方面进行论述。 1、简要叙述你参与实施的企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件架构管理的动机与期望以及你所承担的实际工作。 2、结合项目实际,简要阐述企业架构管理包含哪些方面的内容,每个方面包括哪些主要活动。 3、阐述你在实施企业架构管理的过程中都遇到了哪些实际问题,以及解决这些问题的方法和过程。

四、论软件需求获取技术及应用

软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕“需求获取技术及应用”论题,依次从以下三个方面进行论述。 1、简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2、详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。 3、详细论述在你参与分析和开发的软件项目中所采取的需求获取技术以及选取这些技术的原因,并说明需求获取的具体实施步骤。

2010年

一、论软件的静态演化和动态演化及其应用 软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(Static Evolution)和动态演化(Dynamic Evolution)是目前软件演化的两种重要类型。 请围绕“软件的静态演化和动态演化及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。 3.具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程以及实际应用的效果。

二、论数据挖掘技术的应用 随着信息技术的高速发展,各组织机构积累的数据量急剧增长。如何从海量的数据中提取有用的知识成为当务之急。数据挖掘(Data Mining)就是为顺应这种需要应运而生发展起来的数据处理技术,是知识发现的关键步骤。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 请围绕“论数据挖掘技术的应用”论题,依次对以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。 2.数据挖掘的主要任务是什么?具体论述你在项目中使用数据挖掘技术所解决的问题。 3.数据挖掘的方法主要有哪些?分析并讨论你所选择的数据挖掘方法,简述其具体实现过程和实际应用效果。

三、论大规模分布式系统缓存设计策略

大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在缓存服务器中存放一个副本,当该内容下次被访问时,不必建立新的数据请求,而是直接由缓存提供。良好的缓存设计,是一个大规模分布式系统能够正常、高效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统缓存架构。 请围绕“大规模分布式系统缓存设计策略”论题,依次从以下三个方面进行论述。 1.概要叙述你参与实施的大规模分布式系统开发项目以及你所担任的主要工作。 2.从不同的用途和应用场景考虑,请详细阐述至少两种常见的缓存工作模式,并说明每种工作模式的适应场景。 3.阐述你在设计大规模分布式系统的缓存机制时遇到了哪些问题,如何解决。

四、论软件可靠性评价

软件可靠性评价是指选用和建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间的软件失效数据(也可能包含软件生命周期内其他可靠性数据)进行处理,并评估和预测软件可靠性的过程。 软件可靠性评价是软件可靠性活动的重要组成部分,既可在软件开发过程实施,也可针对最终软件系统实施。软件可靠性评价的难点在于软件可靠性模型的选择和软件可靠性数据的收集与处理。 请围绕“软件可靠性评价”论题,依次从以下三个方面进行论述。 1.简要概述你参与实施的软件开发项目以及你承担的主要工作。 2.说明你在项目实施过程中所选择的软件可靠性模型,并论述在软件可靠性模型选择时应该考虑的主要因素。 3.收集软件可靠性数据时经常遇到的问题有哪些?简述你收集软件可靠性数据时所遇到的具体问题及解决的方法。

2009年

一、论基于DSSA的软件架构设计与应用 软件架构设计的一个重要课题是如何解决软件重用问题。特定领域软件架构(Domain Specific Software Architecture,DSSA)是一种有效实现特定领域软件重用的手段。按照Tracz的说法,DSSA就是一个特定的问题领域中由领域模刑、参考需求、参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。 DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案:领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息。 请围绕“基于DSSA的软件架构设计与应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2.就你所熟悉的领域,请给出针对该特定领域,在基于DSSA的软件设计开发中所涉及的领域模型、参考需求和参考架构以及相应的支持环境或设施。 3.具体阐述你参与管理和开发的项目中使用DSSA的情况,包括领域分析、领域设计和领域实现等活动是如何具体实施的,最终实际效果如何。

二、论信息系统建模方法 系统模型在软件开发中扮演着重要的角色。可为已有的系统创建模型,以便更好地理解这些系统;也可以针对待开发的系统创建模型,作为记录业务需求或技术设计的方法。模型是建立信息系统的基础。恰当地运用信息系统建模方法,是成功地进行软件开发的一个关键环节。 请围绕“论信息系统建模方法”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。 2.论述常见的信息系统建模方法的主要内容(包括每种建模方法的核心思想以及所创建的模型)。 3.具体阐述你参与管理和开发的项目中选择使用的信息系统建模方法以及选择该方法的原因,给出具体的实施过程和实施效果。

三、论基于REST服务的Web应用系统设计 REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于REST服务(RESTful Service)的Web应用系统设计任务主要包括:识别并设计REST风格的服务,采用面向服务的思想进行REST服务集成。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点,近年来受到了广泛的关注。 请围绕“基于REST服务的Web应用系统设计”论题,依次从以下三个方面进行论述。 1.概要叙述你参与实施的Web应用系统开发项目以及你所承担的主要工作。 2.简要叙述与传统的Web服务相比,采用REST服务构建的Web应用具有哪些优势和不足。 3.阐述你在设计基于REST服务的Web应用系统时遇到了哪些问题,如何解决。

四、论软件可靠性设计与应用

目前在企业中,以软件为核心的产品得到了广泛的应用。随着系统中软件部分比例的不断增加,使得系统对软件的依赖性越来越强,对软件的可靠性要求也越来越高。软件可靠性与其它质量属性一样,是衡量软件架构的重要指标。 软件工程中已有很多比较成熟的设计技术,如结构化设计、模块化设计、自顶向下设计等,这些技术为保障软件的整体质量发挥了重要作用。在此基础上,为了进一步提高软件的可靠性,通常会采用一些特殊的设计技术,即软件可靠性设计技术。 在软件可靠性工程体系中,包含有可靠性模型与预测、可靠性设计和可靠性测试方法等。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制。 请围绕“软件可靠性设计与应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与实施的软件开发项目以及你所承担的主要工作。 2.简要叙述影响软件可靠性的因素有哪些。 3.阐述常用的软件可靠性设计技术以及你如何应用到实际项目中,效果如何。