系统体系结构用于描述系统各部分的结构,接口以及用于通信的机制,包括软件系统体系结构模型和硬件系统体系结构模型。而软件体系结构模型对系统的用例,类,对象,接口以及相互之间的交互和协作进行描述;硬件系统体系结构模型对系统的组件、结点、的配置进行描述。用UML中的组件图和配置图(部署图)来建模。

组件图:

  1,组件分类:在UML中,将组件分为源代码组件(编译时组件),二进制代码组件(连接时组件)和可执行代码组件(运行时组件):

   a,源代码组件是在软件开发过程中产生的,是实现一个或多个类的源代码文件,用于产生可执行系统.b,二进制代码组件是源代码组件经过编译后产生的目标代码文件或静态,动态库文件。c,可执行代码组件是系统执行时使用的组件,表示在处理机上运行的可执行单元。

  2,组件接口:通过接口可描述一个组件能够提供的服务的操作集合。接口一般位于2个组件之间,阻断了2个组件之间的依赖关系,使得组件自身具有良好的封装性。UML组件具有输入接口和输出接口。

  3,组件图建模的步骤:

  a,首先分析系统,从系统组成结构,软件复用,物理结点配置,系统归并,组件组成等几个方面寻找并确定组件;  b,接着使用结构型说明组件,并为组件命名,组件的命名应有意义;  c,然后标示组件之间的依赖关系,对于接口应注意的是输出接口还是输入接口;  d,最后进行组件的组织,对于复杂的软件系统,应使用“包”组织组件,形成清晰的结构层次图。

  下边我们以机房收费系统的用户界面组件图为例看一下:

配置图:

  配置图用于硬件系统体系结构建模,主要用于在网络环境下运行的分布式系统或嵌入式系统建模。

配置图主要由节点以及节点之间的关联关系组成,在一个节点内部还可以包含组件和对象。

  看一下步骤:a,根据硬件设备配置(如服务器,工作站,交换机,I/O设备等),和软件体系结构功能(如网络服务器,数据库服务器,应用服务器,客户机等)确定节点;b,确定驻留在节点内的组件和对象,并标明组件之间以及组件内对象之间的依赖关系;c,用构造型注明节点的性质;d,确定节点之间的通信联系;e,对节点进行统一组织和分配,绘制结构清晰并具有层次的配置图。

  我们来画一下机房收费系统的配置图:

综上为软件的体系结构设计,其实就是从宏观上来设计软件,考虑的面大一些。把握的面大一些。

面向对象设计——系统体系结构建模相关推荐

  1. uml 时序图_面向对象设计与统一建模语言UML

    面向对象设计 自从面向对象编程语言在软件开发中成为主流之后,遵循面向对象技术特点的软件设计工作,也一并发展了起来. 首先要提出一个问题,就是设计的工作是要做什么? 它包括的范围其实是很广泛的,从搜集用 ...

  2. 体系建模系统:体系结构建模工具攻略

    体系建模系统软件SpecialModeler一款功能强大的体系结构建模工具,支持DoDAF企业架构框架和IDEF.UML.BPMN等多种建模语言,以基于IDEF的结构化分析为主,兼顾业务流程建模 (B ...

  3. UML建模-面向对象设计

    UML建模系列文章总结 一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case ...

  4. 提高C++性能的编程技术笔记:设计优化/可扩展性/系统体系结构相关+测试代码

    1. 设计优化 我们可以粗略地将性能优化分为两种类型:编码优化和设计优化.编码优化定义为不需要完整理解要解决的问题或者应用程序的执行流程就能实施的优化.通过定义看出,编码优化用于局部代码,同时该过程不 ...

  5. 软件工程 期末大作业参考 【餐厅点餐系统 】(面向对象模型:需求分析+面向对象设计书+可行性分析+测试文档+java界面)

    软件工程大作业(餐厅管理系统)参考:需求分析+面向对象设计书+可行性分析+测试文档+JAVA项目 一.需求分析部分截图 二.面向对象设计书部分截图 三.可行性分析部分截图 四.测试文档部分截图 本文主 ...

  6. (软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用

    文章目录 一:启发规则 (1)设计结果应该清晰易懂 (2)一般一特殊结构的深度适当 (3)设计简单的类 (4)使用简单的协议 (5)使用简单的服务 (6)把设计变动减至最小 二:软件重用 (1)概述 ...

  7. 软件设计与体系结构(第二版)部分习题

    第一章:软件工程与软件设计 1.叙述软件工程中可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性和可追踪性等概念的含义,并指明这些概念的重要性 可修改性(modifiabili ...

  8. 面向对象嵌入式系统开发笔记1

    第一章 面向对象与UML建模 1.1 面向对象思想及其应用简介 计算机技术发展,设计问题空间广阔,程序语言无法担任描述问题的重任,解决问题的关键不再是如何构建系统,而是如何理解系统问题的本质和如何准确 ...

  9. uml图中的各种箭头_设计模式学习笔记(二):UML与面向对象设计原则

    1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6 ...

最新文章

  1. 随堂练习--找水王2
  2. 看C++文档的小知识
  3. [VSTO系列]三、简单的UI设计/QQ联系人导出(下)
  4. Eclipse常用快捷键常用技巧
  5. python答题系统的代码_答题辅助python代码实现
  6. 前端学习(3013):vue+element今日头条管理--表单验证基本使用
  7. Java_写出java MyJava abc cde efg 运行的结果(向main()方法中传参)
  8. 微信公众号、微信小程序的详细介绍
  9. Linux基础知识介绍
  10. CSS W3C 统一验证工具和压缩
  11. python做文本情感分析——某APP内评论内容作样本
  12. python基础-文本对齐(居中,左对齐,右对齐)
  13. Lens shading
  14. Android 仿微信语音聊天,正式加入字节跳动
  15. 保弘实业|理财要有合理的计划
  16. RabbitMq消息队列进一步认识
  17. 【系统设计】系统设计基础:速率限制器
  18. 在线html编辑器 富文本转为html代码
  19. openldap备份脚本
  20. 无聊猿宇宙之风进军国内市场会卷起巨浪吗?

热门文章

  1. 放弃“一阳指”,改练“六脉神剑”的OPPO何时能“后发先至”?
  2. C# listView 增 改 删 查
  3. linux find 排除目录,linux find命令忽略目录的查找方法
  4. linux find命令忽略权限不够的目录
  5. macvimrc位置_macvim的配置
  6. 深扒EOSDice被攻击事件始末, TA是如何把游戏体验搞臭的?
  7. 【路径规划】粒子群算法机器人避障路径规划【含GUI Matlab源码 923期】
  8. 2015年最具潜力的十大微信公众号
  9. JS实现前进后退刷新的各种方法
  10. IOS OpenGL ES GPUImage 色彩减淡混合 GPUImageColorDodgeBlendFilter