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