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