软件架构设计

本文探讨了软件架构设计的重要性,从需求分析阶段开始,详细阐述了设计、实现、构件组装、部署和后开发阶段的过程。强调了软件架构在降低成本、改进质量和确保系统品质方面的作用,同时介绍了体系结构设计的多视图表示、模型转换、动态软件体系结构以及体系结构恢复与重建等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

从第一个程序被划分成模块开始,软件系统就有了体系结构。
—— Shaw and Garlan

软件架构的概念

软件构件:
一个程序和计算机系统软件的体系结构:是指系统的一个或多个结构。结构即软件的构件,包含构件的外部可见属性和构件间的相互关系。
—— Bass、Clements和Kazman

(体系结构:体,机体/软件体;系,一系列的组成部分,这里体系全指软件;结:联系关系,构:构件)

软件构件可以是简单的程序模块面向对象的类,也可以是数据库、或能够完成客户与服务器网络配置的“中间件”。

软件体系结构设计的两个层次(设计金字塔):数据设计和体系结构设计

数据设计:数据构件和面向对象系统中类的定义(类的属性和操作)
体系结构设计:关注软件构件的结构、属性和交互作用。
体系结构设计即是构件软件的初始蓝图。

软件架构设计及其生命周期

1. 需求分析阶段

本质上,需求和SA面临的是不同的对象:一个是问题空间,另一个是解空间。保持二者的可追踪性和转换,是软件工程领域追求的目标。

从软件需求模型向SA模型转换:
1)如何根据需求模型构建SA模型
2)如何保证模型转换的可追踪性

上述问题的解决方案,随需求模型的不同而各异。
例如,采用User Case图描述需求的方法中,从User Case图向SA模型(包括类图等)的转换一般经过词性分析和一些经验规则来完成,而可追踪行则通过表格或 User Case Map等来维护。

需求分析与SA研究二者的联系:

已有系统的SA模型对新系统的需求工程有很好的借鉴作用;在需求阶段开始对SA研究有助于将SA的概念贯穿整个软件的生命周期,保证软件开发过程中的概念完整性,有利于各阶段参与者的交流,也易于维护各个阶段的可追踪性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值