登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
架构设计的本质:系统与子系统、模块与组件、框架与架构.docx
文档分类:
IT计算机
|
页数:约15页
举报非法文档有奖
分享到:
1
/
15
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
15
下载此文档
文档列表
文档介绍
架构设计的本质:系统与子系统、模块与组件、框架与架构.docx
架构设计的本质:系统与子系统、模块与组件、框架与架构
- 前言 -
在软件研发这个领域,程序员的终极目标都是想成为一名合格的架构师。然而梦想很美好,但现实却很曲折。
在实际工一种新的软件方法而已。
5、软件架构的产生
与之前的各种新方法或者新理念不同的是,“软件架构”出现的背景并不是整个行业都面临类似相同的问题,“软件架构”也不是为了解决新的软件危机而产生的,这是怎么回事呢?
随着软件系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题。当系统由许多部分组成时,整个系统的组织,也就是所说的“软件架构”,产生了一系列新的设计问题。比如:
系统规模庞大,内部耦合严重,开发效率低;
系统耦合严重,牵一发动全身,后续修改和扩展困难;
系统逻辑复杂,容易出问题,出问题后很难排查和修复;
“软件架构”的出现有其历史必然性。第一次软件危机引出了“结构化编程”,创造了“模块”概念;第二次软件危机引出了“面向对象编程”,创造了“对象”概念;直到“软件架构”的产生,创造了“组件”概念。
“模块”、“对象”和“组件”本质上都是对达到一定规模的软件进行拆分,差别只是在于随着软件的复杂度不断增加,拆分的粒度越来越粗,拆分的层次越来越高。
- 架构指什么 -
对于技术人员来说,“架构”是一个再常见不过的词了。当提起“架构”这个词时,如果去深究一下:“架构”到底指什么?大部分人也许并不一定能够准确地回答。1000个人心中可能有1001种架构的含义。
那么如何才能准确的理解架构呢?理解架构首先理解三个有关系而又相似的概念,包括:系统与子系统、模块与组件、框架与架构。
1、系统与子系统
关于“系统”的定义,我们先来看维基百科的定义:
系统泛指由一群 有关联 的个体组成,根据某种 规则运作,能完成 个别元件不能单独完成的工作的群体。它的意思是“总体”、“整体”或“联盟”。
来提炼下里面的关键信息:
关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统,例如:把一个发动机和一台PC放在一起不能称之为一个系统,把发动机、底盘、轮胎、车架组合起来才能成为一台汽车。
规则:系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统内个体分工和协作的方式。例如:汽车发动机负责产生动力,然后通过变速器和传动轴,将动力输出到轮胎上,从而驱动汽车前进。
能力:系统能力和个体能力有本质的差别,系统能力也不是个体能力之和,而是产生了新的能力。例如:汽车能够载重前进,而发动机、变速器、传动轴、车轮本
身都不具备这样的能力。
再来看下子系统的定义:
子系统也是由一群有关联的个体所组成的系统,多半会是更大系统中的一部分。
其实子系统和系统的定义是一样的,只是观察的角度有差异,一个系统可能是另外一个更大系统的子系统。
按照这个定义,系统和子系统比较容易理解。以微信为例来做一个分析:
微信本身是一个系统,包含聊天、登录、支付、朋友圈等子系统;
朋友圈这个系统又包括动态、评论、点赞等子系统;
评论这个系统可能又包括防刷子系统、审核子系统、发布子系统、存储子系统等;
评论审核子系统不再包含业务意义上的子系统,而是包括各个模块或者组件,这些模块或者组件本身也是另外一个维度上的系统,例如:MySQL、Redis等存储系统,但不是业务子系统。
2、模块与组件
从逻辑的角度来拆分系统,得到的单元就是“模块”;从物理的角度来拆分系统,得到的单元就是“组件”。划分模块的主要目的是职责分离;划分组件的主要目的是单元复用。其实,“组件”的英文“component”也可以翻译成中文的“零件”一词,“零件”更容易理解一些,“零件”是一个物理的概念,并且具备“独立且可替换”的特点。
3、框架与架构
单纯从定义的角度来看,框架关注的是“规范”,架构关注的是“结构”。框架的英文是“Framework”,架构的英文是“Architecture”。
我们经常会说,比如:“工程采用的是MVC架构”、“工程使用的是SSH框架”等。所以,第一句话是站在结构的层面来说明,第二句话是站在规范的层面来说明。
同时,如果是以不同的角度来说明结构,会得出不同的架构描述,比如:
从业务逻辑的角度分解,“学生管理系统”的架构:
“学生管理系统”的架构
从物理部署的角度分解,“学生管理系统”的架构:
“学生管理系统”的架构
从开发结构的角度分解,“学生管理系统”的架构:
“学生管理系统”的架构
4、重新定义架构
软件架构指软件
架构设计的本质:系统与子系统、模块与组件、框架与架构 来自淘豆网www.taodocs.com转载请标明出处.
猜你喜欢
2024年小学信息技术工作总结(精选10篇)
29页
2024年小学中年级森林防火倡议书
4页
2024年小升初满分作文大全(15篇)
16页
2024年小区物业年终工作总结合集15篇
52页
2024年尊老爱幼的心得体会(精选5篇)
7页
2024年对学校感谢信范文
13页
2024年寒假社会实践的活动总结15篇
36页
2024年寒假安全保证书(14篇)
20页
2024年家族聚会幽默发言稿(通用12篇)
19页
实用的食堂工作人员的辞职报告3篇(全文共1711..
4页
实用的销售述职范文集合6篇(全文共16393字)
3页
2024年上海海洋大学单招职业适应性测试题库含..
57页
2024年内蒙古北方职业技术学院单招职业适应性..
75页
2024年四川省高职单招职业适应性测试题库及参..
54页
美甲合作协议
3页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
15
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
科技星球
文件大小
:
125 KB
时间
:
2022-03-22
相关标签
系统架构设计方案
系统架构方案
系统架构设计师真题
系统架构设计师论文
系统架构设计说明书
系统架构说明书
系统架构师论文
系统架构师考试论文
框架结构与混凝土结构构造
框架结构构造
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
.NET
windows相关
管理信息系统
软件工程
网络信息安全
网络与通信
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
计算机硬件与维护
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
计算机应用/办公自动化
数据结构与算法
SEO
最近更新
2024年浙江东方职业技术学院单招综合素质考..
2024年甘肃林业职业技术学院单招职业适应性..
2024年郑州理工职业学院单招职业适应性测试..
2024年顺德职业技术学院单招职业适应性测试..
2024年上饶职业技术学院单招职业技能测试题..
2024年六盘水职业技术学院单招职业技能测试..
2024年山西药科职业学院单招综合素质考试题..
车位认筹方案0614(1)
2024年河南林业职业学院单招职业适应性测试..
2024年湖南生物机电职业技术学院单招职业适..
2024年重庆能源职业学院单招综合素质考试题..
上皮资料互动教室用
2023年单独招生考试英语试卷(含答案) (7)
给水泵、引风机汽轮机
初中反比例函数讲解及习题 (2)
2022年陕西职业技术学院单招语文考试试题及..
2024年上海理工大学单招职业技能测试题库及..
2024年天津职业技术师范大学单招综合素质考..
常见外伤的处理ppt课件
精选山水画题款大全(山水画题字落款大全集..
山东省东营市2023年八年级下学期英语期中试..
现代加工技术概况
一年级口语交际教材特点与教学建议
施工现场临时用电安全技术规范(JGJ46-2022)..
关于学前教育专业文化建设的思考
SVS视频分享网
退队入团前家长给孩子的一封信
中国欠发达城市老年公寓开发经营分析
在线
客服
微信
客服
QQ
客服
意见
反馈
手机
查看
返回
顶部