IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 运用五视图方法进行软件架构设计--实战一 -> 正文阅读

[大数据]运用五视图方法进行软件架构设计--实战一

摘要

软件架构是从宏观上说明一套软件系统的组成与特性,包括软件可以提供什么样的功能,软件代码的层次结构,软件的部署与网络结构,软件的数据结构,软件的性能特征。上面说到的几个方面就可以用五视图法来表示。五视图法做架构设计的步骤是逻辑架构->数据架构->开发架构->运行架构->物理架构。

一、????五视图介绍

电脑萤幕 低可信度描述已自动生成


(一)?逻辑架构设计着重考虑功能需求

系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括为实现用户功能而必须提供的辅助功能。逻辑架构的静态方面是抽象职责的划分,动态方面是承担不同职责的逻辑单元之间的交互与协作。

(二)开发架构的设计着重考虑开发期质量属性

关注点是在软件开发环境中软件模块的实际组织方式,具体涉及源程序文件、配置文件、源程序包、编译打包后的目标文件、直接使用的第三方SDK/框架/类库、以及开发的系统将运行于其上的系统软件或中间件。

(三)运行架构的设计着重考虑运行期质量属性

关注点是系统的并发与同步等问题,这势必涉及到进程、线程、对象等运行时概念,以及相关的并发、同步、通信等。运行架构的静态方面关注软件系统运行时的单元结构,动态方面关注运行时单元之间的交互机制。

(四)物理架构的设计着重考虑安装和部署需求

关注点是目标程序及其依赖的运行库和系统软件最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性、持续可用性、性能和安全性等要求。

(五)数据架构的设计着重考虑数据需求

关注点是持久化数据的存储方案,不仅包括实体及实体关系数据存储格式,还可能包括数据传递、数据复制、数据同步等策略。

二、????案例分析

基于五视图法的酒店管理系统架构设计可以确定组成软件系统的程序模块和以程序模块为单位、用层次结构表示的软件结构,以及各模块的功能描述和借口描述。

(一)?逻辑架构设计

系统可划分为三个子系统,采购管理子系统、门店管理子系统和客服管理子系统。

表格 描述已自动生成


子系统都有用户登陆功能块。用户修改信息:指用户可以随时修改自己的信息,特别是用户密码必须经常修改,以防止他人盗用自己的身份操作系统,破坏数据库数据。取回密码:当用户忘了密码时,使用该功能通过简单的回忆获得自己的密码。

图示, 日程表 描述已自动生成

?
门店管理子系统包含五大模块。

表格 中度可信度描述已自动生成


客服管理子系统包括2大功能,分别是:客房预订,会员管理。


(二)?开发架构设计

系统采用三层架构模型进行开发,将系统分成三个部分:数据表现层、业务逻辑层和数据处理层。

图示 描述已自动生成


数据表现层负责用户与系统之间的交互,主要表现在将系统的数据按照用户的业务操作按照一定的规则显示在页面上,利用JSP页面技术来实现。在酒店管理中,数据表现层根据用户类别的不同分别展现不同的用户界面和功能,具体分为门店管理员界面、采购管理员界面、客服管理员界面、客人界面。

业务逻辑层主要完成各个子系统之间的通信和交互,以实现系统的业务功能,在本系统分为门店管理、采购管理和客服管理。

数据处理层主要实现系统的数据和数据库之间的交互,利用JSP和JDBC数据库的处理模块实现。

(三)?运行架构设计

文本, 信件 描述已自动生成


(四)?物理架构设计

图示 描述已自动生成

(五)?数据架构设计

图示 描述已自动生成


三、????总结

不同的架构视图代表不同的人对软件内部结构的不同看法,对于架构视图的选择和架构视图的数目,视实际的需要决定,并没有所有的软件在设计的时候都需要这5个视图,也不是只有这5个视图,能清晰地表达出系统设计的主要内容即为最优。?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:16:31  更:2021-10-26 12:17:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:15:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码