什么是软件系统架构设计

软件架构(software
  architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系
  统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向
  对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
  软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
  软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
  在“软件构架简介”中,David Garlan 和 Mary Shaw
  认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结
构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
  但构架不仅是结构;IEEE Working Group
  on Architecture 把其定义为“系统在其环境中的最高层概念”。构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注
重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
  在Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
  从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管
  理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑
和流程。
  一般而言,软件系统的架构(Architecture)有两个要素:
  它是一个软件系统从整体到部分的最高层次的划分。
  一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
  详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。
  所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和
联结器完成某一项需求。
  建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
  建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN 软件系统架构设计说明书是为了描述一个软件系统的整体架构设计而编写的文档。这份说明书包含了对软件系统架构的各个方面的详细说明,旨在为开发团队提供一个清晰的指南,以便他们能够根据指导文件来开发软件系统。 对于一个软件系统来说,架构设计是非常重要的,它决定了软件系统的结构、组件关系、通信流程等。CSDN 软件系统架构设计说明书首先会明确软件系统的整体目标和需求,并对系统进行整体的分析,以便能够明确系统的核心功能和约束条件。 在设计说明书中,通常会包含以下方面的内容: 1. 概述:简单介绍软件系统的目标、功能、范围等基本信息,包括系统的整体架构思想和目标。 2. 架构视图:以图形或者文字的形式,展示软件系统的整体架构。视图可以包括不同层次的组件、模块、数据库、接口等。 3. 模块设计:说明每个模块的功能、职责和接口约定等。模块设计可以使用流程图、UML 图等方式进行说明。 4. 数据库设计:对系统的数据库进行设计,包括表的结构、字段定义等。同时,需要说明数据库的访问方式和安全性设计。 5. 接口设计:对系统与外部系统或者用户的接口进行设计,包括输入输出的格式、接口的调用方式等。 6. 通信流程:描述各个模块之间的通信流程,包括系统内部的消息传递、API 调用等方式。 7. 性能优化:描述如何提升软件系统的性能和可伸缩性,包括缓存设计、负载均衡策略等。 CSDN 软件系统架构设计说明书的编写需要深入理解软件系统的需求和目标,并能够将其转化为可行的设计方案。这份说明书有助于团队成员之间的交流和合作,提高开发效率,同时也为后续的系统维护和扩展提供了依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值