上文描述了版本控制後,此篇才真正到了作業本身。我們第一次大作業要完成的是一個利息計算器。
利息計算器或者說融資計算器有自己的圖形化版本,每一個學習的同學如果想要直觀的瞭解下功能,可以管自己的老師要或者加文末的QQ群向老師索取。不過我們今天要實現的是非圖形化的介面,是CS版本的,簡而言之就是你要利用自己在SE階段學到的知識,實現一個在console下的利息計算器。當然,按照我們最課程的造性,肯定還要帶點超綱題。
在強調要做作業之前,我們先來看一下作業是怎麼被描述來送到你手裡的。
一:需求的地位
作業是什麼?你是一個程式設計師,你的作業就是完成一個軟體的功能。功能是什麼?功能就是需求。在整個軟體開發體系(在我們這裡,被描述為SPP:精簡併行過程)中,它佔據重要的一環。我們先來回顧下SPP模型:
看到沒,它處在整個專案研發過程的第一環。同時,在專案管理過程中,它也佔據了一個重要的過程:需求管理。
有一點需要強調,任何質量管理體系,評判是否完善的一個重要標誌是:是否留下了一套完整的資產(軟體領域中所謂資產,可以是程式碼、文件、資料庫等等)。那麼,涉及到需求的文件資產,就包括如下幾個:
而今天,我們的作業,就要以產品需求規格的形式被描述出來。
二:需求該怎麼被描述
不存在具體的“需求改怎麼被描述”的形式,每個公司甚至於每個專案組都可以有自己習慣的方式去描述需求,在我們的SPP模型中,一份完整的需求包括大概包含如下部分:
而具體描述功能需求的是一個個的用例(即“使用者故事”,Use Case),它大致長這樣。
用例名稱
除了用例本身的描述以外,初學者不容易把握的另一個地方是,功能點應該細化到何種程度才能被歸為一個“用例”?
注意,一種簡單粗暴但不是非常正確的做法是:一個頁面就是一個用例。比如說,使用者註冊常常是一個頁面,同時它也被稱之為一個用例。但是,過於複雜的使用者註冊頁面(或者說功能),可能就會是多個用例。比如,我們在註冊使用者的時候需要驗證使用者的手機號是否正確,那就需要獲取手機驗證碼,那這裡就會包含一個傳送手機驗證碼的用例。
一個典型的包含當前迭代全部用例的故事牆:
你沒看錯,上面就是一個個的用例,如果你在我的軟體公司裡面進行開發,我們每天就會對著這堵牆來安排任務,然後根據狀態移動這些case。故事牆也有專業的工具形成電子版,但我們更喜歡這種直觀的方式。要知道這樣一來,每個人當前都在負責什麼,case進行到什麼程度了,都一清二楚哦。
三:利息計算器的用例
好了,接下來讓我們描述用例。
第一次大作業,並不要求大家自己去寫用例。
我們把主要的用例羅列如下:
1. 主介面
2. 等額本息頁面
3. 按月付息到期還本頁面
4. 一次性還本付息頁面
5. 資料儲存
6. 匯出計算結果
7. 退出
四:作業完成標識
1:首先,功能必須要實現,沒有明顯的bug;
2:此處有超綱功能,就是對稱加密。試著解決,解決不了,則明文儲存;
3:專案commit到SVN服務中;
4:程式碼要優美,想想程式碼規範,同時整個應用程式的實現要有物件導向的思想;
5:再一個超綱題,把類圖畫出來。這不是我們在課上講解的內容,但我猜想你一定可以自己搞定。要注意哦,從現在開始就要養成:沒有困難,製造困難也要上的習慣了~~。
以上作業,我們還沒加入測試協作。但能做到這種程度,說明你已經會寫程式碼了,同時對於SE階段的整個知識掌握的還不錯。
在未來的大作業中,我們將會整合更多的SPP流程,並且很重要的,我們要學會怎麼跟測試部打交道哦。
華麗分割線
===========================================================
最課程JavaEE+網際網路分散式新技術開班進行中,來http://www.zuikc.com看看吧。你想參加不一樣的培訓班,並且一畢業就NB,那就來加入我們吧;
更多技術文章和開班資訊請加入,
QQ群: