软件概要设计
- 编制单位:南京构播云网络科技有限公司
- 编制人员: 冯浩
- 编制日期:2025年04月06日
引言
编写目的
本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
项目背景
随着国家"十四五"新型城镇化建设与智慧城市发展战略的深入推进,住房和城乡建设部《关于加快新型建筑工业化发展的若干意见》明确提出"推动房地产业向数字化、服务化转型"。新城集团积极响应国家号召,依托29年深耕不动产领域的经验积累,打造集"物业经营、文旅体验、酒店服务、房产交易"于一体的全域数字化平台——《新城智居生态平台》,重构"人-空间-服务"的智慧连接模式。
命名规则
变量对象命名规则:申明全局变量、局部变量对象的命名规则。
数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。
术语定义
无
建设依据
无
任务概述
目标
- 建造
运行环境
- 多端APP系统
- 多角色C端管理台
- Linux服务器
- 多角色集团员工管理台
- Linux服务器
- B/S 结构系统运行环境
客户端操作系统:Windows10专业版及以上版本。
客户端浏览器:IE-Edge/Chrome/Firefox等及以上。
-
开发环境
-
Windows 10/11
- macOS sequoia
- iphone iOS 14,15,16
- android
- 华为
- OPPO
- VIVO
- 小米
需求概述
随着国家"十四五"新型城镇化建设与智慧城市发展战略的深入推进,住房和城乡建设部《关于加快新型建筑工业化发展的若干意见》明确提出"推动房地产业向数字化、服务化转型"。新城集团积极响应国家号召,依托29年深耕不动产领域的经验积累,打造集"物业经营、文旅体验、酒店服务、房产交易"于一体的全域数字化平台——《新城智居生态平台》,重构"人-空间-服务"的智慧连接模式。
软件结构要求
- 跨平台高性能方案
采用UniApp 3.8+版本实现"一次开发,多端覆盖",通过以下技术手段保障性能:
- 集成Vue3+TypeScript强类型体系,代码健壮性提升40%
- 启用WXS原生渲染加速模块,列表页FPS稳定在60帧
-
动态分包加载策略,首屏加载时间控制在800ms内(4G网络环境)
-
微服务化后端架构
基于SpringBoot 3.1构建的分布式系统具备:
- 容器化部署:采用Alibaba Cloud Toolkit实现Docker/K8s自动化部署
- 智能流量管控:Sentinel熔断机制可承受5000+并发请求,故障自恢复时间<3秒
- 混合存储策略:热数据Redis Cluster缓存命中率≥98%,冷数据通过S3/MinIO对象存储成本降低60%
可维护性要求
在实施过程中,应编写详尽的文档说明材料并随着系统的改动随时变更说明材料以保证文档与系统的一致性。
新系统需提供独立于业务系统的管理维护工具,其一可以对操作行为进行审计跟踪;其二可以对入网的设备、系统参数、操作人员等应用系统所涉及的要素提供单独的维护工具,使系统管理人员通过该管理维护工具可以直接对应用业务系统进行安全、灵活地维护和配置;其三要根据数据日常维护要求开发相应的数据维护管理系统。
数据可追踪性要求
此部分要求独立提出以表明其重要性。所有开发的应用系统均要保证记录数据操作痕迹,用于事后的数据跟踪。
可靠性要求
具有在规定的时间和条件下,能维持其性能水平的能力。
保证运行时不会出现死机、系统崩溃和严重的程序错误。
保证系统能24小时不间断工作。
系统应有容错机制,保证不同使用条件下系统都能正确运行
可操作性要求
操作简单实用,提示简明、清楚。对于常用的操作,应尽量减少操作的步骤,提高系统的使用效率。
可扩充性要求
系统的功能的增强、增加不会引起系统总体结构上的变动。
必须保障用户可以根据系统提供的编程接口进行二次开发。
软件兼容性要求
要求系统应用软件遵循可移植性的原则。
角色说明
系统中用户角色较多,主要分为如下几种类型:
- C端用户(普通用户,在系统中为消费者)
- B端用户(商家角色,在系统中为C端用户服务)
- S端用户(管理角色,管理B端用户和C端用户,并维护各板块内容,系统对接等)
总体设计
系统采用关键技术栈
SOA架构
- 前端技术栈:采用Vue3+TypeScript+Element Plus+Vite4构建高性能界面,支持PC端(element-plus/vben)和移动端
- 后端架构:基于Spring Cloud Alibaba微服务体系,集成Nacos(注册中心)、Sentinel(熔断)、Seata(分布式事务)等组件
- 数据层:支持MySQL/Oracle/达梦等6+数据库,通过MyBatis Plus+Redis实现高效数据操作
- 低代码开发:内置可视化代码生成器,可一键生成前后端CRUD代码及接口文档
- 多租户SaaS:提供透明化租户隔离方案,支持自定义租户权限策略
- 工作流引擎:集成Flowable实现动态表单设计/会签等复杂审批流程
- 安全体系:JWT+RBAC权限模型,支持按钮级权限控制与SSO单点登录
。
用户权限控制中间件
用户权限控制中间件是一个全组件化的页面访问许可组件模块。每个用户的标识符被封装成一个Beans组件,需要许可授权访问的页面只需加入少量代码,就可完成集中式权限管理。
用户权限控制中间件的架构,应能在易于理解和管理的情况下,满足绝大部分粗粒度权限控制的功能需要。但是系统中必然还会包括无数对具体Instance的细粒度权限。这些问题,被留给业务逻辑来解决。
J2EE技术
J2EE是由SUN公司所制定的多层(Multi-tier)企业级B/S应用程序构架,它改进了传统Client/Server结构的缺点,降低了Client端程序逻辑的复杂度,更减轻了后端数据库存取的负载,也平衡了整个网络的流量。
WEB三层体系结构
本系统整体采用B/S模式系统架构,为了更好地复用广告监管系统的业务逻辑,使整体系统结构做到强内聚,弱耦合,服务器系统的体系架构的主体是MVC,即Model/View/Control架构,Model/View/Control是软件设计的典型结构。
MVC的核心就是要做到三级甚至多级的松散耦合,在这种服务器系统的体系架构下,一个应用被分为三个部分:Model、View和Controller,每个部分负责不同的功能。Model是指对业务数据/信息的处理模块,包括对业务数据的存取、加工、综合等;View是指用户界面,也就是面向用户的数据表示;Controller则负责View和Model之间的流程控制,也就是完成两个方向的动作:1.将用户界面(View)的操作映射到具体的Model,以完成具体的业务逻辑;2. 将通过Model处理完的业务数据及时反应到用户界面(View)上。
MVC应用结构
特点及优势
- 系统架构设计具有良好的开放性,采用B/S模式,应用Web Services技术;支持分布式的部署管理,提供良好的可扩展性和容错性,提高系统的易操作性、可靠性和可维护性。各远程用户与系统数据库响应和数据交换应在1~2秒内完成。
- 通过接口抽象,支持多种后端数据库
- 用户角色所应用功能可以任意配置,不受限制。
- 采用多种手段提高系统持续可用性,并确保系统平均无故障时间为一个月。
- 采用最新版本MYSQ L8数据库
- 系统的单位组织结构设置采用树形结构,级别层次不受限制。
- 系统具有良好的安全性、扩展性和跨平台的特性;容错性高、可管理性强;采用非实时处理机制,确保系统稳定性和可扩展性。
- 系统界面美观、大方,内容结构设置合理、直观;操作简单,管理方便。
- 系统采用MVC三层架构,实现应用层、业务层、数据库访问层分开。MVC架构是软件设计模式中成熟架构,使用MVC架构设计软件,能提高软件的性能和程序的可复用性,可读性。
- APP 在多端系统中兼容性好,渲染速度快