時間:2023-03-25 10:52:34
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇系統設計論文范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
管理信息系統(MIS)是安徽農業大學物流工程專業的一門專業基礎課,培養學生信息系統分析、設計、開發能力,同時要求學生具有較強的動手實踐能力。通過這門課程的實驗及實踐課教學,培養學生綜合運用知識和開發應用系統的初步能力。該課程的實驗及實踐課程具有演示性、設計性、綜合性的特點,要求學生靈活運用所學知識進行實際操作實驗。通過已開設實驗項目的練習,學生雖然理解了基本知識,但其綜合應用能力較差。因此,必須以學生的計算機綜合應用能力為中心,增設綜合性、設計性實驗項目,有針對性地開展實驗教學活動,使學生能夠及時鞏固所學知識點,將各知識點融會貫通,提高MIS的綜合應用及設計能力,為今后的學習和工作打下堅實的基礎。綜上,在前期實驗項目的基礎上,有必要再開設綜合性和設計性實驗項目,進一步深入了解開發任何一個管理信息系統分析、設計與開發必須經歷的主要過程,以及在開發過程的各個階段上,作為開發者應當完成的各項工作內容和應當提交的書面成果。例如,人事管理信息系統、物業收費管理系統、旅游資源管理系統等。本文以在線考試系統設計與開發為例,簡明闡述信息系統的分析方法和MIS開發流程,促使學生能夠更好的理解、掌握和應用計算機軟件,設計出滿意的作品。
2開發背景
對于高校教師來說,組織一場考試是一項十分繁重的工作,而考試又是必不可少且頻繁的事務,他們在上課之余需要考慮如何出一份合理的試卷,考試結束以后更加需要花費大量時間去批改試卷、統計分數,如果能夠利用信息技術為教師建立一個輕松、快捷、高效的考試環境無疑會帶來事半功倍的效果,對于教師來說,可以從繁重的勞動中解脫出來,對于學生來說,考試結束以后不僅可以更快的知道自己的考試成績,并且不會對自己的考試成績產生更多質疑。在信息技術飛速發展的當今時代,利用信息系統可以很輕松的完成這項工作,將教師從繁重的工作中解脫出來。從當前形勢來看,各大高校無一例外的建立了自己的校園局域網絡,這就為本系統的建立提供了很好的開發環境,一個基于C/S模式的完善的在線考試系統的成功開發,不僅可減輕教師的工作量,還可以在課程結束之后提供給學生使用,使得可以及時自檢,發現學習過程中的不足之處,從而補缺補差,最大程度上提高學習效率。因此,為了適應新形勢的發展要求,支持學校在局域網內進行在線考試,建立一個基于網絡的“在線考試系統”非常必要,即可輔助考試管理,也可支持學生在線練習。在線考試系統應具備以下功能:自動生成試卷、提交試卷、考試成績的生成等,同時,為了實現網絡考試的自動化,建立一套成熟完善的題庫可讓今后的工作省時省力。基于此,本文主要介紹如何利用VisualBasic6.0和SQLServer2008快速開發一個在線考試系統。
3系統分析
首先是可行性分析,從技術角度來說,各個學校的局域網建設已經相當成熟,完全符合VisualBasic6.0和SQLServer2008使用的環境,這兩款軟件的結合使用,給基于C/S模式的應用程序開發提供了良好的軟硬件環境,因此,從技術上來說,實現在線考試系統的開發是完全可行的。從經濟可行性角度分析,在線考試系統的成功開發,可以自動完成試題隨機生成、試卷提交以及成績批閱等工作,教師只需要設計題目,完成題庫的制作,后續進一步加以完善即可,大大減少了教師的工作量;另一方面,基于試卷的隨機性,監考人員配備或可減少。綜上所述,都大大減少了財政支出,其經濟型不言而喻。信息系統開發過程中的非常核心的一環就是系統分析,在很大程度上決定了系統的成敗。在線考試系統的開發者需根據事先制定的規劃要求,將用戶的需求以及解決方法確定下來,在了解現有組織管理狀況的基礎上,能夠明確用戶對信息系統功能的需求,及時發現問題和薄弱環節,并繪制業務流程圖、數據流程圖;明確管理功能并建立數據指標體系等。
4系統設計
根據系統分析的結果,并在系統分析報告已經獲得通過的基礎上,結合開發者的知識與經驗即可進行系統設計。為下一階段的系統實現(如編程、調試、試運行等)制定藍圖。
4.1系統總體結構設計登錄模塊
根據不同的用戶身份,系統賦予其不同的權限和操作,考生和管理員都只能進入各自的考生界面與管理界面。考生模塊:此模塊對于沒有考試的學生,可以參加考試、根據管理員設置修改密碼;對于已經提交試卷的考生可以在系統設置允許的前提下查詢自己的測試成績。考試模塊:在題目類型與分值由教師設定好的前提下,考生可以根據自己的答題愛好選擇答題順序,在考試過程中可以修改已經錄入的答案、恢復誤操作的試題,同時,系統顯示剩下的時間并能提前警示,時間倒計時結束以后強制考生提交試卷。管理模塊:對管理員和進行實際操作的教師來說,可以進行管理用戶、題庫的維護、設定與考試有關的參數、查詢等操作。
4.2數據庫設計
在開發在線考試系統之前,考慮到考生考試方面的數據較多,試題庫、每個考生的試卷、答卷等數據量都比較大,數據量分析結論是本系統要占用大量的數據空間,因此選擇MicrosoftSQLServer2008數據庫存儲這些信息,在進行數據庫概念設計的基礎上,根據概念設計的E-R圖在數據庫中創建了7個數據表用于存儲不同的信息,分別為:考試試卷表、學生試卷表、學生成績表、用戶信息表、試題類型表、試題題庫表、系統參數表。
4.3模塊及窗體設計
在本系統中創建了一個實現代碼重用的公共模塊,建立它達到節省系統資源的目的。其次,系統啟動后首先進入一個啟動引導界面,然后進入系統登錄界面,根據身份的不同可以判斷用戶的權限、登錄相應的界面。用戶登錄時用戶的身份用組合框CombBox限制,可以從文本框TextBox中輸入文本,也可以從列表框ListBox中選取列表項。以考生身份登錄系統的用戶進入考生界面,可以修改其登錄密碼、開始考試等。以管理員身份登錄系統的用戶進入管理界面,可以進行用戶管理、考試參數管理、試題管理查分等操作。學生主窗體:以考生身份通過系統登錄界面進入系統后顯示學生主窗體,該窗體可以修改密碼、模擬考試、查詢成績等。如果考生已經提交試卷就不能再次進入考試窗體,只能查詢相關課程的成績;同理,沒有參加考試的考生只能參加考試不能查分。考試窗體:考試模塊是主要的功能模塊,具有生成試卷、顯示時間、試卷(強制)提交、成績批閱等功能。考生通過單擊“開始考試”按鈕或按回車鍵進入考試窗體后系統將自動按照設定的參數隨機生成一套試題,由于每個考生所答的試題都不完全相同,確保了考試的公平性與安全性。目前設計的試題類型為客觀題,分別是選擇(單項、多項)、判斷與填空,分別在不同的選項卡中顯示。在窗體的上方顯示考試的已用時間、剩余時間及當前時間等信息。考生在完成之后單擊“提交”按鈕提交試卷,系統將自動判卷,顯示客觀題的得分,主觀題由教師自主閱卷。如果考試結束時間已到,那么仍未提交試卷的考生將被強制提交。考試過程中,管理員可以根據實際情況酌情延長考試時間、更換機器,考生也可以單擊“退出考試”按鈕暫時退出考試界面、單擊“清除操作”重新做某道題。管理員窗體:管理員的主要任務集用戶管理、查分、系統參數設定和題庫管理于一體。他進入相關的管理界面后,可以查詢題庫中的試題、可以使用菜單操作的功能等等,具有最高的權限。試題修改窗體:為了考試更加正確、合理與公平,題庫的完整性、正確性與考試的質量密切相關,一旦考試試題中出現了錯誤,就要及時進行檢查與更改,所以說修改試題是題庫維護的關鍵。
5系統實施
系統實施是指將分析、設計階段完成后所形成的新系統方案轉換成可執行的應用軟件系統,即將紙面上的、類似于設計圖式的方案在計算機上進行實現。編寫完成的應用程序的相關文件是很分散的,在沒有經過編譯之前是不能在沒有VisualBasic開發環境的計算機中運行的,如果想讓編寫好的應用程序在其他計算機上能夠正確運行,還需要將這些相關的文件進行打包,形成一個setup可執行安裝包文件。這樣,在其他沒有VB環境的計算機上,通過執行安裝包文件,應用程序就能正常地在該計算機中運行。只要掌握了在線考試系統的出卷、組卷和評卷三大部分的開發過程,那么在線考試系統的系統構成和開發思路也就不難理解了,其他的輔助功能都是對這三大功能的補充設計,是完善系統的一部分。
6結束語
(一)功能的分區
從目前潿洲島的旅游資源特點大概可以分為如下幾大類別:一是自然景觀,如火山巖自然風景(最為特色)、滴水丹屏、五彩灘等亞熱帶海灘風光;二是歷史人文景觀,如哥特式天主教堂、媽祖廟等宗教文化;三是客家生活體驗,如農家樂、漁家樂等民風民俗;四是海洋旅游度假體驗,如潛水看珊瑚、沙灘游樂、海鮮餐飲、海洋觀光等。從潿洲島現有的資源入手進行整合與分類,根據景點資源的特色來進行針對性的設計。
(二)突出地域文化的基因
潿洲島獨特的地域文化,便是本島的客家文化與外來西方宗教文化的融和,傳統漁獵文明與現代海洋旅游結合,傳統與現代,東方與西方文化在這不足25平方公里的小島上和諧共存。設計師們在設計具有潿洲島文化氣質的導視系統時,就必須融入潿洲島獨特的地域文化,塑造出個性化名片。這是讓人能夠用來區分不是在韓國濟州島、美國夏威夷,或是塞班島的一個重要舉措。綜合潿洲島的地域文化特征,在進行旅游景點導視系統設計時要突出三大文化基因,即客家文化基因、宗教文化基因、海洋文化基因,其中客家文化是主導,宗教文化是補充,海洋文化是基礎。因此,在進一步認清潿洲島旅游發展所擁有的獨特文化優勢、區位優勢、氣候優勢、資源優勢的前提下,方能形成不可替代、不可復制的產品優勢,這種發掘與整合使得使潿洲島更具獨特魅力。
(三)視覺元素的國際化特色
隨著全球經濟一體化進程的深化,潿洲島作為國際旅游島的發展定位已逐步清晰,而作為視覺符號呈現出來的景點導視系統設計,更是成為外國游客了解潿洲島最為直觀、便捷的方式。視覺導視的國際化定位設計,即在圖形符號、語言文字、色彩設計、構成方式等視覺要素的設計時要考慮國際化趨勢。在突出潿洲島獨特的地域文化優勢的基礎上,還能結合當下時尚要素和國際化潮流,能將設計的感覺和理性結合起來,能將中國東方古老文明用時尚化視覺元素表現出來。
二、傳統材料與現代技術結合在現代導視裝置中的體現
1測速原理
測量系統設計結構如圖1所示,兩個相同匝數和相同結構的線圈內嵌于炮管制退器中,保證兩組線圈的中心軸線與炮管軸線中心線共線,兩組線圈相距D。將三軸磁阻傳感器組成測量系統盡量安裝于彈丸質心,保證彈丸在飛行過程中三軸磁阻傳感器不會有晃動。在兩組線圈通電后,由電磁感應原理可知線圈產生磁場,磁場方向為平行于制退器中心軸。彈丸發射后經過第一組通電線圈時,磁阻傳感器在感知到線圈產生磁場后產生一個脈沖信號,啟動計時器,通過第二組線圈時,磁阻傳感器再次感知線圈產生感應磁場后,產生第二個脈沖信號,停止計時器,根據這兩個脈沖信號之間的時間間隔可得到彈丸經過兩組線圈的所用的時間Δt;根據公式(1)可以求得彈丸經過兩個線圈時平均速度vv=D/Δt,(1)式中v為彈丸飛行出炮口的速度;D為兩組通電線圈的距離;Δt為定時器測得的通過兩組線圈的時間。由于相對彈丸在高速飛行狀態下,所用的時間短,距離D也很短,可近似認為這段距離的平均速度為彈丸炮口初度。
2總體方案設計
如圖2所示,兩組線圈串聯上電,彈丸飛行通過第一組通電線圈時,磁阻傳感器感知到較大磁場,產生一個較大脈沖,將此信號進行信號調理(放大、濾波)后,經A/D采集數據,進行上下限閾值比較,若大于閾值,響應中斷請求,定時器開始計時;否則,繼續采集。彈丸飛行通過第二組通電線圈時,同理,磁阻傳感器感知到較大磁場,產生一個較大脈沖信號進行濾波、放大后,經過A/D轉換模塊轉換為數字量,進行上下限閾值比較,大于閾值時,響應中斷請求,定時器停止計時,通過定時器計時可得彈丸飛行經過兩組線圈的時間,實時解算出彈丸炮口速度。
3硬件系統設計
如圖3,硬件電路包括傳感器電路、信號調理電路與A/D轉換采集單元及MCU運算模塊。本設計中選用Honeywell公司研制生產的HMC1043三軸AMR磁傳感器,該傳感器具有體積小的特點、其封裝只有3mm×3mm×1.4mm,帶寬為5MHz,可以測量500kHz以下信號,符合在彈載測量環境中的體積小、動態性能高的測量要求。磁阻傳感器的放大和濾波電路如圖4所示,AD8426是雙通道、軌到軌型輸出的儀表放大器,并且體積較小,僅為4mm×4mm×0.85mm。其中一個通道提供信號調理模塊的抬高電壓,另一通道運用外接電阻器設置放大倍數。為了使系統設計具有體積小、動態性能高的特點,炮口測速系統MCU選擇使用由ST公司生產的Cortex—M4內核的高性能微型控制器STM32F405,該芯片內部自帶集成的三個12位的A/D轉換外設,不用外接A/D轉換器,所以,可以達到減小系統體積的目的,此外,其轉換速率和分辨率等也符合測量要求。
4軟件系統設計
軟件流程如圖5所示,程序主要包括系統初始化模塊、A/D轉換采集模塊、定時器模塊、中斷模塊和解算模塊。模塊間通過發送命令字和返回字來控制程序的執行過程,程序初始化后開始擦除FLASH,然后進行A/D轉換采集數據,判斷是否大于閾值,如是打開定時器開始計時,等第二次再次達到閾值定時器停止計時,最后進行初始速度解算和存儲。
5實驗驗證
整個測量系統由產生磁場的兩組通電線圈和彈丸內部磁傳感器的信號采集和調理電路組成。地面實驗采用100mm空氣炮,空氣炮激光測速儀如圖6所示。由于實驗條件限制沒有空氣炮炮口制退器,選用110mm的PVC管代替,其口徑大小和制退器一致,PVC管兩端分別繞上兩組線圈,每組線圈纏繞400匝,兩組線圈相距100mm。整個實驗裝置如圖7所示。 將線圈通電,炮彈上膛發射,采集三軸傳感器輸出數據和空氣炮測速儀數據。圖8(a)所示的激光測速儀測得的脈沖信號進行解算后得到的炮口速度為81.5256m/s。將圖8(b)所示的數據事后進行解算為81.3687m/s,同時將本測量系統實時解算出的速度信息通過上位機讀出為81.3650m/s,與事后解算值相差0.0037m/s,與激光測速儀測得的速度相比,相對誤差相差0.197%。
6結論
Struts2框架實現MVC(Model,View,Controller)模式[10],MVC模式能夠提高程序組件的重用性和清晰程序結構。Spring框架通過IoC(控制反轉)和AOP(面向方面編程)兩種技術,來實現對程序中的對象關系、事務、權限和日志的統一管理。Hibernate框架完成系統數據持久化的工作,通過Hibernate可以提高民政服務信息系統對底層數據庫兼容性,能在不修改后臺代碼的情況下實現數據庫系統的更換。
2系統設計
2.1系統總體設計民政服務信息系統包括三個子系統,分別是民政內部辦公系統、社會服務平臺和社會家園網。三個子系統協作示意圖如圖1所示。圖1中實線表示業務申報,虛線表示審核結果回復,數字表示民政業務類型(1表示社區申報的業務,2表示社區家園網直接申報的業務,3表示通過社區家園網向社區申報并且最終由社區提交到民政局的業務)。智慧社區服務平臺是由社區的辦公人員使用,主要完成社區基本情況登記與查詢,民政業務上傳與下達。民政內部辦公系統是提供給民政局辦公人員使用的,民政局辦公人員通過該系統能夠審批社區上報的申請和管理的民政業務信息。社區家園網是一個論壇,為群眾提供一個咨詢、辦事和交流的平臺,不需要進行證件真實性審核的業務都通過社區家園網申報。
2.2架構設計民政服務信息系統采用ExtJS和JSP實現前臺頁面,通過Struts2、Spring和Hibernate實現后臺業務處理,并通過ExtJS和SSH整合搭建一個實現了MVC設計模式的系統架構。ExtJS+SSH架構中ExtJS實現了從用戶界面向后臺提交請求。控制層使用Struts2來實現MVC模式。業務邏輯層細化為Service層和DAO層,通過Spring來管理Service和DAO之間的耦合關系。數據持久層使用Hibernate框架。實現時為了提高系統的擴展性,Service層和DAO層使用抽象接口,將具體的實現類和接口分離,并通過Spring指定Service接口和DAO接口的具體實現類,在需求變化后,只需更改Spring的配置文件就可以適應新的需求,符合“開閉原則”。系統架構圖如圖2所示。控制層通過Struts2的servlet來完成,Action層由Struts2中的自定義action類實現。Action層中的對象使用Struts-Spring插件管理,而Service層和Dao層及相應實現層的對象統一由Spring管理。表現層通過JSP和ExtJS實現。
2.3功能設計
2.3.1民政內部辦公系統的設計民政內部辦公系統按組織機構來劃分功能模塊,主要包括區劃地名科、社會福利與社會事務科、最低生活保障局、民間組織管理科、救災救濟科、局辦公室和人事科。根據通用信息系統的需求,添加了權限管理和登錄管理。由于每個模塊都有相應的政策法規,將政策法規提取出來作為一個模塊,局長監督模塊體現了民政服務信息系統比手動辦公的優勢,局長通過該系統就可以了解下屬的工作情況而不會打擾到下屬辦公。民政內部辦公系統的功能結構圖如圖3所示。由于篇幅所限,圖3中的第三級模塊只列出具有代表性的功能模塊,并對部分有代表性的第二級模塊功能作了說明。區劃地名科的功能是對地名普查等基本信息進行管理,主要包括:地名更改審批和行政區劃,自然村和建筑物等地名信息的查詢/添加/刪除/修改和歷史信息查詢。社會福利與社會事務科是對兒童收養、社會福利機構、婚姻登記、殯葬及墓地和社會救助的管理。審批類業務主要包括兒童收養審批和社會福利機構審批,管理類業務主要是對兒童收養信息、婚姻登記信息、社會救助信息和殯葬及墓地信息的添加/刪除/修改。民間組織管理科的主要功能是民間組織的審核、民間組織信息管理和民間組織年檢。民政內部辦公系統具有權限驗證的功能,用戶登錄后只能處理本科室的業務。
2.3.2社區服務平臺的設計社區服務平臺是以業務功能來劃分模塊的,將社區的辦公作為辦公系統模塊,其他模塊都是對業務數據進行管理。社區服務平臺的功能模塊還有社區基本信息、社區組織、社會救助、社區服務、災害數據管理和社區居委會管理。社區服務平臺的功能結構圖如圖4所示。圖4中的三級模塊都是二級模塊的核心功能,其他功能由于篇幅所限暫未列出。社區服務平臺的主要功能模塊分析如下。社區基本信息、社區組織、社會救助、社區服務都屬于信息管理模塊,主要功能是對相應信息進行查詢。災害數據管理的主要功能是提交災害數據到民政局和對該社區的災害數據進行管理。2.3.3社區家園網的設計社區家園網的實質是論壇,社區家園網實現時使用一個開源的論壇框架,然后添加一個二級模塊民政業務來完成所有在社區家園網提交的民政業務。社區家園網的功能結構圖如圖5所示。由于篇幅所限,圖5中的民政業務模塊的部分功能模塊未列出。
3系統的關鍵技術
民政服務信息系統是以Struts2為實現架構的基礎,通過Spring來整合相應的框架。Struts2和Spring整合來完成對Action的管理,Spring和Hibernate整合來實現持久化的工作。ExtJS作為Struts2的視圖的實現。
3.1系統核心配置文件的實現民政服務信息系統在web.xml中定義Struts2和Spring的配置文件路徑。該系統中Struts2的Action對象由Struts-Spring插件來管理,該插件需要在web.xml中配置相應的監聽器。web.xml文件核心內容。
3.2Spring和Hibernate整合的實現Hibernate完成系統業務數據持久化的操作,提供了save、delete、update等方法,在DAO層只需調用這些方法就可以存儲業務數據。Spring對Hibernate支持非常完善,在Spring的配置文件daoContext.xml中配置一個id為dataSource的bean和一個sessionFactory的bean,在程序中使用注入的sessionFactory對象來實例化Spring框架提供的HibernateTemplate模板,DAO通過HibernateTemplate來調用持久化方法進行業務數據存儲。
3.3整合ExtJS的實現ExtJS框架只需要在JSP頁面導入ExtJS的核心JS文件和CSS樣式,就可以在自定義JS文件中使用ExtJS提供的頁面組件和表單組件,而不必使用HTML標簽來編寫Web界面。在主界面的JSP中整合ExtJS的代碼如下。
4結束語
雖然在開展采購工作過程中,部隊完全參照各項指標和規范進行采購和資金支付,并嚴格的落實了集中式的采購方法,采購工作取得了一定成效,但是依然存在很多問題,具體表現在以下幾個方面:
(1)應用集中采購的方式,如果部隊的規模較小,規模效益會不明顯。這種情況主要存在基層一些部隊,現在被廣泛適用的采購制度是建立在團營級的部隊組織中,這樣一來,部隊需要的物資少,采購的規模就會變小,采購量難以與師以上的部隊組織相比,缺少市場采購優勢。
(2)駐地偏遠,采購和配送的成本高。很多基層部隊因為常年駐扎在偏遠地區,比如,兩國邊界處或者西部偏遠地區的邊防部隊等。
(3)采購的各項費用都是人工進行計算的,因此,財務結算的效率較低,尤其是在地方某些部隊,物品的采購、下單、運輸等的結算全部是由部隊專業部門通過手工記賬的方式完成的。
(4)部隊物品采購的范圍小,有很多物品都不能滿足部隊需求。當前,很多部隊大批量采購的是一些生活必需品,但是到當地供應商處購買時種類較少,有很多的物質都不能滿足部隊中官兵的需求。
2后勤物資統購系統的設計
部隊后勤中的物資采購系統在很多功能上都與應用軟件有所區別,可以說,后勤物資的統購系統既有軟件功能又有硬件功能,是一類綜合型的系統。鑒于這種原因,在對該系統軟件設計和開發時要考慮到硬件和軟件的一些設計上的基本要求,要對該系統的軟件功能和硬件功能以及網絡配置重點考慮。
2.1系統的網絡設計要求
部隊后勤物資統購系統采用的應用程序為Web系統程序,該程序是分布式的,能夠滿足部隊的網絡要求,但是應用這種程序首先要保證部隊網絡的通暢。主要是部隊中的網以及部隊內部的Internet網絡。值得注意的是,內部網絡和外部網絡是不能隨便接在一起的,并要采取一些隔離的手段。只有經過部隊的上級領導同意,用于執行軍事事務的時候才能將內部網絡連接到外部網絡中。
2.2客戶層的設計
該系統應用的是WebService應用集成手段,該集成手段能夠使所有運行在互聯網上的服務器都能夠以集成的方式組合在一起,可以使分散的計算機與各種系統設備組合到一起運行,大大提高了用戶的體驗效果。隨著這種集成方式被大范圍的應用,系統開發的重點已經轉變成了應用的效果。這種集成組成的方式能夠取代Web應用上的其他物件,能夠成為未來信息技術的主導。網絡中為用戶提供服務的主要方式是通過手機和計算機的終端對企業中網站進行訪問,以此實現服務的功能。網絡站點可以對WebService集成手段進行查詢,查詢的主要內容是該系統以公開形式存在的目錄,也可以是設置了訪問權限的私有形式的目錄,首先獲取提供服務的信息源,再將信息處理的結果返回到系統的使用客戶。通過各種系統的接口可以將傳輸來的信息轉換成可以利用的程序對象,再將這種能夠使用的程序對象傳輸到業務系統處理。業務系統存在于邏輯的中間位置,網絡中的一切功能實現就是靠業務層。
2.3系統業務邏輯層的設計
部隊后勤統購物資系統的主要部分就是系統的業務邏輯層,這種業務邏輯層功能強大,能夠將整個系統中的所有業務邏輯順利完成。在特殊平臺上構建這種業務邏輯層的主要方法有以下兩種:首先是Servlet和JavaBean這兩種技術來實現,其次是通過選擇系統組件的方式來實現,重點選擇的組件有EJB系統組件。前兩種技術在處理業務邏輯時相對簡單,并且處理系統功能時的要求不是很高,也由此造成了其安全性和穩定性不高。但是后者處理的對象集中性較強,一般都是存在于企業中或者獨立的部門中,因此,該系統在一定程度上比上一種技術更加安全和可靠,唯一的缺點是對其開發的成本較高,并且該系統的組成較為復雜,如果發生故障處理起來會有一定難度。
2.4數據持久層的設計
1系統組成分析
控制要求及技術指標,系統采用單片機控制方式,選用光電編碼器實時采集電機脈沖信息、計算鋼筋長度,并與設定長度比較,來控制電磁閥切割鋼筋;采用兩排數碼管分別顯示批次、長度、根數設定值和實時數據。硬件電路主要包括人機交互模塊、長度測量模塊、輸出控制模塊、報警模塊和電源模塊。系統框圖如圖1所示。
2硬件電路系統設計
2.1主控模塊考慮到系統對運行速度的要求,系統主控芯片選用STC12C5A16S2。該芯片是宏晶公司生產的單時鐘/機器周期(1T)單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但是速度快8~12倍。片內程序存儲器空間為16KB,數據存儲器除了在內部集成了256字節的RAM外,還集成了1024字節的擴展RAM,可以用來存儲多批次數據。
2.2電源模塊為了避免外界信號對單片機的干擾,系統對主控單元和輸入輸出設備分別供電。主控單元電源電路如圖2所示。圖中AC220V經過220V/9V的降壓變壓器后送給全波整流電路,首先將交變的電流變成脈動直流電,經過電解電容C1(470UF/35V)提高電路的可靠性;然后由L1、C2和C3組成電感π型濾波電路,降低紋波;再在7805穩壓芯片之前并聯TVS管,當有突然的大電壓發生時TVS管短路,從而使大電壓導入TVS管,不致破壞后面線路,待電路電壓正常時TVS管恢復高阻抗;最后經過C4和C5濾波輸出5V電源。輸入輸出電路的供電電源是在電氣柜中系統設計了一個220V/12V的變壓器,然后變壓器的輸出12V經過7809穩壓管得到9V的直流電給繼電器供電,再經過7805得到5V給編碼器供電。由于主控單元和輸入輸出電路分別采用獨立電源供電,避免了系統的電磁干擾。
2.3人機交互模塊人機交互模塊主要涉及鍵盤和顯示。系統設計鍵盤時考慮到操作的人性化及簡易性,分為數字鍵、調節鍵及功能鍵等25個鍵,顯示由兩組共20個數碼管組成,分別顯示設定數據和運行數據。顯示部分由兩片串聯的74HC595給兩排數碼管送字型碼,用串聯的另一片74HC595和P1.0,P1.1作為數碼管的10個位選,兩排共用位選。其中一排數碼管電路如圖3所示。按鍵部分用數碼管的位選線com1-com7兼做按鍵的列線,P2.0~P2.3做按鍵的行線,組成行列式按鍵。另外,在每個按鍵兩端并聯電容,由于電容兩端電壓不能突變,在按鍵抖動的時候,讓端口的電壓平滑上升、平滑下降,消除毛刺,進行硬件去抖。由于按鍵和顯示電路采用IO復用方法,共用了9根IO線,大大節省了單片機的IO口。
2.4長度測量模塊全自動鋼筋調直切斷機的精度主要取決于鋼筋長度的準確測量。在機械結構上采用主動輪帶動從動輪來使鋼筋前進,將編碼器裝在從動輪上,從動輪的轉動圈數乘以周長便可得到鋼筋的長度。單片機要實時采集編碼器脈沖信號,因此將Z相接在INT0,A相接在INT1,B相接普通IO口。A相調理電路如圖4所示。編碼器信號先通過上拉電阻與TVS管進行電源保護,用瓷片電容接地來濾除高頻及脈沖干擾;再經過光電耦合器PIC817進行隔離,采用單路光耦避免了透光時相鄰信號之間的干擾,提高電路可靠性;最后經過反相器接入單片機。
2.5輸出控制模塊控制器對電機的控制實質就是對繼電器的控制。點動前進控制電路如圖5所示。控制信號從單片機輸出后先經過光耦電路隔離,再經過ULN2003擴流提高驅動能力,接到繼電器線圈的一端;繼電器的常開觸點連在主電路接觸器的線圈回路中,當繼電器線圈得電時,常開觸點吸合,接觸器線圈得電,電機順轉。
3軟件系統設計
根據實際工作要求及需求分析,在程序系統設計時考慮了“插入批次”功能,將緊急加工的生產任務插在當前批次的下一批優先加工,同時系統設計了以下功能:1)“長度修正”功能設置長度+、長度-和切刀時間三個按鍵來修正誤差;2)計算出刀時刻在程序中對調直電機速度進行采集,據此計算出刀時刻,以精確切斷符合設定長度的鋼筋;3)點動功能系統設計了前進、后退、切刀點動鍵和禁切鍵,方便維修和調試;4)聲光報警用以提醒工作異常或完成任務。軟件主要由主程序及設定菜單、運行菜單、長度修正和點動子程序組成。
3.1設定菜單子程序通過設定菜單設置工作任務的批次、長度和根數的數據。設定程序系統流程圖如圖6所示。在程序系統設計時,借助變量確認鍵次數confirm_num來實現長度欄和根數欄的閃爍。當confirm_num為0時,長度欄閃爍,為1時根數欄閃爍。長度欄和根數欄的閃爍判斷條件如下:if(t>500&&confirm_num==0)//長度閃爍{//長度欄不亮}if(t>500&&confirm_num==1)//根數閃爍{//根數欄不亮}if(t<500){//正常顯示}設定菜單操作過程是按設定鍵進入設定功能,操作過程如下:首先系統自動設定第一批次并閃爍長度設定欄,輸入長度值按確認鍵后閃爍根數設定欄,輸入根數數據按確定鍵進入下一批的設定,最大可輸入20批數據,按設定完成鍵退出設定功能。如果按插入鍵進入設定功能時,具體設置和設定功能一樣,只是插入當前加工批次的下一批次數據,存儲數據時先把當前批次后的數據后移,然后再存儲新設定的數據。此外,還設有清除鍵和取消鍵。清除鍵用于清除個位數據,其余數據后移一位;取消鍵用于清除正在設定的當前批次的數據。
3.2長度計算子程序鋼筋長度的計算是保證設備精度的一個重要方面。我們選用400線三相旋轉編碼器,其中A、B相為兩個相位差90?的方波信號,Z相為零位脈沖信號。旋轉編碼盤每轉一圈(360?)產生一個Z脈沖信號,產生400個A、B相脈沖信號,AB之間的相位關系標志碼盤的轉向,即當A相超前B相90?時,標志碼盤正轉,當B相超前A相90?時,標志碼盤反轉。三相脈沖如圖7所示。采用光電編碼器測量長度時,由于存在不可避免的單圈測量誤差,隨著運行時間的增加,測量誤差將累積,影響產品質量。在軟件系統設計中添加對編碼器Z相的檢測,每檢測到Z一次(第一次除外),表示編碼器轉了一圈,不管所計脈沖數是多少,都認為是400脈沖,消除了因打滑現象、干擾脈沖、丟失脈沖等因素造成的單圈誤差,從而消除了累積誤差,提高了系統精度。系統總的脈沖計數為:Pulse_num=pulse_fst+400×n+pulse_lst式中,Pulse_num為總脈沖數,pulse_fst為第一圈的脈沖數,n為圈數,pulse_lst為最后一圈的脈沖數。鋼筋的長度為:Length=(Pulse_num/400)×circum式中,circum為從動輪的周長。
3.3出刀時間計算切割鋼筋時,調直電機是一直前進的,故需要提前發出切割指令,而提前的時間和調直電機速度有關,因此需要實時采集調直電機速度,并據此計算出刀時刻,以精確切斷符合設定長度的鋼筋。如圖8所示,其中lE為出刀時鋼筋長度,2l為出刀時刀口距鋼筋的距離,2v為出刀速度,1v為鋼筋行進速度。圖8切刀動作示意圖設lD為鋼筋切斷長度,那么需要提前動作的時間為22l/v,則:根據以上公式編寫程序,計算切刀準確動作時間,實現精確切斷鋼筋。
4結束語
根據系統的總體設計,應由系統主登錄頁面,包括管理員、教員、考生均可從此頁面登錄,采用密碼認證方式,系統根據選取的登錄頁面登錄至管理、考試、查詢等功能頁面。考生輸入驗證信息登錄后,選擇考試科目,考試級別,即可進行相應試題生成并進行培訓考試,考生交卷后,系統進行自動判斷并顯示分數,若含有主觀題,則需要教員登錄進行人工判卷,最終考生的考試記錄和分數將存入數據庫。
1.1各功能分解設計
(1)data.asp。Data.asp文件主要實現數據庫的連接功能。可方便其他功能頁面連接數據庫時引用。
(2)default.asp。該頁面為系統的首頁,提供系統入口。在此頁面可實現用戶的登錄和注冊引導。利用表單域獲取用戶輸入的驗證信息,提交給處理頁面進行處理,反饋結果,并連接至相關頁面。
(3)register.asp。該頁面實現用戶注冊功能,用戶填寫所需的注冊信息,該頁面進行預處理,檢測數據庫用戶表中是否有沖突信息,若無沖突信息則寫入數據庫用戶表,有沖突則提示用戶沖突項,更正后重新執行注冊代碼。
(4)select.asp。該頁面實現用戶登陸考試系統后進行考試科目的選擇,考生信息的核對,提供信息給考試頁面生成試題。
(5)test.asp。該頁面為考試頁面,實現條件實現隨機試題的生成,并對培訓考試時間進行提示,在預設時間點對考生給予時間提醒。該頁面使用Randomize產生0-1間的隨機數,用于控制系統對試題的隨機選擇。考試結果頁面,考試結束后若僅有主觀題,則系統自行進行判卷,反饋考試結果,并對考試記錄和分數進行入庫操作。
1.2關鍵算法介紹
系統設計過程中有三處關鍵算法。第一個是如何實現在隨機選題。隨機選題使用常用的rnd()函數,在使用該函數前需使用Randomize產生隨機因子。第二個是保證隨機選題不重復。為解決該問題,設計使用在題目表中開一列ifselect字段來標識是否已經進行過該題的選取,若為0則表明為選取,代碼選擇該題,若為1,則跳過。再每次生成考卷后都將ifselect賦值為0,以便下一用戶選題。第三個是如何將test.asp中所有試題ID號傳到result.asp中。因為試題數是變值,用一般的使用變量方式行不通。可采用將id號以逗號分隔存在字符串變量中,然后到result.asp頁面中用split()函數拆開存放到數組中的辦法進行解決。
2結論