亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件工程實(shí)踐教學(xué)的實(shí)踐

        2007-12-31 00:00:00周榮輝
        計(jì)算機(jī)教育 2007年22期

        摘要:本文提出了應(yīng)從學(xué)生軟件工程能力和軟件工程素質(zhì)培養(yǎng)的目標(biāo)要求進(jìn)行總體規(guī)劃,并就軟件工程能力要求、軟件工程實(shí)踐教學(xué)對(duì)環(huán)境的特殊要求,以及軟件工程實(shí)踐教學(xué)的組織和實(shí)施進(jìn)行了一定的探討。從實(shí)施效果證明其有效性。

        關(guān)鍵詞:軟件工程能力;軟件開發(fā)過程;實(shí)踐環(huán)境;團(tuán)隊(duì)協(xié)作

        中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B

        文章編號(hào):1672-5913 (2007) 22-0126-03

        1引言

        軟件工程實(shí)踐教學(xué)既指軟件工程系列課程的實(shí)踐教學(xué),也指軟件工程專業(yè)學(xué)生的軟件工程能力和軟件工程素質(zhì)培養(yǎng)方面的實(shí)踐教學(xué)。軟件工程系列課程的實(shí)踐教學(xué)包括需求分析實(shí)踐教學(xué)、軟件設(shè)計(jì)實(shí)踐教學(xué)、軟件實(shí)現(xiàn)實(shí)踐教學(xué)、人機(jī)交互實(shí)踐教學(xué)、軟件測(cè)試實(shí)踐教學(xué)等。軟件工程的專業(yè)實(shí)踐教學(xué)可以分為兩部分:程序設(shè)計(jì)能力培養(yǎng)實(shí)踐教學(xué)和軟件工程能力與素質(zhì)培養(yǎng)實(shí)踐教學(xué)。

        程序設(shè)計(jì)能力、軟件工程能力和軟件工程素質(zhì)這三者既具有各自的內(nèi)涵,又相互聯(lián)系。程序設(shè)計(jì)能力包括編程能力和程序設(shè)計(jì)規(guī)劃能力。一個(gè)不會(huì)編程序的人很難體會(huì)到編程的艱難,自然難以產(chǎn)生為什么要學(xué)習(xí)軟件工程和運(yùn)用軟件工程知識(shí)的欲望。如果一個(gè)軟件開發(fā)人員只能會(huì)編程序,不會(huì)在軟件開發(fā)過程中運(yùn)用軟件工程的原理和方法作指導(dǎo),不會(huì)成為一個(gè)優(yōu)秀的軟件開發(fā)人員。所以培養(yǎng)學(xué)生軟件工程能力是培養(yǎng)學(xué)生軟件開發(fā)能力的自然延伸。在學(xué)生軟件工程能力培養(yǎng)過程中,通過軟件工程知識(shí)的掌握和軟件工程知識(shí)的運(yùn)用,來領(lǐng)會(huì)軟件工程的本質(zhì),培養(yǎng)學(xué)生軟件工程的素質(zhì)。因此,在軟件工程專業(yè)學(xué)生能力培養(yǎng)過程中,一定要對(duì)學(xué)生程序設(shè)計(jì)能力的培養(yǎng)和軟件工程能力的培養(yǎng)進(jìn)行綜合規(guī)劃,既要考慮階段性,又要考慮軟件工程知識(shí)和軟件工程實(shí)踐引入的時(shí)機(jī),使學(xué)生在提高學(xué)生程序設(shè)計(jì)能力培養(yǎng)過程中逐步培養(yǎng)學(xué)生軟件工程能力,在軟件工程能力培養(yǎng)過程中,升華學(xué)生軟件開發(fā)能力,逐步養(yǎng)成良好的軟件工程素質(zhì)。

        2004年以來,我們遵循這樣一種指導(dǎo)思想,對(duì)我校軟件工程專業(yè)學(xué)生的軟件工程實(shí)踐教學(xué)進(jìn)行了一定的探索,取得了一定的效果。

        2軟件工程實(shí)踐能力培養(yǎng)規(guī)劃

        軟件工程能力培養(yǎng)不是靠一兩門課程來達(dá)到的,它同樣是一項(xiàng)系統(tǒng)工程,需要周密計(jì)劃,穩(wěn)步實(shí)施。我們的基本策略是由淺入深,步步提高,通過加大編程的量來提高編程的難度,在難度中尋求降低難度的方法,適時(shí)引入軟件工程的原理和方法,并通過“項(xiàng)目”和“團(tuán)隊(duì)”軟件開發(fā)來加深對(duì)軟件工程的認(rèn)識(shí),從中領(lǐng)悟軟件工程的內(nèi)涵。

        我們對(duì)軟件工程專業(yè)學(xué)生的能力培養(yǎng)進(jìn)行了四年規(guī)劃:第一學(xué)年解決基本的程序設(shè)計(jì)問題,使學(xué)生能夠編寫并調(diào)試出150行源代碼程序。第二學(xué)年基本解決程序設(shè)計(jì)問題,能夠用面向?qū)ο蟪绦蛟O(shè)計(jì)語言,按照基本的軟件開發(fā)過程開發(fā)出一個(gè)功能齊全的單機(jī)應(yīng)用程序,并具有一定實(shí)用性。基本能夠編寫出從軟件計(jì)劃到軟件確認(rèn)測(cè)試的全部文檔,包括技術(shù)文檔和過程管理文檔。第三年全面學(xué)習(xí)軟件工程的知識(shí),并按照軟件工程過程開發(fā)出基于B/S模式的網(wǎng)絡(luò)應(yīng)用軟件。第四年通過課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)進(jìn)一步加強(qiáng)程序設(shè)計(jì)能力和軟件工程知識(shí)應(yīng)用能力的培養(yǎng)。

        3軟件工程實(shí)踐能力培養(yǎng)實(shí)施

        基本的程序設(shè)計(jì)能力培養(yǎng)可以通過課程實(shí)驗(yàn)和基本的課程設(shè)計(jì)來實(shí)施。在能力培養(yǎng)規(guī)劃中,我們用高級(jí)語言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)和面向?qū)ο蟪绦蛟O(shè)計(jì)課程來完成。而對(duì)于軟件工程能力培養(yǎng)需要特定的環(huán)境和過程。

        3.1軟件工程基本能力

        軟件工程基本能力包括:

        (1) 軟件工程過程能力。無論采用何種軟件生存周期模型,都可以把一個(gè)開發(fā)周期分成若干個(gè)具有里程碑的階段。每個(gè)階段都有明確的輸入和輸出,輸出必須通過文檔的形式進(jìn)行完整描述,而且其輸出是可驗(yàn)證的。對(duì)于學(xué)生而言,要培養(yǎng)軟件過程能力,必須經(jīng)歷一個(gè)從任務(wù)接收到交出軟件的完整過程。并且知道每個(gè)階段的任務(wù)是什么,需要編寫那些文檔,每個(gè)階段任務(wù)完成的標(biāo)志是什么。

        (2) 文檔編寫能力。軟件工程過程的每個(gè)階段都以文檔作為輸入,也以文檔作為輸出。在軟件開發(fā)過程中,編寫文檔的時(shí)間要比編寫程序代碼的時(shí)間長得多。學(xué)生必須具備文檔編寫的能力,即每個(gè)階段應(yīng)有那些文檔,文檔的內(nèi)容、格式、文檔描述語言(文檔核心內(nèi)容的描述工具,如圖形符號(hào)、表格等),會(huì)使用文檔描述語言有針對(duì)性地描述應(yīng)用實(shí)例。

        (3) 團(tuán)隊(duì)協(xié)作能力。團(tuán)隊(duì)協(xié)作能力在軟件工程能力中是最核心的能力。一個(gè)軟件項(xiàng)目不可能由一個(gè)人從頭到尾獨(dú)立完成,需要多人合作完成。一個(gè)軟件項(xiàng)目組的團(tuán)結(jié)協(xié)作能力如何,將直接影響著軟件項(xiàng)目的進(jìn)度、效率和質(zhì)量。

        軟件工程的實(shí)質(zhì)是在規(guī)定的時(shí)間和成本范圍內(nèi)開發(fā)出用戶可接受的軟件產(chǎn)品。在學(xué)生軟件工程能力培養(yǎng)過程中,雖然沒有軟件成本的約束,但可以規(guī)定時(shí)間約束和質(zhì)量保證措施。因此,軟件工程能力培養(yǎng)必須在特定的環(huán)境下進(jìn)行,否則這種能力培養(yǎng)達(dá)不到應(yīng)有的效果。

        3.2軟件工程能力培養(yǎng)環(huán)境

        根據(jù)對(duì)軟件工程能力培養(yǎng)的要求,我們將軟件工程能力培養(yǎng)的環(huán)境設(shè)定為:

        (1) 選定合適的軟件項(xiàng)目。該軟件項(xiàng)目必須來自現(xiàn)實(shí)社會(huì),具有真實(shí)感,避免學(xué)生作業(yè)性質(zhì)的題目。完成項(xiàng)目所需的軟件開發(fā)工作量符合教學(xué)要求,能夠在規(guī)定的時(shí)間范圍內(nèi)完成,但學(xué)生必須通過緊張的工作才能完成,不能很輕松地完成。

        (2) 學(xué)生必須按照一定的組隊(duì)原則組成項(xiàng)目組。項(xiàng)目組內(nèi)按軟件開發(fā)階段和任務(wù)劃分設(shè)置若干個(gè)崗位,分工明確、各負(fù)其責(zé),又互相協(xié)作。

        (3) 文檔有規(guī)定的模版。文檔必須有一定的格式和內(nèi)容要求。文檔的模板體現(xiàn)文檔的規(guī)范性,避免文檔的隨意性。

        (4) 學(xué)生必須按照軟件公司的工作方式進(jìn)行正常的上下班制。使學(xué)生真正體驗(yàn)一個(gè)真正的軟件公司是如何開展工作的。

        沒有上述環(huán)境,軟件工程過程能力和團(tuán)隊(duì)協(xié)作能力很難體現(xiàn)出來。在一般的學(xué)校實(shí)驗(yàn)室環(huán)境下,難以構(gòu)造這樣的環(huán)境。

        3.3軟件工程實(shí)踐能力培養(yǎng)實(shí)施

        根據(jù)調(diào)研,我們選擇四川某信息技術(shù)實(shí)訓(xùn)公司作為實(shí)習(xí)基地。該公司是原拓普公司下屬軟件公司,通過了CMM三級(jí)認(rèn)證,形成了規(guī)范化的軟件開發(fā)流程和規(guī)范化的軟件過程管理機(jī)制,具有進(jìn)行軟件人才培訓(xùn)的堅(jiān)實(shí)基礎(chǔ),2003年以來,該公司以原四川托普公司的軟件項(xiàng)目資源為素材,經(jīng)過提煉后作為實(shí)訓(xùn)項(xiàng)目,為軟件企業(yè)提供軟件人才培訓(xùn)服務(wù)。該公司提供的軟件人才培訓(xùn)服務(wù)與我們所期望的軟件工程能力和素質(zhì)培養(yǎng)具有很大的吻合性,但與我們對(duì)學(xué)生的培養(yǎng)目標(biāo)要求又有一定的差距,主要表現(xiàn)在:

        (1) 項(xiàng)目組的組織。該公司將實(shí)訓(xùn)學(xué)生劃分成一個(gè)一個(gè)的項(xiàng)目組,按照軟件項(xiàng)目開發(fā)的組織形式進(jìn)行組織和管理,這是值得肯定的一面。但每個(gè)組至少15人,有的甚至多達(dá)20人。對(duì)于在校大學(xué)生,要從這些學(xué)生中挑選一個(gè)項(xiàng)目經(jīng)理,要對(duì)每個(gè)人設(shè)置不同的崗位,把崗位和職責(zé)緊密結(jié)合起來,達(dá)到相互協(xié)調(diào)和配合,是很困難的,可能造成一部分學(xué)生沒事干或干事太少,達(dá)不到培訓(xùn)的目的,這也不太符合軟件工程原理中相關(guān)項(xiàng)目組組成對(duì)人數(shù)的要求,最好遵循7±2的原理。經(jīng)過協(xié)商,項(xiàng)目組以7~9人為宜。人太多,組織和協(xié)調(diào)困難;人太少,要在規(guī)定的時(shí)間內(nèi)實(shí)現(xiàn)規(guī)定的項(xiàng)目開發(fā)任務(wù)同樣有困難。后來的實(shí)踐證明,這樣的分組,在項(xiàng)目中每個(gè)實(shí)訓(xùn)的學(xué)生都有明確的職責(zé)和任務(wù),工作量非常飽滿,任何一個(gè)學(xué)生不努力或不配合,都可能導(dǎo)致任務(wù)完成得遲后。對(duì)7個(gè)學(xué)生的項(xiàng)目組與9個(gè)人的項(xiàng)目組相比,其進(jìn)度有明顯的差異。

        (2) 軟件開發(fā)過程的劃分。在學(xué)生實(shí)訓(xùn)過程中不太注意過程的管理,一個(gè)項(xiàng)目任務(wù)書下達(dá)后,只進(jìn)行最后的驗(yàn)收,沒有明顯的里程碑階段劃分。而學(xué)生的軟件工程能力最重要的是體現(xiàn)在軟件工程過程的組織、管理和控制的能力,必須具有里程碑階段的劃分,通過里程碑階段任務(wù)結(jié)束、階段成果審查和驗(yàn)收等環(huán)節(jié)來體現(xiàn)軟件工程過程管理對(duì)于軟件質(zhì)量保證的重要性,使學(xué)生明白軟件質(zhì)量不是通過測(cè)試來保證的,而是通過確保軟件工程過程每一步的質(zhì)量來保證,軟件需求分析和設(shè)計(jì)是軟件質(zhì)量保證的最關(guān)鍵步驟。因此在實(shí)訓(xùn)過程中,里程碑階段的劃分和階段成果驗(yàn)收是保證學(xué)生軟件工程實(shí)訓(xùn)質(zhì)量的基礎(chǔ)。通過相互協(xié)商,我們把軟件開發(fā)過程分成三個(gè)里程碑階段:需求分析階段、概要設(shè)計(jì)階段和最后驗(yàn)收階段。每個(gè)階段結(jié)束后都應(yīng)有關(guān)鍵性的階段報(bào)告,并且對(duì)階段成果要進(jìn)行討論和評(píng)審,基本通過后才能進(jìn)行下一階段的工作。通過軟件過程的管理讓學(xué)生真正知道軟件工程的本質(zhì)是什么。

        (3) 軟件工程能力培訓(xùn)的步驟。公司原來只考慮對(duì)學(xué)生進(jìn)行1次培訓(xùn),安排在大三結(jié)束時(shí)。我們認(rèn)為,軟件工程能力和素質(zhì)的培養(yǎng)需要一個(gè)比較長的時(shí)間,靠非常短暫的時(shí)間來達(dá)到培養(yǎng)的目標(biāo)是不現(xiàn)實(shí)的。所以我們計(jì)劃進(jìn)行兩次軟件工程實(shí)訓(xùn)。第四學(xué)期安排2個(gè)學(xué)分的軟件工程課程學(xué)習(xí),期末組織第一次軟件工程實(shí)習(xí),實(shí)訓(xùn)題目是“綜合程序設(shè)計(jì)與軟件工程初步實(shí)習(xí)”,即在學(xué)生具備一定程序設(shè)計(jì)能力基礎(chǔ)上,以綜合程序設(shè)計(jì)為內(nèi)容,通過引入軟件工程知識(shí)和軟件開發(fā)過程管理,讓學(xué)生體會(huì)真正的軟件開發(fā)是怎么回事。盡管學(xué)生對(duì)按軟件工程要求進(jìn)行軟件開發(fā)還很不習(xí)慣,但通過這樣一個(gè)過程使他們認(rèn)識(shí)到軟件開發(fā)不是只寫代碼,必須按照一定的過程和規(guī)范一步一步地進(jìn)行,否則不能達(dá)到預(yù)想的目標(biāo)。在第三學(xué)年引入更多的軟件工程類課程,學(xué)習(xí)更多的軟件工程知識(shí),再進(jìn)行第二次軟件工程實(shí)習(xí),使學(xué)生更自覺地運(yùn)用軟件工程的知識(shí)進(jìn)行軟件開發(fā)的嘗試。

        3.3實(shí)施效果

        通過對(duì)2004、2005、2006、2007年暑假的軟件工程實(shí)習(xí)的跟蹤,帶隊(duì)老師與實(shí)訓(xùn)公司的不斷交流與協(xié)商,公司按照實(shí)習(xí)的上述相關(guān)要求和規(guī)范的軟件開發(fā)過程組織實(shí)習(xí),達(dá)到了預(yù)期的效果。主要表現(xiàn)為:

        (1) 使學(xué)生深深認(rèn)識(shí)到軟件開發(fā)并不只是編程序。我們每次安排實(shí)習(xí)時(shí)間4周,其中在學(xué)校準(zhǔn)備1周,給學(xué)生補(bǔ)充一些在實(shí)習(xí)過程中可能要用到的知識(shí);在實(shí)訓(xùn)公司實(shí)習(xí)兩周,第四周進(jìn)一步完善在公司的實(shí)習(xí)內(nèi)容。在公司的實(shí)習(xí)的兩周共10個(gè)工作日中,理論和規(guī)范講解1天,軟件計(jì)劃、需求分析和總體設(shè)計(jì)一般需要4~5天,編碼和測(cè)試3~4天,驗(yàn)收1天。由于我們?cè)趯W(xué)生入學(xué)后的頭兩個(gè)年狠抓了學(xué)生的程序設(shè)計(jì)能力訓(xùn)練,學(xué)生編程基礎(chǔ)好,程序設(shè)計(jì)已不是大問題,所以重點(diǎn)放在軟件開發(fā)的規(guī)劃、需求分析和方案設(shè)計(jì)方面。最后驗(yàn)收的講評(píng)重點(diǎn)也放在需求分析和設(shè)計(jì)方面暴露的問題(一般列出的功能要求都能實(shí)現(xiàn))。由于學(xué)生非常看重講評(píng)的結(jié)論和效果,這樣的講評(píng)能對(duì)學(xué)生理解軟件工程收到很好的效果。

        (2) 對(duì)團(tuán)隊(duì)協(xié)同合作有了深刻的認(rèn)識(shí)。對(duì)任何一個(gè)項(xiàng)目組,如果同學(xué)之間不能很好地協(xié)調(diào)合作,不僅能影響進(jìn)度,而且影響軟件質(zhì)量。在時(shí)間受限的情況下,同學(xué)之間會(huì)主動(dòng)協(xié)調(diào)相互之間的關(guān)系。如果有同學(xué)不能很好地與他人合作,項(xiàng)目組會(huì)主動(dòng)進(jìn)行解決。曾經(jīng)有同學(xué)不習(xí)慣且不愿意與項(xiàng)目組協(xié)調(diào),項(xiàng)目組同學(xué)要求從項(xiàng)目組開除該學(xué)生。最后該同學(xué)認(rèn)識(shí)到協(xié)同合作的重要性,表示愿意積極配合。在學(xué)生實(shí)習(xí)總結(jié)中認(rèn)識(shí)最深刻的就是團(tuán)隊(duì)協(xié)作的重要性。

        (3) 對(duì)軟件過程管理有了深刻的認(rèn)識(shí)。軟件過程管理對(duì)軟件質(zhì)量的影響是顯而易見的,在課堂上重復(fù)10遍也不會(huì)收到好的效果。但通過階段驗(yàn)收和最后驗(yàn)收和評(píng)審,把驗(yàn)收質(zhì)量與項(xiàng)目組的成績及成績分布掛起鉤來,特別是最后的規(guī)范化的驗(yàn)收,軟件過程管理中出現(xiàn)的問題就會(huì)暴露出來。曾經(jīng)有一個(gè)組在軟件開發(fā)過程中各方面的工作都作得很好,但在最后驗(yàn)收過程中,因軟件版本拷貝出了問題,軟件演示的程序不是最終版本,而是一個(gè)中間版本,出了部分質(zhì)量上的問題,最后的驗(yàn)收結(jié)論是“原則通過”,分配各種檔次成績的比例明顯偏低。驗(yàn)收后,該組學(xué)生集體抱團(tuán)痛哭一場(chǎng)。此情此景足以說明軟件過程管理的重要性,任何一個(gè)環(huán)節(jié)不按規(guī)范辦事,都會(huì)出現(xiàn)意想不到的問題。

        4結(jié)束語

        軟件工程能力和軟件工程素質(zhì)培養(yǎng)是軟件工程專業(yè)學(xué)生培養(yǎng)目標(biāo)的基本要求。軟件工程能力培養(yǎng)和軟件工程素質(zhì)培養(yǎng)所需要的實(shí)踐環(huán)境與一般的課程實(shí)驗(yàn)或課程設(shè)計(jì)相比,具有其特殊性。如何構(gòu)造實(shí)踐環(huán)境,讓學(xué)生在環(huán)境中去感受和體會(huì)軟件工程的內(nèi)涵,具有重要的意義。軟件工程實(shí)踐在時(shí)間受限、項(xiàng)目組規(guī)模恰當(dāng)和管理規(guī)范的條件下,可以得到更好的效果。

        作者簡介

        周榮輝(1953-),西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院教授,長期參與計(jì)算機(jī)科學(xué)與技術(shù)和軟件工程專業(yè)建設(shè)。

        久久精品亚洲热综合一本色婷婷| 国产精品久久久久久人妻精品| 青青草好吊色在线视频| 国产亚洲精品一区在线| 男女猛烈拍拍拍无挡视频| 国产成人综合在线视频| 欧美日韩一区二区三区色综合| 日本高清在线一区二区| 久久精品国产亚洲av麻豆瑜伽| 国精产品推荐视频| 水蜜桃久久| 亚洲av精品一区二区三 | 97无码免费人妻超级碰碰夜夜| 亚洲日韩欧美国产高清αv| 亚洲国产一区二区三区在观看| 国产午夜精品视频观看| 西西午夜无码大胆啪啪国模| 超碰97人人做人人爱少妇| 国产精品久久久久亚洲| 一本色道久久综合亚洲精品不| 成视频年人黄网站免费视频| 久久精品亚洲中文字幕无码网站| 亚洲a人片在线观看网址| 白白色免费视频一区二区在线| 帅小伙自慰videogay男男| 国产乱子伦视频大全| 亚洲国产日韩欧美高清片a| 五月婷婷开心五月激情| 猫咪av成人永久网站在线观看| 国内精品视频一区二区三区| 国产一区二区三区白浆在线观看 | 在线观看精品国产福利片87| 视频一区视频二区自拍偷拍| 亚洲av一二三四区四色婷婷| 国产精品厕所| 日本岛国一区二区三区| 亚洲视频在线一区二区| 精品日韩欧美一区二区在线播放| 久热re在线视频精品免费| 日韩人妖干女同二区三区| 三年的高清电影免费看|