【产品方案】后台管理系统设计思路

news2024/11/10 14:09:58

第一章 前言

        相比前端设计,我更喜欢设计后台管理系统。如果说前端设计考验的是共情能力,那后台管理系统设计考研的就是逻辑能力,前者需要站在用户的角度,后者是站在管理者的角度思考。

        有幸参与了公司不少业务系统从“0-1”的设计,比如客户信息中台系统、小型电商小程序、固定资产管理系统等,这些系统从前端到后台无疑都是自己独立设计的,虽说成就感很满,却有点气馁,身边的好友、同事看过前端的功能模块后都会一副“就这?”的表情,毕竟为公司业务服务的产品,也只能按照公司的发展战略设计,这么一来前端UI平平无奇的前提下,功能点也显得平平无奇,仿佛只有产品和研发才知道精髓在于后台设计。

        前面几篇也有提过我是从技术转行过来的,因此对于后台管理系统的设计有自己的方法和见解,仅此记录,如有谬误,多多指教。

第二章 项目概述

2.1 项目背景

        公司业务有销售软件、销售硬件、销售服务等,不同业务部门负责销售不同的产品,其中有一项是由业务部门A推出的培训课程(有免费也存在付费)销售业务,现在各大企业大力推广信息化、无纸化办公,公司也不例外,想要有个小程序协助各个业务部门销售公司产品,包含培训课程。

2.2 项目需求

  1. 需要一个小程序销售公司产品;
  2. 业务部门可以通过后台上架付费/免费课程;

【作者有话要说:实际业务要比这个复杂,比如有管理订单、派发优惠券、管理学员上课情况等等,角色也不止这几种,这里拿其中一个商品管理流程做案例】

第三章 方案设计

        “面向对象”是一门很有意思的学问,所以我拿到需求后,先从对象出发,进行简要分析,需求中有什么角色,每个角色要做什么事情,从而确定主体及主体间的关系,主体可以协助我们分析表字段,主体间关系协助我们确立表之间的关系,从而确定功能模块,根据功能模块输出原型图。

3.1 需求分析

结合项目背景及需求,可以得出以下结论:

  1. 该公司有很多业务部门;
  2. 各业务部门上架属于自己部门的产品;
  3. 产品中包含课程、硬件、软件、服务等;
  4. 课程有付费也有免费;

3.2 分析主体

分析主体时,建议用ER图,即实体关系图,ER图可以清晰看出主体的字段以及主体间一对一或一对多的关系,前面也提到了,主体间关系可以协助我们确定功能模块。

从需求分析中,可以看出,主体有公司、业务部门、商品、课程...

  1. 公司里包含多个业务部门
  2. 业务部门包含多种商品
  3. 于业务部门A来说,商品即课程

因此,公司和业务部门是1:n关系,业务部门和商品是1:n关系,商品和课程是1:1关系

 3.3 产品结构 

        后台管理系统离不开主体的管理,有了ER图后,便可以利用思维导图梳理产品结构

        程序员中有个术语,叫“解耦”,即降低模块间的关联关系,所以每个主体都作为一个独立管理模块,方便以后方便业务拓展、运维

        根据ER图的关联关系,被包含的主体管理模块字段中,要有包含它的主体id

        如:商品包含了课程,那课程管理表中,需要有商品id,完美建立关联关系        

        可能有的小伙伴很疑惑,既然商品和课程是1:1关系,那为什么不直接在商品管理处管理课程

        前面提到,课程是有免费也有付费的,而价格是商品的属性,课程关联商品就需要付费,不关联即免费,除此之外,商品不止是课程,还可能是硬件、软件,独立管理商品和课程能实现最大程度上解耦。

3.4 原型设计

3.4.1 公司管理

3.4.2 业务部门管理

3.4.3 商品管理

 3.4.4 课程管理

第四章 总结 

         这个流程虽然只是个小业务,但也利用了面向对象思维和ER图解决问题。末尾了,想说话也没那么多,那就祝大家平安喜乐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/489021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用prometheus时发现mongodb exporter的/metrics数据展示很慢,延迟高

项目场景: 使用prometheusgrafana搭建对mongoDB集群的监控。 问题描述 使用prometheus时发现mongodb exporter的/metrics数据展示接口很慢,延迟高。 看了一下大概是10s 原因分析: 由于是在云服务器上进行搭建的。 经过尝试之后发现创建mo…

Apache Doris学习记录

1. Doris基础学习 中文官网:https://doris.apache.org/zh-CN/docs/dev/summary/basic-summary/ 1.1 doris 简介 Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理) 分析型数据库产品 亚秒级响应时间即可获得查询结果 可以支持 10PB…

Python每日一练:最长递增的区间长度(一行代码花样解法)

文章目录 前言一、题目二、一行超人三、分析一下思路 总结 前言 很显然,Python的受众远远大于C,其实笔者本人对Python的理解也是远强于C的,C纯粹是为了假装笔者是个职业选手才随便玩玩的,借着十多年前学的C的功底,强行…

链表(数据结构)

目录 链表 链表的分类 1、单向或者双向 2、带头或者不带头 3、循环或者非循环 总结: 单链表 创建链式结构 创建新节点 尾插 尾删 头插 头删 查找节点 在pos位置后插入 删除pos位置后的节点 销毁 链表 概念: 链表是一种物理结构上非连续的、非顺序的存储结…

c# 数据保存为PDF(二) (Aspose pdf篇)

文章目录 前言关于Aspose PDF使用Aspose.Pdf常用的命名空间和类库1 创建简单的PDF文档2 美化PDF样式2.1 创建测试数据2.2 项目头部样式2.3 全部代码 小结附录参考 前言 项目中需要将数据导出存为PDF格式,试了一下Aspose组件,仅以此记录一下使用感受。 …

设计模式——原型模式(浅拷贝和深拷贝)

是什么? 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象; 结构 抽象原型类:规定了具体原型对象必须实现的Clone()方法; 具体原型类:实现抽象…

Elasticsearch:NLP 和 Elastic:入门

自然语言处理 (Natural Language Processing - NLP) 是人工智能 (AI) 的一个分支,专注于尽可能接近人类解释的理解人类语言,将计算语言学与统计、机器学习和深度学习模型相结合。 AI - Artificial Inteligence 人工智能ML - Machine Learning 机器学习DL…

集线器、网桥、交换机

一.集线器 集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在…

STL基础

目录 一、STL的诞生 二、STL基本概念 三、STL六大组件 大体分为六大组件:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器 四、容器、算法与迭代器的认识 容器container:存放数据地方 算法algorithm:解…

中级软件设计师备考---软件工程2

目录 软件测试分类和要求测试用例设计测试阶段McCabe复杂度软件维护软件过程改进---CMMICMM英文版CMM中文版CMMI 软件测试分类和要求 分类: 灰盒测试:多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。…

MySQL:插入,更新与删除、索引

一、学习目标 掌握如何向表中插入数据掌握更新数据的方法熟悉如何删除数据掌握对数据表基本操作的方法和技巧了解什么是索引掌握创建索引的方法和技巧熟悉如何删除索引熟悉掌握索引的常见问题 二、实验内容 创建表books,对数据表进行插入、更新和删除操作&#x…

SkyWalking集成Logback的使用

SkyWalking集成Logback的使用 将微服务的日志框架去集成SkyWalking,我们希望在我们微服务中日志中,能够记录当前调用链路的id,然后我们再根据这个id去SkyWalking的前端界面中进行搜索找到对应的调用链路记录。 因为springboot默认实现的日志…

Ansible 的脚本 之playbook 剧本

目录 第一章.playbooks的组成 1.1playbooks的组成部分 1.2运行playbook 1.3定义、引用变量 1.4.指定远程主机sudo切换用户 1.6.when条件判断 1.7.迭代 第二章.Templates模块 2.1.准备模板 2.2.修改主机清单文件 2.3.编写 playbook 第三章.tags 模块 3.1.yaml文件编…

操作系统原理 —— 线程的概念、实现方式、多线程模型(十)

什么是线程,为什么要引入线程? 有的进程可能需要 “同时” 做很多事情,而传统的进程只能串行的执行一系列的程序,为此,引入了 “线程” ,来增加并发度。 可以把线程理解为 轻量级进程,线程是可…

剧本杀闯关小程序app软件

剧本杀闯关小程序软件是一种结合了角色扮演和解谜游戏元素的互动娱乐产品,目前在市场上越来越受欢迎。以下是剧本杀闯关小程序软件市场行业情况的一些特点: 市场需求增长:随着人们对于线上互动娱乐的需求增加,剧本杀闯关小程序…

maven install的时候报Unable to find main class

目录 问题描述解决办法解决方案一:添加一个主函数解决方案二:将不是web工程的设置跳过解决方案三:打包插件的作用本质上就是将当前项目所依赖的jar打包到一块,这样jar包就可以运行了,我们完全可以把parent的pom.xml的b…

智慧农业物联网平台建设方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 智慧农业物联网系统组网图 2.2.1 智能温室组网说明 该组网图演示的为小面积示范区,每个连栋温室为 1个灌溉区域,1个子系统,该子系统完成…

学习Typescript(第一弹)

Typescript的基础类型 Boolean类型 let bool: boolean true;Number类型 let num: number 222;String类型 let str: string 码上coding;数组Array类型 对数组类型的定义有两种方式: let arr1: number[] [1,2,3]; let arr2: Array<number | string> [1,2,码上co…

Android APK 反编译后重新打包并签名

APKTool&#xff1a; Apktool 是一个逆向android非常有用的工具&#xff0c;可以用来反编译apk文件&#xff0c;并且能在修改部分资源文件后&#xff0c;重新打包成一个新的apk。 下载连接&#xff1a;http://ibotpeaches.github.io/Apktool/install/ 下载之后文件夹非常清爽&…

电力节能设备远程监控系统解决方案

电力节能设备远程监控系统解决方案 一、项目背景 随着城市化进程的发展&#xff0c;对电力设备安全、可靠、经济运行的要求越来越高&#xff0c;由于没有统一专业的用电现代化管理规划&#xff0c;电力设备管理混乱、数据采集不方便、运行智能化程度低&#xff0c;需要实时掌…