软件开发《技术解决方案》实际案例(软件开发《技术解决方案》实际案例分析)
技术解决方案原件获取评论区留言即可,进主页,获取更多干货资料。
1 前言
1.1 文档目的
本文档将有可能存在的体系架构、工具、平台的多方案进行详细描述,备选方案作为决策对象,决策的结果将作为概要设计和详细设计的重要依据。
1.2 文档范围
1、产品范围:根据《产品需求规格说明书》,该文档阐述各技术平台的差异。
2、涉及到的干系人有:项目经理、质量小组、开发小组。
1.3 读者对象
项目经理、质量保证人员:据此来进行项目策划。
测试人员:据此进行测试过程。
开发人员,包括设计人员、编码人员:明确技术平台,清楚项目开发工作。
用户IT主管:清楚与确认其技术需求。
1.4 参考文档
《产品需求规格说明书》
1.5 术语与缩写解释
术语或缩略语 | 解释 |
springboot | 开发框架种类 |
springCloud | 开发框架种类 |
Mysql | 数据库种类 |
Oracle | 数据库种类 |
Sqlserver | 数据库种类 |
idea | 开发工具种类 |
webstorm | 开发工具种类 |
Eclipse | 开发工具种类 |
2 体系架构
2.1 开发框架
2.1.1 Springboot
1)架构说明:项目系统框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
2)特点:创建独立的Spring应用程序,嵌入的Tomcat,无需部署WAR文件。
3)优势:特别适合构建微服务系统,另外给我们封装了各种经常使用的套件,比如mybatis、hibernate、redis、mongodb等。
4)劣势:从原来的xml配置方式转换到JAVA配置方式变化有点大,版本迭代速度很快,一些模块改动很大。
2.1.2 SpringCloud
1) 架构说明:项目系统框架。
2) 特点:可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;。
3) 优势:方便对外输出各种形式的服务;非常简洁的安全策略集成。
4) 劣势:集成度较高,使用过程中不太容易了解底层。
2.2 体系架构对比
体系架构名称 | 特点 | 优势 | 劣势 | 决策结果 |
Springboot | 采用页面控制机制,可以为单个页面添加事件处理函数 | 使得复杂项目更加容易维护,减少项目之间的耦合,扩展性很好; 能够对HTML有完全的控制权限,对于前端来说很友好 | 没有那么多的现成控件使用,开发效率相对较低 | |
springCloud | 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs; | 方便对外输出各种形式的服务;非常简洁的安全策略集成。 | 集成度较高,使用过程中不太容易了解底层。 |
3 数据库平台
3.1 可选平台
3.1.1 Mysql
1) 架构说明:数据库服务器
2) 特点: 适用于中型及大型项目
3) 优势: 功能强大,运行稳定
4) 劣势:数据库占用空间比较大
3.1.2 Oracle
1)架构说明: 数据库服务器
2)特点: 完全支持所有的工业标准,数据安全级别为C2级(最高级)
3)优势: 安全性方面,性能最高。具有丰富的开发工具,覆盖开发周期的各阶段。
4)劣势: 操作安装比较复杂,对管理员水平要求比较高,费用昂贵
3.1.3 Sqlserver
1)架构说明:数据库服务器
2)特点: 适用于中型及大型项目
3)优势: 功能强大,运行稳定
4)劣势:数据库占用空间比较大
3.2 各平台对比
数据库名称 | 特点 | 优势 | 劣势 | 决策结果 |
Mysql | 适用于中型及大型项目 | 功能强大、 运行稳定 | 数据库占用空间比较大 | √ |
Oracle | 完全支持所有的工业标准,数据安全级别为C2级(最高级) | 安全性方面,性能最高。 具有丰富的开发工具,覆盖开发周期的各阶段。 | 操作安装比较复杂,对管理员水平要求比较高,费用昂贵 | |
Sqlserver | 适用于中型及大型项目 | 功能强大、 运行稳定 | 数据库占用空间比较大 |
4 开发工具
4.1 可选工具
4.1.1 Idea
1)架构说明:开发工具
2)特点:开发j2ee程序会更加方便些
3)优势:集成了多种插件
4)劣势:部分插件收费
4.1.2 Webstorm
1)架构说明:是jetbrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为"Web前端开发神器"、"最强大的HTML5编辑器"、"最智能的JavaScript IDE"等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。
2)特点:是一个强大的前端开发 ide,大多数人使用 webstorm 的主要原因应该是它 NB 的智能提示功能。强大的智能提示只是它的一个功能特性,它还具有许多有用的特性,比如版本控制、本地历史、即时模板等。这里我列一下对我来说非常有用的功能。
3)优势:支持不同浏览器的提示,还包括所有用户自定义的函数(项目中);代码不仅可以格式化,而且所有规则都可以自己来定义;可以快速找到代码中的错误或者需要优化的地方,并给出修改意见,快速修复等。
4)劣势:启动时非常耗cup和内存。
4.1.3 Eclipse
1) 架构说明:开发工具
2) 特点:是免费的,是开发的必要IDE
3) 优势:免费
4) 劣势:缺少各类插件
4.2 开发工具对比
工具名称 | 特点 | 优势 | 劣势 | 决策结果 |
idea | 开发j2ee程序会更加方便些 | 集成了多种插件 | 部分插件收费 | |
Webstorm | 是一个强大的前端开发 ide,大多数人用webstorm 的主要原因应该是它 NB 的智能提示功能。强大的智能提示只是它的一个功能特性,它还具有许多有用的特性,比如版本控制、本地历史、即时模板等。这里我列一下对我来说非常有用的功能 | 支持不同浏览器的提示,还包括所有用户自定义的函数(项目中);代码不仅可以格式化,而且所有规则都可以自己来定义;可以快速找到代码中的错误或者需要优化的地方,并给出修改意见,快速修复等 | 启动时非常耗cup和内存 | √ |
Eclipse | JAVA平台的多方向开发 | 免费的 | 缺少各类插件 |