汪虹++曹維祥
摘要:用例分析技術(shù)從用戶的角度發(fā)現(xiàn)、記錄、捕獲正確的功能性需求,文章以醫(yī)院門(mén)診業(yè)務(wù)為例,探討了用例分析技術(shù)在需求分析階段的使用,通過(guò)涉眾分析、系統(tǒng)邊界界定、概要級(jí)用例分解逐步得到正確的系統(tǒng)用例。
關(guān)鍵詞:用例;醫(yī)院信息化;門(mén)診
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)03-0013-02
當(dāng)今計(jì)算機(jī)軟件的規(guī)模越來(lái)越大,為保障軟件質(zhì)量,必須按工程化原則和方法進(jìn)行軟件開(kāi)發(fā)?;诠こ袒能浖_(kāi)發(fā),將軟件生存期大致分為:可行性研究、需求分析、設(shè)計(jì)、編碼、測(cè)試、維護(hù)等階段,其中位于開(kāi)發(fā)過(guò)程早期的需求分析工作非常重要,錯(cuò)誤的需求將導(dǎo)致后續(xù)各階段的調(diào)整,工程的延期,直至項(xiàng)目開(kāi)發(fā)的失敗。早期的需求分析側(cè)重功能性需求,用例分析技術(shù)可以從用戶的角度發(fā)現(xiàn)、記錄正確的用戶需求。
1 用例和用例分析
1.1 用例
用例也稱使用案例,是項(xiàng)目相關(guān)人員就系統(tǒng)的形為所達(dá)成的契約,通常一個(gè)用例由多個(gè)場(chǎng)景組成,每個(gè)場(chǎng)景描述了主執(zhí)行者與系統(tǒng)間的一系列交互,并最終達(dá)到主執(zhí)行者的價(jià)值目標(biāo),簡(jiǎn)而言之,每個(gè)用例描述了主執(zhí)行者期望通過(guò)系統(tǒng)可實(shí)現(xiàn)的價(jià)值目標(biāo)。
用例與傳統(tǒng)功能分解的區(qū)別是:用例是從用戶的角度所看到的系統(tǒng)應(yīng)為其提供的功能,而功能分解通常是從程序員的角度所設(shè)想的系統(tǒng)應(yīng)有的功能。
1.2 用例分析
用例分析的初期先分析涉眾及其目標(biāo),進(jìn)而找出系統(tǒng)的主執(zhí)行者,同時(shí)分析系統(tǒng)的邊界,明確要設(shè)計(jì)系統(tǒng)的范圍。用例分析初期建構(gòu)的是概要級(jí)用例,用于描述系統(tǒng)的業(yè)務(wù),對(duì)概要級(jí)用例進(jìn)行分解得到用戶目標(biāo)級(jí)用例,該級(jí)別的用例是最主要的用例模型,最后對(duì)用戶目標(biāo)級(jí)用例進(jìn)行重構(gòu),得到擴(kuò)展或包含關(guān)系的子功能級(jí)用例。
1.3 用例描述
用例模型包括用例圖和用例描述,文字形式的用例描述是用例模型的主要部分,描述了執(zhí)行者與系統(tǒng)具體的交互,并最終達(dá)到某一價(jià)值目標(biāo),用例描述應(yīng)使用主動(dòng)語(yǔ)態(tài),描述執(zhí)行者或系統(tǒng)的目標(biāo),而不是具體動(dòng)作,如應(yīng)使用“科員提交信息”而不是“科員點(diǎn)擊確定按鈕”。
2 醫(yī)院信息化系統(tǒng)需求分析
醫(yī)院實(shí)際業(yè)務(wù)繁多,不僅有針對(duì)患者的看病等相關(guān)業(yè)務(wù),還有科研、教育等業(yè)務(wù),文章篇幅有限,僅以患者通過(guò)門(mén)診就醫(yī)為例進(jìn)行分析,用例描述采用簡(jiǎn)述形式。
2.1 涉眾分析
門(mén)診就醫(yī)業(yè)務(wù)會(huì)涉及到患者、收款處科員、分診護(hù)士、診室醫(yī)生、藥房科員、檢驗(yàn)等各醫(yī)技科室,下表以患者、收款處科員、診室醫(yī)生三個(gè)典型的涉眾為例進(jìn)行分析,對(duì)于門(mén)診就醫(yī)業(yè)務(wù)來(lái)說(shuō)患者是主執(zhí)行者,患者在系統(tǒng)外并主動(dòng)要求門(mén)診服務(wù),而收款處科員、診室醫(yī)生等系統(tǒng)內(nèi)的是業(yè)務(wù)工人。
2.2 概要級(jí)用例
對(duì)于普通患者而言,醫(yī)院最主要的功能就是提供看病治療服務(wù),門(mén)診就醫(yī)針對(duì)的是一般疾病且病癥較輕的患者,只需要經(jīng)過(guò)簡(jiǎn)單的檢查、治療,患者通常希望得到快捷的高質(zhì)量服務(wù),而住院治療服務(wù)針對(duì)的是病情較重等達(dá)到住院標(biāo)準(zhǔn)的患者,患者通常希望能治愈疾病。
圖1 患者看病治療業(yè)務(wù)用例
門(mén)診就醫(yī)業(yè)務(wù)用例的用例描述如下。
用例名稱:門(mén)診就醫(yī)。
層次:概要級(jí)。
基本事件流:患者到收費(fèi)處掛號(hào),收費(fèi)處科員收取費(fèi)用,詢問(wèn)患者姓名、年齡等基本信息并填寫(xiě)病歷卡,患者攜病歷卡到對(duì)應(yīng)門(mén)診科室就診,診室醫(yī)生再次詢問(wèn)患者姓名、病情等信息,填寫(xiě)檢查申請(qǐng)單,診室醫(yī)生診斷病情,給出初步檢查建議,診室醫(yī)生開(kāi)具處方,患者根據(jù)情況到收費(fèi)處繳納對(duì)應(yīng)費(fèi)用,收費(fèi)處手工劃價(jià)然后收取費(fèi)用,開(kāi)具單據(jù),患者攜病歷卡、處方和單據(jù)到對(duì)應(yīng)科室完成檢查/取藥等,患者攜檢查結(jié)果再次到對(duì)應(yīng)門(mén)診科室就診,診室醫(yī)生根據(jù)檢查數(shù)據(jù)診斷病情,給出治療結(jié)果,患者進(jìn)行治療,本用例結(jié)束。
擴(kuò)展事件流:略。
2.3 用戶目標(biāo)級(jí)用例
根據(jù)業(yè)務(wù)用例的用例描述,實(shí)現(xiàn)該業(yè)務(wù)的活動(dòng)圖或序列圖,結(jié)合信息技術(shù)對(duì)業(yè)務(wù)流程進(jìn)行優(yōu)化,并將活動(dòng)圖或序列圖中步驟映射為用戶目標(biāo)級(jí)用例,也稱系統(tǒng)用例,就診業(yè)務(wù)的系統(tǒng)用例圖如圖2。
圖2 就診系統(tǒng)用例圖
以建卡為例,建卡用例描述如下。
用例名稱:建卡。
層次: 用戶目標(biāo)級(jí)。
基本事件流:患者到收費(fèi)處要求建卡,收費(fèi)處科員首先采集患者基本信息,包括:患者姓名,性別、身份證號(hào)和家庭地址,收費(fèi)處科員向患者確認(rèn)信息后,取出新就診卡,讀取卡號(hào)并將將基本信息寫(xiě)入就診卡,系統(tǒng)生成就診流水號(hào)后,更新后臺(tái)信息,收費(fèi)處科員向患者發(fā)放就診卡,本用例結(jié)束。
擴(kuò)展事件流:略。
2.4 子功能級(jí)用例
在圖2中掛號(hào)和就診用例均包含收費(fèi)子用例,而分診用例根據(jù)科室情況擴(kuò)展為人工呼號(hào)和排隊(duì)叫號(hào)子用例。
2.5 系統(tǒng)邊界
在用例分析的過(guò)程中需要注意系統(tǒng)邊界的變化,如在業(yè)務(wù)分析階段,如果以收費(fèi)處為邊界研究掛號(hào),主執(zhí)行者是患者,收費(fèi)處科員是系統(tǒng)內(nèi)的業(yè)務(wù)工人,但在系統(tǒng)用例分析階段,以將要設(shè)計(jì)的軟件系統(tǒng)為邊界,使用軟件系統(tǒng)的是收費(fèi)處科員,主執(zhí)行者變成了收費(fèi)處科員。
3 結(jié)束語(yǔ)
用例分析技術(shù)可以有效的發(fā)現(xiàn)、記錄、捕獲正確的功能性需求,其最大的價(jià)值是從用戶的角度捕獲需求,從而防止因錯(cuò)誤需求而導(dǎo)致的軟件開(kāi)發(fā)失敗。
參考文獻(xiàn):
[1] Alistair Cockbur. 編寫(xiě)有效用例[M]. 王雷, 張莉,譯. 北京: 機(jī)械工業(yè)出版社, 2002.
[2] Larman C. UML和模式應(yīng)用[M]. 李洋, 鄭,譯.3版.北京: 機(jī)械工業(yè)出版社, 2006.
[3] 周巖. 用例分析技術(shù)在醫(yī)院門(mén)診信息系統(tǒng)需求分析中的應(yīng)用[J]. 中國(guó)醫(yī)院教育技術(shù), 2012(1).