Web开发

首页 » 常识 » 预防 » 软件开发概要设计
TUhjnbcbe - 2023/2/21 17:19:00

封面

1.导言

本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。

1.1目的

本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。

1.2范围

本文档用于软件设计阶段的概要设计,它的上游是《需求分析规格书》,下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据。

软件概要设计的范围是:软件系统总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计、部件之间的接口设计等方面的内容。该范围应覆盖《需求规格说明书》中的功能点列表、性能点列表、接口列表。

1.3命名规则

变量对象命名规则:申明全局变量、局部变量对象的命名规则。

数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。

1.4术语定义

表1术语定义或解释表

1.5参考资科

[l]需求规格说明书

[2]软件开发合同

[3]数据库设计规范

[4]命名规范

1.6相关文档

[1]源程序清单

[2]测试计划及报告

[3]《用户使用手册》

1.7版本更新记录

版本更新记录格式,如表2所示。

表2版本更新记录

2.总体设计

2.1总体结构设计

2.1.1系统总体拓扑结构

系统总体拓扑结构如下图所示:

2.1.2功能模块图

2.1.3技术架构

本项目基于BladeX框架进行开发,BladeX是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8API重构了业务代码,完全遵循阿里巴巴编码规范。采用SpringBoot2、SpringCloudHonxton、Mybatis等核心技术,同时提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS微服务系统平台。具体如下:

·基于SpringBoot2、SpringCloudHoxton、Mybatis构建核心架构

·采用Oauth2协议进行统一的Token下发与鉴权,保证系统安全性

·使用Gateway进行网关的统一转发,生产环境采用Traefik代理

·微服务统一注册至Nacos,Nacos担任注册中心与配置中心的角色

·采用Feign进行远程调用,Ribbon进行负载,Hystrix进行熔断

·采用Sentinel进行限流,保障系统整体的性能

2.1.4主要特性

采用前后端分离的模式,前端Saber(基于Vue、Element-UI)

后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool

BladeTool已推送至Maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发

集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。

注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。

使用Traefik进行反向代理,监听后台变化自动化应用新的配置文件。

极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。

借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。

借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。

稳定生产了两年,经历了从Camden-Hoxton-的技术架构,也经历了从fatjar-docker-k8s+jenkins的部署架构

项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。

2.2开发环境

JDK:1.8

Maven:3.3+

MySql:5.7+

Redis:4.0+

Nacos:1.3.2

Sentinel:1.5.0+

NodeJs:10.15.0+

Npm:5.6.0+

IDE插件

LombokPlugin(必装)

MybatisXPlugin(idea选装)

推荐IDE

后端使用IntelliJIDEA

前端使用IntelliJWebStorm

2.3运行环境设计

该软件系统的运行环境:

硬件平台:

(1)服务器的最低配置要求

4核/16G/64位/1T

(2)工作站的最低配置要求

2核/8G/G

(3)外设的要求

鼠标、键盘

软件平台:

(1)服务器操作系统

centos7.8

(2)数据库管理系统

Mysql5.7+

(3)中间件

Redis4.0+

(4)客户端的操作系统

window7+

(5)客户端的平台软件

下列浏览器之一

Chrome版本.0..54(正式版本)(64位)

firefox更新时间:-05-05版本号:.0

edge版本.0..39(正式版本)(64位)

网络平台:

(1)通信协议

1
查看完整版本: 软件开发概要设计