實戰(zhàn) - 需求分析
經(jīng)過前面這么久的 Java 學習,相信大家也積累了不少知識,我們已經(jīng)對 Java 語言有了系統(tǒng)的了解,接下來最后的這幾節(jié)內(nèi)容,我們將一起實現(xiàn)一個實戰(zhàn)項目 —— 商品管理系統(tǒng)。本小節(jié)我們就來對這個商品管理系統(tǒng)進行需求分析,你將了解到什么是需求分析、需求分析的重要性等。分析好需求之后,你將知道想要實現(xiàn)這個程序,需要什么前置知識。
1. 需求分析碎碎念
需求分析也稱為軟件需求分析、系統(tǒng)需求分析或需求分析工程等,是開發(fā)人員經(jīng)過深入細致的調(diào)研和分析,準確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須做什么的過程。
第一次聽到需求分析這個詞,還是在我上大學的時候,當時在某公司的信息部門做實習生,自己什么也不懂,只是一心想要從事軟件行業(yè),對于如何編程,開發(fā)一個軟件的流程完全沒有概念。正巧有一個內(nèi)部項目需要迭代,我們的項目經(jīng)理和我說,你去做下需求分析吧,既然想要從事軟件行業(yè),軟件研發(fā)的第一步也是最重要的一個環(huán)節(jié)就要學會做需求分析。項目經(jīng)理的話我一直記憶猶新。
試想開發(fā)一個軟件,我們沒有做需求分析,就不知道從何下手;如果沒有做好需求分析,開發(fā)出來的軟件和用戶的預期不符,就不得不返工重做。
下面我們就進入正題,做這個商品管理系統(tǒng)的需求分析。
2. 商品管理系統(tǒng)模塊拆分
假設有一個小賣鋪的老板找到你,提出了如下需求:
- 自己平時用手工記錄商品基本信息、庫存等信息,太麻煩了,希望通過軟件實現(xiàn)信息化管理;
- 能夠查看商品詳情;
- 能夠?qū)ι唐愤M行歸類。
根據(jù)用戶提出的需求,可知客戶對系統(tǒng)要求不高,需求也比較明了,一般實際更復雜的項目,需要我們反復和客戶進行溝通以核對需求,接下來我們開始根據(jù)功能拆分模塊。
2.1 鑒權(quán)模塊
該系統(tǒng)是商店的內(nèi)部系統(tǒng),因此不能每個人都能使用該系統(tǒng),需要提供用戶鑒權(quán)功能,我們使用最簡單的用戶名和密碼進行權(quán)限鑒定。權(quán)限鑒定通過后,方可使用其他功能。
2.2 商品模塊
商品模塊是該系統(tǒng)的最核心模塊,該模塊主要對商品進行管理,包括添加商品、編輯商品、查看商品詳情、刪除商品、搜索商品、更新庫存信息等操作,主要為商品的 CRUD
(增刪改查) 操作。
2.3 分類模塊
分類模塊主要對商品分類進行管理,同樣包含了對商品分類的CRUD
操作,關于實現(xiàn)細節(jié)此處我們不過多考慮。
該系統(tǒng)功能模塊的思維導圖如下:

3. 技術(shù)選型及所需基礎
剛剛我們已經(jīng)針對客戶提出的需求,做了功能模塊的拆分,對于該系統(tǒng)也有了一個初步的輪廓。我們就可以決定技術(shù)選型了,開發(fā)語言我們當然使用的是 Java 語言;數(shù)據(jù)庫采用業(yè)界最常用的 MySQL
數(shù)據(jù)庫。因此,想要獨立完成此系統(tǒng)的開發(fā),需要你有以下前置基礎:
- Java 語言基礎:我們使用 Java 語言開發(fā)此系統(tǒng),因此需要你有扎實的語法基礎;
- 熟悉文本掃描器類的使用:該系統(tǒng)使用終端界面來實現(xiàn)人機交互,因此需要你了解如何使用
Scanner
類,如果不夠熟悉,可前往Java Scanner 類小節(jié)去回顧; - 熟悉
JDBC
的使用:關于JDBC
,我們已經(jīng)在數(shù)據(jù)庫編程這一小節(jié)詳細介紹; - Maven 基礎:該實戰(zhàn)項目使用
Maven
構(gòu)建工具進行構(gòu)建,如果不夠熟悉,推薦先去學習下另外一個慕課網(wǎng)的wiki
教程 —— Maven 入門教程; MySQL
基礎:數(shù)據(jù)庫使用MySQL
,因此需要你了解如何安裝配置MySQL
數(shù)據(jù)庫,也要掌握基本的SQL
語句,如果你還不夠熟悉,推薦先去學習下另外兩個慕課網(wǎng)的wiki
教程:
4. 小結(jié)
本小節(jié),我們闡述了需求分析的重要性,也對我們將要著手開發(fā)的系統(tǒng)進行了需求分析,根據(jù)需求將系統(tǒng)拆分成了幾大功能模塊,最后,我們也說明了該項目的所需基礎,如果你還未滿足,我也給出了一些學習鏈接,可以去到對應的超鏈接查漏補缺。另外,對于基礎基本滿足的同學,我也推薦大家先去自己實現(xiàn)下這個系統(tǒng),過程中遇到問題自己去查找資料解決,這樣你的編碼能力、問題解決能力才能真正得到鍛煉。