软件工程软件工程软件工程 (53).pdf

上传人:刘静 文档编号:52870034 上传时间:2022-10-24 格式:PDF 页数:18 大小:3.53MB
返回 下载 相关 举报
软件工程软件工程软件工程 (53).pdf_第1页
第1页 / 共18页
软件工程软件工程软件工程 (53).pdf_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《软件工程软件工程软件工程 (53).pdf》由会员分享,可在线阅读,更多相关《软件工程软件工程软件工程 (53).pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件体系结构风格(二软件体系结构风格(二)层次结构 层次结构 A:Subsystem B:Subsystem C:Subsystem D:Subsystem E:Subsystem F:Subsystem G:Subsystem Layer 1 Layer 2 Layer 3 示例示例1:安卓操作系统层次结构 安卓操作系统层次结构 应用层:运行在虚拟机上的Java应用程序。应用框架层:支持第三方开发者之间的交互,使其能够通过抽象方式访问所开发的应用程序需要的关键资源。系统运行库层:为开发者和类似终端设备拥有者提供需要的核心功能。Linux内核层:提供启动和管理硬件以及Android应用程序的最

2、基本的软件。示例示例2:网络分层模型网络分层模型 Application Presentation Session Transport Network Data Physical Application Presentation Session Transport Network Data Physical Network Data Physical Network Data Physical 子网内部协议 通讯子网 转接节点 转接节点 报文流 报文流 报文流 网络协议 链路协议 物理协议 分组流 帧流 比特流 客户机服务器结构 客户机服务器结构 客户机服务器体系结构(Client/Serve

3、r)是一种分布式系统模型,作为服务器的子系统为其他客户机的子系统提供服务,作为客户机的子系统负责与用户的交互。客户机 数据库服务器 两层C/S 客户机 应用服务器 数据库服务器 三层C/S 客户机 Web服务器 应用服务器 数据库服务器 多层C/S 两层两层C/S结构结构 胖客户端模型:服务器只负责数据的管理 客户机实现应用逻辑和用户的交互 输入数据 请求按钮 表示层 业务处理请求和输入数据 业务处理开始 数据存取请求 业务处理结束 业务处理程序 输出数据 全部处理结束 数据层 DBMS 执行 SQL请求开始 SQL请求结束 数据操作请求 数据操作结果 业务处理开始 数据存取请求 业务处理结束

4、 数据存取程序 客户机 服务器 胖客户端与瘦客户端 胖客户端与瘦客户端 业务逻辑的划分比重:在客户端多一些还是在服务器端多一些?胖客户端:客户端执行大部分的数据处理操作 瘦客户端:客户端具有很少或没有业务逻辑 三层三层C/S结构 结构 表示层:包括所有与客户机交互的边界对象,如窗口、表单、网页等。功能层(业务逻辑层):包括所有的控制和实体对象,实现应用程序的处理逻辑和规则。数据层:实现对数据库的存储、查询和更新。三层三层C/S结构 结构 表示层:包括所有与客户机交互的边界对象,如窗口、表单、网页等。功能层(业务逻辑层):包括所有的控制和实体对象,实现应用程序的处理逻辑和规则。数据层:实现对数据

5、库的存储、查询和更新。业务处理请求和输入数据 输入数据 请求按钮 表示层 输出数据 全部处理结束 数据层 DBMS 执行 SQL请求开始 SQL请求结束 数据操作请求 数据操作结果 业务处理开始 数据存取请求 业务处理结束 业务处理程序 业务处理开始 数据存取请求 业务处理结束 数据存取程序 功能层 B/S结构 结构 浏览器/服务器(Browser/Server)结构是三层C/S风格的一种实现方式。页面 网页脚本 表现层 应用服务器层 数据库访问层 数据库 客户端 表现层 应用层 数据层 浏览器 Web服务器 应用服务器 数据服务器 集群结构 集群结构 集群内各服务器上的内容保持一致(通过冗余

6、提高可靠性与可用性)集群内各服务器上的内容之和构成系统完整的功能/数据(通过分布式提高速度与并发性)MVC结构 结构 客户机服务器结构:许多应用系统的用途都是从数据库中检索数据,并将其显示给用户。在用户更改数据之后,系统再将更新内容存储到数据存储中。因为关键的信息流发生在数据存储和用户界面之间,所以一般倾向于将这两部分捆绑在一起,以减少编码量并提高应用程序性能。MVC结构 结构 思考:纯粹的B/S结构会不会解决这个问题?用户界面仍然需要显式地调用功能层的业务逻辑 仍然难以避免“用户界面的修改业务逻辑的修改”的问题 如何实现模块化,以便可以轻松地单独修改各个部分而不影响其他部分?MVC结构 结构

7、 影响因素:在基于Web的应用程序中,用户界面逻辑的更改往往比业务逻辑频繁。如果将UI代码和业务逻辑组合一起并放在UI中,则每次更改界面都可能引起对业务逻辑的修改。在某些情况下,应用程序以不同的方式显示同一数据。与业务逻辑相比,用户界面代码对设备的依赖性往往更大。设计美观而有效的用户界面与开发复杂业务逻辑需要不同的编程技能。通常,为用户界面创建自动测试比为业务逻辑更难、更耗时。MVC结构 结构 模型-视图-控制器(MVC)结构将应用程序的数据模型、业务逻辑和用户界面分别放在独立构件中,这样对用户界面的修改不会对数据模型/业务逻辑造成太大影响。模型(Model)封装应用程序状态 响应状态查询 应

8、用程序功能 通知视图改变 视图(View)解释模型 模型更新请求 发送用户输入给控制器 允许控制器选择视图 控制器(Controller)定义应用程序行为 用户动作映射成模型更新 选择响应的视图 状态改变 状态查询 通知改变 视图选择 用户请求 方法调用 事件 MVC结构结构 每次请求必须经过“控制器-模型-视图”过程,才能看到最终展现的界面 视图是依赖于模型的 渲染视图在服务端完成,呈现给浏览器的是带有模型的视图页面,性能难优化Controller Model View HTTP请求 MVC结构结构 View Controller Model HTTP请求 AJAX JSON 前端 后端 AJAX JSON REST(REpresentational State Transfer)机制 谢谢大家谢谢大家!THANKS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁