首頁 > 文章中心 > 軟件工程論文

          軟件工程論文

          前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件工程論文范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

          軟件工程論文

          軟件工程論文范文第1篇

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

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

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

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

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

          (三)校企合作不夠

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

          二、應(yīng)用驅(qū)動為導(dǎo)向的人才培養(yǎng)模式的改革措施

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

          (一)以應(yīng)用為導(dǎo)向加強師資建設(shè)

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

          (二)案例式課堂教學(xué)

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

          (三)項目式綜合實訓(xùn)

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

          (四)頂崗式專業(yè)實習(xí)

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

          三、結(jié)束語

          軟件工程論文范文第2篇

          軟件工程是一項專業(yè)性強、難度大的學(xué)科,目前軟件工程管理還處于發(fā)展期,但其放在何處都會成為一個性質(zhì)有效的管理。我國部分小型軟件企業(yè)要想在激烈的市場競爭中獲取成功就必須要進行軟件工程管理。不過對軟件工程進行管理并不是一件容易的事,在整個管理過程中需要面臨以下問題。缺乏系統(tǒng)的培訓(xùn)。現(xiàn)在我國的一些軟件公司的實際情況都是任命專業(yè)能力過硬的人員為項目經(jīng)理,而這些專業(yè)知識過硬的技術(shù)人員通常沒有過硬的軟件工程管理功底,而企業(yè)沒有系統(tǒng)的培訓(xùn),導(dǎo)致了項目經(jīng)理在軟件開發(fā)過程中無法對整個過程中進行系統(tǒng)的管理。缺乏計劃意識。項目經(jīng)理對軟件開發(fā)中計劃的作用沒有一個正確的認識,導(dǎo)致了開發(fā)項目沒有一個合理的可行性計劃,這樣在軟件開發(fā)過程中,因為人員因素或外界因素經(jīng)常會導(dǎo)致計劃好的事情被拖延,從而造成進度受到拖延[3]。缺乏管理意識。因為在軟件開發(fā)中,項目經(jīng)理經(jīng)常投入到技術(shù)工作之中,從而忽略了對軟件工程的整體管理。這樣經(jīng)常會造成項目開發(fā)過程中,每個工作人員的任務(wù)得不到適當?shù)陌才?造成計劃不周,資源浪費等。項目經(jīng)理沒有將任務(wù)合理地分配到工作人員手中,造成許多任務(wù)都需要自己埋頭苦干,沒有精力對整個項目進行管理。風(fēng)險管理中的問題。部分項目經(jīng)理在管理中缺乏風(fēng)險意識,很少對項目中存在的風(fēng)險進行合理分析,制定的風(fēng)險管理也比較隨意,沒有真正起到風(fēng)險防范的作用。軟件工程復(fù)雜化。近年來軟件項目規(guī)模不斷增大,參與同一軟件項目的人數(shù)也在急劇增加,同時軟件工程管理的困難也變得更大,在軟件工程管理中需要解決的問題也在增加,這些都增加了軟件工程管理的難度[4]。

          2軟件工程的管理方法

          2.1構(gòu)建軟件工程管理體系

          構(gòu)建合理的軟件工程管理體系主要包括以下內(nèi)容:第一,構(gòu)建人才體系。在軟件工程管理中,人才對管理有著重要的作用,人才是做好軟件工程管理的前提。第二,為了提高工作人員工作中的積極性,確保項目中所有目標能夠得到落實,應(yīng)當加強人力資源管理。第三,在人才的管理中切記要以平等的態(tài)度進行管理,而不是控制[5]。

          2.2加強風(fēng)險管理和進度管理

          對于軟件項目管理中的風(fēng)險管理和進度管理,我們也應(yīng)當分為兩個方面來進行探討。第一,構(gòu)建風(fēng)險管理體制,只有這樣才能及時發(fā)現(xiàn)軟件工程管理中存在的風(fēng)險,并對存在的風(fēng)險進行及時處理。第二,提高項目中風(fēng)險管理人員的風(fēng)險意識,確保風(fēng)險管理人員能夠?qū)︼L(fēng)險有一清楚的認識,并且能夠?qū)︼L(fēng)險進行合理的分析,針對風(fēng)險提出有效的風(fēng)險防范制度。在風(fēng)險管理中風(fēng)險管理人員應(yīng)當將風(fēng)險報告提交給項目經(jīng)理,對項目中存在的風(fēng)險進行有效的防范,阻止風(fēng)險出現(xiàn),確保企業(yè)的順利發(fā)展[6]。

          2.3加強對項目團隊的管理

          首先,應(yīng)當增加工作人員之間的聯(lián)系與溝通,使整個團隊中的人員都具有溝通意識和團隊合作精神。其次,對各個工作人員的工作內(nèi)容進行明確分工,合理地將責(zé)任分配到每個工作人員,保證工作開展后一切都能順利地進行。最后,調(diào)動項目中工作人員的積極性和注重性,使團隊中的工作人員都能夠完全投入到工作之中,提升團隊工作能力,改善工作人員的工作態(tài)度,做好軟件工程管理工作。

          2.4對軟件工程進行監(jiān)督

          軟件工程監(jiān)督是軟件工程管理中的重要方式,工程監(jiān)督指的是對項目所自制定的目標進行實時監(jiān)測,軟件工程監(jiān)督要貫穿整個項目,其目的在于對軟件開發(fā)的流程進行規(guī)范。軟件工程監(jiān)督,可以使開發(fā)過程中的成本、進度、質(zhì)量實現(xiàn)透明化。在對軟件監(jiān)督過程中軟件需要完成以下任務(wù)。由項目負責(zé)人對項目進行監(jiān)督,在監(jiān)督過程中,要對監(jiān)督數(shù)據(jù)進行總結(jié),并對數(shù)據(jù)進行合理分析,及時發(fā)現(xiàn)問題并解決問題。將CMM標準應(yīng)用于軟件工程管理之中,CMM標準的引用可以提升軟件開發(fā)效率,降低軟件開發(fā)中的成本以及風(fēng)險,縮短開發(fā)時間,提高軟件質(zhì)量,總之將CMM標準運用到軟件工程管理之中,能夠確保用戶得到理想的軟件產(chǎn)品。

          3結(jié)語

          軟件工程論文范文第3篇

          關(guān)鍵詞:軟件工程;案例教學(xué)法;分析設(shè)計

          Abstract:Thisarticleonthecaseteachingmethodinsoftwareengineeringmadeapreliminarydiscussion,atthesametime,wearebrieflyintroducedinsoftwareengineeringtotrythecaseinsomeoftheteachingexperience.中國

          Keywords:softwareengineering;caseteachingmethod;DesignAnalysis

          1引言

          隨著計算機應(yīng)用日益普及和深化,正在運行使用著的計算機軟件的數(shù)量以驚人的速度急劇膨脹,而且現(xiàn)代軟件的規(guī)模往往十分龐大,所以指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科—軟件工程,日益顯示其重要地位。然而學(xué)習(xí)者一般不好理解軟件工程的實踐性,不能將所學(xué)的知識真正應(yīng)用到軟件開發(fā)過程中去。如何將理論與實際聯(lián)系起來呢?我們認為在軟件工程中采用案例教學(xué)發(fā)將會彌補這一缺憾。

          案例教學(xué)法以對案例的分析解決為主線,通過對案例中的問題進行分析,激發(fā)學(xué)生的求知欲,調(diào)動學(xué)生的積極性,使學(xué)生自覺主動的學(xué)習(xí)案例,掌握原理和方法,實行科學(xué)的教育思想觀念的一種教學(xué)方式。它是一種互動式的教學(xué)方法,可以實現(xiàn)啟發(fā)式教學(xué),能夠極大的促進學(xué)生的學(xué)習(xí)興趣,實現(xiàn)真正的教學(xué)相長。它更是實現(xiàn)理論聯(lián)系實際的現(xiàn)實可實施的途徑。案例教學(xué)法在軟件工程教學(xué)中的應(yīng)用將在更大程度上激發(fā)學(xué)生學(xué)習(xí)的學(xué)習(xí)興趣和參與的積極性。同時,利于學(xué)生掌握理論知識,并運用知識解決軟件開發(fā)中的實際問題,最終提高教學(xué)質(zhì)量,達到學(xué)校教育培養(yǎng)的目標。

          有鑒于此,本文試對案例教學(xué)法在軟件工程中的應(yīng)用作了初步探討,以期對教育同行和廣大學(xué)習(xí)者有所啟發(fā)和借鑒。

          2案例教學(xué)法的含義

          案例教學(xué)法(casemethodsofteaching)可簡單地界定為一種運用案例進行教學(xué)的一種方法,它是美國當今教育行業(yè)中非常盛行而有效的一種方法,在我國正在慢慢推廣開來。1910年,美國哈佛商學(xué)院最先使用案例教學(xué),開創(chuàng)了案例教學(xué)的先河。案例教學(xué)法于20世紀80年代初傳入我國,它有利于培養(yǎng)學(xué)生分析問題、解決問題的能力,提高教學(xué)效果。

          案例教學(xué)是在學(xué)生掌握了有關(guān)基本知識和分析技術(shù)的基礎(chǔ)上,在教師的精心策劃和指導(dǎo)下,根據(jù)教學(xué)目的和教學(xué)要求,運用典型案例,將學(xué)生帶入特定的現(xiàn)場進行案例分析,通過學(xué)生的獨立思考和集體協(xié)作,進一步提高識別,分析和解決某一具體問題的能力,同時培養(yǎng)學(xué)生的溝通能力和協(xié)作精神的教學(xué)方式。通過案例分析,學(xué)生可以獲得蘊涵其中的那些已形成的教育原理、教學(xué)方法等知識,同時可以提高和發(fā)展學(xué)生的創(chuàng)造能力以及解決實際問題能力。更重要的是,通過案例教學(xué)獲得的知識是內(nèi)化了的知識,是“做中學(xué)”獲得自己理解了的能駕馭的知識,不再像傳統(tǒng)教學(xué)下獲得的抽象的、過度概括化的生硬知識,它能立即被用到類似教學(xué)實踐情境中去解決處理類似的疑難教學(xué)問題。所以從美國教育家舒爾1986年在美國教育研究協(xié)會(AERA)年會重要演講中發(fā)出要發(fā)展關(guān)于教學(xué)的案例知識的呼吁,時至今日,在眾多國家的教育研究領(lǐng)域中都能發(fā)現(xiàn)案例教學(xué)法的應(yīng)用。

          3軟件工程案例的選擇

          概括而言,案例是含有問題或疑難情境在內(nèi)的真實發(fā)生的典型性事件。沒有案例,案例教學(xué)無從談起,沒有好的案例,便沒有有效的案例教學(xué),所以案例的選擇在案例教學(xué)中至關(guān)重要。一個高質(zhì)量的案例應(yīng)該具備以下幾個特點。

          (1)目的性。案例教學(xué)的目的是為了讓學(xué)生理論聯(lián)系實際,通過案例讓學(xué)生掌握基本的原理和概念,提高發(fā)現(xiàn)問題,解決實際問題的能力。一個好的案例應(yīng)該使學(xué)生在討論中加深對教材中某一重點或難點知識的理解和把握,能利用課堂學(xué)習(xí)的理論知識來分析和解決案例中所涉及的問題。所以案例的選擇一定要圍繞教學(xué)目的和教學(xué)要求來。如果脫離這兩個中心,即使案例再生動,其教學(xué)效果也大打折扣。

          (2)真實性。案例一定是現(xiàn)實中發(fā)生的真實事件,是常見又復(fù)雜的問題,有助于學(xué)生實踐能力的提高。

          (3)啟發(fā)性。一個好的案例需要蘊涵一定的問題,能啟發(fā)學(xué)生思考,發(fā)現(xiàn)多種解決的途徑。問題越誘人深入,越能夠給學(xué)生留下較多的思維空間,教學(xué)效果越好。

          (4)生動性。案例必須生動活潑,引人入勝,這樣才能引起學(xué)生的興趣,以便展開深入的思考。

          軟件工程是采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來。它強調(diào)使用生存周期方法學(xué)和各種結(jié)構(gòu)分析及結(jié)構(gòu)設(shè)計技術(shù),所以軟件工程案例即是選擇一些典型的軟件開發(fā)系統(tǒng),介紹其開發(fā)和維護的過程。

          我們根據(jù)講解軟件工程課的具體體會和開發(fā)軟件的實際經(jīng)驗,撰寫了五個案例,開發(fā)了《軟件工程案例分析》網(wǎng)絡(luò)課件,詳細介紹五個軟件系統(tǒng)的開發(fā)過程,互動的方式講述了用軟件工程的方法是如何進行分析和設(shè)計的,同時在系統(tǒng)開發(fā)的每個過程中提出大量的問題供學(xué)生思考。案例選擇了房產(chǎn)管理系統(tǒng)、財務(wù)管理系統(tǒng)、機票預(yù)定系統(tǒng)、計算機儲蓄系統(tǒng)四個應(yīng)用軟件系統(tǒng),同時為了提高學(xué)習(xí)者理解開發(fā)軟件的難度,特別介紹L-SIMPLE語言編譯系統(tǒng)。采用傳統(tǒng)的生命周期方法學(xué),從問題定義、可行性研究、需求分析、總體設(shè)計到詳細設(shè)計做了比較詳細的研究。系統(tǒng)中五個案例涉及到當前人們?nèi)粘I钪嘘P(guān)注的幾個領(lǐng)域:房產(chǎn)管理、財務(wù)管理、計算機儲蓄、機票預(yù)定,還有計算機的語言編譯系統(tǒng)。案例既具有典型性,同時又具有真實性。我們選擇四個應(yīng)用軟件和一個系統(tǒng)軟件,一方面考慮到目前軟件市場涉及應(yīng)用范圍的廣泛性,另一方面考慮到軟件工程學(xué)習(xí)者中大部分為計算機專業(yè),對于系統(tǒng)軟件也有一定愛好,對于將來開發(fā)系統(tǒng)軟件作一個鋪墊。

          4軟件工程案例教學(xué)的主要環(huán)節(jié)

          案例教學(xué)的需要具備三個主要環(huán)節(jié):

          閱讀案例,個人分析——分組討論,集體交流——總結(jié)歸納,消化提升

          我們嘗試的軟件工程案例教學(xué)中同樣采用了這三個階段:

          (1)閱讀案例,個人分析

          學(xué)生首先對具體案例進行必要的基礎(chǔ)知識的了解,認真閱讀案例,并且要有個人的研究與分析,用軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)作為理論指導(dǎo),熟悉軟件開發(fā)過程各階段的基本任務(wù)。

          其次,學(xué)生需要盡快進入案例情境,了解、掌握案例中揭示的有關(guān)事實、情況,自居案例中的教師角色,設(shè)身處地地分析思考案例中教師的行為及對策的合理性與不合理性。在案例的分析過程中,要注意尋找其中的因果關(guān)系,只有弄清問題產(chǎn)生的原因,才可能找到問題的合理解決手段。注意區(qū)分基本性問題和現(xiàn)時性問題。基本性問題即抽象或一般的問題,常與事實背后的概念、原理、規(guī)則等有關(guān),需要通過對案例中所包括的信息進行解釋、分析、演繹、推理和抽象以得到概括化的結(jié)論。現(xiàn)時性問題即案例中教師所面對的特殊決定、疑難問題等要求在一定的時間范圍內(nèi)得到解決的那些問題,需將自己已有的知識或過去形成的經(jīng)驗與案例展示的背景材料、內(nèi)外部因素等整合起來進行綜合評判來提出多種經(jīng)得起別人反駁的見解、對策以及方案。

          (2)分組討論,集體交流

          分組討論是案例教學(xué)中非常重要的環(huán)節(jié),本質(zhì)上是一種概念或想法的交流。圍繞案例的重點,難點,疑點,進行討論,辯論和爭論。每個學(xué)生可以自由的抒發(fā)己見,相互啟迪,互相借鑒,重點是想法的交流。要求每個學(xué)生簡要介紹自己對軟件開發(fā)所做的分析設(shè)計,并提出自己對該軟件開發(fā)流程的看法,供大家討論與切磋,可以按照案例中所提出的問題一個一個討論。在教師的引導(dǎo)下,讓學(xué)生進行課堂發(fā)言,進行全體學(xué)生的交流。本階段要討論主要解決兩個問題:1、小組討論沒有達成共識的問題;2、按照教學(xué)目標,有意引導(dǎo)學(xué)生掌握軟件工程的生命周期法各階段所做的具體工作以及進行相關(guān)工作的必要性。

          為了使分組討論有效地開展,教師要作好充分的課前準備。除了熟知案例陳述的事實、觀點外,還要諳知案例反映或蘊涵的原理、規(guī)則等知識,以便引導(dǎo)學(xué)生概括出來。要認真學(xué)習(xí)研究案例后給出的教學(xué)指南,具體擬定出課堂教學(xué)計劃,這要求教師認真思考回答以下問題:希望課堂上發(fā)生些什么?如何引導(dǎo)這些情況的發(fā)生?討論如何開展?時間如何安排?自己扮演什么角色?是先得結(jié)論再分析,還是相反?并對課堂討論中可能出現(xiàn)的情況作出預(yù)測。教師還要依據(jù)課程目標、案例目標及教學(xué)計劃的具體安排重點分析以下方面的內(nèi)容:案例中反映的那些重要論題、案例中易得出兩可結(jié)論的那些材料、案例中反映的情況發(fā)生的根源、案例中人物的行為、案例中所反映的而學(xué)生可能設(shè)想不到的情況等。在討論掌握上,教師要力保討論沿預(yù)期的軌道進行,把討論引導(dǎo)到問題的解決上去,并引導(dǎo)出與論題相關(guān)的理論知識,力爭班上每個學(xué)生都至少有一次發(fā)言的機會,切實做到有效參與。

          (3)總結(jié)歸納,消化提升

          總結(jié)歸納是軟件工程案例教學(xué)的最后階段,要求學(xué)生要對每個案例寫出學(xué)習(xí)報告。該報告中包含學(xué)生在閱讀案例中所得到的具體收獲;通過分析與設(shè)計軟件,提出自己所解決的實際問題;對理論上軟件工程概念和案例中的實際是否一一相對應(yīng);以及對軟件工程仍然存在的困惑。通過反思進一步加深對案例的認識,真正作到理論和實踐的相結(jié)合。

          案例教學(xué)中,師生都要注意角色轉(zhuǎn)換,如果學(xué)生仍然熱衷于將自己置身于教學(xué)過程之外,只做一名旁觀者,案例教學(xué)也就失去了它的價值。學(xué)生只有真正地深入案例、體驗角色,才會有案例情境的“再現(xiàn)”,案例教學(xué)的價值才能被體現(xiàn)。而教師在教學(xué)過程中也要不斷變換自己的角色,可充當監(jiān)督員,激勵啟發(fā)學(xué)生,監(jiān)督案例分析、討論情況;可充當示范員,向?qū)W生演示、講解、分析案例中的事實、圖表、材料等;可充當主人翁,制定下一步的工作計劃并在實施中起主導(dǎo)作用;可作仲裁,解決各種爭端;可充當交警,使討論回到預(yù)定的軌道上來;等等。

          5結(jié)束語

          傳統(tǒng)的“黑板教育學(xué)”越來越受到冷落,案例教學(xué)已經(jīng)提到教育改革的重要日程上來。華東師范法學(xué)教育系鄭金洲曾指出,案例教學(xué)并不是單純的一種教學(xué)方法,它實際上是以教學(xué)內(nèi)容的變革為前提條件的,正是有了形形的案例,才使案例教學(xué)成為可能;案例教學(xué)也并不是一種單純的教授法,它實際上也是以學(xué)生行為的轉(zhuǎn)變?yōu)榍疤釛l件的;如果學(xué)生仍然熱衷于自己先前的角色,把自己置身于教學(xué)過程之外,只是一個旁觀者,案例教學(xué)也就失去意義。

          筆者從事軟件工程的教學(xué)工作,在軟件工程中進行案例教學(xué)法的嘗試,并且在實踐中得到了一定的效果。然而,在軟件工程案例教學(xué)中仍有很多問題需要進一步研究探討,比如在案例中如何體現(xiàn)軟件的測試階段,它需要具體的環(huán)境來實現(xiàn);如何在案例中能夠讓學(xué)生更深入理解軟件的維護過程等等問題,都是有待于我們進一步完善,使案例教學(xué)在軟件工程中得到進一步的推廣。

          參考文獻

          [1]張海藩.《軟件工程導(dǎo)論》.清華大學(xué)出版社

          [2]李為民,.如何開展案例教學(xué)-哈佛大學(xué)商學(xué)院琳達教授對新教師利用案例教學(xué)的幾點忠告》.北京:經(jīng)濟干部管理學(xué)院學(xué)報,2004.1

          [3]Stein,M.K.,Smith,M.S.,Henningsen,M.A.,Silver,E.A.(2000),ImplementingStandards\|BasedMathematicsInstruction,NewYork:TeacherCollegePress

          軟件工程論文范文第4篇

          1.1代碼理解在軟件開發(fā)過程中,程序員面對著諸多的問題,具體內(nèi)容如下:其一,項目代碼的維護,但項目的原有文檔已經(jīng)過期,甚至出現(xiàn)了文檔不存在的情況;其二,項目缺陷的修改,但此時項目中的代碼程序員并未接觸過;其三,項目代碼的審查,面對眾多的代碼,程序員的工作開展較為困難;其四,項目架構(gòu)設(shè)計的提取,但程序員僅掌握了源代碼。面對上述的情況,程序員要對源代碼進行分層聚類,對各個模塊進行可視化的展示,此時,對代碼及項目架構(gòu)的理解將更加準確,因此,提出了分層聚類法。此方法有效分析了源代碼,其聚類過程主要分為兩個階段,分別為基于調(diào)用入口的聚類與基于PageRank的聚類。在軟件系統(tǒng)結(jié)構(gòu)分析過程中,主要應(yīng)用的方法為軟件聚類,此方法作為關(guān)鍵技術(shù)主要應(yīng)用于軟件維護活動中,如:軟件模塊復(fù)用、軟件模塊更改影響及軟件體系體系結(jié)構(gòu)挖掘等。通過軟件聚類,工程師能夠獲取軟件系統(tǒng)的總體結(jié)構(gòu)劃分及局部細節(jié)信息。通常情況下,為了實現(xiàn)聚類結(jié)果的靈活切換,要提高軟件聚類工具的性能,其特性如下:一方面,對軟件聚類模塊化層次進行劃分;另一方面,根據(jù)使用者的選擇對軟件聚類結(jié)果進行動態(tài)調(diào)整。通過對軟件聚類領(lǐng)域中圖聚類的研究,提出了基于源代碼分析的層次化軟件聚類算法,此方法滿足了多粒度顯示軟件聚類層次聚類結(jié)果的需求,此聚類方法擁有兩個階段,同時對于輸出的聚類結(jié)果中的模塊命名提出了新的方法,即:基于文本挖掘的方法,在此基礎(chǔ)上,提取的文本信息擁有了語義信息的模塊命名[2]。

          1.2代碼開發(fā)現(xiàn)階段,JAVA應(yīng)用中廣泛應(yīng)用著基于開源框架的編程,此時配置的邏輯控制是借助XML配置文件實現(xiàn)的,但現(xiàn)有的JAVA應(yīng)用為單機版,同時框架的邏輯具有復(fù)雜性,開源框架的文檔化相對較差。在此情況下,程序員在對框架使用與配置缺少正確性。為了實現(xiàn)上述問題的有效解決,提出了基于應(yīng)用代碼庫中的XML配置文件及代碼關(guān)聯(lián)結(jié)構(gòu)挖掘的XML配置片段推薦方法,將此方法應(yīng)用到軟件開發(fā)中,促進了程序員對配置文件的編輯。上述方法的核心為頻繁子樹挖掘,通過實驗分析可知,該方法具有一定的有效性,特別是在XML配置片段中扮演著重要的角色,因此,它促進了軟件的開發(fā)。目前,在軟件開發(fā)構(gòu)建新系統(tǒng)過程中,程序員需要利用編程框架從而實現(xiàn)編程,此時不僅利于通用性作用的發(fā)揮,還利于程序機構(gòu)的清晰。在框架編程時,開發(fā)人員要對編程進行擴展,同時還要構(gòu)建XML配置文件。框架編程有著一定的優(yōu)勢,但在實際應(yīng)用過程中仍存在不足,邏輯缺陷極易被應(yīng)用,在此基礎(chǔ)上,程序員對框架的使用缺乏有效性與正確性。在此背景下,配置代碼推薦被應(yīng)用,它具有較強的可用性,分別體現(xiàn)在數(shù)據(jù)與方法兩方面。

          1.3回歸測試在軟件應(yīng)用開發(fā)后,客戶將對其進行使用,但使用前與使用過程中,均會出現(xiàn)代碼修改的情況,造成此情況的原因為代碼缺陷與功能更新。在代碼更新后,重新前,要對代碼進行測試,此時的測試便是回歸測試。它主要是為了驗證修改軟件,使軟件的功能得到有效的發(fā)揮。因此,回歸測試對于軟件來說是重要的,它直接保證著軟件的質(zhì)量[3]。

          2結(jié)語

          軟件工程論文范文第5篇

          1.1軟件設(shè)計的評判標準基于構(gòu)件的軟件需要具備可復(fù)用性高的特點

          這樣對于軟件的設(shè)計應(yīng)該具備4個標準,分別為高抽象性、高通用可變性、高可靠性和組裝容易。首先,構(gòu)件的軟件想要獲得可復(fù)用性高的特點,就需要提高構(gòu)件的通用化程度,因為構(gòu)建的可復(fù)用性和通用化是成正比的關(guān)系,通用化程度越高則可復(fù)用性越高。因此,基于構(gòu)建的軟件在開發(fā)的過程中要盡量避免構(gòu)件的開發(fā)泛濫化,能夠讓軟件的在等待開發(fā)的過程中就被復(fù)用,這樣能夠大量提高軟件的可復(fù)用度。其次,可復(fù)用的軟件需要經(jīng)過一系列的修改過程才能真正運用到實際的工作中,可以稱為被實例化。軟件通用性程度和可變性程度高說明軟件的可復(fù)用程度高,所以在設(shè)計軟件的時候要將可標識變化點的位置安排在需要進行變化的位置上,然后在標識點上面要添加變體,這種變體可以是一個或者多個,主要作用是指示抽象構(gòu)件的位置。當對構(gòu)件進行復(fù)用的時候,假如要實現(xiàn)構(gòu)建的實例化,就要根據(jù)不同的情況來創(chuàng)造不同的變體,主要目的是滿足一些特殊應(yīng)用的需求。再次,構(gòu)件的可靠性指的是不使構(gòu)件在一些特殊的環(huán)境和規(guī)定的時間內(nèi)發(fā)生開發(fā)實效的情況,它包括構(gòu)建的容錯性和可恢復(fù)性等。構(gòu)件更加容易使用的話就能在一定程度上提高構(gòu)件的可靠性,進而方便構(gòu)件的開發(fā)人員能夠挑選出適合應(yīng)用的構(gòu)件,從而提高構(gòu)件的可復(fù)用程度。這樣可以在很大程度上增強構(gòu)件的可操作性和易理解性。最后,由于構(gòu)件由不同的人開發(fā),所以構(gòu)件中的實現(xiàn)語言和運行的環(huán)境都因為開發(fā)人物的不同而不同。因此,如果要挑選出合適的構(gòu)件來組裝構(gòu)件,需要將構(gòu)件在實例化過程之后再進行組裝,再實際應(yīng)用到需要開發(fā)的軟件或者系統(tǒng)上面。構(gòu)件組裝的難易程度對于軟件的復(fù)用性有一定的影響,假如構(gòu)件之間偶合度十分松散且構(gòu)件的組裝機制十分便利,能夠在很大程度上使得構(gòu)件的組裝是十分便利。

          1.2軟件開發(fā)的基本理念

          基于構(gòu)件的軟件開發(fā)中的構(gòu)件技術(shù)主要是在數(shù)據(jù)和算法結(jié)構(gòu)上進行提升,這是一種在應(yīng)用級別基礎(chǔ)上的集成化技術(shù)。對于構(gòu)件化軟件開發(fā)的基本理念,更多的考慮方面是對象個體在實際的應(yīng)用領(lǐng)域進行開發(fā)過程中的作用。換句話說是把軟件逐漸分解成為幾個獨立的單元,然后再將不同的軟件構(gòu)件對象進行組裝,最后才形成完整的軟件集成。

          1.3軟件開發(fā)的具體過程

          對于基于構(gòu)件的軟件開發(fā),首先是關(guān)于軟件系統(tǒng)的生存周期,構(gòu)件化軟件系統(tǒng)的生存周期相比傳統(tǒng)的軟件系統(tǒng)工程較簡單。具體分為系統(tǒng)的分析、藍圖的設(shè)計以及構(gòu)件集成等。對于架構(gòu)的設(shè)計,能否進行十分系統(tǒng)的架構(gòu)設(shè)計對于基于構(gòu)件的軟件系統(tǒng)有十分重要的作用,它能夠真正保障系統(tǒng)在運行的過程中進行有效地操作。架構(gòu)的設(shè)計指的是對于構(gòu)件化的軟件系統(tǒng)評估,然后進行選擇和最后的設(shè)置。該設(shè)計的目標是依據(jù)用戶實際需要,對系統(tǒng)進行規(guī)范化設(shè)計之后再選擇適當?shù)募軜?gòu)設(shè)計方案,對整個系統(tǒng)的各項實際實施的環(huán)節(jié)需要充分明確下來。所謂系統(tǒng)的集成指的是構(gòu)件能夠按照系統(tǒng)的構(gòu)架將系統(tǒng)組裝成模塊,在組裝的過程中一般只需要對基本代碼進行編寫,然后在構(gòu)件之間要能夠進行互相的調(diào)用。結(jié)束以上步驟后就能夠形成所需要的系統(tǒng)文檔。最后的環(huán)節(jié)是對系統(tǒng)進行測試,這個測試環(huán)節(jié)是為了檢驗該系統(tǒng)能否真正滿足客戶的設(shè)計要求,以及在系統(tǒng)的具體運行中是否會出現(xiàn)問題,以便及時進行修改。該環(huán)節(jié)主要的目的是能夠真正根據(jù)系統(tǒng)的要求來確定構(gòu)件化系統(tǒng)的真正形成。

          2結(jié)語