0
首頁 精品范文 軟件工程可行性分析

軟件工程可行性分析

時間:2023-05-30 10:44:36

開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件工程可行性分析,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。

第1篇

軟件的開發周期有需求分析、詳細設計、測試、可行性分析、體系結構設計和編碼六個部分。形式化技術貫穿于軟件開發周期的六個部分,形式化時基于參數化的數學理論形式化定義語義。下面從可行性分析、需求分析、體系結構設計和詳細設計幾個方法進行說明。

1.1可行性分析

軟件生命周期的第一個階段是可行性分析階段,在這一階段要通過大量的數據資料來說明系統的開發是否是可行的。指出項目的建議、風險預測、可行性,為項目的決策提供參考依據。在此階段,通過將實際問題轉化為可行性的研究,形成一定的文檔材料,規定專業的屬于,說明軟件系統進行開發的處理流程、數據流程、輸入輸出、運行環境和開發環境等等。當前來說,專門用于可行性分析這一階段的形式化技術還非常少,主要的原因是無法將形式化的符號和自然的語言很好的結合起來,確保使用本軟件的用戶可以非常清楚明白的理解形式化技術所要描述的意義。Z語言是目前一種不可執行的半形式化語言,它短小且容易閱讀,采用非形式化的英語對軟件的規約進行解釋。

1.2需求分析

需求分析分為信息處理和分信息預處理兩個階段,將可行性分析報告作為輸入。元語言是形式化語言中的一種,它是基于集合論的證明規則和謂詞演算,給出抽象機狀態確定模型,從而生成文檔。這種形式化語言,對于程序員來說,容易實現原型而且可讀性好,容易掌握。語義的設計是形式化技術中需求分析階段主要要進行的工作之一。在需求分析這一階段,ER圖是從可行性分析的實際問題中導出來的。通過ER圖給出SXL語言的事實和對象,SXL語言有助于開發團隊理解和交流。SXL語言、RAISE語言和VDM元語言都是應用于需求分析階段的比較常用的形式化技術。

1.3體系結構設計

軟件設計的第三個階段是體系結構的設計,在這一階段是將需求分析轉換為要實現的目標軟件,并進行各種方案的分析和比較,最終選擇較好的方案。在體系結構設計階段采用過程代數形式化的攻擊進行輸入、輸出的行為描述。TLG語言適合體系結構設計階段不強調如何做僅僅說明做什么。采用形式化的說明把自然的語言融入到邏輯程序設計范型和數學函數中,這樣更容易證明用戶需求的一致性。GLIDE是一種半形式化的SSFL,GLIDE的好處是應用范圍廣,而且抽象的級別比較高,不過也有一定的局限性就是使用的時候需要適當的進行擴充和修改。

1.4詳細設計

軟件設計的第四個階段就是詳細設計,在詳細設計階段,要與軟件系統的形式化描述一致。在詳細設計階段,要為軟件系統的各個模塊設計相應的內部數據結構和算法,確定最終系統實現的一個精確的描述。Larch語言是用于說明程序功能,可以適當的增強詳細設計階段的處理能力和描述能力。形式化的Trace語言作為軟件詳細設計階段的形式化工具,采用將模塊實現的抽象數據作為自動機說明每個模塊的接口需求。Trace語言與SSFL語言不同的特點是程序自動的生成和驗證在同一形式的系統內進行。

2形式化技術的評價

形式化技術在軟件工程中有效的提高了開發的效率、改進了軟件開發的質量、減少了開發費用。形式化的技術容易在軟件的規約上取得一致性,它屬于一種非常有效的交流方式。在軟件工程中,形式化技術的優勢在于語法定義準確、問題抽象、表達無二義性、語義清晰可操縱、描述簡潔規范。形式化技術在非功能性的要求上比如安全性、保密性、結構性上利用數學工具更容易進行核查。雖然形式化技術在軟件工程的各個階段已經取得了不錯的成就,但是還是存在著一定的局限性,比如缺乏在實際項目中應用的有效工具。程序功能的正確性有時候難以證明,因為形式化技術缺乏定理證明機制的支持。形式化技術的下一個發展方向應該是盡量的把形式化的語言表達的形式進行簡單化,讓其趨于自然語言,增強它的可理解能力。

3總結

第2篇

軟件工程不僅是計算機科學與技術專業、軟件工程專業的一門專業基礎核心課程,也是其他相關專業,如信息工程、系統工程、信息與計算機科學、信息管理與信息系統等專業的重要應用技術課程。對于這些專業的學生來說,畢業設計多是以軟件開發類項目為主,整個畢業設計就是開發一個軟件。為了更好地完成軟件開發類畢業設計,提高學生畢業設計的質量,進一步規范畢業設計中的軟件開發過程是必需的。軟件工程的思想正是用工程化方法構建和維護有效的、實用的和高質量的軟件。按照軟件工程思想,軟件開發的生命周期分為可行性分析、需求分析、總體設計、詳細設計、編碼實現、軟件測試和軟件維護幾個階段。在學生的畢業設計中以軟件工程的思想為主線,從軟件工程的角度去指導學生進行畢業設計,挖掘軟件工程在系統開發過程中的價值,解決畢業設計中存在的一些問題,既有助于學生更好地理解軟件工程的方法、技術和思想,更有助于提高軟件類畢業設計的質量。

2畢業設計中存在的問題

筆者在指導學生軟件開發類畢業設計過程中發現,畢業設計存在著選題難、任務重、重視編碼、輕過程、項目無法完成等現象。設計過程中沒有嚴格地遵循軟件工程的開發方法,沒有規范的軟件設計過程,項目能否成功主要依賴于個人能力和個人努力,這種不正確的開發方法帶來了嚴重的后果。在項目開發的過程中常常存在以下幾個方面問題:

2.1選題的盲目性

選題是畢業設計過程中的一個初始環節,選題恰當是做好畢業設計的前提,但選題不當的情況仍然時有發生。學生沒有認識到畢業設計的重要性,純粹是為了完成學業而做畢業設計,選題沒有一個確切的目標,往往是隨便選一個題目,造成選題的盲目性,出現了選題陳舊、選題范圍狹窄、選題偏大等問題,使學生抄襲、完成不了畢業設計的情況時有發生。

2.2缺少軟件的系統分析

軟件開發過程的第一個階段是系統分析,用來確定軟件開發要解決的問題是什么?估算完成該項目需要的資源和成本,確定目標系統應該具備哪些功能,主要經歷問題的定義、可行性分析和需求分析三個階段。軟件的系統分析確定了用戶需求,同時對目標系統提出完整、具體的要求,引導開發者正確地構建系統。因此,對用戶需求做出全面、正確的分析,對于最終軟件開發類畢業設計的成敗起著至關重要的作用。然而在完成畢業設計過程中,學生往往認為代碼編寫最重要,對軟件開發過程中的可行性分析和需求分析階段不重視,甚至沒有系統分析,對整個畢業設計的完成造成了影響。

2.3軟件設計過程雜亂無章

軟件設計一般都要經歷可行性分析、需求分析、總體設計、詳細設計、編碼和測試階段。而部分學生在畢業設計開發的過程中,缺乏軟件工程設計思想,跨越需求分析、概要設計、詳細設計和功能模塊設計,直接進行代碼的撰寫;或者從代碼反推出模塊設計;甚至在軟件開發過程中,一邊寫程序,一邊了解需求,程序完成了需求才確定。這種無序的軟件設計過程,導致最終設計的系統雜亂無章、代碼的重復率高、潛在?Bug多、系統的可集成性非常差、不能在規定時間內完成設計或者系統無法運行。

2.4開發過程中文檔不完備

根據軟件工程學的基本原理,軟件=程序+文檔,可見軟件文檔是軟件開發過程中不可缺少的組成部分。軟件文檔貫穿于軟件開發的各個階段,是提高軟件產品開發效率、規范軟件產品開發過程、保證軟件產品質量的關鍵。但在實際畢業設計中,很多同學認為把程序代碼編出來了,畢業設計也就完成了,提交的畢業設計論文就是系統代碼的復制,即只做出一個可演示可操作的系統,而忽略了軟件開發的完整性、系統性。完整的畢業設計不僅包括可操作的系統,還包括在開發系統的過程中所產生的各個文檔資料。文檔的缺失會降低軟件開發的效率、影響整個軟件的開發、使用和維護。以上問題的存在,嚴重影響了畢業設計的進度和質量,沒有達到畢業設計的目標要求。針對當前畢業設計的現狀和存在不足,筆者認為應用軟件工程學的思想指導畢業設計,對促進學生綜合素質與工程實踐能力培養具有積極意義。

3用軟件工程思想指導學生進行畢業設計

3.1以可行性研究指導選題

可行性研究的目的是用最小的代價在盡可能短的時間內確定問題是否能夠解決。畢業設計題目的選擇,應立足于解決工程實際問題,可由指導教師提供符合相關專業畢業設計要求的題目,也可以鼓勵學生自己到社會、生產企業中尋求研究課題,培養他們自主學習的意識。選題過程以可行性研究為指導,從課題規模大小、難易程度、學生自己的研究方向、愛好、學生的知識層面和能力等多個方面進行考慮,對于選擇的題目是否能夠解決,確定在規定的時間內完成畢業設計的可行性。指導教師可根據學生選報的題目來指導學生對該選題進行調查研究,明確課題要解決的問題是什么,簡要地寫出關于問題性質、項目目標和項目規模的書面報告。可行性研究來指導畢業設計的選題,實質上是簡化了系統分析和設計的過程,也是在較高層次上以較抽象的方式進行的系統分析和設計的過程,使學生對于課題的設計有個清晰的思路,為及時完成畢業設計提供了可能。

3.2重視軟件的需求分析

需求分析的基本任務是準確地回答“系統必須做什么”,即確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求,不僅指明了系統設計時必須要實現的目標,也是軟件設計、實現、測試和維護階段的主要參考標準。用戶需求的獲取是軟件開發中最重要、難度最大的工作,它貫穿于整個軟件設計過程,不僅要涉及到軟件開發方面的知識、應用領域方面的知識,還涉及到與用戶溝通的能力。在進行需求獲取和分析時,為了及時、準確地獲取,可采用軟件工程中比較成熟的方法,例如訪談、實際調查、UML的用例技術等。需求分析在軟件系統分析與設計階段起著橋梁的作用,確定了系統的需求,才能制定出軟件設計的框架,保證畢業設計循序漸進、有條不紊地進行,避免后期開發過程的頻繁返工,進而按時完成最終的任務。

3.3規范畢業設計過程

軟件開發類畢業設計一般是開發一個軟件系統,實現一定的功能。“麻雀雖小,五臟俱全”,無論軟件規模的大小、功能的多少,都應該嚴格按照軟件工程中軟件生命周期每個階段的步驟完成各項任務。要培養學生把軟件工程的概念貫穿于整個畢業設計過程,也就是說,讓學生把開發軟件的過程看成是蓋一棟大樓,修一條公路的實際工程,用工程化的思想指導畢業設計,確定完成課題的各項任務的工作步驟,注重軟件類畢業設計的過程,而不是學生所認為的畢業設計就是編程序,代碼調試通過即可。通過工程的概念規范畢業設計過程,讓學生明白開發一個軟件系統一般經過系統分析、系統設計、系統實施三個階段,必須嚴格遵循軟件生命周期的規律,完成各個階段的任務,才能最終提高畢業設計的質量。

3.4重視文檔的寫作

軟件工程中的瀑布模型嚴格地規定了在整個軟件生命周期的各個階段,都要提交相應的文檔。文檔不僅記錄軟件開發過程中的大量信息,在軟件的開發、維護過程中也起著重要的作用。在指導學生畢業設計時,要求學生遵照軟件工程的思想,把文檔作為整個設計的指揮棒,記載設計過程的每一階段完成的目標、任務及技術手段,建立健全畢業設計文檔制度,確保畢業設計過程中的文獻綜述、譯文、任務書、開題報告、選題審題表、中期檢查表、設計(論文)正文、答辯記錄等各環節教學資料檔案完善、規范,實現對畢業設計的全程監控。

4結束語

第3篇

軟件危機的出現已存在多年,雖然業界專家不斷致力于軟件工程理論建設,認為軟件工程理論的推進可有效緩解軟件危機,但大量實踐表明,只有通過對軟件需求進行詳細地分析才能真正改善軟件的重復問題,進而提高軟件工程的質量。文章簡單闡述了軟件工程需求分析的概念,分析了當前軟件工程所存在的質量問題,并針對問題提出了相應的質量保證措施,旨在為相關技術人員提供若干參考意見。

關鍵詞:

軟件工程;需求分析;質量保證

1軟件工程需求分析概念

軟件工程需求分析是指在正確了解用戶需求的基礎上,使軟件功能與客戶需求相符,同時預估軟件研發風險和項目評估,最終開成整個開發設計方案的過程。在軟件工程需求分析過程當中,占主導地位的是用戶的需求,用戶需求的整理由工程師及項目經理負責,通過需求分析獲取相關技術性文檔材料,包括SRS文檔、DRM文檔和AcceptancePlan[1]。從廣義上來說,軟件工程需求分析所要做的工作主要有需求信息的獲取、分析、變更、驗證以及相關規則說明和管理。軟件工程需求分析的流程多且復雜,如創建數據字典、確定需求優先級別、分析需求可行性等。不同流程所使用的分析方法也有所不同,如在確定需求優先級別時,可采取應用分析法,即在考慮產品版本時應基于優先級對產品特性及需求進行分析,若需求變更,則要在不同版本當中添加所變更的信息,并做好相應變更工作[2]。在進行需求分析可行性分析時,需對每項需求實施的可行性進行詳細分析,以驗證軟件是否能夠開發,是否能夠給公司帶來利潤。

2軟件工程存在的質量問題

第一,文檔的時效性無保障。軟件各模塊的制作通常是由不同人負責的,這就導到軟件開發過程存在諸多問題,如在進行需求分析應用數字字典時,因規格不同導到文檔編寫形式分離。又如不同制作人員所使用的工具不同,編寫和檢索時間不同,導致文檔的時效性無法保證,若編寫過程混亂還會給程序的維護帶來很大困難,導致文檔資料難以尋找,甚至出現缺失,致使維護時間加長,若問題嚴重的話還會導致軟件無法維護。第二,程序與文檔內容分離。軟件程序與文檔內容分離的主要原因是在編寫文檔設計與需求分析時所采取的角度不同,文檔設計的編寫是面對程序設計員的,而需求分析的編寫是面對用戶的,雖然兩者的最終目的是相同的,都是將用戶需求轉化為程序編碼設計文檔,是在進行轉化時卻存在很大的偏差,導到軟件成品與需求之間存在很大差距。此外,因編寫需求分析文檔多使用自然語言,而編寫設計文檔多使用計算機語言,兩種語言在進行轉化時易出現很多問題,且設計的圖較多,如模塊圖、結構圖、數據圖等,若文檔未及時更新,文檔就無法正確表達程序,開發人員也就無法通過文檔正確理解用戶需求,導致程序與文檔內容分離,最終軟件只能從頭開始。第三,軟件開發與維護分離。軟件的研發主要包括以下過程:需求分析、可行性分析、軟件設計、代碼設計、測試,此外還有軟件的維護,這是軟件自誕生至結束的整個周期。在軟件研發的整個周期當中,軟件的開發與維護是緊密聯系的,軟件的開發是軟件誕生的重要過程,但軟件的維護卻是軟件質量不斷得以提升的重要階段和方式。現多數軟件開發公司在研發軟件時比較注重軟件的開發過程,而忽略了軟件的維護,導致軟件開發與維護分離問題凸顯。如在進行軟件的設計和開發時,研發人員比較重視用戶需求分析,但卻忽略了軟件的功能升級,未預留相應模塊接口,給軟件的后期維護帶來很大困難[3]。因用戶需求是一個動態化的過程,隨著用戶使用時間的推移,用戶會產生各種新的需求,若事先未預留相應接口,那么軟件的升級相當于重新研發一套軟件,這樣研發成本明顯上升。再者因需求分析與設計文檔的編寫所使用的語言有所不同,需求分析編寫所使用的是自然語言,而設計文檔編寫所使用的是計算機語言,兩種語言并未有一個統一的溝通橋梁,這就導致程序員的理解存在偏差,而這種偏差一旦出現就會使需求文檔與設計文檔出現分離,最終給軟件的維護帶來困難。此外,很多程序員習慣性編寫程序代碼,卻忽略了建設文檔,導致軟件的開發與維護出現分離。

3軟件質量保證措施

3.1保證文檔編寫的完整性

軟件工程需求分析的編寫對于軟件工程需求設計來說非常重要。在編寫軟件工程需求時,應使用通俗易懂的自然語言來表達客戶的軟件功能需求,避免使用模糊性語言或是過量使用專業術語,以使程序員能準確理解,防止因程序員的理解偏差而影響程序的編寫,導致軟件的計算方式出現偏差,最終給用戶帶來軟件陷阱。文檔的編寫應盡量使用實詞,而避免使用形容詞或是描述性詞語,以保證產品描述的真實性,若使用這些詞會使用戶需求的理解出現誤差,將導致軟件無法正確反映用戶需求。如在利用數據庫存進行軟件的開發時,應在設計需求文檔當中對儲存量、波動范圍、數據類型進行詳細說明,明確需求量,同時做好備份信息說明,以保證文檔編寫的完整性,使程序員在進行軟件的編寫時能夠準確理解用戶需求,同時做好詳細的設計文檔和代碼[4]。

3.2保證需求分析的完善性

需求文檔及設計文檔出現分離的最主要原因就是需求文檔與設計文檔的編寫人員不同,且各司其職、缺乏溝通而導致的。在實際工作當中,很多軟件開發公司的需求分析人員、開發人員和測試人員是沒有任何將領的,這就使得很多軟件質量問題無法支及時溝通并得到協商,最終導致軟件質量問題增多。而實質上,軟件工程的需求分析不僅需要需求分析人員的努力,而且還要與開發人員及測試人員進行相互溝通,以螺旋式的推進方式以不斷對需求分析的內容進行豐富和細化,以此來使需求分析更加完整、完善。因此,為保證需求分析的完善性,在進行軟件工程需求分析過程當中,就有必要盡量讓所有參與工程項目的人員都加入進來,包括開發人員和測試人員,使所有工作人員都能夠第一手了解客戶需求,避免產生誤差或是重復,這樣才能有效解決需求文檔與設計文檔的分離問題。

3.3深入而正確地了解客戶的真正需求

現很多軟件開發公司為加快軟件的研發進度,或是加快軟件開發的效率,亦或是迫于交期壓力等原因,通常會采取模塊重用的方式以減輕軟件開發工作量,提高自身經濟效益,且現在這種模塊重用方式也成了軟件開發的主流,是軟件工程開發的重要組成部分。但是很多軟件開發公司在使用軟件重用時,因并未深入分析客戶需求,或是地進行分析時粗心大意而導致客戶需求理解存在偏差或是錯誤,導致經重組重用的軟件無法滿足客戶需求,或是軟件出現質量問題,最終軟件只能從頭研發,使得公司軟件研發成本大幅上升,影響公司經營和經濟效益。為解決這一問題,最主要的就是正確而深入地了解客戶的真正需求,同時在軟件的研發過程當中做好監督和檢查工作,盡量避免出現錯誤;此外還要注意技術人員在不同步驟之間的溝通,以免因溝通缺失而出現軟件質量問題。

3.4依照實際需求調整文檔內容

通常來說,在遵循以上規則的基礎上所編寫的文檔是非常嚴謹、科學、合理的,因此在使用文檔時,第一,程序員應嚴格遵循文檔當中的內容,包括規范和說明,以文檔內容為指導來編寫代碼,保證所編寫的代碼的正確性和準確性;第二,針對文檔當中存在疑問的部分要及時向相關人員反映,做好溝通工作,在商量出良好的對策之后對文檔進行改善;第三,針對文檔中存在較難的技術性問題,程序員應努力攻克,若問題相對嚴重,則應及時向上反映情況,避免敷衍了事,導致軟件產品質量下降;第四,做好需求文檔的可行性分析工作,包括開發成本分析和功能實現可行性,從源頭上提高軟件產品質量;第五,最大限度地使用已有的軟件功能模塊,以盡量減輕自身的工作員,縮短軟件的研發時間;第六,做好維護接口預留工作,以便于日常維護及軟件使用過程當中用戶可能遇到或是會出現問題的修復,以真正提高軟件質量水平。

4結語

在實際工作當中,相關技術開發人員應特別重視軟件需求分析,正確認識軟件需求分析與質量保證之間的聯系,嚴格律己,全面提升,以不斷提高軟件工程質量。

作者:趙偉 單位:南京模擬技術研究所

[參考文獻]

[1]來羽.軟件工程需求分析與質量保障[J].煤炭技術,2013(9):204-205.

[2]邱廷鈺.論軟件工程需求分析與質量保障[J].大科技,2013(36):347-347,348.

第4篇

隨著信息技術的快速發展,軟件的復雜度與規模呈指數級增長,給軟件的開發與維護帶來了極大的困難。因此,需要將系統化的、規范化的、可度量的方法應用于軟件的開發、運行和維護中,即將工程化方法應用于軟件。而傳統的計算機專業的人才培養模式主要面向理論研究,不能夠滿足軟件企業對工程實踐型人才的需求。為了解決計算機教育重理論、輕實踐的不足,國家教育部與發展計劃委員會于2001年新增軟件工程專業。目前,全國已經建立了一批國家與省級示范性軟件學院,很多高校也相繼開設了軟件工程專業,培養模式各具特色,尤其是國家級示范性軟件學院已經探索出了各具特色的培養模式,但是還是存在著重理論、輕實踐的不足,這一缺陷在地方院校的軟件工程專業尤為突出。由于受到資金支持、政策引導、師資建設等方面的限制,地方院校的軟件工程專業基本上都是從計算機科學與技術專業繁衍出來的,其培養模式很容易沿用計算機科學與技術專業的人才培養模式,不能滿足軟件企業的需求,主要存在重理論、輕實踐的問題,主要表現如下。

(一)教學方式單一化、理論化

軟件工程專業的特點是理論性與實踐性并重,特別是實踐性非常強,軟件工程的許多理論都來源于對實踐的總結與歸納。但是目前的教學方法還主要是沿用計算機科學與技術專業的教學方式,偏向純理論介紹,教學方式上還是以教師講、學生聽為主的“灌輸式”的“教授/接受式”傳統教學,學生只是被動接受,學習積極性不高。此外,很多教師缺少實際軟件項目的開發經歷,在教學過程中缺少必要的案例或者使用的案例不合適,妨礙了學生對軟件工程中基本概念與理論的理解,不明白可行性分析、需求分析、軟件設計的必要性以及不會撰寫所對應的文檔。

(二)實踐少,理論與實踐相脫節,學生動手能力差

目前很多高校軟件工程專業開設的理論課比較多,實驗課比較少,并且由于目前的專業教師大都是畢業后直接到高校工作的,缺少開發大型軟件項目的實際經歷,設計的實驗題目大都規模比較小并且比較零散,比如成績管理系統,學生可以直接進行設計與編碼,無需可行性分析、需求設計、軟件設計、進度安排等環節,也沒有必要撰寫相關的文檔。如此以來,學生不能夠加深對相關概念與理論的學習,沒有體會到軟件工程理論在實際軟件項目開發中的重要作用,導致學生面對實際軟件項目時無法下手,這直接影響到軟件工程專業畢業學生的市場競爭力。

(三)校企合作不夠

校企合作是實現高校軟件工程人才培養與企業需求無縫連接,培養高素質軟件人才的重要途徑之一,盡管目前很多高校的軟件工程專業都建立了校企合作模式,取得了不錯的成績,但校企合作存在著缺乏相應的政策引導、缺少雙方交流的平臺、企業積極性不高、合作松散、管理手段缺乏等問題。這樣就會出現高校培養的軟件人才動手能力差,無法滿足企業的需要,而軟件企業又找不到合適人才的尷尬局面。校企合作力度不夠在地方院校表現的更為突出,主要原因是地方院校的軟件工程專業在影響力與辦學規模上與國家級軟件學院有一定的差距,知名的軟件企業很少愿意與地方院校合作,另一方面,地方院校缺乏政策與資金的支持,缺乏尋求與企業合作的機會。

二、應用驅動為導向的人才培養模式的改革措施

軟件工程專業存在的重理論、輕實踐的弊端,使得培養的學生在校學習的知識不能形成一個有效的體系,也沒有機會將所學知識融于具體項目之中,同時也不清楚當前軟件企業對人才的真正需求。而另一方面,軟件企業希望新招聘來的員工能夠直接融入到項目的開發中,能夠解決項目中的實際問題。這樣就形成了高校培養的軟件人才“過剩”,而軟件公司所需人才“短缺”的矛盾局面。為此,本文提出了以實際應用驅動為導向的人才培養模式,以培養能夠在軟件公司的一線解決實際應用問題、能在實踐中應用所學知識、在實踐中創新的應用型人才,并對該培養模式的相關實施方法進行了探討。應用驅動為導向的軟件工程人才培養模式的基本保障是以實際應用為導向加強師資建設,該培養模式按照人類認識的規律,以解決實際問題為目標,的三個階梯式階段:案例式課堂教學,項目式綜合實訓,頂崗式專業實習。

(一)以應用為導向加強師資建設

師資建設是專業建的首位,教師在人才培養中起著不可替代的作用。目前,軟件工程專業的師資建設主要還是以理論研究為導向,多數教師從學校碩士或博士畢業后直接到高校工作,主要以理論研究為主,缺乏大型軟件項目開發經驗,不太了解軟件產業的新技術與新動向,從而在教學過程中出現重理論、輕實踐的現象,很不利于軟件工程專業人才的培養。以應用為導向的師資建設就是在現有的以理論研究為導向的基礎上,注重提高教師的實際動手能力,可以從以下3個方面做起:①改變傳統的以學歷和科研為導向的高校教師招聘方式,軟件工程專業應當招聘一批具有大型軟件項目開發資深經驗的軟件工程師,比例占師資總數的30%~40%為為宜;鑒于軟件技術的快速更新,應定期派遣教師到知名軟件公司的一線進行學習和培訓;倡導并且增加教師帶動學生參加研發類橫向課題的機會,提高教師與學生的實際動手能力。

(二)案例式課堂教學

改變傳統的“灌輸式”的“教授/接受式”教學模式,使用案例驅動式的教學模式,就是指教師本著理論與實際有機結合的宗旨,遵循教學目的的要求,以案例為基本素材,通過師生、生生之間的雙向和多向互動,讓學生把所學的理論知識運用于“實踐活動”中,以提高學生發現問題、分析問題和解決實際問題的能力。一方面,教師首先應準備一些引入型案例,例如,千年蟲問題,來說明工程化方法對軟件開發的重要性,并且提高學生的興趣;另一方面,教師應該準備好一個能覆蓋軟件工程的各個環節和階段、難度適宜的實際軟件項目案例,這個案例最好是教師實際參加過的或者熟悉的項目,并且有必要的軟件文檔,然后把這個案例作為一個實際情境,結合案例引入并講授各個知識點,必須要求學生撰寫相應的文檔和程序,然后與使用案例的已有標準文檔和程序進行比較,找到自己的不足,加深對知識點的學習與理解,做到理論與實際相結合。

(三)項目式綜合實訓

鑒于軟件工程專業的實踐性很強,應該以實際應用項目為驅動進行軟件工程的課程綜合實訓,讓學生按照軟件工程開發的流程去獨立地完成一個應用項目。首先,教師選擇一些中小型的,生活中經常接觸的項目作為綜合實訓項目庫,項目的選擇一定要難度適宜,太簡單體現不出軟件工程化開發方法的優點,但是也不能太難,難度控制在學生可以運用所學習的知識、技能,通過討論和合作可以完成,然后由學生人組成的小組從中選擇合適的項目。然后,每個小組模擬軟件企業中的一個項目開發小組,進行分工合作,由組長作為項目經理與指導教師溝通,指導教師模擬實際的客戶。最后,項目組嚴格按照軟件項目的開發流程來一步一步完成任務,應該包括可行性研究、需求分析、系統設計、實現與測試等階段。在每個階段學生應該提交必要的文檔,可以按照《計算機軟件文檔編制規范》(GB-T8567-2006)撰寫可行性分析報告(FAR)、軟件需求規格說明(SRS)、軟件(結構)設計說明(SDD)、軟件測試報告(STR)等。在每個階段,學生應利用流行的軟件工程工具,例如,Microsoft Project、RationalRose等。

(四)頂崗式專業實習

軟件工程專業培養的人才最終是面向軟件公司的,所以很有必要在第四學年時采用校企合作的方式,委派學生到軟件公司頂崗實習,時間根據實際情況以個月為宜。在頂崗實習期間學生要與正常的員工一樣完成企業的工作要求,真正在實際軟件開發中理解并應用前期學習到的知識與技能,實現自身能力的提高,成功地由學生角色過渡到職業角色。在實習期間,學生的管理以企業管理為主,學校管理為輔,學生、教師、企業三方根據實習項目的實際情況確定學生畢業設計題目的選題與設計,最終由學校的指導教師負責指導完成畢業設計論文的撰寫與答辯等事宜。

三、結束語

第5篇

關鍵詞:軟件工程;實踐教學;訂單式培養

1 引言

軟件工程課程是一門綜合性、實踐性很強的課程。學習該課程的主要目標一方面是讓學生掌握軟件開發的系統知識,包括其中的原理和方法;另一方面是讓學生初步掌握解決實際開發問題的能力,從而為將來走向軟件開發工作崗位打下堅實的基礎。為了解決上述兩方面的有效融合,很多大學都在進行軟件工程實訓模式的研究和訂單式培養等研究,也取得了很多研究進展。本文就是在研究上述內容的基礎上提出了一種一體化軟件工程教學方法,即滿足教育目標要求又符合社會對學生能力的要求。

2 軟件工程課程教學現狀

目前的軟件工程教學現狀,可以概述為課堂教學和實踐教學兩個部分。教師在課程教學中,普遍采用講授與實驗訓練相結合的傳統教學方法,即課堂上由教師講授理論、原理,實驗訓練時由學生動手設計一個項目。因此,該課程的教學存在許多的問題,主要表現在以下幾個方面:

從教學內容上看,目前軟件工程原理和方法較為抽象,學生較難理解,這是由于目前學校將軟件工程課程設置在大三的上學期,而在大一、大二主要圍繞著公共基礎課、專業基礎課進行。從學生角度來看,其剛剛掌握了一兩門語言、初步了解計算機體系結構的知識,很多同學還沒有進入到真正軟件開發的角色中去。特別是在學生時代還沒有開始或者剛剛開始準備考慮將來工作的事情的時候,軟件工程課程已經開始了。在沒有軟件開發基礎或者軟件開發只停留在編一小段代碼的情況下,很難理解軟件開發所涉及的這么多問題。

從教學方法上看,軟件工程課程以傳統的教學為主,實踐課為輔的教學方法,由于學時有限很難在實踐課上將所涉及的軟件工程原理和方法逐個地展示給學生,學生似懂非懂,當真正動手的時候卻不知從何入手,學生學習的效果差。

從實訓教學與訂單式培養看,實訓教學是將學生置入到模擬的實際工作環境中去,讓學生自己體會在軟件開發的不同崗位上的職責和應具備的能力與知識;訂單式培養是按照指定的企業工作崗位的要求來培養學生所需掌握的知識和技能。目前高校中這兩種方式所存在的問題是:實訓教學的形式化問題,實訓教學是讓學生按照軟件開發不同崗位所需要的技能和知識來進行,而不是給一個機房,讓學生在里面編程就解決了,實訓課不等于實驗課;訂單式培養的問題是學生知識面狹窄,雖解決了實際就業的問題,也培養了學生適應某個企業的崗位要求,但喪失的是學生應該具備的完整、扎實的知識體系。

3 一體化教學方法

為了解決上述三方面的問題,有機地將教學與實際結合在一起,既讓學生掌握全面、扎實的知識體系,又讓學生具備實際工作崗位要求的技能,綜合軟件工程教學方法應采取以下方法:

從課堂教學內容上看,結合軟件工程的不同階段,如:可行性研究、需求分析、總體設計、詳細設計、編碼、測試、維護等不同的軟件開發階段,在講述不同階段所使用的原理和方法的同時,要給學生講述每個階段的輸出,輸出的格式、標準。

從實踐教學內容上看,讓學生掌握在不同開發階段所需掌握的開發工具是什么,如何使用,這樣讓學生對軟件開發有一個深刻的感性認識,從而對軟件開發的過程有感性了解,避免了書本上抽象、難懂等問題。

課堂教學與實踐教學的統一,以實踐項目為例從項目開始進行可行性研究,講述軟件工程原理和方法,以及每個階段所產生的文檔或者代碼,文檔和代碼的標準內容是什么,到用實際的開發工具來進行可行性分析,如:使用Microsoft Visio繪制系統流程圖、數據流圖等,利用Rational Rose進行對象建模等。結合工具的使用,使軟件工程教學內容以看得到、摸得著的方式逐步地傳授給學生,激發學生的積極性、主動性及創造性。

軟件工程課堂教學可采用分組討論。軟件生命周期的可行性研究和需求分析環節都要求開發人員和用戶進行充分的交流。因此,在軟件工程的教學中可以讓學生參與教學過程,發表自己的看法,而且通過這種基于角色的討論,學生不僅掌握了需求分析的基本方法、充分認識了需求分析的重要性,最終會大大地激發學生的學習興趣和學習自信心。

4 結論

綜上所述,軟件工程課程是一門綜合性、實踐性很強的課程。要想取得好的教學效果,應該深入進行軟件工程的教學改革。利用新的教學方式,激發學生主動學習理論知識的興趣,提高教學效果。當然,學生也可以從教改理論和實踐的結合上,加深對軟件工程知識難點、重點的理解,進一步深刻理解軟件工程過程和系統消化理論知識,訓練項目設計的思路,鍛煉實際開發能力。

參考文獻

[1]Microsoft Corporation.office.省略/zh-cn/visio.

[2]宋波.Java Web應用與開發教程[C].清華大學出版社,2006.

[3]吳建,汪杰.UML基礎與Rose建模案例[C].人民郵電出版社,2007.

第6篇

[關鍵詞]軟件工程 項目驅動 教學改革

[作者簡介]范會聯(1971- ),男,重慶人,長江師范學院數學與計算機學院,副教授,碩士,主要從事軟件工程、智能信息處理的教學與研究工作。(重慶 408100)仲元昌(1968- ),男,四川南充人,重慶大學通信工程學院,副教授,博士,研究生導師,主要從事通信與測控系統、無線傳感器網絡等領域的教學與研究工作。(重慶 400030)

[基金項目]本文系2011年重慶市教委研究項目“基于RFID的校園安全防范系統研究與設計”的研究成果。(項目編號:KJ111304)

[中圖分類號]G642.3 [文獻標識碼]A [文章編號]1004-3985(2013)05-0147-02

軟件產業是信息產業的核心、國民經濟信息化的基礎,已經滲透到各個領域。相關數據顯示,我國軟件開發行業人才需要量已經超過30 萬人,并仍以每年20%的速度增加,其中初級軟件開發工程師的需求量就高達20 萬人,軟件服務外包、3G 研發的人才缺口更大。但讓人困惑的是,近年來失業率排在前10 位的專業中涉及計算機科學與技術。一方面每年相當一部分計算機專業畢業生就業困難,另一方面企業招聘不到對口的軟件人才,這說明學校培養的軟件人才與企業的實際需要存在較大差距。目前我國500 多所院校開設了計算機專業,培養方式各具特色,但培養適應企業需求的優秀軟件開發人員,仍是教學實踐中值得進一步研究和解決的問題。本文分析研究了軟件工程課程的特點及傳統教學實踐中涉及的普遍問題,提出在軟件工程課程的教學實踐中引用基于項目驅動的復合教學式理念,并從教學定位、教學內容、教學方法、實踐教學等方面進行了探索。

一、課程特點及教學定位

軟件工程是一門理論與實踐并重的課程,涉及內容廣泛,從工程意義上講,包括軟件開發、維護和管理等活動的總體;從學科意義上講,包括與軟件開發相關的理論、原理、方法和技術。ACMCC2001 草案把軟件工程學分為七大核心專題:軟件過程和軟件生命周期模型、需求分析、軟件設計、測試和評估、軟件進化、軟件項目管理、軟件工具和環境。為滿足社會對不同層次計算機專業學生在軟件工程方面知識和能力的要求,軟件工程課程應設計成一個多層次的課程系列。針對計算機專業應用型本科學生,將教學定位在兩個方面:一是從軟件生命周期的角度,講解軟件工程的基本概念、基本原理和基本方法;二是從工程應用的角度,講解系統性、規范化的通用開發技術。軟件工程課程教學應既重視理論知識和分析問題與解決問題的方法,又重視軟件工程實踐。課程教學目標是使學生掌握需求分析、概要和詳細設計及軟件測試與維護等內容,用軟件工程的原則、開發方法與技術實現中、小規模項目的開發與管理,使學生在基礎知識與技能、團隊協作能力、分析與解決問題、談判與溝通能力、創新與發展能力等方面得到良好的訓練,為將來從事大型軟件系統的開發與維護打下扎實的基礎。

二、傳統教學方法存在的問題

1.教學內容枯燥、抽象、陳舊。目前的軟件工程教材偏向純理論介紹,主要講解方法學,從結構化或面向對象的角度講解軟件開發過程的理論知識,缺少案例支撐。大部分學生對軟件項目概念的理解是建立在其他課程設計的基礎上,沒有軟件項目的經驗,因而妨礙學生對軟件工程中基本概念的理解,如可行性分析、需求分析、需求變更、過程管理、質量保障等,不明白為什么要做可行性分析、需求分析,以及需求變更的必然性及管理措施。隨著軟件系統向社會各方面的滲透以及軟件系統的規模不斷擴大,對軟件系統的質量要求越來越高,這對軟件工程課程的教學內容提出了新的要求。從內容上看,不僅要重視方法,還要重視開發工具與環境;不僅要重視開發過程,更要重視開發過程中的過程管理和質量保證措施,這些知識和技能,不能僅僅依靠書本和課堂教學來獲得。

2.案例教學中采用的案例不當。軟件工程的實踐性很強,教學時一般采用案例教學法,方法的成效取決于選擇的案例,案例如果選擇不當,則教學效果肯定不好。很多教師在教學時,由于缺少實際軟件項目的開發和管理經驗,導致案例的選取要么不貼近學生實際,如機票預訂、倉庫管理項目,學生缺少實際接觸經驗,因而理解困難或不感興趣;要么選擇的案例規模較小,如簡單的成績管理系統,在學生的角度來看,可以直接進行設計和編碼,不清楚為什么要進行可行性研究、需求分析;要么案例前后不連貫,如由于教師缺少實際項目開發經歷,導致可行性分析的階段選用機票預訂,需求分析用倉庫管理,而設計又選用人事管理等現象,導致學生對軟件項目、軟件工程沒有建立完整的概念,缺乏對所學知識的整體認識。

3.重講解、輕討論,缺乏實戰練習。軟件工程課程的實踐性要求很強,在傳統軟件工程教學過程中,教師一味講解軟件工程的基本原理、理論,或一味分析一些簡單案例,忽視了學生主觀能動性的發揮,沒有讓學生參與教材內容或案例的分析討論。雖然有實驗教學的要求,但一般只停留在組織學生編寫軟件項目設計文檔的單一環節上,由于學生沒有進行實際項目的演練,教學效果不理想。盡管這種以教師講授為主的教學模式,在課堂教學中使用了一些情境教學,但僅僅遵循原有理論教學過程模式,并未按典型工作任務模式完成情境教學,培養出來的學生缺乏自主探索知識的能力和運用知識解決實際問題的能力。因此,切實加強軟件工程教學的創新與改革至關重要。

三、項目驅動的復合教學模式

復合教學模式是以科學的教學理論為指導,依托分組教學、研討、協作、活動參與等多種教學模式的相互交叉、相互滲透,并融合多元化的教學內容、多樣性的教學形式、現代化的教學方法而形成的綜合性、立體性的教學模式。結合軟件工程課程特點,提出“項目驅動的復合教學模式”,以項目為主體,組織學生以團隊的形式參加項目分析、設計、實現和管理,在項目實施過程中,激勵學生自我認識,引導學生獨立思考與創新,營造討論爭辯的機會和氣氛,并以討論的形式鼓勵學生表達各自的觀點和思想,從而積極主動地參與分析、概括或評價等思維活動,將軟件工程的分析、設計、實現、管理等各個知識點的講解融入項目實施的各個階段。項目驅動的復合教學模式由以下幾個環節構成:

1.學生分組。學生按系統分析、設計、實現、測試的角色組成4~5人的開發團隊,選舉一人作為項目負責人,明確各自的分工和職責,并協作完成,以培養學生的團隊合作精神、溝通能力和協調管理等能力。隨著教學進度展開,把項目實施與理論教學結合起來。

2.確定項目。項目的確定分為教學案例和演練項目。教學案例是教師用于組織課堂教學講解的項目,由教師根據學生的特點確定。演練項目是在教師的指導下由小組根據各自的興趣、特長自行選擇,用于課后同步訓練。

3.教學內容及方法的改革。教學內容的選取以整合相關課程中相同知識點使教學內容更加精煉為指導思想,根據市場和企業對軟件人才的需求,將重要、經典的基本概念、知識點連同相應的技能串聯起來講授和實踐。軟件工程課程的教學內容將軟件過程模型、工程管理、需求工程、分析建模、軟件設計、軟件構造、測試以及軟件交付與維護為骨干,融入數據庫原理、計算機網絡、數據結構、操作系統等相關課程知識,按和J2EE兩個方向構建組合式、模塊化教學內容。在教學方法上,以培養學生的獨立思考和創新思維為目標,將理論知識融入教學案例的講解中,通過分析、演繹、推斷、歸納,引導學生認真分析項目中體現的軟件工程領域的問題,運用啟發式教學方法建立教師、學生雙向交互的教與學通道,啟發學生對軟件開發問題的認識和思考,激發學習的主動性,使其通過積極的思維和討論獲得知識。

4.演練項目的過程管理。演練項目作為課外同步訓練項目,教師以需求方與技術顧問的雙重身份參與其中。作為需求方,教師針對演練項目提供大致的功能需求,鼓勵學生通過分析問題、調查研究、分析需求和管理需求等活動,學習軟件需求工程的基礎知識和基本技能。作為技術顧問,教師為學生提供相應的學習資源和解決問題的方法及手段的建議,引導學生獨立思考和討論。演練項目的實施按項目規劃、迭代開發兩個階段組織進行。在項目規劃階段,完成定義項目開發過程模型、定義項目組織結構、分配人員角色、估算項目規模、制訂進度計劃。迭代開發階段是由需求分析、軟件設計、數據庫設計、模塊開發與測試各環節組成的循環逐步求精的過程。整個演練項目的實施要求在規范的、可控的過程中完成,具體保障措施如下:一是明確開發任務并落實到小組的每個成員,由項目負責人填寫任務跟蹤表,監督任務執行情況,小組各成員通過不同角色的任務分工,共同協作完成項目開發任務;二是實行每周例會制度,保證所有成員在規定時間進行討論交流;三是將需求分析、軟件設計、模塊開發、集成測試等關鍵階段產品置于配置管理的控制下,并實行階段評審機制,要求各項目組在完成每個里程碑的任務后,提交相應技術文檔,推薦一名代表就該階段完成工作情況、遇到的問題及解決方法作小型匯報,并組織學生進行技術評審。

5.演練項目驗收。在完成演練項目的開發任務后,由教師組織項目驗收討論會,要求每個小組演示項目成果,從系統背景、團隊介紹、采用的技術、系統優勢及存在問題等方面匯報,演示系統的各項功能,回答教師和同學的提問,以團隊的形式提交軟件需求規格說明書、軟件設計文檔、項目代碼、軟件測試文檔、軟件過程管理文檔、每周工作報告以及任務跟蹤表等材料。

6.課程考核。課程考核分為理論考核和實踐考核兩個方面。理論考核采取開卷考試,要求學生在規定時間內完成給定案例的分析和設計方案,重點考核學生思考、分析和解決問題的能力;學生的實踐考核成績由小組成績和個人成績兩部分組成,小組成績根據各小組提交的演練項目結題材料,并結合項目驗收匯報情況進行評定;個人成績根據每周工作報告和任務跟蹤表由小組組長和教師進行綜合評價。

進行教學改革的最終目的是培養符合市場和社會需求的創新型軟件人才,在基于項目驅動的軟件工程課程復合式教學模式下,培養的人才具有扎實的理論基礎知識,通過相關知識的組合式、模塊化的理論教學方法,強化學生的認知,使其更牢固地掌握理論知識;具有獨立思考和基本的創新能力,在復合式教學過程中,通過引導、啟發學生分析問題,積極思考和討論,培養學生的獨立思考和自主創新能力;具有團隊協作精神,以項目驅動小組協作開發,培養團隊合作精神。在項目進行的各個階段,要通過明確任務、落實責任、任務跟蹤、協作開發、定期討論、階段評審和項目驗收各個環節的協同工作,達到培養學生的團隊精神與合作意識的目的。

[參考文獻]

[1]李超,謝坤武,向軍.軟件工程課程教學內容及方法探索[J].計算機時代,2010(7).

[2]教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業核心課程教學實施方案[M].北京:高等教育出版社,2010.

[3]龐雄文.基于實例的“軟件工程”課程教學方法[J].現代教育技術,2010(S1).

[4]溫穎,周昕.項目教學法在軟件工程教學中的應用[J].科技信息,2010(24).

第7篇

【關鍵詞】數據庫軟件工程作用設計

一、前言

目前,數據庫設計過程中最常用的方法就是根據設計要求,順序或獨立地完成物理結構和邏輯結構的設計。由于這兩種結構是使用復雜的映射進行聯接的,所以設計的數據庫結構比較差,這種結構的特點是不靈活、效率低,這主要是設計過程的復雜性造成的。因此,在數據庫設計中引入軟件工程技術具有積極的意義。本文主要對數據庫設計過程中各個階段的軟件工程技術進行了介紹,并與數據庫設計的實踐相結合,分析了軟件工程技術對數據庫設計的作用。

二、軟件設計周期中的工程技術

(一)軟件的生存周期

軟件生存周期通常包括要求分析、規格說明、設計、編碼、測試和維護六個環節,前兩個環節主要是針對用戶的要求,明確"做什么",而后面幾個環節則是針對計算機系統,明確"如何做"。

在軟件設計的過程要尤其注意以下幾個問題:

1、軟件的設計是為了人們更好的處理問題;

2、軟件設計結果是供人們使用的產品;

3、軟件設計和系統工程的聯系非常密切;

4、所有設計都要采用結構化方法;

5、設計驗證過程要貫穿軟件生存周期的始終。

(二)規格說明書

在規格說明環節,要根據用戶需求輸入數據,整理出對應的規格說明書,然后按照一定形式把用戶"要求"表達出來,不允許出現二義性。這在軟件開發過程中具有十分重要的意義。實踐證明,應用結構分析方法對規格說明書進行設計是必要的,其設計步驟如下:

1、以用戶活動圖為基礎,建立數據流程圖;

2、設計數據項圖。

其中,流程圖主要包括數據流名與加工活動名兩部分,而數據項圖則包括許多名特表。流程圖中的所有名字都能夠在數據項圖中查找到相應的名特表。

(三)軟件設計

設計階段的主要任務是將規格說明書的內容翻譯成基本的系統元素--軟件、硬件、人、以及各部分間的通訊。這四個基本實體都保存在信息系統中。

軟件設計過程中首先要對軟件、硬件、人和固件等各個部分的功能信息進行收集,將規格說明書數據輸入系統,構造反映用戶需求的基本功能,并重復進行下級功能的設計。

根據軟件設計開發的特點,除應用系統工程技術以外,還要注意以下幾點:

1、為有效控制軟件系統的研制復雜性,需要應用一些規范對設計人員形成約束;

2、基于相應規范,明確"什么時間做","怎么做";

3、設計多個方案,明確規定選擇標準。

其次,要對軟件系統結構進行設計,這是一個層次化模塊結構,及程序結構圖。

三、數據庫設計中的軟件工程技術應用

應用軟件工程技術對數據庫進行設計主要包括如下過程:

(一)可行性分析階段

該階段主要針對現有的計算機系統和人工進行分析,從經濟、技術、操作可行性等多個方面進行考察,判斷系統能否勝任開發的任務。在本階段,需要撰寫可行性報告。

(二)項目開發計劃制定

在系統可行的前提下,分析員要著手制定相應的項目開發計劃,計劃要對系統開發中的人員組成情況、人員分配情況、項目開發進度、項目驗收標準和開發關鍵問題等進行介紹。數據庫系統開發過程中的用戶界面設計十分重要,一個單板的系統界面無法獲得客戶的認同,因此,要將界面設計師考慮在內。

(三)需求分析

數據庫系統的需求包括對數據的需求分析、對系統功能的需求分析、對系統性能的需求分析、對運行環境的分析及未來可能的升級需求等內容。該階段需要完成系統設計的需求分析報告。

(四)數據庫設計

數據庫設計是數據庫系統開發中的重要內容,數據庫的設計質量會對應用系統的實現效果和效率產生至關重要的影響,而好的數據庫結構不僅能夠提高數據的存儲效率、數據的一致性和完整性,也更加有利于數據庫系統程序的實現。

首先以數據需求分析為基礎,對數據庫的概念結構進行設計,進而實現滿足用戶需求的各類實體和它們間的關系,并在此基礎上繪制系統實體聯系圖。然后,對數據庫的邏輯結構進行設計,把在概念結構設計過程中建立的E-R圖轉換為數據庫管理系統(DBMS)支持的數據模型,并以實體及實體間關系為基礎形成數據庫中的各個表和表關系。

數據庫的物理結構設計包括物理設備的數據存取方法和存取結構設計。通常由兩個環節構成,首先是對數據庫物理結構進行確定,然后對結構的空間和時間效率進行評價,進而綜合考慮數據庫的物理結構是否合理。

(五)概要設計和詳細設計

總的來說,系統的概要設計需要經歷兩個階段,一是確定系統的實施方案,二是設計軟件結構,而詳細設計則要確定如何實現具體的系統,這部分主要是設計程序框架,而不是編寫程序。

四、結語

本文主要根據軟件工程技術的開發流程對數據庫應用系統的設計進行了討論。數據庫應用系統在設計開發過程中引入軟件工程技術能夠提高數據庫設計的效率,增加數據庫的靈活性和可用性,對提高數據庫的設計質量具有積極的意義。

參考文獻

[1]伍華健,劉力,洪月華.軟件工程在軟件開發過程中的應用研究[J].玉林師范學院學報.2006(03).

第8篇

[關鍵詞]軟件工程 項目導向 啟發式 教學模式

[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2015)11-0165-02

一、引言

隨著軟件工程和物聯網技術在各領域的廣泛應用,軟件工程開發的規模也在日益增大,因此,對軟件設計及運行維護人員的工程能力要求越來越高。而在大多數計算機和軟件工程專業的課程設置中,對學生的軟件設計、開發及運行維護能力的培養往往只體現在軟件工程這門課上,如何通過軟件工程的教學最大限度地提高學生的實踐能力是擺在我們教學中的一個重要課題。鑒于此,我們提出了基于項目導向的啟發式軟件工程教學模式,以最大潛能的提高學生的學習積極性,增強學生的實踐開發能力。[1]

二、目前教學中存在的主要問題

(一)教學內容較抽象,方法單一

目前的軟件工程課堂教學主要以教師課堂授課為主,又以理論講授為主,忽視了學生主觀能動性的發揮,大部分學生對軟件工程的理解為只要掌握了基本概念、原理,就能達到軟件工程課程的要求。單一的課堂授課、枯燥無味的理論加上較抽象的內容無疑影響了實際教學效果。[2]隨著軟件規模不斷擴大以及不斷向各領域的滲透,對軟件質量保障要求越來越高,這對軟件工程課程的教學內容及教學模式提出了新的要求。從教學內容上看,我們既要注重軟件設計的基本原理與方法,同時還要注重軟件開發的整個過程與軟件的質量保證措施。

(二)實踐教學環節薄弱

軟件工程是一門理論性與實踐性比較強的綜合性課程,很多軟件工程學院只注重理論課程的教學,教學內容比較抽象,學生幾乎沒有實踐的機會;有的學院雖然設有一定比例的實驗課程,但課時比較少,幾個實驗下來,學生也只是能撰寫一些相關的文檔資料,沒有真正體會到軟件工程在軟件開發中所發揮的作用。

(三)教學中采用的案例缺乏完整性和實用性

部分教師在教學時,由于缺乏實際軟件項目的設計、開發及項目管理的經驗,導致教學案例的選取偏離學生實際,即使講授一些例子,由于學生缺少實際開發經驗,也很難理解軟件開發的全過程。有的教師所選案例要么規模較小,如簡單的學生成績管理系統。在學生看來,不需要完全遵循軟件工程的設計過程,如不需按可行性研究等三個時期8個階段來執行,而是直接進行設計和源代碼的編寫,學生還不清楚可行性研究和需求分析的目的及意義。這導致學生對軟件項目、軟件工程沒有建立系統完整的概念體系,缺乏對所學知識的整體認識。[5]

三、項目導向的啟發式教學模式

針對上述問題,要使軟件工程的教學真正能充分調動學生的積極性,改變以往難學、難教的局面,不斷提高學生的實踐動手能力,有效地改善教學效果,我們必須從教學理念的更新、教學模式的改革等方面著手。由于軟件的不可預見性,定義“需要做什么”成為軟件開發的根本問題。

項目導向的啟發式教學方法是在建構主義學習理論基礎上,有別于傳統教學的新型教學方法。建構既是對新知識的理解與掌握,同時又包含對原有經驗和知識的改造和重組,形成新的綜合知識建構。該方法提倡以學生為中心,教師在整個教學過程中起組織者、指導者和促進者的作用。[3]

(一)理論教學

基于項目導向的啟發式軟件工程教學過程主要包括軟件項目的選取、教學內容的選取及教學方法、教學組織,整個過程是教師與學生相互討論、共同參與的過程。

1.教學內容的選取。項目導向的啟發式教學關鍵是選擇好設計開發的項目,所選項目要與所講授的內容息息相關,教學內容選取要以教學大綱以及人才培養目標為依據,所選教學內容的理論與技術應包括課程的核心知識點,確保理論與實踐能緊密結合在一起,同時保證所選案例是可實現的,學生容易理解的,具有一定規模且可操作性比較強的。

軟件工程的教學內容主要講授將軟件過程模型、可行性研究、需求分析、軟件設計、軟件構造、測試以及軟件維護等內容,同時融入數據庫設計、數據結構設計及網絡拓撲結構設計等相關課程知識,按照面向數據流和面向對象兩個方向構建組合式的、模塊化的教學內容。

在教學的開始階段選擇一些典型的“軟件危機”案例作為這門課程的導入,如Ariane5火箭、美國愛國者導彈防御系統曾經應用于海灣戰爭對抗伊拉克的飛毛腿導彈等,讓學生們真正了解軟件失敗問題癥結所在,認識到軟件的本質特性造成了軟件開發的諸多問題,軟件本質上的復雜性使軟件產品難以理解,影響軟件過程的有序性和軟件產品的可靠性,并初步建立規范化的軟件開發意識。

在教學過程中,選取1-2個典型的,具有一定規模的案例(如高校教務管理系統)作為典型案例,分別采用傳統的結構化設計方法和面向對象的設計方法,分別講授軟件生命周期中的可行性研究、需求分析、總體設計、詳細設計、編碼實現及測試等核心過程,并著重介紹每個階段中要重點解決的問題,以及所采用的方法和工具。[4]

2.教學方法的設計。在教學方法上,以培養學生獨立思考和創新思維為主要目標,以項目為主體,組織學生以團隊的形式參加項目分析、設計、開發和運行,啟發式的將抽象的理論知識融入教學實踐的講解中,通過分析、模擬、仿真,引導學生分析項目中所體現的軟件工程本質的問題,讓學生真正能掌握軟件工程的設計思想。[3]

(二)實踐教學

在課堂講授的同時,每個環節我們都配備了相應的實驗環節,實驗教學與課堂教學保持同步進行,以更好地激發學生的學習興趣,鞏固所學的理論知識,真正掌握軟件工程的設計、開發和維護管理的全過程。

軟件工程項目實踐教學的實施包括項目實踐教學方法、項目實踐內容和項目實踐要求。項目實踐進度與課堂教學同步,項目組根據項目需求,制訂項目計劃,進行分析與設計,進一步熟悉軟件開發過程及方法,同時提交規范的軟件分析與設計文檔。學生在鞏固課堂所學的理論知識的基礎上,結合實際項目進行實踐,使學生的應用能力、合作能力和全局觀念等專業素質得到有效提高。[3] [5]

1.學生分組。學生按照項目的分析、設計、編碼實現、測試各個角色組成2-3人的開發團隊,同時選取一人作為項目負責人,同時明確各自的分工,并協作完成,以培養學生的團隊合作精神、溝通能力和協調管理等能力。

2.項目設計。各小組首先應選擇一個比較了解且具有一定規模的實際MIS管理系統,便于學生進行現場調研,獲取準確而可靠的需求,也可參與到教師的科研項目中,然后嚴格按照軟件工程的設計思想、軟件過程的規范,獨立完成項目的可行性分析、需求分析、設計、實現與測試。各小組在每個階段結束后應提交相應的設計文檔,教師對其進行檢查并在全班討論交流,對檢查中發現的問題和不足,要進行改進和完善,然后進入下一個階段的設計,直至最終提交產品,完成各階段的任務。

3.模擬演示。在項目結束后組織答辯與演示,首先由小組長對項目的功能及基本情況作一個簡要講解,并介紹其本人在項目中所做的工作。然后讓每個同學說明在整個項目開發過程中自己所完成的任務,并進行演示。教師在其間可以針對每個同學在項目中實際負責的部分進行提問,現場進行評分并計入期末總成績,最后項目組提交系統和設計的總體報告。[5]

四、結束語

基于項目導向的啟發式軟件工程教學模式提高了學生的主動性和積極性,采用理論與實踐相結合、案例講解、項目實踐并重的教學模式能真正讓學生理解掌握基本理論。同時,學生又經歷了軟件開發的全過程,鍛煉了學生對MIS管理系統的分析設計能力、編程測試能力和軟件維護的能力,真正做到了學以致用,有效解決了以往軟件工程教學中存在的理論與實踐嚴重脫節、學生學習興趣不高等教學難題,取得了較好的教學效果。

[ 注 釋 ]

[1] 郁書好,蘇守寶,劉正余,等.基于項目驅動的軟件工程教學模式研究[J].皖西學院學報,2009(10).

[2] Jacob Sukhodolsky.Teaching So ftwar e Eng ineeringTo Under gr aduates[C].Pro ceeding s of the 2003 Int ernationalCo nfer ence o n Informat ion Sy st ems and Eng ineer ing,Montreal,Quebec,Canada pp.165-173,2003.

[3] 秦放等.案例驅動與項目導向結合的軟件工程課程教學模式[J].計算機教育,2013(5).

第9篇

關鍵詞:軟件工程方法;醫療;軟件開發

隨著我國社會經濟的逐漸發展,科學技術的不斷進步促進生產力提高,各行各業都開始應用先進技術。在醫療系統,近年來在高新技術的運用下,已廣泛部署了醫院信息系統(HIS),其中包括病理信息系統(PIS)、影響歸檔和通信系統(PACS)等一系列信息系統與信息技術平臺。這些新平臺的運用極大提高了醫院的工作效率,簡化了醫院的辦事流程。研究現代軟件工程方法在醫療軟件中的應用,對于今后及相當長的一段時間內醫療軟件的發展具有重要的理論和現實意義。

1現代軟件工程特點

現代軟件工程是當前科學技術在軟件領域的一個重要運用。它依托于計算機技術為主的硬件和互聯網為載體的軟件,在軟件開發方面實現了系統化、規范化和可定量化。而在醫療系統方面的運用,主要體現在較為廣泛運用的醫院信息系統(HospitalInformationSystem,HIS)。HIS與傳統醫療軟件工程相比,具有顯而易見的特點,其具有包括適用性、有效性、可修改性、可靠性、可理解性、可移植性等一系列重要特性。HIS的這些特點保證了其在醫療相關行業及系統中的有效合理運用,HIS是目前運用較為廣泛的醫院信息系統。

2醫療軟件工程方法

相當于企業生命周期的理論,軟件生命周期在軟件工程思想中也是一個非常重要的概念。它指的是軟件工程開始開發到報廢的全部過程,這一系列過程中包含了項目的各個不同的階段。包括可行性研究、項目開發、需求分析、概要設計、詳細設計、編碼、測試和維護這7個階段,通過了解這些不同的階段,對于整個軟件工程就有了更加詳細的了解。同時為了更好地了解軟件生命周期的活動,又提出了瀑布模型、循環模型、演化模型等一系列模型,瀑布模型是當前較為廣泛采用的一種模型,它通過對于每個階段不同的循環反饋,來對開發過程中出現的各個階段的循環實現動態反饋,最終開發出滿足醫療業務需求的軟件系統。

3案例分析

3.1醫院PIS開發案例

PIS全稱是PathologyInformationSystem,譯為病理信息系統,是將病理報告分析流程納入醫院統一信息化平臺中的一個一體化信息系統,在該系統中可以將病理報告分析流程納入醫院統一信息化平臺中,規范病理檢查工作流程,并對數據進行統計與分析的一個綜合病理信息系統,具有綜合性和系統性。PIS在某市醫院中具體應有的案例情況如下,該項目于2010年正式啟動,經過兩次開發,在2012年卻宣告失敗和破產。該項目開發中,合作的軟件公司宣稱具有相對成熟的PIS產品,該公司派出了一名工程師到醫院進行開發和部署,工程師與醫院相關技術部門人員進行交流后,根據提出的相關意見對軟件進行修改,然后將修改后的軟件放到病理科試用,然后讓試用人員提出相應的修改意見。病理科工作人員在實際應用的過程中發現,對軟件的實際期望值與理想值存在較大的落差,對于軟件的使用非常不滿意。后續軟件公司和醫院相關人員本著達成共識的想法,召開了協調會,隨后又根據醫院工作人員的要求對軟件進行了數次修改,但始終無法達成共識,不得不以軟件開發失敗告終。從這個案例可以看出,這次軟件開發的失敗不僅僅是軟件公司一方造成的,雙方都有責任。這個案例也給了我們啟發,在軟件開發的過程中,要統一安排和規劃,要明確人員職責分工,在開發者與使用者之間要建立良好的溝通機制,同時對于開發的工作量,要進行定量和定性的分析,并得出綜合性的結果。這些都需要我們在開發軟件時參考和借鑒。

3.2醫院監護系統開發案例

在經歷了PIS項目開發失敗之后,總結經驗,在后續的醫院監護系統開發過程中要求嚴格遵循軟件工程開發的思想。在開發之前,首先對系統進行了可行性分析,分析了醫院監護系統開發的優勢、劣勢,并且提出了在開發過程中可能會遇到的一些問題,給予重點關注。隨后,對于用戶的需求進行了詳細的論證和充分的調研,通過數據處理、調研問卷和訪談的形式,充分了解用戶需求。隨后,對于要開發的軟件系統進行了功能模塊需求分析,根據各模塊對不同用途的開發者進行劃分,然后在統一的大框架、格式和規范中進行功能模塊開發和結構開發,確保了各功能模塊結構清晰和完整統一。隨后,在軟件開發的測試階段,嚴格根據現實中各種數據需求,按照現實標準采集大樣本的數據,以保證測試結果真實可靠,能夠對軟件的后續改進提供可操作和可實施的建議。在這樣的嚴格要求下,該軟件的開發取得了成功,并且在醫院臨床上得到了推廣,且得到了一致好評。

3.3對比分析

通過前面兩個案例對比分析,可以總結參考性的建議。首先,開發前進行充分的需求論證和分析是必須的,這對后續軟件開發的目標和導向提供了較為詳細的參考和建議。其次,在充分調研的基礎上,還要系統了解臨床用戶的需求,只有充分了解用戶的需求才能明白軟件的開發和研究方向。在軟件的具體開發過程中,要嚴格按照計劃進行,成立項目組,需要醫院相關工作人員參與,他們對于軟件應有豐富的了解和切身的體驗。最后,在開發過程中應注意與使用者的溝通,建立良好的溝通機制,使用者在試用軟件過程中遇到問題隨時與軟件開發者進行溝通,很多情況下,用戶能夠發現開發和測試人員沒有考慮到或者測試出的不合理流程或操作,通過反饋問題進一步優化程序。

4結語

在醫療軟件開發中,運用現代軟件工程方法,借助于現代高新技術,能夠針對醫院臨床需求開發出適用的信息系統,保證醫院臨床業務和管理工作的流程和具體化。軟件工程的初衷和目的是提高臨床工作效率,在這個思想下,才能保證大型軟件系統的開發獲得成功。

參考文獻

[1]田柯,耿仁文,林凱程.院內會診存在的問題及對策分析[J].現代醫院,2011,2(11):110-111.

第10篇

關鍵詞:軟件工程;教學方法;階段教學法

中圖分類號:G642文獻標識碼:A

“軟件工程”是軟件工程專業的重要專業課程,也是計算機科學與技術、計算機應用等相關專業的一門專業必修課,是指導計算機軟件開發與維護的一門綜合性課程。它包括方法、工具和過程三要素,以質量保證為基礎,涵蓋了軟件生存周期的所有階段,包括計劃、分析、設計、實現、測試、集成、交付、維護等。學生通過學習,能夠系統全面地掌握軟件開發的基本原理、方法、技術和過程,為更深入地學習和從事軟件工程事業打下基礎。

1研究現狀

“軟件工程”不同于一般的專業課程,它為擺脫軟件危機而生,為適應軟件行業的發展而生,是理論課,更是一門實踐課。采用傳統教學方法,這門課的教學效果往往不是很理想,教師覺得這門課教起來較困難,多數學生也覺得枯燥無味,很難達到較好的教學效果。因此,很多教師對軟件工程的教與學進行研究,文獻[1~5]提出一些可行的教學模式,主要有以下幾種:

(1) 啟發式教學:在教學過程中,以學生自主學習和合作討論為前提,以教材為基礎,在教師的啟發下,學生自由表達觀點、置疑探究問題,并通過個人、小組、集體等多種形式的解難釋疑活動,用所學知識解決實際問題的教學模式。

(2) 能力驅動教學:教學工作的展開以提高學生能力為主要目的,以學科知識的進化、應用能力的強化和人才素質的優化為基礎,培養強內力人才的教學模式。

(3) 項目驅動教學:教學之初,請具有豐富軟件工程實踐的項目人員與教師共同制定2~3個中型軟件項目工程,規模適中。制定項目工程時遵從實用性原則,并且密切聯系日常的工作學習實踐。

(4) 情景法教學:學習者進行學習必須依據個人的學習目標主動操作探究,能主動與環境進行互動協調,以建構所需的知識。教師必須在情境脈絡中幫助學生發現與選取問題,調動學生的學習動機,最終引導學生自己解決問題。

(5) 案例法教學:向學習者提供案例研究的學習環境,包括從實際案例中選取資料。讓學習者以調查員的身份去了解案情,通過對資料的收集、分析、決策,最終對問題予以解決,得到可行的結論。

這些方法都能在一定程度上幫助學生提高學習效果,但是也存在一定缺陷,如啟發式教學缺乏對實際項目中出現的多種問題進行分析,項目驅動教學難以把握項目大小,案例法教學缺乏學生自主參與等,不能讓學生全面感受軟件開發的全過程,不利于學生認識各個階段出現的問題。在充分研究“軟件工程”教學內容及實際應用的基礎上,我們提出了階段教學法,即根據軟件開發各個階段的不同特點采取不同的教學方法。

2階段教學法

2.1階段教學法教學模式

階段教學法的培養目標是:建立將軟件開發作為一個生產過程的概念,掌握軟件工程的需求分析、系統設計和實現、軟件測試等專門的工程技術方法,了解軟件產品管理、項目管理、質量管理、過程控制等基本過程,感受作為一個開發者同時也是過程控制和管理者所必須注意的各個環節要點。具體措施是:理論與實踐兩手抓,兩手都要硬。一方面強調理論學習的重要性,理論學習是指導實踐的基礎;另一方面強調實踐的重要性,只有通過實踐活動才能掌握軟件工程的精髓。

由于大部分學生第一次接觸軟件工程,第一次開發軟件,采取開發階段清晰,易于評審、跟蹤、管理和控制的瀑布模型容易讓學生了解和掌握軟件開發的整個過程。但傳統的瀑布模型可維護性差,需要對瀑布模型進行改進,即采取變形的瀑布模型――“V”字模型,并在每一個階段都加入測試,以便及時改正錯誤(圖1)。在可行性分析及需求分析階段采取情景法教學,根據學生的項目選擇情況,在學生完成項目調查分析的基礎上,小組內部模擬客戶與開發人員進行交流、討論。在系統設計階段采取啟發式教學,以一個典型的系統作為切入點,具體分析如何根據需求分析進行系統設計,然后讓學生充分消化、吸收,啟發他們設計出自己的系統。在詳細設計及編碼調試階段采取項目驅動教學,讓學生根據系統設計階段的模塊劃分選取最優的設計,然后設計模塊內部結構,并用某種編程語言實現。測試階段主要采取案例法教學和啟發式教學在單元測試階段,檢測代碼的開發是否符合詳細設計的要求,并改正詳細設計階段出現的問題;在集成測試階段,

檢測此前測試過的各組成部分是否能完好地結合到一起,并改正系統設計階段的不足;在系統測試階段,檢測已集成在一起的產品是否符合系統規格說明書的要求,并修正需求分析的錯誤;在驗收測試階段,檢測產品是否符合最終用戶的需求,并添加用戶新增的功能、改正錯誤的功能;在試運行及維護期間,及時完善系統功能,提高系統性能,再次檢查各階段的錯誤和不足,并加以修改,直至滿足用戶要求。

2.2階段教學法的實施

階段教學法在實施過程中,必須做好以下工作:

(1) 教師要做好統籌規劃。“軟件工程”對教師的要求較高,教師不僅要講授理論知識,而且要把握教學進度,根據每一階段采取不同的教學方法,并充分準備各階段教學的相關資料。教師應該在講授軟件工程相關知識點的同時,花更多的精力和時間,教會學生如何理解和把握軟件開發過程,對教學內容、形式和考核方法進行綜合設計。根據學生的學習階段,科學地安排相應領域知識點的出現順序,使學生在課堂教學和項目實踐的適當環節上恰到好處地體會和獲得相應的知識,并取得自身真實的感受和經驗。這就要求教師不僅要有一定的軟件開發經驗,而且要具備一定的項目和工程背景。這樣授課才能切合實際,更好地運用階段教學法。

(2) 搜集學生感興趣的項目,并進行篩選。很多學生選擇的題目缺乏可操作性、趣味性和適當的難度。這些題目沒有經過詳細的可行性分析和需求分析,不能保證完成實驗。因此教師必須對學生自選項目進行篩選,也可以由教師給出一些綜合實驗項目。

(3) 制定項目完成的標準。目前,項目是否成功完成主要參考需求說明書和最后運行情況,但需求說明書又因系統難易程度和學生的主觀因素存在很大差別,因此,如何評判題目的完成情況,不能采用統一的標準,要根據學生選擇的項目分別對待。

(4) 及早布置課程項目。理論學習和課程項目相結合,隨著課程進展布置任務。學生自愿結合,3~5人組成一個項目小組,教師指導他們進行分工合作,學習軟件開發組織和管理,明確項目開發各階段的任務,熟悉軟件開發環境,培養團隊精神。通過調查研究、可行性研究、需求分析、概要設計、詳細設計、編碼、測試、維護(版本升級)及技術文檔的編寫,共同完成該項目的設計及實現。在課程項目開發過程中,要引導學生提高完成實驗的積極性,激發學生進一步鉆研的斗志;鼓勵學生進行自主學習,如撰寫小論文和專題報告,讓學生跟蹤該領域的最新動態。

(5) 項目開發過程中,教師扮演“用戶”和“項目顧問”的角色,學生則是各項目組的“開發人員”,而開發小組的組長則要模擬“項目經理”的角色,進行交流討論。

(6) 課程項目成績評定。項目完成后,每位同學要進行答辯。每一個小組指派一個同學,對設計的項目進行答辯,其他同學可以補充。教師的主要任務是檢查,一方面檢查小組的完成情況,一方面檢查每一位同學的工作。由教師和其他小組進行評分,取平均分得到小組成績,小組長根據工作量給出組員的個人成績。綜合小組成績和個人成績,得出學生的最終實驗成績。

階段教學法為學生提供了發現問題、分析問題、解決問題的空間,既強調了軟件工程的基礎知識,也注重培養學生的分析設計及實踐能力,同時調動學生的積極性、創造性。在半年的學習期間,學生夜以繼日地工作,加深了對軟件工程化含義的理解;在設計過程中,能自覺運用標準化、規范化和可度量的原則;在小組的交流合作中,加強了團隊精神,鍛煉了溝通與動手能力。

2.3進一步實施的設想

階段教學法在實施過程中也出現了一些問題,通過對問題的分析研究,提出下一步教學的設想:

(1) 更新教育觀念:加強先進教育理論研究,分析企業對軟件人才的需求。根據企業需求,不斷更新教育觀念,努力使教學模式、教學方法與國際接軌,科學地建立面向市場的開放式軟件工程人才培養模式。

(2) 加強教材建設:教材是教學內容的載體。相對基礎學科,計算機領域發展非常迅速。教材也需要緊跟時代的發展,不斷更新。因此必須把教材建設納入“軟件工程”教學改革的研究范疇。

(3) 學習資源建設:充分利用網絡資源,建立軟件工程資源網站,調動師生力量,力爭把最優秀、最全面、最新穎的軟件學習資源與師生共同分享。一方面完成與其他軟件工程相關網站的搭建,學習他人經驗;一方面鼓勵師生進行作品原創,供他人學習、借鑒。

(4) 校企聯合:加強學校與國內外產業界的交流與合作,完善以工程實踐為核心的“邊學習、邊實踐―再學習、再實踐”螺旋式新型工程型人才培養流程,實現校企雙贏。

(5) 組織軟件工程相關講座。邀請有項目開發、管理經驗的教師或科研人員做軟件工程相關方面的講座,介紹他們在軟件開發、管理過程中的經驗與體會,對軟件工程的發展趨勢、最新動態等進行指導。

3小結

在“軟件工程”教學中采用階段教學法,必須把握好教學進度,并及早安排好課程設計,讓學生在學習理論的同時開展課程設計。這樣,當理論課講完時,課程設計也基本結束,學生才能從理論和實踐的結合上加深對軟件工程知識難點、重點的理解,進一步深刻理解軟件過程和系統,消化理論知識,訓練項目設計的思路,鍛煉實際開發能力,培養嚴格規范的項目開發方法和步驟,體驗文檔編寫整理、階段性評審總結以及軟件測試等各個方面的工作流程,更好地理解、掌握知識,運用所學,服務社會。

參考文獻:

[1] 林惠強,劉財興,林丕源.“軟件工程”課程啟發式教學的研究與實踐[J]. 計算機教育,2008(11):40-42.

[2] 夏小娜,曹寶香. 《軟件工程》教學的“三段論”定位與“能力驅動”[J]. 現代教育技術,2007,17(8):109-111.

[3] 戚世貴,徐盡,張泊平. 軟件工程的項目工程實踐驅動教學改革[J]. 時代教育,2008(3):86.

[4] 黃萍. 情景法在《軟件工程》教學中的應用[J]. 現代計算機,2007(6):52-53.

[5] 殷美桂. 案例教學法在軟件工程教學中的應用[J]. 福建電腦,2008(5):201.

Research on Teaching Method in Software Engineering

GE Wen-geng

(Huanghuai University, Zhumadian 463000, China)

第11篇

【關鍵詞】 信息系統 工程項目 可行性

前言:在工程項目中,信息系統地位斐然,作為高科技的產物,發展意義重大。因此,工程企業的管理者應該提升對信息系統建設的重視程度,以提高工程項目建設效率,使工程項目管理統一、有序。要重視信息系統平臺的搭建工作,與此同時不斷提高企業工作人員在信息化方面的管理水平。

一、信息系統工程項目的內涵

1.1主要任務

信息系統在工程項目中的主要任務包括以下三項:1、采集整理并且編輯審修工程項目中的大量資料信息,完善工程項目信息。2、對工程項目中的各項信息與數據進行維護,使工程信息準確、可靠、安全。3、為定期總結信息、評價工程起到便利作用,使工程項目得以正常運轉。

1.2基本結構

在比較大型的工程項目中,按屬性可以將信息類型劃分為工程造價類型、圖文信息類型、無聊信息類型、項目進度信息類型、質量管理信息類型、決策信息類型以及合同管理信息類型等,由信息分類可見工程項目中的信息量非常龐大,同時信息之間存在特別復雜的聯系。因此如果在工程項目中應用信息系統,則應該對各不同類型信息分別架構子系統,與此同時使一些接口適當開放,從而方便子系統之間交互信息,使管理難度極大降低[1]。

二、信息系統工程項目的意義

在大型的工程項目中,信息系統地位卓著。主要有兩方面原因奠定了其地位基礎。其中一個原因是當前全球的自由貿易格局在持續發展成熟中,在大型工程項目中,其物資采購和相關勞務都開始面向全球發展,因而需要現代先進的信息管理系統來支撐項目穩定發展。另外一個原因是在工程項目中應用信息系統可以使企業的形象正面提升,有效強化企業的市場競爭力,使企業得以長遠發展。所以,在企業的大型工程項目中,信息系統作用重大,占據核心地位。

三、信息系統工程項目的可行性分析

3.1從技術角度可行

現代科學技術高度發展,其中一些高科技產物的發展為信息系統在工程項目中的應用打下了堅實基礎,此類高科技產物包括:計算機技術、硬件設施、自動化技術以及網絡技術。

首先,網絡架構層面可行性。由于計算機技術與網絡應用技術在長期發展下已經日趨成熟,因而在工程項目中,有條件依據不同項目要求進行不同的網絡架構工作。由于可以使用多種入網手段、采取不同種的網絡管理方式,工程項目能夠實現更方便快捷的終端接入手段,也能夠更好的進行數據管理工作以及執行遠程維護、遠程監控功能,使工程管理高效有序進行[2]。

其次,數據庫技術層面可行性。工程項目中的龐大信息數據可以采用數據庫技術進行管理,很多大型的數據庫管理軟件都可以對大量數據進行系統、全面的管理。

再次,數據訪問層面可行性。信息系統可以為工程項目提供各式各樣的接口來訪問數據,并且可以根據用戶的屬性設定管理權限,使系統效率獲得了極大提升,同時也使系統的安全性得到了保證。

3.2從經濟角度可行

在工程項目中應用信息系統,可以使管理部門的工作水平得到提高,工作人員的效率也得到了有效保障,使工作過程中由于人為因素引起的差錯率得到降低。信息系統在工程項目中的應用使工程信息的傳遞更加便捷高效,從而使企業的信息傳遞成本得到降低,也同時加快了企業的運轉速度,給企業帶來更可觀的經濟效益。

3.3從安全角度可行

信息系統的數據存儲與管理模式是統一的,其針對不同工作職責的工作人員會分配各自相應的信息訪問權限,使信息保密工作得到有效開展,而傳統信息管理工作則無法做到此點。而且,因為信息系統具備完善的信息安全管理技術,可以有效保C數據的安全可靠[3]。

四、結束語

總而言之,信息技術是一種先進的生產力,在工程項目中應用信息系統,是一種科學的現代管理理念,可以極大地促進企業發展,使其實現現代化管理目標,同時大大提高其競爭水平。因此,企業管理者一定要重視在工程項目中應用信息系統,同時不斷提高企業工作人員在信息化方面的管理水平,以使工程項目的建設效率得以提升,工程項目管理能夠統一、有序進行,為企業帶來更多的經濟效益。

參 考 文 獻

[1]劉昊D,胡斌,張偉.工程項目管理信息系統質量控制現狀[J].電子技術與軟件工程,2015,12(05):230.

第12篇

隨著計算機技術的不斷發展進步,網絡在線學習和考試必然在未來的教育過程中扮演重要角色,教育工作者應該不斷探索怎樣利用計算機技術和網絡技術替代傳統的學習模式。作為一個新興的技術,網絡在線考試正不斷應用到各個教育領域,此舉大大節約了考試的成本。本文主要研究分析了網絡在線培訓考試的意義背景,發展狀況,可行性分析以及目標和構思。

【關鍵詞】在線考試系統 遠程調用

計算機技術及網絡技術已經在當今社會的各個領域得到廣泛的應用,不斷推動著經濟的巨大發展,利用計算機來完善及輔助教育系統,促進教育的不斷進步也必將是現在和將來教育領域的發展趨勢,教育工作者需要探索的一個新方向就是怎樣運用先進的計算機技術來改變傳統的教育系統,伴隨著計算機的普及以及人們對于計算機的認識和使用能力的提高,網絡在線考試系統已經越來越多的應用到社會各個行業。

1 在線考試系統的背景及意義

隨著現代信息技術和通訊手段的不斷發展和更新,利用互聯網進行信息傳遞使人們的生活變得更加簡單快捷、在此背景下,傳統的文化教育模式受到了以數字化及網絡化為代表的先進信息技術的沖擊,這務必會對傳統教育的教學方式,教學手段,教學內容面帶來較大的影響和變革。在信息技術日新月異的今天,如何利用現代的高效便捷的網絡技術進行教育是廣大教育工作者需要思考的問題。

目前很多高等院校都致力于打造數字化校園,數字化校園就是運用計算機技術,網絡通信技術,把學校的生活管理服務和教學等所有資源全面數字化,并且對這些資源進行科學規范的整理,打造資源管理和用戶管理的統一化,運用業務流程和組織再造,不斷推動學校的制度,管理創新,以達到實現教育決策規范化,教育信息化,管理規范化的目的。

網絡在線考試系統就是在這樣的背景下產生的,相比以往傳統的考試模式而言,具有考試方式靈活多的特點,同時系統也能夠自動化評閱試卷、打分和進行試卷分析,大大節約了人力,財力和時間成本,

2 在線考試系統發展狀況

考試按照歷史的發展可以分為以下幾個階段:

(1)筆試階段,這是計算機數量少但參加考試人數多的一種考試,它的優點是便于組織,不足之處是考試內容缺乏實踐能力的考察,浪費大量紙張,同時無法對學生進行全面考察。

(2)應用軟盤的上機考試,這是網絡技術相對落后但計算機已經得到普及時的一種考試形式,它可以把考試內容和學生的實踐能力結合起來,考察學生的動手實踐能力,但軟盤可能出現讀寫緩慢或無法讀寫的情況,影響學生的發揮,并且可能出現考生互換軟盤的作弊現象。

(3)應用網絡的上機考試,它已經成為了目前計算機考試的主要模式,考試效率高,節約考試成本,但對于網絡環境有很高的要求。

現今,B/S和C/S是在線考試的兩種主要形式。B/S考試必須安裝Web瀏覽器,用Web的瀏覽器和服務器進行考試;C/S是在局域網內有一臺充當服務器的計算機,且必須裝有客戶端軟件,考生登錄客戶端進行考試,考試結果自動上傳客戶端。

3 在線考試系統的可行性分析

3.1 開發網絡在線考試系統的必要性

(1)減少人力和物力的花費。相比傳統的考試模式,運用網絡考試不需要進行試卷的印刷,省去了印刷費用,同時也節約了這部分的人力開支,并且計算機可以進行自動閱卷,分析試卷,省去了老師大量的時間和精力。

(2)充分共享運用現有的資源。在傳統教育系統下,老師只能夠自己出題,或一起討論研究試題樣卷,利用網絡技術,來自不同地方的教師就無須見面就能夠共同構建題庫,并且相互之間可以分享經驗及資源。

(3)電腦自動化組合試卷 靈活便捷。以往的考試,是老師提前出題然后打印,考試題目單一,固定,并且無法兼顧到各個層次水平的學生,利用無紙化考試系統,就可以設置多種組卷方式,保證兼顧各個知識點,同時每個學生抽到的考題不同,也可以減少作弊等現象的發生。

(4)計算機輔助 杜絕人為錯誤。傳統考試的出卷,分卷,閱卷都是由人工來完成的,會產生很多不必要的人為錯誤,而在在線考試系統中,計算機從頭到尾進行控制,高效準確,節省人力,學生甚至可以當場知道自己的考試成績。

3.2 開發網絡在線考試系統的現實性

(1)現有條件的滿足性。當前,不僅高校甚至各個中小學都打造了自己的校園網絡,各個學校都不斷改革自己的教學手段,觀念,方式及內容,重視自己的教學質量和師資力量,這些都為網上考試系統的開發提供了基礎及支持。隨著社會經濟的發展,計算機已經普及到各家各戶,大家都能夠比較完全的了解計算機的應用,同時網絡考試系統的界面簡單易操作,這些都說明我們具備充足的條件利用計算機進行考試。

(2)編程技術具有可行性。由于編程工具的不斷發展和編程技術的不斷發展,使得技術開發人員能夠迅速的掌握開發技巧,為網絡考試系統的開發提供可能。

(3)經濟上的可行性。網絡考試極大地縮減了人力物力時間成本,世界各地的老師只需要一臺計算機或有互聯網連接的考試系統平臺,就能夠輕松的組織各自的考試,它無需印刷試卷,教師出題,分配考場,統計成績等等,節約了大量的資本。只是對計算機的數量有一定要求,但是當今社會經濟的發展使得各大學校和個人都有足夠的能力去支付所需設備,不需要為它去專門花銷,因此它可以大大節約成本,產生社會經濟效應。

4 在線考試系統的發展目標和發展思路

網絡考試系統的目標與構思主要表現為:

(1)協助教師打造個人專屬的題庫及試卷庫。

(2)幫助學生利用網絡在線完成各個課程所需的考試。

(3)利用網絡系統老師和不同部門之間能夠分享工作經驗,協作彼此工作。

5 結束語

網絡在線考試管理系統,在今后的各個領域都將會得到廣泛的運用,它是突破傳統考試模式的一種新型考試方式,可以極大的節約人力物力以及時間成本,符合今后的發展趨勢,具有很廣闊的發展前景。

參考文獻

[1]魯立.網絡考試系統的關鍵技術的分析[J].信息技術與課程整合,2012(03).

[2]傅宇.基于網絡考試系統的研究[J].現代教育技術,2013(09).

作者簡介

袁曉曦(1982-),女,湖北省武漢市人。研究生學歷。現為武漢軟件工程職業學院講師。主要研究方向為人工智能及其應用。

亚洲精品无码久久久久久久性色,淫荡人妻一区二区三区在线视频,精品一级片高清无码,国产一区中文字幕无码
亚洲专区动漫专区欧美专区日韩专区 | 在线看亚洲视频免费观看 | 亚洲综合国产偷自区第一页 | 综合久久久久久久青青 | 日韩AV熟女一区二区三区 | 亚洲人成网线在线播放va |