軟件開發《技術解決方案》實際案例(軟件開發《技術解決方案》實際案例分析)
技術解決方案原件獲取評論區留言即可,進主頁,獲取更多干貨資料。
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平臺的多方向開發 | 免費的 | 缺少各類插件 |