軟件開發(fā)《技術解決方案》實際案例(軟件開發(fā)《技術解決方案》實際案例分析)
技術解決方案原件獲取評論區(qū)留言即可,進主頁,獲取更多干貨資料。
1 前言
1.1 文檔目的
本文檔將有可能存在的體系架構(gòu)、工具、平臺的多方案進行詳細描述,備選方案作為決策對象,決策的結(jié)果將作為概要設計和詳細設計的重要依據(jù)。
1.2 文檔范圍
1、產(chǎn)品范圍:根據(jù)《產(chǎn)品需求規(guī)格說明書》,該文檔闡述各技術平臺的差異。
2、涉及到的干系人有:項目經(jīng)理、質(zhì)量小組、開發(fā)小組。
1.3 讀者對象
項目經(jīng)理、質(zhì)量保證人員:據(jù)此來進行項目策劃。
測試人員:據(jù)此進行測試過程。
開發(fā)人員,包括設計人員、編碼人員:明確技術平臺,清楚項目開發(fā)工作。
用戶IT主管:清楚與確認其技術需求。
1.4 參考文檔
《產(chǎn)品需求規(guī)格說明書》
1.5 術語與縮寫解釋
術語或縮略語 | 解釋 |
springboot | 開發(fā)框架種類 |
springCloud | 開發(fā)框架種類 |
Mysql | 數(shù)據(jù)庫種類 |
Oracle | 數(shù)據(jù)庫種類 |
Sqlserver | 數(shù)據(jù)庫種類 |
idea | 開發(fā)工具種類 |
webstorm | 開發(fā)工具種類 |
Eclipse | 開發(fā)工具種類 |
2 體系架構(gòu)
2.1 開發(fā)框架
2.1.1 Springboot
1)架構(gòu)說明:項目系統(tǒng)框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。
2)特點:創(chuàng)建獨立的Spring應用程序,嵌入的Tomcat,無需部署WAR文件。
3)優(yōu)勢:特別適合構(gòu)建微服務系統(tǒng),另外給我們封裝了各種經(jīng)常使用的套件,比如mybatis、hibernate、redis、mongodb等。
4)劣勢:從原來的xml配置方式轉(zhuǎn)換到JAVA配置方式變化有點大,版本迭代速度很快,一些模塊改動很大。
2.1.2 SpringCloud
1) 架構(gòu)說明:項目系統(tǒng)框架。
2) 特點:可以創(chuàng)建獨立的Spring應用程序,并且基于其Maven或Gradle插件,可以創(chuàng)建可執(zhí)行的JARs和WARs;。
3) 優(yōu)勢:方便對外輸出各種形式的服務;非常簡潔的安全策略集成。
4) 劣勢:集成度較高,使用過程中不太容易了解底層。
2.2 體系架構(gòu)對比
體系架構(gòu)名稱 | 特點 | 優(yōu)勢 | 劣勢 | 決策結(jié)果 |
Springboot | 采用頁面控制機制,可以為單個頁面添加事件處理函數(shù) | 使得復雜項目更加容易維護,減少項目之間的耦合,擴展性很好; 能夠?qū)?span id="tfrvtpj" class="candidate-entity-word" data-gid="79661">HTML有完全的控制權限,對于前端來說很友好 | 沒有那么多的現(xiàn)成控件使用,開發(fā)效率相對較低 | |
springCloud | 可以創(chuàng)建獨立的Spring應用程序,并且基于其Maven或Gradle插件,可以創(chuàng)建可執(zhí)行的JARs和WARs; | 方便對外輸出各種形式的服務;非常簡潔的安全策略集成。 | 集成度較高,使用過程中不太容易了解底層。 |
3 數(shù)據(jù)庫平臺
3.1 可選平臺
3.1.1 Mysql
1) 架構(gòu)說明:數(shù)據(jù)庫服務器
2) 特點: 適用于中型及大型項目
3) 優(yōu)勢: 功能強大,運行穩(wěn)定
4) 劣勢:數(shù)據(jù)庫占用空間比較大
3.1.2 Oracle
1)架構(gòu)說明: 數(shù)據(jù)庫服務器
2)特點: 完全支持所有的工業(yè)標準,數(shù)據(jù)安全級別為C2級(最高級)
3)優(yōu)勢: 安全性方面,性能最高。具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。
4)劣勢: 操作安裝比較復雜,對管理員水平要求比較高,費用昂貴
3.1.3 Sqlserver
1)架構(gòu)說明:數(shù)據(jù)庫服務器
2)特點: 適用于中型及大型項目
3)優(yōu)勢: 功能強大,運行穩(wěn)定
4)劣勢:數(shù)據(jù)庫占用空間比較大
3.2 各平臺對比
數(shù)據(jù)庫名稱 | 特點 | 優(yōu)勢 | 劣勢 | 決策結(jié)果 |
Mysql | 適用于中型及大型項目 | 功能強大、 運行穩(wěn)定 | 數(shù)據(jù)庫占用空間比較大 | √ |
Oracle | 完全支持所有的工業(yè)標準,數(shù)據(jù)安全級別為C2級(最高級) | 安全性方面,性能最高。 具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。 | 操作安裝比較復雜,對管理員水平要求比較高,費用昂貴 | |
Sqlserver | 適用于中型及大型項目 | 功能強大、 運行穩(wěn)定 | 數(shù)據(jù)庫占用空間比較大 |
4 開發(fā)工具
4.1 可選工具
4.1.1 Idea
1)架構(gòu)說明:開發(fā)工具
2)特點:開發(fā)j2ee程序會更加方便些
3)優(yōu)勢:集成了多種插件
4)劣勢:部分插件收費
4.1.2 Webstorm
1)架構(gòu)說明:是jetbrains公司旗下一款JavaScript 開發(fā)工具。已經(jīng)被廣大中國JS開發(fā)者譽為"Web前端開發(fā)神器"、"最強大的HTML5編輯器"、"最智能的JavaScript IDE"等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。
2)特點:是一個強大的前端開發(fā) ide,大多數(shù)人使用 webstorm 的主要原因應該是它 NB 的智能提示功能。強大的智能提示只是它的一個功能特性,它還具有許多有用的特性,比如版本控制、本地歷史、即時模板等。這里我列一下對我來說非常有用的功能。
3)優(yōu)勢:支持不同瀏覽器的提示,還包括所有用戶自定義的函數(shù)(項目中);代碼不僅可以格式化,而且所有規(guī)則都可以自己來定義;可以快速找到代碼中的錯誤或者需要優(yōu)化的地方,并給出修改意見,快速修復等。
4)劣勢:啟動時非常耗cup和內(nèi)存。
4.1.3 Eclipse
1) 架構(gòu)說明:開發(fā)工具
2) 特點:是免費的,是開發(fā)的必要IDE
3) 優(yōu)勢:免費
4) 劣勢:缺少各類插件
4.2 開發(fā)工具對比
工具名稱 | 特點 | 優(yōu)勢 | 劣勢 | 決策結(jié)果 |
idea | 開發(fā)j2ee程序會更加方便些 | 集成了多種插件 | 部分插件收費 | |
Webstorm | 是一個強大的前端開發(fā) ide,大多數(shù)人用webstorm 的主要原因應該是它 NB 的智能提示功能。強大的智能提示只是它的一個功能特性,它還具有許多有用的特性,比如版本控制、本地歷史、即時模板等。這里我列一下對我來說非常有用的功能 | 支持不同瀏覽器的提示,還包括所有用戶自定義的函數(shù)(項目中);代碼不僅可以格式化,而且所有規(guī)則都可以自己來定義;可以快速找到代碼中的錯誤或者需要優(yōu)化的地方,并給出修改意見,快速修復等 | 啟動時非常耗cup和內(nèi)存 | √ |
Eclipse | JAVA平臺的多方向開發(fā) | 免費的 | 缺少各類插件 |