目 录CONTENT

文章目录

软考论文:论层次架构及其在软件系统中的应用

Wissy
2024-11-06 / 0 评论 / 0 点赞 / 26 阅读 / 0 字

一、论文真题

层次架构作为软件系统设计的一种基本模式,对于实现系统的模块化、可维护性和可扩展性具有至关重要的作用。在软件系统的构建过程中,采用层次架构不仅可以使系统结构更加清晰,还有助于提高开发效率和质量。因此,对层次架构的理解和应用是软件工程师必备的技能之一。

请围绕“层次架构及其在软件系统中的应用”论题,依次从以下三个方面进行论述。

1、概要叙述你所参与管理或者开发的软件项目,以及你在其中所承担的主要工作。

2、请详细阐述你在层次架构设计中的主要工作和思路,包括你如何确定系统的层次划分、个层次之间的交互方式以及层次架构如何支持系统的核心功能。

3、详细说明你在层次架构设计过程中遇到的挑战和解决办法。

题干分析

层次式架构典型代表三层 BS 架构,本项目是电商项目所以采用混合架构即 数据持久化层+业务层+浏览器+客户端。

优点:修改一层只影响上下两层(可修改性)

缺点:层级越多,越臃肿

展示层:

  • 架构一使用 React Navite架构,技术要求低,胖客户端,运行速度慢,调优困难
  • 架构二采用 Navite 的客户端+Vue3开发方法,瘦客户端,运行速度慢,人员技术要求比较高【选择该架构】
  • 架构三采用 KMM(Kotin MultiPlatform),探索新技术,解决共享代码的问题【优化方向】

持久化层:

采用 MySQL8,对比 MySQL6,优化了联合索引,mybatis 数据框架

OSS:高速对象存储,无状态数据

业务层:Spring MVC+Eccache+Redis 多级缓存

  • 如何确定系统的层次划分?

    由于在线拍卖系统对安全性、可用性、扩展性要求很高,我选择了三层B/S架构作为该系统的软件体系结构,

  • 请详细阐述你在层次架构设计中的主要工作和思路,包括你

    • 如何确定系统的层次划分
    • 个层次之间的交互方式
    • 以及层次架构如何支持系统的核心功能。

二、论文设计

2.2 摘要

摘要:两段写,150+150 字。

第一段:项目基本信息,对项目做一个简介。描述项目开始的日期,什么项目,项目本身的作用,项目在哪里可以使用。

第二段:响应主题,对正文的 3 段进行概括。3 句话描述。

2021 年 3 月我参与了某海外C2C电商平台项目的研发,该平台是有多种销售模式,包含本地对本地,本地对海外等,皆在使用国内的电商体系和方法论帮助海外用户提高购物的便利性。本人担任系统架构师一职,主要负责整个系统的架构设计和技术选型。该项目与 2022 年 1 月通过测试验收并上线,得到了领导的一致好评,并在首月订单达到了18万单,顺利达成既定目标。

本文作者以项目为例详细介绍了层次架构的主要工作和思路,包括确认了表现层、业务逻辑层层、数据持久层和数据库层的层次划分,各层之间通过 HTTP请求、接口调用和数据驱动程序交互,以及层次架构对核心系统功能的支持如:营销管理、导购链路和秒杀功能等,最后详细说明了在层次式架构遇到的性能、可维护性和可扩展性的挑战及解决方法,如优化数据库设计,采用面对对象编程和插件化设计思想等。

2.3 项目背景

项目背景:两段写,回应子题目 1,200+300 字。

第一段:大背景(遇到的问题),引出项目。介绍功能和技术部分。-- 例如:

第二段:子题目 2:一段回应,300 字左右。

随着“淘宝+京东”模式的电子商务重新定义了“人”、“货”、“场”。近年来中国电商飞速发展,随着“11·11”,“6·18”等活动的历练,相关技术的已经趋于成熟,相对的市场也相对饱和,电商出海成为必要趋势。就职公司与2021 年3 月调研并立项“某海外电商平台”的计划,在该项目中本人担任系统架构师一职,主要负责整个系统的架构设计和技术选型。

工作包括确定系统的技术栈、设计系统的整体架构、指导开发团队进行开发,并确保系统的性能、可扩展性和可维护性。

近年来

项目包含用户、运营、商户三种不同的角色,1. 用户可以使用 Web 和 App 进行商品浏览、下单支付、评论等操作,2.运营人员使用Web 界面进行活动创建、报名审核和商品商家管理等操作,3.商户使用 Web 界面对商品进行上下架、发货和物流管理等。

2.4 正文

  • 正文:三段回应,总在 1000-1200 左右字。找出 3 个论点,理论联合实际

  • 结尾:两段回应,总在 500 字左右

    第一段:套话,经过多次时间的运行,项目正常,得到客户的一致好评。

    第二段:总结经验:学到了什么,不足之处(不要超过两个),解决方案

本人担任系统架构师一职,主要负责整个系统的架构设计和技术选型。我的工作包括确定系统的技术栈、设计系统的整体架构、指导开发团队进行开发,并确保系统的性能、可扩展性和可维护性。

2.4.1 论点一

  1. 确定系统的层次划分

    • 表现层:负责与用户进行交互,包括用户界面的展示和用户输入的接收。我们采用了现代化的前端技术栈,如 Vue.js 和 Element UI,以提供良好的用户体验。
    • 业务逻辑层:处理系统的核心业务逻辑,包括客户信息管理、销售流程管理、市场营销活动管理等。这一层主要由后端的 Java 代码实现,使用了 Spring Boot 框架来提高开发效率。
    • 数据访问层:负责与数据库进行交互,包括数据的存储、读取和更新。我们使用了 MyBatis 框架来简化数据库操作,并采用了数据库连接池技术来提高数据库的性能。
    • 数据库层:存储系统的数据,我们选择了 MySQL 数据库作为主要的数据存储介质。
  2. 各层次之间的交互方式

    • 表现层与业务逻辑层之间通过 HTTP 请求进行交互。表现层发送请求到业务逻辑层,业务逻辑层处理请求并返回结果给表现层。
    • 业务逻辑层与数据访问层之间通过接口进行交互。业务逻辑层调用数据访问层的接口来访问数据库,数据访问层实现这些接口并提供具体的数据库操作方法。
    • 数据访问层与数据库层之间通过数据库驱动程序进行交互。数据访问层使用数据库驱动程序来连接数据库,并执行 SQL 语句来操作数据库。
  3. 层次架构如何支持系统的核心功能

    • 客户信息管理:表现层提供用户界面,让用户可以输入客户信息。业务逻辑层处理客户信息的添加、修改、删除和查询等操作,并调用数据访问层的接口来保存或读取客户信息。数据访问层实现与数据库的交互,将客户信息存储到数据库中或从数据库中读取客户信息。
    • 销售流程管理:表现层展示销售流程的各个阶段,用户可以在不同阶段进行操作。业务逻辑层处理销售流程的推进、审批等操作,并与数据访问层交互来保存销售流程的状态。数据访问层将销售流程的状态存储到数据库中。
    • 市场营销活动管理:表现层提供市场营销活动的创建和管理界面。业务逻辑层处理市场营销活动的策划、执行和效果评估等操作,并调用数据访问层的接口来保存市场营销活动的信息。数据访问层将市场营销活动的信息存储到数据库中。

2.4.2 论点二

2.4.3 论点三

2.5 结尾

三、个人评价

2021 年 4 月我司开拓海外B2C电商业务,在某国同时开展业务,该平台拥有本地对本地、跨境和自营等多种销售模式,通过平台便利性、物流可靠性和支付安全性,让买家信任平台,让商家更容易做生意。我在该项目中担任系统架构师,负责系统架构的设计,并对开发过程进行指导,本文详细介绍了分布式数据库、分布式缓存、分布式计算等技术及应用场景,并在项目过程中,详细的介绍了通过分布式架构设计,解决了高可靠、高并发高性能等质量属性需求。项目一期与 2022 年 2 月份通过测试团队的评审验收并上线,获得了买卖双方的一致好评。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区