Chapter 3 案例分析: THE NEXTGEN POS SYSTEM
Chapter 3 案例分析: THE NEXTGEN POS SYSTEM
需求概述 口POS系统是一个信息系统应用,用于(部分地)记 录销售信息,处理支付过程。 范围: ■硬件 口计算机 口扫描器 软件系统 外部系统接口 口第三方税金计算器 口库存控制系统
需求概述 POS系统是一个信息系统应用,用于(部分地)记 录销售信息,处理支付过程。 范围 : ◼ 硬件 计算机 扫描器 ◼ 软件系统 ◼ 外部系统接口 第三方税金计算器 库存控制系统
软件系统目标 口顾客能够快速支付货款 口快速精确的销售分析 口自动库存控制
软件系统目标 顾客能够快速支付货款 快速精确的销售分析 自动库存控制
非功能需求 容错( Fault+ tolerant 口支持不同类型的客户端 Thin client web browser Rich client application 口可扩展 能够灵活地添加新的业务规则
非功能需求 容错(Fault-tolerant) 支持不同类型的客户端 ◼ Thin client web browser ◼ Rich client application 可扩展 ◼ 能够灵活地添加新的业务规则
分层体系结构 The Fo0 Store 回区 Clarity minor focus Interface explore how to connect to Enter lem And so on. other layers application primary focus of case study ogic and Sale Payment domain object xplore how to layer secondary focus technical services layer Log PersistenceFacade explore how to desig
分层体系结构
分层 口为什么要分层 口企业级应用中的层次 口三个主要层次 口如何部署各层
分层 为什么要分层 企业级应用中的层次 三个主要层次 如何部署各层
为什么要分层 口分层是处理复杂性的有效手段 复杂性和分布性是目前应用系统的特征 口每一层都可以被单独理解,无需对其他部分做深入研究 口每一层都可以被实现了同样功能的其他实现所替代 建立在标准化机制上 口层次之间具有单向的依赖关系,高层使用底层的资源,高 层的改动不影响底层的改动
为什么要分层 分层是处理复杂性的有效手段 ◼ 复杂性和分布性是目前应用系统的特征 每一层都可以被单独理解,无需对其他部分做深入研究。 每一层都可以被实现了同样功能的其他实现所替代。 ◼ 建立在标准化机制上 层次之间具有单向的依赖关系,高层使用底层的资源,高 层的改动不影响底层的改动
分层的缺点 口分层可以封装部分信息,但并不是所有的信息 例如:在业务层增加一个信息字段 口分层过多的一个广为人知的缺点是:可能会影响 性能 口分层和体系结构的关系 分层是体系结构的一种,并不是所有的系统都是以分 层的方式构造的
分层的缺点 分层可以封装部分信息,但并不是所有的信息 ◼ 例如:在业务层增加一个信息字段 分层过多的一个广为人知的缺点是:可能会影响 性能。 分层和体系结构的关系 ◼ 分层是体系结构的一种,并不是所有的系统都是以分 层的方式构造的
企业信息系统中层次的演化 口早期的系统没有分层的概念 口分层始于90年代的 client- server系统 为对于数据密集型的应用(Data- intensive applications)设计一套UⅠ控件,这些控件通过诸如 SQL文之类的参数与数据绑定。 问题:业务逻辑和UI直接绑定。随着领域逻辑复杂程 度的提高,代码将变得越来越难以演化。 口在c|ent- server广为流行的同时,面向对象技术 也开始进入主流。面向对象对如何处理业务逻辑 给出了自己的方法:引入了第三层:业务逻辑层
企业信息系统中层次的演化 早期的系统没有分层的概念 分层始于90年代的client-server系统 ◼ 为对于数据密集型的应用(Data-intensive applications)设计一套UI控件,这些控件通过诸如 SQL文之类的参数与数据绑定。 ◼ 问题:业务逻辑和UI直接绑定。随着领域逻辑复杂程 度的提高,代码将变得越来越难以演化。 在client-server广为流行的同时,面向对象技术 也开始进入主流。面向对象对如何处理业务逻辑 给出了自己的方法:引入了第三层:业务逻辑层
分层的体系结构 口一个典型的面向对象信息系统通常设计成以下几 个层或子系统 用户界面( User Interface 应用逻辑或领域对象( Application Logic and Domain Ob jects 数据/技术服务( Technica| Services) 口应用逻辑或领域对象层是本课程主要关心的内容 技术服务层其次,而很少涉及用户界面
分层的体系结构 一个典型的面向对象信息系统通常设计成以下几 个层或子系统 ◼ 用户界面(User Interface) ◼ 应用逻辑或领域对象(Application Logic and Domain Objects) ◼ 数据/技术服务(Technical Services) 应用逻辑或领域对象层是本课程主要关心的内容, 技术服务层其次,而很少涉及用户界面