李成笔记网

专注域名、站长SEO知识分享与实战技巧

软考系统分析师知识点十四:软件架构设计

前言

今年报考了11月份的软考高级:系统分析师。

考试时间为:11月9日。

倒计时:23天。

目标:优先应试,其次学习,再次实践。

复习计划第一阶段:扫平基础知识点,仅抽取有用信息,可有缺失,但得过眼。

第十二章:软件架构设计

内容总结

知识点 1:软件架构设计

  • 概念:软件架构是指软件系统的组织结构和拓扑结构,包括构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束。
  • 解释:软件架构旨在解决系统结构和需求向实现过渡的问题,强调系统需求与设计之间的桥梁作用,关注系统的高层抽象,如结构、行为和属性。
  • 细节分项: 软件架构的意义:提供项目干系人交流手段,体现早期设计决策,明确系统实现的约束条件,决定开发和维护组织的组织结构,制约系统的质量属性,使推理和控制更改更简单,有助于循序渐进的原型设计,可作为培训的基础,是可传递和可复用的模型。 软件架构的发展史:从无架构设计阶段到基于构件的软件开发阶段,经历了程序结构设计、对象建模、架构技术等阶段。 软件架构建模:包括结构模型、框架模型、动态模型、过程模型和功能模型,以及“4+1”视图模型(逻辑视图、开发视图、进程视图、物理视图和场景)。

知识点 2:构件与软件复用

  • 概念:构件是功能相对独立的具有可复用价值的软件单元,可复用性指系统或其组成部分在其他系统中重复使用的程度。
  • 解释:构件通过协作的对象类集合提供系统功能,软件复用的形式包括垂直式复用和水平式复用,旨在提高开发效率和质量。
  • 细节分项: 构件标准:包括CORBA、COM/DCOM、EJB等,这些标准解决了异构平台构件间的互操作问题。 构件获取与管理:涉及构件的获取方式(如现有构件、遗留工程、COTS、新开发构件)、组织方法(关键字分类法、刻面分类法、超文本组织方法)和人员及权限管理。 构件复用的方法:包括检索与提取构件、理解与评价构件、修改构件和构件组装技术(基于功能的组装技术、基于数据的组装技术、面向对象的组装技术)。

知识点 3:软件架构风格

  • 概念:软件架构风格是描述特定应用领域中系统组织方式的惯用模式,定义了系统“家族”的架构定义、词汇表和一组约束。
  • 解释:架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。
  • 细节分项: 经典架构风格:包括数据流风格(批处理序列、管道/过滤器)、调用/返回风格(主程序/子程序、数据抽象和面向对象、层次结构)、独立构件风格(进程通信、事件驱动的系统)、虚拟机风格(解释器、基于规则的系统)和仓库风格(数据库系统、黑板系统、超文本系统)。 层次架构风格:涉及二层C/S架构、三层C/S架构和B/S架构,每种架构风格都有其特点和适用场景。

知识点 4:富互联网应用(RIA)

  • 概念:RIA技术提供了比传统HTML更丰富的用户界面和数据模型,允许构建高度互动和局部智能型的客户端应用程序。
  • 解释:RIA结合了C/S架构的快速响应和B/S架构的广泛传播特性,通过异步数据传输和局部数据处理,提高了用户体验。
  • 细节分项: 客户端开发技术:包括Flex、Bindows、Java、Laszlo、XUL和Avalon等平台或工具。 异步JavaScript和XML(AJAX):结合了XHTML、CSS、JavaScript、XMLHttpRequest、DOM和XSLT等技术,实现了无需刷新页面的动态用户界面更新。

知识点 5:面向服务的架构(SOA)

  • 概念:SOA是一种软件设计方法,应用由服务和服务使用者组成,强调构件的松散耦合,并使用独立的标准接口。
  • 解释:SOA通过定义明确的服务接口,实现了服务之间的互操作性和松散耦合,支持跨平台和语言的服务复用。
  • 细节分项: SOA的关键技术:包括UDDI、WSDL、SOAP和REST等,这些技术规范支持服务的发布、查找、描述、绑定和通信。 SOA的实现方法:包括Web Service、服务注册表和企业服务总线(ESB),这些方法提供了实现SOA的具体技术和架构。

知识点 6:软件架构评估

  • 概念:软件架构评估是对软件架构设计的质量属性进行分析和评价的过程。
  • 解释:通过评估可以揭示架构满足特定质量目标的情况,帮助架构设计师识别质量目标之间的联系和权衡。
  • 细节分项: 评估方式:包括基于调查问卷的评估、基于场景的评估和基于度量的评估。 ATAM评估方法:通过一系列步骤,包括描述业务动机、描述架构、生成质量属性效用树、分析架构方法、讨论场景和对场景分级、描述评估结果等,对软件架构进行全面评估。 CBAM评估方法:对架构设计决策的成本和收益进行建模,协助项目干系人根据投资收益率选择架构策略。 SAAM评估方法:通过形成场景、描述架构、对场景分类和确定优先级、对场景进行单个评估、评估场景的相互作用和形成总体评价等步骤,对架构的可修改性和其他质量属性进行快速评估。

知识点 7:软件产品线

  • 概念:软件产品线是一系列具有共同特征集的软件产品的集合,这些特征集满足特定领域的特定需求。
  • 解释:软件产品线通过共享核心资源和架构,实现了软件的大规模定制和复用,提高了开发效率和质量。
  • 细节分项: 产品线的过程模型:包括双生命周期模型、SEI模型和三生命周期模型,这些模型定义了产品线开发的基本活动、内容和结果。 产品线的建立方式:包括将现有产品演化为产品线、用软件产品线替代现有产品集、全新软件产品线的演化和全新软件产品线的开发,这些方式根据企业的不同需求和资源情况进行选择。 产品线的演化:涉及产品线核心资源的演化、产品的演化和产品的版本升级,以适应技术变化和市场需求。

不常见概念

可复用性(Reusability)

  • 概念:可复用性是指系统和(或)其组成部分能在其他系统中重复使用的程度。

垂直式复用和水平式复用

  • 概念:垂直式复用是在一类具有较多公共性的应用领域之间复用软件构件。水平式复用是复用不同应用领域中的软件元素。

构件标准

  • 概念:为了达到复用的目的,构件应当遵循同样的标准以解决异构平台的各构件间的互操作问题。主流构件标准包括CORBA、COM/DCOM、EJB等。

软件架构评估(Software Architecture Evaluation)

  • 概念:软件架构评估可以针对一个架构或一组架构,主要关注系统的质量属性,通过评估可以揭示架构满足特定质量目标的情况。

软件产品线(Software Product Line)

  • 概念:软件产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,满足特定领域的特定需求。

富互联网应用(Rich Internet Application, RIA)

  • 概念:RIA是一个用户接口,它比用HTML实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。

面向服务的架构(Service-Oriented Architecture, SOA)

  • 概念:SOA是一种C/S架构的软件设计方法,应用由服务和服务使用者组成,强调构件的松散耦合,并使用独立的标准接口。

写在最后

以上均为粗看教程的总结,目的不是为了百分之百准确,而是为了过手过脑,有所印象。

但是如有发现谬误,感谢各位随时指出。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言