劉建芳 李培然 史麗珂
摘要:結(jié)合畢業(yè)設(shè)計選題雙選管理業(yè)務(wù)流程中學(xué)生、教師、教研室主任的實際工作任務(wù),使用UML對軟件開發(fā)生命周期中的軟件需求分析過程進行分析和建模,主要完成了業(yè)務(wù)建模和用例建模兩個階段的工作,為后續(xù)系統(tǒng)設(shè)計與開發(fā)打下夯實的基礎(chǔ)。
關(guān)鍵詞:畢業(yè)設(shè)計雙選;UML建模;需求分析
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1009-3044(2018)09-0083-03
Abstract: Combining with the actual tasks of students, teachers and Director of the teaching and research section in the dual selection management business process of graduation design,using UML to analyze and model the software requirements analysis process in the software development life cycle,this paper mainly completed two phases of work including the business modeling and use case modeling , which lays a solid foundation for the follow-up system design and development.
Key words: graduation-design dual-selection; UML modeling; demand analysis
1 概述
近年來,隨著平頂山學(xué)院辦學(xué)規(guī)模的擴大,畢業(yè)生人數(shù)的增加,對于畢業(yè)生的畢業(yè)設(shè)計選題的管理難度也在逐年上升。長期以來,我校的教學(xué)管理工作人員使用人工方式進行畢業(yè)設(shè)計選題的管理,存在著許多缺點,如:效率低、容易出錯,實時性和互動性不強、選題過程難以得到很好的保留等,同時也給學(xué)校的工作帶來很大的不便。結(jié)合管理辦法,開發(fā)畢業(yè)設(shè)計雙選系統(tǒng)將有效的解決這一問題。本文將使用UML(United Modeling Language,統(tǒng)一建模語言)對系統(tǒng)開發(fā)過程中的需求分析工作展開建模。
2 業(yè)務(wù)建模
能否滿足用戶需求,是判定一個軟件產(chǎn)品是否符合標準的重要依據(jù),而如何深入理解需求、定義需求便是需求分析階段的任務(wù)[1]。本部分將根據(jù)用戶的需求給出實際業(yè)務(wù)的詳細分析,最后根據(jù)實際業(yè)務(wù)需求導(dǎo)出系統(tǒng)需求。在需求的基礎(chǔ)上,對系統(tǒng)的功能進行描述,最后進行用例建模。
對實際業(yè)務(wù)的分析是軟件開發(fā)過程中的一個必要階段,將為后期的開發(fā)奠定良好的基礎(chǔ)。本部分將使用軟件建模方法,針對平頂山學(xué)院畢業(yè)設(shè)計的選題過程進行業(yè)務(wù)建模。
2.1業(yè)務(wù)現(xiàn)狀
畢業(yè)設(shè)計是在指導(dǎo)老師的指導(dǎo)下,學(xué)生利用所學(xué)的知識和技能,結(jié)合實際應(yīng)用中的某一選題進行分析、研究和解決問題的過程。我校畢業(yè)設(shè)計選題的業(yè)務(wù)流程如下:每學(xué)年開始選題之前,由每個院系的教師申報課題,院系教研室主任進行審核,審核未通過的課題本學(xué)年將不再進行第二次申報,審核通過的課題進行發(fā)布,可由學(xué)生選擇。學(xué)生在課下選擇課題,指導(dǎo)老師則為該課題的出題老師,最后統(tǒng)一上報給院系,選題過程完成。
2.2識別業(yè)務(wù)參與者
業(yè)務(wù)參與者:在業(yè)務(wù)邊界之外,與業(yè)務(wù)進行交互的人或組織,它接受業(yè)務(wù)提供的服務(wù),并關(guān)注業(yè)務(wù)產(chǎn)生的結(jié)果[2]。
從業(yè)務(wù)描述中可以看出,對于畢業(yè)設(shè)計選題這一業(yè)務(wù),教師負責(zé)申報課題,教研室主任對申報的課題進行審核,學(xué)生進行選題,他們都直接參與到業(yè)務(wù)流程中,因此本業(yè)務(wù)中的參與者為:教師、學(xué)生和教研室主任。
2.3業(yè)務(wù)用例圖
業(yè)務(wù)用例:展示了業(yè)務(wù)的外部視圖,它確定了業(yè)務(wù)為了向業(yè)務(wù)參與者交付期望結(jié)果,需要執(zhí)行什么流程;同時還確定了,在執(zhí)行業(yè)務(wù)用例時,業(yè)務(wù)與業(yè)務(wù)參與者之間需要進行哪些交互[3]。從教研室主任角度,作為教研室的負責(zé)人,需要審核教師申報的課題,此業(yè)務(wù)可以以作為一個業(yè)務(wù)用例。從教師角度,作為課題的提供者,教師有申報課題的業(yè)務(wù),此業(yè)務(wù)可以作為一個業(yè)務(wù)用例。從學(xué)生角度,作為選題業(yè)務(wù)的主要參與者,其主要業(yè)務(wù)為選擇畢業(yè)設(shè)計課題,此業(yè)務(wù)可以作為一個業(yè)務(wù)用例。
由以上分析已經(jīng)得出畢業(yè)設(shè)計選題業(yè)務(wù)中存在三個業(yè)務(wù)用例,下面將使用用例圖來描述業(yè)務(wù)用例,該模型能夠直觀清晰的反映業(yè)務(wù)的本質(zhì)特征。
學(xué)生用例圖:業(yè)務(wù)參與者是學(xué)生,為該業(yè)務(wù)參與者提供的業(yè)務(wù)服務(wù)為選擇課題。業(yè)務(wù)用例圖如圖1所示。
教師用例圖:業(yè)務(wù)參與者是教師,為該業(yè)務(wù)參與者提供的業(yè)務(wù)服務(wù)為申報課題。業(yè)務(wù)用例圖如圖2所示。
教研室主任用例圖:業(yè)務(wù)參與者是教研室主任,為該業(yè)務(wù)參與者提供的業(yè)務(wù)服務(wù)為審核課題。業(yè)務(wù)用例圖如圖3所示。
2.4業(yè)務(wù)用例描述
活動圖是一種行為模型,用于對系統(tǒng)的動態(tài)方面進行建模。它通過活動來組織,主要用于描述某一方法、機制或用例的內(nèi)部行為特征,它強調(diào)的是從活動到活動的控制流[4]。
畢業(yè)設(shè)計選題業(yè)務(wù)包含了三個業(yè)務(wù)用例,學(xué)生選題用例是在教師進行申報課題和教研室主任審核課題之后進行的,而審核課題以及學(xué)生選題都伴隨著各種活動和分支,而活動圖是一種很好的體現(xiàn)復(fù)雜的業(yè)務(wù)流程的圖形,因此為了更為清晰的描述整個選題業(yè)務(wù)的業(yè)務(wù)流程,下面將使用活動圖對選題業(yè)務(wù)進行描述,如圖4所示。
3系統(tǒng)用例建模
從業(yè)務(wù)到需求是定義一個系統(tǒng)要“做什么”的重要階段,該階段將為系統(tǒng)的開發(fā)指明方向。根據(jù)業(yè)務(wù)階段的分析,可以得出系統(tǒng)要實現(xiàn)以下功能。
在開始畢業(yè)設(shè)計選題之前,系統(tǒng)需要為教師提供申報課題的功能,用以完成課題的上傳;在申報課題時間段內(nèi),系統(tǒng)應(yīng)該為教師提供修改課題、刪除課題、查看課題的功能;為了滿足業(yè)務(wù)需求并且體現(xiàn)人性化理念,系統(tǒng)應(yīng)該提供教師選擇學(xué)生的功能;為了利于選擇學(xué)生,系統(tǒng)還應(yīng)該為教師提供查看學(xué)生信息的功能。在申報課題時,教師還可以查看歷年申報的課題;
教研室主任充當系統(tǒng)的管理員,因此系統(tǒng)狀態(tài)的設(shè)置由教研室主任來實現(xiàn)。系統(tǒng)需要為教研室主任提供審核課題的功能,用以完成課題的審核,在審核過程中,還應(yīng)該提供查看課題功能;為了使所有學(xué)生成功選到課題,系統(tǒng)還應(yīng)該提供調(diào)劑學(xué)生功能。
系統(tǒng)需要為學(xué)生提供選擇課題的功能,用以完成課題的選擇,在選題時間段內(nèi),學(xué)可以改選課題,為了方便選題,還應(yīng)該提供查看課題,查看出題教師功能;選題之后還要提供查看已選課題功能。
為了用戶能夠使用系統(tǒng),系統(tǒng)該需要為每個用戶提供登錄功能,此外,對于系統(tǒng)的三個參與者來說,應(yīng)提供修改個人信息功能,確保用戶的個人信息是真實有效的。
根據(jù)基本功能設(shè)計,對系統(tǒng)功能進行細化。細化后的系統(tǒng)功能的如下:
1)系統(tǒng)的狀態(tài)由教研室主任設(shè)置:教師申報課題狀態(tài)、教研室主任審核課題狀態(tài)、學(xué)生選擇課題狀態(tài)、教師選擇學(xué)生狀態(tài)、教研室主任調(diào)劑學(xué)生狀態(tài)。
2)教研室主任:教研室主任成功登錄系統(tǒng)后,可以修改個人信息,進行系統(tǒng)狀態(tài)設(shè)置,對教師上報的課題進行審核,在教師和學(xué)生完成雙向選擇之后,對沒有選到課題的學(xué)生進行調(diào)劑,確保每個學(xué)生都成功的選到畢業(yè)設(shè)計課題。
3)學(xué)生:學(xué)生成功登錄到系統(tǒng)后,可以修改個人信息,在規(guī)定時間內(nèi)進行選擇課題操作,選題過程中也可以對教師和課題信息進行查看,在規(guī)定時間內(nèi)還可以對已選的課題進行改選。
4)教師:教師成功登錄到系統(tǒng)后,可以修改個人信息,在規(guī)定時間內(nèi)進行申報課題操作,申報過程中也可以對已申報的課題進行查看、修改、刪除操作,在學(xué)生完成選擇課題之后,可以對學(xué)生進行選擇。
3.1識別系統(tǒng)參與者
系統(tǒng)參與者:在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進行有意義交互的任何事物[5]。
在教研室主任設(shè)定了系統(tǒng)的狀態(tài)后,是由時間來啟動的,因此時間是此系統(tǒng)的一個參與者。故系統(tǒng)參與者有:教研室主任、教師、學(xué)生和時間。
3.2識別系統(tǒng)用例
系統(tǒng)用例:規(guī)定系統(tǒng)或部分系統(tǒng)的行為,描述系統(tǒng)所執(zhí)行的動作系類集,并為執(zhí)行者產(chǎn)生一個可觀察的結(jié)果[6]。通過對需求的進一步分析,系統(tǒng)有7個用例,分別是:
1)登錄:驗證用戶身份。
2)修改個人信息:用戶修改個人基本信息。
3)申報課題:教師提供一些畢業(yè)設(shè)計課題供學(xué)生選擇。
4)審核課題:教研室主任對教師申報的課題進行審核。
5)選擇課題:學(xué)生選擇畢業(yè)設(shè)計課題。
6)選擇學(xué)生:教師對選擇自己作為指導(dǎo)老師的學(xué)生進一步選擇。
7)調(diào)劑學(xué)生:教研室主任對未選到課題的學(xué)生進行調(diào)劑。
3.3系統(tǒng)用例圖
通過對系統(tǒng)需求和功能的分析,繪制出本系統(tǒng)的學(xué)生用例圖如圖5所示。
3.4編寫用例規(guī)約
用例文檔是用來描述用例與外界交互的規(guī)格說明書,通過交互過程最終實現(xiàn)外界參與者的目標。在完成用例圖之后,對系統(tǒng)中的每一個用例采用用例文檔進行詳細描述[7]。下面以學(xué)生“選擇課題”為例,進行用例規(guī)約如下所示。
用例名:選擇課題
參與者:學(xué)生
簡要描述:學(xué)生通過該用例完成選題操作
前置條件:學(xué)生成功登錄到系統(tǒng),系統(tǒng)狀態(tài)為學(xué)生選擇課題狀態(tài);
后置條件:如果選題成功,學(xué)生的選題信息被記錄到系統(tǒng)中;
基本事件流:
1)該用例起始于學(xué)生需要通過系統(tǒng)進行選題;
2)學(xué)生查詢所有可選課題(A-1);
3)系統(tǒng)顯示可選的課題;
4)學(xué)生選擇一個課題查看課題詳細信息(D-1);
5)系統(tǒng)顯示課題詳細信息;
6)學(xué)生選擇課題并提交選擇結(jié)果;
7)系統(tǒng)保存本次選題信息,并提示學(xué)生選題成功,用例結(jié)束(A-2)(D-2)。
備選事件流:
A-*.學(xué)生在提交信息前,隨時都可能中止本次選課
1.系統(tǒng)顯示中止確認的消息。
2.學(xué)生可以結(jié)束該用例,也可以選擇繼續(xù)。
A-1.查詢不到可選的課題
1.系統(tǒng)顯示沒有可選的課題。
2.學(xué)生可重新查詢,也可以結(jié)束該用例。
A-2.系統(tǒng)保存信息失敗
1.系統(tǒng)提示保存信息,并提醒學(xué)生重新提交。
2.學(xué)生可重新提交本次選課信息,也可以結(jié)束該用例。
補充約束-數(shù)據(jù)需求:
D-1 課題信息包括:課題編號,課題名稱,出題教師編號,課題難度,選題所屬學(xué)年,課題類型編號,適用專業(yè),審核狀態(tài),選擇狀態(tài),所屬教研室編號,可帶學(xué)生人數(shù),課題內(nèi)容,選題模式;
D-2 選題信息包括:選題編號,學(xué)號,課題編號,指導(dǎo)老師編號,狀態(tài);
補充約束-業(yè)務(wù)規(guī)則:
A-1 每個學(xué)生只能在可選題時間段選題,每個學(xué)生能選多個課題,每個課題能被多個學(xué)生選擇。
下面以教師“申報課題”為例,進行用例規(guī)約如下所示。
用例名:教師申報課題
參與者:教師
簡要描述:教師通過該用例為學(xué)生提供能選擇的畢業(yè)設(shè)計課題,并通過系統(tǒng)上傳。
前置條件:教師成功登錄該系統(tǒng)。
后置條件:審核通過的課題可供學(xué)生選擇。
基本事件流:
1)該用例起始于教師通過該系統(tǒng)申報課題(D-1);
2)教師選擇課題上傳(A-1)(B-1);
3)系統(tǒng)保存本次上傳,用例結(jié)束。
備選事件流:
A-*教師在提交發(fā)布課題時可以隨時結(jié)束本次發(fā)布。
1.系統(tǒng)顯示終止確認消息。
2.教師可以選擇結(jié)束本用例,也可以繼續(xù)選擇。
A-1系統(tǒng)保存失敗
1.系統(tǒng)提示上傳失敗。
2教師可以重新提交本課題,也可以選擇其他操作。
補充約束-數(shù)據(jù)需求:
D-1課題信息包括:課題編號,課題名稱,出題教師編號,課題難度,選題所屬學(xué)年,課題類型編號(課題性質(zhì)),適用專業(yè),審核狀態(tài),選擇狀態(tài),可帶學(xué)生人數(shù),課題內(nèi)容,選題模式
補充約束-業(yè)務(wù)規(guī)則。
B-1教師應(yīng)該在學(xué)生選課之前申報課題,一個教師可以申報多個課題。
補充約束-非功能需求:
考慮到以后會添加在線留言與回復(fù)功能,要為留言回復(fù)功能預(yù)留接口。
4 總結(jié)
本文結(jié)合平頂山學(xué)院畢業(yè)設(shè)計過程中的雙選工作流程,借助UML建模語言,使用Rational Rose建模工具,從業(yè)務(wù)建模和用例建模兩個步驟完成系統(tǒng)的需求分析與建模,為后續(xù)系統(tǒng)的設(shè)計與開發(fā)打下基礎(chǔ)。
參考文獻:
[1] 冀振燕.UML系統(tǒng)分析與設(shè)計教程[M].北京:人民郵電出版社,2014.
[2] 張家浩.軟件系統(tǒng)分析與設(shè)計實訓(xùn)教程[M].北京:清華大學(xué)出版社,2016.
[3] 譚火彬.UML2面向?qū)ο蠓治雠c設(shè)計[M].北京:清華大學(xué)出版社,2013.
[4] 竇萬峰.軟件工程方法與實踐[M].北京:機械工業(yè)出版社,2013.
[5] 鄭浩.基于SSH的畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2012.
[6] 王河媛,劉明慧.基于UML的視頻點播系統(tǒng)的設(shè)計要點分析[J].計算機與數(shù)字工程,2016(1).
[7] 王忠波,羅喜伶,齊鳴,等.基于UML和XSD的航班信息交換模型研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2017(3).