夏成嬌 張 瑾 翟付群 邵雅麗
[摘要]對某高校教材銷售系統(tǒng)開發(fā)過程的需求改進,詳細介紹軟件需求分析階段進一步改進系統(tǒng)必須具備的功能。采用數(shù)據(jù)流圖[1]、數(shù)據(jù)字典[1]描述軟件邏輯模型;根據(jù)實際情況指出此階段確定的系統(tǒng)功能存在的不足和缺點;進一步改進系統(tǒng)功能需求。軟件需求分析[2]是軟件工程中重要的一步,直接關(guān)系到后繼工程的進行以及最終的產(chǎn)品能否滿足用戶的需求,一次在整個工程中起著關(guān)鍵作用。
[關(guān)鍵詞]教材銷售[3] 需求分析 數(shù)據(jù)流圖 動態(tài)建模
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0920074-01
一、引言
需求分析的根本任務(wù)之一是確定軟件所必須具備的功能[1],準確回答“系統(tǒng)必須做什么”這個問題,而系統(tǒng)功能需求是指根據(jù)系統(tǒng)所能實現(xiàn)的功能要求,對于每一類功能或者有時對于每一個功能,需要弄清輸入、加工和輸出等需求。正確地定義系統(tǒng)功能需求是需求分析階段的基礎(chǔ)。也是保證軟件正確性的前提。
二、系統(tǒng)開發(fā)背景及教材銷售過程
為改進教材發(fā)放管理,此高校教務(wù)處利用計算機系統(tǒng)技術(shù),開發(fā)一個教材銷售系統(tǒng),實現(xiàn)某高校的教材銷售的自動化,使高校的教務(wù)管理變得更加方便、快捷。
某高校教務(wù)處向?qū)W生銷售教材的過程如下:
學(xué)生找系辦公室的張秘書開一個購書單;憑購書單找教材科的王會計開購書發(fā)票;向李出納員交書費開領(lǐng)書單;學(xué)生拿著領(lǐng)書單到書庫找趙保管員領(lǐng)書。
三、系統(tǒng)功能需求
采用結(jié)構(gòu)化分析方法,用數(shù)據(jù)流圖和數(shù)據(jù)字典描述軟件的邏輯模型。
(一)數(shù)據(jù)流圖
數(shù)據(jù)流圖是用來描繪軟件系統(tǒng)的邏輯模型的工具[2]。通過數(shù)據(jù)流圖描繪信息在系統(tǒng)中流動和加工處理的情況。采用“自頂向下,逐步分解”的思想,分層細化數(shù)據(jù)流圖,最終得到一組含有系統(tǒng)全部加工處理的分層數(shù)據(jù)流圖如下圖:

(二)數(shù)據(jù)字典。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,主要描述數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)元素的詳細內(nèi)容以及加工邏輯[2]。數(shù)據(jù)字典的作用是為軟件分析、設(shè)計和維護過程提供數(shù)據(jù)描述和通信工具。
售書登記表在數(shù)據(jù)流圖中描述如下:
名稱:售書登記表;輸入數(shù)據(jù)流:各班領(lǐng)書情況;輸出數(shù)據(jù)流:按售書登記表審查購書單有效性;組成:系編號+年級號+{書號+書名+單價+數(shù)量+總價}+書費合計;描述:包含領(lǐng)書信息;組織方式:按系編號、班級號從小到大排列。
四、提出不足
根據(jù)教材存量表,若還有可賣教材,則會給開發(fā)票,后修改教材存量表(相應(yīng)減少教材存量)若學(xué)生沒去交書費,則沒能領(lǐng)領(lǐng)書單,領(lǐng)書單未開,則不會修改售書登記,售出登記中就無該學(xué)生與他要買教材的信息,會出現(xiàn)兩個問題:
第一,則該學(xué)生還可以再去開發(fā)票,預(yù)定同一類教材,交兩次書費,開兩次領(lǐng)書單,領(lǐng)兩次書,此時售出登記中則會出現(xiàn),該學(xué)生買過兩次書的登記記錄,對應(yīng)于顯示情況,則無法避免給同一個班級開兩次發(fā)票的情況,達不到根據(jù)售出登記,審查購書單有效性的作用。
第二,由于給這個學(xué)生開了發(fā)票,教材存量表已做了相應(yīng)修改,但售出登記中無該學(xué)生購買教材的登記,致使教材存量表與售出登記表出現(xiàn)不一致,即出現(xiàn)教材存量減少但實際尚未售出的“虛售”情況,由于至開發(fā)票階段并沒有登記任何該學(xué)生購買任何相關(guān)教材的信息,使無法查詢是由于哪個學(xué)生致使這種情況出現(xiàn)。
五、需求改進
基于以上問題,對數(shù)據(jù)流圖做改進如下:“1審查并開發(fā)票”作來源,“售書登記表”作去處,添加一個數(shù)據(jù)流,添加的數(shù)據(jù)流在數(shù)據(jù)字典中描述如下:
名稱:售書登記;描述:根據(jù)發(fā)票登記售書信息;來源:1審查并開發(fā)票;去處:售書登記表;組成:系編號+年級號+班級號+{書號+書名+單價+數(shù)量+總價}+書費合計+書費支付情況;流通量:10張/min。
此時售書登記表的組成也增加一項“書費支付情況”選項,若只開了發(fā)票未交書費,則該選項內(nèi)容為未交;若收過書費,開了領(lǐng)書單,相應(yīng)地修改該選項為實交金額,改進之后“售書登記表”在數(shù)據(jù)字典中描述如下:
名稱:售書登記表;輸入數(shù)據(jù)流:教材銷售情況,各班領(lǐng)書情況;輸出數(shù)據(jù)流:按班級號查詢教材銷售情況;組成:系編號+年級號+{書號+書名+單價+數(shù)量+總價}+書費合計+書費交付情況;描述:包含售書信息;組織方式:按系編號、年級號從小到大排序。
六、結(jié)束語
對該教材銷售系統(tǒng)功能需求改進不僅避免了同一班級購買兩次同一教材情況的出現(xiàn),還保證了“售出登記表”與“教材存量表”的一致。進一步完善了用戶需求,也保證了整個系統(tǒng)設(shè)計的正確性與完善性。
參考文獻:
[1]CIU-軟件聯(lián)盟,系統(tǒng)分析師案例分析與論文指導(dǎo),北京:人民郵電出版社,2007,307-309.
[2]張虹,軟件工程與軟件開發(fā)工具,北京:清華大學(xué)出版社,2004.
[3]Roger S.Pressman,《軟件工程實踐者的研究方法原書第6版》,機械工業(yè)出版社,2006.
[4]Stephen Withall,《軟件需求模式》,機械工業(yè)出版社,2008.
[5]Suzanne Robertson/James Robertson,《掌握需求過程(第2版)》,人民郵電出版社,2007.
作者簡介:
夏成嬌(1987-),女,漢族,山東蒙陰籍人,本科,研究方向:計算機信息安全。