面向对象业务实现

讲解方面(面向对象软件项目中)

 

除了单独完成目标软件的各个业务类和软件构件以外,面向对象实现的另一个重要工作内容,是实现目标系统的业务功能。

软件业务逻辑实现

是指软件开发人员根据面向对象设计阶段的工作成果,实现用例涉及的业务内容,同时将相关的软件模块进行集成。

在面向对象设计阶段,软件设计人员在面向对象分析的基础上,结合软件架构设计,采用UML顺序图对完成各个业务活动的对象交互过程进行了建模。

在面向对象实现阶段,软件开发人员的工作,就是按照面向对象设计阶段的设计结果以得到的软甲架构,来实现软件设计的各个业务场景。

image-20241117200109815

结合面向对象设计结果可以发现,面向对象实现阶段的内容可以分为构建实现和业务实现两个部分。

image-20241117200640071

构建实现

定义

按照面向对象设计阶段约定的业务规则,“以构建接口为导向”来封装构建的各个组成部分。

因此,在构建实现中,必须按照面向对象设计阶段约定的业务规则。在项目文件准备阶段,软件开发人员已经对构件涉及的内容进行了设计和组织。在构建实现阶段,软件开发人员主要是根据构件的软件架构和工作机制,利用构件项目来封装构件,让构建能够通过指定的接口向外界提供服务和资源。除了集成构建的各个组成部分以外,软件开发人员也可以同步编写构建的测试用例,及时对目标构件开展基于接口的单元测试。在测试过程中,软件开发人员可以排除构件内容与面向对象设计结果的不一致性,确保软件构件能够正确实现约定的构件功能,以及确保构件功能和资源的完整性。当然,软件开发人员也可以采用测试驱动开发,确保完成的构件能够通过各项测试用例,从而验证实现的构件能够从功能和接口上符合设计要求。

image-20241117202635222

主要内容

  1. 技术架构

    • 确定系统使用的技术栈(如编程语言、框架)。

    • 确定系统架构(如分层架构、微服务架构)。

  2. 基础设施

    • 数据库设计:表结构、索引优化。

    • 中间件支持:如消息队列、缓存服务。

    • 安全机制:身份验证、授权管理。

  3. 设计模式

    • 应用常见的面向对象设计模式,如单例模式、工厂模式、代理模式。

  4. 系统非功能性需求

    • 性能优化。

    • 容错机制。

    • 系统扩展性设计。

  5. 接口设计

    • 定义模块之间的接口,提供可复用的公共功能。

    • 如 RESTful API 的定义和实现。

示例

构建实现示例:在线商城的基础设施

 

 

业务实现

定义

软件业务实现是指软件开发人员利用得到的软件架构设计,实现用户要求的业务处理流程。此时,软件开发人员必须按照面向对象设计阶段得到的对象交互设计来实现目标软件涉及的所有业务逻辑,也就是说,“以业务为导向”来实现目标软件的各个业务逻辑。由于不同软件涉及的用户和使用环境不同,不同软件内部的业务逻辑差异较大,因此,相对于以功能封装的软件构件而言,软件业务逻辑的复用程度较低。

image-20241117203656584

主要内容

  1. 业务需求分析

    • 将用户需求转化为具体的功能和逻辑。

    • 定义系统的用例和用户故事。

  2. 业务规则建模

    • 使用类图、活动图、状态图等建模工具描述业务逻辑。

  3. 模块划分与实现

    • 划分功能模块(如用户管理、订单管理)。

    • 实现具体功能,如用户注册、订单支付。

  4. 数据处理

    • 数据校验:如输入格式检查。

    • 业务规则应用:如折扣计算、订单状态流转。

  5. 服务设计

    • 实现面向服务的架构,每个服务处理一类业务逻辑。

    • 如用户服务、订单服务。

示例

业务实现示例:在线商城的功能逻辑

 

构建实现与业务实现的关系

协同作用

分离关注点

区别与关联构件实现业务实现
核心关注点技术实现、基础设施支持用户需求、业务逻辑实现
主要任务搭建数据库、实现缓存、构建接口等实现业务流程,如下单、库存验证等
关注点系统稳定性、性能、可扩展性功能完整性、业务逻辑正确性
开发阶段的目标提供支持业务运行的基础结构和工具实现满足用户需求的具体业务功能
示例订单表结构设计、Redis 缓存、RESTful API检查用户登录、验证库存、计算总价、保存订单
关联构建实现为业务实现提供运行环境和技术支持业务实现依赖构建实现来访问数据和接口

示例:在线商城的订单系统

  1. 构建实现

    • 设计订单表结构,包括 order_iduser_idtotal_price 等字段。

    • 实现 Redis 缓存机制,减少订单查询的数据库压力。

    • 通过 RESTful API 暴露下单接口。

  2. 业务实现

    • 实现下单逻辑:

      • 检查用户是否登录。

      • 验证商品库存。

      • 计算订单总价。

      • 保存订单记录。

image-20241117204014393

 

面向对象软件集成

定义

在面向对象实现过程中,软件开发人员可以使用多种方式来集成软件模块,实现目标软件包含的业务内容。

主要内容

 

在集成面向对象软件的各个组成部分时,软件开发人员可以结合面向对象分析阶段得到的脚本设计或活动图,以目标软件架构为依据,依次实现目标软件的各个业务逻辑。

image-20241117205904690

软件开发人员也可以先根据面向对象设计,将复杂用例的业务逻辑处理过程封装为软件构件,然后通过构件集成来降低软件实现的复杂度。

image-20241117210155797