Channy's blog

//Description: 架构设计论文主题

[toc]


论文主题

论文真题

2024(下)

  1. 多源异构数据集成

    2. SOA

    请围绕“论面向服务的架构设计”论题,依次从以下三个方面进行论述 1、概要叙述你参与分析设计的软件项目以及你在其中所承担的主要工作。
    2、论面向服务的架构设计基于Web service的面向服务架构实现过程,SOA具有哪些特征,支撑软件功能重用。
    3、具体阐述你参与的软件项目是如何以面向服务的架构为指导实施的,在实施过程中遇到哪些问题,是如何解决的。

  2. 论软件维护及其应用 请围绕“论软件维护及其应用”论题,依次从以下三个方面进行论述。
    1、概要叙述你参与分析设计的软件项目以及你在其中所承担的主要工作。
    2、请介绍软件维护的内容有哪些,以及常见提高可维护性的技术或方法。
    3、在软件维护中,你遇到什么问题,你是用什么技术手段处理,以及处理后的效果如何。
  3. 论分布式事务的应用

    2024(上)

    1. 论云上自动化运维及其应用

    1、简要说明你参与开发的软件项目,以及你所承担的主要工作 2、概要叙述云上自动化运维(如CloudOps)的主要衡量指标 3、详细描述你参与开发的项目如何实现云上自动化运维

    2. 论模型驱动架构设计方法及其应用

    1、简要说明你参与分析和研发的软件项目,以及你所承担的要工作 2、简要阐述采用模型驱动架构思想进行软件开发的全过程和特点 3、详细阐述你参发的软件项目是基于模型驱动架构进行分析、设计和开发的

    3. 论单元测试方法及应用

    1、概要叙述你参与管理和开发的软件项目及你承担的主要工作。 2、单元测试中的静态测试与动态测试方法的主要内容。 3、在实际项目中单元测试中如何确定白盒测试的覆盖标准,如何组织实施单元测试的回归测试。 静态测试与动态测试

    4. 论大数据lambda架构

    1、简要说明你参与开发的软件项目,及你所承担的主要工作 2、lamada体系架构将数据流分为处理层、加速层、服务层。简要叙述这三个层次的用途和特点 3、详细阐述你参与开发的软件项目如何基于lamada体系架构进行大数据处理的。 批处理层、加速层和服务层

    2023

    1. 论面向对象的建模及应用

    软件系统建模是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统,抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模型进行软件的维护和改进。请围绕”论面向对象的建模及应用”论题,依次从以下三个方面进行论述。
    1.概要叙述你参与的软件系统开发项目以及你所担任的主要工作。 2.说明什么是用例模型和分析模型以及你所参与的项目中是如何使用这两种模型的。
    3.详细说明你所参与的软件系统开发项目在使用用例模型和分析模型的过程中遇到哪些问题,是如何解决的。 面向对象开发方法是以用例驱动的、以体系结构为中心的、选代的和渐增式的开发过程,主要包括需求分析、系统分析、系统设计和系统实现4个阶段

    2. 论多源数据集成及应用

    在如今信息爆炸的时代,企业、组织和个人面临看大量的数据。这些数据来目不同的渠道和资源,包括传感器、社交媒体、销售记录等,它们各自具有不同的数据格式、分布和存储方式。因此如何收集、整理和清洗数据,以建立一个一致、完整的数据集尤为重要。多源数据集成可以提供更全面的数据视角,将来自不同渠道的数据结合起来,通过这种方式整合多个数据源,从而减少单一数据源带来的误差和不准确性。此外,多源数据集成还可以帮助识别和矫正数据中的错误和重复项,提高数据的质量。请围绕”论多源数据集成及应用”论题,依次从以下三个方面进行论述,
    1.概要叙述你参与管理和开发的软件项自以及你在其中所承担的主要工作
    2.结合项自实际,详细说明多源数据集成的策略有哪些。
    3.具体阐述你参与管理和开发的项目如何基于多源数据集成进行设计与实现。

    3. 论软件的可靠性评价

    软件可靠性评价是软件可靠性活动的重要组成部分,既适用于软件开发过程,也可针对最终软件系统。在软件开发过程中使用软件可靠性评价,可以使用软件可靠性模型,估计软件当前的可靠性,以确认是否可以终止测试并发布软件,同时还可以预计软件要达到相应的可靠性水平所需要的时间和工作量,评价提交软件时的软件可靠性水平。对于最终软件产品,软件可靠性评价结合可靠性验证测试,确认软件的执行与需求的一致性,确定最终软件产品所达到的可靠性水平。请围绕”论软件的可靠性评价”论题,依次从以下三个方面进行论述

  4. 概要叙述你参与开发的软件项自以及你在具中所承担的主要工作。
  5. 说明可靠性模型有哪些,以及如何选择合适的可靠性模型。
  6. 具体阐述你参与开发的项目如何对选用的可靠性模型进行分析来进行可靠性评价的。

    可靠性模型: 种子法模型、失效率类模型、曲线拟合类模型、可靠性增长模型、程序结构分析模型、输入域分类模型、执行路径分析方法模型、非齐次泊松过程模型、马尔可夫过程模型、贝叶斯分析模型。 模型假设的适用性、预测的能力与质量、模型输出值能否满足可靠性评价需求、模型使用的简便性

    4. 论边缘计算及其应用

    边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的分布式开放平台(架构),就近提供边缘智能服务。边缘计算与云计算回各有所长,云计算擅长全局性、非实时、长周期的大数据处理与分析,能够在长周期维护、业务决策支撑等领域发挥优势;边缘计算更适用局部性、实时、短周期数据的处理与分析,能更好地支撑本地业务的实时智能化决策与执行。因此边缘计算与云计算之间不是替代关系,而是互补协同关系,边云协同将放大边缘计算与云计算的应用价值请围绕”论边缘计算及其应用”论题,依次从以下三个方面进行论述。

  7. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  8. 结合项目实际,概要说明六种边云协同,既资源协同、数据协同、智能协同、应用管理协同、业务管理协同、服务协同的含义。
  9. 具体阐述你参与管理和开发的项目如何利用边缘计算进行设计与实现

    主要包括六种协同:资源协同、数据协同、智能协同、应用管理协同、业务管理协同、服务协同

    2022

    1. 论基于构件的软件开发方法与应用

    基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS (Commercial-Of-the-Shelf)构件,也可以是通过其它途径获得的构件(如自行开发)。CBSD将软件开发的重点从程序编写转移到了基于己有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低软件开发的费用。
    请围绕“基于构件的软件开发方法及其应用”论题,依次从以下三个方面进行论述。

  10. 概要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。
  11. 详细论述基于构件的软件开发方法的主要过程。
  12. 结合你具体参与管理和开发的实际项目,请说明具体实施过程以及碰到的主要问题。

    系统需求概览、识别候选构件、根据发现的构件修改需求、体系结构设计、构件定制与适配、组装构件,创建系统

    2. 论软件维护方法及其应用

    软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范用内,为了改正错误或满足新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的,根据维护的原因不同,可以将软件维护分为改正性维护、适应性维护、完善性维护和预防性维护, 在维护的过程中,也需要对软件的可维护性进行度量。在软件外部,一般采用MTTR来度量软件的可维护性:在软件内部,可以通过度量软件的复杂性来间接度量软件的可维护性, 据统计,软件维护阶段占整个软件生命周期60%以上的时间。因此,分析影响软件维护的因素,度量和提高软件的可维护性,就显得十分重要。 请围绕”软件维护方法及其应用“论题,依次从以下三个方面进行论述。

  13. 概要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。
  14. 详细论述影响软件维护工作的因素有哪些。
  15. 结合你具体参与管理和开发的实际项目,说明在具体维护过程中,如何度量软件的可维护性, 说明具体的软件维护工作类型。

    可理解性、可测试性、可修改性

    3. 论区块链技术及应用

    区块链作为一种分布式记账技术,目前已经被应用到了资产管理、物联网、医疗管理、政务监管等多个领域。从网络层面来讲,区块链是一个对等网络(PeertoPeer,P2P),网络中的节点地位对等,每个节点都保存完整的账本数据,系统的运行不依赖中心化节点,因此避免了中心化带来的单点故障问题。同时,区块链作为一个拜占庭容错的分布式系统,在存在少量恶意节点情况下可以作为一个整体对外提供稳定的服务。 请围绕“区块链技术及应用论题”,依次从以下三个方面进行论述。

  16. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  17. 区块链包含多种核心技术,请简要描述区块链的3种核心技术。
  18. 具体阐述你参与管理和开发的项目是如何应用区块链技术进行设计与实现。

    4. 论湖仓一体架构及其应用

    随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP (On-Line Transaction Processing)数据交易过程,而是提出了多样化、异质性数据的实时处理要求。传统的数据湖(DataLake)在事务一致性及实时处理方面有所欠缺,而数据仓库(Data Warehouse)也无法应对高并发、多数据类型的处理。因此,支持事务一致性、提供高并发实时处理及分析能力的湖仓一体(Lake House)架构应运而生。湖仓一体架构在成本、灵活性、统一数据存储、多元数据分析等多方面具各优势,正逐步转化为下一代数据管理系统的核心竞争力。 请围绕“湖仓一体架构及其应用”论题,依次从以下三个方面进行论述

  19. 概要叙述你参与管理和开发的、采用湖仓一体架构的软件项目以及你在其中所承担的主要工作。
  20. 请对湖仓一体架构进行总结与分析,给出其中四类关键特征,并简要对这四类关键特征的内涵进行阐述。
  21. 具体阐述你参与管理和开发的项目是如何采用湖仓一体架构的,并围绕上述四类关键特征详细论述在项目设计与实现过程中遇到了哪些实际问题,是如何解决的。

    2021

    1. 论面向方面的编程技术及其应用

    针对应用开发所面临的规模不断扩大、 复杂度不断提升的问题, 面向方面的编程 (Aspect Oriented Programming,AOP)技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序,通常要把程序进行功能划分和封装。一般系统中的某些通用功能,如安全性、持续性、日志记录等等,其代码是分散的,较难实现模块化,不利于程序演变、维护和更新。AOP 技术将逻辑上关系松散的代码封装到一个具有某种公共行为的可重用模块,并将其命名为方面(Aspect). 请围绕“面向切面的编程技术及其应用”论题,依次从以下三个方面进行论述。

  22. 概要叙述你参与实施的应用 AOP 技术的软件项目以及你在其中所担任的主要工作。
  23. 叙述在软件项目实践过程使用 AOP 技术开发的具体步骤。
  24. 结合项目内容,论述该项目使用 AOP 技术的原因,开发过程中存在的问题和解决方法,以及使用 AOP 技术带来的实际应用效果。

    (old18.)(1) 将系统需求进行功能性分解,区分出普通关注点以及横切关注点,确定哪些功能是组件语言必须实现的,哪些功能可以以aspect 的形式动态加入到系统组件中。 (2) 单独完成每一个关注点的编码和实现,构造系统组件和系统aspect。这里的系统组件,是实现该系统的基本模块,对OOP语言,这些组件可以是类;对于过程化程序设计语言,这些组件可以是各种函数和API。系统aspect 是指用AOP语言实现的将横切关注点封装成的独立的模块单元。 (3) 用联结器指定的重组规则,将组件代码和aspect代码进行组合,形成最终系统。

    2. 论系统安全架构设计及其应用

    随着社会信息化进程的加快, 计算机及网络已经被各行各业广泛应用, 信息安全问题也变得愈来愈重要。它具有机密性、完整性、可用性、可控性和不可抵赖性等特征。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提供包括技术、管理、 人员和工程过程的整体安全,以保障信息的安全特征。 请围绕“系统安全架构设计及其应用”论题,依次从以下三个方面进行论述。

  25. 概要叙述你参与管理和开发的涉及安全架构设计的软件项目以及承担的主要工作。
  26. 请详细论述安全架构设计中鉴别框架和访问控制框架设计的内容,并论述鉴别和访问控制所面临的主要威胁有哪些,说明其危害。
  27. 请简要说明在你所参与项目的开发过程中,在鉴别框架和访问控制框架设计中存在的实际问题,以及是如何解决这些问题的。

    (18.5)鉴别(Authentication)的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。访问控制(Access Control)决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。

    3. 论企业集成平台的理解与应用

    企业集成平台(Enterprise Imtcgation Plaform,EIP)是支持企业信息集成的像环境,其主要功能是为企业中的数据、 系统和应用等多种对象的协同行提供各种公共服务及运行时的支撑环境。 企业集成平台能够根据业务模型的变化快速地进行信息系统的配置和调整, 保证不同系统、应用、服务或操作人员之同顺畅地相互操作,进而提高企业适应市场变化的能力, 使企业能够在复杂多变的市场环境中生存。 请围绕“企业集成平台的理解与应用”论题,依次从以下三个方阅进行论述。

  28. 概要叙述你参与管理和开发的、 采用企业集成平台进行企业信息集成的软件项目以及你在其中所承担的主要工作。
  29. 请给出至少 4 种企业集成平台应具有的基本功能,并对这 4 种功能的内涵进行简要阐述。
  30. 具体阐述你参与管理和开发的项目是如何使用企业集成平台进行企业信息集成的,并围绕上述 4 种功能,详细论述在集成过程中遇到了哪些实际问题,是如何解决的。

    基本功能:通信服务、信息集成服务、应用集成服务、二次开发工具、平台运行管理工具

    4. 论微服务架构及其应用

    微服务架构(Microservices Architecture)是一种架构风格,它将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过松耦合的形式交互,在微服务架构中, 服务是细粒度的,协议是轻量级的。这些服务通常按业务能力组织,有自身的技术堆栈。 请围绕“微服务架构及其应用”论题,依次从以下三个方面进行论述。

  31. 概要叙述你参与管理和开发的、采用微服务架构的软件项目以及你在其中所承担的主要工作。
  32. 请简要描述微服务架构的优点。
  33. 具体阐述你参与管理和开发的项目是如何基于微服务架构进行件设计实现的。

    (1) 微服务相比于SOA更加精细,微服务更多地以独立的进程的方式存在,互相之间并无影响; (2) 微服务提供的接口方式更加通用化,例如 HTTP RESTful方式,各种终端都可以调用, 无关语言、平台限制; (3) 微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合。

    2020

    1. 论数据分片技术及其应用

    数据分片就是按照一定的规则,将数据集划分成相互独立正交的数据子集。然后将数据子集分布到不同的节点上,通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。 请围绕“论数据分片技术及其应用”论题,依次从以下三个方面进行论述。

  34. 概要叙述你参与管理和开发软件的项目以及承担的工作。
  35. Hash分片,一致性Hash分片和按照数据范围分片是三种常用的数据分片方式。
  36. 具体阐述你参与管理和开发的项目,且采用了哪些分片方式,并且具体说明其实现过程和应用效果。

    2. 论云原生架构及其应用

    请围绕“论云原生架构及其应用”论题,依次从以下三个方面进行论述。

  37. 概要叙述你参与管理和开发的软件项目以及承担的主要工作。
  38. 服务化、强性、韧性、可观测和自动化是云原生架构重复的四类设计原则,请简要对这四类设计原则的内涵进行阐述。
  39. 具体阐述你参与管理和开发的项目是如何向采用云原生架构的,并且围终上述四类设计原则详细论述在项目设计与实现过程中遇到了哪些实际问题。是如何解决的?

    服务化、强性、韧性、可观测和自动化

    3. 论软件测试中缺陷管理及其应用

    请围绕“论软件测试中缺陷管理及其应用,依次从以下三个方面进行论述。

  40. 概要叙述你参与管理和开发的软件项目以及承担的工作。
  41. 详细论述常见的缺陷种类及级别,论述缺陷管理和基本流程。
  42. 结合你具体参与管理和开发的实际项目,说明是如何进行缺陷管理的。请具体说明实施过程及应用效果。

    4. 论企业集成架构设计及应用

    请围绕”论企业集成架构设计及应用”论题,依次从以下三个方面进行论述。

  43. 概要叙述你参与的软件开发项目的及承担的主要工作。
  44. 说详细说明三类企业集成架构设计技术分别要解决的问题及其含义,并阐述每种技术具体包含了哪些集成架构。
  45. 根据你所参与的项目,说明用了哪些企业集成架构设计技术,其实施效果如何。

    数据集成(数据联邦、数据复制模式、基于接口的数据集成模式)、应用集成(适配器集成模式、信使集成模式、面板集成模式、代理集成模式)、企业集成

    2019

    1. 论负载均衡技术在Web系统中的应用

    负载均衡技术是提升Web系统性能的重要方法。利用负载均衡技术,可将负载(工作任务)进行平衡、分摊到多个操作单元上执行,从而协同完成工作任务,达到提升Web系统性能的目的。 请围绕“负载均衡技术Web系统中的应用”论题,依次从以下三个方面进行论述。

  46. 概要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。
  47. 详细阐述常见的三种负载均衡算法,说明算法的基本原理。
  48. 详细说明你所参与的软件开发项目中,如何基于负载均衡算法实现Web应用系统的负载均衡。

    分片扩容/scaleout(通过增加机器的个数)、scaleup(通过增强机器的性能)、流量隔离控制

    2. 论数据湖技术及其应用

    近年来,随着移动互联网、物联网、工业互联网等技术的不断发展,企业级应用面临的数据规模不断增大,数据类型异常复杂。针对这一问题,业界提出“数据湖(DataLake)”这一新型的企业数据管理技术。数据湖是一个存储企业各种原始数据的大型仓库,支持对任意规模的结构化、半结构化和非结构化数据进行集中式存储,数据按照原有结构进行存储,无须进行结构化处理:数据湖中的数据可供存取、处理、分析及传输,支撑大数据处理、实时分析、机器学习、数据可视化等多种应用,最终支持企业的智能决策过程。 请围绕“数据湖技术及其应用”论题,依次从以下三个方面进行论述。

  49. 概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
  50. 详细阐述数据湖技术,并从主要数据来源、数据模式(Schema)转换时机、数据存储成本、数据质量、面对用户和主要支撑应用类型等5个方面详细论述数据湖技术与数据仓库技术的差异。
  51. 详细说明你所参与的软件开发项目中,如何采用数据湖技术进行企业数据管理,并说明具体实施过程以及应用效果。

    3. 软件系统架构评估及其应用

    对于软件系统,尤其是大规模复杂软件系统而言,软件系统架构对于确保最终系统的质量具有十分重要的意义。在系统架构设计结束后,为保证架构设计的合理性、完整性和针对性,保证系统质量,降低成本及投资风险,需要对设计好的系统架构进行评估。架构评估是软件开发过程中的重要环节。 请围绕“软件系统架构评估及其应用”论题,依次从以下三个方面进行论述。

  52. 概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
  53. 详细阐述有哪些不同的软件系统架构评估方法,并从评估目标、质量属性和评估活动等方面论述其区别。
  54. 详细说明你所参与的软件开发项目中,使用了哪种评估方法,具体实施过程和效果如何。

    基于调查问卷或检查表的方法、基于场景的评估方法、基于度量的评估方法 SAAM、ATAM、CBAM、其它

    4. 论软件设计方法及其应用

    软件设计(SoftwareDesign,SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等,形成软件的具体设计方案。软件设计把许多事物和问题按不同的层次和角度进行抽象,将问题或事物进行模块化分解,以便更容易解决问题。分解得越细,模块数量也就越多,设计者需要考虑模块之间的耦合度。 请围绕“论软件设计方法及其应用”论题,依次从以下三个方面进行论述。

  55. 概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
  56. 详细阐述有哪些不同的软件设计方法,并说明每种方法的适用场景。
  57. 详细说明你所参与的软件开发项目中,使用了哪种软件设计方法,具体实施效果如何。

    结构化方法、面向对象方法

    2018

    1. 论软件开发过程RUP及其应用

    RUP (Rational Unified Process)是IBM公司一款软件开发过程产品,它提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基础进行软件开发。RUP汲取了各种面向对象分析与设计方法的精华,提供了一个普遍的软件过程框架, 可以适应不同的软件系统、应用领域、组织类型和项目规模。 请围绕“论软件开发过程RUP及其应用”论题,依次从以下三个方面进行论述。

  58. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  59. 详细论述软件开发过程产品RUP所包含的4个阶段以及RUP的基本特征。
  60. 结合你所参与管理和开发的软件项目,详细阐述RUP在该项目中的具体实施内容,包括核心工作流的选择、制品的确定、各个阶段之间的演进及迭代计划以及工作流内部结构的规划等。

    4个阶段:初始、细化、构造和移交;4个核心概念:角色、活动、制品和工作流 特点:用例驱动的、以体系结构为中心的、迭代和增量的软件开发过程 9个核心工作流:业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境

    2. 论软件体系结构的演化

    软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后,由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。 请围绕“论软件体系结构的演化”论题,依次从以下三个方面进行论述。

  61. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  62. 软件体系结构的演化是使用系统演化步骤去修改系统,以满足新的需求。简要论述系统演化的6个步骤。
  63. 具体阐述你参与管理和开发的项目是如何基于系统演化的6个步骤完成软件体系结构演化的。

    软件理解、需求变更分析、演化计划、系统重构、系统测试、更新后系统

    3. 论面向服务架构设计及其应用

    面向服务架构(Service-Oriented Architecture, SOA) 是一种应用框架,将日常的业务应用划分为单独的业务功能服务和流程,通过采用良好定义的接口和标准协议将这些服务关联起来。通过实施甚于SOA的系统架构,用户可以构建、部署和整合服务,无需依赖应用程序及其运行平台,从而提高业务流程的灵活性,帮助企业加快发展速度,降低企业开发成本,改善企业业务流程的组织和资产重用。 请围绕“论面向服务架构设计及其应用”论题,依次从以下三个方面进行论述。

  64. 概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。
  65. 说明面向服务架构的主要技术和标准,详细阐述每种技术和标准的具体内容。
  66. 详细说明你所参与的软件系统开发项目中,构建SOA架构时遇到了哪些问题,具体实施效果如何。

    Web服务作为实现SOA中服务的最主要手段。Web服务最基本的协议包括UDDI、WSDL和SOAP。

    4. 论NoSQL数据库技术及其应用

    随着互联网web2.0网站的兴起,传统关系数据库在应对web2.0 网站,特别是超大规模和高并发的web2.0纯动态SNS网站上已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
    NoSQL(Not only SQL )的产生就是为了解决大规模数据集合及多种数据类型带来的挑战,尤其是大数据应用难题。目前NoSQL数据库并没有一个统一的架构,根据其所采用的数据模型可以分为4类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图(Graph)数据库。
    请围绕”NoSQL数据库技术及其应用”论题,依次从以下三个方面进行论述。

  67. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  68. 详细论述常⻅的NoSQL数据库技术及其所包含的主要内容,并说明NoSQL数据库的主要适用场景。
  69. 结合你具体参与管理和开发的实际项目,说明具体采用哪种NoSQL数据库技术,并说明架构设计过程及其应用效果。

    列存储数据库、键值对存储数据库、文档型数据库和图数据库 数据持久层、数据分布层、数据逻辑模型层、接口层

    适用场景:数据模型比较简单、需要灵活性更强的IT系统、对数据库性能要求较高、不需要高度的数据一致性 易扩展、大数据量、灵活的数据模型、高可用

    2017

    1. 论软件架构风格

    软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反应了领域中众多系统所共有的结构和语义特性,井指导如何将各个模块和子系统有效地组织成一个完整的系统。 请围绕”论软件架构风格”论题,依次从以下三个方面进行论述。

  70. 概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。
  71. 软件系统开发中常用的软件架构风格有哪些?详细阐述每种风格的具体含义。
  72. 详细说明你所参与分析和设计的软件系统是采用什么软件架构风格的,并分析采用该架构风格设计的原因。

    数据流体系结构风格(批处理、管道-过滤器)、调用返回体系结构风格(主程序/子程序、面向对象、层次型、客户端/服务器)、以数据为中心的体系结构风格(仓库、黑板)、虚拟机体系结构风格(解释器、规则系统)、独立构件体系结构风格(进程通信、事件系统)

    2. 论软件系统建模方法及其应用

    软件系统建模(Software System Modeling)是软件开发中的重要环节。通过构建软件系统模型可以帮助系统开发人员理解系统、抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模型进行软件的维护和改进。 请围绕”论软件系统建模方法及其应用”论题,依次从以下三个方面进行论述。

  73. 概要叙述你参与的软件系统开发项目以及你所担任的主要工作。
  74. 说明软件系统开发中常用的建模方法有哪几类?阐述每种方法的特点及其适用范围。
  75. 详细说明你所参与的软件系统开发项目中,采用了哪些软件系统建模方法具体实施效果如何。

    结构化、面向对象

    3. 论无服务器架构及其应用

    近年来,随着信息技术的迅猛发展和应用需求的快速更迭,传统的多层企业应用系统架构面临越来越多的挑战,已经难以适应这种变化。在这一背景下,无服务器架构(Serverless Architecture) 逐渐流行,它强调业务逻辑由事件触发,具有短暂的生命周期,运行于无状态的轻量级容器中,并且由第三方代为管理。采用无服务器架构,业务逻辑以功能即服务 (Function As a Service,FAAS) 的方式形成多个相互独立的功能组件,以标准接口的形式向外提供服务;同时,不同功能组件间的逻辑组织代码将存储在通用的基础设施管理平台中,业务代码仅在调用时才激活运行,当响应结束后占用的资源便会释放。 请围绕”无服务器架构及其应用’论题,依次从以下三个方面进行论述。

  76. 概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。
  77. 与传统的企业应用系统相比较,基于无服务器架构的应用系统具有哪些特点,请例举至少3个特点,并进行解释。
  78. 结合你具体参与分析和设计的软件开发项目,描述该软件的架构,说明该架构是如何是如何采用无服务器架构模式的,并说明在采用无服务器架构后软件开发过程中遇到的实际问题和解决方案。

    全托管的计算服务、通用性、自动弹性伸缩、按量计费

    4. 论软件质量保证及其应用

    软件质量保证 (Software Quality Assurance. SQA) 是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,这些活动贯穿于软件生产的整个生命周期。质量保证人员负责质量保证的计划、监督、记录、分析及报告工作,辅助软件开发人员得到高质量的最终产品。 请围绕”软件质量保证及其应用”论题,依次从以下三个方面进行论述。

  79. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  80. 详细论述软件质量保证中常⻅的活动有哪些?阐述每个活动的主要内容
  81. 结合你具体参与管理和开发的实际项目,说明是如何实施软件质量保证的各项活动,说明其实施过程及应用效果。

    SQA审计与评审、SQA报告、处理不符合问题

    2016

    1. 论软件系统架构评估

    对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在⻛险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。 请围绕“论软件系统架构评估”论题,依次从以下3个方面进行论述。

  82. 概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。
  83. 分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。
  84. 详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。

    性能、可靠性、可用性、安全性、可修改性、功能性、可变性、互操作性

    2. 论软件设计模式及其应用

    软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。 项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。 请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。

  85. 概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。
  86. 说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。
  87. 详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。

    (old7.)分为创建型、结构型和行为型三种模式

    3. 论数据访问层设计技术及其应用

    在信息系统的开发与建设中,分层设计是一种常⻅的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常⻅的层次划分模型是将信息系统分为表现层、业务逻辑层和数据访问层。信息系统一般以数据为中心, 数据访问层的设计是系统设计中的重要内容。数据访问层需要针对需求,提供对数据源读写的访问接口;在保障性能的前提下,数据访问层应具有良好的封装性、可移植性,以及数据库无关性。 请围绕“论数据访问层设计技术及其应用”论题,依次从以下三个方面进行论述。

  88. 概要叙述你参与管理和开发的与数据访问层设计有关的软件项目,以及你在其中所担任的主要工作。
  89. 详细论述常⻅的数据访问层设计技术及其所包含的主要内容。
  90. 结合你参与管理和开发的实际项目,具体说明采用了哪种数据访问层设计技术,并叙述具体实施过程以及应用效果。

    5种数据访问模式:在线访问、DataAccess Object、Data Transfer Object、离线数据模式、对象/关系映射(Object/Relation Mapping, O/R Mapping)

    4. 论微服务架构及其应用

    近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice Architecture Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。 请围绕“论微服务架构及其应用”论题,依次从以下三个方面进行论述。

  91. 概要叙述你参与管理和开发的、采用微服务架构的软件开发项目及在其中所担任的主要工作。
  92. 与单块架构相比较,微服务架构有哪些特点?请列举至少4个特点并进行说明。
  93. 结合你参与管理和开发的软件开发项目,描述该软件的架构,说明该架构是如何采用微服务架构模式的,并说明在采用微服务架构后,在软件开发过程中遇到的实际问题和解决方案。

    (15.8.4)复杂应用解耦、独立、技术选型灵活、容错、松耦合,易扩展

    2015

    1. 论应用服务器基础软件应用

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

  94. 概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。
  95. 论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能?
  96. 详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。

    CORBA、COM+、J2EE、Web Service

    2. 论软件系统架构⻛格系统

    架构⻛格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构⻛格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构⻛格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构⻛格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。 请以“软件系统架构⻛格”论题,依次从以下三个方面进行论述:

  97. 概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。
  98. 分析软件系统开发中常用的软件系统架构⻛格有哪些?详细阐述每种⻛格的具体含义。
  99. 详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构⻛格, 具体实施效果如何

    数据流体系结构风格(批处理、管道-过滤器)、调用返回体系结构风格(主程序/子程序、面向对象、层次型、客户端/服务器)、以数据为中心的体系结构风格(仓库、黑板)、虚拟机体系结构风格(解释器、规则系统)、独立构件体系结构风格(进程通信、事件系统)

    3. 论面向服务的架构及其应用

    面向服务的架构(Service-Oriented Architecture,SOA)是一种组件模型,把应用程序中的不同功能单元(即服务)通过这些服务之间定义良好的接口和契约联系起来,使得这些系统中的服务能够以一种统一和通用的方式进行交互。从应用⻆度看,SOA是一种应用框架,它关注企业日常的业务应用,将其划分为单独的业务功能和流程,并抽象为服务,用户和系统开发人员可以构建、部署和整合这些服务,无需依赖特定的应用程序及应用平台,从而提高企业业务流程的灵活性。 SOA有助于实现更多的信息资产重用、更轻松地管理和更快地应用开发与部署。 请以“面向服务的架构及其应用”为题,依次从以下三个方面进行论述:

  100. 概要叙述你参与实施的、基于面向服务架构的软件开发项目以及所担任的主要工作。
  101. 指出SOA技术参考架构中都包含哪些服务类别,并对每类服务的定义和作用进行简要说明。
  102. 详细阐述你的项目是如何以面向服务的架构为指导进行实施的,在实施过程中遇到了哪些问题,是如何解决的。

    6大类:业务逻辑服务、控制服务、连接服务、业务创新和优化服务、开发服务、IT服务管理

    4. 论企业集成平台的技术与应用

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

  103. 概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。
  104. 简要说明企业集成平台的基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。
  105. 结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。

    基本功能:通信服务、信息集成服务、应用集成服务、二次开发工具、平台运行管理工具 关键技术:数据交换格式(EDI,XML,STEP,PDML)、分页式应用集成基础框架(CORBA,COM+,J2EE,Web Service)

    2014

    1. 论软件需求管理

    软件需求管理是一个对系统需求变更了解和控制的过程。需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴。 需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,其目标是为项目管理人员建立一个软件需求基线,并保持软件计划、产品和活动与软件需求的一致性。 请围绕“软件需求管理”论题,依次从以下三个方面进行论述。

  106. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  107. 详细描述需求管理过程中各个活动中的主要工作。
  108. 详细说明你所参与的软件开发项目中,是如何进行软件需求管理的,实施的具体效果如何。

    变更控制、版本控制、需求跟踪、需求状态跟踪

    2 论非功能性需求对企业应用架构设计的影响

    企业应用架构(Enterprise Application Architecture)描述了企业IT系统的功能和技术实现内容,它在企业信息化建设中起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各IT系统的定位和功能。企业应用架构包括了企业的应用架构蓝图、架构标准、系统的边界和定义、系统间的关联关系等。其中非功能性需求是进行企业应用架构设计时需要重点考虑的因素,不同类型的非功能性需求从不同侧面影响应用系统的架构设计。 请围绕“非功能性需求对企业应用架构设计的影响”论题,依次从以下三个方面进行论述。

  109. 概要叙述你参与分析和开发的企业应用系统项目以及你所担任的主要工作。
  110. 分析在企业应用架构设计中应该考虑哪些非功能性需求,详细阐述这些非功能性需求是如何影响架构设计的。
  111. 详细说明你所参与的企业应用系统项目中,在进行系统架构设计时,考虑了哪些非功能性需求,如何通过架构设计满足了系统的这些非功能性需求。

    非功能性特性是没有给业务带来直接业务价值,但通常又是必不可少的特性,比如高可用能力、容灾能力、安全特性、可运维性、易用性、可测试性、灰度发布能力等。

    3 论软件的可靠性设计

    现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性域有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计的概念。可靠性设计就是在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户的功能和性能需求的同时,全面满足软件的可靠性要求。
    请围绕“软件的可靠性设计”论题,依次从以下三个方面进行论述。

  112. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  113. 简要说明目前比较主流的软件可靠性设计技术,结合项目实际情况,阐述所选择的可靠性设计技术及其原因。
  114. 结合你具体参与管理和开发的实际项目,举例说明所选取的软件可靠性技术的具体实施过程,并详细分析实施效果。

    软件可靠性设计技术:容错设计技术(恢复块设计、N版本程序设计、冗余设计)、检错技术、降低复杂度设计、系统配置技术(双机热备技术和服务器集群技术)

    4 论网络安全体系设计

    随着社会信息化的普及,计算机网络已经在各行各业得到了广泛的应用。目前, 绝大多数业务处理几乎完全依赖计算机和网络执行,各种重要数据如政府文件、工资档案、财务账目和人事档案等均依赖计算机和网络进行存储与传输。另一方面,针对计算机和网络的攻击活动日益猖獗,网络安全已经成为当前社会的主要安全问题之一。 在上述背景下,国家标准《信息处理系统工程开放系统互联基本参考模型——第二部分:安全体系结构》(GB/T9387.2—1995)定义了基于OSI参考模型7层协议之上的信息安全体系,其核心内容是:为了保证异构计算机进程与进程之间远距离交换信息的安全,定义了认证服务、访问控制服务、数据机密性服务、数据完整性服务和抗抵赖性服务等5大类安全服务,以及提供这些服务的8类安全机制及相应的OSI安全管理,并根据具体系统适当配置于OSI模型的7层协议之中。 请围绕“网络安全体系设计”论题,依次从以下三个方面进行论述。

  115. 概要叙述你参与管理和开发的软件项目以及你在其中承担的主要工作,并详细阐述该软件系统在网络安全方面的要求。
  116. 请对GB/T 9387.2—1995中定义的5大类安全服务进行描述,阐述每类安全服务的定义和主要实现手段。
  117. 请结合项目实际,具体阐述你在项目中实现了上述5大类安全服务中的哪些服务,具体运用了哪些实现手段。

    鉴别、访问控制、数据机密性、数据完整性和抗抵赖性

    2013

    1. 软件架构建模技术与应用

    软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。
    Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。
    请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。

  118. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  119. 简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
  120. 说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

    架构模型:结构模型、框架模型、动态模型和过程模型。
    “4+1”视图模型:用例视图、逻辑视图、进程视图、部署视图、实现视图
    建模工具:

    2. 企业应用系统的分层架构⻛格

    软件架构⻛格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常⻅的软件架构⻛格,能够有效简化设计,使得设计的系统结构清晰,便于提高复用能力和产品维护能力。 由于大量企业应用系统都由界面呈现、业务逻辑、数据存储三类功能构成,因此广泛采用分层架构⻛格进行系统设计。 请围绕“企业应用系统的分层架构⻛格”论题,依次从以下三个方面进行论述。

  121. 概要叙述你参与管理和开发的企业应用系统建设项目以及你在其中所承担的主要工作。
  122. 请结合项目实际情况,指出应用系统都有哪些层次以及每个层次的主要功能。
  123. 请结合项目实际情况,指出设计每个层次时需要注意的问题及相应的解决方案。

    通用层、部分通用层和专用层。

    3. 论软件可靠性设计技术的应用

    随着软件的日益普及,系统中软件成分不断增加,使得系统对软件的依赖越来越强。软件的可靠性对系统可靠性的影响越来越大。而实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设汁阶段采取措施进行可靠性控制,为此提出了软件可靠性设计的概念。 软件可靠性设计就是在常规的软件设计中,应用各种方法和技术,使软件设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。软件可靠性设计应和软件的常规设计紧密结合,贯穿于软件设计过程的始终。 请围绕“论软件可靠性设计技术的应用”论题,依次从以下三个方面进行论述。

  124. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  125. 结合项目实际,论述你在项目开发过程中,进行软件可靠性设计时遵循的基本原则;论述你在该项目中所采用的具体可靠性设计技术。
  126. 阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

    软件可靠性设计原则:在软件的总体设计框架中使用、以提高和保障可靠性为最终目标、排在功能度用户需求和开发费用之后 软件可靠性设计技术:容错设计技术(恢复块设计、N版本程序设计、冗余设计)、检错技术、降低复杂度设计、系统配置技术(双机热备技术和服务器集群技术) 选择可靠性模型、收集可靠性数据、可靠性评估和预测

    4. 论分布式存储系统架构设计

    分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。 请围绕“论分布式存储系统架构设计”论题,依次从以下三个方面进行论述。

  127. 概要叙述你参与分析和开发的分布式存储系统项目以及你所承担的主要工作。
  128. 简要说明在分布式存储系统架构设计中所使用的分布式存储技术及其实现机制,详细叙述你在具体项目中选用了哪种分布式存储技术,说明其原因和实施效果。
  129. 冗余是提高分布式存储系统可靠性的主要方法,通常在分布式存储系统设计中可采用哪些冗余技术来提升系统的可靠性?你在具体项目中选用了哪种冗余技术?说明其原因和实施效果。

    双机热备技术和服务器集群技术

    2012

    1. 论基于架构的软件设计方法及应用

    基于架构的软件设计(Architecture-Based Software Design, ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下, 递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构⻛格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或⻓生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。

  130. 概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。
  131. 结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动?
  132. 阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。

    体系结构需求、设计、文档化、复审、实现和演化6个子过程

    2. 论企业应用系统的数据持久层架构设计

    数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架, 这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失多层结构的天然优势,继承延续应用系统架构的可伸缩性和可扩展性。当运用关系型数据库作为 数据存储机制时,在业务层与数据源间加入数据持久层,能够解决对象与关系的“阻抗 不匹配”问题,将对象的状态持久化存储到关系型数据库中。 请围绕“企业应用系统的数据持久层架构设计”论题,依次从以下三方面进行论述。

  133. 概要叙述你参与分析和设计的企业应用系统开发项目以及你所担任的主要工作。
  134. 分析在企业应用系统的数据持久层架构设计中有哪些数据访问模式,并详细阐述每种数据访问模式的主要内容。
  135. 数据持久层架构设计的好坏决定着应用程序性能的优劣,请结合实际说明在数据持久层架构设计中需要考虑哪些问题。

    在线访问、DataAccess Object、Data Transfer Object、离线数据模式、对象/关系映射(Object/Relation Mapping, O/R Mapping) 封装性和可维护性

    3. 论决策支持系统的开发与应用

    决策支持系统(Decision Support Systems,DSS)是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、仿真技术和信息技术为手段,以人机交互方式进行半结构化和非结构化决策的信息系统。它调用各种信息资源,并提供各种分析工具,为决策者提供分析问题、建立模型、模拟决策过程和方案的环境, 帮助决策者提高决策水平和质量。决策支持系统在许多领域得到了广泛的应用, 已成为许多行业经营管理中一个不可缺少的现代化支持工具。 请围绕“决策支持系统的开发与应用”论题,依次从以下三个方面进行论述。

  136. 概要叙述你参与管理和开发的决策支持系统项目以及在其中所担任的主要工作。
  137. 简要叙述决策支持系统包含的典型组成部件及对应的基本功能。说明在建立决策支持系统时需解决的一般关键问题。
  138. 说明你所参与管理和开发的决策支持系统的应用场合以及对决策结果的要求, 具体阐述在开发过程中所采用的关键技术、实施过程和实际应用的效果。

    模型库、数据库、人机交互系统/数据库子系统、模型库子系统、对话子系统 数据的重组和确认、数据字典的建立、数据挖掘和智能体、模型建立

    4. 论企业信息化规划的实施与应用

    企业信息化建设是一项⻓期而艰巨的任务,不可能在短时间内完成。信息化规划是企业信息化建设的纲领和向导,是信息系统设计和实施的前提和依据。信息化规划以整个企业的发展目标和战略、企业各部⻔的目标与功能为基础,同时结合行业信息化方面的实践和对信息技术发展趋势的掌握,制定出企业信息化远景、目标和发展战略,从而 达到全面、系统地指导企业信息化建设的目的。 请围绕“企业信息化规划的实施与应用”论题,依次从以下三个方面进行论述。

  139. 概要叙述你参与的企业信息化规划项目以及你在其中所担任的主要工作。
  140. 简要叙述企业信息化规划的主要内容。结合你参与的项目的实际情况,详细分析有关企业的信息化规划目标及规划的具体内容。
  141. 说明你所参与实施的企业信息化规划的步骤及效果,介绍其是否达到了预期的目标并分析原因。

    企业战略的层面、业务运作层面、管理运作层面 业务流程重构方法、核心业务应用方法、信息系统建设方法、主题数据库方法、资源管理方法、人力资本投资方法

    2011

    1. 论模型驱动架构在系统开发中的应用

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

  142. 简要叙述你参与管理和开发的、与MDA相关的软件开发项目以及你所担任的主要工作。
  143. 简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。
  144. 具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。

    企业模型可以为信息化整体解决方案提供对企业公共一致的、规范的表达和描述;建模和基于模型的分析是企业信息化工作的入手点和建立有效的实施途径的基础;建模可以对信息系统规划方案进行预评价;基于模型的工作流执行可以导航和监控各信息系统之间及信息系统与外界的交互。

    2. 论企业集成平台的架构设计

    企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持各种特定领域应用系统的集成。 请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。

  145. 简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。
  146. 请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。
  147. 具体说明所设计的企业集成平台的使用情况,最终实施效果如何。

    基本功能:通信服务、信息集成服务、应用集成服务、二次开发工具、平台运行管理工具 会聚集成、应用集成、数据集成、网络集成

    3. 论企业架构管理与应用

    企业架构管理(Enterprise Architecture Management,EAM)从功能、应用、信息和技术四个层面定义了企业应用系统的结构,并通过业务需求驱动开发过程,为企业应用系统的开发提供标准和指导。EAM将企业的业务和技术需求联系在一起,以管理业务变更为核心,强调业务与技术对⻬,构建一个高内聚、动态的企业应用解决方案。 EAM能够帮助企业识别可以提高运营效率的潜在领域,有助于企业建立从战略到解决方案交付的各种关系,识别技术解决方案中最优的业务成果,能够在业务重组、兼并、收购和其他业务变更计划中为企业最大化地节约成本,降低相关⻛险。 请围绕“企业架构管理与应用”论题,依次从以下三个方面进行论述。

  148. 简要叙述你参与实施的企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件架构管理的动机与期望以及你所承担的实际工作。
  149. 结合项目实际,简要阐述企业架构管理包含哪些方面的内容,每个方面包括哪些主要活动。
  150. 阐述你在实施企业架构管理的过程中都遇到了哪些实际问题,以及解决这些问题的方法和过程。

    软件架构知识管理、软件架构修改管理、软件架构版本管理

    4. 论软件需求获取技术及应用

    软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术, 并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕“需求获取技术及应用”论题,依次从以下三个方面进行论述。

  151. 简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  152. 详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。
  153. 详细论述在你参与分析和开发的软件项目中所采取的需求获取技术以及选取这些技术的原因,并说明需求获取的具体实施步骤。

    用户面谈、需求专题讨论会、问卷调查、现场观察、原型化方法、头脑风暴法

    2010

    1. 论软件的静态演化和动态演化及其应用

    软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(StaticEvolution)和动态演化(DynamicEvolution)是目前软件演化的两种重要类型。 请围绕“软件的静态演化和动态演化及其应用”论题,依次从以下三个方面进行论述。

  154. 概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
  155. 请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常⻅演化技术手段。
  156. 具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程以及实际应用的效果。

    静态演化:设计时、运行前 动态演化:系统运行期间 缓存、服务器集群、数据库读写分离、反向代理和CDN、分布式、NoSQL、业务拆分

    2. 论数据挖掘技术的应用

    随着信息技术的髙速发展,各组织机构积累的数据量急剧增⻓。如何从海量的数据中提取有用的知识成为当务之急。数据挖掘(DataMining)就是为顺应这种需要而发展起来的数据处理技术,是知识发现的关键步骤。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 请围绕“论数据挖掘技术的应用”论题,依次从以下三个方面进行论述。

  157. 概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。
  158. 数据挖掘的主要任务是什么?具体论述你在项目中使用数据挖掘技术所解决的问题。
  159. 数据挖掘的方法主要有哪些?分析并讨论你所选择的数据挖掘方法,简述其具体实现过程和实际应用效果。

    数据挖掘需要完整的、经过清洗的、可信的、可被高效访问的数据,以及声明性的查询(例如SQL)和挖掘接口,还需要可扩展的挖掘算法及大数据计算环境。在TB级别上的可伸缩复杂交互查询技术是目前数据处理的一个重要的开放性研究问题。当前的大数据分析的一个问题是缺乏数据库系统之间的协作,需要研究并实现将声明性查询语言与数据挖掘、数据统计包有机整合在一起的数据分析系统。

    3. 大规模分布式系统缓存设计策略

    大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在缓存服务器中存放一个副本,当该内容下次被访问时,不必建立新的数据请求,而是直接由缓存提供。良好的缓存设计是一个大规模分布式系统能够正常、髙效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统缓存架构。 请围绕“大规模分布式系统缓存设计策略”论题,依次从以下三个方面进行论述。

  160. 概要叙述你参与实施的大规模分布式系统开发项目以及你所担任的主要工作。
  161. 从不同的用途和应用场景考虑,请详细阐述至少两种常⻅的缓存工作模式,并说明每种工作模式的适应场景。
  162. 阐述你在设计大规模分布式系统的缓存机制时遇到了哪些问题,如何解决。

    本地缓存、远程分布式缓存

    4. 论软件可靠性评价

    软件可靠性评价是指选用和建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间的软件失效数据(也可能包含软件生命周期内其 他可靠性数据)进行处理,并评估和预测软件可靠性的过程。 软件可靠性评价是软件可靠性活动的重要组成部分,既可在软件开发过程实施, 也可针对最终软件系统实施。软件可靠性评价的难点在于软件可靠性模型的选择和软件可靠性数据的收集与处理。 请围绕“软件可靠性评价”论题,依次从以下三个方面进行论述。

  163. 简要概述你参与实施的软件开发项目以及你承担的主要工作。
  164. 说明你在项目实施过程中所选择的软件可靠性模型,并论述在软件可靠性模型选择时应该考虑的主要因素。
  165. 收集软件可靠性数据时经常遇到的问题有哪些?简述你收集软件可靠性数据时所遇到的具体问题及解决的方法。

    模型假设的适用性、预测的能力与质量、模型输出值能否满足可靠性评价需求、模型使用的简便性 可靠性数据的规范不统一、数据收集工作的连续性不能保证、缺乏有效的数据收集手段、数据的完整性不能保证、数据质量和准确性不能保证

    2009

    1. 论基于DSSA的软件架构设计与应用

    软件架构设计的一个重要课题是如何解决软件重用问题。特定领域软件架构(Domain Specific Software Architecture, DSSA)是一种有效实现特定领域软件重用的手段。按照Tracz的说法,DSSA就是一个特定的问题领域中由领域模型、参考需求、参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。 DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息。 请围绕“基于DSSA的软件架构设计与应用”论鞞,依次从以下三个方面进行论述。

  166. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
  167. 就你所熟悉的领域,请给出针对该特定领域,在基于DSSA的软件设计开发中所涉及的领域模型、参考需求和参考架构以及相应的支持环境或设施。
  168. 具体阐述你参与管理和开发的项目中使用DSSA的情况,包括领域分析、领域设计和领域实现等活动是如何具体实施的,最终实际效果如何。

    定义领域范围、定义领域特定的元素、定义领域特定的设计和实现需求约束、定义领域模型和体系结构、产生、搜集可重用的产品单元

    2. 论信息系统建模方法

    系统模型在软件开发中扮演着重要的⻆色。可为已有的系统创建模型,以便更好地理解这些系统;也可以针对待开发的系统创建模型,作为记录业务需求或技术设计的方法。模型是建立信息系统的基础。恰当地运用信息系统建模方法,是成功地进行软件开发的一个关键环节。 请围绕“论信息系统建模方法”论题,依次从以下三个方面进行论述。

  169. 概要叙述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。
  170. 论述常⻅的信息系统建模方法的主要内容(包括每种建模方法的核心思想以及所创建的模型)。
  171. 具体阐述你参与管理和开发的项目中选择使用的信息系统建模方法以及选择该方法的原因,给出具体的实施过程和实施效果。

    结构化、原型法、面向对象、面向服务

    3. 论基于REST服务的Web应用系统设计

    REST (REpresentational State Transfer)是指从几种基于网络的架构⻛格衍生出来的一种混合架构⻛格,它是目前互联网的核心架构⻛格。基于REST服务(RESTfUl Service) 的Web应用系统设计任务主要包括:识别并设计REST⻛格的服务,采用面向服务的思想进行REST服务集成。采用这种方法设计的Web应用系统能够结合REST⻛格和面向服务思想的优点,近年来受到了广泛的关注。 请围绕“基于REST服务的Web应用系统设计”论题,依次从以下三个方面进行论述。

  172. 概要叙述你参与实施的Web应用系统开发项目以及你所承担的主要工作。
  173. 简要叙述与传统的Web服务相比,采用REST服务构建的Web应用具有哪些优势和不足。
  174. 阐述你在设计基于REST服务的Web应用系统时遇到了哪些问题,如何解决。

    以资源为中心构建、用表述描述资源在Web中某一个时间的状态、定义中状态分为两种:应用状态和资源状态、超链接

    4. 软件可靠性设计与应用

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

  175. 概要叙述你参与实施的软件开发项目以及你所承担的主要工作。
  176. 简要叙述影响软件可靠性的因素有哪些。
  177. 阐述常用的软件可靠性设计技术以及你如何应用到实际项目中,效果如何。

    运行剖面(环境)、软件规模、软件内部结构、软件的开发方法和开发环境、软件的可靠性投入 软件可靠性设计技术:容错设计技术(恢复块设计、N版本程序设计、冗余设计)、检错技术、降低复杂度设计、系统配置技术(双机热备技术和服务器集群技术)