時間:2023-03-08 15:35:11
序論:在您撰寫軟件開發培訓總結時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
關鍵詞:高職;軟件開發課程;虛擬實訓;實踐教學
中圖分類號:G712 文獻標識碼:A 文章編號:1007-9599 (2012) 11-0000-02
一、引言
為培養應用型和技能型軟件開發人才,在高職軟件技術專業中實施三階段技能遞進培養模式,該模式將技能培訓分為基本技能積累、專業核心能力培養和綜合技能培訓三階段?;炯寄芊e累階段包含培養學生基本操作技能和編程技能的課程,如程序設計基礎等課程;專業核心能力培養階段包含培養更高一級專業能力的課程,如桌面應用程序開發、web應用程序開發等課程;綜合技能培訓階段是在前兩個階段的基礎上,開展以提高職業行動能力為目標的綜合技術應用訓練。
學生在教學階段遞進過程中需要通過大量實踐掌握軟件開發技能,因此每一門專業核心課程都設置相應的實訓課程,這些課程與綜合技術應用訓練都是以軟件開發項目為載體,通過實訓,使學生提高實踐能力、積累實際軟件開發經驗。為實現實踐教學過程與軟件開發過程的對接,必須采用相適應的教學模式以及提供合適的軟件開發實訓環境。由于培養費用、實踐場地的限制,讓每個學生都走上實際工作崗位參加真實環境中的項目開發存在很大的困難。在軟件開發實訓課程中采用基于虛擬實訓的實踐教學模式可以很好的解決上述問題,虛擬實訓作為一種打破時間、空間限制的實訓方式在節約教學投資、優化教學情境和實現資源共享等方面均起到十分重要的作用。
二、構建基于虛擬實訓的實踐教學模式
(一)構建思路
根據對軟件開發人員崗位需求的調研,軟件產品開發工作過程包括項目立項、需求分析、設計、編碼、測試等一系列工作。工作任務對工作和技術的要求為熟悉軟件開發流程,掌握相關開發技術,具備良好的代碼編碼習慣及技術文檔編寫能力,有較強自學能力、分析和獨立解決問題的能力、團隊合作精神和溝通能力。
為達到學習過程與工作過程的一致性,引入虛擬公司形式,采用虛擬環境與真實項目相結合、虛擬員工與真實管理相結合的方式,構建基于虛擬實訓的實踐教學模式。在學校的實訓室中,模擬公司的工作環境,以真實項目為載體,按照公司的軟件項目開發流程完成項目開發,縮短學生所學知識和應用的距離。通過教師學生員工化,模擬公司開發部的組織結構,教師擔任項目經理的角色,完成崗位相應的工作,包括協調人員配置、制定項目解決方案、監控項目執行、提供技術指導、組織項目評審。學生擔任開發部普通員工的角色,在軟件開發員崗位上完成項目開發各階段任務,在項目實踐過程中熟悉規范的軟件開發流程,掌握高效的軟件項目開發方法和技能。
(二)內容結構
基于軟件開發崗位工作任務的要求,構建具有“工學結合、校企結合、虛實結合”特點的虛擬實訓教學模式。該模式主要由四部分組成:知識培訓、項目實施、項目管理和項目評審。各組成部分涉及三大類角色:項目經理(教師)、項目組長(學生)、項目成員(學生),項目經理負責完成知識培訓和項目管理,項目組長和項目成員負責項目實施工作,項目經理、項目組長和項目成員共同完成項目評審。
知識培訓部分:包括專業基礎知識、實訓項目涉及的關鍵技術與知識以及項目應用領域知識的培訓。專業基礎知識培訓包含軟件工程基本知識、特定語言的代碼規范、團隊開發規范、技術文檔編寫、軟件測試用例的執行和記錄等項目開發支撐知識。關鍵技術與知識的培訓由項目經理根據課程目標和項目特點展開,包括關鍵技術和常用架構的學習、企業最新技術和開發工具的引入。領域知識培訓是指項目應用領域背景知識的介紹,例如財務管理系統的開發背景涉及金融財會的相關知識。
項目實施部分:項目實施是虛擬實訓教學的重要組成部分,包括實訓任務分解和項目實現。項目組接受來自項目經理的實訓任務,由項目組長進行任務分解并分配到各項目成員。項目成員按照企業軟件開發流程執行項目實施各階段的典型工作任務。
項目管理部分:項目管理包括進度控制和過程檢查兩部分,由項目經理實施以保證實訓項目按實訓計劃、實訓大綱的要求如期完成。項目經理指導項目組長制定項目開發計劃,根據項目計劃監督各組的工作進度。過程檢查部分包括設定過程檢查點以及階段通過標準,項目經理按照通過標準審查階段成果,確保項目完成質量。
項目評審部分:項目評審部分由項目演示交流和項目考核兩部分組成。在項目演示交流環節,各項目組介紹開發過程、演示項目運行結果、進行項目答辯。在項目考核方面,采用多元化的考核體系,注重對學生實訓過程的評價,在項目經理考核的基礎之上,參照項目組長評價,得出最終評價結果。
(三)應用過程
關鍵詞:核電工程軟件;軟件開發;過程控制
中圖分類號:TP311
文獻標識碼:A
文章編號:1009-2374(2012)24-0118-03
1 概述
隨著我國核電事業的蓬勃發展,在核電行業尤其是核電廠,無論是從設計、制造、運行到退役等各個階段,還是從控制、測量、檢查等各個環節,無不涉及到計算機軟件的應用。作為我國核電行業生產管理和安全保證的重要手段和工具之一,核電工程應用軟件正扮演著越來越重要的角色。
本文主要以軟件工程化開發和軟件工程化管理的思想和方法為依據,以我們研制的核電工程應用軟件——核電廠系統化培訓管理系統為例,介紹了核電工程應用軟件的研制過程控制管理以及在此過程中要遵循的主要原則和規范,并對過程管理和研制特點做了簡要分析總結。
2 項目概況
2.1 背景
核電廠各類人員的整體、綜合素質和業務能力對達到電廠“安全、可靠、穩定、經濟運行”的目標至關重要。為了保持人員的資格和工作能力、保證人員的培訓質量和工作績效,核電廠將在培訓管理活動中,采用IAEA推薦的國際上普遍應用的SAT(Systematic Approach to Training)系統化培訓方法對培訓活動進行管理控制。
針對系統化培訓活動中控制過程復雜、數據信息量大、用戶接口繁多等特點,相關核電廠決定借助目前流行的計算機技術,遵循核電廠人員系統化培訓方法的控制流程,開發一套“核電廠系統化培訓管理系統(以下簡稱TMS-SAT系統)”來輔助核電廠的被培訓人員、培訓管理人員和電廠管理人員,系統地規范核電廠現有的培訓活動,提高培訓效果和效率,使核電廠各類人員能獲得并保持完成所承擔工作的資格和能力。
2.2 項目目標和范圍
核電廠系統化培訓管理系統屬于核電工程軟件類項目,目標是在將來核電廠內的培訓工作中以TMS-SAT系統為載體推廣SAT培訓方法,全面推行系統化培訓的理念和管理,不斷完善核電廠的培訓管理工作,該項目主要完成軟件系統平臺的開發,主要內容包括:崗位任務分析子系統開發,培訓大綱管理子系統開發,培訓教材管理子系統開發,培訓記錄管理子系統開發,評價反饋管理子系統開發以及考試題庫管理子系統開發。
3 項目實施和過程管理實踐
TMS-SAT項目的控制管理是按需求確定范圍、按目標制定質量計劃和開發計劃、按計劃執行管理的過程,對該項目軟件系統開發各階段加強控制管理的根本目的在于增強對軟件開發的控制能力,提升軟件開發的質量。TMS-SAT按以下6個階段
進行:
3.1 項目的定義與分析
該項目的立項由用戶單位根據自身業務的工作需要,對立項目的、業務需求范圍、技術經濟指標、開發周期要求等方面做簡要概述,進行項目立項的可行性論證。單位在該階段協助用戶完成系統的定義與分析,協助用戶編制《技術規格書》并交付用戶審查,使用戶能了解我們的研發能力和對此軟件開發所需投入的人力、物力以及此項目最終達到的目標。
3.2 需求分析階段
當第一階段工作完成后,我們將制定適合本項目開發活動中的《質量計劃》來控制軟件開發周期內所有活動的工作條件、工作結果、評審要求等節點和各工作階段的質量控制點要求;為了向用戶描述有關此項目文檔要求、人力資源、開發進度、審查要求、最終交付的產品等內容,編制此項目的《開發計劃》和《測試計劃》。
然后根據《技術規格書》的要求,進一步了解此項目的數據輸入、輸出、系統性能、環境以及最終將達到的目標等詳細內容,形成本項目的《軟件需求分析說明書》和《數據要求說明書》。
3.3 系統設計階段
當軟件需求分析階段的審查通過后,根據《軟件需求分析說明書》和《數據要求說明書》的要求,完成“應該如何解決這個問題”和“具體解決此問題應該采取的辦法”這兩項工作。根據此系統的總體概要設計,通過數據流圖和數據字典的形勢來表示系統的邏輯模型,形成《概要設計說明書》和《數據庫設計說明書》。
3.4 系統開發
開發人員按照《詳細設計說明書》和《軟件開發規范》的要求,編寫出正確的、容易理解和便于維護的程序模塊。在每個子模塊形成后,程序開發人員和軟件測試人員對此子模塊進行單元測試,形成《單元測試報告或記錄》。在此階段,還將根據《測試計劃》和《詳細設計說明書》的要求,編制此軟件系統的《測試程序》,將所需測試的內容、步驟、結果、案例等描述出來供測試階段使用。
3.5 系統測試階段
該項目軟件系統在開發人員完成所有軟件模塊編碼后,測試人員及用戶將根據《測試程序》進行軟件系統測試。對測試中產生的軟件不符合項,形成“軟件問題報告單”,并最終形成《系統測試報告》。當軟件交付給用戶使用時,還將同時向用戶提交《軟件系統現場安裝實施手冊》、《用戶手冊》和《維護手冊》等相關文檔。
3.6 運行和維護階段
項目正式交付給用戶使用后,關鍵任務是通過各種必要的維護活動使軟件系統能長久地滿足用戶的需要。為完成此任務,我們從改正性、適應性、完善性、預防性等幾方面來進行維護活動中的工作。
4 項目控制管理的分析總結
4.1 項目開發管理質量化
該項目組通過編制《項目質量計劃》、《項目開發計劃》和《項目測試計劃》等質量文件,對該項目進行全過程監督、控制,使各質量相關活動在受控狀態下完成,確保項目中的各項質量要求得到了滿足。
4.2 項目開發過程規范化
該項目的軟件系統在依據軟件工程化開發和軟件工程化管理的理念和方法的基礎上,通過嚴格執行有關軟件開發管理和工作程序,規范軟件研發過程,同時也更好地指導了培訓大綱和基礎理論教材的開發工作;項目所有過程文檔資料及軟件編碼均采用統一的編碼和編寫格式。
4.3 項目開發控制進度化
依據軟件工程化開發和軟件工程化管理的理念和方法,科學地劃分和制定核電工程應用軟件的研制過程,同時各階段也兼顧了培訓大綱和基礎理論教材的開發工作;采用三級進度管理體系,分級落實進度責任制。
4.4 項目開發監督崗位化
由于該項目軟件系統的《需求分析說明書》往往是采用軟件設計的術語編寫,業務需求方難以理解,也就很難發現需求報告中與實際需求不符之處,更難提出建設性的意見。因此在該項目軟件系統的研制開發過程中引入了軟件監督崗位,由核電廠信息技術管理部門擔任,協調業務需求部門和軟件開發方的關系,監控軟件開發任務的執行情況,給開發人員和管理層提供反映軟件過程質量的信息和數據,提高項目透明度。
4.5 人員配備專業化
項目編制了各類人員的配置計劃,如系統分析人員、系統設計人員、軟件開發人員、測試和驗證人員等,明確了具體的工作方式、內容和要求,并根據崗位要求進行必要的培訓和再培訓,以便使他們獲得并保持必要的能力。
5 結語
實踐證明由于該項目在軟件系統方面依照軟件工程化開發和軟件工程化管理的理念和方法,嚴格按照我們單位提出的核電工程軟件研制方法進行研制、設計和開發,加強軟件研發的規范化管理,同時也更好地指導了培訓大綱和基礎理論教材的開發工作,從而保證了軟件研發乃至整個項目的進度和質量,使得我們開發的產品可維護性好,特別是在出廠驗收后大大減少了在現場測試和維護的人員投入,最終也得到了用戶的認可。
參考文獻
[1] 國際原子能機構.核電廠人員培訓及其評價(技術報告叢書第380號2005版)[S].
[2] 中國標準出版社.軟件工程術語(GB/T11457-2006版)[S].
關鍵詞:實訓體系;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)測試計劃與軟件缺陷:主要介紹軟件測試的基本概念和基礎知識、如何編寫測試計劃、識別軟件缺陷、編寫缺陷報告等。通過學習,學員可以掌握軟件測試的流程、軟件測試的策略和分類,掌握缺陷的分類和優先級等,從而對測試有一個整體的認識。介紹了缺陷跟蹤管理系統(測試工具)??傮w來說,本課程將使學員掌握軟件測試相關的大部分基礎知識。
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環境下的音視頻多媒體處理、游戲技術開發、底層核心架構技術等,并進行項目開發實戰。了解不同設計模式與運用、軟件性能調優、軟件過程管理等。
關鍵詞:軟件開發;實訓;外包;測試
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)36-8332-02
1 背景
工信部近日印發《軟件和信息技術服務業“十二五”發展規劃》,規劃明確了“十二五”的發展思路和發展目標,確定了10項發展重點和8項重大工程。而據業界預計,到2015年,我國軟件行業收入將突破4萬億元,年均增長25%以上,出口突破600億美元。
2 項目實施的必要性和可行性分析
外包人才的缺口從結構層次來看,不是局部的人才短缺,而是全方位的供應不足。正規院校培養出來的學生能掌握基本的軟件開發技術,但缺乏軟件開發工作經驗、項目交流和團隊合作鍛煉,需要經過相當的項目知識與技能培訓。超過60%的高校開設了計算機專業。但是,適應外包企業需要的大學畢業生很少,大學畢業生常常需要企業花大力氣培養,而企業希望招來就用,不愿自己培養人才增加成本。本軟件開發、測試實訓室應此目的設置,目標培養中低端軟件人才。
3 建設實訓中心項目的可行性
職業教育與普通教育相比有四個特點:一是教育性質和目標不同。重在對準備就業的學生傳授職業知識,培養職業技能,陶冶職業道德,提高職業能力和勞動素質教育。二是教育內容與要求不同。以提高學生的專業知識與技術能力為主,重在讓學生懂得做什么、怎么做,使學生學有專長,畢業后投身于社會經濟建設的實踐活動。目前盡管有部分學生升學,但就總體看,其教育內容與要求未變。三是課程模式與結構不同。其課程模式注重實踐教學環節,課程結構注重強化學生技能的應用性、針對性和職業性。四是學校功能與任務不同。要求實施職業教育的學校必須具有實訓實操的條件,否則職業教育很難獲得應有的效果。
4 軟件開發和測試實訓室建設目標
軟件開發技術實訓可以包含四類實訓課程:
軟件開發實訓:包括完整的生命周期的軟件開發過程
軟件階段實訓:選取軟件生命周期其中某個階段獨立工作(例如編碼工作)的實訓;
軟件測試實訓:包括軟件開發過程隨行測試和獨立的軟件測試技術實訓;
軟件項目管理:這是關于軟件技術高級培訓。
實訓裝備:
硬件設備:5組服務器;50臺工位電腦;網絡和交換設備;5組光盤刻錄、掃描儀和打印機等輔助設備;1套投影和無線擴音設備;互聯網接入;軟件平臺:Windows 和Linux服務器平臺,mySQl、SQL Server數據庫系統、J2EE和.net開發平臺和課程相關的軟件工具;LoadRunner 、WinRunner等常用測試工具;項目管理工具MS Project;辦公系統 Ms Office 管理軟件:實訓管理軟件
實訓方法:采用模擬企業運營方式將教練和學員混編成項目組方式完成軟件開發和測試實訓;打破學科界線和知識體系,以項目目標驅動安排教學內容,編制教材和教學課件,教學內容來源于合作企業以往的實際項目,由企業和學校共同對原項目分解、重組、封裝形成教學課件,以實際項目文檔為基礎編制實訓文檔。
實訓課程:本實訓室分設以下類型實訓課程
素質教育類課程:敬業精神、團隊合作
企業標準類課程:ISO9000和CMM認證,企業化管理制度
項目管理類課程:項目管理方法和項目管理系統使用;
軟件開發、測試類課程:包括軟件生命周期理論、文檔編制和理解、軟件工具、編碼和測試方法、系統部署、和版本管理等;
實訓過程:
先期培訓:素質類、企業標準、項目管理、背景知識等
基礎培訓:由教師教授課題涉及的基本方法、工具和規范;
開題培訓:由專業項目管理人員做課題報告,解釋項目要點;
5 實訓課題:軟件開發實訓
本實訓室培訓軟件開發人員和軟件測試人員,實訓方法可以將學員分組,在同一項目中分別承擔軟件開發和軟件測試工作,也可以獨立執行軟件開發和軟件測試實訓課程
軟件開發實訓包括一下實訓模塊:
1)背景和基礎知識:包括軟件開發規范,軟件企業ISO9000和CMM認證,學校軟件工具等;
2)搭建開發環境:能夠配置自己的軟件開發環境,包括安裝操作系統和開發工具包;能夠配置自己與別人的協同開發環境,包括網絡配置,文件共享,安裝遠程打印機等;
編寫代碼:使學員能夠讀懂詳細設計,掌握開發工具的配置與使用,掌握開發語言的基本知識和數據結構,了解簡單的算法,會設計簡單的界面,并應用常見控件,具有數據庫編程的初步能力;
圖1
3)測試:使學員除了掌握測試的理論知識外,還應該學會編寫單元測試案例,編寫單元測試文檔,在執行單元測試的時候,記錄測試結果,并分析錯誤原因,以利于下一步的調試。
學員應掌握以下具體技術、平臺和工具,Windows系列和Linux操作系統;Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,創建網絡連接,網絡打??;基于UML的詳細設計文檔,面向對象分析和設計;單元測試,黑盒測試,白盒測試,設計測試案例等;執行測試并調試錯誤,系統和配置技術;
軟件測試實訓包括以下實訓模塊:
計算機及常見操作系統、軟件設計語言基礎、 數據庫基礎、軟件工程基礎、軟件測試基礎、自動化測試:包括OSI模型、TCP/IP模型及常見網絡協議,常用軟件平臺、工具使用LoadRunner 、WinRunner測試工具使用,各種測試規范
6 總結
在當今社會信息化的進程中,綜合應用各種新技術的系統軟件功不可沒的,軟件開發和測試使全社會的信息管理、信息檢索、信息分析達到了新的水平,因此,學習軟件開發、測試的相關基礎知識,對于信息時代的每一個成員都是十分必要的。
參考文獻:
[1] 楊文宏,李心輝.面向對象的軟件測試[M].北京:中信出版社,2002.
[2] Ron Patton.Software Testing [M]. 2版. 北京:機械工業出版社,2006.
關鍵詞:敏捷轉型;反模式;軟件開發
1敏捷開發方法的出現
軟件工程是20世紀70年代提出來的概念。傳統的軟件開發方法有瀑布模型、螺旋模型、噴泉模型、RUP4類,它們注重文檔的完整、程序的易讀性、結構的完整性,屬于重型軟件開發方法。在過去的一段時間,傳統軟件工程的方法很好地適應了軟件開發的需求,其不僅關注軟件構造方式的完美型,同時也注重總體的可預測性,以文檔為驅動,按照需求分析、概要設計、詳細設計、編碼、測試、軟件交付的流程來進行開發。在軟件產業不是很發達、軟件開發人員稀少的過去,這樣嚴格的開發流程無疑是很適用的[1]。隨著市場環境的變化,傳統軟件開發方法面臨著嚴重的挑戰。一方面是用戶需求的多樣性、個性化和快速變化,另一方面則是來自激烈的市場競爭對軟件的質量和價值提出了更高的要求[2-3]。這就要求軟件開發需要以更靈活的手段來應對不斷變化的需求,用更短的時間和更低廉的代價將產品推向市場滿足用戶需要,由此人們開始對軟件開發過程的本質重新進行思考和探索,在20世紀90年代,一系列輕量級開發方法相繼被很多軟件大師提出。2001年2月在美國猶他州的雪鳥滑雪場召開了軟件開發大會,本次會議了“敏捷宣言”,包括4個核心價值觀和12條基本原則,這標志著敏捷開發的誕生。相對于傳統軟件工程,敏捷開發主要有3個重要特點:(1)敏捷開發是“適應性”而非“預設性”的,傳統軟件工程試圖對一個軟件開發項目在很長的時間跨度內做出詳細的計劃,然后依據計劃進行開發,這類方法在計劃制定完成后拒絕變化,而敏捷開發歡迎變化,甚至允許改變自身過程來適應變化;(2)敏捷開發是“面向人”的而非“面向過程”的,它們試圖使軟件開發工作能夠利用人的特點,充分發揮人的創造力和主動性;(3)敏捷開發是“產品驅動”而非“文檔驅動”,開發過程只需要較少的過程文檔,在軟件的迭代開發過程中,一直保持軟件產品的可用狀態,以產品的增量來衡量進度的實際狀態。敏捷開發的諸多優點吸引了越來越多的軟件企業研究敏捷開發,積極實施敏捷轉型。
2敏捷轉型的反模式
盡管敏捷開發方法已經提出多年,但實施過程中還是出現大量的疑問和難點,在傳統型軟件企業里面還大量存在敏捷轉型的失敗案例。這些失敗案例可以總結為6條失敗教訓,即敏捷轉型的反模式。
2.1缺少管理層支持
敏捷宣言告訴我們,“圍繞被激勵起來的個人來構建項目,給他們提供所需要的環境和支持,并且信任他們能夠完成工作?!痹谵D型過程中,同樣要求管理層需要關注團隊成員的狀態,為轉型工作提供足夠的資源保障。
2.2轉型目的缺失或不明確
管理層必須明確希望從敏捷得到什么,如果對要解決的問題都不清楚,那么努力的效果就會大打折扣或無功而返?!皠e的公司或別的項目那樣做”并不足以成為自己采用的理由。所以敏捷轉型必須緊盯自己的問題,弄清楚為什么希望做出改變,進而再啟動敏捷轉型。
2.3組織結構與角色和敏捷不相容
敏捷宣言提到“最好的架構、需求和設計出自于自組織的團隊”。在傳統軟件企業中需求分析、編碼開發和測試常常分屬不同的行政部門,這樣的組織架構容易阻礙自組織團隊建立,讓敏捷團隊的成員感覺僅僅能夠做局部優化。
2.4指導不足
敏捷轉型過程中,需要向團隊成員講述敏捷的思想和方法,過少的培訓甚至沒有培訓,將讓團隊感到迷茫。在實踐過程中,還會存在很多疑問或誤區,還需要有經驗的敏捷教練現場一對一指導。
2.5將敏捷等價為Scrum
敏捷的范疇比Scrum要大得多。Scrum本身并不涉及工程卓越、業務目標、大型團隊擴展或者技術發展等。在轉型過程中,需要從改善工程實踐入手。否則,團隊初期的Scrum的活動顯得很熱鬧,但因為代碼問題遲遲無法解決,質量和效率沒有得到根本的改善,過程依然痛苦。
2.6對工程實踐缺乏足夠認識
工程實踐對于解決代碼問題具有直接的幫助,但每一種工程實踐都有其門檻,需要付出學習成本才能掌握。不加選擇的實施,將會帶給團隊難以承受的壓力,而導致成員的抵制。這些問題都會導致敏捷轉型的失敗。而失敗又會帶來連鎖反應,一方面讓轉型的軟件開發團隊大大降低對敏捷的熱情和信心;另一方面,也會給其他周邊的團隊帶來負面影響,使其充滿疑慮、裹足不前。
3敏捷轉型策略
針對敏捷轉型的反模式,就可以有針對性地制定轉型策略。
3.1寬松環境
敏捷轉型是在項目交付過程中實施的,團隊成員需要付出額外的工作和努力。改進活動需要時間、資金、辦公環境的支持,甚至改進過程中會遇到挫折和失敗。團隊的管理層對此有清晰的認識,保持關注、積極支持、容忍失敗,建立一種寬松的轉型氛圍。
3.2轉型小組
敏捷教練通常對于敏捷價值觀有深刻的理解,對敏捷管理實踐或技術實踐有非常好的掌握,并且具備一定的溝通和引導技能。這種角色對于傳統團隊的轉型是非常關鍵的,起到引導實踐、轉變思想的作用。在傳統團隊內部通常難以獨立培養敏捷教練,需要從外部引入,幫助團隊轉型。以教練為核心加上團隊內部骨干建立轉型小組,可以幫助轉型工作順利開展。
3.3痛點驅動
傳統團隊在研發過程中通常受制于自身的能力和外部的壓力,遇到各種問題。常見的問題包括:(1)維護代碼規模大,遺留故障多,團隊陷于質量的焦油坑;(2)用戶需求多、變化快,驅使團隊過于追求進度,卻無法充分理解用戶需求;(3)分工壁壘嚴重,開發人員和測試人員之間對抗造成大量浪費活動;(4)團隊成員技能提升緩慢,加班過多,士氣低落。轉型小組一起分析團隊現有問題,再與團隊成員開誠布公地探討,通常會得到強烈的共鳴。不以引入新概念、新模式為目的,而以痛點驅動的態度面對問題,敏捷開發的起步就容易得到支持。
3.4實踐選擇
經過多年的業界探討和嘗試,敏捷方法論層面Scrum,XP和精益看板得到了廣泛認同。但即使這樣,從這幾個方法論里面挑選合適的敏捷實踐仍然不是件容易的事情,先做什么后做什么同樣也是難以抉擇的事情。盲目的實施實踐只會加重團隊的負擔,而難以獲得期望的效果,并將開發團隊陷于交付和改進的雙重壓力中。而轉型的初衷是在短期內付出可以接受的學習成本,提升過程能力從而獲得長期的交付能力提升,因此,短期內的改進必須要獲得可見的成果。通過多個項目的探索和實踐,總結出敏捷轉型初期的3個關鍵實踐:Scrum、用戶故事、持續集成。從管理、價值、交付3個關鍵方面可以幫助團隊在短期內以較小的成本奠定敏捷開發的模式的基礎,并可以在此基礎上持續自我提升。Scrum是一種輕量化的敏捷軟件開發管理框架,每隔1~4周,每個人都能看到能實際工作的軟件,并且據此決定是這個版本還是繼續開發以加強其功能,這樣將原先的長周期的開發過程切割成若干個小段,用戶反饋速度大大提升。有了輕量化的管理框架,團隊的基本的工作模式、協作方式就會發生明顯變化。用戶故事(UserStory,US)是從用戶的角度來描述用戶渴望得到的功能,能把一個功能像講故事一樣敘述出來,不僅描述了產品需求、業務價值,同時還包含了一系列驗收標準。一個好的用戶故事包括3個要素:(1)角色,誰要使用這個功能;(2)活動,需要完成什么樣的功能;(3)商業價值,為什么需要這個功能,這個功能帶來什么樣的價值。通過使用用戶故事,可以增進開發人員與業務人員的溝通,幫助開發人員充分理解需求含義,并確保每個迭代都能關注用戶期望的高優先級需求。沒有用戶故事就難以有真正意義上的迭代,也無法做到敏捷開發所倡導的快速反饋、快速學習和快速價值交付。持續集成是極限編程里面的重要實踐。采用完全的自動化構建過程,使得一個開發團隊在一天中多次構建并測試軟件。持續集成鼓勵軟件開發項目團隊在一天內多次提交代碼,同時保證每次簽入操作都不會損害已經通過的構建。這樣做的目的就是為了快速反饋,使得缺陷及早被發現,并能以可視化手段快速反饋。有了持續集成作為質量安全網,團隊的缺陷可以快速反饋和解決,作為工作產品的軟件版本就可以一直保持在可工作狀態。
3.5敏捷培訓
要讓團隊正確實施敏捷實踐,轉型小組需要實施多層次多類型的培訓。給團隊的敏捷培訓可以分為3個類型:(1)敏捷價值觀的導入培訓,向所有團隊成員解釋敏捷從哪里來的,它是什么、不是什么,與傳統軟件開發的異同點及其背后的原理,這樣可以讓團隊成員能夠在理論層面理解敏捷;(2)敏捷實踐方法的培訓,有針對性地向各角色介紹敏捷實踐方法的要領;(3)本地化敏捷管理要求的培訓,即為了使敏捷方法在團隊落地而制定的各種管理要求,需要宣貫給團隊成員,例如Scrum的活動計劃和執行要求、用戶故事書寫規范、持續集成紀律等。通過一系列培訓及時準確地傳遞敏捷的思路與各種要求,促進團隊建立共識,提升實踐能力。
3.6迭代改進
敏捷轉型不是一蹴而就的,轉型小組的改進工作需要按照敏捷開發的模式迭代前行。每個階段制定切實可行的目標、范圍和計劃,定期組織回顧總結。通過透明化的成果展示獲得管理層支持,及時發現風險改進工作安排,保證轉型工作始終在平穩和可控的軌道上。
4結語
敏捷開發是一系列輕量級方法論的集合,具有共同的價值觀。敏捷轉型行為是由策劃的敏捷方法引入到傳統開發團隊中,合理應用可以顯著提升團隊交付的效率、質量及個人能力。敏捷多種方法論及其實踐都有其特點和學習成本,這就給敏捷轉型帶來了諸多風險和難點。本文在大量實踐的基礎上,針對轉型中的反模式,提出了系統化的敏捷轉型策略以幫助傳統團隊成功轉型。需要注意的是,短期的敏捷轉型任務完后,轉型小組中應該能培養出內部教練,以便有能力引入更多的方法實踐,幫助團隊向更卓越的目標前行,而團隊需要保持敏捷的意識和習慣,形成持續改進的良性循環。
參考文獻
[1]科恩.用戶故事與敏捷方法[M].李國彪,滕振宇,譯.北京:清華大學出版社,2010.
[2]保羅•杜瓦爾,史蒂夫•邁耶斯,安德魯•格洛弗.持續集成:軟件質量改進和風險降低之道[M].王海鵬,譯.北京:機械工業出版社,2008.
圖1英特爾軟件網絡社區
為表彰英特爾® 軟件網絡社區中最活躍的成員對我們一如既往的支持,我們推出了英特爾® 黑帶軟件開發計劃。通過授予“英特爾® 黑帶軟件開發人員”榮譽稱號,表彰那些具有出色的英特爾® 技術專業知識,并對社區建設有突出貢獻的成員。他們樂于與他人分享知識和專業技能,在論壇提供幫助和支持,發帖并積極參加社區活動,極具領導地位。
為確保“英特爾®黑帶軟件開發人員”評選的嚴謹與可靠,英特爾® 軟件網絡成立了專門的評選委員會,成員包括我們的軟件開發工具專家、資深應用工程師及社區經理。委員會定期召開例會,提名新的成員,審核、驗證他們在過去一年中對英特爾® 軟件網絡社區的貢獻。評選標準包括成員向社區貢獻內容的質量和數量(即專業技術水平)、在社區內的領導地位及為社區帶來的支持成員三個方面,最后評選出的英特爾®黑帶軟件開發人員會得到相關獎勵。
在最近一次的評選中,楊劍鋒博士、周偉明先生、李鐸鋒先生成為中國首批榮獲“英特爾®黑帶軟件開發人員”稱號的社區成員,如圖2所示。他們擁有精湛的專業技術知識,為社區發展作出了杰出貢獻。
圖2三位“英特爾® 黑帶軟件
開發人員”
在首批榮獲“英特爾®黑帶軟件開發人員”稱號的成員中,楊劍鋒老師來自武漢大學。楊老師積極參與英特爾的高校合作計劃,從師資培訓、課程開發與教學,到網上的英特爾學術社區建設,他都投入了大量精力,開展了細致的工作,是目前英特爾學術社區乃至英特爾®軟件網絡上積分最高、貢獻最多的成員。
楊劍鋒老師
2007年,多核相關課程在國內高校尚處于起步階段,楊劍鋒老師在武漢大學主持了“多核架構及編程技術”課程的開發。課程組老師經過努力,將業界的最新技術與電子通信遙感等學科相結合,引入課程教學,為培養適應時展的實用技術人才作出了巨大貢獻!同年,該課程榮獲英特爾―教育部精品課程?;凇昂献?、發展和創新”的主題,英特爾與武漢大學建立了多核技術聯合實驗室,將其作為推廣多核課程內容開發與教學的種子院校之一,相繼于2008和2009年在武大舉辦了兩次多核師資培訓,協助華中、華西、西北等高校教師進行多核課程建設,受到各位專家的好評,也為多核技術的推廣貢獻了力量。楊老師在師資培訓結束后總結了相關經驗,在英特爾學術社區上發表了博客,與大家分享。
2008年秋,在包括楊劍鋒老師在內的眾多高校教師支持下,英特爾®學術社區中文版正式,為“英特爾多核大學合作計劃”提供了網上支持,給老師們提供了與英特爾專家和全球高校教師交流學習的平臺。2008年底,楊老師受邀擔任了英特爾學術社區網絡研討會的嘉賓,與全球90
余位教師分享了武漢大學等國內高校開展多核技術教學的情況,交流了成功經驗和需要解決的問題。這是中國高校教師第一次在英特爾學術社區中與全球教師互動交流,讓全世界其他地區的老師們了解了中國高校在新技術領域內開展的工作。自2008年以來,楊老師受邀參與包括英特爾、微軟、IBM、Nvidia、Sun、AMD、Adobe等公司技術專家及加州大學伯克利分校、喬治亞理工、北愛荷華大學等教授組成的全球并行教育工作小組,參與并行教育的討論,加強了中國并行教育的國際流。
2009年6月,楊老師在英特爾®學術社區上了由他主持開發的“多核架構及編程技術”教育部―英特爾精品課程,包括所有的教學幻燈片、實驗代碼、指導用書及課程建設參考資料,與全球教師共享;還特別了課程組傾力開發的部分題庫及動手實驗和教學錄像。這些教學資源為學生學習多核知識提供了巨大支持,也為兄弟院校開展教學提供了極具價值的參考,實現了英特爾®學術社區“學習、進步、分享、創新”的理念。
2009年底,作為英特爾®軟件網絡中積分最高、貢獻最多的成員,楊劍鋒老師榮獲“英特爾®黑帶軟件開發人員”稱號。
為幫助更多英特爾® 軟件網絡成員盡快成為黑帶軟件開發人員,英特爾® 軟件學院為軟件開發人員提供了豐富的技術培訓課程,幫助他們掌握和應用英特爾的最新技術及經驗,提升產品開發技能。學院依托英特爾®軟件和
服務事業部的強大師資力量,沿襲英特爾用戶需求至上的傳統;與國內多家知名公司、大學建立起長期的合作關系,已成為面向軟件開發及管理的優秀一站式培訓服務基地。
在未來的日子里,英特爾將一如既往地致力于為中國的軟件開發提供最優質的培訓服務,推動我國IT產業的持續發展,也期待更多的軟件開發人員獲得“英特爾® 黑帶軟件開發人員”稱號!
楊劍鋒,本科、碩士、博士均就讀于武漢大學電子信息學院,現任武漢大學電子信息學院副教授,主要從事多核技術、嵌入式系統及網絡通信等方向的科研與教學工作,同時承擔多核和嵌入式相關課程的實驗教學,2008年擔任全國大學生電子設計競賽嵌入式專題邀請賽專家組成員、評委。
關鍵詞:項目管理;軟件;開發應用;問題;對策
現在,信息技術發展速度越來越快,在這種背景下,企業需要應對信息化變化的挑戰就必須高度重視軟件的開發在具體項目中的應用。但目前一些企業在軟件的開發與應用中存在著許多不容忽視的問題,需要我們認真研究并努力解決。
一、項目軟件管理的基本內涵
1、什么是項目管理
項目管理是在一定的約束條件下,以高效率地實現項目業主的目標為目的,以項目經理個人負責制為基礎和以項目為獨立實體進行經濟核算,并按照項目內在的邏輯規律進行有效的計劃、組織、協調、控制的系統管理活動。
2、為什么要有項目管理
沒有項目管理,項目也有可能成功。但沒有管理的項目,很難保證項目的利潤空間,對公司來說,虧損的風險就大。所以,我們要有項目管理,以保證公司在總體上是盈利的,注意不是每一個項目都要盈利。
二、項目軟件管理的發展現狀
現在項目管理作為一種現代化管理方式在國際上已獲得了廣泛的應用,從最初的國防、航天、建設工程領域,迅速發展到電子、通信、計算機、軟件開發、金融等行業以及政府機關的項目管理工作。隨著計算機、網絡系統的迅速發展,項目管理技術的不斷進步,項目管理軟件產品層出不窮,其功能、特點、應用對象也各不相同。從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。
軟件開發是一項復雜的系統工程,牽涉到各方面的因素,實際工作中,經常會出現各種各樣的問題,甚至面臨失敗。如何總結、分析失敗的原因,得出有益的教訓,對一個公司來說,是在今后的項目中取得成功的關鍵。目前的軟件開發正逐步趨向于復雜化、多元化,大多數開發團隊中都會出現同時開發多個版本、開發維護工作并存、多地點同時開發等情況,給軟件開發管理帶來了前所未有的困難。如果管理不善,必將造成版本混亂,各個開發人員的工作相互交叉、干擾,整個開發團隊的工作在一種無秩序的不良狀況下運行,嚴重影響軟件產品開發的進度和質量。
三、項目軟件管理常見問題及解決策略
1、缺乏項目管理系統培訓
項目經理在項目管理方面的培訓較少或不夠系統。項目經理或管理人員不了解項目管理的知識體系和一些常用工具和方法,所以在實際工作中沒有項目管理知識的指導,完全依靠個人現有的知識技能,管理工作的隨意性、盲目性比較大。在軟件企業中,以前幾乎沒有專門招收項目管理專業的人員來擔任項目經理,被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是項目管理方面的知識比較缺乏。
解決策略:項目經理接受系統的項目管理知識培訓是非常必要的,有了專業領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項目經理的項目管理水平。應實行項目經理知識技能資格考核制度,讓項目經理自覺補充學習項目管理的知識和一些常用工具和方法。
2、項目計劃意識問題
項目經理對總體計劃、階段計劃的作用認識不足。項目經理認為計劃不如變化快,項目中也有很多不確定的因素,做計劃是走過場,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。沒有計劃或者是隨意的不負責任的計劃的項目是一種無法控制的項目。
解決策略:在高技術行業,日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事后的評估。
3、管理意識問題
部分項目經理沒有意識到自己項目經理的角色,沒能從總體上去把握管理整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。
解決策略:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經理更好地做好項目管理工作。技術骨干在擔任項目經理之前,最好能經過系統的項目管理知識,特別是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經驗,提高項目管理意識。
4、風險管理意識問題
項目經理沒有充分分析可能的風險,對付風險的策略考慮比較簡單。項目經理在做項目規劃時常常沒有做專門的風險管理計劃文檔,而是合并在項目計劃書中。有些項目經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對于后面的風險防范起不到什么指導作用。
解決策略:通過學習項目管理知識掌握風險識別、量化、對策研究、反應控制的工具和方法掌握項目風險管理所必備的知識。通過加強對項目規劃中風險管理計劃的審核提高項目組的風險管理意識??偨Y本行業項目中常見的風險及其對策作為風險管理計劃中必要的風險內容,并切實評估相應對策的有效性和可行性。
5、不重視項目經驗的總結
項目經理在項目結束時有些是因為自身對寫文檔工作的興趣或意識,或者是因為緊接著要參加下一個項目,總體對項目總結的重視程度不夠。有些是項目總結報告一再拖延,有些是交上來的報告質量較低,敷衍了事。