會計專業預算方向實習日記

20xx-2-25

這次實習所需的基本知識基本上都介紹過了,今天正式轉入開發階段。這次實習做的是一個費用管理系統,上午開始討論這個系統需求分析,包括實現項目預算,費用報銷,人事管理和一些統計的功能,老師把整個系統的框架給我們做了一些大體的講解,希望我們能在接下來的幾天裡去多思考,深化需求分析,細化功能設計。系統有組織結構維護,費用項目維護,審批流程維護,報銷明細模組,以及人員管理和一些統計的功能。每一個模組都是對系統功能模組的調整與維護。

人員管理有添加員工的功能,可以對添加的人員進行修改和刪除,並給新增的員工分配許可權。

ø 費用項目維護模組:可以進行費用項目的添加和提交。

ø 報銷模組可以對報銷的項目在未提交之前進行刪除和修改。

ø 統計模組主要是統計員工提交的報銷單預算單,及每個部門的項目信息和員工信息等。

所有這些操作都是直接對資料庫直接進行操作。整個系統都是分角色登入,每一個角色所擁有的許可權都不完全相同,登入進去的選單欄都有所不同,所以每個員工都應該有一個角色,即有哪些操作許可權。所有的功能和流程理清楚之後,就要開始原型設計了。

20xx-2-26

經過對需求分析的進一步理解,接下來我們開始這個項目的原型設計。我們所開發的費用管理系統主要包括費用報銷、項目預算管理、員工管理、公司的項目信息維護及管理、財務處項目信息的統計功能。圍繞這幾個功能模組,我們逐個對其功能進行細節設計,比如分不同角色登入系統,登入界面都是通用的,每個用戶都用自己的編號進行登入,系統會根據用戶的編號進行匹配查找,找到角色id之後進入對應的管理界面。進入管理界面之後,就可以新增費用報銷,可以對添加的費用報銷單在未提交之前進行修改、刪除操作,確定之後就可以提交,系統會根據session中保存的該用戶的編號查找到所在的部門,然後把用戶提交的申請表保存到該部門經理處,當該部門經理登入時就可以看到部門員工提交的申請表單,然後進行審批等操作。所有的邏輯統一之後,我們分工開始做jsp界面和之間的邏輯跳轉。經過一天的時間系統總算有個雛形了,。設計完大體的功能框架後,我們與老師一起開了一個小組討論會,我們向老師說明了我們的想法及大體的開發方向,老師也想我們提出了一些建議,經過一番熱烈的爭論,我們對自己的模型做了進一步的改動,功能設計也得到進一步完善。功能框架的設計是整個開發階段十分重要的工作,指導小組進行後面具體的開發。功能設計的準確和完善也能夠幫助我們在以後的開發中少走彎路,達到事半功倍的效果。原型設計的完成是我們小組成員齊心協力共同完成的,這也讓我們感受到了團隊工作的重要性和強大力量。

20xx-2-28 星期一

今天,我們的主要工作是根據昨天的原型設計,做出功能展示頁面,並實現基本的跳轉。由於這些只是一個邏輯的跳轉,沒有真正和資料庫互動,因此幾個超連結就可以把所有界面聯繫到一塊,再加上一些javascript的提示框,原型幫助我們更深入的理解了這個系統的流程及功能。下午我們就開始了資料庫建表、物理模型的設計以及概念設計。根據需求分析及原型,我們很快就確定了系統需要的數據表,包括用戶的基本信息、用戶的角色id、報銷申請表單、預算申請表單、部門項目信息等,以及每個表裡面所需的欄位,通過在資料庫中建表,sql語句的用法更加熟練。根據這些數據表,物理模型也很快就完成了。因為資料庫是整個系統的關鍵所在,所有前台的操作都要和資料庫互動,所以它設計的好壞直接影響到之後程式的編寫。接下來我們繼續討論我們建立的表的冗餘性以及合理性等,在老師的指導下,我們對部分表進行了相應的修改。

20xx-3-1

在昨天的基礎上,我們進行了再次討論,資料庫的設計最終確定下來。接下來就開始了編碼,建立整個系統的框架由我負責,按照開發的流程,首先根據數據表建立實體層,也就是javabean,然後寫資料庫連線,數據訪問層,業務邏輯層,控制層,整個框架搭建好之後,有利用老師講的junit,寫了測試程式,對所寫的程式進行初步測試,資料庫連線的測試順利通過。資料庫連通之後,下一步工作就是用戶的分角色登入,事先在資料庫中插入了一些用戶信息,將角色分為五類,然後在數據訪問層建立一個dao類,創建函式用於從資料庫中讀取用戶的角色id,然後在業務邏輯層判斷dao層函式返回的值是否為空,如果不為空則在控制層的servlet類中就可以進行判斷分角色登入;若dao層函式返回的值為空,則說明該用戶名與密碼有誤,當用戶點擊登入按鈕時將轉到錯誤提示的頁面。當這些全部完成之後,我們開始進行測試,但測試全未能如願以償。調試、檢查了很久全未能發現錯在哪裡。今天沒能順利完成計畫好的任務,深受打擊啊,不過沒關係,遇到問題,解決問題,也許會學到跟多知識。

20xx-3-2

上午接著做昨天未能完成的任務,調試了兩個多小時還是未能所獲,只有請教老師了,看著老師在debug模式下很快就找了出錯的地方,原來在dao層寫sql語句時後面多了一個逗號,看來編程也是需要非常的細心。總結了失敗的原因,記住教訓,一定不能再出現這樣的低級錯誤,而導致降低效率。這一步總算通過之後,我們開始著手不同角色所擁有的操作許可權,比如普通員工只有報銷申請的許可權(新增報銷單、刪除、修改、提交、查看等功能),部門經理不僅有報銷申請的許可權,還有審核部門員工提交的報銷申請單和預算申請、部門項目管理等許可權,每一種角色登入到操作界面的功能按鈕不盡相同,所以當普通角色登入後,審核、預算等按鈕必須隱藏或者不可用。但是我們之前的界面里的按鈕實現隱藏與子選單都很難實現,所以不得不考慮改變策略。之後經過討論我們將整個頁面布局改變為框架模式,左邊顯示樹形選單,top'frame顯示logo,mainframe顯示主顯示頁面,bottomframe顯示版權資訊以及系統時間。這樣我們貌似又回到了原型設計,,還是沒有項目經驗,最初就沒有考慮清除。

20xx-3-3

涉及到的jsp界面還比較多,每一個頁面都是用html一句一句寫出來,再加上css樣式,所以半天的時間也沒有完成,今天上午繼續完成。當所有的界面完成之後,開始了第一個功能模組的編碼。當用戶登入到自己的主頁時,顯示的都是歡迎界面,當用戶點擊報銷單管理時,必須根據用戶編號動態的從資料庫中提取其所有的報銷單信息,然後顯示在展示界面上,用戶的編號的、是在用戶登入時將用戶編號存儲在session中,默認該用戶登入系統30分鐘內沒有操作的話,自動讓該用戶註銷登入。當點擊報銷單管理按鈕時,將用戶請求轉到servlet類中進行後台處理,讀取成功後,將這些信息傳到用戶的界面上,第一個原子功能實現後,我們更加有信心來完成其他模組的編碼。原來一個真正的系統也應該是這樣的原子操作組合而成的,從這一步的成功點燃了我們對編碼的興趣,不再畏懼和逃避。