時間:2023-05-24 17:04:49
序論:在您撰寫軟件開發基礎知識時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
關鍵詞:計算機;軟件開發;技術;知識;基礎原理
計算機軟件技術的開發和穩定的發展,也能夠為社會的發展和信息的進步做出很大的貢獻,也能夠對經濟的發展提供著不可或缺的力量。這也需要更多熱衷于計算機軟件的開發的人才做出更多的努力與貢獻,也需要對計算機軟件的開發有著深刻的認識與經驗,這才是計算機的軟件開發與發展重要的基礎,只有不斷地努力才能在計算機軟件開發的活動中發揮更好更重要的作用,逐漸地深入到人們的日常生活中,也使得計算機更加有利于人們的生活。
1計算機軟件開發概述
隨著社會經濟的不斷發展與更新,計算機的技術也在不斷發展,雖然發展的歷史不長,但是已經取得了明顯的進步,都在利用著計算機的有利的效果和一些方面,計算機的開發和更大的進步是現在現在需要解決的問題,軟件的開發與進步也是對社會有著不可或缺的力量,目前計算機也大概能按照使用者的需要執行各種需要的任務,是計算機的核心系統CPU將電路分成兩種狀態通路和不通路,并且和數學中的二進制有效地聯合起來并執行使用者給的任務和命令,要想有效地實行使用者也必須采用二進制的方法,這是人機交流方面的一個重大進步,但是計算機也有一些缺陷是我們必須解決的,所以也是亟待解決的問題,然而的計算機研究人員在原來二進制的基礎上再進一步地發展了和研發了高級計算機語言,這個方法是通過英語簡化語言的方式,準確而又方便地實現了計算機器與人類的各種信息的交流,也進一步的方便了人們的生活和日常的工作。而目前是主流的VF和VB這兩種可視化的編程語言的出現,讓計算機的軟件技術又在人類的發展歷史上有一個里程碑,也使得平時生活中對計算機軟件的開發技術感興趣和有著深刻了解的人也可以簡單地能控和致力于這些技術的發展,時代是進步的,技術也是不斷發展的,也由此快速而又逐步趨向簡潔的發展可以看出當前的計算機軟件正在朝著更加有利于人們的方向發展,技術開發也在朝著簡單有利的方向進行著,這是目前有利的一方面,還是需要更多的計算機研究人員們的不斷努力。
2存在的問題
2.1計算機軟件開發的特點
計算機的技術也在不斷地成熟,隨之而來的是軟件的開發也是相當熱門的門業與行類,伴隨著計算機技術的發展計算機的軟件技術也在不斷地更新中,計算機的軟件開發技術也在不斷地發展中,就在短短幾十年的時間取得了很大的進步并且目前仍有特別大的發展空間,在迎合人們生活與工作等各個方面的需要。新的計算機軟件技術也在更新交替出現,目前已經存在的計算機的軟件技術也在進行著不斷地更新,因此,也毫無疑問地可以看出來計算機軟件最明顯的一個特點就是不斷地交替,不間斷,有著持續性。雖然目前有很多的計算機軟件,但是隨著經濟的發展和社會的需要,新的計算機的開發軟件也總是在順應著人們的要求不斷出現,也總是有不同程度的創新和發展,而軟件的創新也是一個不間斷的持續的過程,需要加以想象力并且很好的研究,但是對于已經存在的計算機軟件不應該摒棄它們的作用,應該對其加以改革和創新,保持持續不間斷的更新,才可以保證自身的安全性和其中的穩定性,就比如常見的也經常利用的Windows操作系統,作為一種現在的軟件系統它就會定期地隔一段時間進行更新也會對自己的不足進行系統的完善,并且也會一些更新的消息可以自動進行更新,這也是其中的優勢所在,軟件的開發業在各個領域的運用中扮演著越來越重要的作用。另外,計算機軟件技術開發的特點也是不斷地隨著經濟的發展和運用以及社會生活在不斷更新,計算機軟件系統具有很強的針對性,對日常生活的需要和工作的各個方面都具有很大的幫助,也是它能夠獨立地發展成一門學科的關鍵所在。計算機軟件的基礎框架構架對于目前來說計算機軟件的開發與設計已經成為了一個系統性的工程,對于軟件設計的各個環節已經形成了一些固定的模式,所以在計算機軟件開發的過程中最為重要的就是它的基礎框架的構造與設計,只有選擇一個優秀的基礎框架這樣才能夠保證計算機軟件開發的后面一些程序的編寫,系統的維護和技術的拓展有著更高的利益和方便之處。因此在計算機的基礎軟件開發中和平時的活動中,必須首先確定計算機軟件的基本框架,確定需要的基本目標,更有利于研究人員的開發,也能夠為后繼工作的編寫提供給我們更多的便利。一個重要的問題是需要必須提高軟件工程中的速度。
2.2計算機軟件開發的過程
計算機軟件的基礎構架完成就需要進行一些編寫工作,對需求分析工作已經認真的完成,就要進入最重要的環節,對于計算機的軟件系統的實際設計環節,目前在這個過程計算機軟件的研發人員最經常使用的C語言的編程,主要是因為它是高級語言,這種高級語言的結構性和它的基本框架都比較突出,所以被很多編程的人員經常使用,目前在軟件編輯領域也出現了很多VF等可視化的編輯語言,但是人們大多還是使用C語言,也是因為軟件設計的特殊性。一個重要的問題是需要必須提高軟件工程中的速度,速度對大部分人來說都是一個重要的問題。對于基礎框架的設計與利用是必須嚴格遵循一定的邏輯關系,計算機軟件的設計是利用特定的邏輯關系必須對軟件的內容進行嚴格的定義,而研發人員所必需遵循的特定的邏輯關系就是計算機軟件技術開發中的基礎的框架構造,因為計算機的基本框架的構造不僅能夠決定平時運用這些軟件時運行的流程和運行計算機的方式流程和速度等,還會對未來軟件的維護和在發展產生更重要的影響,但是對于計算機的軟件開發的基礎構架不能是封閉式的,如果是封閉式的就不會具備這些基本的擴展能力,還有一個問題就是由于在編寫程序的時候一些軟件的系統的本身就比較復雜,這就需要研究人員的共同完成,這也造成了這個軟件本身系統的龐大性,所以有時候在實際的編寫過程中,那些本身龐大的軟件在進行編寫操作的時候會被分割成好幾個編輯模塊,在這些被分成細小模塊的基礎上就必須確立一個主函數,利用這些主函數對這些細小的模塊進行管理,就比如在計算機系統軟件在進行操作某個程序的時候,主函數就會對這些分散的編輯模塊進行統一的調用,這樣才能實現各個模塊統一協調的工作,使得整個系統能夠完整有序地進行,同時也提高了計算機軟件設計的工作效率,加快了工作時的速度,正是因為多人的分工合作,才能更大地加快計算機軟件系統的開發與工作狀況。
2.3計算機軟件開發的測試與維護
對于計算機中軟件系統可以說是整個計算機系統中最重要的管理系統,計算機的系統會根據軟件的系統進行各種工作。而目前對于計算機軟件的基本框架基礎應用最廣泛的有3層:表示層、邏輯層、和數據層三層結構組成的基礎的構架,在現在的基礎框架中軟件表示層、邏輯層和數據層分別對應著計算機軟件系統的人機交互界面,邏輯關系和計算機語言區。這樣對一個軟件有了基本的基礎構架,在后期進行維護的時候才能不傷害其他系統,仍可以使其他系統有條不紊地進行。一個優秀的軟件技術的基礎構架能夠極大地提升在計算機軟件的應用的效率和運行的速度。而當前的計算機軟件系統的針對性也越來越強,所以在后續運用方面進行運行管理時應該根據自身的結構基礎進行調用,面對目前計算機軟件的開發形勢與方向,研究人員必須進行一定的討論最后再根據需求者的應用設計不同的適合客戶發展的方面。這樣既可以保證工作的方向性,也可對后部計算機軟件的維護發揮一些重要作用,也可方便研究人員的設計工作。這些軟件在進行編寫成功后是不能馬上投入到工作的,需要進行調試,一些研究人員的跟隨,因為在其中可能會出現一些漏洞。根據各個軟件的不同調試方法要利用科學的方法調試,也有益于后期的維護工作。
3計算機軟件開發過程中的問題
3.1確立好計算機軟件的基本框架
對于一開始的確立的框架結構必須選擇科學無誤的框架,才能有利于后期的一些編寫的進行,計算機軟件的研究開發人員必須進行準確無誤的研究討論,最后才可以確定客戶需要,所以對于第一步的框架構造應該認真選取方案。
3.2完善程序編寫數據
計算機軟件技術開發過程中對于程序的編寫的工作,根據第一步框架結構能夠無誤地進行,編寫工作的進行跟從主函數的分配才使得各個工作有條不紊地進行,所以確實主函數,研究人員應該正確地討論主函數的選用,才能使得主函數有利的支配于編輯模塊,各個工作人員的分工才能更好地進行,對編寫工作也有很大的方便性。因此在計算機的基礎軟件開發中和平時的活動中,必須首先確定計算機軟件的基本框架,確定需要的基本目標,更有利于研究人員的開發,所以說建立基本的框架基礎是首要目標。應該滿足客戶的要求進行軟件的編寫工作,而目前在日常生活中最常用于生活的是C語言,C語言主要特點是它的結構明顯的突出,它的基礎框架也是特別優秀的,也能夠為后繼工作的編寫提供給更多的便利。一個重要的問題是需要必須提高軟件工程中的速度,速度對大部分人來說都是一個重要的問題
3.3做好軟件最后調試
最后就是完成后對于計算機軟件的調試工作了,軟件不能立即投入到使用中,需要進行嚴格的調試并認真地改正,滿足客服的需求,在后期進行維護的時候才能不傷害其他系統,仍可以使其他系統有條不紊地進行。一個優秀的軟件技術的基礎構架能夠極大地提升在計算機軟件的應用的效率和運行的速度。這也方便后期對這些軟件漏洞的維護,需要對大部分的數據進行研究工作,以保證計算機軟件的有效進行,也可以防止后期漏洞的產生,也可以加快軟件自動更新的作用。
4結語
隨著當代社會經濟的發展,計算機軟件的開發技術已經深入日常生活中,也大大方便了平時的生活,成為了不可或缺的力量,編寫的過程可能有些許的復雜,但是只要研究人員深刻的投入,所有問題都是可以解決的。
參考文獻
[1]金.規范化在計算機軟件開發中的應用[J].物聯網技術,2016,(01).
[2]董海,葉永利.計算機軟件開發的JAVA編程語言分析[J].數字技術與應用,2016,(01).
[3]許葵元.淺談計算機軟件開發中的分層技術運用[J].數字技術與應用,2016,(01).
[4]林雪海,吳小勇.計算機軟件開發的基礎架構原理研究[J].電子制作,2016,(Z1).
一、系統計劃:它包括系統定義及分析、可行性研究和實施計劃報告的編寫。1、系統定義是制定軟件計劃的第一步,它應決定所開發軟件的總目標,其任務包括首先是確定所開發軟件的總體要求和適用范圍,描述所開發軟件與外界接口的關系;其次是確定所需硬件和軟件的支持,對開發的進度和成本作初步估計;第三是分析系統的可行性是否確定所開發軟件與原軟件的兼容性或其它關系;最后是確定所開發軟件的性能與其內部復雜性之間的折中關系。2、可行性研究它包括技術可行性、經濟可行性及社會可行性方面。技術可行性是研究應弄清現有技術條件能否順利完成開發工作,對參加開發工作的人員應有哪些技術方面的要求。硬件配置能否滿足開發的需要,估計的進度是否恰當以及對用戶的技術方面的要求是否合理等等;經濟可行性研究的目的是希望以最小的開發成本取得最佳的經濟效益的軟件產品;社會可行性研究則是指所開發的軟件項目是否涉及到版權糾紛等法律問題,這樣的軟件產品投入運行后,對生產、管理或經營體制帶來有什么社會影響。3、實施計劃報告的編寫是開發進度、人員投入計劃、人員的組織及其資源的利用作個計劃報告提綱。
二、系統需求分析:需求分析的任務在于完全地弄清用戶對軟件系統的確切需求,它具有三大特點:準確性和一致性;清晰性和沒有二義性;直觀、易讀和易于修改。比如,你首先要知道做這個項目是為了解決什么問題;測試案例中應該輸入什么數據等等,為了清楚地知道這些需求,你經常要和客戶、項目經理交流等。需求分析的步驟:1、通過對現實環境的調查研究,獲得當前系統的具體模型;2、去掉具體模型中的非本質因素,抽象于當前系統的邏輯模型;3、分析當前系統與目標的差別,建立目標系統的邏輯模型;4、對目標系統進行完善和補充,并寫出完整的需求說明;5、對需求說明進行復審,直到確認文檔齊全,并且符合用戶的全部需求為止。
三、系統設計:主要分成兩步即概要設計(總體設計或結構設計)和詳細設計。概要設計階段應著重解決實現需求的程序模塊設計問題,如何把被開發軟件系統劃分成若干模塊,并決定模塊的接口,模塊間的相互關系以及模塊之間傳遞的信息。詳細設計則是要決定每個模塊內部的具體算法。經概要設計和詳細設計完成后,需要進行必要的階段評審,其目的在于使設計發生問題能夠及時發現并得到及時的解決。實際上軟件設計的主要任務是就是將軟件分解成模塊,該模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。
四、系統編碼:系統編碼即編程序是軟件開發的最終目標,是產生能在計算機執行的程序,其目的是使用選定的程序設計語言,把模塊的過程性描述翻譯為用該語言書定的源程序。實質上,軟件=程序+文檔。編碼的目的是產生程序,其余階段是產生文檔。軟件編碼是指把軟件設計轉換成計算機可接受的程序,寫成以某一程序設計語言表示的“源程序清單”。能充分了解軟件開發語言、工具特性和編程風格,有助于開發工具的選擇以及保證軟件產品的開發質量。
五、系統測試:包括測試的方法與技術和測試步驟。測試在軟件生命期中占重要地位,不僅是因為測試階段占的時間、花費的人力和成本占軟件開發的比重很大,而且它直接影響著軟件的質量。程序中許多細微的地方要求絕對正確無誤,不能半點馬虎。軟件開發工作在測試以前已經歷了制定計劃、需求分析、設計和編碼等許多階段,每一個人的思維不可能絕對周密,而不可能不出現差錯,更不用說,在大中型軟件開發項目中,系統內各部分之間、各種數據之間、各種人員之間存在著復雜的關系,因而目前可采用的開發方法都不能完全避免發生差錯。1、測試的方法與技術主要是機器測試與人工測試和白盒測試與黑盒測試。機器測試是在設定的測試數據上執行被測程序的過程,又稱為動態測試。人工測試并不是可有可無的,為了節約計算機機時采取的權宜措施。它是機器測試的準備,也是程序測試中不可缺少的環節。而白盒法和黑盒法主要依據是軟件的功能或軟件行為描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部、外部借口、資源管理、集成化以及系統錯誤。2、測試步驟。分單元測試(模塊測試)、綜合測試、確認測試和系統測試四部分組成。它是整個計算機系統(包括軟件與硬件)的測試,可與系統的安裝和驗收結合進行。測試的目的是讓你知道,什么時候算是完成了,這樣可以及時知道你是否真的完成。
測試是軟件開發時期最繁重的任務,也是保證軟件可靠性最主要的手段,測試的目的是發現程序的錯誤,而不是證明程序沒有錯誤,軟件的測試通常分散在3個階段進行。編碼階段完成單元測試,包括靜態分析與動態測試。
關鍵詞:Web軟件 生長式開發 模型 支撐工具
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2013)11-0205-01
進入20世紀,互聯網已經逐漸滲透到人們生活和生產的各個角落,Web技術給人們帶來了一個分布式、超媒體、信息量龐大的網絡資源共享平臺,Web軟件應用在這個網絡平臺中可以為互聯網運營商和Web軟件研發者帶來巨大的經濟效益。但是由于現階段互聯網的應用環境日趨復雜,這為Web軟件的研發和維護帶來了巨大的挑戰,所以如何改變傳統Web軟件開發模型,提高軟件的應用質量、拓寬軟件的應用范圍等問題已經成為廣大軟件研發人員探討研究的熱點問題。
1 我國Web軟件的生長式開發過程發展現狀分析
目前,我國Web軟件開發市場混亂,傳統的軟件開發周期很長,其過程模型大多無法適用于現在的互聯網環境。這種現象導致很多低質量、低安全性的軟件充斥在互聯網中,給人們的生活和生產帶來了諸多不便。與此同時,網絡用戶對Web軟件的需求也發生了很多改變,具體表現在以下幾個方面:①互聯網的開放性和動態性,促使Web軟件必須轉變原有的開發方法和工具,使軟件開發不再過分依賴網絡信息資源和支撐工具;②網絡用戶的復雜性和差異性,要求Web軟件必須具有較高的安全性和實用性;③互聯網正處在發展階段,所以Web軟件的開發方法和支撐工具必須緊跟網絡技術革新的步伐,呈現應用性能的多樣性。
2 Web軟件生長式開發過程模型
2.1 Web軟件生長式開發過程模型構成
Web軟件研發一般要經歷三個階段:萌芽期、生長期、衰亡期。萌芽期,這個階段是制定Web軟件應用性能的重要階段,通過各種研發模型,分別建立不同種軟件生長模式,在根據其模型的應用性能,對模型進行甄別,找出最優的開發過程模型;生長期,這個階段是體現Web軟件應用性能的主要階段,通過對軟件應用性能的監測,不斷開發集成新型軟件構件,使軟件能夠及時發現與識別互聯網新需求,從而提高Web軟件的綜合使用性能;衰亡期,是一個Web軟件在不能滿足互聯網新需求的情況下,被淘汰而停止使用的過程[1]。
2.2 Web軟件生長式開發模型的作用
通過上文對Web軟件生長式開發構成的研究和分析可知,Web軟件生長式開發模型對Web軟件的研發具有重要影響意義,其作用不可忽視,主要表現在以下幾個方面:①能夠準確定位Web軟件研發的終極目標,通過這個目標能夠讓軟件研發人員建立正確的軟件認識理論;②規范軟件研發規律,為軟件的支撐工具的選擇提供可靠依據,使軟件能夠隨著用戶需求的變化而不斷升級[5]。
3 Web軟件生長式開發過程的支撐工具
3.1 選擇Web軟件生長式開發過程支撐工具的原則
通過對Web軟件生長式開發模型的研究分析可知,其支撐工具應具備以下幾個性能:①其應用性能必須滿足互聯網新需求的同時,具備網絡識別功能,將網絡用戶和互聯網環境變化信息及時反饋給軟件研發者;②具有一定的抗干擾能力,能夠克服傳統網絡工程中的應用問題,并能對其環境影響參數變量進行系統分析;③支持多種計算機操作程序,尤其是新型計算機網絡系統的集成操作程序,在滿足網絡功能要求的同時,能夠及時找到軟件構件與系統脫離的原因;④支撐工具能夠支持多樣性和組合性的軟件研發手段,使Web軟件實現多種開發方法和實現技術的混合使用;⑤支撐工具要在軟件中表明軟件應用重點和難點,以便網絡用戶準確掌握軟件應用技術;⑥支撐工具應符合軟件研發的拓展條件,讓軟件在新環境、新方法、新技術下,能夠實現軟件的固件升級[2]。
3.2 Web軟件的集成機制
軟件支撐工具和集成機制對Web軟件的綜合應用性能的影響都很大,所以在正確選用Web軟件支撐工具之后,還應制定合理、完善的集成機制。Web軟件集成機制主要分為以下三類:①靜態集成機制,在軟件研發過程中,靜態集成機制可以將軟件各構件的源代碼進行統一翻譯,這樣可以使Web軟件在固定背景下,完成生長式開發過程;②動態集成機制,將目標代碼通過連接形成完整的系統,并在系統運行開始之前完成集成;③活態集成機制,在各個集成成分都在運行狀態下通過通訊和交互形成一個協調工作的系統[3]。
結論:通過上文對Web軟件生長過程開發模型和支撐工具進行系統分析可知,要想提高Web軟件的綜合使用性能,必須建立一個支持軟件長期生長策略的開發模型,在軟件研發過程中,制定一個完善的開發策略,使軟件研發者在充分了解軟件生長環境、系統結構以及實現現狀的情況下,克服現有軟件環境對生長式生命周期支持不力的缺點。由此可見,Web軟件作為軟件工程的重要研究課題,仍存在很多問題需要廣大軟件研發工作者去研究和探討[4]。
參考文獻
[1]朱鴻.Web軟件的生長式開發過程模型及其支撐工具[J].電子學報,2010,13(25):114-126.
[2]朱克飛.Web軟件的生長式開發過程及其支撐工具芻議[J].計算機光盤軟件與應用[J].2013,20(15):145-153.
[3]馮華.Web軟件開發的階段化生長模型及其應用[D].上海交通大學,2008(10):156-164.
【關鍵詞】 軟件開發 技術
計算機技術的發展是日新月異的,特別是近年來,隨著各行各業經濟建設和社會發展,需要不同的軟件和技術為經濟社會發展服務。近年來,隨著我國的各項技術的不足和發展程度不夠,我們在此技術的基礎上提出了更高的要求。我國的自主創新能力和軟件開發創新能力發展不足是我國目前所面臨的主要困境。這些技術創新阻礙禁錮了我國的社會發展。提高軟件開發能力和投入產出效率是目前亟待解決的。特別是軟件開發技術在我國發展面臨著諸多技術阻礙和科研投入不足的問題,更加需要我們進行技術創新和技術發展。
軟件開發成功與否關鍵在于,主要取決于我們對于其中主要矛盾和關鍵要素的掌控程度。軟件開發過程中的關鍵性要素對于整個過程起著決定性作用,主要的要素有:計算機基礎知識,自主創新能力,團隊合作能力,運用能力。上述這幾條是實現軟件技術進步的關鍵要素。
一、計算機基礎知識
計算機出現于1946年的美國賓夕法尼亞大學,出現之初主要是為了實現軍方的聯系和鞏固國防的目的。隨著計算機技術的發展和進步,他已經不僅僅局限于某個特定的領域,而是廣泛的應用于社會生產和生活的方方面面,計算機技術在如今的發展已經處于中期階段,許多計算機技術和軟件技術已經相當先進,運行效率高,計算速度快的特征使得這些技術已經成為我國技術發展的主要依托。我國的計算機技術起步較晚,發展速度慢,自身的發展基礎和實踐經驗都不夠豐富。因此,我國的軟件開發技術相對落后,需要借鑒發達國家的技術和軟件開發資源作為我國計算機發展的基礎和平臺,實現我國技術的發展和進步。我們只有熟練的掌握了計算機基礎知識,才能夠在運用的基礎上進行軟件開發。計算機基礎知識是經過實踐的檢驗,并且在實際需要中不斷地改進之后才最終形成的理論,包括操作系統,計算機資源開發系統和信息管理系統,信息處理系統等理論知識。這些主要的理論知識都是實現轉變和創新的主要理論依據。
二、主創新能力
軟件開發能力實際上主要取決于團隊和群體的自主創新能力,自主創新能力是實現理論發展和進步的源泉。因此,只有具備了自主創新能力,才會在當前的環境下提出更多的疑問,并且能夠應用全新的思維和方式來解決實踐發展中出現的問題。我們只有通過這樣的方式才會真正的促進技術的發展和進步。目前,我國的CPU技術依然處于落后階段,中國國內自主開發的CPU處理效率低,運行慢。剛剛誕生就意味著即將被淘汰??梢钥闯?,我國的技術創新動力和水平遠遠落后于世界。造成我國計算機技術落后的根本原因在于我國的自主創新能力低下,總是因循守舊,不能夠自主的進行技術創新開發。
因此,加強自主創新能力,創建創新型國家是實現可持續發展的根本途徑,軟件開發領域的自主創新思維和能力將會引領世界范圍內的變革和發展。自主創新能力實際上是一種非常規的視野和思維來解決實際中出現的問題,這樣就為現實問題的解決增加了新的途徑。
三、團隊合作能力
技術共享與成果交流是實現發展和進步的一個重要因素,面對著龐大的計算機系統和復雜的軟件難題,一個人的能力在這樣龐大的任務面前顯得微不足道。只有加強團隊合作和交流,實現發展環節無障礙才會促進團隊內部的成長和進步。面對復雜的軟件開發問題,只有加強任務的分配和團隊內部的交流溝通才會提升發展效率,少走彎路。
四、接受和運用能力
軟件開發的速度越來越快,新產品也一直處于不停的更新換代之中,面對這些復雜的變化,我們作為軟件開發專業工作者,就必須要具備解讀和理解運用不同的外來技術的能力。
關鍵詞:高職;軟件開發課程;虛擬實訓;實踐教學
中圖分類號:G712 文獻標識碼:A 文章編號:1007-9599 (2012) 11-0000-02
一、引言
為培養應用型和技能型軟件開發人才,在高職軟件技術專業中實施三階段技能遞進培養模式,該模式將技能培訓分為基本技能積累、專業核心能力培養和綜合技能培訓三階段。基本技能積累階段包含培養學生基本操作技能和編程技能的課程,如程序設計基礎等課程;專業核心能力培養階段包含培養更高一級專業能力的課程,如桌面應用程序開發、web應用程序開發等課程;綜合技能培訓階段是在前兩個階段的基礎上,開展以提高職業行動能力為目標的綜合技術應用訓練。
學生在教學階段遞進過程中需要通過大量實踐掌握軟件開發技能,因此每一門專業核心課程都設置相應的實訓課程,這些課程與綜合技術應用訓練都是以軟件開發項目為載體,通過實訓,使學生提高實踐能力、積累實際軟件開發經驗。為實現實踐教學過程與軟件開發過程的對接,必須采用相適應的教學模式以及提供合適的軟件開發實訓環境。由于培養費用、實踐場地的限制,讓每個學生都走上實際工作崗位參加真實環境中的項目開發存在很大的困難。在軟件開發實訓課程中采用基于虛擬實訓的實踐教學模式可以很好的解決上述問題,虛擬實訓作為一種打破時間、空間限制的實訓方式在節約教學投資、優化教學情境和實現資源共享等方面均起到十分重要的作用。
二、構建基于虛擬實訓的實踐教學模式
(一)構建思路
根據對軟件開發人員崗位需求的調研,軟件產品開發工作過程包括項目立項、需求分析、設計、編碼、測試等一系列工作。工作任務對工作和技術的要求為熟悉軟件開發流程,掌握相關開發技術,具備良好的代碼編碼習慣及技術文檔編寫能力,有較強自學能力、分析和獨立解決問題的能力、團隊合作精神和溝通能力。
為達到學習過程與工作過程的一致性,引入虛擬公司形式,采用虛擬環境與真實項目相結合、虛擬員工與真實管理相結合的方式,構建基于虛擬實訓的實踐教學模式。在學校的實訓室中,模擬公司的工作環境,以真實項目為載體,按照公司的軟件項目開發流程完成項目開發,縮短學生所學知識和應用的距離。通過教師學生員工化,模擬公司開發部的組織結構,教師擔任項目經理的角色,完成崗位相應的工作,包括協調人員配置、制定項目解決方案、監控項目執行、提供技術指導、組織項目評審。學生擔任開發部普通員工的角色,在軟件開發員崗位上完成項目開發各階段任務,在項目實踐過程中熟悉規范的軟件開發流程,掌握高效的軟件項目開發方法和技能。
(二)內容結構
基于軟件開發崗位工作任務的要求,構建具有“工學結合、校企結合、虛實結合”特點的虛擬實訓教學模式。該模式主要由四部分組成:知識培訓、項目實施、項目管理和項目評審。各組成部分涉及三大類角色:項目經理(教師)、項目組長(學生)、項目成員(學生),項目經理負責完成知識培訓和項目管理,項目組長和項目成員負責項目實施工作,項目經理、項目組長和項目成員共同完成項目評審。
知識培訓部分:包括專業基礎知識、實訓項目涉及的關鍵技術與知識以及項目應用領域知識的培訓。專業基礎知識培訓包含軟件工程基本知識、特定語言的代碼規范、團隊開發規范、技術文檔編寫、軟件測試用例的執行和記錄等項目開發支撐知識。關鍵技術與知識的培訓由項目經理根據課程目標和項目特點展開,包括關鍵技術和常用架構的學習、企業最新技術和開發工具的引入。領域知識培訓是指項目應用領域背景知識的介紹,例如財務管理系統的開發背景涉及金融財會的相關知識。
項目實施部分:項目實施是虛擬實訓教學的重要組成部分,包括實訓任務分解和項目實現。項目組接受來自項目經理的實訓任務,由項目組長進行任務分解并分配到各項目成員。項目成員按照企業軟件開發流程執行項目實施各階段的典型工作任務。
項目管理部分:項目管理包括進度控制和過程檢查兩部分,由項目經理實施以保證實訓項目按實訓計劃、實訓大綱的要求如期完成。項目經理指導項目組長制定項目開發計劃,根據項目計劃監督各組的工作進度。過程檢查部分包括設定過程檢查點以及階段通過標準,項目經理按照通過標準審查階段成果,確保項目完成質量。
項目評審部分:項目評審部分由項目演示交流和項目考核兩部分組成。在項目演示交流環節,各項目組介紹開發過程、演示項目運行結果、進行項目答辯。在項目考核方面,采用多元化的考核體系,注重對學生實訓過程的評價,在項目經理考核的基礎之上,參照項目組長評價,得出最終評價結果。
(三)應用過程
關鍵詞:實踐內容;實踐教學模式;整合;教學方法
1研究背景及意義
培養既懂技術又懂管理的軟件高級人才,是各軟件學院追求的目標。對軟件學院的學生來說,項目實踐能力、自學創新能力、團隊合作能力和交流表達能力是其職業生涯中所不可或缺的。如何開設學生在校期間的實踐課程,對學生進行軟件開發基本技能訓練,使學生在學習了軟件開發技術相關領域的理論知識后,能夠充分地鍛煉這些能力,順利就業,并在此后的職業生涯中有所建樹,各軟件學院針對這些問題都在進行積極的改革與探索。
對于大多數軟件學院,制定合理的、適用于軟件開發技術快速發展的實踐教學模式面臨的問題主要有以下兩點:
1) 學生實際掌握的軟件開發技術水平參差不齊。新入學的工程碩士超過半數來自非計算機專業,這些學生具備相應的專業領域知識優勢,但在軟件開發技術所必需的軟件基礎知識方面卻存在不足。
2) 軟件開發技術包括語言、開發工具及其所使用的開發方法。同時還需要掌握與軟件開發技術相關的專業基礎知識,以及要了解所開發程序的實際運行平臺。各層次、各方面的大量實用產品和技術的推出,以及軟件工程碩士的學制短和學科基礎差別大的現實都給學生入門學習和系統掌握軟件開發領域的核心知識帶來巨大困難。
因此,研究和探索一種以動手實踐為主導、融合多門傳統課程、符合軟件工程思想的軟件學院實踐教學模式,將為軟件工程相關知識的進一步學習,提供堅實的理論基礎和技能保障。本課題的研究內容,將為軟件工程碩士實踐教學模式提供借鑒意義,同時,也可為軟件相關專業高年級本科生的軟件開發技術能力培養提供參考。
2研究內容及主要觀點
2.1研究范圍和研究目標
本文研究的實踐內容和模式主要針對于新入學的工程碩士,是根據軟件學院工程碩士入學時掌握的軟件開發技術水平參差不齊,部分學生缺少開發設計軟件所需要的基本編程能力、基礎核心支撐課程知識點的實際情況提出的。我們希望通過大量的實例強化訓練和有針對性的討論輔導,為學生順利學習、理解和掌握“專業方向領域的知識點”打下堅實基礎,為提高學生分析問題、解決問題的能力提供技術平臺支撐,具體目標如下:
1) 通過該實踐課程的學習,向學生灌輸高質量程序設計的觀念,使學生具備實際的編程能力,具備學習新語言的基本素質。
2) 通過該實踐課程的學習,使學生在熟練掌握語言技能的同時,深入理解算法、數據結構以及與平臺(Windows和Linux)有關的進程和網絡編程的基礎知識,并能夠自覺關心軟件質量,包括軟件的正確性、效率、易用性、可讀性(可理解性)、可擴展性和可復用性等。
2.2主要觀點
本實踐課程強調學生的主體地位,教師的指導作用,采用講座、小班討論和實驗相結合的方式進行。通過一門常用語言(C++)和兩個常用平臺(Windows和Linux),培養學生綜合運用已學知識的能力,使其深入理解程序工作的本質,為以后解決各種大型實際問題打下堅實的實踐基礎。實踐課程的基本構成是:9次×3小時講座+6次×3小時實踐討論+實驗。
實踐內容按專題組織,以C++作為程序設計語言、以Linux/Windows為實踐平臺,共設置涵蓋編譯原理、數據結構和算法、操作系統和網絡編程等核心基礎課程在內的9個專題。每個專題的課程形式包括講座、實驗、實驗報告和討論課4個環節。實踐內容的研究、確立和整合圍繞以下指導思想進行:
1) 通過動手實踐深入理解軟件開發基礎理論。
2) 提取核心知識點,壓縮課時,消除各傳統課程之間的隔閡,以適應軟件工程碩士學制短和學科基礎差別大的現實要求,講座內容以“專題”進行。實踐的題材包括練習、實驗和典型案例分析等,實踐的手段包括一讀、二寫、三總結。強調程序設計規范,確保技能的系統性和規范性。
設置講座的目的是要把各專題核心知識點的來龍去脈介紹給學生,使學生對目前程序設計的關鍵技術和基礎知識有個整體印象。因為雖然目前軟件設計技術種類繁多,但究其本質,還是超不出軟件工程的基本思想。學生在學校不可能完全熟悉每一項技術,但理解常見技術的應用背景和發展原由卻是進行相關應用的前提。
設置實驗的目的是讓學生通過閱讀經典代碼和自己動手編程去深入理解程序的工作原理,并通過總結做到舉一反三。在熟練掌握基本的編程技巧,學會規范化編程的同時,系統地掌握相關的基礎理論知識。
設置討論課的目的是要解決學生基礎差別大,相當部分學生基礎薄弱的問題,實現個性化教學和輔導。課程討論分小組進行,每組10~15人,每專題每小組兩小時。討論課主要用來解決該小組學生在自學和實驗過程中所遇到的疑難點,并通過討論這些疑難點,有針對性地對該小組學習作出總結。
為了便于大家的學習和溝通,學院網站為實踐課程設立專門的文檔下載、上傳區和討論區。學生可以下載與實踐相關的各種文檔、案例、講座內容以及經典參考書目;學生也可以通過上傳區提交每周的作業,包括編程源代碼和實驗報告;學生還可以在該區域進行重點、難點的討論,提出好的建議,便于課程的改進和課程內容的及時更新,做到與時俱進。
9次講座內容如表1所示,6次實驗課的內容如表2所示。
2.3實施原則
為了使實驗課的實際效果落實到實處,學生真正能夠從中獲益,提高軟件開發的基本技能,實踐課程的執行和實施必須遵循如下4個原則:
1) 一種語言,兩個平臺,分專題訓練[1]。
軟件工程實踐以C++為基礎,因為相比目前流行的C、Java和C#,C++既是面向對象編程,又具有Java和C#不具備的指針和引用等和內存管理相關的比較直觀的技術,同時C++在操作系統、設備驅動程序、視頻游戲等領域相比上述語言也存在優勢。兩個平臺為Windows或Linux??紤]該實踐課程的主要目的是“學生的計算機領域核心的基礎知識的掌握和提升”,知識面涉及編程語言、算法、數據結構、操作系統、編譯原理和網絡等各個方面,實踐內容以“專題”進行,同時也要求實踐指導老師具有豐富的項目實戰經驗。
2) 個性分塊和統一指導相結合[1]。
所有學生根據具體基礎條件分為15人左右一組,設立小組長。各小組根據自身條件,進行強制集中練習,從而保證上機和實踐時間。每周各小組具體的訓練內容由指導老師根據小組的具體情況分別指定。學生必須在完成老師指定的任務后才能自行決定訓練內容。學生也可對指導老師提出學習內容變更建議,但須征得指導老師同意。
3) 分散訓練與集中討論相結合[1]。
學生在每周針對各小組舉行的討論會上可以提問相關問題。指導老師要回答相關問題并對學生上周的作業數量和質量進行評定,并根據小組所有學生的具體情況指定相互幫教的計劃,布置下一周的練習內容。指導老師在學生的整個實踐過程的作用是指導、監督并對其中的每一個環節進行考核打分,及時發現問題,及時總結解決,確保所有環節落到實處,不流于形式。
4) 堅持考核評審的原則。
考核采用平時成績與期末筆試相結合的方式,其中平時成績占總成績的40%,筆試成績占總成績的60%。平時成績由指導老師根據平時實際情況給出,主要依據是學生每周完成案例代碼和實驗報告的質量,筆試側重于代碼閱讀、設計能力以及基礎概念和原理的理解和掌握。
3結語
通過整合課程內容、強調學生自學和教師輔導相結合的方法,我們在有限的課時內達到了補習軟件基礎知識和學習面向系統軟件開發技術的兩個教學目標。學生的反饋調查顯示本課程體系得到了學生的高度認可和肯定,取得了一定的成效。但是整個軟件市場中依然存在著企業招不到合適的高級軟件人才,畢業生就業難的供求矛盾,面對軟件開發技術知識體系更新換代快的特點,如何培養能夠適應市場發展,具有創新意識的高素質軟件人才將一直是我們探索研究的重點。
參考文獻:
[1] 覃文忠,萬金友. 關于軟件學院實施“項目驅動”教學模式的探索[J]. 計算機教育,2004(4):57-58.
[2] 南京大學軟件學院工程碩士培養方案[S]. 南京:南京大學軟件學院,2006.
[3] 北京大學軟件與微電子學院工程碩士培養方案[S]. 北京:北京大學軟件與微電子學院,2005.
[4] 張廣軍. 微軟院校課程體系設計理念[R]. 北京:北京航空航天大學軟件學院,2005.
[5] 北京航空航天大學軟件學院軟件工程碩士培養方案[S]. 北京:北京航空航天大學軟件學院,2004.
[6] Michael L. Scott. Programming Language―Pragmatics[M]. 裘宗燕,譯. 北京:電子工業出版社,2005.
[7] Randal E. Bryant. Computer Systems―A Programmer’s Perspective[M]. 龔奕利,譯. 北京:中國電力出版社,2004.
[8] Kenneth C. Louden. Programming Language―Principles and Practice[M]. 黃林鵬,譯. 北京:電子工業出版社,2004.
Exploration of Practice Model in Software College
SHEN Xue-ping, YUAN Cang-zhou, WANG Hua-feng
(Software Institute, Beihang University, Beijing 100191, China)
關鍵詞:實訓體系;Android軟件開發;培訓
中圖分類號:TP31 文獻標識碼:A 文章編號:1001-828X(2013)06-0-02
移動互聯網是繼通信、計算機和互聯網之后的又一次信息產業的革命性發展,并成為全球信息通信行業的萬億元級新興產業。近年來,由于3G技術的發展,國內智能手機的普及率急升,人才市場對于Android軟件開發工程師的需求量也急升,因此,如何快速地培養和建設Android軟件開發工程師,成為IT企業培訓的熱點。本文旨在探討IT企業如何通過實訓培訓體系的模式快速培養有計算機基礎的初學者成為相當于1-2年開發經驗的開發工程師。
實訓體系建設包括獨特的實訓形式建設、實現過程的開展以及課程和師資的組建。其中,最根本的把握好實訓的內涵和監控整個實訓過程的開展是關鍵。
一、實訓形式
實訓的特點就是通過項目實際操作的方式,使得每個學生通過做項目來鍛煉時間的編程能力。具體的形式為每個班的學生組成軟件項目組數個,每個項目組均以真實項目為背景,重新演練一個經裁剪過的項目立項、計劃、需求分析、設計、編碼、測試和交付的全過程,按照企業的正規開發流程組織實施,讓學生熟悉軟件工程在企業中的具體應用方法。項目總監由實訓老師來擔任,控制項目的進度和質量,學生通過直接扮演項目開發組中的成員角色,來了解在軟件項目開發團隊中的角色、過程、規范和執行方法,以及在團隊中合作溝通能力的重要性,養成良好的職業習慣。以下是學生扮演的角色的主要職責說明,學生可以根據自己在學校的學習情況扮演如下角色??紤]到Android軟件開發工程師培訓的實際需要,項目開發過程中某些方面的學時將相對壓縮,而把重點放在跟開發直接相關的角色上面。
二、實訓過程
整個實訓過程包括實訓預備期和實訓期兩個階段。
實訓預備期:實訓的學生對Android課程體系中必須掌握的業界實用技術知識清單和相關課件進行學習,必要時進行相關課程的考試,考試合格者才能進入實訓環節。
實訓期:以模擬公司為平臺,以仿真的商業案例項目為載體,將企業文化及職業素養訓練、IT技能培訓、行業知識以及業務流程實踐等實訓內容完全貫穿在模擬公司的運營過程中,使學生在實踐中體驗企業工作環境,獲得一定的實際經驗和職業磨練。
實訓師發放《項目實訓學生指導手冊》,手冊中規定了學生在項目Android軟件開發各階段的輸入、活動說明和輸出。實訓選擇的生命周期會覆蓋軟件開發過程的基本要素。其中有的要素在實訓中存在操作困難的,只講解方法并直接發放相關資料。
實訓中由實訓老師統一指導各階段的詳細過程指導?;具^程如下:
1)搭建環境:主要講解搭建各種手機操作系統所需開發環境所要具備的軟、硬件及網絡知識。包括計算機中各種硬件和接口。軟件的分類、分發和授權等方式;操作系統的初步知識;注冊表、病毒、安全等知識;基本協議、活動目錄等知識。從而讓學員可以在實際工作環境當中搭建需要的開發環境。
2)完成的軟件開發過程:主要講解實際項目的開發所涉及到的軟件開發過程的各個環節,如需求開發、設計、測試、項目管理、配置管理等,并將其運用到實訓項目開發。
3)Android手機軟件應用開發:這是本培訓課程的核心部分,主要是使學員掌握軟件開發的技術,掌握編程的方法、思想,了解軟件開發過程當中常犯的錯誤。課程注重實用性、重在培養學員對代碼分析的能力,掌握編碼規范,掌握調試知識和分析程序錯誤的能力。同時學習內存檢查工具和軟件配置管理等知識。課程中貫穿了一個開發項目,以增加學員開發項目的經驗。
4)測試計劃與軟件缺陷:主要介紹軟件測試的基本概念和基礎知識、如何編寫測試計劃、識別軟件缺陷、編寫缺陷報告等。通過學習,學員可以掌握軟件測試的流程、軟件測試的策略和分類,掌握缺陷的分類和優先級等,從而對測試有一個整體的認識。介紹了缺陷跟蹤管理系統(測試工具)。總體來說,本課程將使學員掌握軟件測試相關的大部分基礎知識。
5)數據庫:通過對數據庫基礎知識的講解,讓學員掌握這些技術。數據庫是以主流的Oracle和MySQL 數據庫的運用為主。
6) 職業導向訓練:進行職業引導,包括就業指導和職前引導。通過座談會等輔助訓練明確就業方向,進一步了解職業發展形式。
三、實訓課程設計和引進
A.參考國內外IT知名企業現有已取得各地區政府認同的移動應用軟件開發培訓課程體系,以移動應用行業應用的實際需求為導向,自主研究開發適合本地企業的Android軟件開發方面的案例及課件。
B.結合需要引進其他國內一流的成功Android軟件開發培訓課程體系。
C.培訓實例設計:根據大多數軟件開發企業的實際需求,以多個實際項目為原型開發出具有實戰意義的案例。
D.企業培訓定制:企業培訓必須密切結合企業戰略,從企業的人力資源規劃和開發戰略出發,滿足組織及員工兩方面的要求,考慮企業資源條件與員工素質基礎,考慮人才培養的超前性及培訓效果的不確定性,為企業確定員工培訓的目標,選擇培訓內容及培訓方式。
四、師資隊伍建設和引進
在內部培養培訓講師和實訓導師的同時,我們還將根據課程需要積極引進高端的Android培訓講師,包括網絡通訊、Android應用開發等各領域的高端實戰人才,建設一支實戰經驗、培訓經驗俱佳的師資隊伍。
五、制定Android軟件開發工程師培訓大綱
Android軟件開發就業培訓大綱由多名資深移動應用軟件開發專家及有豐富Android實戰經驗的工程師傾力開發而成,在本實訓項目里將得到充分的貫徹執行。該課程總結了Google、中興、華為、HTC、摩托羅拉、IBM等頂級國內、跨國大型企業的先進的軟件開發理論和經驗,在此基礎上形成了一套適合我國國情的Android軟件培訓課程。目的是將優秀企業完善的Android軟件開發技術和方法等推廣到國內的軟件產業,以提高廣州本地軟件企業的Android應用軟件開發水平,改進開發方法和方式。
Android軟件開發培訓采用教師授課和學員實際練習相結合的方式。針對每個培訓的章節,在課程中都會提供豐富的項目實踐案例,使每個學員不僅能夠學到Android軟件開發的一些基本理論知識,重要的是能夠讓學員將學到的知識運用到實際的移動應用軟件開發活動過程中。
本Android軟件開發就業培訓大綱主要由三大部分組成:
基礎階段:主要闡述了一個Android軟件開發工程師需要了解和掌握的入門知識,包括Android開發編程語言基礎,主流數據庫開發技術,以及一些必要工具的使用,是邁入Android軟件工程師職業必備的一些基礎知識。
中級階段:主要闡述了一個Android軟件開發工程師需要掌握的常用的通信協議,整套主流的應用服務器和中間件編程技術,數據訪問層框架技術,并幫助深入理解軟件工程過程。
高級階段:通過一個個具體的項目案例,將上面提到的技術、方法、度量、文檔和過程相結合,掌握Android移動應用系統開發技術,包括Android環境下的音視頻多媒體處理、游戲技術開發、底層核心架構技術等,并進行項目開發實戰。了解不同設計模式與運用、軟件性能調優、軟件過程管理等。