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

        ?

        用PSP塑造合格的軟件工程師

        2007-12-31 00:00:00吳超英
        計算機教育 2007年22期

        摘要:本文首先簡要介紹了PSP的原理,闡述了如何使學(xué)生理解從個體軟件開發(fā)過程到軟件產(chǎn)品工程過程,培養(yǎng)學(xué)生從開發(fā)簡單小程序的實踐轉(zhuǎn)向開發(fā)大規(guī)模軟件。然后結(jié)合實際的教學(xué)環(huán)境對教學(xué)策略加以詳細的說明,并對收集到的學(xué)生數(shù)據(jù)進行總結(jié)和分析。

        關(guān)鍵詞:軟件工程;軟件過程;個體軟件過程;團隊軟件過程;過程性能

        中圖分類號:G642文獻標(biāo)識碼:A

        文章編號:1672-5913 (2007) 22-0157-05

        眾所周知,管理人員和用戶需要專業(yè)的開發(fā)人員,他們應(yīng)具有可信的、專業(yè)化的能力,能夠完成承諾的工作;同時開發(fā)人員也在尋求更愉快的、有開發(fā)經(jīng)驗回報而又滿足專業(yè)要求的工作。因此教育工作者最應(yīng)該關(guān)注和培養(yǎng)社會需要的這類人才。

        個體軟件過程PSP(Personal Software Process)是由美國卡耐基·梅隆大學(xué)軟件工程研究所(CMU/SEI)開發(fā)的關(guān)注于個體工程師的過程實施及改進框架。Watts S. Humphrey先生自80年代末開始研究如何指導(dǎo)個體工程師對工作進行改進,并在95年和97年先后針對高校教學(xué)出版了兩本著作[1,2]。著作[1]具有很強的學(xué)術(shù)性,適合高校本科高年級學(xué)生或研究生使用。而[2]作為[1]的精簡版,可供低年級學(xué)生或社會工程師學(xué)習(xí)使用。之后,為進一步在社會上推廣PSP的應(yīng)用,2005年他又針對軟件工程師出版了著作[3],并帶領(lǐng)其團隊開發(fā)了完整的配套教學(xué)材料,目前已經(jīng)在SEI網(wǎng)站上已經(jīng)發(fā)布了V4.1的版本。同時SEI推出了PSP知識體(Body of Knowledge,BOK),將PSP的知識主體分為7個能力域,再將每個能力域的內(nèi)容細分為概念和技能兩個部分,使PSP的知識體系更加結(jié)構(gòu)化,更利于學(xué)習(xí)。同時PSPBOK也作為軟件工程師取得SEI官方PSP Developer資質(zhì)認證的主要參考。

        北京航空航天大學(xué)軟件工程所自90年代末就已經(jīng)開始了對個體軟件過程的研究和推廣[4],并組織翻譯了多部PSP著作[2,3]。我們的團隊多年來在研究PSP的基礎(chǔ)上,在北京航空航天大學(xué)計算機學(xué)院開設(shè)個體軟件過程從課程,將教學(xué)與實踐相結(jié)合,得到很成功的反饋。同時為軟件企業(yè)提供培訓(xùn),以達到產(chǎn)學(xué)研最好的結(jié)合效果。在近十年的PSP研究和教學(xué)實踐中,總結(jié)了一套更加實用的教學(xué)和實驗大綱、課件及練習(xí),同時開發(fā)了配套工具。經(jīng)過教學(xué)實驗的結(jié)果分析,這個體系不但適合學(xué)校教學(xué)也適合對企業(yè)的軟件工程師的培訓(xùn),較好地達到產(chǎn)學(xué)研結(jié)合的目的和效果,培養(yǎng)了社會需要的人才。

        正如Watts S. Humphrey在2005年的PSP著作中講到:在這幾年中,成千上萬的軟件開發(fā)人員接受了PSP課程,成百上千的TSP團隊已經(jīng)在他們的項目中使用了PSP方法。這個結(jié)果已經(jīng)遠遠超出我的預(yù)料[3]。

        1個體軟件過程PSP簡介

        個體軟件過程是一個自我改進的框架,它提供了一個穩(wěn)定、成熟的個體軟件過程,并定義了過程中所用到的表格、標(biāo)準(zhǔn)和規(guī)程,幫助個體軟件工程師控制、管理和改進自己的工作方式,指導(dǎo)工程師估算和計劃自己的工作,滿足承諾,處理不合理的承諾壓力,同時PSP向工程師展示如何收集用于持續(xù)的改進工作的生產(chǎn)率、質(zhì)量和可預(yù)測性的數(shù)據(jù),改進個人過程[3]。

        PSP通過一個不斷進化的過程來引導(dǎo)學(xué)習(xí)者學(xué)習(xí)PSP的工程方法,如圖1所示。學(xué)習(xí)者通過在每個步驟中編寫一個或多個模塊級別的程序,學(xué)習(xí)如何對自己的工作進行數(shù)據(jù)的收集和分析,并使用這些結(jié)果來改進個人性能。其中,幾個主要的PSP等級所關(guān)注的問題如下:

        ●PSP0:建立一個度量的性能基線

        ●PSP1:制訂規(guī)模、資源和進度計劃

        ●PSP2:實踐缺陷和效益(yield)管理

        軟件產(chǎn)品規(guī)模日益增大,使得產(chǎn)品的開發(fā)必須由團隊完成。學(xué)會PSP后,必然要將PSP應(yīng)用到實際開發(fā)的項目中。SEI開發(fā)了團隊軟件過程TSP(Team Software Process)用于支持在開發(fā)工程中使用PSP,并解決軟件開發(fā)團隊所面臨的承諾、控制、質(zhì)量和團隊合作等問題。

        2造就專業(yè)軟件工程師的過程

        2.1從個體軟件過程到軟件產(chǎn)品工程過程

        軟件產(chǎn)品的質(zhì)量在很大程度上受到軟件產(chǎn)品生產(chǎn)過程的影響。軟件產(chǎn)品工程過程作為軟件產(chǎn)品生產(chǎn)的核心過程,定義和集成了軟件工程中的各項活動。因此,軟件產(chǎn)品工程過程的性能將直接影響軟件生產(chǎn)的效率和產(chǎn)品的質(zhì)量。

        個體軟件工程師是軟件產(chǎn)品工程過程中最重要、最不穩(wěn)定的一環(huán)。只有參與過程的每個工程師都了解過程的執(zhí)行并遵循過程進行工作,過程性能才能夠得以保證。PSP是大型軟件工程過程的一個縮影,通過PSP的學(xué)習(xí),可以使工程師掌握好抽象、晦澀、不易實踐的軟件工程理念和方法,提高軟件專業(yè)人員的責(zé)任感,為成為稱職工程師打下良好的基礎(chǔ)。因此,學(xué)習(xí)并實踐個體軟件過程是軟件工程師了解、掌握和融入軟件產(chǎn)品工程過程的一條捷徑[5]。

        2.2從編寫簡單小程序到開發(fā)大規(guī)模軟件

        PSP課程按由淺入深、程序規(guī)模從小到大,從基本度量到綜合分析的策略漸進展開。雖然要完成的練習(xí)程序均為代碼行數(shù)僅在幾十到數(shù)百行的小程序,但是PSP所提供的一系列開發(fā)及管理方法,如規(guī)模估算、構(gòu)件重用、進度跟蹤、代碼和設(shè)計評審及度量知識和應(yīng)用等,都是業(yè)界普遍采用的方法。通過完成一些精心編排的小程序,在練習(xí)過程中理解和掌握PSP的工程方法,養(yǎng)成良好的工作習(xí)慣,可以使學(xué)生在參與大型軟件的開發(fā)時能自覺管理好自己的工作,高質(zhì)量地完成任務(wù)。PSP的真正目的是讓使用復(fù)雜軟件工程過程的大型軟件開發(fā)團隊中的每一個人都能規(guī)劃和完成好自己的工作,具有穩(wěn)定和高效的個體過程性能,從而使得整個開發(fā)團隊具有穩(wěn)定、高效、受控和可預(yù)測的過程能力,最終有能力在可預(yù)期的時間內(nèi)開發(fā)出高質(zhì)量的軟件產(chǎn)品。

        大量的實際應(yīng)用表明,PSP完全可以勝任實際大型軟件項目的開發(fā)[6,7,8],并具有很好的改進效果。也有研究表明,PSP可以和一些比較新的工程方法結(jié)合使用[9]。PSP誕生已經(jīng)有十余年,在SEI的大力推動和不斷更新下,越來越提高了適用性,并與CMMI中最佳實踐相結(jié)合進行實施產(chǎn)生了令人矚目的成果。

        2.3PSP所涉及到的工程方法和規(guī)范

        PSP不僅告訴了個體工程師應(yīng)該做什么,還詳細說明了應(yīng)該怎樣做。所以,PSP中包含了大量的工程方法和規(guī)范,它們大多來自業(yè)界的最佳實踐。這些方法在PSP知識體中都有詳細的描述。表1列出了PSP中所涉及到的工程方法和規(guī)范以及引入的PSP等級。

        3教學(xué)程序概述

        Humphrey在文獻[10]中提到,推廣PSP最有效的途徑就是通過教育系統(tǒng),SEI也在PSP的授課和培訓(xùn)上做了大量的研究和工作。我們結(jié)合多年P(guān)SP教學(xué)研究,參考SEI材料,為北航計算機學(xué)院大學(xué)三年級的學(xué)生設(shè)計了全套的教案。課程共9周,授課18課時,實驗18課時,包括了課程要求、課程講義和作業(yè)說明、評分標(biāo)準(zhǔn)及其他相關(guān)材料,并自主開發(fā)了教學(xué)輔助工具,結(jié)合企業(yè)應(yīng)用針對性地教學(xué),在教學(xué)過程中跟蹤學(xué)習(xí)效果,及時總結(jié)和糾正學(xué)生學(xué)習(xí)中的問題,形成了一套精煉而完整的課程體系。

        3.1教學(xué)策略

        PSP教學(xué)內(nèi)容包括授課環(huán)節(jié)和實踐環(huán)節(jié)。理論與實際結(jié)合的授課使學(xué)生對課程所涉及到的軟件工程知識在應(yīng)用方面有進一步的理解,而豐富和有效的課程實踐更使學(xué)生對所學(xué)知識在實踐能力方面有進一步的提升。同時通過自己親身的實踐體會,更徹底地認識到以前不良的開發(fā)習(xí)慣,提高質(zhì)量意識。

        課程教案分兩部分:開發(fā)過程策劃和質(zhì)量管理。第一部分側(cè)重于講授個體過程規(guī)劃,使學(xué)生學(xué)習(xí)軟件的估算與度量方法,還講授如何將統(tǒng)計學(xué)方法用于計劃管理和預(yù)測,從而使學(xué)生提高了解自己、計劃自己和管理自己的能力。第二部分是缺陷管理和質(zhì)量控制方法,講授如何識別和管理缺陷,通過設(shè)計評審策略和方法以及代碼評審的講授,給出軟件質(zhì)量方法在實際應(yīng)用方面的指導(dǎo),學(xué)生通過評審自己的設(shè)計和程序,發(fā)現(xiàn)缺陷,提高個人質(zhì)量的責(zé)任感,不斷提高產(chǎn)生無缺陷軟件的能力。與之相配套的8次練習(xí)也具有一定的先后次序及重用關(guān)系,使學(xué)生在練習(xí)的過程中體會如何通過歷史數(shù)據(jù)和重用來更準(zhǔn)確地規(guī)劃自己的工作和提高產(chǎn)品質(zhì)量。8次練習(xí)之間的層次鮮明,其重用關(guān)系如圖2所示。

        與練習(xí)相配合,給學(xué)生補充一些輕松的小游戲來加深對課程知識的理解,提高學(xué)生掌握PSP中的工程方法。如填字游戲,用于講解PROBE估算方法;代碼評審游戲,用于提高學(xué)生的代碼評審技能以及對其重要性的認識;情景測驗,選自NASAC的一份月球生存測試,用于輔助學(xué)生體驗小組評審的方式和效果。通過課堂游戲和練習(xí),有效活躍了課堂氣氛并鞏固了教學(xué)效果。

        3.2教學(xué)的國際化

        PSP開發(fā)者認證是SEI推出的目前唯一針對個體軟件工程師的資質(zhì)認證,自05年至今已有數(shù)千名工程師獲得該認證。我們的教學(xué)緊密聯(lián)系認證的指導(dǎo)材料:PSP知識體,對相關(guān)知識點加以重點講解,并鼓勵學(xué)生參加認證考試,獲取PSP開發(fā)者資質(zhì),推動國內(nèi)軟件開發(fā)者同國際接軌。

        3.3教學(xué)輔助工具

        在PSP教學(xué)中,學(xué)生所遇到的最大的困難是諸多數(shù)據(jù)采集任務(wù),加上難于隨時指導(dǎo),會導(dǎo)致無法方便地得到所采集到的數(shù)據(jù)的直觀反饋[11,12]。由于缺少自動化工具的支持,導(dǎo)致很多學(xué)生產(chǎn)生了抵觸情緒而使PSP課程失敗。

        針對PSP的教學(xué)及應(yīng)用,我們自主開發(fā)了PSP輔助工具PSP CASE Tool(PSPCT),對PSP 0~PSP 2的過程元素提供全面支持,如圖3和圖4所示。PSPCT能夠幫助使用者管理自己的項目,采集過程中的時間、缺陷、規(guī)模數(shù)據(jù),輔助規(guī)模估算和項目計劃,并提供分析支持、過程支持等高級功能。PSPCT大量減少了學(xué)生數(shù)據(jù)采集和分析的工作量,及時課后分析授課情況,分析學(xué)習(xí)效果,有效輔助了教學(xué)工作的進行。支持學(xué)生自己分析所采集的數(shù)據(jù)發(fā)現(xiàn)和改進個體過程中的問題,有效地預(yù)防問題再次發(fā)生,提高了學(xué)習(xí)興趣和成就感。

        同現(xiàn)有其他工具[11,13],PSPCT具有更強的教學(xué)指導(dǎo)作用,更具有開放性,對環(huán)境和使用者的要求更低,并且具有投入商業(yè)化應(yīng)用的潛力。

        4教學(xué)效果分析

        在教學(xué)過程中以及教學(xué)過程結(jié)束后,對教學(xué)所產(chǎn)生的結(jié)果進行總結(jié)和分析,能夠有效地指導(dǎo)學(xué)生糾正理論及實踐上的錯誤,及時對自己過程進行改進,同時也使得授課人員能夠了解學(xué)生們的狀態(tài),發(fā)現(xiàn)存在的問題,從而及時對教學(xué)過程進行調(diào)整,并在課程結(jié)束后對自身的教學(xué)過程加以改進。圖5為近兩年教學(xué)所采集到的學(xué)生數(shù)據(jù)。從圖中可以看出:隨著課程的進行,學(xué)生的工作效率\\產(chǎn)品質(zhì)量和估算準(zhǔn)確度等方面都有明顯的提高。表2顯示了學(xué)員在各方面的提高情況??梢钥闯?,經(jīng)過PSP培訓(xùn)后,學(xué)生的改進是顯而易見的。

        5結(jié)論

        大量的數(shù)據(jù)證明,對大學(xué)高年級學(xué)生和企業(yè)的軟件開發(fā)工程師進行PSP訓(xùn)練,是塑造合格的、專業(yè)化的軟件工程師的有效途徑,也為建造高效的軟件開發(fā)團隊培養(yǎng)人才,從而滿足軟件企業(yè)的人才需要和業(yè)務(wù)目標(biāo)的需要,達到縮短軟件產(chǎn)品開發(fā)周期、降低成本和改善軟件產(chǎn)品質(zhì)量的目的。這將對于提高軟件產(chǎn)業(yè)化、加速與國際接軌、建造名牌產(chǎn)品具有重大意義。

        在下一步的教學(xué)工作中,我們會繼續(xù)改進教學(xué)方法和過程,爭取組織學(xué)生集中完成實踐環(huán)節(jié)以給予即時的指導(dǎo)和反饋,并把重點放到如何將PSP與實際項目結(jié)合起來,研究如何以TSP為切入點,把PSP和項目管理方法進行有效的整合,給予學(xué)生更加實際的工程指導(dǎo),使PSP教學(xué)的效果最大限度地得以發(fā)揮。

        Training qualified individual software engineer using PSP

        ChaoYing Wu, Chao Cheng

        Abstract: This article briefly introduces PSP principle and methods, and illuminates how to teach students from personal process to software engineering process, and how to get a foundation of large-scale software development by practicing module-sized programs in detail. Then it analyzes the student data collected during our teaching activity. The result reveals that PSP method is of benefit for student’s engineering practices, and is capable of improving student’s personal process. At last, this article gives a summary to results and findings, and points out the future works.

        Keywords: Software Engineering, Software Process, Personal Software Process, Team Software Process, Process Performance

        參考文獻

        [1] Humphrey W. S. A Discipline for Software Engineering[M]. Addison Wesley, 1995.

        [2] 吳超英等譯著. 個體軟件過程[M]. 北京:人民郵電出版社, 2001.

        [3] 吳超英等譯著. PSP:軟件工程師的自我改進過程[M]. 北京:人民郵電出版社, 2006.

        [4] 車向東等. 個體軟件過程實驗研究[J]. 北京航空航天大學(xué)學(xué)報, 1998, 8(24): 426-429.

        [5] 程超等. 個體軟件過程實驗及分析[J]. 計算機科學(xué), 2007, 34 (9A):119-123.

        [6] Morisio M. Applying the PSP in Industry[J]. Software, IEEE Vol. 17, Issue 6, 2000 P.90 – 95.

        [7] Kamatar J, Hayes W. An experience report on the personal software process[J]. Software, IEEE Vol. 17, Issue 6, 2000, P.85 – 89.

        [8] Stark J. A, Crocker R. Trends in software process the PSP and agile methods[J]. Software, IEEE Vol. 20, Issue 3, 2003 P.89 – 91.

        [9] Babar A. Adapting the Personal Software Process (PSP) to Formal Methods[J]. Proceedings of the 2005 Australian Software Engineering Conference, 2005.

        [10] Humphrey, W. S. The Personal Software Process: Status and Trends[J]. Software, IEEE Vol. 17, Issue 6, 2000, P.71 – 75.

        [11] Syu L, Salimi A. A web-based system for automating a disciplined personal software process (PSP) [J]. Software Engineering Education Training. Tenth Conference, 1997.

        [12] Abrahamsson, P. The personal software process experiences from Denmark[J]. Proceedings of the 28 th Euromicro Conference, 2002.

        Sison R. Personal software process (PSP) assistant[J]. Proceedings of the 12th Asia-Pacific Software Engineering Conference, 2005.

        日本高清一区在线你懂得| 亚洲欧美日韩国产综合一区二区 | 女同视频网站一区二区| 日韩中文字幕素人水野一区| 日产精品久久久一区二区| 又黄又爽又色又刺激的视频| 亚洲中文欧美日韩在线| 日本91一区二区不卡| 日本亲近相奷中文字幕| 无码人妻久久一区二区三区不卡| 午夜精品久久久| 亚洲情精品中文字幕有码在线| 91精品国产九色综合久久香蕉| 中国精品18videosex性中国| 曰本女人与公拘交酡免费视频| 波多野无码AV中文专区| 手机免费高清在线观看av| 精品国产精品国产偷麻豆| 国产人碰人摸人爱视频| 亚洲av色香蕉一区二区蜜桃| 亚洲av男人的天堂一区| 欧美寡妇xxxx黑人猛交| 欧美中文在线观看| 色视频日本一区二区三区 | 日日拍夜夜嗷嗷叫国产| 蜜臀av免费一区二区三区| 国产又粗又猛又黄色呦呦| 亚洲中文字幕剧情类别| 日日婷婷夜日日天干| 国产主播在线 | 中文| 一区二区三区日韩毛片| 五月综合激情婷婷六月| 亚洲中文字幕无码爆乳av| 亚洲国产日韩av一区二区| 最新国产熟女资源自拍 | 亚洲av无码偷拍在线观看| 欧美激情a∨在线视频播放| 国产美女精品AⅤ在线老女人| 久久精品久99精品免费| 精品日产卡一卡二卡国色天香 | 久久精品性无码一区二区爱爱 |