一、论文真题
层次架构作为软件系统设计的一种基本模式,对于实现系统的模块化、可维护性和可扩展性具有至关重要的作用。在软件系统的构建过程中,采用层次架构不仅可以使系统结构更加清晰,还有助于提高开发效率和质量。因此,对层次架构的理解和应用是软件工程师必备的技能之一。
请围绕“层次架构及其在软件系统中的应用”论题,依次从以下三个方面进行论述。
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 论点一
-
确定系统的层次划分
- 表现层:负责与用户进行交互,包括用户界面的展示和用户输入的接收。我们采用了现代化的前端技术栈,如 Vue.js 和 Element UI,以提供良好的用户体验。
- 业务逻辑层:处理系统的核心业务逻辑,包括客户信息管理、销售流程管理、市场营销活动管理等。这一层主要由后端的 Java 代码实现,使用了 Spring Boot 框架来提高开发效率。
- 数据访问层:负责与数据库进行交互,包括数据的存储、读取和更新。我们使用了 MyBatis 框架来简化数据库操作,并采用了数据库连接池技术来提高数据库的性能。
- 数据库层:存储系统的数据,我们选择了 MySQL 数据库作为主要的数据存储介质。
-
各层次之间的交互方式
- 表现层与业务逻辑层之间通过 HTTP 请求进行交互。表现层发送请求到业务逻辑层,业务逻辑层处理请求并返回结果给表现层。
- 业务逻辑层与数据访问层之间通过接口进行交互。业务逻辑层调用数据访问层的接口来访问数据库,数据访问层实现这些接口并提供具体的数据库操作方法。
- 数据访问层与数据库层之间通过数据库驱动程序进行交互。数据访问层使用数据库驱动程序来连接数据库,并执行 SQL 语句来操作数据库。
-
层次架构如何支持系统的核心功能
- 客户信息管理:表现层提供用户界面,让用户可以输入客户信息。业务逻辑层处理客户信息的添加、修改、删除和查询等操作,并调用数据访问层的接口来保存或读取客户信息。数据访问层实现与数据库的交互,将客户信息存储到数据库中或从数据库中读取客户信息。
- 销售流程管理:表现层展示销售流程的各个阶段,用户可以在不同阶段进行操作。业务逻辑层处理销售流程的推进、审批等操作,并与数据访问层交互来保存销售流程的状态。数据访问层将销售流程的状态存储到数据库中。
- 市场营销活动管理:表现层提供市场营销活动的创建和管理界面。业务逻辑层处理市场营销活动的策划、执行和效果评估等操作,并调用数据访问层的接口来保存市场营销活动的信息。数据访问层将市场营销活动的信息存储到数据库中。
2.4.2 论点二
2.4.3 论点三
2.5 结尾
三、个人评价
2021 年 4 月我司开拓海外B2C电商业务,在某国同时开展业务,该平台拥有本地对本地、跨境和自营等多种销售模式,通过平台便利性、物流可靠性和支付安全性,让买家信任平台,让商家更容易做生意。我在该项目中担任系统架构师,负责系统架构的设计,并对开发过程进行指导,本文详细介绍了分布式数据库、分布式缓存、分布式计算等技术及应用场景,并在项目过程中,详细的介绍了通过分布式架构设计,解决了高可靠、高并发高性能等质量属性需求。项目一期与 2022 年 2 月份通过测试团队的评审验收并上线,获得了买卖双方的一致好评。
评论区