20181110-软件开发架构2

学习目标
  听<软件架构相关音频>软件开发架构一节 
 
  待解决问题
  构件的概念 ?
  如何表达一个项目的架构,用什么图表?
  架构设计作为一个系统开发的中间产品,交付的是什么内容?
  各种架构风格的适用场景?
互联网应用  BS架构的应用  ra??? 富互联网是什么意思?  
 
  学习内容(耗时:40min)
  架构风格(续)
  • 调用/返回风格
    主程序/子程序 单线程控制,把问题划分为若干个处理步骤,构件极为主程序和自程序,子程序通常可合并为模块.过程调用作为交互机制,即充当连接件的角色,调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性.
数据抽象和面向对象,构件是对象,对象是抽象数据类型的实例.
层次结构,层次结构的构件组织成一个层次结构,连接件通过决定层间如何交互的协议来定义.
  • 独立构件风格

进程通信

事件驱动的系统.

  • 虚拟机风格

解释器

基于规则的系统

  • 仓库风格

数据库系统

黑板系统

超文本系统

分层架构
 
集中式结构是通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序.
优点:多用户环境中,宿主机应用程序既负责与用户的交互,有负责对数据的管理.集中式的系统使用户能共享贵重的硬件设备.
缺点:随着用户的增多,对宿主机能力的要求很高,而且开发人员必须为每个新的应用重新设计同样的数据库管理构件.
 
二层C/S架构(胖客户端,瘦服务器)
客户机/服务器(Client/Server)架构是基于资源不对等,且为共享而提出来的.C/S架构定义了工作站(客户应用程序)如何与服务器相连,以实现数据和应用分布导多台计算机上.服务器负责有效的管理系统的资源,其主要任务集中于对DBMS的管理和控制,以及数据的备份和回复;客户应用程序的主要任务是提供用户与数据库交互的界面,向服务器提交用户请求并接受来自服务器的信息.
胖客户机,瘦服务端
 
优点:
 系统的客户应用程序和服务器构件分运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小.功能构件分离,客户应用程序的开发集中于数据的小时和分析,而服务器的开发则集中于数据的处理,不必再一个新的应用程序中都要对一个DNMX进行编码.将大的应用处理任务分布导许多通过网络连接的低成本计算机上.以节约大量费用.
缺点:
  开发成本较高
客户端程序设计复杂
用户界面不一
软件移植困难
软件维护和升级困难
新技术不能轻易应用
可扩展性差(最重要)
     系统安全性无法保证.
 
三层C/S架构
一般处理流程
表示层 系统的用户接口部分 担负着用户与系统之间的对话功能
 
功能层 业务逻辑层,是将具体的业务处理逻辑编入程序中.
 
数据层 相当于二层C/S架构中的服务器,负责对DBMS的管理和控制,
 
物理部署的方式
 
功能层可与客户机同个服务器
 
优点:允许合理的划分三层的功能,使之再逻辑上保持相对独立性;允许更灵活,有效的选用相应的平台和硬件系统;系统的各层可以并行开发;为严格的安全管理奠定了坚实的基础.
缺点:通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能.设计时应考虑三层间的通信方法,通信频度和数据量.
 
 
三层B/S架构的方式 是三层C/S架构的一种实现方式
浏览器/Web服务器/数据库服务器
是一种全新的软件架构
 
混合架构--》查询采用BS 修改采用CS 内外有别模型 企业内部 采用C/S架构 企业外部采用 B/S架构
客户端 web服务器 应用服务器 数据库服务器
混合架构 实现困难 成本高
 
互联网应用的发展历史
大型机--集中式结构
92年-二层
98年-三层结构/BS
2004年-互联网应用  BS架构的应用  ra??? 富互联网
 

猜你喜欢

转载自www.cnblogs.com/lin888/p/9940946.html