前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的系統開發的主要方法主題范文,僅供參考,歡迎閱讀并收藏。
交通運輸管理計算機網絡系統的設計需要遵循以下幾個原則:(1)可靠性原則。系統運行后的穩定性是評價系統設計優劣的重要指標。因此,在交通運輸管理計算機信息網絡系統設計過程中,應該采用冗余技術,增加系統的冗余性,并且在系統軟件編制后,需要進行實驗,及時的消除運行隱患,并賦予系統自我檢查的能力。(2)實用性原則。在系統實際的設計開發過程中,必須本著務實的態度,立足于現實,避免目標過高而不切實際。將計算機工作與人力進行明確的分工,保證其發揮自身的優勢。根據交通運輸管理工作的實際要求,需要對系統功能進行詳細的分析,突出重點、分清主次。(3)科學合理性。在系統設計過程中,需要對系統需要處理的對象進行全面的調查,并對現行的作業組織、作業制度等進行必要調整。(4)可擴充性原則。在計算機信息網絡系統設計過程中,要具有一定的預見性,以面對交通運輸發展的各個可能性。其中在硬件方面應該預留一定的擴充位置,并且根據實際需求對設備進行及時的更新;在軟件設計方面,應該采用模塊化、層次化的結構,為系統功能的擴充提供便利。
2交通運輸管理計算機信息網絡系統開發方法與工具
2.1交通運輸管理計算機信息網絡系統開發的方法對于計算機信息網絡系統的開發方法,主要包括結構化方法、原型法、面向對象法等。下面就以結構化方法為例,對系統開發進行詳細的介紹。結構化系統的開發是現階段發展最成熟、應用最廣泛的管理信息系統開發方式,是將工程化系統開發技術、自上而下結構化方式、生命周期方法有機結合在一起的開發方法。具體的系統開發步驟體現在以下幾個方面:(1)系統的規劃階段。在交通運輸管理計算機信息網絡系統開發項目確定前,根據開發具體的要求,對其進行初步的調查,制定明確的開發設計任務,并系統研究進行可行性評價。(2)系統分析階段。在系統規劃的基礎上,需要對現行的交通運輸管理系統進行全面的分析,并制定出合理的邏輯方案。在整個系統分析階段,具體的工作包括系統調查、數據功能分析、開發系統定義等。(3)系統設計階段。需要在系統分析的基礎上,將制定的可行性的邏輯方案轉變為實際的物理模型。具體就是根據系統功能,結合開發資金、規模、系統開發的復雜程度等,進行具體的設計。這一階段,主要的設計內容包括模塊、代碼、輸入輸出、數據庫、可靠性等方面的設計。(4)系統實現階段。這一階段是系統實踐的階段,就是將轉換成功的物理模型用專用的硬件設備進行相關功能的測試。這一階段,主要的工作內容包括程序設計、硬件設備轉杯、數據收集、開發人員培訓、系統開發升級。(5)系統維護階段。在系統開發完成后,就需要投入具體的運行,從而也就進入了系統的維護階段。在這一個階段,系統維護根本目的就是保證系統能夠始終保持在正常運行的狀態下,同時也需要就是的對系統相關數據進行調整與修改,或者是添加數據,滿足系統更新的需求。
2.2交通運輸管理計算機信息網絡系統開發的工具在交通運輸管理計算機信息網絡系統開發過程中,應用的開發工具主要分為以下幾種類型:(1)語言編程工具。常見的語言編程工具包括BASIC語言、C語言、C++語言、Prolog語言、PL/I語言、COBOL語言等。這類編程語言針對性很強,能夠提供程序設計中相關命令的集合,并且適用范圍也很廣,在系統功能模塊編寫中具有很強的應用能力。(2)數據庫工具。數據庫是計算機信息網絡系統開發中必要的工具,承擔著整個系統數據交換、傳輸的重任,是數據交換與傳輸的樞紐。現階段,提供管理信息系統開發的數據庫工具主要有XBase系統以及大型數據庫系統。(3)程序生成工具;(4)面向對象工具。這類工具主要是與OOP開發對應的編程工具,主要包括smalltalk、C++等,具有很強的針對性,在使用過程中,需要與OOP方式相互配合使用。
3計算機信息網絡系統在交通運輸管理中的應用
該系統主要包括長途客運管理信息系統、出租汽車管理信息系統、貨運管理信息系統、汽車維修管理信息系統及違章處理系統。它們是交通運輸管理中的基石和核心。基本功能如下:(1)車輛戶籍管理功能。戶籍管理數據包括:客運、貨運和汽車維修業戶的戶籍。從業戶的戶籍名稱、地址、電話號碼、通訊方式、經濟性質、許可證號、主管單位、經營范圍、車輛數、工商執照號、法人代表、車牌號、繳費情況、發動機號等系數字段信息建庫,建立起業戶基本情況登記臺賬,完成對業戶開業、戶籍變更、歇業、業戶經營許可證、戶籍信息查詢、營運證打印等功能。還有營運線路、總客座數、各運輸企業的詳細資料等。(2)稅費改革管理功能。可以動態地記錄稅費征收情況,應繳稅費,應罰金額,實繳稅費,實罰金額,交費時間,滯納金的收取,順延情況,票據打印,以及用IC卡減免。實現監控交費情況,隨時調整市場管理力度。(3)稽查管理功能。隨時將違章信息記錄入庫,計算機可以迅速做出分類、處理。它能反映出結案率,違章處理力度,以及市場秩序等。(4)報表業務功能。通過日報表、月報表和年終報表,及時準確地把握各個環節的信息,及時調整行業發展中的薄弱點。既規范了市場,又提高了市場競爭能力。且數據非常可靠。(5)系統的優點。為合理利用資源,本系統可采用電話定點撥號來傳輸數據的方式。另外它的安全性能優越,服務器裝有兩塊硬盤,一塊有故障馬上跳到另一塊硬盤上,人們通過主機就能明白硬盤的運行狀態,及時糾正硬件故障。
4結束語
【關鍵詞】軟件工程思想;管理信息系統;軟件開發
1.軟件工程思想概述
軟件工程思想是一種以系統化、規范化、數量化等工程原則去探索軟件開發與維護的工程思想。該思想將軟件的開發作為一個系統性的工程項目來對待,從軟件開發技術與軟件項目管理兩方面去解決軟件開發過程中的各種問題和軟件的應用問題。如軟件開發技術層面需要解決軟件開發方法、軟件工具以及軟件工程環境問題,而軟件項目管理則涵蓋了軟件度量、項目估算、進度控制、人員組織、配置管理與項目計劃等多方面內容。軟件工程思想的提出以及軟件工程學科的誕生使得軟件開發得以進入一個更高層次的發展空間,并擁有了更旺盛的生命活力。在軟件開發中,軟件工程思想將解決工程問題的系統性、規范性、量化性思想運用其中,從而使軟件開發成為一項更為規范的科技活動。而從軟件工程思想的本質看,其實際上是一種將現實空間通過軟件代碼映射與轉換成計算機空間的思想。這其中涉及到映射與轉換需求、業務邏輯映射以及軟件設計的等層面的問題。其思想中的核心概念主要包含分治、復用、折中、一致性與完備性、效率以及演化。
2.管理信息系統開發概述
所謂管理信息系統實際上是以計算機技術為基礎,基于計算機平臺而開發出的能夠對各種管理數據進行處理、整合、分析,并為管理者提供管理決策相關參考信息的一種工作系統。管理信息系統的實現基礎是計算機,其系統運轉過程中的數據分析、處理、整合等也都是依靠計算機所具有的信息處理能力和運算能力來實現的。相較于傳統的人工數據管理,管理信息系統能夠極大提升數據信息處理效率,并依靠其強大的數據處理能力來幫助管理人員對各種管理資源加以優化,從而達到提升管理效率的目的。管理信息系統的誕生為現代各行各業的管理工作都提供了強大的技術工具,推動各領域管理工作的發展。也正是基于其優勢,國內外都對管理信息系統的開發模式進行了大量研究,并誕生了如MRP-II模式等的開發模式。但在現代社會的不斷發展過程中,這種模式下開發出的管理信息系統缺陷逐漸顯現,已經無法滿足現代管理要求,所以相關領域也亟待探索出更為科學有效的管理信息系統開發模式。軟件工程思想恰好為管理信息系統的開發提供了一種全新思路和方法,并推動管理信息系統開發的進一步發展。
3.管理信息系統開發領域所存在的弊病
管理信息系統開發伴隨計算機技術的發展經歷了一個較長的演化過程,并逐步形成了一些常用的開發模式。但在管理信息系統開發發展的過程中卻始終存在一些弊病,對其發展造成一定影響。例如管理信息系統開發過程中所普遍存在的過于重視理論的問題就是制約其發展的重要因素之一。因此分析其發展過程中所存在的各種問題,對于我們把握軟件工程思想的運用也具有積極意義。
3.1重理論而輕思想的問題呈現出呆板化問題
軟件工程思想是反導軟件開發的一種重要思想,其主要通過提供一個總體思想然后由軟件開發人員進行靈活開發,而并不對軟件開發造成過多限制。然而管理信息系統的開發則普遍存在過于看重理論,而忽視以思想進行指導的問題。這就導致軟件工程思想在實際應用中呈現出拘泥于理論而過于呆板的問題。如管理信息系統開發中一直所采用的結構化分析理論,就刻板的將其開發過程劃分成三個階段,且無論任何使用環境下都套用這一模型進行開發設計,這就導致管理信息系統的開發在遇到使用環境變化時就會出現無法使用的問題,從而對軟件開發造成阻礙,甚至使其開發難以為繼,最終導致失敗。此外,這種刻板的開發模型也很難針對各種復雜的管理問題和技術進行應對處理,從而導致開發周期延長。雖然該模型能夠幫助開發人員簡化開發難度,使系統邏輯更為清晰,但實際情況卻往往導致開發的復雜化,根本無法達到簡化開發難度,提升開發效率的目的。
3.2缺少對軟件項目管理思想的運用難以評估
軟件工程思想不但設計到技術層面問題的解決,也涉及到軟件項目管理。然而在一直以來的管理信息系統開發過程中,軟件項目管理思想卻并未受到重視并運用到開發過程中,從而使人們無法對開發出的軟件進行準確的評估,這就造成許多管理信息系統開發出來后并不能在管理中發揮多大作用,缺少實用性,進而對開發資源造成極大浪費。
3.3對于先進思想方法的學習和運用不及時
軟件工程思想的先進性已經毋庸置疑,但管理信息系統開發過程中相關開發人員卻仍然停留在以往的思維觀念下,未能及時學習軟件工程思想下的先進思想方法,從而使實際開發工作一直都難有巨大突破,這就影響到管理信息系統開發的發展進程。
4.軟件工程思想在管理信息系統開發中的應用
軟件工程思想是一門系統性且完善的學科思想,其與軟件工程學科共同成為現代社會的重點學科項目,對現代社會發展起到積極促進作用。因此軟件工程思想在管理信息系統開發中的應用也是一個十分復雜且專業化的問題。尤其在當前管理信息系統開發存在諸多弊病的情況下,就更需要對其應用進行深入研究分析。
4.1強化軟件工程思想在管理信息系統開發中的運用
管理信息系統開發工作中要有效結合軟件工程思想,首先就要把握好軟件工程思想的總體原則,即圍繞科學、嚴謹、規范的原則來進行實際開發工作的改革調整,使管理信息系統開發更具有科學性,并能真正以對待一個工程項目的態度來規范化的開展各項開發工作,從而使管理信息系統開發成為一項更為規范化的工作,以實現其可持續的發展。此外,對于軟件工程思想相關原則的滲透,還需要開發人員真正重視起軟件工程思想,并加強研究學習。
4.2強化軟件工程思想中面向對象分析法的應用
軟件工程思想對對象的研究分析也有明確的要求,并由此形成一種面向對象分析的軟件開發方法。該方法是目前軟件工程思想在軟件開發領域應用最多的一種方法,體現了軟件工程項目開發過程中基于問題解決的開發思路。例如在軟件開發中構建非結構模型時引入“對象”概念,然后對實體展開分類描述,再結合數據傳遞圖、類圖等展開針對非結構信息的描述,就可以構建出一種非結構模型,且該模型也將更為科學合理。面向對象分析法更注重用戶需求的研究分析,所以管理信息系統運用此方法進行開發就需要對用戶需求進行準確定義,并依靠一定的方式如圖形、語言等對其需求進行分析,從而使管理信息系統能夠真正滿足用戶需求,進而提升用戶滿意度。例如圖1中所展示的圖書館管理信息系統就是運用軟件工程思想中面向對象分析法而構建出的模型,其能夠充分滿足管理系統使用對象的不同應用需求。
4.3基于構件技術強化軟件工程思想應用
軟件工程思想在管理信息系統開發中的運用,其技術層面的解決路徑也是不可或缺的。這其中比較重要的一項技術就是構件技術。該技術可以將管理信息系統中不同功能模塊形成預制板的模子,然后在軟件開發過程中根據實際需求對這些模子進行組裝,從而構成一套具體的管理信息系統。在該技術下,軟件開發人員只需要針對不同模子的軟件進行分別開發,然后在管理信息系統開發時結合實際需求選擇已經開發出來模子進行組裝即可,而無需再進行開發,如此就極大減少了管理信息系統開發過程中的重復開發,從而提升了開發效率。而這一技術也正類似于工程建設領域的拼裝式建筑思路,是軟件工程思想在實踐中的具體體現。4.4運用軟件原型進行開發在軟件工程思想的核心概念中,“復用”是具有極強實用性的一種思想,其強調軟件開發無需所有內容都進行全新開發,由于之前的系統許多內容都是成熟的,所以只需對小部分進行全新的開發即可。因此管理信息系統開發中應用此思想是十分必要的,其能夠對已有的技術進行充分利用,從而減少新的開發內容在滿足用戶需求上的不確定性,以達到降低開發風險,提升開發成功率的目的。
摘要:眾所周知,高等職業院校計算機專業畢業生的軟件系統開發能力普遍不高,該文從分析原因入手,提出提高高職計算機專業學生軟件系統開發能力的有效方法,即培訓實驗體驗法。
關鍵詞:高職學院;軟件系統開發力能;培訓實驗體驗法
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)28-8009-02
Discussing on Improving the Ability of Software System Development of Students of Computer Major in High Vocational College
WANG Jun-ping
(Electronic Information Department, Xianyang Vocational Technical College, Xianyang 712000, China)
Abstract: As we know, Commonly graduates of computer major don't have the high ability in the development of software system in higher vocational college. The paper analyzes the reasons, then points out the effective teaching methods, that is, training, experimenting and experiencing, to improve the ability of developing software system in higher vocational college to students of computer major.
Key words: Higher vocational college; The Ability of Developing Software System; Training Experimenting & Experiencing
前些年,高校計算機專業畢業生較少,供不應求,學生一畢業就有單位要。隨著社會的發展,目前出現了一種奇怪的現象:一方面,各行各業缺乏大量計算機技術人員;另一方面,相關院校培養出的大量計算機專業的畢業生卻難以找到工作或不能勝任現有的工作。究其原因,其中一條就是:社會對計算機人才的需求越來越高,既要求學生具有較強的軟件開發能力,又要具有一定的系統開發的工作經驗。用人單位對計算機專業畢業生的要求幾乎達到了學校與公司的“無縫”鏈接。但是,高職院校計算機專業的學生的軟件系統開發能力普遍不高,具有系統開發經驗的就更少,有的畢業生連一個很簡單的軟件系統都沒有開發過,高職院校培養的學生在系統開發能力和經驗上與社會要求脫節。為此,我們在分析原因的基礎上,提出提高高職計算機專業學生軟件系統開發能力的有效方法,即培訓實驗體驗法。
1 學生軟件系統開發能力不高的原因分析
1.1 培養過程中重理論輕實踐
在高職計算機專業人才培養過程中重理論輕實踐,可以從計算機專業教學計劃的課程設置與教學過程中找到相關的依據。專業必修課是高職學生必須修讀和掌握的課程,是一個學生學好專業的基礎,也是一個學生從事工作以后進一步提高和發揮自身潛力的根本。在培養學生過程中,重視這些基礎理論是十分正確、十分重要的,也是用人單位選擇人才的一個基本的、重要的條件。但是,我們在重視理論教學的同時,對實踐教學卻重視不夠,主要體現在:1) 在一些實踐性較強的課程中,理論課時占的比重還比較大,老師講得多,學生練得少,學生實踐操作的機會少。2) 任課教師重理論的講解和分析,對這些理論和技術在實際中的應用介紹卻比較少,一般滿足于一些驗證性實驗的指導,對提供給學生進行的一些設計性或綜合性的實驗缺乏足夠的熱情,培養的學生只能做一些簡單的驗證性的編程。3) 學生實驗指導書注重課本的配套練習,強調驗證性的實驗,而針對實際應用的實驗例子、設計性和綜合性的實驗例子很少,指導教師往往也因為實驗課時量少,也沒有給出更多的實用例子給學生練習。針對學生的設計性、綜合性實驗訓練少,造成學生在學完一門課程后,只知道編寫一些簡單的程序,對實際的應用和多種技術的綜合應用知之甚少。由于學生每門課程都沒有得到很好的實踐訓練,一個綜合多種技術的軟件系統開發對他們來說自然就不知所措,到畢業還不具備高職學生所必須掌握的技術、方法和技能。有些學生從入學到畢業,連一個簡單的軟件系統都沒有設計過,只能勉強編出幾個簡單的程序,這樣就很難適應社會的要求。4) 課程設置更多考慮了培養學生技術的寬度與廣度,但是對培養學生綜合技術的應用和掌握技術的深度存在著不足。比如,學生學了多門軟件開發工具的課程,從學程序語言的數量來說夠多了,但是沒有真正能夠用一種語言來開發系統。
1.2 制定或執行標準不夠嚴格,學生動手能力差
目前高等院校的計算機教學缺少制訂實驗教學或實踐環節的質量標準或執行的標準不夠嚴格,學生動手能力差。一方面,我們比較注重專業課程的教學大綱與實驗大綱的制訂,但是卻缺少課程實驗教學或實踐環節的質量標準或者是執行不夠嚴格。另一方面,高職計算機專業是一個實踐性很強的專業,應該有課程實驗教學或者實踐教學的質量標準,即學生學習了一門課程后要達到什么樣的技術水平,必須確定一個量化的標準,如Visual Basic課程,學完后,學生要學會用Visual Basic來設計與開發一個系統,當學生達到這一質量標準才能得到相應的學分。但是,現在我們往往都是用理論考試來代替了這個質量標準和要求,從根本上造成學生應付理論考試,忽略對動手能力和應用能力的鍛煉。學生學完課程后,只能編寫一些簡單的程序應對考試,不能夠獨立設計與開發一個綜合的系統。
1.3 提高學生實踐能力的主要場所沒有得到充分利用
大部分高等職業院校用于提高學生實踐能力的主要場所,如實驗室、實習實訓基地等,沒有得到充分的利用,開放實驗室沒有真正落到實處。學生到社會見習、實訓時間少,學生真正了解公司、企業對技術的需要,了解公司的運作,能夠參與軟件開發或者接受公司軟件開發培訓的機會就更少。所以,學校所教、學生所學與公司、企業對人才的需求就產生很大的差距。學生掌握編程工具和編程能力不足,綜合各方面技術來獨立開發軟件系統的能力更顯得困難。
1.4 學生掌握的課程內容分散而且各自獨立
軟件系統開發需要具備軟件工程、數據庫原理、程序設計的基本理論以及熟練掌握一門編程語言、一個數據庫系統、以及多媒體技術等多個處理和編輯系統。但是,學生掌握的是分散的、各自獨立的課程內容,缺少融合多課程知識的經驗和能力,在軟件開發過程中就出現了困難:1)不能熟練操作編程工具和數據庫系統;2)不知如何實現開發的系統與數據庫連接;3)系統開發時,對數據庫操作編程必須用到的語言程序感到無所適從;4)對要開發的系統不知從何入手。這是學生缺乏有效的指導和實驗方法,掌握的課程內容分散造成的,也是很多學生擁有自己的電腦,卻只是用于上網聊天玩游戲的主要原因。
2 提高高職計算機專業學生軟件系統開發能力實驗方法的設計
為了幫助學生提高軟件系統開發能力,我們根據計算機軟件生命周期原理,針對需求分析、系統設計(包括框架設計和數據庫設計)、詳細設計、程序設計、軟件測試等5個階段從實驗方法、實驗路線的研究出發,設計出了針對高職計算機專業畢業生的一套有效方法,即培訓實驗體驗法。
2.1 實驗方案
指導思想:先培訓,然后在老師指導下完成。
實驗目標:完成一個簡單的功能比較完整的軟件系統。
參與對象:高職二年級以上的學生,5人/組。
指導老師:1人/組。
實驗設備:在課余時間利用開放實驗室及學生自有的電腦。
實驗方法:先案例培訓、學生結合案例實現與老師分段結果檢查相結合的方法。
實驗路線:先由指導老師結合具體的案例進行培訓,把系統開發的全過程進行講解,然后由老師出題或學生自命題進行開發。老師提出完成系統的各時間段,以及每個時間段要完成的內容和進度,學生在在老師的指導下完成。
實驗步驟:第1階段,利用課余時間組織學生進行培訓,用6~8課時對具體的案例進行講解。第2階段,給出系統名稱后,要求學生在20~30天的時間內結合案例寫出軟件需求分析和系統的框架設計,明確系統所要實現的功能模塊。第3階段,要求學生在30天左右時間內結合案例對系統進行詳細的設計。第4階段,要求學生在30~60天的時間內結合案例編寫代碼。第5階段,要求學生在30天左右時間內結合案例進行系統調試修改。第6階段,學生在30天左右時間結合案例寫出系統使用說明書以及總結報告。
2.2 實驗方法
實驗方案確定以后,我們召集參與實驗的學生進行培訓,由指導老師先對一個比較具有代表性的軟件系統進行講解和剖析,從軟件系統運行環境、開發工具、數據庫、系統的集成等開發過程進行介紹,使學生了解在系統開發中自己缺少什么知識。然后根據學生的具體情況,布置學生自行修讀相關的技術、工具等知識,并在一定時間內完成,寫出修讀的總結或讀書報告。最后指導老師給出具體的題目讓學生去實現。
實驗從2008年10月開始,到2009年6月結束,參與的是2006級計算機科學與技術專業的20名學生,他們基本具備開發系統所需要的知識和技術,分4個小組,每個小組由1名指導教師輔導。
2.3 實驗效果
對學生進行的2期試驗結果如下:1) 軟件需求分析和系統的框架設計文檔,書寫得比較完整、規范,符合系統的功能要求的,共有18人;寫得一般的,共有2人;寫得差的,共有0人。2) 對系統進行詳細地設計,功能較為完整、規范的,共有15人;完成得一般的,共有5人。3) 編寫代碼能力強的,共有5人;一般的,共有10人;較差的,共有5人。4) 系統調試修改、刻錄打包。完成得好的,共有12人;一般的,共有7人;較差的,1人。5) 書寫系統使用說明書文檔。完成好的,共有17人;一般的,共有3人;較差的,0人。總體效果比較好。
3 經驗體會
本次實驗我們的主要經驗是:1) 該方案包含一個比較系統的培訓過程,這正是高職學生普遍缺少的經歷和經驗。所以,經過培訓的學生在撰寫需求分析與框架設計文檔、系統詳細設計、系統測試方面完成得比較好。而一般沒有經過培訓的學生,很多人在做的時候不知從何下手,撰寫出來的文檔既不統一,也不規范,指導教師花了大量的時間和精力幫他們修改和指正。而經過培訓的學生撰寫出來的文檔規范,系統設計比較清楚、系統測試操作得當,指導教師在這方面的工作量就大為減少。2) 在系統調用數據庫的連接編程方面,實驗小組的學生基本都能獨立完成,而一般學生,大部分都需要教師的指導,并且花較大的精力指導才能完成。這方面的編程與操作是學生開發系統時遇到的難點之一,它涉及到多個系統的操作,需要學生的綜合運用。實驗小組的學生由于經過培訓,有教師的詳細講解以及有相應的案例作參考,這一難點得到了較為有效的解決。3) 高職學生基礎普遍不十分好,對軟件系統開發都有畏難情緒,經過這次的成功實驗體驗,會讓他們的樹立信心,提高軟件開發的積極性。
該方法只是作為提高學生軟件系統開發能力的起步階段,但是通過對學生的訓練,學生能夠掌握系統開發的各個環節和基本要求,學會編寫開發過程中所必須的各種文檔,掌握系統開發所必須的開發工具、技術和技能。經過該方法培訓的學生初步具備開發軟件系統的基本能力,再進一步通過參與實際的項目開發,軟件系統開發能力將會得到進一步的提高。
4 總結提高
本次實驗總結出來的有效實驗方案,可以在高職計算機學生中逐步推廣,師資不足的,可以從軟件公司聘請。也可以與軟件公司合作,公司負責培訓、指導,學生免費為公司軟件開發流水線工作。這樣,就可以使高職計算機專業學生的計算機軟件系統開發能力得到全面提高。
參考文獻:
[1] 李文敬,廖偉志,陸建波.計算機高職應用性人才培養的研究與實踐[J].廣西師范學院學報,2007,28(s2):156-160.
關鍵詞:軟件工程;SEI能力成熟模型
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2007)12-21705-01
Discuss the Improvement of the Software Course Simply
WANG Wen-li
(Guangdong Lingnan Institute of Technology,Guangzhou 510663,China)
Abstract:Improvement of soft project in a problem land that is explored constantly soft project researcher in whole world. First of description of this text are organized unripely and a ripe difference while organizing, key definition and describe SEI ability ripe 5 ripe grade of model, propose one common system improvement model to develop course.
Key words:Soft project;Ripe model of SEI ability
1 引言
信息系統生命期(SDLC)由活動、產品和資源組成。活動是在一個SDLC中進行的動作,并且可以是高層分析至程序的編譯或者測試之類的任何工作。產品是在SDLC期間產生的文檔和程序。資源由人員、時間、金錢和設備等組成。在一個SDLC期間要使用它們,SDLC在某些文獻以及討論開發的研究中也看成是一個軟件的過程。
全世界的軟件工程研究人員都致力于改進軟件過程。SEI(Software Engineering Institute)的能力成熟模型是一種軟件過程改進的途徑。本文基于這一框架來討論軟件過程的改進。在世界范圍內有許多其他實踐著的軟件過程改進。本文選擇這一途徑進行討論,是因為大量的出版物上有有關的文章、討論及批評,并且在美國和許多其他地區普遍接受了它。在1986年,CMU軟件工程研究所(SEI)在Mitre公司的幫助下,開始發展一種有助于開發人員改進他們的開發過程的系統開發過程成熟度框架。最初稱為軟件過程成熟度模型。
2 不成熟和成熟的系統開發組織
一個組織希望建立起改進信息系統開發過程的實用的目標時,首先必須理解不成熟系統開發組織和成熟的系統開發組織之間的差異。在一個不成熟的系統開發組織中,通常開發人員即興提出系統開發過程。即使詳細說明了一個特定的開發過程,也很少會堅持或強化這一開發過程。
描述不成熟系統開發組織的最好詞語是“反應”。通常管理人員關注解決危機和“救火”上。經常性地超支,因為從來沒有真正地估計過進度和預算。當人為的期限迫近時,軟件產品功能、性能和質量往往受損。
最后,一個不成熟系統開發組織缺乏有目的的辦法來評估軟件產品質量、或解決發生的產品問題或過程問題。為保持或接近進度,經常減少取消試圖提高軟件產品質量的活動,例如用戶介入,設計評審和測試。
成熟的系統開發組織可能在全機構范圍內管理系統的開發和維護。管理人員可以準確地把系統開發過程傳達給開發人員,開發人員根據計劃的過程實施相應的活動。規定的開發過程是可用的,并和進行工作的實際途徑相一致。通過受控的試驗性測試和效益分析,確定必須改進過程時,就更新規定的開發過程。在項目范圍內和貫通組織范圍中都理解開發人員的作用和責任。
成熟系統開發組織的管理人員不斷地監視系統產品的質量個制造產品的過程。堅持一個目標明確的、定量的方法來評估系統產品質量和分析產品的問題和過程的問題。基于歷史上的行為制定進度和預算,因此是現實的,通常可以達到。
最后,一個成熟的系統開發組織使用一個紀律嚴明的系統開發過程,因為全體參與人員理解如此做的價值,企業的基礎結構設施支持他們達到這一點。
過程改進(例如SEI的CMM)的目的是支持軟件開發管理人員,開發人員和業務工作。而不是去責備和羞辱他們。軟件過程改進的組織軟件開發組織的管理人員之所以失敗,常常就是因為害怕承認了軟件開發過程真實情況所帶來的后果。
3 SEI能力成熟模型的5個成熟階段
一個系統開發過程是開發人員用來開發和維持信息系統的活動、方法、實踐和變換的集合。如果一個軟件的開發組織是成熟的,在其組織內具有較好的定義,并一貫地使用于開發過程。通過政策、標準和組織結構體現的系統開發過程是這種成熟性的自然產物。不要將成熟度和多年處于的狀態等同。對于現在的討論中,把成熟度等同于智慧的成熟和在應用知識上的智慧。所以一個軟件開發組織成熟就相當于該組織能把通常認可的有關軟件開發過程的知識應用于自己的軟件開發工作中。
堅持連續地改進過程的思想,CMM為軟件為軟件組織的演進步伐提供有五個成熟度的框架,如圖1所示。當軟件組織達到一個成熟度級的框架時,每一個成熟度級為連續的過程改進中轉向下一個成熟級打下基礎。每一級都假定軟件組織已經達到了在CMM指南規定的所有較低級別的要求。圖2總結由CMM描述的關鍵過程區域。
圖1 SEI能力成熟模型 圖2 在能力成熟模型中的關鍵過程區域
第1級,初始級軟件組織的一般特征是沒有開發和維持系統的穩定的環境。這種組織極少能做到使軟件開發按一個有序的開發過程進行。結果是發生一系列開發危機,一遇到問題,開發組成員放棄計劃好的過程,并回到反復編碼和測試。
第2級,可重復級軟件組織的一般特征是有食用的政策和過程,并在系統開發中堅持使用。新項目的計劃和承諾是基于相似的項目的經驗。基本的管理控制是屬于每個開發項目的一部分,管理人員跟蹤費用、進度和識別問題。
用戶需求和開發出來滿足要求的工作產品是按基線進行,并控制其完整性,項目遵循標準;然而在第2級的組織中項目之間的過程可能不同。因為可以重復過去的成功經驗,所以其項目計劃和控制是穩定的。這些組織的過程能力是有規律的。
第3級,定義級按軟件組織在相繼項目上的穩定性和可重復性,所代表的全組織的標準和一致的系統開發過程來標志。這個過程的編寫成文檔,包括一個開發人員的過程部件和一個管理過程的部件。由于標準化,組織作為一個整體應當能夠進行有效的系統開發時間。
因為在這一級的開發組織有一個很好的定義過程,管理人員對每個項目的技術過程有良好的洞察力。除此以外,在組織的標準化系統開發過程中包括了以下各方面的指南:(1)標準;(2)建立可讀性準則;(3)開發輸入;(4)完成工作的步驟;(5)工作驗證步驟,例如同事評估;(6)開發輸出;(7)決定完成準則。
第4級,管理級是建立了系統開發產品和系統開發過程的定量質量目標的幾個為特征的組織,對于遍及所有項目的重要的系統開發過程都度量生產率和質量作為自制的度量程序的一部分。
整個組織維護一個過程數據庫以收集和分析來自各項目確定過程的數據,這些組織的范圍的度量建立了一個定量的基礎,用于評估任一項目的過程和產品。每個項目通過在他們行為中減少與組織的可接受數量界限的差別來控制他們的過程和產品。在一個項目過程實施中有實質性的變動和隨機變動加以區別,當已知的過程界限超出后,管理可以采取行動來糾正這種情況。第4級允許一個組織在確定的定量范圍內對系統開發過程和產品質量具有預測趨勢的能力。
第5級,優化級通過整個系統開發組織致力于連續的過程改進為標志。組織有適當的途徑識別開發過程弱點和產品弱點,并用零缺陷目標化它們。過程數據庫(來自第4級)用來對新技術和系統開發過程的變動進行費用―利益分析。探索最佳系統開發實踐的革新在整個組織內部識別并傳播。
項目小組分析缺陷以決定原因,對過程進行評估以避免已知類型的錯誤重現,并傳播其他項目的經驗。因為系統開發中低效益的主要原因是重復工作,所以減少重復工作可以說是每一級的目標。但是在第5級,它成為一個主要的關注點。
4 一個基本的系統開發過程改進模型
通過遵循這個簡單的系統開發過程改進模型――ICASE,一個系統開發組織可以來達到其希望提高CMM的級別的目的。
I=調查,調查組織的系統開發過程的現有狀態。在我們可以確定移向下一個級別之前,我們需要知道我們處于哪里。
C=建立,在組織內部建立一種意想。使開發人員和管理人員進入改進系統開發過程的概念中去。
A=行動,在組織中對必須要求的過程改進行動建立一張清單。
S=選擇,選擇一個計劃以達到要求的行動。
E=執行,提交執行計劃必須的資源。
最后,當開始并不斷在CMM級進行改進時,反復這一過程。
5 小結
本文給出了對軟件過程改進的概述。由于許多因素使軟件創建的過程需要不斷的改進。軟件過程改進就是試圖這樣做的活動。按SEI能力成熟模型――給出軟件開發成熟度的五個級別,給出了不成熟和成熟軟件開發環境。在這之后,一個一般的系統開發過程改進模型,用ICASE縮寫表示。本文簡短地討論ISO 9000過程改進標準作為結束。
如前所述,SEI的CMM不是僅有的系統開發度量模型。還有ISO 9000系列標準,以及可以通過全世界的咨詢組織獲得幾個專利的方案。然而,CMM可能是所有系統開發度量模型當中編寫最流行的文檔方法。
參考文獻:
[1]國剛.UML與Rational Rose 2003軟件工程統一建模原理與實踐教程[M].電子工業出版社,2006.
[2]符長青.信息系統工程監理[M].機械工業出版社,2006.
[3]周愛民.大道至簡――軟件工程實踐者的思想[M].電子工業出版社,2007.
關鍵詞:快速原型、集成開發環境(LDE)、汽車電子
1、應用背景
(1)汽車電子在汽車工業中的重要位置
隨著汽車工業的飛速發展,汽車在工藝和制造技術上越來越復雜和精密,同時人們也希望汽車更安全、更經濟、操作性更加靈活方便。傳統的機械控制由于速度慢,可靠性低已經不能夠滿足現代需要,因此現代汽車大量采用電子控制技術來提高整車性能。國際上汽車電子產品在整車成本中所占的比例平均超過30并呈快速上升趨勢,汽車電子在現代汽車工業中已經有越來越重要的地位。
(2)快速原型方法提出的背景
現代市場對產品的需求呈現多樣性和快速性的趨勢,對控制系統安全必和可靠性的要求也與日俱增,為了在激烈的市場競爭中取勝,必須不斷地縮短新產品開發與投入市場的周期,這就出現了企業新產品面臨著多樣性的需求和快速開發之間的矛盾。為了設計可靠的控制系統,滿足用戶的多樣化需求,縮短項目開發周期,降低產品開發費用,需要采用先進的開發工具來加速設計流程,從而找到新的途徑獲得技術上的突破。使用快速原型方法與集成開發環境技術來進行控制系統開發的目的就是為了縮短開發周期,在行業競爭中能夠快速開發新產品,從而獲得最大的經濟效益和市場益。
2、傳統控制系統開發過程與使用快速原型方法進行開發的比較
快速原型方法是現代控制系統開發方式催生的產物,通過與傳統控制系統開發方法的比較,我們可以看出快速控制原型方法在控制系統設計開發中的優越性和先性性。
(1)圖1所示是傳統控制系統開發方法流程,開發步驟如下:
根據需求用文字說明的方式提出設計目標;
根據以往開發經驗提出系統結構;
由硬件人員設計并制造硬件電路;
由控制工程師設計控制方案,并將控制模型用方程的形式描述出來;
由軟件人員采用手工編程的方式實現控制模型;
由系統工程師或電子技術專家將代碼集成到硬件電路中;
圖1偉統控制系統開發方法流程
用真實控制對象或測試臺進行測試。
傳統控制系統開發存在的不足;
在對控制規律的控制特性或控制效果還沒有把握的情況下,已經完成硬件電路的制造,這時,由于還無法確定所設計的方案能在多大程度滿足需求,或根本不能滿足需求的情況下,就已經產生了較大的硬件投入;
手工編制的控制程序容易造成系統可靠性降低,一旦在測試過程中出現故障,就很難確定是控制方案不理想還是軟件代碼有錯誤。更重要的是手工編程將會占用大量的時間,導致雖然有了控制方案,卻要等待很長時間才能對其進行驗證和測試,從而在不知道方案是否可行的情況下就浪費了大量的時間,人才和物力,給開發帶來了不必要的開支和經濟損失;
即使軟件編程不存在問題,如果在測試過程中發現控制方案不理想,需要進行修改,則新一輪開發工作又將開始。大量的時間又將耗費在軟硬件的修改和調試上。另外,由于涉及的部門多,再加上管理不善所引入的種種不協調,導致開發周期長,最終可能出現產品雖然研制成功了,但初始需求已經發生了變化,市場的機會已經錯過,產品已沒有了銷路,從而使整個開發以失敗告終。
(2)快速原型開發方法及流程
基于模型設計面向目標應用系統的快速原型開發方法最重要的特征就是采用計算機輔助控制系統設計,即將計算機支持的工具貫穿于控制系統開發和測試的全過程。應用快速原型方法進行控制系統開發,一般由下列步驟組成(如圖2所示):
系統需求與分析
在傳統的控制系統設計方法中,這一過程通常是幾千字甚至幾萬字的文字說明。在快速原型開發方法中為了避免文字說明的模糊性及理解性錯誤,詳細說明將采用模型方式。可以用信號流圖來進行定義。
控制方案設計
控制方案的設計不再采用過去的那種先將對象模型簡化成手工可以處理的形式,再根據經驗進行手工設計的方式,而是用諸如MATLAB/SIMULINK等計算機輔建模及分析軟件,建立盡可能準確的控制模型,并進行離線仿真分析,從而避免了傳統設計過程中由于模型過于簡化,在沒有相應的計算機輔助設計工具支持情況下,完成了大量的工作而到了試驗階段才發現所設計的方案根本不能滿期足實際對象的控制要求。
圖2應用快速原型方法進行控制系統開發
硬件平臺
硬件平臺是快速原型方法的重要組成部分,它由CPU與擴展電路組成,通過外部功能接口與目標應用系統進行交互,也可以根據實際需求對信號進行調理,從而實現對目標應用系統的控制。
自動代碼生成
用戶進行控制算法模型設計后,無須再像過去那樣來等待軟件工程師進行手工編程,而是利用計算機輔助設計工具自動將控制模型框圖轉換為目標系統代碼,從而快速實現控制系統的原型。自動生成的代碼可以節省大量的系統開發時間,可靠性高,但是運行效率比手工編程低。對大多數工程師而言,如果能夠加快開發速率,損失代碼的部分實時運行效率是可以接受的。而且這個問題可以通過后期進行的自動代碼優化功能得以改善。
實時仿真與測試
在系統開發階段完成之后,就可以利用計算機輔助試驗測試工具軟件進行各種試驗,以檢驗控制方案對實際對象的控制效果,并隨時修改控制參數,直到得到滿意的結果為止。即使需要對模型作很大修改,從修改到下一次對原型的測試也只需要幾分鐘的時間。從而在最終實現控制方案之前,就已經對可能得到的結果有了相當的把握,避免了過多的資源浪費和時間消耗。
硬件在環仿真
硬件在環仿真的目的是通過對實際情況進行模擬從而對控制模型在各種條件下做出全面測試。它的優點是可以通過在對故障情況和極限條件下的測試找出控制裝置的設計缺陷,從而縮短開發周期,降低相關維護費用。
3、集成開發環境技術
3.1集成開發環境的功能
在傳統控制系統軟件開發過程中,開發的不同階段需要用到不同的軟件,開發者必須在幾種軟件間來回切換操作,效率比較低。而隨著市場需求的增長,系統開發復雜度愈來愈高,特別在大型控制系統的開發中,企業必須選擇優秀的開發工具以保證工程質量,從而能夠按時交付和實現成本控制。集成開發環境正是這樣一個將編輯、編譯、調試、仿真等功能集成在一個桌面環境中,既方便了用戶,又提高了工程質量和開發速度。
基于快速原型方法的集成開發環境功能包括:提供控制操作界面;建立控制模型;通過上位機與目標CPU的接口瀏覽目標CPU硬件平臺狀態和信息;集成MATLAB/SIMULINK進行仿真建模;集成RTM對SIMULINK所構建的模型進行自動代碼生成;集成編譯器、鏈接器、調試器等對生產的代碼進行交叉編譯,調試,從而對目標CPU進行控制;集成控制界面,用于實現對所給定參數的測試和優化;模擬仿真應用系統控制算法;通過硬件調試接口將生成的目標CPU的機器代碼下載到硬件平臺;實時調試運行應用程序等等。
3.2使用集成開發環境進行快速原型控制系統開發的特點
使用集成開發環境進行快速原型控制系統開發這種開發模式方便、快捷。通過使用圖形化界面的模型框圖,輸入計算公式、經驗公式來編制開發程序,再由系統自動將其編譯成目標代碼的方式可以大大提高效率。應用程序經過反復模擬仿真、實時調試運行成功后被裝入硬件平臺。一些特定、重復任務的應用程序被生成模塊化的庫文件以備調用。模塊化的應用程序可以實時在線導入導出而絲毫不影響系統的正常運行。這樣使用集成開發環境對快速開發和實時數據分析實現了從想法提出到建模直至進行控制的一體化過程。
4.國外汽車電子行業快速原型集成開發環境的情況
4.1dSPACE
dSPACE實時仿真系統是由德國dSPACE公司開發的一套基于MATLAB/SIMULINK的控制系統開發及半實物仿真的軟硬件工作平臺。廣泛應用于航空航天、汽車電子、電力、機車、機器人、驅動及工業控制等領域。該系統由硬件組成和基于這些硬件組件的軟件開發工具集組成。它通過設計標準組件,提供組件的不同組合來適應不同的應用系統;通過使用MATLAB、SIMULINK、RTW來提供對硬件接口的支持;使用自動代碼生成和下載工具,減少了軟件代碼編寫和修改的時間,體現了現代開發方法的快速性;同時提品控制器與dSPACE系統納入閉環測試中,易于原型設計到產品的轉換。
dSPACE為控制工程項目的開發和測試提供軟硬件平臺,應用十分廣泛,許多汽車工業的用戶都使用dSPACE作為開發測試的工具,如Audi公司用dSPACE實現了ABS控制器測試臺;Ford、GeneralMotors、Honda、ToyotaMotor、Nissa、MazdaMotor等公司用dSPACE進行動力控制原型的開發;德國Adtranz公司則用dSPACE實現了電力機車的仿真。
4.2MOBIES
MOBIES是由美國國防部國防高技術研究項目局的信息處理技術辦公室(IPTO)資助的項目。旨在為嵌入式系統開發提供一個基于模型的軟件組成件集成技術。此項目注重建模工具、系統分析和代碼生成技術的研究。在建模工具的使用、軟件規范性和通用性等方面提出了很多先進的思想。
MOBIES項目試圖從更抽象的層面上來建立組件庫,同時定義整個嵌入式軟件工具集中通用的內部規范格式,貫穿于從需求分析、建模、仿真分析到代碼生成的各個階段,以此達到滿足多領域的控制系統設計需求的目的。
4.3OpenECU
OpenECU系統主要面向汽車電子領域的軟硬件開發,由英國PiTechnology公司開發研制,該系統通過使用MATLAB/SIMULINK來快速開發控制系統。
OpenECU系統包括:ECU硬件開發板,ECU硬件小批量生產板,配套開發軟件,汽油發動機基本控制策略,自動代碼生成以及一些其他工具。它的典型應用包括:汽油發動機ECU開發(適用于1~8缸),變速箱控制開發,混合動力能量管理控制系統,自動駕駛控制系統等。
4.4國內快速原型與集成開發環境技術研究情況
國內在快速原型與集成開發環境技術方面的開發研制基本上是一片空白。在汽車電子領域中以使用國外相關產品,主要是dSPACE為主,還未形成研制、生產具有自主知識產權的產品的局面。同國外快速原型系統與集成開發環境的開發相比還存在著很大的距離,開發出自主系統對我國汽車工業的發展具有重要意義。
5.技術路線和結構設計
通過以上介紹,可以看出在控制系統設計開發領域,基于快速原型集成開發環境的開發方法比傳統的開發方法具有較大的優勢。不僅具有快速開發、實時性和可靠性高的特點,而且能夠做到模塊化、自動化和可定制化。
5.1采用的技術路線
要實現快速控制原型,必須有集成良好便于使用的建模、設計、離線仿真、實時開發及測試工具,允許用戶反復修改模型設計,進行離線及實時仿真。為了實現上述目標,我們在集成開發環境當中使用MATLAB/SIMULINK等工具建立控制系統模型,利用RTW(Realtimeworkshop)產生控制算法的C代碼,與我們自己編寫的目標環境相關的代碼同時通過目標系統的交叉編譯器進行編譯生成目標系統可執行文件,下載到快速控制原型的硬件系統中進行調試分析,進行參數標定,并通過硬件的實時測試不斷修改控制方案和算法,從而達到最優控制效果。(如圖3)
圖3基于快速原型與集成開發環境技術的系統原理框圖
5.2硬件平臺
由于車載CPU處于一個強振動,高電磁輻射的環境當中,這就要求硬件平臺要有很強的搞振動,抗高溫,抗電磁干擾的能力,并具有高度的靈活性和可靠性,能夠在高速移動的苛刻環境下工作,而且考慮到當今汽車電子應用的主流,我們選用了專為汽車電子、航空航天、智能系統等高端嵌入式控制系統所設計的32位微控制器MPC555為基礎的硬件平臺。同時,用戶還可以根據實際需求選擇接口電路,從而達到可定制的要求。
5.3集成開發環境
系統以集成開發環境為基本的軟件平臺,在此平臺上集成以下組件和模塊:
基于PowerPC平臺的交叉編譯器;
基于交叉編譯器的C語言庫函數;
基于MATLAB/SIMULINK的建模枋真的控制軟件;
基于RTW的自動代碼生成工具;
標準I/O驅動模塊。
【關鍵詞】信息系統開發教學,核心課建設,大作業
近年來,我校計算機系信息管理與信息系統專業(簡稱信管專業)在專業基礎課及專業課教學上進行了信息系統開發課程群及核心課程建設的教學研究。研究的重點是劃定信息系統開發課程群并明確其核心課程,重點圍繞這些核心課程進行教學改革。為學生布置綜合運用不同核心課程的相關知識和技術的大作業,是我們在課程群和核心課建設教學改革中的一個有特色的嘗試。本文以其中的《高級語言程序設計》、《數據庫原理與應用》、《數據庫開發與管理》三門核心課布置大作業的方法予以總結,與同行交流。
信管專業的一個重要方向是信息系統開發。為培養學生的信息系統開發能力,我校在教學計劃中設置了多門相關的課程。如《信息系統分析與設計》、《高級語言程序設計》、《數據庫原理與應用》、《數據庫開發與管理》、《靜態網頁設計》、《動態網頁設計》等。通過對這些課程的學習,學生能夠掌握基于C/S 結構和B/S結構的兩大類信息系統的開發方法。其中,《高級語言程序設計》、《數據庫原理與應用》和《數據庫開發與管理》三門課程更為突出地體現了對學生開發能力的培養。在開發實踐中,三者的結合也更為緊密。
過去,傳統的教學方法是由若干位教師根據個人專業方向及工作量情況,分別承擔各門課程的教學,不同的教師在課程教學上基本上是根據教學文件各自為政,很少顧及到別的教師承擔的課程的教學進度及效果。這樣,本來是有很緊密聯系的教學內容,可能分配到了不同課程上以及由不同的教師來講,對學生來說,在短時間內很難把這些內容有機地結合起來,從而在一定程度上影響了教學效果。
例如《高級語言程序設計》是以一門高級程序設計語言為背景,講授系統開發中的程序設計語言工具,重點對于系統界面和業務邏輯處理的程序開發進行教學;《數據庫原理與應用》和《數據庫開發與管理》是以一個較大規模的數據庫管理系統為背景,講授系統開發中數據庫的管理和設計。這兩方面的編程構成了信息系統開發設計和實施階段的主要任務。過去我們的傳統做法是安排兩到三個教師講這三門課,所以在對一些銜接的內容處理上,往往不同的人有不同的做法,學生很難得到一致的傳授和指導。有些學生在每門課上都學的很好,但是不會把不同課程的相關知識融會貫通,到后面的課程設計或畢業設計時,在系統開發實踐上用不好或不會運用這些來自不同課程的關聯知識。
為了解決這樣的問題,我們在專業核心課建設教學改革中,實行了結合三門課程布置大作業的教學方法。
《數據庫原理與應用》和《數據庫開發與管理》是前后銜接的課程,一般開設在兩個銜接的學期。《高級語言程序設計》與前兩門課程的某一門開設在同一學期。我們就在《高級語言程序設計》與另一門同期開設的數據庫課程教學中,布置由授課教師共同指導,學生自主完成的大作業。大作業的題目是精選的信息系統開發課題,一般有十幾個比較典型的系統開發題目可供學生選擇,如學生選課系統、圖書借閱系統、倉庫管理系統、人事檔案管理系統、賓館管理系統等。布置大作業的時機掌握在《高級語言程序設計》講完窗體應用程序和數據庫開發的內容之后。為了給學生充裕的時間來完成大作業,我們把《高級語言程序設計》教學中比較靠后的數據庫開發的內容盡可能提前,把有關類的繼承、多態、接口等理論內容的講授往后延遲。我們的教學周一般為十六周,在十周左右就布置大作業。這時,數據庫課程應至少已講完“數據庫設計”,《高級語言程序設計》講完“ 與數據庫開發”。這時學生已具備了開發一個信息系統必要的知識準備。
在時間安排上,我們讓學生以課余時間為主來完成,以充分調動學生的主觀能動性,培養他們對專業的興趣。在臨近期末結課時,多安排幾節上機課,讓學生集中突擊一下,保證大作業的順利完成。這時,學生已完成大部分代碼的編寫工作,普遍會有較多的調試問題需要教師幫助解決,所以集中上機并及時指導是必要的。另外期末的集中指導也督促比較落后的同學重視這件事情,拿出更多努力來完成。
在大作業選題、指導及檢查成果時,擔任兩門課程的兩位教師要密切配合,協同動作,給學生一致的幫助。
到目前,我們已經在六屆信管專業學生中進行了布置大作業的探索。這期間,我們不斷總結經驗,也對學生的反饋進行認真的分析,不斷改進方法。最初是按原有的教學計劃掌握授課進度,但是由于數據庫課程與高級語言程序設計課程在教學內容編排上不同步,造成大作業布置過晚,學生能利用的時間太少,到期末匆匆忙忙地完成,效果不是很好。為此我們把高級語言課程與數據庫開發有關的內容調整到前面,盡量提前講,就使布置大作業的時間可以提前幾周,讓學生有充裕的時間來完成這項任務。
在高年級,學生只有在為期兩周的課程設計和臨近畢業的畢業設計有機會開發系統。兩周的課程設計就上課時間來說,只有9個工作日,54個學時,還包括檢查成果及答辯的時間。即使讓學生每天工作10小時,也只有90小時,對于開發一個系統,遠遠不夠。近年來,為緩解學生畢業后就業的壓力,很多學校鼓勵學生提前走出校門,畢業設計往往是學生在邊工作邊學習的狀態下完成的,教師大多是遠程指導,設計的效果要打一定的折扣。因此,利用大作業提前讓學生鍛煉設計能力,是對這些后期問題的一個很好的彌補。
經過幾年的布置大作業實踐,我們在高級語言和數據庫教學上取得較好的教學效果。學生普遍反映,通過大作業真正學會了怎樣開發一個實用的信息系統,很有成就感,更增強了學好本專業的信心。
關鍵詞:農業生產管理系統;牛奶安全生產管理系統;進度管理;進度控制
中圖分類號:TP393.02 文獻標識碼:A 文章編號:1007-9599 (2012) 15-0000-01
隨著計算機和網絡等信息技術的不斷發展,在農業領域的應用也越來越廣泛。其中的農業生產管理系統,是一種服務于農業生產、農業管理和農業信息的收集、整理、查詢、展示的信息系統。
本人曾作為項目的主要管理人員參與了多個農業生產管理系統開發項目,通過實際的工作發現,農業生產管理系統的項目管理與其他類型系統的項目管理相比,具有自身的獨特性,因此管理起來也更加有難度,具體特點如下:
(1)產品具有創新性;(2)農民文化水平低,農村信息化基礎薄弱;(3)調研需深入農業生產企業,工作環境條件較差;(4)項目規模一般較大,而且是科研類項目,基本沒有可以借鑒的例子;(5)項目中人力資源影響因素較高。
下面就結合實際工作中的農業生產管理系統開發項目的例子,就進度管理中的進度計劃編制展開分析和研究。
1 項目背景
【項目案例】牛奶安全生產管理系統開發項目(簡稱:牛奶項目)旨在開發一套基于上海地區規模化奶牛場生產、管理、經營的全新系統軟件,用于記錄各奶牛場的安全生產信息數據,系統含蓋奶牛場從飼料采購、生產飼養到原料奶銷售至乳品廠的產前、產中、產后的全過程管理,實現網絡化管理和牛奶安全生產在線控制,提升奶牛飼養管理水平和生產水平,實現現代奶業的數字化管理。
2 牛奶項目開發成本的估算
估算項目開發成本是進度計劃編制的基本前提,因此在制訂計劃之前必須先估算出項目的開發成本,然后估算出項目總成本,再根據總成本進行相應的資源分配。
2.1 選定估算方法
在開發成本估算之前,首先需要確定估算的方法,在農業生產管理系統開發項目中,使用的較多的是自下向上估算法,因為農業生產管理系統開發項目的規模一般較大,而且大多數都是創新項目,沒有類似項目經驗可以借鑒,無法進行整體的估算,選用別的方法容易產生較大誤差,給后續的項目管理帶來困難。
2.2 工作量估算技術
在進行每個模塊工作量估算的時候,我們采用三點估算技術進行工作量的估算。三點估算技術對于每一個任務的工作量,都采用三種估算值:樂觀工作量、悲觀工作量和最可能工作量。樂觀工作量是假設各種開發條件都是最有利的形勢下,完成該任務所需的工作量,悲觀工作量是假設各種開發條件都是最不利的形式下,完成該任務所需要的工作量,而最可能工作量則是正常條件下完成該任務所需的工作量。通過以下公式進行計算,得出該任務的工作量:
每個任務的工作量=
2.3 總成本估算模型
由于選用的是自下向上估算法,每個任務的估算都是由底層開發人員進行估算,開發人員對于模塊的估算都比較熟悉,但卻沒有管理成本的意識,所以以上方式只能計算出開發的成本,卻不包括軟件開發項目的其它成本,但是如果要逐項估算各項成本,難度又較大,所以根據以往的項目經驗,采用以下成本模型:
總成本=CK*開發成本
其中,CK為常數,參照以往農業生產管理系統開發項目經驗,牛奶項目CK取值為2.5。
3 牛奶項目進度計劃編制
編制牛奶項目進度計劃首先需要明確項目的總體要求,然后再編制項目的進度計劃。在項目計劃主要包括如下的內容:
(1)前期調研:進入奶牛場進行實地業務調研;(2)需求分析:收集用戶的需求,并分析與系統原型之間的差異;(3)概要設計:根據需求分析進行系統概要設計;(4)系統詳細設計:依據概要設計進行詳細系統設計;(5)編程和單元測試:主要有開發人員開發完成后,進行單一功能的測試;(6)系統功能整合測試:流程性測試,強調與其他模塊之間的關聯關系;(7)硬件采購和調試:采購帶RFID芯片電子耳標、RFID識讀器和手持機,并進行調試,與系統對接;(8)與系統的整合測試:牛奶項目的系統數據需要上傳給政府監管單位的信息系統,需要進行整合測試;(9)軟硬件聯調:進行硬件和系統軟件的聯調,實現業務流程的貫通;(10)系統試運行和用戶培訓:系統試上線運行,同時開展用戶培訓;(11)系統優化:根據用戶的反饋意見,進行系統的調整和優化;(12)系統正式上線和用戶驗收:經過前階段試運行和系統優化,系統正式上線運行,并進行用戶驗收。
4 結束語
本文針對牛奶項目實際案例,結合進度管理的理論基礎,分析了實際項目實施過程中的進度管理方法,通過實踐深入研究了進度管理在農業生產管理系統開發項目中的進度計劃編制方法,為今后牛奶項目的順利實施打下了堅定的基礎。
參考文獻:
關鍵詞:軟件工程;網絡安全技術;安全系統開發
一、基于軟件工程技術的網絡安全系統開發方向
(一)提升網絡系統安全性
軟件工程技術應用在網絡安全系統開發中,可幫助提升網絡安全系統的運行安全性,接入網絡平臺后,網絡安全系統中存在的安全隱患類型比較復雜。一旦受到黑客病毒入侵,網絡安全系統中所存儲的重要文件數據將會丟失。軟件工程技術應用在系統開發設計階段,可以構建出安全牢固的網絡安全防護系統。處于網絡環境中運營,一旦出現數據傳輸異常,將能夠在短時間內通過安全防護系統發出提醒,對于網絡安全防護系統中存在的漏洞進行修復,避免黑客病毒技術入侵,影響到系統安全使用。網絡系統安全性的提升,需要軟件工程技術作為支撐,構建出更嚴謹的信息傳輸交互換體系。
(二)提升網絡系統運算效率
網絡安全系統在大數據處理環境下,短時間內數據分析處理任務非常大,將軟件工程技術應用在其中,可以構建出高運算效率的網絡安全系統。基于網絡平臺中對數據信息資源進行獲取,也能快速確定有效信息,并對信息中的內容繼續深入控制。網絡安全系統中的各項數據分析運算,運算效率是安全性提升的前提保障,只有運算效率達標,才能在網絡安全隱患威脅中,快速定位隱患目標,并對其中存在的錯誤數據信息繼續調整,達到數據的優化效果。網絡環境中的運算效率提升,充分利用了模糊神經運算技術,實現短時間內的數據信息分類。
二、基于軟件工程技術開發網絡安全系統存在的困難
(一)數據安全性方面
基于軟件工程技術開展網絡安全系統研發,目前面臨的主要困境是如何保證網絡環境下的數據安全,軟件工程技術需要接入到網絡平臺中,才能實現對數據信息的獲取以及更新。網絡平臺中存在的隱患以及軟件工程技術應用期間不穩定的部分,均有可能會造成數據傳輸發送過程中的安全隱患問題。面對這一問題,在開展軟件工程網絡系統開發中,還需要從多重角度展開研究,數據安全隱患會直接影響到網絡安全系統使用期間功能是否可以實現,數據是系統實現功能的前提基礎,數據安全性也會影響到接下來系統信息傳輸的方向。基于軟件工程技術所構建的網絡安全系統,在數據信息隱患方面存在諸多問題,具體研究解決中,還需要考慮系統平臺內的相互融合情況,數據的虛擬性特征影響等因素,將數據安全性提升結合在系統構建方案中。
(二)數據傳輸速度方面
數據傳輸速度提升,同樣是基于軟件工程技術基礎上,網絡安全系統開發面臨的難題,提升數據傳輸速度,可以有效減少網絡安全系統開發中的數據信息延遲問題,才能確保接收傳輸的數據是準確的。避免網絡環境中的其他攻擊,利用數據信息延時造成對信息系統的侵入,開發過程中數據傳輸速度,需要根據傳輸需求以及網絡條件進行調試。目前應用的各類開發技術中,數據傳輸速度進一步提升,還需要具有足夠先進的開發條件作為支持。隨著網絡傳輸速度不斷提高,數據傳輸速度提升擁有必要的前提條件,但與所應用的PC設備也有直接關系,如果傳輸設備運行速度不能達到使用標準。目前光纖的使用已經基本普及,有線網絡傳輸速率完全能夠滿足安全系統對于網絡傳輸速率的要求,而無線傳輸速率隨著5G的誕生和商用的逐漸普及也已經得到解決,所以在數據傳輸速度方面存在的困難是可以解決的。
(三)數據檢索匯聚方面
數據檢索,并在接收端進行匯聚,是當前開展各項傳輸控制任務中主要設計的方面。對于現階段存在的種種問題,主要是由于數據信息檢索更新不及時導致,檢索后的匯聚階段,存在部分數據信息丟失的嚴重問題。針對這種情況,信息技術方面還需要加強安全性研究,從而確保數據檢索后,能夠進入到預期的安全控制狀態,從而達到理想的功能開發效果。現階段安全系統開發中遇到的種種問題,主要來源于技術現狀與開發功能之間的沖突,應用技術并不能滿足功能上的種種創新需求,應用軟件工程技術進行開發期間,還需要加強該方面問題的論證研究,確保最終的各項安全管理計劃,能夠達到預期的控制效果。
三、軟件工程技術應用開發網絡安全系統的措施
(一)模型構建
基于網絡工程技術開展網絡安全系統開發設計,首先需要對基礎模型進行構建,按照網絡安全系統的功能劃分,將模型劃分為幾大模塊。對其中的小模塊進行程序匯編,構建出基本框架模型后,在模型基礎上對細節部分功能進行完善。不同模型基礎均對應著相應的數據庫。為確保網絡安全,系統可以正常發揮使用功能,應用軟件工程技術進行開發設計中,采用了分層管理的方法,先將整體模型劃分成為個體。在進行管理過程中的數據資源匯總,最終形成整體化管理體系,基于網絡環境中系統運行使用,也能夠自動對干擾數據信息進行屏蔽,快速獲取接下來分析運算所需要的數據內容。模型構建是接下來數據分析處理任務開展的基礎,模型構建過程中,也會預留軟件系統投入使用后的更新空間,基于網絡環境中自動完成更新任務,將網絡平臺作為信息數據獲取的資源庫。
(二)分層處理
基于模型構建基礎上進行數據資源的分層處理,網絡環境中獲取的信息資源,通過分層處理可以提升整體運算速度。分層處理需要通過程序執行,確定分析過程中的目標層,以目標層為索引對其中的數據進行運算。分層處理是實現網絡安全系統開發的重點環節,能夠完成網絡環境中數據資源以及風險隱患評估的基礎運算,分層處理后所得到的最終結果,在軟件工程技術應用幫助下,會選擇高效的傳輸通道,進入到系統開發研制平臺中,對開發過程中的數據庫完善進行指導。分層處理任務可以結合網絡運行環境開展,體現出分層處理中環境信息的不同,并通過這種方法幫助全面提升控制處理安全性,為管理計劃以及各項功能實現,創造穩定的處理平臺。
(三)數據預處理
網絡安全系統運行使用中,涉及到數據預處理項目,可以通過數據預處理幫助全面提升控制功能開展效率。處理預處理主要是針對數據進行分類,創造出與數據庫使用需求類型一致的層次劃分。基于網絡環境中數據信息獲取更新的速度比較快,短時間內面對較大的數據處理任務量,可能會出現數據更新上的延時。預處理技術應用便能夠有效的解決這一問題,突出強調開發中得數據獲取速度,會根據數據的不同類型,進行基礎分類,接下來的數據分析處理任務,可以在基礎分類上二次開展,確保計算過程中不會出現結果誤差。檢查過程也是一項篩選功能,判斷所存在的問題,并加以優化解決。文件夾處理分析過程中程序內各個模塊之間相互配合運行,共同參與完成信息檢索任務。
四、結語
當前,國外人力資源管理系統在成熟度和先進性上都要優于大多數國內產品[1]。中西方文化存在差異,國內企業在人力資源管理過程中更強調人性化,而非制度化,所以國外引進的人力資源管理系統在實用性、有效性上不能很好地滿足國內用戶的要求。企業在自行開發人力資源管理系統過程中,往往由于內部開發人員缺乏項目經驗,導致應用與需求相悖,系統不能起到應有的作用[ 2]。本文基于uml技術,探討人力資源管理系統開發。
1統一建模語言uml
在軟件開發過程中,建立簡潔的系統模型更容易受到開發人員的青睞[3]。統一建模語言uml作為一種建模工具,是在booch、omt、oose等面向對象的方法的基礎上發展起來的[4]。它融合了上述多種面向對象的方法在各類系統開發中的優點,從而有效消除了各種建模語言之間的差異。uml由事物(things)、關系(relationships)、圖(diagrams)等幾個部分組成[5],可以分為關聯關系、依賴關系、實現關系、類屬關系等4種關系[6]。
2基于uml的人力資源管理系統需求分析
2.1系統頂層用例圖
如圖1所示,人力資源管理系統涉及4種角色、8個功能模塊,不同角色對應不同的功能模塊。具體如下:①超級系統管理員。對系統管理員進行管理操作,設置多個系統管理員并賦予其不同的權限;②系統管理員。主要對公司、部門、職務等進行管理;③人事管理員。具體操作系統,如員工招聘、績效考核、更新職員信息等;④普通職員。可以對職員個人信息進行編輯等。系統頂層用例圖中每一個管理模塊均可以進一步細化,如組織機構管理用例可以細化成公司管理、部門管理、職業管理3個部分。
圖1人力資源管理系統頂層用例
2.2組織機構管理用例圖
如圖2所示,組織機構管理用例圖是人力資源管理系統的重要部分,主要包括公司管理、部門管理和崗位管理3個功能模塊,由系統管理員對這3個模塊進行增加、刪除、修改等基本操作。
圖2組織機構管理用例
部門管理子系統中,系統管理員可以對公司中部門職務進行新增、刪除、修改等操作。文本以新增部門職務相關事件流及其活動圖(見圖3)為例進行說明,詳細描述操作中涉及的基本事件流、備選事件流以及所有可能的操作。
圖3新增部門職務用例
(1)基本事件流。描述該用例的基本流程,指每個流程都正常運作時所發生的事情,沒有任何備選流和異常流,只有最有可能發生的事件流。首先,系統管理員成功登錄系統后,選擇管理組織機構界面,再依次選擇公司、部門管理、新增職務,然后輸入職務名稱、職務描述等基本信息,最后提交至數據庫。
(2)備選事件流。表示此行為或流程為可選或備選,不一定都要執行,備選事件流為發生了某些非正常操作所要執行的流程,主要包括不滿足提交條件及重置兩個事件,其中不滿足提交條件包括未完整填寫所需信息和提交信息非法兩種情況。
2.3新增部門職務活動圖
活動圖是uml對系統動態行為進行建模的一種常用工具,用于描述活動的順序,展現從一個活動到另一個活動的控制流。活動圖在本質上是一種流程圖,著重表現從一個活動到另一個活動的控制流,是內部處理流程。
新增部門職務活動圖(見圖4)中,通過登錄界面進行登錄,并校驗登錄數據的合法性。如果登錄合法,則從公司列表中選擇需要進行新增部門操作的公司,再選擇部門,選中部門職務,并將更新對應數據庫中的數據表。
圖4新增部門職務活動用例
3基于uml的人力資源管理系統設計與實現
3.1系統框架總體設計
明確系統需求后,系統開發的主要任務是分析所涉及的技術問題及限制,制定解決方案,并通過具體代碼編程來實現。如圖5所示,本系統開發總體為三層架構,架構之間自下而上的依賴關系為:底層為數據訪問層,業務邏輯層依賴于底層,而表示層依賴于業務邏輯層。
圖5層依賴關系
3.2系統類圖
以本系統組織機構類圖和人事管理類圖為例(見圖6),共定義了3個組織機構相關的類:企業類(company.cs)、部門類(department.cs)和職位類(jobposition.cs);與企業職員相關的類有:職員類(
employeeuser.cs)和職員職位類(empposition.cs)。由此類圖可以得出類之間的關系:company與department、department與jobposition、company與employeeuser、department與employeeuser都是一對多的關系;empposition與jobposition為多對多的關系。