网站首页 > 技术文章 正文
7.1 软件架构的概念
1.软件架构定义
软件架构又称软件体系结构,是系统的一个或多个结构,这些结构包括构件、构件的外部可见属性及其之间的相互关系。架构设计包括数据库设计和软件结构设计,软件结构设计关注构件的结构、属性和交互作用,并通过多种视图全面描述。
2.软件架构设计与生命周期
1)需求分析阶段:
(1)如何将需求模型转化为架构模型。(通过词法分析和经验规则完成)
(2)如何保持可追溯性。(可追溯性通过表格和用例图Map维护)
2)设计阶段:
(1)软件架构模型描述。(构件连接子建模、建模语言ADL、多视图4+1视图、UML图等)
(2)软件架构模型的设计与分析方法。
(3)软件架构设计经验总结与复用。
3)实现阶段:
(1)基于架构的开发过程支持。
(2)寻求架构到实现的途径。
(3)研究基于架构的测试技术。
4)构件组装阶段:
(1)如何支持构件的互联。
(2)消除失配问题。(构件失配、连接件失配、部分和整体失配)
5)部署阶段:
(1)提供高层次的体系结构图描述部署阶段的软硬件模型。
(2)通过架构模型,可以分析部署方案的质量属性,选择合理部署方案。
6)后开发阶段:
(1)动态软件体系结构。
(2)架构的恢复和重建。
3.软件架构的重要性
降低成本、改进质量、按时按需求交付产品的关键因素。
7.2 基于软件架构的开发方法 ABSD
1.ABSD
采用视角和视图描述软件架构、采用用例描述功能需求,采用质量属性场景描述质量需求。
ABSD方法的3个基础:功能分解、通过选择体系结构风格来实现质量和商业需求、软件模板的使用。
2.ABSDM
基于体系结构开发模型6个子过程:
1)体系结构需求
(1)需求获取。(系统的质量目标、系统商业目标、开发人员的商业目标)
(2)标识构件。(生成类图、对类进行分组、将类打包成构件)
(3)需求评审。(是否真实反应用户需求,类分组是否合理,需求获取一标识构件一需求评审之间进行迭代)
2)设计
提出软件体系模型、映射构件、分析构件相互作用、产生体系结构设计评审。
3)文档化
(1)输出体系结构规格说明文档。
(2)输出测试体系结构需求的质量设计说明书。
4)复审
目的是标识潜在风险,及早发现缺陷和错误。
5)实现
分析与设计、构件实现、构件组装、系统测试。
6)演化
需求变化归类 -》制定演化计划 -》构件变动 -》更新构件的相互作用 -》构件组装与测试 -》技术评审。
7.3 软件架构风格
一种描述特定应用领域系统组织结构的惯用模式,定义了一个系统的家族,即一个架构定义、一个词汇表和一组约束。词汇表包含构件、连接件、及一组约束(指导系统如何将这些构件和连接件组合起来)。
1.数据流风格
1)批处理风格
数据整体传递,每一步必须在前一步结束后才能开始。
2)管道过滤器风格
一个步骤的输出是另一个步骤的输入,步骤由过滤器实现。
2.调用返回风格
1)主程序/子程序风格
2)面向对象风格
3)层次结构风格
4)C/S风格
5)B/S风格
3.以数据为中心的风格
1)仓库风格
中央数据处理、每个功能是一个构件。
2)黑板风格
解决复杂非结构化问题,推理、黑板上个全局数据库,黑板系统包括:黑板、知识库、控制模块。
4.虚拟机风格
1)解释器风格
2)基于规则风格
5. 独立构件风格
1)进程通信
2)事件驱动
6. C2风格
通过连接件连接构件,构件之间无连接。
7.4 软件架构复用
1.复用的目的
降低成本、提升质量、提高开发效率、更好的互操作性等。
2.复用的资产和形式
1)复用资产:需求、架构、元素、建模、规划、过程开发、人员、样本系统、缺陷消除、测试等。
2)复用形式:库、包、构件、对象、接口、函数。
3.复用的过程
构建获取可复用资产、管理资源、复用资产。
7.5 特定领域的软件架构 DSSA
1.DSSA特征
领域性、普遍性、抽象性、复用性。
2.基本活动
领域分析、领域设计、领域实现。
3.建立5个基本步
1)定义领域范围。
2)定义领域特定元素。
3)定义领域特定的设计和实现约束。
4)定义领域模型体系结构。
5)产生、搜集可复用的单元。
- 上一篇: 调用返回风格-软件架构师 如何调用返回值
- 下一篇: 为什么工业软件的界面,大多很复古?
猜你喜欢
- 2024-10-12 学习Java软件工程师要具备什么条件 软件工程师需要掌握的技能
- 2024-10-12 轻量级架构-软件架构师 软件轻量化设计
- 2024-10-12 北京婚宴app开发的后台管理系统,婚宴智能化下的浪漫枢纽
- 2024-10-12 全球最流行的微处理器架构——ARM体系结构
- 2024-10-12 面向对象开发(OOD):绘制软件蓝图的艺术
- 2024-10-12 每个程序员都应该知道的计算机体系结构的基础知识
- 2024-10-12 特定领域软件架构-软件架构师 应用软件的特定处理内容包括什么
- 2024-10-12 架构设计与生命周期2-软件架构师 软件架构设计主要应用于软件生存周期的哪个阶段
- 2024-10-12 重新认识DCS!这次从软件的角度告诉你~
- 2024-10-12 一文读懂ARM体系结构的工作模式 arm体系结构有哪几种运行模式
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)