版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 通過(guò)軟件工程課程設(shè)計(jì),鍛煉了對(duì)整個(gè)軟件開(kāi)發(fā)過(guò)程的能力,能切實(shí)體會(huì)到軟件工程在實(shí)踐中的指導(dǎo)作用,并按軟件工程的要求完成規(guī)范的各項(xiàng)軟件開(kāi)發(fā)文檔,為參加大型軟件開(kāi)發(fā)項(xiàng)目打下堅(jiān)實(shí)的理論基礎(chǔ)。</p><p> IC飯卡模擬系統(tǒng)是一個(gè)完整的企業(yè)管理信息系統(tǒng),由多個(gè)模塊有機(jī)結(jié)合而成,包括增加管理員、增加用戶、
2、查詢管理員、查詢用戶、查詢用戶續(xù)費(fèi)記錄、查詢用戶消費(fèi)記錄、查余、須費(fèi)、消費(fèi)和退出軟件模塊。本系統(tǒng)能夠模擬學(xué)校食堂總管理系統(tǒng)及終端消費(fèi)系統(tǒng),實(shí)現(xiàn)學(xué)校食堂IC飯卡的使用周期內(nèi)的所有功能。所本設(shè)計(jì)是產(chǎn)品管理子系統(tǒng),說(shuō)明傳統(tǒng)生命周期法在軟件開(kāi)發(fā)中的應(yīng)用,內(nèi)容包括:需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)與調(diào)試分析、測(cè)試分析,用戶手冊(cè),最后是心得體會(huì)。</p><p> 關(guān)鍵詞:軟件工程; 管理系統(tǒng); 模塊;分析設(shè)計(jì); &l
3、t;/p><p><b> 目 錄 </b></p><p><b> 1.引言1</b></p><p><b> 2.需求分析1</b></p><p><b> 2.1系統(tǒng)現(xiàn)狀1</b></p><p><
4、b> 2.2用戶需求2</b></p><p> 2.3系統(tǒng)功能需求2</p><p><b> 2.4數(shù)據(jù)描述4</b></p><p> 2.4 數(shù)據(jù)采集………………………………………………………………………………………5</p><p> 3 概要設(shè)計(jì)……………………………………
5、…………………………………………………5</p><p> 3.1總體設(shè)計(jì)…………………………………………………………………………5</p><p> 3.2接口設(shè)計(jì)…………………………………………………………………………7</p><p> 3.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)……………………………………………………………………8</p><p>
6、3.4運(yùn)行設(shè)計(jì)…………………………………………………………………………9</p><p> 3.5出錯(cuò)處理設(shè)計(jì)……………………………………………………………………9</p><p> 3.6安全設(shè)計(jì)………………………………………………………………………10</p><p> 3.7維護(hù)設(shè)計(jì)………………………………………………………………………10</p&
7、gt;<p> 4 詳細(xì)設(shè)計(jì)………………………………………………………………………………………10</p><p> 4.1程序設(shè)計(jì)說(shuō)明……………………………………………………………………10</p><p> 4.2主要模塊內(nèi)部設(shè)計(jì)………………………………………………………………13</p><p> 5 實(shí)驗(yàn)于調(diào)試分析……………………………
8、…………………………………………………22</p><p> 5.1實(shí)現(xiàn)環(huán)境…………………………………………………………………………22</p><p> 5.2語(yǔ)言選擇…………………………………………………………………………22</p><p> 5.3調(diào)試分析…………………………………………………………………………22</p><p&g
9、t; 6 測(cè)試分析………………………………………………………………………………………24</p><p> 6.1測(cè)試用例…………………………………………………………………………24</p><p> 6.2測(cè)試結(jié)果…………………………………………………………………………24</p><p> 7 用戶手冊(cè)……………………………………………………………………
10、…………………27</p><p> 8 總結(jié)……………………………………………………………………………………………28</p><p> 參考文獻(xiàn)…………………………………………………………………………………………29</p><p><b> 1.引言</b></p><p> 隨著生產(chǎn)規(guī)模的擴(kuò)大、自動(dòng)化技術(shù)
11、的應(yīng)用,以及市場(chǎng)經(jīng)濟(jì)體系的培育,使得我校食堂管理的性質(zhì)和環(huán)境都發(fā)生了巨大的變化。食堂的組織機(jī)構(gòu)更加龐大,管理功能更為復(fù)雜,食堂及用戶之間的聯(lián)系越來(lái)越緊密,所采用的決策對(duì)總體運(yùn)營(yíng)的影響越來(lái)越復(fù)雜,因而管理決策問(wèn)題不僅數(shù)量多,而且復(fù)雜程度高,難度大。管理信息系統(tǒng)在企業(yè)生產(chǎn)、管理中的應(yīng)用越來(lái)越廣泛和重要,一套好的管理信息系統(tǒng)直接影響到企業(yè)的生存和發(fā)展。IC飯卡模擬系統(tǒng),就是針對(duì)學(xué)校食堂的管理實(shí)際開(kāi)發(fā)的軟件系統(tǒng),以期對(duì)食堂的生產(chǎn)、管理等活動(dòng)進(jìn)行
12、科學(xué)、高效的管理。</p><p> IC飯卡模擬系統(tǒng)是一個(gè)完整的管理信息系統(tǒng),由多個(gè)模塊有機(jī)結(jié)合而成,包括增加管理員、增加用戶、查詢管理員、查詢用戶、查詢用戶續(xù)費(fèi)記錄、查詢用戶消費(fèi)記錄、查余、須費(fèi)、消費(fèi)和退出等軟件模塊。本說(shuō)明書(shū)介紹的是IC飯卡模擬系統(tǒng)中的管理子系統(tǒng)的開(kāi)發(fā)過(guò)程。</p><p><b> 2.需求分析</b></p><p&g
13、t;<b> 2.1系統(tǒng)現(xiàn)狀</b></p><p> 通過(guò)對(duì)學(xué)校食堂進(jìn)行深入的調(diào)查,我們發(fā)現(xiàn)原系統(tǒng)產(chǎn)品管理過(guò)程中主要存在以下幾方面的問(wèn)題。1.由于沒(méi)有系統(tǒng)化的充值、消費(fèi)記錄,食堂的資金管理很成問(wèn)題,由于管理不規(guī)范,食堂的的收入和支出與統(tǒng)計(jì)值并不一致,非常不易于食糖的 管理和發(fā)展;2.由于由于沒(méi)有嚴(yán)格的資金管理規(guī)范,資金出現(xiàn)小額不明的現(xiàn)象,甚至被充值管理員私自帶走的現(xiàn)象發(fā)生;3.沒(méi)有定期
14、的充值、消費(fèi)報(bào)表,食堂的運(yùn)營(yíng)領(lǐng)導(dǎo)人不能清晰的掌握具體的數(shù)據(jù),不利于進(jìn)一步的決策。這些問(wèn)題或多或少地長(zhǎng)期存在于食堂的管理過(guò)程中,直接影響食堂的效益和正常運(yùn)行,是管理者們所面臨的棘手問(wèn)題。隨著現(xiàn)代信息技術(shù)的發(fā)展,傳統(tǒng)的管理模式已經(jīng)不適應(yīng)現(xiàn)代管理的實(shí)際。必須通過(guò)建立現(xiàn)代的信息管理制度,采用現(xiàn)代管理手段參與管理,才可能通過(guò)各種措施降低成本,提高質(zhì)量,使食堂能夠取得進(jìn)一步的發(fā)展。</p><p><b> 2.
15、2用戶需求</b></p><p> 為了將資金管理納入規(guī)范化、現(xiàn)代化管理的軌道,針對(duì)食堂資金管理中存在的問(wèn)題和管理的實(shí)際需要,我們將理順管理體制、建立各種管理規(guī)范與開(kāi)發(fā)信息系統(tǒng)有機(jī)地結(jié)合起來(lái)。通過(guò)建立專門的資金管理系統(tǒng)來(lái)實(shí)施對(duì)食堂進(jìn)行統(tǒng)一管理,要求成品管理子系統(tǒng)滿足以下幾個(gè)方面的要求:</p><p> 1.從根本上理順食堂管理體系,明晰管理員操作子系統(tǒng)和終端消費(fèi)子系統(tǒng)各
16、模塊在系統(tǒng)中的功能; </p><p> 2.食堂管理要求按照現(xiàn)代管理的要求進(jìn)行管理,從飯卡的申請(qǐng)建立、正常的消費(fèi)使用、必要的充值記錄和最終的信息統(tǒng)計(jì)要求作到帳帳相符;</p><p> 4.規(guī)范資金管理過(guò)程的信息流。根據(jù)管理的實(shí)際需要規(guī)范充值記錄和消費(fèi)記錄。通過(guò)資金管理子系統(tǒng)的開(kāi)發(fā),實(shí)現(xiàn)對(duì)資金的動(dòng)態(tài)管理,及時(shí)提供管理過(guò)程中所需的各種信息。</p><p>
17、總之,希望通過(guò)系統(tǒng)的開(kāi)發(fā),解決資金遺失、被盜、成本不實(shí)等內(nèi)部管理中存在的問(wèn)題。</p><p><b> 2.3系統(tǒng)功能需求</b></p><p> 1.待開(kāi)發(fā)軟件的功能需求</p><p> 產(chǎn)成品管理信息系統(tǒng)必須能夠完成對(duì)公司產(chǎn)成品入庫(kù)、出庫(kù)數(shù)據(jù)的錄入、更新、統(tǒng)計(jì)、查詢、打印等工作,進(jìn)行高效、準(zhǔn)確的管理。產(chǎn)生以下信息:</p&
18、gt;<p> ?。?)產(chǎn)品須費(fèi)記錄表:隨時(shí)(定期/不定期)報(bào)告飯卡充值情況;</p><p> ?。?)產(chǎn)品消費(fèi)記錄表:按要求定期/不定期報(bào)告飯卡使用消費(fèi)情況;</p><p> 以上二表,滿足了食堂資金的籠集和使用等各方面管理的需要。</p><p> 2.待開(kāi)發(fā)軟件的功能</p><p> 按照用戶需求,要滿足以上功
19、能,我們?cè)O(shè)計(jì)出了管理系統(tǒng)的結(jié)構(gòu)。見(jiàn)圖1 。</p><p> 圖1 飯卡管理系統(tǒng)層次方框圖</p><p> 結(jié)合系統(tǒng)需求,對(duì)圖1所示的系統(tǒng)功能解釋如下:</p><p> 增加管理員:提供增設(shè)管理員的功能,在實(shí)際利于食堂的人事管理。</p><p> 增加用戶:提供增設(shè)用戶的功能,在實(shí)際使用中即飯卡的辦理功能。</p>
20、<p> 查詢管理員:提供管理員查詢功能,可對(duì)管理員的基本信息進(jìn)行查詢。</p><p> 查詢用戶:提供用戶查詢功能,可對(duì)用戶的基本信息進(jìn)行查詢,實(shí)際中可用于對(duì)掛失時(shí)的信息核對(duì)過(guò)程。</p><p> 查詢用戶須費(fèi)記錄:提供即時(shí)生成須費(fèi)記錄報(bào)表的功能,可供管理者隨時(shí)查閱。</p><p> 查詢用戶消費(fèi)記錄:提供即時(shí)生成消費(fèi)記錄報(bào)表的功能,可供
21、管理者隨時(shí)查閱。</p><p> 查余:提供給用戶的查詢余額的功能。</p><p> 須費(fèi):提供給用戶的飯卡充值功能,用戶通過(guò)管理員將實(shí)際的錢幣充值到系統(tǒng)的記錄中,以便正常的使用。</p><p> 消費(fèi):提供飯卡的最基本的正常消費(fèi)使用功能,用戶通過(guò)扣除記錄中的數(shù)額購(gòu)買飯菜。</p><p> 退出:提供系統(tǒng)的正常使用功能。<
22、;/p><p> 同時(shí),通過(guò)分析,我們給出了飯卡管理系統(tǒng)的頂層數(shù)據(jù)流圖。見(jiàn)圖2。</p><p> 圖2 飯卡管理系統(tǒng)頂層數(shù)據(jù)流圖</p><p><b> 2.4數(shù)據(jù)描述</b></p><p> 1.靜態(tài)數(shù)據(jù)及其數(shù)據(jù)字典</p><p> 待開(kāi)發(fā)軟件的功能已經(jīng)用層次方框圖和頂層數(shù)據(jù)流圖表
23、示出來(lái)了,其中涉及到的靜態(tài)數(shù)據(jù)及其數(shù)據(jù)字典如下:</p><p> 表1 用戶須費(fèi)記錄(或產(chǎn)成品臨時(shí)入庫(kù)單)</p><p> 表2 用戶消費(fèi)記錄(或產(chǎn)成品臨時(shí)出庫(kù)單)</p><p><b> 2.動(dòng)態(tài)數(shù)據(jù)</b></p><p> 輸入數(shù)據(jù):菜單命令、查詢條件、統(tǒng)計(jì)條件、記錄等。</p><
24、;p> 輸出數(shù)據(jù):查詢結(jié)果、統(tǒng)計(jì)結(jié)果、生成報(bào)表等。</p><p> 內(nèi)部數(shù)據(jù):操作所產(chǎn)生的中間數(shù)據(jù)。</p><p><b> 2.5數(shù)據(jù)采集</b></p><p> 通過(guò)鍵盤向軟件系統(tǒng)輸入數(shù)據(jù)。</p><p><b> 3 概要設(shè)計(jì)</b></p><p
25、> 本軟件將輔助管理人員完成全食堂產(chǎn)成品須費(fèi)、消費(fèi)等方面的管理,可以進(jìn)行查詢、打印報(bào)表等工作,提高食堂對(duì)資金的管理效率。在分析階段,我們已經(jīng)提出了系統(tǒng)的結(jié)構(gòu)、頂層數(shù)據(jù)流圖和數(shù)據(jù)字典。本節(jié)我們將對(duì)系統(tǒng)的硬件環(huán)境作簡(jiǎn)要介紹,并對(duì)待開(kāi)發(fā)系統(tǒng)作概要設(shè)計(jì)。</p><p><b> 3.1總體設(shè)計(jì)</b></p><p><b> 1.處理流程</b
26、></p><p><b> (1)系統(tǒng)啟動(dòng)。</b></p><p> (2)初始化系統(tǒng),讀入記錄。</p><p> ?。?)進(jìn)入消息循環(huán)狀態(tài),通過(guò)事件驅(qū)動(dòng)激活各模塊,執(zhí)行各任務(wù)。</p><p> ?。?)一任務(wù)執(zhí)行完畢后重新進(jìn)入消息循環(huán)狀態(tài)。</p><p> ?。?)通過(guò)事件驅(qū)
27、動(dòng)退出系統(tǒng)。</p><p> 2.系統(tǒng)總體結(jié)構(gòu)和模塊設(shè)計(jì)。</p><p> 通過(guò)以上分析,我們進(jìn)一步設(shè)計(jì)出了產(chǎn)成品管理系統(tǒng)的總體結(jié)構(gòu)模塊圖(見(jiàn)圖3)。</p><p> 圖3 系統(tǒng)總體結(jié)構(gòu)圖</p><p><b> 各模塊設(shè)計(jì)如下:</b></p><p> 表3 系統(tǒng)模塊結(jié)構(gòu)表
28、</p><p> 各模塊功能分配如下:</p><p> (1) 系統(tǒng)控制功能:初始化模塊(M1)、關(guān)閉系統(tǒng)模塊(M2)、系統(tǒng)功能模塊(M3)。</p><p> (2) 數(shù)據(jù)維護(hù)功能:管理員數(shù)據(jù)添加模塊(M4.1)、出用戶數(shù)據(jù)添加模塊(M4.2)、消費(fèi)管理模塊(M8)、須費(fèi)管理模塊(M9)、用戶查余模塊(M11)。</p><p>
29、 (3) 查詢統(tǒng)計(jì)功能:管理員數(shù)據(jù)查詢模塊(M5.1)、用戶數(shù)據(jù)查詢模塊(M6.2)。</p><p> (5) 打印功能:用戶須費(fèi)報(bào)表打印模塊(M7.1)、用戶消費(fèi)報(bào)表打印模塊(M7.2)。</p><p> (6)數(shù)據(jù)情況統(tǒng)計(jì)功能:數(shù)據(jù)情況統(tǒng)計(jì)模塊(M6)。</p><p><b> 3.程序流圖:</b></p>&
30、lt;p><b> 圖 4 :程序流圖</b></p><p><b> 3.2接口設(shè)計(jì)</b></p><p><b> 1.外部接口</b></p><p><b> (1) 用戶界面</b></p><p> 采用控制臺(tái)窗口界面。&l
31、t;/p><p><b> (2) 軟件接口</b></p><p> 軟件運(yùn)行于windows操作系統(tǒng)上。</p><p><b> (3) 硬件接口</b></p><p> 運(yùn)行于IBM PC386及兼容機(jī)以上。</p><p><b> 2.內(nèi)部接口&
32、lt;/b></p><p> (1) 初始化模塊(M1):系統(tǒng)初始時(shí)由操作系統(tǒng)調(diào)用,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (2) 關(guān)閉系統(tǒng)模塊(M2):由系統(tǒng)功能模塊調(diào)用,之后退出系統(tǒng)。</p><p> (3) 系統(tǒng)功能模塊(M3):接受各事件驅(qū)動(dòng)消息,啟動(dòng)管理員數(shù)據(jù)添加模塊、用戶數(shù)據(jù)添加模塊、消費(fèi)管理模塊、須費(fèi)管理模塊、用戶查余模塊等模塊。&l
33、t;/p><p> (4) 管理員數(shù)據(jù)添加模塊(M4.1):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成添加管理員基本信息功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (5) 用戶數(shù)據(jù)添加模塊(M4.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成添加用戶基本信息功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (6) 管理員數(shù)據(jù)查詢模塊(M5.1):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成管理員基本信息
34、查詢功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (7) 用戶數(shù)據(jù)查詢模塊(M5.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成用戶基本信息查詢功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (8) 數(shù)據(jù)情況統(tǒng)計(jì)模塊(M6):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成查詢統(tǒng)計(jì)入庫(kù)情況功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (9) 用戶須費(fèi)報(bào)表打印模塊(M7.1):由相應(yīng)事件驅(qū)
35、動(dòng)消息激活,完成打印用戶須費(fèi)情況記錄功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (10) 用戶消費(fèi)報(bào)表打印模塊(M7.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成打印用戶消費(fèi)情況記錄功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (11) 消費(fèi)管理模塊(M8):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成消費(fèi)管理功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (12) 須費(fèi)管理模塊
36、(M9):由系統(tǒng)功能模塊調(diào)用,完成須費(fèi)管理功能。</p><p> (13) 系統(tǒng)啟動(dòng)模塊(M10):由初始化模塊調(diào)用。</p><p> (14) 用戶查余模塊(M11):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成用戶查余功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p><b> 3.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p><
37、;b> 1.邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p> 在重新設(shè)計(jì)了用戶消費(fèi)/須費(fèi)情況記錄單,并對(duì)兩單的結(jié)構(gòu)、所用數(shù)據(jù)類型、總長(zhǎng)、數(shù)長(zhǎng)、顯長(zhǎng)等方面進(jìn)行全面的分析后,我們?cè)O(shè)計(jì)出了系統(tǒng)所用到的數(shù)據(jù)庫(kù)的數(shù)據(jù)字典如下。</p><p> 表4 用戶消費(fèi)情況記錄單(或產(chǎn)成品臨時(shí)入庫(kù)單)數(shù)據(jù)字典</p><p> 表5 產(chǎn)成品出庫(kù)單(或產(chǎn)成品臨時(shí)出庫(kù)單)數(shù)
38、據(jù)字典</p><p><b> 2.物理結(jié)構(gòu)設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫(kù)中各表的文件物理結(jié)構(gòu)采用順序的記錄文件。</p><p><b> 3.4運(yùn)行設(shè)計(jì)</b></p><p><b> 1.運(yùn)行模塊的命名</b></p><p>
39、 模塊命名為Mx.y,x相同則為同一功能的模塊。</p><p><b> 2.運(yùn)行模塊控制</b></p><p> (1) 操作系統(tǒng)啟動(dòng)M1。</p><p> (2) M1啟動(dòng)M10。</p><p> ?。?) M10啟動(dòng)M3。</p><p> ?。?) 進(jìn)入消息驅(qū)動(dòng)狀態(tài),M3通
40、過(guò)事件驅(qū)動(dòng)啟動(dòng)相應(yīng)的功能模塊,包括M9和M11。</p><p> (5) 在消息驅(qū)動(dòng)狀態(tài)下,M3通過(guò)事件驅(qū)動(dòng)啟動(dòng)M2,退出系統(tǒng)。</p><p> 3.運(yùn)行模塊時(shí)間響應(yīng)</p><p> 各模塊運(yùn)行時(shí)間控制在1至2秒內(nèi)。</p><p><b> 3.5出錯(cuò)處理設(shè)計(jì)</b></p><p&g
41、t; 1.系統(tǒng)應(yīng)具有相當(dāng)健壯性,避免或降低由系統(tǒng)錯(cuò)誤所造成的數(shù)據(jù)庫(kù)損壞。</p><p> 2.對(duì)關(guān)鍵性操作,如查詢失敗等提供警告和確認(rèn)機(jī)制。</p><p><b> 3.6安全設(shè)計(jì)</b></p><p> 系統(tǒng)提供嚴(yán)格的管理員身份驗(yàn)證機(jī)制,在每個(gè)時(shí)間段的事物的記錄都有相應(yīng)的記載,做到專人定時(shí)管理。</p><p
42、><b> 3.7維護(hù)設(shè)計(jì)</b></p><p> 系統(tǒng)嚴(yán)格按照設(shè)計(jì)規(guī)范進(jìn)行設(shè)計(jì),并保持各階段文檔的完整性,為以后對(duì)軟件的維護(hù)打好基礎(chǔ)。</p><p><b> 4 詳細(xì)設(shè)計(jì)</b></p><p> 在以上工作的基礎(chǔ)上,我們對(duì)有輸出要求的全部數(shù)據(jù)進(jìn)行屬性分析、存儲(chǔ)分析、關(guān)聯(lián)分析、查詢統(tǒng)計(jì)分析、數(shù)據(jù)分類與
43、處理功能分析,進(jìn)一步研究了整個(gè)系統(tǒng)的人—機(jī)接口,提出了系統(tǒng)細(xì)化后的數(shù)據(jù)流圖和系統(tǒng)的層次方框圖。見(jiàn)圖5、圖6。</p><p><b> 4.1程序設(shè)計(jì)說(shuō)明</b></p><p><b> 1.模塊描述</b></p><p> (1)系統(tǒng)詳細(xì)功能模塊如圖7、圖8。</p><p> ?。?)
44、模塊設(shè)計(jì)如下:</p><p> 表6 產(chǎn)成品庫(kù)存數(shù)據(jù)數(shù)據(jù)字典</p><p><b> (3)功能分配:</b></p><p> (1) 初始化模塊(M1):系統(tǒng)初始時(shí)由操作系統(tǒng)調(diào)用,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (2) 關(guān)閉系統(tǒng)模塊(M2):由系統(tǒng)功能模塊調(diào)用,之后退出系統(tǒng)。</p>
45、<p> (3) 系統(tǒng)功能模塊(M3):接受各事件驅(qū)動(dòng)消息,啟動(dòng)管理員數(shù)據(jù)添加模塊、用戶數(shù)據(jù)添加模塊、消費(fèi)管理模塊、須費(fèi)管理模塊、用戶查余模塊等模塊。</p><p> (4) 管理員數(shù)據(jù)添加模塊(M4.1):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成添加管理員基本信息功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (5) 用戶數(shù)據(jù)添加模塊(M4.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成添
46、加用戶基本信息功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (6) 管理員數(shù)據(jù)查詢模塊(M5.1):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成管理員基本信息查詢功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (7) 用戶數(shù)據(jù)查詢模塊(M5.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成用戶基本信息查詢功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (8) 數(shù)據(jù)情況統(tǒng)計(jì)模塊(M6):由
47、相應(yīng)事件驅(qū)動(dòng)消息激活,完成查詢統(tǒng)計(jì)入庫(kù)情況功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (9) 用戶須費(fèi)報(bào)表打印模塊(M7.1):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成打印用戶須費(fèi)情況記錄功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (10) 用戶消費(fèi)報(bào)表打印模塊(M7.2):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成打印用戶消費(fèi)情況記錄功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p>
48、; (11) 消費(fèi)管理模塊(M8):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成消費(fèi)管理功能,之后進(jìn)入消息循環(huán)狀態(tài)。</p><p> (12) 須費(fèi)管理模塊(M9):由系統(tǒng)功能模塊調(diào)用,完成須費(fèi)管理功能。</p><p> (13) 系統(tǒng)啟動(dòng)模塊(M10):由初始化模塊調(diào)用。</p><p> (14) 用戶查余模塊(M11):由相應(yīng)事件驅(qū)動(dòng)消息激活,完成用戶查余功能,之
49、后進(jìn)入消息循環(huán)狀態(tài)。</p><p> 圖 5 :細(xì)化后的IC飯卡模擬系統(tǒng)數(shù)據(jù)流圖</p><p> 4.2主要模塊內(nèi)部設(shè)計(jì)</p><p> 4.2.1模塊M3設(shè)計(jì)</p><p> 模塊M3的設(shè)計(jì)主要是實(shí)現(xiàn)飯卡信息管理的基本功能,包括對(duì)管理員和用戶的基本信息的查詢以及用戶的消費(fèi)與須費(fèi)功能。通過(guò)對(duì)每個(gè)功能模塊化設(shè)計(jì),方便實(shí)現(xiàn)整個(gè)系統(tǒng)
50、的管理。</p><p> 4.2.1.1 模塊算法</p><p> ?。?)對(duì)管理員和用戶的基本信息的添加</p><p> class user *user::creat1(void)//構(gòu)建鏈表及用戶信息的添加</p><p> { class user *head1;</p><p> class u
51、ser *p1,*p2;</p><p> int n,bal=100;</p><p> time_t it;</p><p> struct tm *st;</p><p><b> n=0;</b></p><p> int m,b,h;</p><p>
52、 ifstream calfile("d:rjgc\\calculate.txt",ios::in);</p><p> if(!calfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for read error!"
53、;<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> calfile>>m;</p><p> calfile>>b;</p><p> ca
54、lfile>>h;</p><p> calfile.close();</p><p> system("cls");// 清屏</p><p> p1=p2=(class user *)malloc(LEN2);</p><p> { cout<<"\n\n\t\t\t請(qǐng)輸入用
55、戶的工號(hào)(輸入0結(jié)束):";</p><p> cin>>p1->no1;</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入用戶的姓名:";</p><p> cin>>p1->name1;</p><p> p1->balance=bal;
56、</p><p> time(&it); </p><p> st=localtime(&it);</p><p> p1->year1=1900+st->tm_year;</p><p> p1->mon1=1+st->tm_mon;</p><p> p1->
57、;day1=st->tm_mday;</p><p> p1->hour1=st->tm_hour;</p><p> p1->min1=st->tm_min;</p><p> p1->sec1=st->tm_sec;</p><p><b> h++;</b><
58、/p><p><b> }</b></p><p> head1=NULL;</p><p> while(p1->no1!=0)</p><p><b> {n=n+1;</b></p><p> if(n==1) head1=p1;</p>&l
59、t;p> else p2->next=p1;</p><p><b> p2=p1;</b></p><p> p2->next=0;</p><p> p1=(class user *)malloc(LEN2);</p><p> { cout<<"\n\n\t\t\t
60、請(qǐng)輸入用戶的工號(hào)(輸入0結(jié)束):";</p><p> cin>>p1->no1;</p><p> if(p1->no1==0) goto hg;//如果輸入為0,就不再輸入個(gè)后面的了</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入用戶的姓名:";</p><p
61、> cin>>p1->name1;</p><p> p1->balance=bal;</p><p> time(&it); </p><p> st=localtime(&it);</p><p> p1->year1=1900+st->tm_year;</p&g
62、t;<p> p1->mon1=1+st->tm_mon;</p><p> p1->day1=st->tm_mday;</p><p> p1->hour1=st->tm_hour;</p><p> p1->min1=st->tm_min;</p><p> p1-&
63、gt;sec1=st->tm_sec;</p><p><b> h++;</b></p><p><b> }</b></p><p><b> }</b></p><p> hg: p2->next=NULL;</p><p>
64、 ofstream callfile("d:rjgc\\calculate.txt",ios::trunc);</p><p> if(!callfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error
65、!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> callfile<<m<<" ";</p><p> callfile<&l
66、t;b<<" ";</p><p> callfile<<h<<" ";</p><p> callfile.close();</p><p> return(head1);</p><p><b> }</b></p>&
67、lt;p> void admin::add1(class admin *head)//增加管理員到鏈表里,做成系統(tǒng)后可調(diào)用store把新信息存入文件</p><p> { class admin *p0,*p1;</p><p> system("cls");// 清屏</p><p> p0=(class admin *)mal
68、loc(LEN1);</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入新增管理員的工號(hào):";</p><p> cin>>p0->no;</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入新增管理員的姓名:";</p><p> cin
69、>>p0->name; </p><p><b> p1=head;</b></p><p> while(p1->next!=NULL)</p><p> p1=p1->next;</p><p> p1->next=p0;</p><p> p0-
70、>next=NULL;</p><p><b> }</b></p><p> void admin::store(class admin *head)//把鏈表內(nèi)容存入到文件里</p><p> { class admin *p;</p><p> ofstream jhfile("d:rjgc
71、\\admin.txt",ios::trunc);</p><p> if(!jhfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;</p><p
72、><b> getch();</b></p><p> exit(1); }</p><p><b> p=head;</b></p><p><b> do</b></p><p> { jhfile<<p->no<<'
73、';</p><p> jhfile<<p->name<<' ';</p><p> p=p->next;</p><p> }while(p!=NULL);</p><p> jhfile<<'0';</p><p>
74、jhfile.close();</p><p><b> }</b></p><p> ?。?)對(duì)管理員和用戶基本信息的查詢</p><p> void admin::display1(class admin *head)//顯示鏈表管理員信息</p><p> { class admin *p1;</p&g
75、t;<p><b> p1=head;</b></p><p><b> while(p1)</b></p><p> { cout<<"管理員的工號(hào):"<<p1->no<<endl;</p><p> cout<<"
76、管理員的姓名:"<<p1->name<<endl;</p><p> p1=p1->next;</p><p><b> }</b></p><p><b> }</b></p><p> void admin::display11()//顯示文
77、件里內(nèi)容</p><p> { int num;</p><p> char nam[20];</p><p> system("cls");// 清屏</p><p> ifstream jhfile("d:rjgc\\admin.txt",ios::in);</p><
78、p> if(!jhfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for read error!"<<endl;</p><p><b> getch();</b></p>&l
79、t;p><b> exit(1);}</b></p><p><b> do</b></p><p><b> {</b></p><p> jhfile>>num;</p><p> if(num==0) goto dsd;</p>
80、<p> jhfile>>nam;</p><p> cout<<"\n\n\t\t\t工號(hào):"<<num;</p><p> cout<<" 姓名:"<<nam<<endl;</p><p> }while(num!=NULL);&
81、lt;/p><p> dsd: jhfile.close();</p><p><b> getch();</b></p><p><b> }</b></p><p> ?。?)用戶的消費(fèi)和須費(fèi)</p><p> void user::addmoney(class us
82、er *head1)//用戶須費(fèi)函數(shù),執(zhí)行完此函數(shù)后再調(diào)用store_balance函數(shù),更新余額</p><p> { class user *p,*p1;</p><p> int number,bal,k=0,m,n,h;</p><p> time_t it;</p><p> struct tm *st;</p>
83、<p> system("cls");// 清屏</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入帳號(hào):";</p><p> cin>>number;</p><p><b> p=head1;</b></p><p>&
84、lt;b> do</b></p><p> { if(p->no1==number) {cout<<"\n\n\t\t\t請(qǐng)輸入須費(fèi)金額:";</p><p><b> cin>>bal;</b></p><p> p->balance=p->balance
85、+bal;</p><p><b> p1=p;</b></p><p><b> k=1;} </b></p><p> p=p->next;</p><p> }while(p!=NULL);</p><p> if(k==0) {system("
86、;cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\t對(duì)不起!該用戶不存在!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b><
87、/p><p> ifstream calfile("d:rjgc\\calculate.txt",ios::in);</p><p> if(!calfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen fo
88、r read error!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> calfile>>m;</p><p> calfile>>n;</p&
89、gt;<p> calfile>>h;</p><p> calfile.close();</p><p> m=m+1;//用于指導(dǎo)讀記錄須費(fèi)的文件</p><p> ofstream usaddfile("d:rjgc\\useraddmoney.txt",ios::app);</p><
90、p> if(!usaddfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;</p><p><b> getch();</b></p>
91、<p><b> exit(1);}</b></p><p> time(&it); //把續(xù)費(fèi)的時(shí)間記錄下來(lái)</p><p> st=localtime(&it);</p><p> p1->year1=1900+st->tm_year;</p><p> p1-&
92、gt;mon1=1+st->tm_mon;</p><p> p1->day1=st->tm_mday;</p><p> p1->hour1=st->tm_hour;</p><p> p1->min1=st->tm_min;</p><p> p1->sec1=st->tm_s
93、ec;</p><p> { usaddfile<<p1->no1<<" "; </p><p> usaddfile<<p1->name1<<" "; </p><p> usaddfile<<p1->balance<<"
94、; "; </p><p> usaddfile<<p1->year1<<" "; </p><p> usaddfile<<p1->mon1<<" ";</p><p> usaddfile<<p1->day1<<&qu
95、ot; ";</p><p> usaddfile<<p1->hour1<<" ";</p><p> usaddfile<<p1->min1<<" ";</p><p> usaddfile<<p1->sec1<<&qu
96、ot; ";</p><p> usaddfile<<bal<<" ";//只是記錄須費(fèi)的金額和時(shí)間</p><p><b> }</b></p><p> usaddfile.close();</p><p> ofstream callfile("
97、;d:rjgc\\calculate.txt",ios::trunc);</p><p> if(!callfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;<
98、/p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> callfile<<m<<" ";</p><p> callfile<<n<<" "
99、;</p><p> callfile<<h<<" ";</p><p> callfile.close();</p><p><b> }</b></p><p> void user::spend(class user *head1)//用戶消費(fèi)函數(shù),執(zhí)行完此函數(shù)后
100、再調(diào)用store_balance函數(shù),更新余額</p><p> { class user *p,*p1;</p><p> int number,bal,k=0,m,n,h;</p><p> time_t it;</p><p> struct tm *st;</p><p> system("
101、cls");// 清屏</p><p> cout<<"\n\n\t\t\t請(qǐng)輸入帳號(hào):";</p><p> cin>>number;</p><p><b> p=head1;</b></p><p><b> do</b><
102、/p><p> { if(p->no1==number) {cout<<"\n\n\t\t\t請(qǐng)輸入消費(fèi)金額:";</p><p><b> cin>>bal;</b></p><p> p->balance=p->balance-bal;</p><p>
103、<b> p1=p;</b></p><p><b> k=1;} </b></p><p> p=p->next;</p><p> }while(p!=NULL);</p><p> if(k==0) {system("cls");// 清屏</p&g
104、t;<p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\t對(duì)不起!該用戶不存在!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> ifstrea
105、m calfile("d:rjgc\\calculate.txt",ios::in);</p><p> if(!calfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for read error!"<<
106、;endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> calfile>>m;</p><p> calfile>>n;</p><p> calfile>
107、;>h;</p><p> calfile.close();</p><p> n=n+1;//用于指導(dǎo)讀記錄消費(fèi)的文件</p><p> ofstream usspendfile("d:rjgc\\userspendmoney.txt",ios::app);</p><p> if(!usspendfile
108、) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;</p><p><b> getch();</b></p><p><b>
109、 exit(1);}</b></p><p> time(&it); //把消費(fèi)的時(shí)間記錄下來(lái)</p><p> st=localtime(&it);</p><p> p1->year1=1900+st->tm_year;</p><p> p1->mon1=1+st->tm_
110、mon;</p><p> p1->day1=st->tm_mday;</p><p> p1->hour1=st->tm_hour;</p><p> p1->min1=st->tm_min;</p><p> p1->sec1=st->tm_sec;</p><p
111、> { usspendfile<<p1->no1<<" "; </p><p> usspendfile<<p1->name1<<" "; </p><p> usspendfile<<p1->balance<<" "; <
112、/p><p> usspendfile<<p1->year1<<" "; </p><p> usspendfile<<p1->mon1<<" ";</p><p> usspendfile<<p1->day1<<" &quo
113、t;;</p><p> usspendfile<<p1->hour1<<" ";</p><p> usspendfile<<p1->min1<<" ";</p><p> usspendfile<<p1->sec1<<"
114、; ";</p><p> usspendfile<<bal<<" ";//只是記錄消費(fèi)的金額和時(shí)間</p><p><b> }</b></p><p> usspendfile.close();</p><p> ofstream callfile(&qu
115、ot;d:rjgc\\calculate.txt",ios::trunc);</p><p> if(!callfile) {system("cls");// 清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;&l
116、t;/p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p> callfile<<m<<" ";</p><p> callfile<<n<<" &quo
117、t;;</p><p> callfile<<h<<" ";</p><p> callfile.close();</p><p><b> }</b></p><p> void user::store_balance(class user *head1)</p
118、><p> { class user *p;</p><p> ofstream usfile("d:rjgc\\userbalance.txt",ios::trunc);</p><p> if(!usfile) {system("cls");// 清屏</p><p> cout<<
119、;"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for write error!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p><p><b> p=head1;</b
120、></p><p><b> do</b></p><p> { usfile<<p->no1<<" ";</p><p> usfile<<p->name1<<" ";</p><p> usfile<
121、;<p->balance<<" ";</p><p> p=p->next;</p><p> }while(p!=NULL);</p><p> usfile<<'0';</p><p> usfile.close();</p><p&
122、gt;<b> }</b></p><p><b> 5.實(shí)現(xiàn)與調(diào)試分析</b></p><p><b> 5.1.實(shí)現(xiàn)環(huán)境</b></p><p> 以Microsoft VC++6.0為平臺(tái)編寫代碼</p><p> 用txt文檔存儲(chǔ)/提取信息和記錄報(bào)表</
123、p><p><b> 5.2.語(yǔ)言選擇</b></p><p> 計(jì)算機(jī)高級(jí)編譯語(yǔ)言:C++</p><p><b> 5.3.調(diào)試分析</b></p><p> 程序總體運(yùn)轉(zhuǎn)良好,不過(guò)因?yàn)樯婕暗轿谋疚募淖x寫,路徑的確定與程序的正常運(yùn)行直接相關(guān),因而程序在運(yùn)行時(shí)可能會(huì)經(jīng)常遇見(jiàn)下圖問(wèn)題:<
124、/p><p> 圖 6 :程序運(yùn)行出錯(cuò)圖</p><p> 經(jīng)過(guò)單步調(diào)試分析,可以清楚的看見(jiàn)文件存放的位置:</p><p> ifstream jhfile("d:rjgc\\admin.txt",ios::in);</p><p> if(!jhfile) {system("cls");//
125、清屏</p><p> cout<<"\n\n\n\n\n\n\n\n\n\t\t\t\tOpen for read error!"<<endl;</p><p><b> getch();</b></p><p><b> exit(1);}</b></p>
126、<p> 由此可見(jiàn),程序運(yùn)行所需要的文檔是存放在電腦d盤根目錄下的rjgc文件夾中的,于是將此文件夾放入如圖所示位置,程序即可正常運(yùn)行。</p><p> 圖7: 程序文件夾存放位置示意圖</p><p> 此外,由于程序是采用鏈表式存儲(chǔ)結(jié)構(gòu),在空間的使用上需注意,編寫過(guò)程中會(huì)出現(xiàn)一些小問(wèn)題,不過(guò)經(jīng)過(guò)調(diào)試都能正確的發(fā)現(xiàn)問(wèn)題并解決。</p><p>
127、<b> 6.測(cè)試分析</b></p><p><b> 6.1.測(cè)試用例</b></p><p> 表 7 :管理員信息測(cè)試用例表</p><p> 表8 :用戶信息測(cè)試用例表</p><p><b> 6.2.測(cè)試結(jié)果</b></p><p&g
128、t; ?。?)程序界面如圖:</p><p><b> 圖8:程序主界面</b></p><p><b> ?。?)管理員界面</b></p><p> 圖9:管理員功能界面</p><p><b> ?。?)記錄查詢:</b></p><p>
129、圖10:須費(fèi)記錄查詢界面</p><p><b> ?。?)用戶界面</b></p><p> 圖11:用戶功能界面</p><p><b> (5)消費(fèi)功能:</b></p><p> 圖12:消費(fèi)功能界面</p><p><b> 7.用戶手冊(cè)</
130、b></p><p> 程序文件夾內(nèi)包括名為IC飯卡模擬系統(tǒng).exe的應(yīng)用程序和一個(gè)名為rjgc的文檔文件夾,使用時(shí)請(qǐng)先將整個(gè)文件夾放在電腦的D盤根目錄下,否者程序?qū)o(wú)法正常運(yùn)行。</p><p> 程序啟動(dòng)后對(duì)應(yīng)的有功能提示選項(xiàng),用戶根據(jù)自己的身份選擇進(jìn)入的模塊,然后在根據(jù)提示選擇相應(yīng)的功能選項(xiàng)即可實(shí)現(xiàn)相應(yīng)的功能,操作進(jìn)行后程序會(huì)自動(dòng)將數(shù)據(jù)保存到rjgc中的對(duì)應(yīng)的文件中。整個(gè)程
131、序功能明確清晰,操作簡(jiǎn)單,可用性較強(qiáng)。</p><p><b> 8.總結(jié)</b></p><p> 通過(guò)本次課程設(shè)計(jì),本人掌握軟件工程的基本概念、基本原理、開(kāi)發(fā)軟件項(xiàng)目的工程化的方法和技術(shù)及在開(kāi)發(fā)過(guò)程中應(yīng)遵循的流程、準(zhǔn)則、標(biāo)準(zhǔn)和規(guī)范等;通過(guò)IC飯卡模擬子系統(tǒng)的設(shè)計(jì),提高了對(duì)整個(gè)軟件開(kāi)發(fā)過(guò)程的能力,讓能切實(shí)體會(huì)到軟件工程在實(shí)踐中的指導(dǎo)作用。通過(guò)課程設(shè)計(jì),學(xué)會(huì)了按軟
132、件工程的要求完成規(guī)范的各項(xiàng)軟件開(kāi)發(fā)文檔,對(duì)提高軟件開(kāi)發(fā)能力和項(xiàng)目管理能力有重要的現(xiàn)實(shí)意義。</p><p> 在這次軟件工程的課程設(shè)計(jì)整個(gè)過(guò)程中,包括了需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)與調(diào)試、測(cè)試、正式運(yùn)行等階段,每個(gè)階段我都嚴(yán)格的按照軟件工程的思想進(jìn)行操作,同時(shí)也在每個(gè)階段收獲了很多。通過(guò)此次軟件工程課程設(shè)計(jì),讓我了解到其實(shí)代碼的編寫在整個(gè)軟件開(kāi)發(fā)過(guò)程中所占的比重并不重要,軟件開(kāi)發(fā)的思想中心在工程項(xiàng)目上,良
133、好的軟件設(shè)計(jì)習(xí)慣可以大大提高整個(gè)過(guò)程的效率。因此在今后的學(xué)習(xí)過(guò)程中,隨著眼界思路的打開(kāi),我會(huì)努力的朝著更廣闊的方向發(fā)展自己,并不再把思路局限于程序的編寫上,以便收獲更多。</p><p><b> 參考文獻(xiàn) </b></p><p> [1] 張海藩. 軟件工程導(dǎo)論,清華大學(xué)出版社,2004</p><p> [2] 陳明. 實(shí)用軟件工程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ic飯卡模擬系統(tǒng)課程設(shè)計(jì)報(bào)告1
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---飯卡管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---銀行模擬系統(tǒng)
- ic卡考勤管理系統(tǒng)課程設(shè)計(jì)
- 【課程設(shè)計(jì)】學(xué)生飯卡管理系統(tǒng)需求分析規(guī)格說(shuō)明書(shū)
- 模擬電路課程設(shè)計(jì)報(bào)告
- 模擬電路課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)(論文)-delphi 7.0學(xué)校餐飲ic系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)說(shuō)明書(shū)--學(xué)生食堂飯卡管理系統(tǒng)
- 課程設(shè)計(jì)-模擬選課系統(tǒng)
- 模擬通信系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告--模擬通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- ic卡考勤管理系統(tǒng)--數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--ic卡讀寫器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---模擬病房呼叫系統(tǒng)
- 課程設(shè)計(jì)——自動(dòng)電梯模擬系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—機(jī)房機(jī)位預(yù)約模擬系統(tǒng)
- 網(wǎng)絡(luò)編程課程設(shè)計(jì)報(bào)告--模擬火車售票退票系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)——操作系統(tǒng)課程設(shè)計(jì)模擬操作系統(tǒng)
- 模擬操作系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論