久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

系統軟件設計的鐵路運輸論文[五篇范例]

時間:2019-11-21 13:19:06下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《系統軟件設計的鐵路運輸論文》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《系統軟件設計的鐵路運輸論文》。

第一篇:系統軟件設計的鐵路運輸論文

1企業鐵路運輸概述

此處以某石化企業作為說明,這個企業的鐵路作業地點的組成部分為工業站、裝卸站以及化纖工作區。其中,工作站包含了24個股道,裝卸站則有25個,化纖工作區有8個。負責運輸生產部門由運輸輕油以及機務等幾個部分組成,負責的主要內容為貨車的接送,裝貨、卸貨、清洗機車以及車的調度等。這幾個部門都有共同的特點,那就是都是負責有關車輛的調度和貨物裝卸,因而對于車的本身信息的一致性和協調性具有很高的要求。這個企業內部設立兩套衡計量系統,主要針對軌道展開運作,其位置為工作站以及場內作業區之間,負責二者之間的聯系,軌道衡可以對車的重量信息進行測定,然后將其傳送到生產調度管理系統之中。這個企業在制定運輸計劃的時候需要對生產和運輸進行綜合考量,側重于對規劃內容和作業的調控。將實時的車輛信息進行收集,讓車的調度工作更加體現出智能化水平,使整個工作具有安全性,提高作業進展效率,然后將所得的信息傳送到其它部門,實現信息的共享,提高配合的積極性和協調性,是整個企業的運作效率提高。

2系統功能設定

2.1用戶和權限方面

系統中必然存有大量的客戶信息,它們呈現出繁雜混亂的狀況,因此必須對其進行整理。企業中的部門類別很多,其功能也各有不同,企業必須據此對系統的功能進行劃分,將客戶也相應的進行分類,確定其服務責任歸屬于哪個部門,并開發出相應的功能模塊提供給部門使用。

2.2車輛接發放面

當車輛到達目的地之后,系統會對車次的編號信息進行查詢,然后進行辨別,此時就是車輛信息在系統中開始階段。由于車次較多,為了避免發生對車次信息進行混淆判別的行為,還要在系統識別之后進行人工識別,只有在校對人員結束核實之后才能將信息輸入數據庫。

2.3實時車輛信息控制

當車進入現場之后,就會因為位移和作業變化情況而產生一些信息上的變動,這些信息的維護工作都要依據系統操作人員的操作特點來進行,而且對于發生變化的所有信息細節都要記錄并保存,這樣做有利于信息的查詢和報表的統計。

2.4生產作業方面

圍繞運輸和生產計劃展開工作的過程中,調度中心需要下發裝貨、卸貨以及車輛清洗計劃,負責各個工作環節的部門需要在任務完成之后對現實情況進行客觀記錄,轉換成信息反饋給系統。在這個過程中,會因為工作內容的繁多而產生大量的工作單。

2.5調車作業方面

調度中心在車輛進行裝貨或者卸貨的過程中,需要對車輛的位置安排以及移動情況作出安排。為了保證工作順暢進行,調查人員會制定規劃,等到規劃下達以后傳送到信號樓,值班人員對內容進行審核并確認通過之后,會將其發送到無線調查系統,然后其將有關數據直接發送到機車當中。

3系統結構安排

系統設計需要C/S和B/S進行交叉融合,其中的C/S負責業務邏輯分析,B/S結構負責對信息的維護和信息檢索工作。整個系統可以分為4個層級。核心層級應該由數據庫和服務器共同組成,這個層級主要負責業務的信息存儲以及讀取情況、最關鍵業務的邏輯和C/S與服務器之間的信息傳遞。WEB服務器單獨成為一個層級,負責B/S終端對數據庫進行查閱的邏輯以及核心方面的邏輯。所有調度站點和車間方面共同連接成系統的邏輯層級,負責的是與其有關的業務邏輯。基礎的層級有車站、無線調車以及車輛信息判定系統共同連成,負責整個過程的基礎數據處理。

4軟件設計

4.1客戶端

在客戶端的設計過程中,上層設計要著重于界面,還要兼顧其它彈出的控件設計。中間的設計層主要是邏輯部件,這個部分需要用到的運算相較于服務器來說是簡單的,但是邏輯層承擔的任務較多,需要涵蓋用戶傳送以及接收部件、瀏覽部件等之間的信息傳遞。

4.2服務器軟件

這個部分的軟件與客戶端有很多相似之處,但是這個終端軟件與客戶的接觸不多,因此可以將UI層采取清除處理。這個部分的邏輯問題比較難解,因為它需要對各種類型的客戶端的瀏覽以及操作進行管理。這個部分的設計結構與客戶端基本一致,上層設計就是對軟件的窗口和系統進行聯系處理,中間層級也是幾個部件之間的邏輯處理,下部層級處理數據瀏覽,對其存取進行管理。

4.3WEB服務器

這個部分主要設計三個功能模塊,涉及崗位權限管理、搜索等。其表示層主要負責給出界面,與用戶之間進行的所有互動,可以根據用戶的需要顯示出相應的窗口,為他們提供方便的服務。業務的邏輯層面包含了信息驗證、業務安排等,這個層級是最為復雜,也是最為重要的一環。

5結論

我國鐵路的信息化建設過程不斷推進,雖然取得諸多成果,但也存在一些急需解決的問題。在設計與其相關的調度管理系統的過程中必須以現實為依據,設計出符合企業特點的系統。本文分析對企業鐵路運輸進行概述,分析了企業運輸調度管理系統在功能方面的設定,對整個系統的結構進行安排,最后描述了系統軟件的設計。

作者:王靜 單位:兗礦集團鐵路運輸處

第二篇:交流電動機調速系統軟件設計-本科論文(精)

XXX大學本科畢業設計(論文電機交流調速軟件設計 學生姓名: 學生學號: 院(系: 年級專業: 指導教師:教授 助理指導教師:副教授 二〇一一年六月

Xxx大學本科畢業設計(論文摘要 摘要

本文主要介紹基于意法公司STM32處理器的三相交流異步電動機調速系統的軟件設計。詳細闡述異步電動機矢量控制系統和電壓空間矢量PWM(SVPWM調制技術原理及軟件實現。使用IAR公司的EWARM開發環境進行C語言程序開發,同時嵌入μcos-ii實時操作系統,以提高系統的實時性。然后通過MATLAB/Simulink 軟件進行仿真驗證。實驗及仿真結果表明,所設計的三相交流異步電動機調速系統具有轉矩脈動小,輸出電流波形好,系統響應速度快等優點。

關鍵詞三相異步電動機,矢量控制,SVPWM,STM32,μcos-ii實時操作系統,MATLAB仿真

本科畢業設計(論文 ABSTRACT 目錄 緒論 矢量控制的基本原理 電壓空間矢量PWM(SVPWM的基本原理 4 STM32簡介 μcos-ii實時操作系統簡介 基于STM32的μcos-ii實時操作系統移植 7 MATLAB/Simulink仿真軟件簡介 8 調速系統軟件實現 9 調速系統仿真模型及仿真 1 緒論

當前,三相交流異步電動機已廣泛應用于現代工業及相關領域,其調速系統顯然成為應用的關鍵,而調速系統的實現有很多種方式。20世紀70年代德國學者Blaschke等人提出了矢量控制方法。這種控制方法就是采用矢量變換使交流異步電機定子電流勵磁分量和轉矩分量之間實現解耦,交流異步電動機的磁通和轉矩分別進行獨立控制,從而使交流異步電動機變頻調速系統具有了直流調速系統的優點。因此,近幾年來得到相當廣泛的應用。

矢量控制采用脈寬調制(PWM技術控制輸出電壓,PWM技術主要有正弦PWM(SPWM、消除指定次數諧波的PWM(SHEPWM、電流滯環跟蹤PWM(CHBPWM、電壓空間矢量PWM(SVPWM等控制技術。其中經典的SPWM控制主要著眼于使變壓變頻器的輸出電壓盡量接近正弦波,并未顧及輸出電流的波形。而電流滯環跟蹤控制則直接控制輸出電流,使之在正弦波附近變化,這就比只要求正弦電壓前進了一步。然而交流電動機需要輸入三相正弦電流的最終目標是在電

動機空間形成圓形旋轉磁場,從而產生恒定的電磁轉矩,這正是電壓空間矢量PWM(SVPWM控制技術的控制目標。如此,SVPWM控制技術具有系統逆變器直流端母線電壓利用率高、開關損耗小、電動機轉矩波動小等優越性能,應用更為廣泛。

本文詳細闡述異步電動機矢量控制系統和電壓空間矢量PWM(SVPWM調制技術原理及基于意法公司STM32處理器的軟件實現,同時嵌入μcos-ii實時操作系統,以提高系統的實時性,然后通過MATLAB/Simulink軟件進行仿真驗證。實驗及仿真結果表明,該設計的三相交流異步電動機調速系統具有轉矩脈動小,輸出電流波形好,系統響應速度快等優點。矢量控制的基本原理 2.1矢量控制的基本思路

通過坐標變換,使異步電動機等效成直流電動機,模仿直流電動機的控制策略,得到直流電動機的控制量,然后經過相應的坐標反變換,就能夠控制異步電動機。即通過坐標變換實現的控制系統就叫作矢量控制系統(VC 系統。基結構框圖如圖2-1。

2.2坐標變換 2.2.1坐標變換引出

由于異步電動機的動態數學模型復雜,即是一個多變量(多輸入輸出,并且電壓(電流、磁通、轉速、頻率之間相互影響的高階、強耦合、非線性系統,因此,要分析和求解這樣的數學模型所列的方程顯然是十分困難的。在實際應用中必須設法予以簡化,而簡化的基本方法就是坐標變換。

2.2.2坐標變換的基本思路

坐標變換的基本思路是能把異步電動機的物理模型等效的變換為類似直流電動機的模式,所依據的原則是:在不同的坐標下所產生的磁動勢完全一樣。

首先看看直流電動機的物理模型,如圖2-1中所示。圖中F 為勵磁繞組,A 為電樞繞組,其中F 在定子上,A 在轉子上。這里把F 的軸線稱作d 軸,主磁通Ф的方向就是沿著d 軸的方向;A 的軸線則稱為q 軸,由于換向器電刷的作用,電刷兩側每條支路中導線的電流方向總是相同的,因此,電樞磁動勢的軸線始終被電刷限定在q 軸位置上,其效果好象一個在q 軸上靜止的繞組一樣,即電樞繞組。由此可描述直流電動機的物理模型是建立在兩個相互垂直的坐標系上的,其中d 軸勵磁繞組A 的勵磁電流a i 決定主磁通Ф,而q 軸電樞繞組F 的電樞電流f i 在主磁通Ф下產生電磁轉矩,與主磁通Ф無關。

在交流電動機三相對稱的靜止繞組A、B、C 中,通以三相平衡的正弦電流A i ,B i ,C i 時,所產生的合成磁動勢是旋轉磁動勢F ,它在空間呈正弦分布,以同步轉速 1 順著 A-B-C 的相序旋轉。其物理模型如圖2-2(a 所示。

依據坐標變換的原則,要建立與直流電動機的物理模型等效的物理模型,可由下面的方法進行坐標變換:一是將三相靜止坐標系轉換為兩相靜止坐標系(3/2變換,二是將兩相靜止坐標系轉換為兩相旋轉坐標系(3s/2r 變換,如圖2-2。如

此得到與直流電動機的物理模型的等效的坐標系。2.2.3坐標變換之三相二相變換(2s/2r 變換

2s/2r 變換即二相靜止坐標系到兩相旋轉坐標系的變換,α、β軸為靜止的, d,q 軸是以轉速 1ω旋轉的,α軸與d 軸的夾角為?,根據文獻[8]知,(式2-4 ??????????????????????---=??????C B A β232302121132αi i i i i

????????????---=2323021211322/3C ??????? ?????????---=2321232110322/3C ?? ????=??

??????????-=??????q d s 2/r 2q d βαcos sin sin cos i i C i i i i ???? 則兩相旋轉坐標系到二相靜止坐標系的變換的變換陣為,(式2-5 由(式2-4兩邊左乘以變換陣的逆矩陣,可得(式2-6 則二相靜止坐標系到兩相旋轉坐標系變換的變換陣為,(式2-7 2.3異步電動機在兩相同步旋轉坐標上的數學模型 2.3.1磁鏈方程

在dq 坐標系的磁鏈方程為,(式2-8 其中, —— dq 坐標系定子與轉子同軸等效繞組間的互感;

—— dq 坐標系定子等效兩相繞組的自感;——dq 坐標系轉子等效兩相繞組的自感;sd ψ、sq ψ、rd ψ、rq ψ分別表示d、q 軸上定子磁鏈,d、q 軸上轉子磁 鏈;??????-=????cos sin sin cos s 2/r 2C ??

??????????-=??????βαq d cos sin sin cos i i i i ??????????-=????cos sin sin cos r 2/s 2C ??????????????????????????=??????????????rq rd sq sd r m r m m s m s rq rd sq sd 00000000i i i i L L L L L L L L ψψψψr m r l L L L +=ms m 23L L =s m s l L L L += sd i、sq i、rd i、rq i 分別表示d、q 軸方向定子繞組電流,d、q 軸方向轉子繞組電流;2.3.2電壓方程

在dq 坐標系的電壓方程為,(式2-9 其中, s R 為轉子內電阻,r R 為定子內電阻;1ω為同步角轉速,其等于定子頻率;s ω為轉差,ωωω-=1s ,ω為轉子轉速;sd u、sq u、rd u、rq u 分別表示d、q 軸方向定子繞組電壓,d、q 軸方向轉子繞組電壓。

2.3.3轉矩與運動方程 在dq 坐標系的電轉矩方程為,(式2-10 運動方程為,(式2-11 2.3.4異步電動機在兩相同步旋轉坐標上的狀態方程 由于鼠籠型轉子內部是短路的,故有 rd u = rq u = 0 ,由代數變換可知,其狀 態方程,即s r i--ψω狀態方程, ??????????????????????????+-+-+--+=??????????????rq rd sq sd r r r s m m s r s r r m 1m m m 1s s s 1m 1m s 1s s rq rd sq sd i i i i p L R L p L L L p L R L p L p L L p L R L L p L L p L R u u u u ωωωωωωωω(rq sd rd sq m p e i i i i L n T-=t n J T T d d p L e ω+=(式2-12(式2-13(式2-14(式2-15(式2-16 其中, ——電機漏磁系數;——轉子電磁時間常數。2.4按轉子磁鏈定向的矢量控制 2.4.1按轉子定向的旋轉坐標系

現令d 軸沿著轉子總磁鏈矢量方向,并稱之為M 軸,而q 軸再逆時針轉90°,即垂直于轉子總磁鏈矢量,稱之為T 軸。即有

r rm rd ψψψ==, 0==rt rq ψψ(式2-17 2.4.2按轉子定向的旋轉坐標系的狀態方程 轉矩方程為(式2-18 L p rq sd rd sq r m 2p(d d T J n i i JL L n t--=ψψωsd

r m rq 1rd r rd(1d d i T L T t +-+-=ψωωψψsq r m rd 1rq r rq(1d d i T L T t +---=ψωωψψs sd sq 1sd 2r s 2m r 2r s rq r s m rd r r s m sd d d L u i i L L L R L R L L L T L L L t i σωσωψσψσ+++-+=s sq sd 1sq 2r s 2m r 2r s rd r s m rd r r s m sq d d L u i i L L L R L R L L L T L L L t i σωσωψσψσ+-+--=r r r R L T =r s 2m 1L L L-=σr st r m p e ψi L L n T = 轉差方程為(式2-19 d、q 解耦方程(式2-19 2.4.3按轉子磁鏈模型(計算 ? 按轉子磁鏈模型如下圖圖2-3, 2.4.4按轉子磁鏈定向的矢量控制 矢量控制的結構框圖如下圖2-4,r r st m s 1ψωωωT i L ==-sm r m r 1i p T L +=ψ 電壓空間矢量PWM(SVPWM的基本原理 4 STM32簡介

4.1基于CORTEX-M3內核的STM32 CORTEX-M3是ARM公司最新推出的基于ARM v7體系架構的處理器核,具有高性能、低成本、低功耗的特點,專門為嵌入式應用領域設計。ARM v7架構采用了Thumb.2技術。保持了對現存ARM解決方案完整的代碼兼容性,比單純 ARM代碼少使用3l%的內存,減少了系統開銷,同時能夠比Thumb技術高出38%的性能。在中斷處理方面,CORTEX-M3集成了嵌套向量中斷控制器 NVIC。NVIC可以配置 1~ 240 個帶有256個優先級、8級搶占優先權的物理中斷。同時,搶占(Pre-eruption、尾

鏈(Tail-chaining、遲到技術(Late-arriving的使用,大大縮短了異常事件的響應事件。CORTEX-M3異常處理過程中由硬件自動保存和恢復處理器狀態,進一步縮短了中斷響應時間,降低了軟件設計的復雜性。

STM32是意法公司基于CORTEX-M3內核的一款高性能單片機,在具有與其它單片機相同功能的同時,在電機控制方面尤為突出,可產生高精度的可控6路PWM 波,其可設置死區時間與故障輸出保護,并且設有正交編碼器速度反饋接口,實現高精度速度檢測。并且意法公司針對交流感應電動機還專門設計了應用程序庫,方便使用者二次開發。ARM是目前嵌入式領域應用最廣泛的 R I S C微處理器結構,它以低成本、低功耗、高性能等優點占據了嵌入式系統應用領域的領先地位。

C o r t e x-M3內核是 A R M新型 V 7架構系列的微控制器版本,廣泛應用于企業、汽車系統、家庭網絡和無線技術領域,特別在電機數字控制領域的性能尤為突出。

4.2STM32的高級定時器 4.2.1高級定時器的結構圖 參考文獻[11],其結構如下圖4-1, 4.2.2高精度PWM產生

時鐘可為APB總線頻率的2倍,最大72MHz,可提供13.8ns 定時精度。有邊沿或中心對稱模式,方便PWM波的結構調整。在更新率倍頻模式,中心對稱模式下無精度損失,每個PWM周期可產生兩次中斷或DMA連續傳輸。

4.2.2高精度PWM管理

可編程的死區產生是其最大的特點,由8位寄存器控制死區時間,在時鐘為

72MHz時13.8ns 最大精度(從0 到14μs, 非線性。有專門的故障停機輸入控制,由關閉6路PWM輸出且發出中斷請求來實現,且異步操作(無須時鐘同步,更適合實時控制。

4.3STM32的速度檢測

STM32可直接與增量式正交編碼器相連而無需外部邏輯電路,其中正交編碼器的第三個輸出口,可連至外部中斷口來觸發定時器的計數器復位。當自動重載寄存器的值配置為正交編碼器每轉產生的計數脈沖時,則計數器的值直接為轉子的角度/位置,非常方便速度檢測。

4.4STM32的ADC ADC轉換速度可達1MHZ,精度為達12位,采樣時間可編程(1.5-239.5個時鐘周期,最小采樣時間達107ns,滿足高性能異步電動機調速的采樣頻率要求。有多通道基于定時器的掃描采樣功能,且每個ADC通道可被來自定時器的6個事件觸發,或由外部事件和軟件觸發,由此可將ADC與定時器并聯控制,得到更好的調速性能。μcos-ii實時操作系統簡介

μC/OS-II是著名的源代碼公開的實時內核,是一個完整的,易移植、易固化、易裁剪的占先式實時多任務內核。μC/OS-II是用ANSI C編寫的,包含一小部分與微處理器類型相關的匯編語言代碼,使之可供不同架構的微處理器使用。雖然μC/OS-II是在PC機上開發和測試的,但μC/OS-II的實際對象是嵌入式系統,并且很容易移植到不同架構的微處理器上。至今,從8位到64位,μC/OS-II已在超過40中不同架構的微處理器上運行。基于STM32的μcos-ii實時操作系統移植 7 MATLAB/Simulink仿真軟件簡介 8 調速系統軟件實現

8.1調速系統軟件的結構圖 調速系統軟件的結構圖如圖8-1,磁場定向控制(FOC 軟件的流程圖如圖8-2, 8.2 9 調速系統仿真模型及仿真 電流采樣

(A i ,B i ,C i =得到相電流(αi ,βi = Clarke(A i ,B i ,C i(d i ,q i = Park(αi ,βi *d V = PID 調節(d i ,*d i *q V = PID 調節(q i ,*d i(q V ,d V = 飽和處理(*q V ,*d V(αV ,βV = 反Park(q V ,d V SVPWM(αV ,βV

結 束 結論

參考文獻

[1] 華成英,童詩白.模擬電子技術基礎[M] 北京:高等教育出版社,2006 攀枝花學院本科畢業設計(論文參考文獻

[2] 楊路明.C語言程序設計教程[M] 北京:北京郵電大學出版社,2005 [3] 王曉明.電動機的單片機控制.北京:北極航空航天大學出版社,2002.[4] 王兆安,黃俊.電力電子技術.北京:機械工業出版社,2000.[5] 李華德,白晶,李志明.交流調速控制系統.北京:電子工業出版社,2004.[6] 羅政球.提高電子電路抗干擾能力經驗談[J].電子制作,2006,10.[7] 胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,2006,3.[8] 陳伯時.電力拖動自動控制系統.北京:機械工業出版社,2004,07.[9](澳霍姆斯(Holmes,D.G.,(美利波(Lipo,T.A.著;周克亮譯.電力電子變換 器PWM技術原理與實踐.北京:人民郵電出版社,2010,02.[10](英姚文詳,宋巖譯.ARM Cortex-M3權威指南.北京:北京航空航天大 學出版社,2009,7.[11] 彭剛,春志強.基于ARM Cortex-M3的STM32系列嵌入式微控制器應用實踐.北京:電子

工業出版社,2011,01.[12] 侯殿有,才華.ARM嵌入式C編程標準教程.北京:電子工業出版社,2011,01.[13](美Jean J.Labrosse著,邵貝貝等譯.嵌入式實時操作系統μCOS-Ⅱ(第2版.北京: 北京航天航空大學出版社,2003,05.[14] 陳瑤,李佳,宋寶華.Cortex-M3 + μC/OS-II嵌入式系統開發入門與應用.北京:人民郵

電出版社,2010,08.[15] 馬小亮.大功率交--交變頻調速及矢量控制技術(第3版.北京:機械工業出版社,2004, 07.[16] Schildt, Herbert.c: The complete Reference(c 4/E.McGraw-Hill/Osborne Media ,2000,4.[17] Jean J.Labrosse.Embedded Software.Newnes ,2007,9.65 攀枝花學院本科畢業設計(論文)(空 1 行 附錄 A:XX 公式的推導 附錄 A:XX 公式的推導(空 1 行(空 1 行 黑體三號居中 XX 公式的推導過程是:(宋體五號,距行固定值 20 磅,英文用 Times New Roman 五號)65 攀枝花學院本科畢業設計(論文)(空 1 行 致謝 致 謝(空 1 行 黑體三號居中 XXX…(宋體小四號,距行固定值 20 磅)67

第三篇:軟件設計模式淺析論文

軟件設計模式淺析

陳亞東

(中原工學院軟件學院,河南 鄭州450000)

摘要:什么是軟件設計模式呢?其實廣義的來講,軟件設計模式是可解決一類軟件問題并且能反復使用的軟件設計方案;狹義的來講,軟件設計模式是對被用來在特定場景下解決一般設計問題的類和相互通信的對象的描述。是在類和對象的層次描述的可反復使用的軟件設計問題的解決方案。軟件設計模式通常描述了一組相互緊密作用的類與對象。

在課堂學到的軟件設計模式,我學習的并不好,對各種模式的運用和實現,感覺簡單,但是要做起來還是有些難度。本文簡單講述了以面向對象技術為基礎的軟件設計模式的分析。

關鍵詞:設計模式;設計方案;面向對象

中國分類號:TP311.5文獻標志碼:A

Software design patterns is

analysed

Chenyadong

(Zhongyuan University of TechnologySoftware college,henan zhengzhou450000)Abstract: What is a software design pattern? Actually, broadly speaking, the software design pattern is a type of the software can solve the problem and the repeated use of the software design;Narrowly speaking, the software design pattern is to be used in specific scenarios and communicate with each other to solve the problem of general design of the description of the object.Is described in the level of the classes and objects can be repeated use of the software design of the solution of the problem.Software design patterns usually describes a set of mutually close function classes and objects.Learned in the class of software design pattern, I'm not a very good learning, for the use of various patterns and implementation, feeling is simple, but want to do or some difficulty.This article simply describes the software design based on object-oriented technology pattern analysis.Key words: design patterns;Design scheme;object-oriented

對于軟件設計模式,從上課到現在,我在頭腦中還沒有一個完整的概念,主要是因

為我的基礎比較差,憑自身能力還不能寫出

來一個項目。通過上網搜索,知道了什么是

軟件設計模式,它是一套被反復使用,多數

人知曉的,經過分類編目的,代碼設計經驗的總結,使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性

[1]廠模式、單例模式、生成器模式、工廠方法模式、原型模式、適配器模式等等。

一、設計模式 模式是用來描述所交流的問題及解決方案的,一個完整的設計模式主要由模式名稱、問題、解決方案、效果四個基本要素組成。設計模式體現的是程序整體的一種構思,所以有時候它也會出現在分析或者是概要設計階段中,設計模式的核心思想是通

過增加抽象層,把變化部分從那些不變的部[2][2]。軟件設計模式分為基礎模式、委托模式、接口模式、代理模式、創建型模式、抽象工

分中分離出來。這就是我所了解的設計模式。設計模式有五種原則,“開-閉”原則(OCP)、單一職責原則(SRP)、里氏代換原則(LSP)、依賴倒置原則(DIP)和接口隔離原則(ISP)[3],設計模式就是實現了上面所說的五種原則,從而達到了代碼復用、增加可維護性的目的。

在設計模式經典著作《GOF95》中,設計模式從應用的角度上被分為三個大的類型,分別是創建型模式、結構型模式和行為型模式。又根據模式的范圍分,模式既用于類又用于對象,類模式是處理類和子類之間的關系,這些關系通過繼承建立,是靜態的,在編譯時刻便確定下來了;對象模式是處理對象間的關系,這些關系在運行時刻是可以變化的,更具動態性。從某種意義上來說,幾乎所有模式都使用繼承機制,所以“類模式”只指那些集中于處理類間關系的模式,而大部分模式都屬于對象模式的范疇。

二、設計模式的分類

創建型設計模式是用來創建對象的模式,抽象了實例化過程,工廠模式、抽象工廠模式、單件模式、生成器模式、原型模式都屬于創建型設計模式。簡單來說一下創建型結構模式有哪幾種模式吧,首先說一下工廠模式,工廠模式:客戶類和工廠類分開,消費者任何時候需要某種產品,只需要向工廠請求即可,消費者無須修改就可以接納新產品;缺點就是當產品修改時,工廠類也要做出相應的修改。比如:如何創建及如何向客戶端提供。抽象工廠模式:為一個產品族提供統一的創建接口,當需要這個產品族的某一系列的時候,可以從抽象工廠中選出相應的系列創建一個具體的工廠類。單件模式:保證一個類有且僅有一個實例,提供一個全局訪問點。生成器模式:將復雜對象創建與表示分離,同樣的創建過程可創建不同的表示,允許用戶通過指定復雜對象類型和內容來創建對象,用戶不需要知道對象內部的具體構建細節。原型模式:通過“復制”一個已經存在的實例來返回新的實例(不新建實例)。被復制的實例就是“原型”,這個原型是可定制的。原型模式多用于創建復雜的或者耗時的實例,因為這種情況下,復制一個已經存在的實例使程序運行更高效;或者創建值相等,只是命名不一樣的同類數據。這幾種模式老師也讓做過作業,做起來感覺也挺簡單的。

結構型模式討論的是類和對象的結構,它采用繼承機制來組合接口或實現(類結構型模式),或者通過組合一些對象來實現新的功能(對象結構型模式)。結構型模式有這幾種模式,組合模式:定義一個接口,使之用于單一對象,也可以應用于多個單一對象組成的對象組。裝飾模式:給對象動態添加額外的職責,就好像給一個物體加上裝飾物,完善其功能。代理模式:在軟件系統中,有些對象有時候由于跨越網絡或者其他障礙,而不能夠或者不想直接訪問另一個對象,直接訪問會給系統帶來不必要的復雜性,這時候可以在客戶程序和目標對象之間增加一層中間層,讓代理對象來代替目標對象打點一切,這就是代理模式。享元模式:Flyweight是一個共享對象,它可以同時在不同上下文(Context)使用。外觀模式:外觀模式為子系統提供了一個更高層次、更簡單的接口,從而降低了子系統的復雜度,使子系統更易于使用和管理。外觀承擔了子系統中類交互的責任。橋梁模式:橋梁模式的用意是將問題的抽象和實現分離開來實現,通過用聚合代替繼承來解決子類爆炸性增長的問題。適配器模式:將一個類的接口適配成用戶所期待的接口。一個適配器允許因為接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裝在一個已存在的類中。對于這幾種模式,我理解的太籠統,也不太明白,只是根據這些定義來用心理解來消化。

行為型設計模式著力解決的是類實體之間的通訊關系,希望以面向對象的方式描述一個控制流程。行為型設計模式種類比較多,其中觀察者模式和訪問者模式運用的比較多。模版模式:定義了一個算法步驟,并允許子類為一個或多個步驟提供實現。子類在不改變算法架構的情況下,可重新定義算法中某些步驟。觀察者模式:定義了對象之

間一對多的依賴,當這個對象的狀態發生改變的時候,多個對象會接受到通知,有機會做出反饋。迭代子模式:提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。責任鏈模式:很多對象由每一個對象對其下一個對象的引用而連接起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。發出這個請求的客戶端并不知道鏈上的哪一個對象最終處理這個請求,這使系統可以在不影響客戶端的情況下動態的重新組織鏈和分配責任。備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到原先保存的狀態。命令模式:將請求及其參數封裝成一個對象,作為命令發起者和接收者的中介,可以對這些請求排隊或記錄請求日志,以及支持可撤銷操作。狀態模式:允許一個“對象”在其內部狀態改變的時候改變其行為,即不同的狀態,不同的行為。訪問者模式:表示一個作用于某對象結構中的各元素的操作。可以在不改變各元素的類的前提下定義作用于這些元素的新操作。解釋器模式:給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。中介者模式:用一個中介對象來封裝一系列的對象交互。策略模式:定義一組算法,將每個算法都封裝起來,并且使它們之間可以互換。策略模式使這些算法在客戶端調用它們的時候能夠互不影響地變化。因為是學時太少的原因,老師講的模式并不多,這幾個模式好多都沒有講,我們只能根據一些書籍和資料來學習。

三、模式分析

對于工廠模式,是最常見的一種模式之一。在面向對象編程中, 常用的方法是用new操作符構造對象實例,但在有些情況下,new操作符直接生成對象會帶來一些問題。創建對象之前必須清楚所要創建對象的類信息,但個別情況下無法達到此要求,譬如打開一個視頻文件需要一個播放器對象,但是用戶可能不知道具體播放器叫什么名字,需要系統分派給這個視頻文件一個合適的播放器,這種情況下用new運算符并不合適。許多類型對象的創造需要一系列步驟,比如需要計算或取得對象的初始設置,需要選擇生成哪個子對象實例,在生成需要對象之前必須先生成一些輔助功能對象。在這些情況, 新對象的建立就是一個 “過程”,而不僅僅是一個操作。為了能方便地完成這些復雜的對象創建工作,可引入工廠模式。工廠模式的實例分析: // EventFactory類

public class EventFactory:LogFactory{

public override EventLog Create(){

return new EventLog();} }

// FileFactory類

public class FileFactory:LogFactory{

public override FileLog Create(){

return new FileLog();} }

客戶程序有效避免了具體產品對象和應用程序之間的耦合,增加了具體工廠對象和應用程序之間的耦合,在類內部創建對象通常比直接創建對象更靈活,通過面向對象的手法,將具體對象的創建工作延遲到子類,提供了一種擴展策略,較好的解決了緊耦合問題。

工廠模式客戶端程序: public class App {

public static void Main(string[] args){

LogFactory factory = new EventFactory();

//FileFactory factory = new FileFactory();

Log log = factory.Create();

log.Write();} }

對于抽象工廠模式,在軟件系統中,經常面臨“一系列相互依賴對象”的創建工作,由于需求變化,這“一系列相互依賴的對象”也要改變,如何應對這種變化呢?如何像工廠模式一樣繞過常規的”new”,提供一種“封裝機制”來避免客戶程序和這種“多系列具體對象創建工作”的緊耦合呢?其中有一種說法就是可以將這些對象一個個通過工廠模式來創建。但是,既然是一系列相互依賴的對象,它們是有聯系的,每個對象都這樣解決,如何保證他們的聯系呢?所以運用抽象工廠模式,是一種有效的解決途徑。抽象工廠模式提供一個創建一系列相關或相互依賴對象的接口,而無需指定他們具體的類。適用于一個系統獨立于其產品創建、組合和表示時,一個系統由多個產品系列中的一個來配置時,強調一系列相關產品對象的設計以便進行聯合時,提供一個產品類庫,只想顯示其接口而非實現時。抽象工廠模式的結構,如下圖:

圖1抽象工廠模式的結構

抽象工廠模式與工廠模式的區別就在于工廠模式提供一個接口,用于創建相關和依賴對象的家族,而不需要明確指定具體類。抽象工廠模式允許客戶使用抽象接口來創建一組相關產品,而不需要關心具體實際產出的產品是什么。

對于適配器模式,是將一個類的接口,轉換成客戶期望的另一個接口,適配器讓原本接口不兼容的類可以一起工作。打個比方

說,一個team要為外界提供S類服務,但team里面沒有能夠完成此項任務的member,只有team外的A可以完成這項服務。為保證對外服務類別的一致性(提供S服務),一是將A招安到team內,負責提供S類服務,二是A不準備接受招安,可安排B去完成這項任務,并讓B做好A的工作,讓B工作的時候向A請教,此時,B是一個復合體(提供S服務,是A的繼承弟子)。這種模式的使用過程是客戶通過目標接口調用適配器的方法對適配器發出請求,適配器使用被適配者接口把請求轉換成被適配者的一個或者多個調用接口,客戶接收到調用的結果,但并未察覺這一切是適配器在起轉換作用。就是將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的類可以一起工作。適配器模式有三種適用場合,一是使用一個已經存在的類,而它的接口不符合要求,二是創建一個可以復用的類,該類可以與其他不相關的類或不可預見的類(即那些接口可能不一定兼容的類)協同工作,三是使用一些已經存在的子類,但不可能通過子類化以匹配各自接口。對象適配器可以適配它的父類接口。適配器模式還分為了累適配器和對象適配器兩種,這里就不再具體介紹了。適配器模式的優點就是方便設計者自由定義接口,不用擔心匹配問題,而它的缺點是這個模式屬于靜態結構,由于只能單繼承,所以不適用于多種不同的源適配到同一個目標。

對于命令模式,將一個請求封裝為一個對象,可用不同請求對客戶進行參數化;對請求排隊或記錄請求日志,以及支持可撤消的操作。這種模式的適用性是抽象出待執行的動作以參數化某對象,在不同時刻指定、排列和執行請求,支持取消操作,支持修改日志,用構建在原語操作上的高層操作構造一個系統。命令模式的實現:

public class Receiver{//接收者public void action(){

System.out.println(“我在行動

");} }

public interface Command {//抽象命令

public abstract void execute();} public

class

ConcreteCommand

implements Command{//具體命令Receiver rcv;//含有接收者的引用

ConcreteCommand(Receiverrcv){this.rcv=rcv;}publicvoid execute(){rcv.action();}//執行命令}

public class Invoker{//請求者Command command;public command){

this.command=command;}

public void startExecuteCommand(){command.execute();} }

public class Application{//客戶程序public static void main(String args[]){Command ConcreteCommand(r);

Invoker i=new Invoker();i.startExecuteCommand();} }

命令模式的結構:

command=new

void

setCommand(Command

圖2命令模式的結構

命令模式中請求者不直接與接收者交互,即請求者不包接收者的引用,徹底消除了彼此之間的耦合。滿足“開-閉原則”。如果增加新的具體命令和該命令的接受者,不必修改調用者的代碼,調用者就可以使用新的命令對象;反之,如果增加新的調用者,不必修改現有的具體命令和接受者,新增加的調用者就可以使用已有的具體命令。由于請求者的請求被封裝到了具體命令中,就可以將具體命令保存到持久化的媒介中,在需要的時候,重新執行這個具體命令。因此,使用命令模式可以記錄日志。使用命令模式可以對“請求”進行排隊。每個請求都各自對應一個具體命令,因此可以按一定順序執行這些具體命令。

四、總結

在現代軟件開發當中,軟件設計模式起

到至關重要的作用。尤其是自從面向對象的語言普遍使用以后,促成了團隊合作設計的軟件設計幾乎成了不可能完成的任務。軟件設計模式在程序中的運用是非常廣的,在程序設計的過程中,是對反復出現的問題的很用設計模式可確保更快的開發正確的代碼,并且降低在設計或者視線中出現的錯誤的可能性。通過學習軟件設計模式這門課程,了解到這么多種模式,雖然還不能熟練運用和操作,但是我會在以后的工作和實踐中去多加鍛煉。

Receiverr=new Receiver();熱潮,而在此時,沒有一個好的設計模式,i.setCommand(command);好的解決辦法,是良好思路的經驗集成。使

參考文獻:

[1]鐘茂生,王文明。軟件設計模式及其使用[J].計算機應用,2002,22(8):32-35 [2]Gamma E.Design patterns elements of reusable object-oriented software[M].北京:機械工業出版社,2002

[3]廖志剛,李增智。設計模式在系統中的應用[J]。計算機工程與應用,2002,(12):7-10

第四篇:庫存管理系統軟件設計說明書

引言........................................................................................2

1.1 編寫目的........................................................................2

1.2 背景及意義....................................................................3

1.3 國內外研究現狀............................................................4 2 系統總體設計分析...............................................................5

2.1 軟件功能及模塊設計....................................................5

2.1.1 軟件主要功能.........................................................6

2.1.2 軟件模塊組成.........................................................6

2.2 開發環境及性能優化....................................................7

2.2.1開發環境....................................................................7 3 各模塊軟件設計與實現.......................................................7

3.1系統管理模塊...................................................................7

3.2進貨管理模塊.................................................................14

3.3 出貨管理模塊.................................................................17

3.4報表統計模塊.................................................................17

3.5信息查詢模塊.................................................................18

引言 1.1 編寫目的

“公正、公平、合理”的企業管理理念和企業管理水平的提高,使社會對庫存管理系統有了更高的需求;同時由于個人電腦的普及,數據庫技術、客戶/服務器技術,特別是Internet/Intranet技術的發展,使的三代庫存管理系統的出現才成為必然。庫存管理系統的特點是從物品管理的角度出發,用集中的數據庫將幾乎所有與物品相關的數據統一管理起來,形成了集成的信息源。有好的用戶界面,強有力的報表生成工具、分析工具和信息的共享使得物品管理人員得以擺脫繁重的日常工作,集中精力從戰略的角度來考慮企業物品規劃和政策。

企業的庫存物資管理往往是很復雜、很繁瑣的。由于所掌握的物資種類眾多,訂貨、管理、發放的渠道各有差異,各個企業之間的管理體制不盡相同,各類統計報表繁多,因此倉庫的庫存管理必須編制一套庫存管理信息系統,實現計算機化操作,而且必須根據企業的具體情況制定相應的方案。

根據當前的企業管理體制,一般的庫存管理系統,總是根據所掌握的物資類別,相應分成幾個科室來進行物資的計劃,訂貨,核銷托收,驗收入庫,根據企業各個部門的需求來發送物資設備,并隨時按期進行庫存盤點,作臺帳,根據企業領導和自身管理的需要按月、季度、進行統計分析,產生相應報表。為了加強關鍵物資、設備的管理,要定期掌握其儲備,消耗情況,根據計劃定額和實際纖毫定額的比較,進行定額管理,使得資金使用合理,物資設備的儲備最佳。

一個完整的企業物資供應管理系統應包括采購計劃管理,合同收托管理、倉庫庫存管理、定額管理、統計管理、財務管理等模塊。其中倉庫的庫存管理是整個物資供應管理系統的核心。因此有必要開發一套獨立的庫存管理系統來提高企業工作效率, 而所使用的這套庫存管理系統是企業生產經營管理活動中的核心,此系統必須可以用來控制合理的庫存費用、適時適量的庫存數量,使企業生產活動效率最大化。

1.2背景及意義

進行庫存管理的意義就在于:它能確保物暢其流,促使企業經營

活動繁榮興旺。不論什么企業,都要儲備一些物資。以生產為主的企業,不儲備一定的物資,不能維持其連續生產;服務性行業,也要備置某些需用的設備和服務用具;就連一般的事業單位,也要備有某些辦公用品等。因此,各行各業都存在不同程度的庫存管理業務。

實行庫存管理有如下優點:

(一)有利于資金周轉

因為在某些特殊情況下,可以做到將庫存需要的投資額規定為零。為此可使經營活動更為靈活,把用于建立原材料、制成品、商品等常備庫存所需要占用的資金轉為經營其他項目,這就有可能使經營活動向更新、更高的階段發展。

(二)促使生產管理更為合理

這是因為庫存管理工作的目標之一就是必需的物資,即在需要時,按需要量供應。目前生產管理較為混亂的主要原因在于一些急需的物資不能及時供應,要從根本上杜絕此類現象,就要認真搞好庫存管理。

(三)有利于順利地進行運輸管理,也有助于有效地開展倉庫管理工作

通過庫存管理,可將原來零零散散放置的物料整理得井然有序,可使企業的生產環境整潔一新,實現文明生產。廢舊物料堆放整齊、報廢的設備及時運走,工廠的空地整潔干凈,這樣的環境,自然令人感到心情舒暢。此外。還可以把經常動用的物料以及危險性物料分片保管,以保證工廠的安全生產。

庫存管理工作的好壞,對改善企業生產環境將起著舉足輕重的作用。

1.3 國內外研究現狀

由于庫存管理在經濟管理中占重要地位,其計算機化在發達國家中也已經達到了相當高的水平。我國在全國范圍內推廣計算機在管理中的應用,是在70年代末開始的,雖然起步較晚,近幾年發展卻較快,特別是微型計算機的出現和普及為信息處理提供了物美價廉的手段,對于推動我國管理信息處理的現代化起了重要的作用。

庫存管理對企業來說是一項繁瑣復雜的工作,每天要處理大量的單據數據。為及時結清每筆業務,盤點庫存和貨物流動情況,保證企業生產用料以及貨物安全,庫管人員要花費大量人力物力和時間來做數據記錄統計工作。

在世界發達國家,庫存管理的計算機化水平已經很高了,盡管我國的生產企業在這方面也有了很強的意識和長足的進步,但仍存在這樣、那樣的一些問題。

有的企業單位的庫存管理部分目前仍為手工、半手工操作。從供應單位辦理入庫登記開始,到使用單位輸領料出庫手續為止,所有操作基本上都是由倉庫管理人員筆寫,手理,加上算盤、計算器來完成。這不僅煩瑣,效率低,而且缺乏庫存管理的一些基本手段,如庫存狀況統計,查詢經濟訂貨量計算等,這給企業在一定程度上造成了管理上的落后,及經濟利益上的損失。有的單位的庫存管理部已上了微機,但對微機的利用效率極低,有的在用它打游戲,有的僅把它當計算器或打字機來用。有的企業單位既有了微機同時也有了庫存管理軟件,但硬件上去了,軟件上不去。因為他們用的庫存管理軟件,大多為自己的工作人員及其他一些非專業人員所開發的簡單的管理程序,很難稱得上是“庫存管理信息系統軟件”這些程序的弱點多表現為:

1、系統開發時無科學的理論支持。

2、開發過程中調研不全面。

3、軟件編寫時模型不清晰完整。

4、所用開發工具落后(如Fox base)。

計算機在管理中的應用開始于1954年,當時美國首先用計算機處理工資單。40多年來,計算機在處理管理信息方面發展迅速。例如,60年代美國計算機在管理中應用項目不到300項,到了1975年達到2670項。而現在,美國在財務會計上90%的工作由計算機完成;物資管理中80—100%的信息處理由計算機完成;計劃管理中是80—90%。據計算機應用方面發展較快的國家統計,計算機用于經濟管理的約占80%;用于科技運算的占8%;用于生產過程控制的占12%。因此,經濟管理是計算機應用的主要領域。系統總體設計分析 2.1 軟件功能及模塊設計 2.1.1 軟件主要功能

庫存管理系統軟件能達到如下具體功能要求: 1)系統管理模塊 2)進貨管理模塊 3)出貨管理模塊 4)報表統計模塊 5)信息查詢模塊 2.1.2 軟件模塊組成

本軟件包括五個模塊:系統管理、進貨管理、出貨管理、報表統計、信息查詢。庫存管理系統總體設計框圖

圖2-1 系統總體設計框圖

2.2 開發環境及性能優化

2.2.1開發環境

數據庫:Microsoft SQL Server 2000 前端開發工具:Visual C#.NET 數據訪問對象:ADO 各模塊軟件設計與實現 3.1 系統管理模塊

系統管理模塊分為4種功能:身份驗證功能、注冊用戶功能、修改刪除用戶功能、修改密碼功能。身份驗證功能

在進入系統主界面之前,會出現一個身份驗證對話框,要驗證用戶的身份。本系統中用戶分為管理員、倉庫管理員和經理三種。不同用戶其權限也不同。

用戶通過庫存管理系統界面登錄進入系統。在其輸入用戶編號與密碼之后,單擊“確定”按鈕登錄數據庫(為了方便用戶,本系統允許用戶在輸入密碼之后直接按回車鍵登錄數據庫,而無須使用鼠標單擊“確定”按鈕)。此時觸發“確定”按鈕的Click事件相應函數。在這個事件響應函數中,需要首先判斷用戶,因為他們具有不同的權限。如果權限是0,則進入系統管理員界面;權限是1,則進入經理界面;權限是2,則進入倉庫管理員界面。

圖3-1 系統登錄界面

由于用戶權限的差異,他們所能進入的系統主界面也相應的不同。

圖3-2 系統主界面一(系統管理員身份進入)

圖3-3 系統主界面二(經理身份進入)

圖3-4 系統主界面三(倉庫管理員身份進入)

注冊用戶功能 以下為注冊用戶界面:

圖3-5 系統管理員注冊用戶界面

注冊用戶成功界面:

圖3-6 注冊用戶成功界面

修改刪除用戶功能 修改刪除用戶界面如下:

圖3-7 系統管理員修改刪除用戶界面

修改密碼功能

對一個完整的系統而言,用戶是應該可以修改自己的密碼的,因此系統中應該具有修改密碼的功能,提高數據的安全性,用戶可以在進入系統主界面后可以修改自己的密碼。當用戶輸入完成之后,按“確定”按鈕來關閉對話框,系統會自動檢查用戶兩次輸入的密碼是否一致,如果不一致,會出現出錯提示并建議用戶重新輸入。

圖3-8 修改密碼界面

用戶只能通過此界面修改自己的密碼,如果試圖修改別人的密碼,則提示如下圖:

圖3-9 修改密碼界面

修改密碼成功則顯示重新登錄界面,圖如下:

圖3-10重新登錄界面

3.2 進貨管理模塊

進貨管理模塊包括填寫貨品信息、入庫單、修改最低庫存三個子模塊。

圖3-11 倉庫管理員填寫入庫單界面

入庫單中涉及數據一致性,貨品編號為1開頭的庫別自動為飲料庫,貨品編號為2開頭的庫別自動為主倉庫,貨品編號為3開頭的庫別自動為酒庫。數量和進貨單價設置只能輸入數字類型。其中貨品編號如果在庫存信息表中不存在,那么提示先輸入貨品信息,點擊確定后界

面自動跳轉到如下圖:

圖3-12 倉庫管理員填寫入庫單界面

圖3-13 倉庫管理員填寫貨品信息界面

3.3 出貨管理模塊

出庫時如果出庫數量低于庫存信息表中的最低庫存時報警,提醒倉庫管理員及時通知采購員采購,如果不清楚此貨品的采購員是誰可以根據貨品編號查詢采購員信息,報警顯示如下圖:

圖3-14 填寫出庫單

3.4報表統計模塊

本系統的報表分為日報表和月報表,日報表在添加入庫單和出庫單時就已經自動添加進數據庫中的日報表了,所以在此只需再手動添加月

報表。

圖3-15 月報表統計

3.5信息查詢模塊

該模塊三種用戶都會用到,用戶根據不同的權限分別可以查詢不同的內容,如系統管理員為了修改倉庫信息表、采購員信息表、客戶信息表而查詢相關信息,倉庫管理員為了通知采購員及時采購而查詢采購員信息,經理查詢倉庫管理的各種信息等。

圖3-24 庫存信息查詢

第五篇:汽車租賃系統軟件設計說明書

汽車租賃系統 軟件設計說明書

目錄

1.介紹....................................................................................................................................1 1.1 目的..........................................................................................................................1 1.2 范圍..........................................................................................................................1 1.3 內容概覽..................................................................................................................1 2.體系結構表示方法............................................................................................................2 3.系統要達到的目標和限制................................................................................................2 4.用例視圖............................................................................................................................2 4.1 創建系統用例圖......................................................................................................2 4.2 創建系統靜態模型..................................................................................................4 4.3 創建活動圖..............................................................................................................4 4.4 創建狀態圖...........................................................................錯誤!未定義書簽。5.邏輯視圖............................................................................................................................7 5.1 參與者相關的類......................................................................................................8 5.2 系統中用到的其他類..............................................................................................9 5.3 各類之間的關系....................................................................................................10 6.過程視圖..........................................................................................................................10 6.1 客戶取車................................................................................................................10 6.2 客戶還車................................................................................................................12 6.3 客戶預訂車輛........................................................................................................13 6.4 出租汽車................................................................................................................15 6.5 增加汽車................................................................................................................15 6.6 刪除汽車................................................................................................................16 6.7 增加客戶................................................................................................................17 6.8 車輛信息管理........................................................................................................18 7.部署視圖..........................................................................................................................18 8.規模和性能......................................................................................................................20 9.質量..................................................................................................................................20

《軟件工程實踐》

2012-2013-02

軟件設計說明書

1.介紹

1.1 目的

汽車租賃系統是一套針對汽車租賃業務的實際特點而開發的應用與管理軟件,其功能覆蓋了汽車租賃業務的全部流程。主要包括車輛預定、租賃業務、車輛管理、客戶管理、車輛檢修、租金統計等功能。它包括了四個模塊:基本數據維護模塊、基本業務模塊、數據庫管理模塊和信息查詢模塊。其中,基本數據模塊提供了使用者錄入、修改并維護基本數據的途徑,主要包括了添加車輛信息、修改車輛信息、添加員工信息、修改員工數據幾大主要功能。基本業務模塊則提供,基本業務模塊中,客戶可以填寫汽車租賃申請表,工作人員負責處理這些表格;同時,技術人員可以提交每輛車的狀態,以便工作人員根據這些資料決定是否批準客戶的請求,它包含的功能有:用戶填寫預定申請、工作人員處理預定請求、技術人員填寫服務記錄和工作人員處理還車。數據庫模塊是對客戶、工作人員及車輛的信息都要進行統一管理,車輛的租賃情況也要進行詳細的登記,它的功能則是客戶信息管理、車輛信息管理、租賃信息管理和志愿信息管理。信息查詢模塊主要用于查詢數據庫中的相關信息,包括查詢客戶信息、查詢職員信息、查詢車輛信息和客戶記錄等。

這篇文檔提供了對在線汽車租賃系統的系統架構的總覽,從不同的視角描述了該系統。同時介紹了在線汽車租賃網站有關架構的想法,包含架構分析的關鍵決策,目的在于幫助開發人員理解汽車租賃系統的基本結構。

1.2 范圍

介紹了汽車租賃系統的客戶取車、客戶還車、客戶預訂車輛。

1.3 內容概覽

? 登錄系統

用戶如果要進行汽車租賃操作,需要輸入正確的用戶名和密碼,如果輸入錯誤,則停留在登錄頁; ? 注冊系統

客戶如果從來沒有在本網站租賃過汽車,需要注冊一個客戶賬號; ? 瀏覽汽車系統

進入汽車租賃系統后,客戶必須知道有關的汽車信息,可以得到汽車的名稱、價格、各種屬性信息,并能根據需要輸入相關信息進行搜索; ? 汽車系統

當客戶看中某輛汽車后,可以根據需要進行預定,操作后生成訂單,然后可以提交訂單。

《軟件工程實踐》

2012-2013-02 2.體系結構表示方法

這篇文檔使用一系列視圖反映系統架構的某個方面;

用例視圖:概括了架構上最為重要的用例和它們的非功能性需求; 邏輯視圖:展示了描述系統關鍵方面的重要用例實現場景(使用交互圖);

部署視圖:展示構建在處理節點上的物理部署以及節點之間的網絡配置(使用部署圖); 3.系統要達到的目標和限制 ? 目標

客戶可以正確登錄,在登錄頁面輸入信息時能夠在輸入錯誤的同時看到錯誤提示;正確登錄后可以看到汽車的列表,點擊其中一條信息后可以看到某輛汽車的詳細信息,看中后可以很方便的進行預定,在生成訂單之后客戶可以看到。

客戶在首頁可以很方便地進行注冊,輸入的注冊信息要進行驗證,驗證正確后將信息存入數據庫。

管理員正確登錄后可以修改用戶信息,汽車信息。? 限制

客戶和管理員的界面分開,客戶不能修改邏輯上不能修改的信息; 管理員不能修改用戶密碼,還有同級別的管理員的信息。4.用例視圖

4.1 創建系統用例圖

汽車租賃系統主要是對各種信息的管理,而在系統中,只有租賃管理人員才有權限使用本系統,才能對數據庫進行操作。

(1)管理人員對汽車信息的管理,包括汽車租出時將汽車狀態更改為已租出,而當汽車歸還時則將狀態置為可出租。再者就是當購進新車或者汽車報廢時更改可出租汽車的數量信息等。

(2)管理人員對于客戶信息的管理主要是對會員的管理,比如更改會員類型,增刪會員信息。

(3)而對于工作人員的管理主要是指增刪工作人員以及修改工作人員的信息,這有為重要,因為工作人員有權處理汽車的租賃流程。

系統用例圖如下:

《軟件工程實踐》

2012-2013-02 繳納罰金客戶<>還車取車預定填寫訂單前臺預訂電話預定網上預訂取消預訂

圖4.1客戶用例圖

系統登錄查詢預訂記錄處理預定拒絕租車請求工作人員汽車交付介紹租車程序<>收取罰金結束租賃<>汽車檢查

圖4.2工作人員用例圖

《軟件工程實踐》

2012-2013-02

增加汽車汽車信息管理更改汽車狀態客戶信息管理租賃系統管理者刪除汽車工作人員信息管理圖4.3租賃系統管理者用例圖

4.2 創建系統靜態模型

從前面的需求分析中,我們可以依據主要的七個類對象:汽車、客戶、職員、工作記錄、請求訂單、客戶記錄和服務記錄創建完整的類圖如圖4.3所示。

商品類別的活動圖如下:

圖4.3 系統類圖

4.3 創建活動圖

利用系統的活動圖來描述系統的參與者是如何協同工作的。汽車租賃系統中,根據客戶和職員的活動步驟我們可以創建活動圖如下圖4.4所示。

《軟件工程實踐》

2012-2013-02

圖4.4 客戶和職員的活動圖

圖4.5 系統管理員維護汽車信息的活動圖 5

《軟件工程實踐》

4.4 創建狀態圖

2012-2013-02 在汽車租賃系統中,從客戶開始發送租車請求道最后客戶歸還租借的車輛為止,整個系統的狀態圖如下圖4.5所示。

圖4.6 汽車租賃系統的活動圖

圖4.7 車的活動圖

《軟件工程實踐》

2012-2013-02

圖4.8 客戶的活動圖

5.邏輯視圖

邏輯視圖部分主要敘述了設計階段的工作。汽車租賃系統的數據類中共有8個:Person,Customer,Worker,Administrator,Car,RequestOrder,ServiceRecord,CustomerRecord.《軟件工程實踐》

5.1 參與者相關的類:

2012-2013-02

[類圖說明] ? Person類是所有類的父類,包含3個屬性:姓名(name),身份證號(ID)和電話號碼(PhoneNO)。它包含的方法都是用來設置和獲取這些屬性值。

? Customer類是包含客戶信息的類,除了繼承了父類的屬性和方法,還包括了車輛類型(CarType),性別(gender)和駕駛證號(licenseNo)等屬性。

? Worker類是包含員工信息的類,其中包含了員工的類型(type)和工作證號(WorkID)等屬性,方法中的calculate()用來進行結算,checkRequest用來查詢是否有沒處理的申請單,checkCar()是用來查詢汽車狀況的。

? Administrator類是系統管理員類,主要屬性有工作證號(WorkID),主要方法是update()。

《軟件工程實踐》

5.2 系統中用到的其他類:

2012-2013-02

[類圖說明] ? CustomerRecord類表示客戶記錄。customerID是客戶的身份證號碼,customerName是客戶名稱,RentDate是租車日期,CarType是所租車輛的類型,CarNumber是該車的車牌號碼。IsFinish代表該交易時否結束。check()用來得到該客戶的記錄,end()用來結束該交易。

? Car類代表汽車記錄。CarType是該車的車型,CarNumber是車牌號碼,status是指該車是否被預訂、正在使用中或空閑狀態,condition是指該車的狀態。InServiced()用來判斷該車是否空閑,updateStatus()用來修改車輛所處的狀態。

? RequestOrder類表示的是填寫客戶申請資料的表格。CarType表示客戶申請的車型,RentDate是租車時間,IsAllow表示該客戶的申請是否得到批準。Allow()用來接收客戶的請求,fillOrder()是指客戶填寫表格,check()用來檢查是否存在這個申請,isHandled()設置該申請已被處理。

? ServiceRecord類是服務記錄,屬性包括交易中涉及的員工、客戶、車輛、已經租賃信息。fillWorkRecord()用來填寫這份記錄,viewRecord()用來查看這份記錄,updateRecord()用來修改這份記錄。

《軟件工程實踐》

5.3 各類之間的關系:

2012-2013-02

[類圖說明] ? 從圖中可以看出,工作人員(Worker)可以查看所有客戶(Customer)的租賃歷史記錄(CustomerRecord),可以處理多個用戶的租賃申請(RequestOrder)。由于工作人員可以同時處理多個業務,所以他可以擁有多個服務記錄(ServiceRecord)。

6.過程視圖

過程視圖部分敘述幾個主要子系統的處理流程。主要包括客戶取車,客戶還車,客戶預訂車輛。

6.1 客戶取車 6.1.1 用例簡述

客戶取車:客戶出示取車的通知,職員查看通知無誤,客戶支付押金,職員填寫工作記錄,更新車輛的狀態,客戶取車。

6.1.2 基本事件流 客戶:客戶出示取車的通知; 2 職員:職員查看通知無誤; 3 客戶:客戶支付押金; 4 職員:職員填寫工作記錄;

《軟件工程實踐》

2012-2013-02 5 職員:更新車輛的狀態; 6 客戶:客戶取車 7 系統:用例結束。

6.1.3 客戶取車順序圖見圖6.1

圖6.1 客戶取車的系統順序圖

6.1.4 客戶取車的協作圖見圖6.2

圖6.2 客戶取車的協作圖

《軟件工程實踐》

2012-2013-02

6.2 客戶還車 6.2.1 用例簡述

客戶還車:客戶歸還車輛,職員檢查車輛的狀態并添加服務記錄,通知付款,客戶付清錢款,職員更新車輛狀態。

6.2.2 基本事件流 客戶:客戶歸還車輛; 職員:職員檢查車輛的狀態并添加服務記錄; 3 職員:通知付款; 4 客戶:客戶付清錢款; 5 職員:更新車輛的狀態; 6 系統:用例結束。

6.2.3 客戶還車的系統順序圖見圖6.3

圖6.3 客戶還車的系統順序圖

6.2.4 客戶還車的協作圖見圖6.4

《軟件工程實踐》

2012-2013-02

圖6.4 客戶還車的協作圖

6.3 客戶預定車輛 6.3.1 用例簡述

客戶預訂車輛:客戶填寫預訂單,職員檢查預訂單并檢查客戶記錄,辦理租車的手續,完成手續后,建立新的客戶手續,同意租車請求,通知客戶。

6.3.2 基本事件流 客戶:客戶填寫預訂單; 職員:職員檢查預訂單并檢查客戶記錄; 3 職員:辦理租車的手續; 職員:完成手續后,建立新的客戶手續; 5 職員:同意租車請求; 6 職員:通知客戶 7 系統:用例結束。

《軟件工程實踐》

6.3.3 客戶預訂車輛的系統順序圖見圖6.5

2012-2013-02

圖6.5 客戶預訂車輛的系統順序圖

6.3.4 客戶預訂車輛的協作圖見圖6.6

圖6.6 客戶預訂車輛的協作圖

《軟件工程實踐》

6.4 出租汽車 6.4.1 用例簡述

2012-2013-02 出租車輛:查詢汽車,驗證客戶身份,查詢可租汽車,查詢客戶信息,修改客戶租車信息,修改服務信息。

6.4.2 基本事件流 職員:查詢汽車; 2 職員:驗證客戶身份; 3 職員:查詢可租汽車; 4 職員:查詢客戶信息; 5 職員:修改客戶租車信息; 6 職員:修改服務信息; 7 系統:用例結束。

6.4.3 出租車輛的系統順序圖見圖6.7

圖6.7 出租車輛的時序圖

6.5 增加汽車 6.5.1 用例簡述

增加汽車:增加汽車,查詢汽車是否已存在,創建新車信息存入系統。

6.5.2 基本事件流 職員:增加汽車; 職員:查詢汽車是否已存在;

《軟件工程實踐》

2012-2013-02 3 職員:創建新車信息存入系統; 4 系統:用例結束。

6.5.3 增加車輛的系統順序圖見圖6.8

圖6.8 增加車輛的時序圖

6.6 刪除汽車 6.6.1 用例簡述

刪除汽車:刪除汽車,查詢汽車,刪除車輛信息。

6.6.2 基本事件流 職員:刪除汽車; 2 職員:查詢汽車; 3 職員:刪除車輛信息; 4 系統:用例結束。

6.6.3 刪除汽車的系統順序圖見圖6.9

《軟件工程實踐》

2012-2013-02

圖6.9 刪除汽車的時序圖

6.7 增加客戶 6.7.1 用例簡述

增加客戶:添加新的租車用戶信息。

6.7.2 基本事件流 職員:添加新的租車用戶信息; 2 系統:用例結束。

6.7.3 增加客戶的系統順序圖見圖6.10

圖6.10 增加客戶的時序圖

《軟件工程實踐》

6.8 車輛信息管理 6.8.1 用例簡述

2012-2013-02 汽車信息管理:查詢汽車狀態信息,更改汽車狀態信息,用例結束。

6.8.2 基本事件流 職員:查詢汽車狀態信息; 2 職員:更改汽車狀態信息; 3 系統:用例結束。

6.8.3 汽車信息管理的系統順序圖見圖6.8

圖6.11 汽車信息管理的時序圖

7.部署視圖

部署視圖描述了如何將具體軟件制品分配到計算節點(具有處理服務的某種事物)上,表示了軟件元素在物理架構上的部署,以及物理元素之間的通信。

在本系統中,我們可以對汽車類、職員類、服務記錄類、客戶類、工作記錄類、客戶記錄類和請求訂單類分別創建對應的構件進行映射。汽車租賃系統的構件圖如圖7.1所示。

《軟件工程實踐》

2012-2013-02

圖7.1系統構件圖

圖7.1 汽車租賃系統的構件圖

汽車租賃系統的部署圖描繪的是系統節點上運行資源的安排。包括三個節點,分別是:客戶端瀏覽器、Http服務器、數據庫服務器,創建后的汽車租賃系統部署圖如圖7.2所示。

圖7.2 汽車租賃系統的部署圖

? Generic PC 普通的個人計算機。? Web Browser 通用個人計算機上的網頁瀏覽器,如:IE6.0,Firefox等。? Apache Web服務器,可以運行在所有廣泛使用的計算機平臺上。? Struts 一個為開發基于模型-視圖-控制器模式的應用架構的開源框架,是利用Java Servlet和JSP構建Web應用的一項非常有用的技術。事件從客戶端(瀏覽器)由用戶操作出發的事件,Struts使用Action來接受瀏覽器表單提交的事件。? Tomcat 6.0 Tomcat 6.0提供Servlet容器。? Hibernate Hibernate提供對象關系映射框架,對JDBC進行了非常輕量級的對象封裝,使得可以使用對象編程思維來操縱數據庫,完成數據持久化。? MySQL MySQL是小型關系型數據庫管理系統,其體積小、速度快、總體擁有成本低,開放源碼數據庫。

《軟件工程實踐》

2012-2013-02 8.規模和性能 ? 滿足的規模

能夠滿足100人同時在線瀏覽網頁,20人同時進行有關數據庫的操作。? 滿足的性能

能夠滿足讓顧客可以認同的相應時間。9.質量

系統正式使用時,登錄、注冊、查看汽車信息、生產訂單的流程正常。

下載系統軟件設計的鐵路運輸論文[五篇范例]word格式文檔
下載系統軟件設計的鐵路運輸論文[五篇范例].doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    酒店管理系統軟件設計說明書

    酒店管理系統 需求規格說明書 目錄 1. 引言……………………………………………………….3 1.1目的……………………………………………………..3 1.2 定義……………………......

    鐵路運輸服務論文

    鐵路客運服務第一章:鐵路運輸業的地位 第二章:鐵路客運服務 2.1鐵路客運概述 2.1.1客運服務的內涵 2.1.2客運服務的特點 2.1.3創新的服務理念 2.1.4充分認識客運服務的新變化......

    鐵路運輸論文正文

    我國鐵道站段安全管理研究 第一章 站段運輸安全及管理 安全生產是黨和國家的一貫方針,黨和國家領導人多次對鐵路工作,特別是安全工作作出了重要指示。鐵路作為企業,已經走向社......

    電力監控系統軟件設計開發計劃書

    電力監控系統軟件開發計劃書 項目名稱:電力監控系統軟件 小組編號: 15 版本號: v1.0 評審日期:2007-5-10軟件開發計劃書 1. 概述 電力監控系統是指通過串口與上位機通信,遵從自......

    鐵路運輸司法系統的改革

    鐵路運輸司法系統 (一)設立的原因 當初我國設立鐵路運輸司法機構的目的,是為了更方便、快捷地解決與鐵路運輸有關的社會矛盾。 (二)存在的問題 我國鐵路運輸司法體制的根本弊端,......

    網絡教務管理系統軟件設計規格說明書

    網絡教務管理系統軟件設計規格說明書 小組成員: 郭婷婷2008080302121 蔣政陽2008080302122 楊信明2008080302138 1. 引言 1.1 編寫目的 在前一階段(網絡教務管理系統需求分......

    軟件設計辭職報告

    軟件程序員是一個工作壓力非常大的職業,下面就是小編為您收集整理的軟件設計辭職報告的相關文章,希望可以幫到您,如果你覺得不錯的話可以分享給更多小伙伴哦!軟件設計辭職報告一......

    《教育軟件設計與開發》網絡課程系統設計

    《教育軟件設計與開發》網絡課程系統設計 摘 要:《教育軟件設計與開發》是教育技術學專業本科生的專業核心課程,通過設計和開發一個基于網絡的課程系統,可以有效實現課程管理、......

主站蜘蛛池模板: 天堂久久天堂av色综合| 婷婷四虎东京热无码群交双飞视频| 日本欧美一区二区三区乱码| 日韩精品无码人妻一区二区三区| 免费做a爰片久久毛片a片| 国产精品人人做人人爽人人添| 人妻少妇乱子伦精品无码专区电影| 国产强奷在线播放| 中文字幕av无码不卡免费| 国产亚洲精品aa片在线观看网站| 色欲一区二区三区精品a片| 久久亚洲精品中文字幕无男同| 亚洲国产成人影院在线播放| 国产乱子伦视频一区二区三区| 日韩人妻无码一区二区三区综合| 99精品国产福久久久久久| 亚洲日韩欧美国产高清αv| 免费无码成人av片在线| 久久久久久国产精品免费免费| 亚洲无码高清视频| 亚洲真人无码永久在线| 久久zyz资源站无码中文动漫| 99热成人精品热久久6网站| 捆绑白丝粉色jk震动捧喷白浆| 日日碰狠狠添天天爽无码| 免费无码黄十八禁网站| 亚洲日本va在线视频观看| 97国产婷婷综合在线视频| 岛国无码av不卡一区二区| 96亚洲精华国产精华精华液| 十八岁以下禁止观看黄下载链接| 成年片色大黄全免费软件到| 人人妻人人澡人人爽秒播| 国产精品无码不卡一区二区三区| 国产精品美女久久久久久久久| 国产精品无码无在线观看| 在线观看国产精品va| 亚洲旡码欧美大片| 中文字幕av无码免费久久| 日韩人妻精品无码一区二区三区| 人妻少妇精品无码专区|