【正文】
的角度查看簡單的流程管理。這樣,流程的存儲,操作均可以由計算機 編程來自動化實現(xiàn),這套系統(tǒng)是可行的。 系統(tǒng)的基本功能 整個系統(tǒng)分為流程的定義維護和流程的管理實現(xiàn)兩大塊功能。其功能細節(jié)如下: 流程定義部分: 1) 流程基本信息的修改和創(chuàng)建 2) 流程對象屬性的修改、創(chuàng)建、刪除 3) 流程狀態(tài)的修改、創(chuàng)建、刪除 4) 流程線的修改、創(chuàng)建、刪除 5) 流程的刪除 6) 角色信息的創(chuàng)建和修改 7) 角色權(quán)限信息的編輯 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 5 8) 角色信息的刪除 9) 用戶信息的創(chuàng)建和修改 10) 用戶信息的刪除 流程運行部分: 1) 登陸 2) 修改基本信息 3) 流程對象的創(chuàng)建 4) 流程對象列表的查看 5) 流程對象的刪除 6) 流程對象狀態(tài)的改變 7) 流程對象詳細信息的查看與修改 數(shù)據(jù)庫的設(shè)計 由于本系統(tǒng)是一套通用的流程系統(tǒng)。數(shù)據(jù)庫的設(shè)計不會拘泥于任何已經(jīng)有的流程管理模式。也就是說。我們需要設(shè)計一套完全靈活,可以適應(yīng)于大多數(shù)場合的數(shù)據(jù)庫。 在 中已經(jīng)分析過系統(tǒng)的可行性??梢詫⑾到y(tǒng)存儲為一個有向圖,設(shè)計數(shù)據(jù)庫來完成流程運轉(zhuǎn)的算法,盡量少考慮業(yè)務(wù)上的邏輯,這樣設(shè)計出的系統(tǒng)是最通用的。 數(shù)據(jù)庫設(shè)計的概念模型參見附圖 1。 表 flow 存放一個流程的最基礎(chǔ)信息,主要包括流程名稱,流程對象的名稱。 表 flow_state 存放流程的一個活動,也即流程對象的一個狀態(tài)。抽象的說,flow_states 存放有向圖 的一個節(jié)點。這個表包括流程狀態(tài)的名稱。 表 flow_line 存放一個流程線,即流程活動之間的轉(zhuǎn)換關(guān)系。抽象的說,flow_line 存放有向圖的一個邊。 flow、 flow_state、 flow_line 構(gòu)成了流程,也即一個有向圖的基本信息。 object_property 定義了流程對象所可能有的屬性。 flow、 flow_state、 flow_line、 object_property 的數(shù)據(jù)是在流程的定義階段生成的。這些數(shù)據(jù)將在之后的流程控制和交互階段影響整個系統(tǒng)的運作。 表 flow_object 存放了每一個 在流程中的流程對象的當前狀態(tài)。主要包括對象名稱和對象當前狀態(tài)。系統(tǒng)按照之前已有的定義,按照規(guī)則和用戶的操作,逐步改變對象的狀態(tài),完成流程管理的職責(zé)。 表 object_value 存放了流程對象所具有的屬性值。每一個屬性在object_propety 表中都有過定義。 表 role、 user 構(gòu)成了權(quán)限系統(tǒng),存儲了操作流程的角色信息和它們的權(quán)限。 以上這些構(gòu)成了一個通用流程的所有必要元素,有這些數(shù)據(jù)表的支持,這個系統(tǒng)就可以工作了。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 6 另外,表 history 存放了對象的狀態(tài)轉(zhuǎn)化歷史。主要有狀態(tài)轉(zhuǎn)化的執(zhí)行人,被轉(zhuǎn)化的對象, 目的狀態(tài)。 總體設(shè)計及所用技術(shù) 系統(tǒng)采用 B/S 架構(gòu),所有的功能在瀏覽器中呈現(xiàn)。采用 Java 技術(shù)。項目將運行在 Tomcat 服務(wù)器下。前臺表現(xiàn)層使用 JSP 實現(xiàn),配合 Spring 的 Web MVC 框架。業(yè)務(wù)層采用輕量級的 Spring IoC 容器。采用 Hibernate作為持久層。采用 MySQL作為數(shù)據(jù)庫。 這一套方案是完全開源,免費的。 Spring 是一個輕量級的,強大的應(yīng)用程序框架,提供了許多開始一個應(yīng)用程序所必要的元素。 Hibernate 是一個成熟的持久層框架,使用它可以很好的分離業(yè)務(wù)邏輯和底層數(shù)據(jù)庫的操作邏輯, 提高開發(fā)效率。而 MySQL 同樣是一套優(yōu)秀的,已經(jīng)應(yīng)用于很多場合的數(shù)據(jù)庫系統(tǒng)。利用以上這些技術(shù),我們的系統(tǒng)就可以是低成本的,靈活的。而 Spring 和 Hibernate 的搭配使用也可以讓我們靈活的應(yīng)變可能的需求變更。 3. 進度安排,目標及其他 為完成項目已具備的條件和所需經(jīng)費 如本報告所述,項目已經(jīng)完成的工作有計算機模型的建立,需求分析和數(shù)據(jù)庫設(shè)計。技術(shù)方面,由于在之前的項目中已經(jīng)應(yīng)用了大量 Hibernate 框架的內(nèi)容,因此我對這部分比較熟悉。對于 Spring 框架相對比較陌生,需要一段時間來熟悉。 開發(fā)中所使用的計 算機、正版軟件、必要的資料完全由中興軟件技術(shù)(南昌)有限公司提供。 項目參與人員以及分工 這個項目由我提出,是由另一個合作項目 Bug 管理系統(tǒng)生發(fā)而來。原項目設(shè)計為可以自定義 Bug 的處理流程,由此想到做出一個通用的流程系統(tǒng)。但即使如此,原項目的設(shè)計已經(jīng)與 Bug 處理的流程緊密耦合在一起,無法做成通用系統(tǒng),因此可以說這是一套全新的系統(tǒng),基本上將由本人獨立完成。 項目的目標 由于項目參與人員有限,項目的需求已被縮小到最少。項目的目標大致有兩個:業(yè)務(wù)上,體現(xiàn)出通用流程的思想,制作一套可用的管理系統(tǒng);技術(shù)上,充分發(fā)掘 Spring 和 Hibernate 框架的優(yōu)勢,做一套高質(zhì)量,易擴展的 Web 應(yīng)用系統(tǒng)。 項目的最低目標是完成以上的各項需求。視時間,一些可以擴展的功能設(shè)想如下: ? 流程定義部分,采用直觀的圖形化的方式提供給管理員。管理員可以像畫圖一樣,定義出一個完整的流程。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 7 ? 設(shè)計定義一套接口使得系統(tǒng)可以與其他企業(yè)的既有系統(tǒng)聯(lián)合,使得系統(tǒng)可以成為企業(yè)的一個簡單流程管理組件。這主要體現(xiàn)在數(shù)據(jù)庫上的聯(lián)合。 項目的進度計劃 開始時間 進行項目 預(yù)計時間 20211128 學(xué)習(xí) Spring 框架的相關(guān)知識 2 周 20211112 系統(tǒng)的總體設(shè)計和詳細設(shè)計 3 周 202112 系統(tǒng)的界面設(shè)計 1 周 202119 系統(tǒng)的編碼 4 周 202126 系統(tǒng)的測試和完善 2 周 表 31 項目的進度計劃 預(yù)計 14 周完成。進度中沒有考慮到休息日,期間包括各種文檔的編寫。若項目在進度期內(nèi)順利進行,可以考慮完成一些擴展的功能。 可能遇到的困難 Spring 框架盡管是輕量級的,但是它很龐大,其中體現(xiàn)出的設(shè)計思想是很復(fù)雜的。因此完全的理解好 Spring 框架,利用它做出良好的應(yīng)用程序并不容易。在制作中,我計劃多參考一些成功的 Spring 案 例,認真揣摩學(xué)習(xí)。 本系統(tǒng)的目標是可以真正實用,又要做到通用,這需要很多的權(quán)衡,取舍。由此在之后的開發(fā)過程中?,F(xiàn)有的一些設(shè)計,需求分析可能要幾經(jīng)修改。即使是在公司項目中,這樣的現(xiàn)象也是很常見或者幾乎無法避免的。因此,從最開始的設(shè)計中,要考慮好今后的擴展。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 8 4. 參考文獻 1. 佚名.《公司流程管理》. 2. 陳志堅.《什么是流程再造》. 2021 年 9 月 3. 中興軟件項目內(nèi)部文檔.《 Bug 管理系統(tǒng)需求說明書》. 2021 年 11 月 4. 上海東蘭科技.《 LiveFlow 產(chǎn)品特色》. 2021 年 9 月 5. 蔣明煒 等.《工作流管理與 ERP 應(yīng)用》.《中國計算機報》. 2021 年 4 月 6. 上海東蘭科技.《什么是工作流》. 2021 年 9 月. 7. Hibernate 3 發(fā)行包.《 Hibernate Reference》. 2021 年 5 月 8. 夏昕.《 Spring 開發(fā)指南》. 2021 年 10 月 9. Rod Johnson. 《 J2EE Design and Development Without EJB》.電子工業(yè)出版社. JavaEye 譯. 2021 年 9 月第一版 10. Spring Framework 發(fā)行包.《 Spring Reference》. 2021 年 9 月 11. Johnson Vlissides.《 Design Patterns》.機械工業(yè)出版. 2021 年 5 月 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 9 附圖 1:數(shù)據(jù)庫設(shè)計概 念模型 f l o w _ s t a t e su s e r _ r o l el i n e _ s t a t e _ t o( D ) l i n e _ s t a t e _ f r o m( D ) r o l e _ l i n eo b j e ct _ s t a t eo b j e ct _ va l u e sp r o p e r t i e s _ va l u e so b j e ct _ h i s t o r yh i s t o r y_ u s e ro b j e ct _ p r o p e r t i e sh i s t o r y_ s t a t ef l o wflow_idf l o w _ n a m eo b j e ct _ n a m ef l o w _ d e s cpi A32V A 2 0 0V A 2 0 0T X T 5 0 0 0M M f l o w _ i d p i C o n ce p t u a l D a t a M o d e lM o d e l : T h e F l o w C D MP a ck a g e : D i a g r a m : 概念設(shè)計A u t h o r : 韓冰峰 D a t e : 2 0 0 5 1 1 2 3 V e r s i o n : 0 . 9o b j e ct _ p r o p e r t yproperty_idp r o p e r t y_ n a m epi A32V A 1 0 0M M p r o p e r t y_ i d p i f l o w _ s t a t estate_ids t a t e _ n a m es t a t e _ co m m e n ts t a t e _ t yp epi A32V A 1 0 0V A 2 0 0A1M M s t a t e _ i d p i r o l erole_idr o l e _ n a m er o l e _ d e s cpi A32V A 2 0 0V A 5 0 0M M r o l e _ i d p i u s e ruser_idu s e r _ n a m eu s e r _ p s wpi A32V A 1 0 0V A 1 0 0M M M u s e r _ i d p i f l o w _ o b j e ctobject_ido b j e ct _ n a m epi A32V A 2 0 0M M o b j e ct _ i d p i f l o w _ l i n eline_idl i n e _ co m m e n tpi A32V A 2 0 0Ml i n e _ i d p i o b j e ct _ va l u evalue_idp r o p e r t y_ va l u epi A32V A 2 0 0M M va l u e _ i d p i h i s t o r yhistory_ido ccu r e d _ t i m eo ccu r e d _ co m m e n tpi A32DTT X T 2 0 0 0M M h i s t o r y_ i d p i 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)開題報告 10 附錄 1:哈爾濱工業(yè)大學(xué)畢業(yè)設(shè)計(論文)任務(wù)書 姓 名: YYY 院(系):軟件學(xué)院 專 業(yè):軟件工程 班 號: 任務(wù)起止日期: 2021 年 11 月 28 日至 2021 年 5 月 31 日 畢業(yè)設(shè)計(論文)題目: B/S 架構(gòu)下通用簡單流程管理系統(tǒng)的實現(xiàn) 立題的目的和意義: 流程管理常見而重要。首先,在企業(yè)方面,公司的產(chǎn)品和服務(wù)都要靠流程來體現(xiàn),因此流程管理和流程控制是 公司整體功能中最重要的部分 。流程是連接企業(yè)生產(chǎn)和 客戶需求的紐帶。流程的好壞和產(chǎn)品,服務(wù)的質(zhì)量有直接的關(guān)系。流程控制的好壞是衡量公司管理水平的標準之一。 流程管理也可以加強公司各部門之間的協(xié)作。公司在具體事務(wù)的運作上,不可避免的要涉及到員工與員工之間、部門與部門之間的協(xié)同配合。在企業(yè)中很常見的問題就是各部門之間職責(zé)重疊,職責(zé)不清,互相推諉。有效的流程管理可以解決這些問題。 雖然流程管理最常見于企業(yè)之中,流程的思想在其他方面都有應(yīng)用。如在軟件質(zhì)量管理中常見的 Bug 管理就是一種典型的流程管理。在其他場合,一些有著確定步驟的處理過程也可以表達為流程管理。 綜上所 述,隨處可見的簡單的流程管理,無論應(yīng)用在何處,都有很大的共同點。經(jīng)過計算機科學(xué)的抽象,完全可以制作出一個 花費小,功能精煉的通用簡單流程系統(tǒng)。制作這一套系統(tǒng)是可行的且有必要的。