欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      軟件設(shè)計模式淺析論文

      時間:2019-05-13 18:19:32下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件設(shè)計模式淺析論文》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件設(shè)計模式淺析論文》。

      第一篇:軟件設(shè)計模式淺析論文

      軟件設(shè)計模式淺析

      陳亞東

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

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

      在課堂學(xué)到的軟件設(shè)計模式,我學(xué)習(xí)的并不好,對各種模式的運用和實現(xiàn),感覺簡單,但是要做起來還是有些難度。本文簡單講述了以面向?qū)ο蠹夹g(shù)為基礎(chǔ)的軟件設(shè)計模式的分析。

      關(guān)鍵詞:設(shè)計模式;設(shè)計方案;面向?qū)ο?/p>

      中國分類號:TP311.5文獻標(biāo)志碼: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

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

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

      來一個項目。通過上網(wǎng)搜索,知道了什么是

      軟件設(shè)計模式,它是一套被反復(fù)使用,多數(shù)

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

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

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

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

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

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

      二、設(shè)計模式的分類

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

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

      行為型設(shè)計模式著力解決的是類實體之間的通訊關(guān)系,希望以面向?qū)ο蟮姆绞矫枋鲆粋€控制流程。行為型設(shè)計模式種類比較多,其中觀察者模式和訪問者模式運用的比較多。模版模式:定義了一個算法步驟,并允許子類為一個或多個步驟提供實現(xiàn)。子類在不改變算法架構(gòu)的情況下,可重新定義算法中某些步驟。觀察者模式:定義了對象之

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

      三、模式分析

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

      public class EventFactory:LogFactory{

      public override EventLog Create(){

      return new EventLog();} }

      // FileFactory類

      public class FileFactory:LogFactory{

      public override FileLog Create(){

      return new FileLog();} }

      客戶程序有效避免了具體產(chǎn)品對象和應(yīng)用程序之間的耦合,增加了具體工廠對象和應(yīng)用程序之間的耦合,在類內(nèi)部創(chuàng)建對象通常比直接創(chuàng)建對象更靈活,通過面向?qū)ο蟮氖址?,將具體對象的創(chuàng)建工作延遲到子類,提供了一種擴展策略,較好的解決了緊耦合問題。

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

      public static void Main(string[] args){

      LogFactory factory = new EventFactory();

      //FileFactory factory = new FileFactory();

      Log log = factory.Create();

      log.Write();} }

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

      圖1抽象工廠模式的結(jié)構(gòu)

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

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

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

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

      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();}//執(zhí)行命令}

      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();} }

      命令模式的結(jié)構(gòu):

      command=new

      void

      setCommand(Command

      圖2命令模式的結(jié)構(gòu)

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

      四、總結(jié)

      在現(xiàn)代軟件開發(fā)當(dāng)中,軟件設(shè)計模式起

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

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

      參考文獻:

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

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

      第二篇:軟件設(shè)計模式課程教學(xué)設(shè)計

      軟件設(shè)計模式課程教學(xué)設(shè)計

      軟件設(shè)計模式課程教學(xué)設(shè)計

      ***

      (*****************)

      摘要:本文結(jié)合教學(xué)實踐從學(xué)習(xí)需要分析、學(xué)習(xí)者分析、教學(xué)目標(biāo)的設(shè)計、教學(xué)策略的設(shè)計、教學(xué)媒體的設(shè)計、教學(xué)過程的設(shè)計、教學(xué)設(shè)計的評價這六個方面對操作系統(tǒng)課程的教學(xué)模式進行了探討

      關(guān)鍵詞:教學(xué)設(shè)計模式;雙主模式;教學(xué)策略 中圖分類號:G423.1

      Instructional design for software design patterns Abstract:Combining with teaching practice from the learning needs analysis, learner analysis, design of teaching goal, teaching strategy design, design of teaching media, teaching process design and evaluation of the six aspects of teaching design of operating system course teaching mode are discussed in this paper Key words: teaching design pattern;Double main mode;Teaching strategies 0引言

      近年來,以計算機技術(shù)為支撐的信息產(chǎn)業(yè)迅速發(fā)展,以及全球化浪潮所導(dǎo)致的信息技術(shù)人才新需求,對軟件工程教育產(chǎn)生了巨大的影響。在軟件產(chǎn)品、項目的研發(fā)過程中,不僅需要大量的初、中級人才來完成程序編寫工作,更需要能完成軟件設(shè)計的高級人才,目前總體來看,高校對該類人才的培養(yǎng)還遠(yuǎn)遠(yuǎn)未達到產(chǎn)業(yè)界的實際要求,沒有真正把軟件開發(fā)原理中的思維和內(nèi)涵傳授給學(xué)生,更多的時候還處在傳授計算機軟件開發(fā)技術(shù)層面,一定程度上制約了學(xué)生激發(fā)自己學(xué)習(xí)的潛力。

      在信息技術(shù)的推動下,網(wǎng)絡(luò)教育以其獨特的魅力逐漸成為一種重要的教育手段。在網(wǎng)上開展教學(xué),使得網(wǎng)絡(luò)課程的設(shè)計和開發(fā)成為必然,軟件設(shè)計模式與其結(jié)合,才能提高教學(xué)效果和教學(xué)效率,才能更充分的發(fā)揮網(wǎng)絡(luò)多媒體技術(shù)的特點與優(yōu)勢,更有效的支持學(xué)生富有創(chuàng)造性的個性化學(xué)習(xí)。

      設(shè)計模式作為軟件設(shè)計研究領(lǐng)域新的熱點,隨著其理論成果的不斷取得一級在軟件與設(shè)計中所起到的舉足輕重的作用,受到了軟件產(chǎn)業(yè)界廣泛一致認(rèn)同,特別是設(shè)計模式更多地關(guān)注了程序開發(fā)基本原理,而并非一味追求所謂技術(shù)創(chuàng)新,通過學(xué)習(xí)這些基本原理,有助于擺脫定式思維的桎梏,加深對軟件開發(fā)的理解,該課程的總體安排、教學(xué)方法、理論與實踐課的內(nèi)容以及安排甚至教材的選定都需要進一步的探索和研究。

      軟件設(shè)計模式課程教學(xué)設(shè)計 教學(xué)設(shè)計的一般模式

      教學(xué)設(shè)計,就是為了達到一定的教學(xué)目的,對教什么和怎么教進行設(shè)計。教學(xué)設(shè)計的模式既是教學(xué)設(shè)計理論的具體化,也是教學(xué)設(shè)計實踐活動的升華1。從教學(xué)設(shè)計的角度看,構(gòu)成教學(xué)設(shè)計模式的基本要素主要有四個,即教學(xué)對象、教學(xué)目標(biāo)、教學(xué)策略、教學(xué)評價。而組成教學(xué)設(shè)計模式的因素有以下幾個方面:(1)學(xué)習(xí)需要分析,包括學(xué)習(xí)需求分析、學(xué)習(xí)者分析(2)教學(xué)目標(biāo)的設(shè)計;(3)教學(xué)策略的設(shè)計;(4)教學(xué)媒體的設(shè)計;(5)教學(xué)過程的設(shè)計;(6)教學(xué)設(shè)計的評價.

      2軟件設(shè)計模式課程教學(xué)設(shè)計探析

      2.1 學(xué)習(xí)需要分析:

      學(xué)習(xí)需要的核心是發(fā)現(xiàn)問題,而不是解決問題的方法。包括三方面的工作:一是通過調(diào)查研究,分析教學(xué)中是否存在要解決的問題;二是分析問題存在的性質(zhì),以判斷教學(xué)系統(tǒng)設(shè)計是不是解決該問題的合適途徑;三是分析現(xiàn)有資源和約束條件,以論證解決該問題的可能性。

      2.1.1 學(xué)習(xí)需求分析

      設(shè)計模式,它描述了在面向?qū)ο筌浖O(shè)計過程中針對特定問題的簡潔而優(yōu)雅的解決方案。所有結(jié)構(gòu)良好的面向?qū)ο筌浖w系架構(gòu)中都包含了許多設(shè)計模式,特別是在J2EE的架構(gòu)中使用了大量的設(shè)計模式,使系統(tǒng)架構(gòu)精巧,簡潔和易于理解,同時也給我們提供了學(xué)習(xí)典范。與之同時設(shè)計模式被認(rèn)為是的軟件復(fù)用的目標(biāo)2。

      本課程主要介紹軟件復(fù)用基本概念,設(shè)計模式的原則,典型的GOF的設(shè)計模式,并列舉的大量的可運行代碼,結(jié)合實例使課程生動。通過講授,使學(xué)生理解設(shè)計模式的概念、作用以及在軟件開發(fā)中的應(yīng)用,掌握設(shè)計模式使用原則。同時通過使用復(fù)用技術(shù),改造代碼,從而使用合適的設(shè)計模式。

      2.1.2學(xué)習(xí)者分析:

      每個學(xué)習(xí)者都有各自不同的先天素質(zhì)和后天通過學(xué)習(xí)得到的素質(zhì),這就造成了學(xué)習(xí)者與學(xué)習(xí)者之間學(xué)習(xí)現(xiàn)狀和學(xué)習(xí)目標(biāo)的不同。對學(xué)習(xí)者進行分析就是要弄

      軟件設(shè)計模式課程教學(xué)設(shè)計

      清楚他們具有什么樣的先天素質(zhì)、已習(xí)得哪些后天的能力及學(xué)習(xí)需要是什么,因此在對學(xué)習(xí)者進行分析時就包括對其一般個性心理特征進行分析、對其學(xué)習(xí)風(fēng)格進行分析、對其已習(xí)得的能力的分析和學(xué)習(xí)需要進行分析四個方面。

      要使分析結(jié)果客觀真實,相應(yīng)的調(diào)查問卷的設(shè)計是關(guān)鍵,筆者在實踐工作中設(shè)計并采用了“一般個性心理特征調(diào)查問卷”、“學(xué)習(xí)風(fēng)格分析調(diào)查問卷”、“習(xí)得的能力調(diào)查問卷”等來進行分析;根據(jù)設(shè)計的調(diào)查問卷首先對學(xué)生進行分析,為制定教學(xué)策略方案尋找相應(yīng)的依據(jù)。2.2 教學(xué)目標(biāo)的設(shè)計:

      通過這門課程的學(xué)習(xí),為計算機科學(xué)與技術(shù)專業(yè)學(xué)生,傳授軟件設(shè)計與方法的基礎(chǔ)知識,培養(yǎng)科學(xué)思維和軟件開發(fā)的基本能力。了解軟件設(shè)計一般過程和掌握軟件設(shè)計的原則,加強學(xué)生的面向?qū)ο笤O(shè)計開發(fā)思想、理解設(shè)計模式的概念、掌握常用的設(shè)計模式的使用方法,提高學(xué)生的軟件系統(tǒng)架構(gòu)設(shè)計能力。樹立學(xué)生正確的軟件設(shè)計思想,基本具備創(chuàng)建可維護的、靈活的和清晰的應(yīng)用程序的能力。

      我們對學(xué)習(xí)目標(biāo)的描述應(yīng)力求做到精確化,避免傳統(tǒng)描述中存在的模糊性;我在進行相應(yīng)目標(biāo)描述時,采用了學(xué)習(xí)結(jié)果的分類方法,對每一部分的教學(xué)目標(biāo)的成分進行分析時,都分別從學(xué)習(xí)者可以習(xí)得的智慧技能、言語信息技能、認(rèn)知策略、動作技能和態(tài)度情感等五個大的方面去進行分析;在具體描述時對對象、行為、條件和標(biāo)準(zhǔn)四方面進行描述,這樣就基本上做到了對教學(xué)目標(biāo)描述的精確化,為后面的教學(xué)評價提出了具體的標(biāo)準(zhǔn)。

      進行本課程學(xué)習(xí)的學(xué)生,也有基礎(chǔ)較好,其中也有一部分學(xué)生需要系統(tǒng)扎實的學(xué)習(xí)理論知識,以便于進一步深造,同時也注重實踐活動;另一部分學(xué)生則面臨將走上工作崗位的壓力,根據(jù)社會對人才的需要要求提高理論知識和應(yīng)用能力,多學(xué)習(xí)一些基本技能,提高操作能力;對于學(xué)習(xí)的目的比較明確,希望通過學(xué)習(xí)提高自己實際的應(yīng)用能力.即將走向工作崗位的同學(xué)具有較強的自學(xué)能力,希望在學(xué)習(xí)上改變過去那種死記硬背的作法,多理論聯(lián)系實際、所學(xué)知識能對今后實際應(yīng)用工作有較強的指導(dǎo)作用.即學(xué)以致用,而不是純粹的理論學(xué)習(xí).我認(rèn)為,在教學(xué)過程中,應(yīng)該根據(jù)不同班級,采取不同的策略,對于基礎(chǔ)較好的學(xué)生,使學(xué)生在系統(tǒng)掌握基本理論的基礎(chǔ)上,提高實際應(yīng)用能力.對于即將走上工作崗位的學(xué)生,側(cè)重于以學(xué)生為中心的教學(xué)模式,以學(xué)生在掌握基本理論、基本分析方法的基礎(chǔ)上,注重實際分析問題、解決問題能力的培養(yǎng). 對所有學(xué)生都應(yīng)注重實際學(xué)習(xí)效果.對每一堂課的教學(xué)活動都應(yīng)該具有實效,能解決學(xué)習(xí)上碰到的問題.

      軟件設(shè)計模式課程教學(xué)設(shè)計

      2.3 教學(xué)策略的設(shè)計

      教學(xué)策略的設(shè)計,是有效地解決 “如何教”、“如何學(xué)”的問題.只有采取了相應(yīng)的教學(xué)策略,才能完成預(yù)期的教學(xué)目標(biāo).在現(xiàn)代教學(xué)設(shè)計研究領(lǐng)域,已形成兩大流派:一是以“教”為中心的教學(xué)設(shè)計理論;二是以 “學(xué)”為中心的教學(xué)設(shè)計理論.以 “教”為中心的教學(xué)設(shè)計理論的研究重點放在將知識和技能加以分解,使之符合一定的加工順序,以及以什么樣的媒體形式呈現(xiàn)才會有利于信息加工等方面.這種教學(xué)設(shè)計只關(guān)注知識的傳遞,教師被看作是知識的主要來源.

      針對以上情況的分析,我認(rèn)為應(yīng)該從教學(xué)形式、教學(xué)方法、信息呈現(xiàn)方式和程序四個方面進行了規(guī)劃設(shè)計;在教學(xué)形式上,主要采取集體教學(xué)與小組合作學(xué)習(xí)相結(jié)合的方式,也鼓勵學(xué)習(xí)者根據(jù)自身情況進行些個別化學(xué)習(xí);在教學(xué)方法上,采用了講授法、討論法、演示法、設(shè)問法等多種方法;在信息的傳遞方式上,采用了傳統(tǒng)與現(xiàn)代媒體來呈現(xiàn)信息的方式;課程教學(xué)的基本程序是:問題——相關(guān)理論——實踐——評價。2.4 教學(xué)媒體的設(shè)計

      學(xué)生獲取知識不再是單純從書本上、教師的課堂講解中,而是已經(jīng)可以立體化,全方位的從學(xué)習(xí)環(huán)境中取得.學(xué)習(xí)環(huán)境是學(xué)習(xí)資源和人際關(guān)系的組合.學(xué)習(xí)資源包括學(xué)習(xí)材料、幫助學(xué)習(xí)者學(xué)習(xí)的認(rèn)知工具、學(xué)習(xí)空間等等.我們提供了便于自學(xué)的文字材料、電子教案及多媒體課件,從媒體的有機組合上來實現(xiàn)教學(xué)過程的優(yōu)化.便于學(xué)生利用計算機網(wǎng)絡(luò)進行遠(yuǎn)距離交互式學(xué)習(xí).教師不再是學(xué)習(xí)材料的主要來源.教師通過人際交往來影響和引導(dǎo)學(xué)生管理自己的學(xué)習(xí)活動,并且應(yīng)以學(xué)生的身份參與到學(xué)生的學(xué)習(xí)活動中去.教師不再是個體學(xué)習(xí)的輔導(dǎo)者,而是群體學(xué)習(xí)的參與者。針對以上情況,我認(rèn)為現(xiàn)行的教學(xué)模式,從網(wǎng)站下載課件和源碼的方式固化,不方便分享,隨著社會化媒體的興起,我認(rèn)為應(yīng)該充分利用現(xiàn)有資源對教學(xué)媒體的資源進行擴充,比如,在現(xiàn)有條件下部署一個FTP,供校內(nèi)學(xué)生進行資源共享,可上傳和下載,對于校外學(xué)生,則應(yīng)建立具有分享屬性的網(wǎng)盤文件來共享文件,比如百度網(wǎng)盤、金山快盤等都是非常不錯的配比。2.5 教學(xué)過程的設(shè)計

      軟件設(shè)計模式的教學(xué)在精心備課、內(nèi)容求新的基礎(chǔ)上,采用啟發(fā)式教學(xué)的方法,力求教學(xué)質(zhì)量的全面提高.在教學(xué)中,根據(jù)現(xiàn)有可參考設(shè)計思想做如下教學(xué)策略3:

      軟件設(shè)計模式課程教學(xué)設(shè)計

      2.5.1 告訴學(xué)習(xí)者學(xué)習(xí)目標(biāo)、學(xué)習(xí)重點、難點.

      教學(xué)開始時,明確告訴學(xué)習(xí)者學(xué)習(xí)目標(biāo),并使其了解當(dāng)目標(biāo)達到后,將學(xué)會什么,從而激發(fā)學(xué)習(xí)者對學(xué)習(xí)的期望.這不僅能提高學(xué)習(xí)動機,而且能起到“先行組織者”的作用.告訴學(xué)習(xí)者學(xué)習(xí)重點、難點,引起注意.以喚起和控制學(xué)習(xí)者注意力.

      2.5.2 新課導(dǎo)人.

      在學(xué)習(xí)新內(nèi)容前,指出所需先決知識和技能,提出相關(guān)問題,以此刺激回憶起學(xué)過的有關(guān)知識和技能.還應(yīng)使學(xué)習(xí)者充分利用原有的認(rèn)知。

      2.5.3 課堂教學(xué).

      課堂教學(xué)采用了講解、提問、小組活動、討論相結(jié)合的形式.在教學(xué)中采取的策略是先進行教師講解,通過ppt、動畫、現(xiàn)場操作方式,把教學(xué)涉及的新信息、新內(nèi)容較快地系統(tǒng)地向較多的學(xué)生傳輸.但如果僅是教師講解這一種教學(xué)形式,教師就不能及時獲得學(xué)生的反饋信息.為改變這一狀況,在教學(xué)過程中,穿插了課堂提問及時了解學(xué)生的情況,要按學(xué)生的反應(yīng)做出必要的說明和進一步的提問. 根據(jù)學(xué)生的具體情況,進行不同的活動安排.對于普通??瓢嗟慕虒W(xué)安排是采取講解、提問、小組討論方式,還增加了專門 的討論課、答疑課,使教學(xué)活動更加生動活潑.對于有工作壓力的同學(xué),重點放在教學(xué)輔導(dǎo)課上,根據(jù)學(xué)生的需求,選用以討論式為主,穿插講解、提問方式,能起到事半功倍 的效果 . 同時提供豐富的教學(xué)資源,如參考教材、網(wǎng)絡(luò)資源、學(xué)習(xí)指導(dǎo)、電子教案等供學(xué)生在課外學(xué)習(xí).

      2.5.4 教學(xué)后記.

      每堂課后,認(rèn)真聽取學(xué)生的意見和建議,根據(jù)課堂情況和教學(xué)效果,記錄教學(xué)后記.及時對教案和教學(xué)方法進行研究和改進.這一反饋工作可以使下一輪教學(xué)更加優(yōu)化

      2.5.5 加強實踐教學(xué)注重提高學(xué)生的實踐能力.

      實驗教學(xué)是培養(yǎng)學(xué)生實踐能力的重要環(huán)節(jié),精心設(shè)計實驗,引導(dǎo)實驗過程.對學(xué)生實驗的指導(dǎo)特別注意調(diào)動學(xué)生的積極性,引導(dǎo)他們獨立思考、獨立

      軟件設(shè)計模式課程教學(xué)設(shè)計

      完成 ;加強實驗過程與結(jié)果的監(jiān)督.提高實驗教學(xué)質(zhì)量.機房實驗室是學(xué)生創(chuàng)新能力和動手的實踐場所,通過實驗培養(yǎng)學(xué)生創(chuàng)新能力和實踐能力.改變傳統(tǒng)的實驗教學(xué)模式,拓寬實驗教學(xué)內(nèi)容.按照實驗教學(xué) “三步驟”來提高學(xué)生技能.這三步是:課程實驗實行 “講解掃清障礙、指導(dǎo)落實過程、考核強化結(jié)果”.實驗前講解實驗內(nèi)容、過程和要求,補充必要的知識 ;在實驗過程中檢查學(xué)生完成規(guī)定的實驗項目,督促學(xué)生實際動手,并指對結(jié)果進行分析;實驗考核以過程考核為主,綜合考察學(xué)生試驗的態(tài)度、試驗技能、試驗完成情況、試驗報告質(zhì)量等.增設(shè)設(shè)計型實驗:這類實驗以項目形式提出實驗要求和具體實驗結(jié)果,要求學(xué)生通過查資料或自學(xué)方式結(jié)合所學(xué)知識,來完成實驗項目.旨在培養(yǎng)學(xué)生的綜合應(yīng)用能力.

      2.6教學(xué)設(shè)計的評價

      教學(xué)評價主要包括兩大部分,一是傳統(tǒng)的總結(jié)性評價,二是需要在教學(xué)過程中不斷進行的形成性評價4;總結(jié)性評價一方面是對學(xué)習(xí)者的學(xué)習(xí)結(jié)果進行檢測,另一方面也可發(fā)現(xiàn)一些教學(xué)方面的問題,從而在下一屆的教學(xué)中予以改進;形成性評價是在教學(xué)的過程中為使教學(xué)效果更好而不斷進行的評價,它是教師為使學(xué)習(xí)者盡可能在教學(xué)過程中學(xué)得更好而需不斷進行的工作之一;從某種意義上講,形成性評價比總結(jié)性評價更重要,因此我認(rèn)為在教學(xué)過程中特別注意形成性評價方面的工作,具體針對“教學(xué)設(shè)計概述”、“學(xué)習(xí)者分析”、“學(xué)習(xí)內(nèi)容分析”、“教學(xué)目標(biāo)的闡明”、“教學(xué)策略的制定”、“教學(xué)實踐活動”等幾個教學(xué)環(huán)節(jié)進行了形成性評價,診斷出現(xiàn)的問題,然后在下一階段的教學(xué)中給予解決。

      3:結(jié)論

      總之,在軟件設(shè)計模式這門課程的教學(xué)中,注意運用了教學(xué)設(shè)計的基本原理和操作程序,特別注意讓學(xué)生理解現(xiàn)代科學(xué)教育思想(大教育觀)、幫助學(xué)生掌握教學(xué)設(shè)計基礎(chǔ)理論和基本技術(shù)、引導(dǎo)學(xué)生理論聯(lián)系實際,依據(jù)現(xiàn)代教育思想、運用現(xiàn)代教學(xué)設(shè)計理論和技術(shù)對具體的教學(xué)活動進行設(shè)計,形成成果;在教學(xué)方法上注意講授、組織小組討論、指導(dǎo)見習(xí)和實踐活動相結(jié)合,對相關(guān)問題進行分析、指導(dǎo)教學(xué)方案、學(xué)習(xí)方案及課件的設(shè)計、指導(dǎo)研究論文的撰寫和課件的制作,從而使學(xué)生真正的有所收獲和學(xué)習(xí)的成果。通過對這門課程的學(xué)習(xí),學(xué)生們不僅學(xué)到相關(guān)的理論,而且更重要的是他們學(xué)會了思考、分析、研究相關(guān)教學(xué)問題,學(xué)會了對相關(guān)教學(xué)問題進行解決的方法——設(shè)計教學(xué)策略方案。學(xué)生變被動學(xué)習(xí)為主動學(xué)習(xí),達到了原定的教學(xué)目標(biāo),他們的實踐作品(上機作業(yè)等)也收集在軟件設(shè)計模式課程教學(xué)設(shè)計

      一起,形成了成果。當(dāng)然由于是集體教學(xué),面對的是幾十個學(xué)生,一套方案總是不能兼顧所有的學(xué)生,故還存在個別學(xué)生不能主動參與各項教學(xué)活動的情況,這將在今后的教學(xué)方案中設(shè)法解決。

      軟件設(shè)計模式課程教學(xué)設(shè)計

      [參考文獻]

      [1] 羅伯特·加涅主編.教學(xué)設(shè)計原理.華東師范大學(xué)出版社,2000.[2] 《軟件設(shè)計--從程序設(shè)計到體系結(jié)構(gòu)》 Eric J.Braude著; 李仁發(fā)、王岢、任小西譯,電子工業(yè)出版社。

      [3] 李克東,謝幼如著.多媒體組合教學(xué)設(shè)計.科學(xué)出版社,1994.[4] 何克抗.教學(xué)設(shè)計理論的新發(fā)展.中國電化教育.1998.(10)、(11)、(12).[5] 羅伯特·加涅主編.學(xué)習(xí)的條件.華東師范大學(xué)出版社,2000.[6 《設(shè)計模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》,機械工業(yè)出版社,Erich Gamma 等著,2000。

      [7] 張文蘭,李文光.對我國教學(xué)設(shè)計理論與實踐的思考.2001年教育技術(shù)論壇論文集.

      第三篇:礦用網(wǎng)絡(luò)電話軟件設(shè)計方法探討論文

      摘要:網(wǎng)絡(luò)電話在礦山生產(chǎn)中發(fā)揮著越來重要的作用,為了提高煤礦井下通訊效率,設(shè)計了一種礦用網(wǎng)絡(luò)電話系統(tǒng),敘述了網(wǎng)絡(luò)電話系統(tǒng)的構(gòu)成,重點介紹了系統(tǒng)上位機和下位機軟件的設(shè)計方法,該電話系統(tǒng)功能齊全,操作方便,應(yīng)用效果良好.

      關(guān)鍵詞:煤礦;網(wǎng)絡(luò);電話;軟件

      中圖分類號:TP311文獻標(biāo)識碼:A

      作者簡介:陳林坤(1981-),男,安徽蚌埠人,唐山開誠電控設(shè)備集團助理工程師

      隨著計算機網(wǎng)絡(luò)技術(shù)、通信技術(shù)的飛速發(fā)展和我國礦山生產(chǎn)規(guī)模的不斷擴大以及自動化水平的不斷提高,原有的通訊手段已不適應(yīng)生產(chǎn)的需要.當(dāng)前,“數(shù)字化礦山”建設(shè)正方興未艾,人們利用高科技來監(jiān)測、監(jiān)控礦山的生產(chǎn)和管理,其中,網(wǎng)絡(luò)通信是離不開的關(guān)鍵技術(shù)[1].本文結(jié)合煤礦井下通訊的實際,設(shè)計了一種效率較高的網(wǎng)絡(luò)電話系統(tǒng),介紹了該系統(tǒng)上位機和下位機軟件的設(shè)計方法.實際應(yīng)用表明,該系統(tǒng)功能齊全,使用方便,有效地提高了煤礦生產(chǎn)管理中通話的實時性和可靠性,進而提高了煤礦生產(chǎn)和管理的效率.

      1硬件結(jié)構(gòu)組成礦用網(wǎng)絡(luò)電話系統(tǒng)主要用于煤礦調(diào)度音頻通訊場合[2],采用工業(yè)以太網(wǎng)、網(wǎng)絡(luò)尋呼臺和井下電話組成網(wǎng)絡(luò)系統(tǒng),對煤礦調(diào)度生產(chǎn)進行語音通話和語音播報.該系統(tǒng)由上位機、交換機、網(wǎng)絡(luò)尋呼臺、網(wǎng)絡(luò)電話板等組成。

      2系統(tǒng)上位機軟件設(shè)計

      礦用網(wǎng)絡(luò)電話系統(tǒng)上位機軟件采用C#語言編寫,基于MicrosoftVisualStudio2010開發(fā)平臺,軟件由2部分構(gòu)成,包括網(wǎng)絡(luò)音頻軟件PCNetTel和網(wǎng)絡(luò)音頻配置軟件PCManger.

      2.1網(wǎng)絡(luò)音頻軟件

      網(wǎng)絡(luò)音頻軟件的功能主要有:監(jiān)聽在線客戶端設(shè)備的登陸狀態(tài)及客戶端連接狀態(tài),對客戶端的廣播、組播、對講通話以及通話內(nèi)容音頻文件進行回放以及歷史記錄查詢等[3].網(wǎng)絡(luò)音頻軟件流程圖如圖2所示.網(wǎng)絡(luò)音頻軟件在對講模式下的呼叫、掛斷以及伴隨的振鈴邏輯稍顯復(fù)雜,此處采用事件驅(qū)動后臺線程實現(xiàn),網(wǎng)絡(luò)通訊采用TCP和UDP混合編程模式,這提高了系統(tǒng)的實時響應(yīng)性能.在音頻文件生成方面采用設(shè)備IP、日期、時間方式來命名文件夾和音頻文件,以便于數(shù)據(jù)的查詢和回?fù)埽?/p>

      2.2網(wǎng)絡(luò)音頻配置軟件

      網(wǎng)絡(luò)音頻配置軟件的功能是搜索局域網(wǎng)內(nèi)設(shè)備,進行參數(shù)修改配置,主要配置參數(shù)包括:本機IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、服務(wù)器IP地址、尋呼臺IP地址以及設(shè)備編號;輸入音源、增益、音量、振鈴次數(shù)、設(shè)備組播以及設(shè)備Modbus從站地址、串口波特率等參數(shù).網(wǎng)絡(luò)音頻配置軟件搜索局域網(wǎng)內(nèi)設(shè)備時采用發(fā)送全網(wǎng)廣播詢問幀方式,以實現(xiàn)跨網(wǎng)段的未知設(shè)備IP的查詢.在數(shù)據(jù)幀校驗方面,采用MCU的全球唯一ID號作為算法數(shù)據(jù)源生成設(shè)備ID.

      3系統(tǒng)下位機軟件設(shè)計

      系統(tǒng)下位機軟件采用標(biāo)準(zhǔn)C語言編寫,硬件平臺為STM32F10X系統(tǒng)嵌入式單片機,軟件由2部分組成,包括網(wǎng)絡(luò)尋呼臺軟件和網(wǎng)絡(luò)電話板軟件.

      3.1網(wǎng)絡(luò)尋呼臺軟件

      網(wǎng)絡(luò)尋呼臺軟件的功能是建立與上位機和網(wǎng)絡(luò)電話板的通訊[4].網(wǎng)絡(luò)尋呼臺可單獨與上位機或網(wǎng)絡(luò)電話板使用,也可與上位機和網(wǎng)絡(luò)電話板一起接入網(wǎng)絡(luò)使用.當(dāng)與上位機音頻通訊時,建立網(wǎng)絡(luò)連接后,可與上位機進行雙向?qū)χv互話、接收上位機的組播或廣播通知,也可接收上位機發(fā)出的音頻文件進行本地播放.當(dāng)與網(wǎng)絡(luò)電話板音頻通訊時,可對網(wǎng)絡(luò)內(nèi)所有尋呼臺IP配置為本設(shè)備IP的網(wǎng)絡(luò)電話板進行雙向互話、對其語音廣播、組播、多播操作.

      3.2網(wǎng)絡(luò)電話板軟件

      網(wǎng)絡(luò)電話板軟件主要功能為與上位機或網(wǎng)絡(luò)尋呼臺聯(lián)網(wǎng)組成網(wǎng)絡(luò)電話系統(tǒng),可主動呼叫上位機或網(wǎng)絡(luò)尋呼臺,也可接收上位機或網(wǎng)絡(luò)尋呼臺的對講呼叫、廣播或組播.網(wǎng)絡(luò)電話板軟件實現(xiàn)方法與網(wǎng)絡(luò)尋呼臺軟件設(shè)計方法類似,再此不再贅述.

      4結(jié)論

      礦用網(wǎng)絡(luò)電話系統(tǒng)上位機軟件采用C#語言編寫,基于MicrosoftVisualStudio2010平臺進行開發(fā),采用多線程管理事件,軟件界面設(shè)計友好、操作簡潔、安裝方便.下位機軟件采用標(biāo)準(zhǔn)C語言編寫,硬件平臺為STM32F10x系列嵌入式單片機,采用UCOS-II操作系統(tǒng)實時地對接入網(wǎng)內(nèi)的網(wǎng)絡(luò)電話板進行多任務(wù)管理,提高了通話的實時性、可靠性;配合3.5寸彩色顯示屏可動態(tài)地對網(wǎng)絡(luò)電話板和上位機的連接進行查看管理及呼叫操作顯示.該系統(tǒng)已在多個煤礦進行應(yīng)用,使用效果良好.

      參考文獻:

      [1]高杰.礦山多媒體應(yīng)急通信系統(tǒng)軟件設(shè)計[D].西安科技大學(xué),2008.

      [2]王濤.企業(yè)VoIP網(wǎng)絡(luò)電話系統(tǒng)的設(shè)計和實現(xiàn)[D].天津大學(xué),2008.

      [3]莊乾成.嵌入式網(wǎng)絡(luò)電話機設(shè)計[J].儀表技術(shù).2009,(7):36-38.

      [4]紀(jì)秀輝.基于Linux系統(tǒng)嵌入式網(wǎng)絡(luò)電話設(shè)計[J].電腦知識與技術(shù),2010,6(1):216-217.

      第四篇:軟件設(shè)計報告

      軟件設(shè)計報告

      姓名: 方軼琦

      學(xué)號:10005808

      2013年6月18日~2013年6月28日

      第一章 軟件設(shè)計介紹.........................................................1 第三章 軟件設(shè)計的內(nèi)容.......................................................4 3.1 分?jǐn)?shù)統(tǒng)計軟件(A1)...................................................4 3.1.1設(shè)計題目及要求.....................................................4 3.1.2設(shè)計思想及程序流程框圖.............................................4 3.1.3邏輯功能程序.......................................................5 3.1.4結(jié)果及完善方向.....................................................5 3.2 打字軟件(A2).......................................................9 3.2.1設(shè)計題目及要求.....................................................9 3.2.2設(shè)計思想及程序流程框圖.............................................9 3.2.3邏輯功能程序......................................................10 3.2.4結(jié)果及完善方向....................................................10 3.3 文本編輯器(A3)....................................................13 3.3.1設(shè)計題目及要求....................................................13 3.3.2設(shè)計思想及程序流程框圖............................................14 3.3.3邏輯功能程序......................................................14 3.3.4結(jié)果及完善方向....................................................17 3.4 加密軟件(A4)......................................................19 3.4.1設(shè)計題目及要求....................................................19 3.4.2設(shè)計思想及程序流程框圖............................................19 3.4.3邏輯功能程序......................................................19 3.4.4結(jié)果及完善方向....................................................19 3.5 進制轉(zhuǎn)換器(A5)....................................................23 3.5.1設(shè)計題目及要求....................................................23 3.5.2設(shè)計思想及程序流程框圖............................................23 3.5.3邏輯功能程序......................................................24 3.5.4結(jié)果及完善方向....................................................29 3.6 學(xué)生成績核算系統(tǒng)的設(shè)計與實現(xiàn)(B1)..................錯誤!未定義書簽。3.6.1設(shè)計題目及要求....................................................30 3.6.2設(shè)計思想及程序流程框圖............................................30 3.6.3邏輯功能程序......................................................32 3.6.4結(jié)果及完善方向....................................................32 3.7 模擬電信計費系統(tǒng)的設(shè)計與實現(xiàn)(B2)..................................39 3.7.1設(shè)計題目及要求....................................................39 3.7.2設(shè)計思想及程序流程框圖............................................40 3.7.3邏輯功能程序......................................錯誤!未定義書簽。3.7.4結(jié)果及完善方向....................................................41 第四章 心得體會............................................................49

      軟件設(shè)計報告 10005808 方軼琦

      軟件設(shè)計介紹

      一. 軟件的設(shè)計概念

      軟件設(shè)計是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。建議用數(shù)學(xué)語言來抽象事務(wù)和問題,因為數(shù)學(xué)是最好的抽象語言,并且它的本質(zhì)就是抽象。將復(fù)雜的問題分解成可以管理的片斷會更容易。將問題或事物分解并模塊化這使得解決問題變得容易,分解的越細(xì)模塊數(shù)量也就越多,它的副作用就是使得設(shè)計者考慮更多的模塊之間耦合度的情況。

      二.軟件設(shè)計的性質(zhì)、目的:

      本課程是一門技能訓(xùn)練課,為在校學(xué)生的必修課程。通過設(shè)計培養(yǎng)學(xué)生良好的編程習(xí)慣,使學(xué)生掌握編程的基本步驟,規(guī)范學(xué)生的編寫程序的格式,鍛煉學(xué)生編寫程序的能力,為將來編寫較大程序的打好基礎(chǔ)。

      三.軟件設(shè)計總時間:二周

      四.實驗設(shè)備:南京郵電大學(xué)微機室微機。五.軟件設(shè)計的任務(wù)

      通過集中時間上機實驗,使學(xué)生充分發(fā)揮已有的編程能力,熟悉編譯環(huán)境,選擇若干課題,進行審題、分析、設(shè)計和調(diào)試,并根據(jù)要求寫出實驗報告。

      六.實驗內(nèi)容

      軟件設(shè)計課題共分A、B兩檔。A檔共5題,第一周完成;B檔共2題,第二周完成。

      軟件設(shè)計報告 10005808 方軼琦

      第二章

      軟件開發(fā)平臺簡介

      Visual Studio 2008 簡介

      Microsoft? Visual Studio? 2008 使開發(fā)人員能夠快速創(chuàng)建高質(zhì)量、用戶體驗豐富而又緊密聯(lián)系的應(yīng)用程序,充分展示了 Microsoft 開發(fā)智能客戶端應(yīng)用程序的構(gòu)想。借助 Visual Studio 2008,采集和分析信息將變得更為簡單便捷,業(yè)務(wù)決策也會因此變得更為有效。任何規(guī)模的組織都可以使用 Visual Studio 2008 快速創(chuàng)建能夠利用 Windows Vista? 和 2007 Visual Studio system 的更安全、更易于管理并且更可靠的應(yīng)用程序。

      Visual Studio 2008 提供了高級開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,幫助在各種平臺上快速創(chuàng)建當(dāng)前最先進的應(yīng)用程序。

      Visual Studio 2008 包括各種增強功能,例如可視化設(shè)計器(使用.NET Framework 3.5 加速開發(fā))、對 Web 開發(fā)工具的大量改進,以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強功能。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序。開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前瀏覽器內(nèi)運行并完全訪問 ASP.NET 應(yīng)用程序服務(wù)和 Microsoft平臺。

      Visual Studio 2008 具備如下優(yōu)勢:

      快速開發(fā)新突破

      從建模到編碼,再到調(diào)試,Visual Studio 2008 提供了增強的編程語言、設(shè)計器、編輯器以及和數(shù)據(jù)相關(guān)的新功能,可以幫助您體驗到生產(chǎn)力的突破。

      創(chuàng)建杰出的用戶體驗

      Visual Studio 2008為開發(fā)人員提供了新的工具,通過使用最新的平臺,如Web, Windows Vista、2007 Microsoft Office System、Microsoft SQL Server 2008、Windows Mobile?以及Windows Server?2008,開發(fā)人員可以快速創(chuàng)建個性化很強的用戶體驗以及互聯(lián)的應(yīng)用程序。

      跨越開發(fā)周期的協(xié)作

      Visual Studio 2008 可以讓開發(fā)人員、設(shè)計人員、測試人員、架構(gòu)師以及項目經(jīng)理通過共享工具以及過程整合的方式,實現(xiàn)協(xié)同工作,從而減少了解決方案所花費的時間。

      采用統(tǒng)一整合的方式處理數(shù)據(jù)

      Visual Studio 2008 可以顯著的改進開發(fā)人員處理數(shù)據(jù)的方法。傳統(tǒng)方式中,開發(fā)人員不得不根據(jù)數(shù)據(jù)的存儲位置以及用戶的連接方法,對數(shù)據(jù)進行不同的操作。通過語言集成查詢(Language-Integrated Query, LINQ), 開發(fā)人員可以使用單獨的模型來查詢并轉(zhuǎn)換XML, Microsoft SQL Server?和對象數(shù)據(jù),而不需要學(xué)習(xí)或使用特定的編程語言,這樣就降低了復(fù)雜度并提高了生產(chǎn)力。

      體驗全新的Web開發(fā)工具

      Visual Studio 2008為公司或開發(fā)團隊提供了一個健壯的、端到端的平臺來構(gòu)建應(yīng)用程序并通過Web 方式提供應(yīng)用程序。通過Visual Studio 2008, 開發(fā)人員可以很容易的將最新的Windows Presentation Foundation(WPF)功能整合到現(xiàn)

      有的Windows Forms 應(yīng)用程序以及新的應(yīng)用程序中,并在Windows平臺上創(chuàng)建高保真的用戶體驗。通過額外的ASP.NET AJAX 1.0和Microsoft

      軟件設(shè)計報告 10005808 方軼琦

      IntelliSense?以及對調(diào)試JavaScript 8.0的支持,構(gòu)建AJAX 應(yīng)用程序?qū)涌旖?。增強的Web 設(shè)計器帶有分離視圖編輯功能,可以讓開發(fā)人員同時看到HTML 頁面以及結(jié)果頁面,從而提升了Web 開發(fā)的體驗。

      將數(shù)據(jù)庫功能整合到應(yīng)用程序生命周期的管理中

      Visual Studio 2008為不同的團隊成員提供了一系列針對架構(gòu)、設(shè)計、程序開發(fā)、數(shù)據(jù)庫開發(fā)以及應(yīng)用程序測試的相關(guān)工具。Microsoft Visual Studio Team System 2008 Database Edition 目前已經(jīng)全部整合到了Microsoft Visual Studio Team System 2008 Team Suite 中。

      構(gòu)建運行在多個版本的.NET Framework 之上的應(yīng)用程序

      通過Visual Studio 2008, 開發(fā)人員可以使用一個工具來管理并構(gòu)建針對多個版本的.NET Framework 的應(yīng)用程序。Visual Studio 2008將會自動讓項目以及設(shè)置適應(yīng)開發(fā)人員所指定的.NET framework 版本。開發(fā)人員不再需要安裝多個版本的Visual Studio 來維護運行于多個版本的.NET Framework 之上的應(yīng)用程序。

      為Microsoft Office 系列構(gòu)建可靠的、可伸縮的應(yīng)用程序

      Visual Studio Tools for Office 目前已經(jīng)完全整合到了Visual Studio 2008 專業(yè)版當(dāng)中。Visual Studio 2008可以讓開發(fā)人員自己定制Microsoft Office Word, Microsoft Office Excel ,Microsoft Office PowerPoint , Microsoft Office Outlook ,Microsoft Office Visio , Microsoft Office InfoPath , 以及Microsoft Office Project, 從而提升用戶生產(chǎn)力并且更有效的利用了Office 2007 中的新增功能。對Microsoft Office 進行自定義,同時應(yīng)用程序支持ClickOnce 部署,從而使開發(fā)人員可以采用正確的工具以及框架來實現(xiàn)對Microsoft Office 解決方案進行從容部署。

      為Windows Vista 構(gòu)建完美的應(yīng)用程序

      Visual Studio 2008可以讓開發(fā)人員快捷的創(chuàng)建出同Windows Vista 外觀風(fēng)格一樣炫的應(yīng)用程序,并且可以利用Windows Vista 中所提供的8000多種新API.在開發(fā)人員和設(shè)計人員之間實現(xiàn)無縫協(xié)作

      Microsoft已經(jīng)針對設(shè)計人員發(fā)布了名為Microsoft Expression的工具。在Visual Studio 2008中,來自于Microsoft Expression Web 以及Microsoft Expression Blend?中的設(shè)計元素可以在不更改后臺代碼的情況下,從Visual

      Studio 中進行導(dǎo)入導(dǎo)出的操作。這就意味著開發(fā)人員和設(shè)計人員可以實時的進行無縫協(xié)作,并且不用擔(dān)心用戶界面設(shè)計更改所引起的開發(fā)問題。

      軟件設(shè)計報告 10005808 方軼琦

      第三章 軟件設(shè)計的內(nèi)容

      3.1 分?jǐn)?shù)統(tǒng)計軟件(A1)

      3.1.1設(shè)計題目及要求 設(shè)計題目:分?jǐn)?shù)統(tǒng)計 要求:(1)、輸入某班級學(xué)生的姓名、分?jǐn)?shù);

      (2)、對(1)的分?jǐn)?shù)進行降冪排列并輸出;(3)、具有輸入輸出界面。3.1.2設(shè)計思想及程序流程框圖

      這道題我是用C# 的可視化環(huán)境制作了一個分?jǐn)?shù)統(tǒng)計系統(tǒng)。制作的界面如圖3.1-1所示:

      實現(xiàn)的功能和設(shè)計方法:

      1.在“姓名”和“分?jǐn)?shù)”后面的文本框內(nèi)輸入學(xué)生信息,輸入完畢后,按“輸入”按鈕,學(xué)生信息就會顯示到左下方的listbox中。

      2.當(dāng)用戶輸入若干名學(xué)生信息后,按“排序”按鈕,右下方的listbox中就會顯示按成績降冪排序后的學(xué)生信息。排序方法是使用冒泡排序法。

      3.當(dāng)用戶輸入學(xué)生信息出錯時,用鼠標(biāo)選擇出錯項,按下“刪除選中的輸入項”,即可刪除輸錯項,繼續(xù)輸入學(xué)生信息。方法是用listBox.SelectedIndex找到選中的索引值,然后刪除數(shù)組中該學(xué)生信息和listbox中信息就可以了。

      4.當(dāng)用戶想重新輸入學(xué)生信息,按下“重新開始”清空數(shù)組和listbox中的信息。

      5.當(dāng)用戶要結(jié)束操作,按下“結(jié)束”,調(diào)用close()函數(shù)就可以跳出界面。主程序的流程圖如圖3.1-2所示。冒泡排序的流程圖如圖3.1-3所示。

      軟件設(shè)計報告 10005808 方軼琦

      開始N=學(xué)生數(shù)i=0ii?N開始輸入學(xué)生信息score[j-1]

      圖3.1-1 主流程圖

      圖3.1-2冒泡排序流程圖 3.1.3邏輯功能程序 具體程序如下:

      #include #include #include struct student //存放學(xué)生信息的結(jié)構(gòu)體 { char name[20];//字符型數(shù)組存放姓名

      int grade;//成績類型 } temp,std[100];int main(){ int err;char x[5];int n;int i;int m;char ch[20];

      軟件設(shè)計報告 10005808 方軼琦

      do { system(“cls”);printf(“ nn”);printf(“

      --------n”);printf(“ | 歡迎使用本系統(tǒng) | n”);printf(“

      --------n”);printf(“ n”);printf(“

      -------------請輸入學(xué)生數(shù)--------------nn”);do{ printf(“tt學(xué)生數(shù): ”);

      err=0;i=0;

      scanf(“%s”,x);//輸入選項

      getchar();

      while(x[i]!='