時間:2022-04-14 15:24:53
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件測試培訓總結,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:軟件測試;實踐課;就業
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)04-0999-02
Employment-oriented Software Testing Practical Course Reform
MA Min-sheng, MA You-zhong, REN Gang
(Information Engineering Department of Chenggong College, Gongyi 451200, China)
Abstract: Based on the current requirement situation of the IT companies for software testing talents, the paper analyzed the shortcomings of software testing practice teaching and training of personnel in colleges. Concerning the current software testing teaching model、methods and means, we proposed the employment-oriented practical course reform,achieved the “zero distance” between practical teaching and employment, effectively filled up the deficiencies of graduates without working experiences. Finally analyzed and summarized the teaching reform.
Key words: software testing; practical course; employment
軟件測試課程是近年來才逐漸被社會廣泛認同和重視的一門軟件工程實踐類課程。軟件測試職業就業具有前景廣泛,薪資待遇高,競爭相對較小,無性別歧視,多元化發展等特點,應成為今后相當時期內高校計算機類專業的一門重要課程。現階段,我國軟件測試人才缺口已經超過30萬,供求矛盾較為突出,造成此缺口的最大原因就是我國軟件測試人才培養途徑單一、培養體制不健全。
本文立足于當前大學生的就業問題,調研了目前社會上對軟件測試人才的需求情況,提出在高校中開展課程改革和人才培養方面的創新,著眼于學生畢業后能夠滿足各類IT企業對軟件測試人才的要求,強調實踐課要結合項目實戰,運用教學案例,模擬實際的工作場景,鍛煉學生的實踐能力,為社會培養軟件測試方面的高級專業技術人才。
1 軟件測試實踐課教學現狀分析
國內外對軟件測試人才的培養主要有三種模式:企業內部、高等院校和IT培訓機構。企業培養的人才大多是通過參與項目自己摸索的軟件開發人員,由于缺乏對軟件測試全面的認識,在測試思想、技能、思維方式、溝通能力等方面都需要進一步提高。
高校培養模式彌補了IT培訓機構功利性強、培養目標單一、費用較高等缺點,但主要的缺陷是學生因為沒有實習機會而普遍缺乏工作經驗,不能滿足公司對測試人才的要求,在正式入職前還需要公司組織培訓后才能上崗,這給企業帶來了一定的風險和成本。
目前,大學軟件測試教學中存在的問題有:對實踐課程的重視程度不夠,軟件測試開展的不夠深入、徹底。測試過程存在大量的不規范性和隨意性。教材質量良莠不齊,教學上知識結構不合理,缺乏具體的實踐和系統的培訓指導。教師資源缺乏,教學方法和手段因循守舊。高校中有講授軟件工程的主講教師能很好的講解軟件測試理論和介紹軟件測試方法,但缺乏較好的軟件測試案例和一定的工作經驗。學生對軟件測試職業存在一些錯誤的和片面的理解等。
2 以就業為導向的軟件測試實踐課課程改革
高校的軟件測試教學改革的主要思路是,以學生就業為導向和中心目的,培養學生成為理論與實踐并重,綜合素質過硬的復合型應用型人才。主要內容和做法是:
2.1 建立軟件開發全程測試的思想
1) 重視軟件測試,規范化測試流程
主要內容是,參照測試公司對測試人員的崗位描述和任職要求,借鑒公司內部測試流程和測試方法,優化當前課程體系和知識結構,搭建軟件測試工作環境和平臺,構建測試實驗室,模擬真實的工作場景,進行完整的軟件測試流程實踐。
2) 建立學生測試團隊,模擬軟件公司開展測試工作
在實驗課教學中,教師合理分配各成員間的任務,培養學生崗位技能。測試實驗采用分組的形式完成。每組由5~7名成員組成,指定一名學生為項目組長,其余學生為開發人員和測試人員。組長負責項目進展、分工協作、測試計劃的制定等工作, 其他組員分別就相關模塊進行各自的測試策略、測試用例設計以及完成測試報告等。然后通過角色交換,充分發揮學生的溝通能力。
3) 軟件測試引領測試驅動開發
測試驅動開發實踐來源于敏捷式開發思想,其核心就是在開發代碼之前,先編寫測試代碼.也就是說明確開發某個功能后,首先思考如何對這個功能進行測試,并完成測試代碼的編寫,然后編寫相關的代碼滿足這些測試用例,循環進行添加其他功能,直到完成這種思想讓學生認識到測試是開發的重要組成部分,對于學生樹立牢固的測試理念是必不可缺的。
2.2 多種教學實踐綜合運用
1) 循序漸進式的教學體系 根據學生能力水平的高低和實際的崗位需求,將教學目標定位進行劃分。現有IT公司在招聘測試人員時根據技能要求分為初級測試工程師、中級測試工程師和高級測試工程師。進一步分析初級、中級測試工程師的工作內容和所需要的技能.將這些技能按照漸進的順序分為不同的組,當掌握了該組所需要的技能之后,就可以認為達到了一個新的測試工程師等級。這樣,在教學過程中可以循序漸進地讓學生掌握不同的技能組,每完成一個技能組,都可以完成對應的實際工作。
2) 開展“五步教學法” 根據軟件測試崗位實踐性強的特點,在教學中結合實際項目、開展“五步教學法”,按照以下五個步驟來組織教學:布置問題、動手實踐、分析和討論問題、理論講授、實踐提高。通過動手實踐,學生明確工作任務。通過教師的分析和學生的討論.學生能認識到自己動手實踐中存在的問題。經過前三個環節的鋪墊,學生就比較容易接受理論講授,并能在實踐環節去消化、運用。
該教學法以完成職業培養為目標,并將目標細分為一個個漸進的具體目標,通過不斷地設置問題、解決問題,學生最終掌握一系列實際工作技能,達成培養目標。“五步教學法”的開展,一方面通過先動手、后總結的方式,強調在實踐中學習,使學生對理論知識的學習有更清楚的目的,提高了學生的學習興趣;另一方面,通過個人思考和小組討論.鍛煉了學生的思維能力, 同時學生的自主學習能力得到進一步提升,而這也是學生從業后需要具備的基本素質。
3) 框架式教學方法 給出實驗目的和簡略的實驗參考步驟,讓學生使用學過的軟件工程的方法來進行實驗。實驗過程中每一步的具體內容需要學生自己完成,為學生充分發揮主觀能動性創造了條件,留下了思考的空間。
4) 項目驅動下的案例教學 案例教學更有利于提高學生分析問題和解決問題的能力,促進學生學會學習以及溝通合作。在教學的過程中,應當以可操作的軟件測試案例為中心,將測試理論貫穿開發全過程,指導軟件開發。讓學生能夠真正地體會到實際的測試流程。鑒于軟件測試由第三方進行的原則,可以由小組之間互相交換軟件進行測試,學生之間可以進一步交流,互相督促,共同進步。
2.3 開發軟件測試基線包用于教學
軟件測試實踐教學要借鑒IT公司開展測試項目的做法,面臨的重要問題是項目案例的組織和規劃,為此可以組織開發不同層次的軟件測試基線包用于教學。
測試基線包和案例的收集主要通過以下途徑:一是歷年典型的學生開發項目案例、畢業設計等;二是包含著人為設置的軟件缺陷的軟件系列,所設置的缺陷代表著在實際軟件開發過程中的典型問題;三是企業的項目資源,包括項目需求文檔、項目設計文檔以及項目軟件的不同版本,這些資源能夠讓學生接觸到完整的案例.并且由于基線包中包含了軟件的不同版本,從這些版本中.可以清晰地發現軟件缺陷是怎樣被不斷地發現和修復。此外,還可以從教材及參考書中收集、從互聯網中收集。在測試案例的選取上,要遵循典型性、針對性和系統性原則,收集到的案例可以作為理論課講解時的實例,也可以作為實驗課的基本素材。
為了使軟件測試基線包具有可移植性,可通過技術手段實現軟件測試基線包的快速部署,使學生能快速便捷地完成測試環境及測試軟件在不同場合的搭建。軟件測試基線包的開發為教學和實踐提供了有力保障.同時便于課程教學資源共享。
2.4 培養學生綜合素質和職業技能
公司在招聘人才時,要求應聘者不僅要具有較強的理論知識和實踐經驗,也要具備良好的職業素質。由于軟件測試職業的特殊性,后者顯得尤為重要。目前的教學中,對于應試技巧的教學內容幾乎沒有,因此很有必要就這方面組織培訓,使學生在入職前對軟件測試職業有一定的了解,贏得面試官的青睞,獲得更多的就業機會。
1) 加強學生面試技巧的鍛煉,例如面試中的儀表風度、專業知識、工作實踐經驗、口頭表達能力、綜合分析能力、反應能力與應變能力、人際交往能力、工作態度、上進心與進取心、求職動機等方面。
2) 注重培養軟件測試必需的溝通能力、責任心、懷疑精神、發散思維和反向思維能力。在學生中樹立良好的測試團隊意識,例如目標意識、團隊意識、服務意識、競爭意識、危機意識等。
3) 搜集和整理一些知名軟件公司(例如中興、華為、IBM等)的軟件測試工程師面試和筆試題,利用教學間隙組織模擬考試,進行講解和點評。
4) 建立校外實訓基地,與IT公司聯合培養,通過企業實習提高學生的崗位技能,形成定向培養的長效機制,彌補大學畢業生沒有工作經驗的缺陷。聘請業界知名專家、IT公司經理來校講座,了解測試行業最新動態,就相關問題答疑解惑,激發學生對軟件測試學習的興趣。
總之,軟件測試教學應當與社會的真正需求相結合,實現就業崗位零距離。
3 總結和展望
以就業為導向的軟件測試實踐課教學改革改變了過去實踐課流于形式,開展不到位的缺點,增強了學生的社會實踐能力和崗位技能,實現了教學與就業的零距離,取得了一定的教學效果和社會效益。目前改革還未能形成完整的教學體系,在實踐課的組織和實際操作上有一定的難度,實驗形式的過于靈活會導致課堂教學效率降低。今后需要在目前的基礎上作進一步完善,以適應當前IT企業不斷變化的測試人才需求狀況。
參考文獻:
[1] 陳能技.軟件測試技術大全-測試基礎、流行工具、項目實戰[M].北京:電子工業出版社,2008.
[2] 古樂,史九林.軟件測試案例與實踐教程[M].北京:清華大學出版社,2007.
[3] 朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2005.
[4] 劉德寶.軟件測試工程師[M].北京:科學出版社,2009.
關鍵詞:軟件測試;項目實訓;實踐教學;人才培養
作者簡介:吳夢麟(1982-),男,江蘇南京人,南京工業大學電子信息與工程學院,講師。
中圖分類號:G642.44 文獻標識碼:A 文章編號:1007-0079(2013)14-0126-02
近年來,隨著中國內需市場的增長和國內外外包企業的合作加深,我國的軟件外包行業得到了迅速發展。軟件測試作為軟件外包的主營業務之一,是加快軟件企業與國際接軌,實現產品國際化的重要手段。隨著軟件開發流程的系統化和規范化,我國軟件企業對軟件測試的需求逐步增大,因此高校計算機專業中的軟件測試人才具有良好的就業前景。
由于軟件測試工作的特殊性,需要從業者不僅掌握一定的軟件技術,同時也要對軟件測試的方法和流程具備相當的經驗。通過高校教育培養出來的計算機專業應屆畢業生,雖然能夠掌握基本的軟件開發技術和軟件測試理論,但是缺乏實際的測試經驗和相應的行業背景知識,離企業的需求尚有一定的差距。目前高校計算機專業中軟件測試教學仍以理論為主,實踐動手能力和項目背景經驗的培養相對不足,這些矛盾導致學生就業時很難適應企業的用人要求,企業也必須對招入的應屆畢業生進行培訓,花費相當的人力和物力。
項目實訓是解決高校和企業之間供需矛盾的有效手段。在日常教學計劃中引入項目實訓,以實際測試任務為驅動,按照企業規范進行流程管理,讓學生掌握測試過程中各階段的技能,理論聯系實踐地接受企業化的鍛煉。通過實訓課程,使學生不但能夠學習到實際測試經驗,而且能夠增強團隊意識,進一步縮小畢業生與職業測試工程師之間的差距。
一、軟件測試項目實施
1.測試項目簡介
本文所述的軟件測試實訓項目是基于校企共建模式,由南京工業大學(以下簡稱“我校”)軟件外包實驗室提供軟件測試的場所和專用的硬件設備,從合作的軟件公司引入相應的測試平臺、管理流程和測試報告文檔的測試項目。
本項目的內容是針對前期開發的教師管理系統進行測試。該系統是教學部門的業務管理支撐系統,測試主要圍繞教師信息的查詢和更新操作的管理。通過對這些功能模塊的測試,增強系統的易用性、穩定性、可配置性,消除信息孤島,進一步提高數據信息的應用水平。
在測試環境搭建過程中,服務器的軟硬件配置要與該系統的實際運行環境保持一致。對于測試計劃、測試方案和測試用例等文檔的修改、更新操作,則采用svn版本管理工具來進行控制。學生可以通過svn服務器平臺,按照進度提交每日的測試用例文檔,并填寫日志記錄測試進度和每天的測試工作。
2.實訓計劃和人員管理
軟件測試實訓安排在我校外包實驗室中進行,采用與企業相同的管理模式集中訓練,由相關教師和企業工程師來指導測試流程。測試團隊的成員來自于我校電子與信息工程學院計算機專業的大三、大四學生,以及對軟件測試感興趣的相近專業的學生。這些學生具備基本的軟件編程能力,并且對測試的基本理論有一定的了解。根據學生自身水平和對項目的熟悉程度,可以將其劃分為不同角色,其中包括開發人員和測試人員。開發人員由原來參與系統開發的部分學生擔任。測試人員可以分成不同的小組測試不同的模塊,每個小組設置一個測試組長,負責測試項目管理,其余組員則負責執行測試用例,各小組都有一名教師作為指導教師,控制模塊的測試進度。整個測試實訓項目安排在假期進行,用時半個月,每天工作8小時。每天早晨由測試組長安排當天的測試任務,并對前一天的測試結果進行總結。在每個時間節點,由指導教師和小組成員對相關測試文檔進行評審。
3.測試項目進程
本項目的實際流程圖如圖1所示,在項目初始階段,擔任開發人員角色的學生敘述產品需求和業務流程,為編寫測試計劃做準備。該測試項目主要分為5個階段:測試計劃制定、測試方案編寫、測試用例設計、多輪系統測試和測試系統報告提交。每個階段都力求達到規范化、細致化的測試目標,同時每個階段都要經過教師和各個組員之間的評審,如果評審通過,可以開始下一階段的工作;如果不通過,則需要完善后繼續評審直到通過。
(1)測試計劃制定。在了解了教師管理系統的需求以后,結合學生的基本情況、系統模塊數量和測試的周期來制定測試計劃。測試計劃要涵蓋測試的范圍和環境、測試人員的管理和測試進度安排。考慮到參與實訓項目的學生缺乏相關經驗,因此測試計劃要重點突出每個測試小組所對應的系統模塊,以及測試流程中每個階段所對應的完成日期。該測試計劃由各組組長和指導教師制定,最后需各小組評審后通過。
(2)測試方案編寫。測試方案是按照系統需求說明書詳細的分析測試的模塊,指導后續的測試用例的編寫工作,重點在于對模塊具體功能的理解和測試對象的分析。在這一階段,首先由擔任開發人員角色的學生來介紹系統模塊的基本功能,并以文檔的形式向對應測試組成員提交;然后由指導教師以具體測試點為例,介紹詳細的測試用例寫法;最后,由各組組長將測試任務分配給組員,各組員在理解的基礎上開始測試用例的設計。測試方案完成以后由各組組長匯總,并在組內進行評審。
(3)測試用例設計。測試用例的編寫是針對各功能模塊測試而設計的一組測試輸入、執行條件以及預期結果,也是本實訓項目的重點內容。在對模塊的特性和功能了解的基礎上,設計系統的測試點,設計時應考慮角色權限、驗證點和測試描述。在設計驗證點的過程中,鼓勵學生展開討論,力求做到無疏漏;同時在測試描述時,可以將等價類劃分、邊界值、錯誤推測等常用方法與書本理論相結合,通過具體的實例加深學生對所學知識的理解。最終的測試用例以Excel表格形式列出,其中包括編號、重要級別、操作步驟、預期輸出和實際測試結果等條目。
(4)多輪系統測試。按照測試用例的具體內容,可以進行多輪的系統測試。根據測試結果,扮演開發人員角色的學生對缺陷進行修改。通過這一過程,不但使學生認識到開發過程中存在的問題,而且積累了開發經驗,為今后規范化的編程打下了基礎。
(5)測試報告提交。通過半個月的實訓,學生經歷了規范化的測試流程,測試報告的編寫是對測試內容的概括和總結。報告的內容主要有以下三個方面:通過對測試結果的分析,得到對軟件質量的評價;總結本次的測試過程,為制定以后的測試計劃提供參考;評估本次測試計劃和測試執行是否符合規范。通過本次實訓,學生普遍體會到從理論知識到實踐的過程,明確了規范化的軟件測試方法,同時對軟件編寫中隱含的錯誤和缺陷也有了一定的認識,為今后的軟件開發打下一定的基礎。
二、軟件測試實訓存在的問題和解決辦法
本次軟件測試實訓基本達到了預期的效果,學生不但學到了規范化的測試流程,提高了職業軟件素養,而且通過互動和交流,發現了教學中存在的一些需要解決的問題。首先,本次軟件測試實訓是針對上一次實訓開發的系統,離企業的實際系統測試尚有一些差距;其次,參與的學生缺乏實際經驗,對軟件測試認識不足,導致測試方案和測試用例編寫不夠規范、完善;另外,相應的管理需要加強,在實訓過程中存在遲到、早退以及缺席的現象,從而影響了測試進度。
針對以上問題,在今后的實訓過程中,測試項目要盡量切合企業的實際需求,同時在測試方案和測試用例的評審中,要加強教師和學生的溝通,強調測試流程的規范性,可以多鼓勵高水平的學生帶低水平的學生。另外,可以采取企業現行管理方式對實訓進行管理,如引入考勤制度、評審制度等。
三、結語
軟件測試是我國軟件產業高速發展中需求缺口較大的一個行業,培養具有相關經驗和符合企業需求的軟件測試人才是目前高校計算機專業需要解決的核心問題之一。本文通過研究軟件測試實訓項目,探索了軟件測試專業人才的培訓方式以及在此過程中遇到的問題,對研究校企聯合的人才培養模式具有重要意義。
參考文獻:
[1]徐瑾.中國軟件外包業研究綜述與展望[J].經濟學動態,2010,(11):75-78.
關鍵詞:軟件測試;能力培養;教學理念;培養模式;探索實踐
中圖分類號:TP311 文獻標識碼:A DoI: 10.3969/j.issn.1003-6970.2012.03.009
Explore and Practice of Training the Ability for Software Test Talent
CaI Jian-ping
(School of Software Engineering Beijing University of Technology, Beijing 100101, China)
【Abstract】According to the requirements of Ministry of Education for training software talents, Aim at the software engineering features, and as a breakthrough for shortage of talent on software test, the paper analysis the employing demand of IT enterprises, study the training target of software testing talents and the training demand on the ability, explore a good method of the ability training for software test talents. Based on this, we actively undertake many practice activities about the ability training for software test talents, for example, concise the teaching philosophy of training software testing talent, build the new pattern of training the ability for software test talents, constitute a general outline for software test course, write corresponding book, establish laboratory, etc.
【Key words】software testing; ability training; Teaching Philosophy; Training Pattern; Explore and Practice
0 引 言
軟件測試是軟件工程的一個重要分支,是軟件質量保證的重要基礎。現代軟件測試與傳統的軟件測試不一樣,它是貫穿軟件工程整個生命周期(從需求分析、軟件設計、代碼開發,一直到最后測試、驗收和維護),涉及各種軟件開發技術、應用技術以及測試技術,覆蓋軟件各種應用領域(如桌面軟件、網絡應用、信息系統、電子服務、嵌入式系統、數字娛樂等),面臨不同的專業領域知識,所要求的投入與軟件開發相比規模同等甚至更高。另外,軟件測試是一項需具備較強專業技術、學習和創新能力的工作,軟件測試人員除了需要有一定的軟件測試實踐經驗外,必須要具有縝密的邏輯思維能力、全面的技術能力、各種測試工具的使用能力、敢想敢干的創新能力,要有較強的責任心和團隊合作精神以及出色的溝通能力等專業素質。要成為一名合格的軟件測試人才需要經過嚴格系統化的專業培養,并且在專業培養過程中一定要結合軟件測試專業化的特殊要求,強調軟件測試人員的工程實踐能力。
目前,很多高等學校僅僅是在計算機專業或軟件工程專業中設置一些軟件測試課程,還沒有提高到軟件測試專業化人才培養這個層面。北京工業大學軟件學院率先在這方面進行了探索和實踐,將能力培養作為軟件測試人才培養的重要內容和突破口,提出了“用工具,促能力”的教學理念,積極探索軟件測試課程的改革與實踐,最終建立通過學習和使用軟件測試工具進行軟件測試能力培養的新模式。并在此基礎上,開展課程建設、教材建設、實驗室建設等工作,取得了較好的效果。
1 “用工具,促能力”的教學理念
工程實踐能力是計算機專業,特別是軟件工程專業的基本要求之一。計算機技術或軟件工程技術涉及到大量的知識內容,包含各種開發和應用技術,覆蓋許多應用領域,需要有很強工程實踐能力。對于我們在校的本科學生,由于從高中到大學,一直在學習,缺乏實際項目經歷。如果按照傳統的課堂傳授理論知識的方法進行教學,輔助一般的實驗,會讓學生感到枯燥、乏味,提不起興趣。
為此,北京工業大學軟件學院要求在軟件工程本科專業的培養計劃中加大計算機基礎課程和軟件工程專業核心課程的實踐教學環節(包括配套的課程設計,獨立的實踐課程,以及小學期的集中實訓等),并特別在軟件測試課程的實踐教學上進行了大膽的改革和創新,提出了“用工具,促能力”進行軟件測試人才能力培養的教學理念。該教學理念的核心思想是通過要求學生熟練地使用各種軟件測試工具,來掌握軟件測試相關知識、技術、方法和管理流程,提高軟件測試的工程實踐能力,提升軟件測試的專業化水平。
熟練地使用軟件測試工具能帶來如下好處:
1)提高工作效率。
軟件測試的工作量很大(據統計,測試會占用到40%的開發時間;一些可靠性要求非常高的軟件,甚至會占到60%);另外,測試中的許多操作是重復的、非智力性的和非創造性的,但要求準確細致。最后,那些固定的、重復性的工作,可以由測試工具來完成,這樣就使得測試人員能有更多的時間來計劃測試過程,設計測試用例,使測試進行的更加完善。
2)保證測試的準確性。
手工測試常會犯一些人為錯誤。為此需要投入大量的時間和精力;而工具的特點是能保證測試的準確性,防止人為疏忽造成的錯誤。
3)有些測試很難開展,必須使用工具(如性能測試等)。
測試工具可以執行一些手工難于執行,或者是無法執行的測試。這是因為軟件測試工作相當復雜,要求非常嚴格,很多測試在手工測試環境是無法完成的。
4)測試工具很好地保證測試工作的規范性和一致性。
軟件工程最重要的內容就是管理,軟件測試同樣也是將管理放在第一位。
5)測試工具體現了先進的測試思想、方法和技術。
掌握并熟練地使用軟件測試工具,能夠快速和有效地掌握或鞏固所學的軟件測試的思想、方法和技術;運用軟件測試工具開展軟件測試工作,能夠有效地提升解決軟件測試中遇到的各種問題,增強軟件測試的實戰能力。
事實上,“用工具,促能力”的教學理念非常適合在工程化要求較高的軟件工程核心課程中進行示范,予以推廣。
2 探索軟件測試人才能力培養的新模式
我們在“用工具,促能力”的教學理念指導下,對以軟件測試人才能力培養為目標的教學方法與教學模式進行積極地探索和實踐,確定了軟件測試課程教學的知識體系以及學習和使用軟件測試工具進行軟件測試能力培養的實踐教學體系,制定了軟件測試課程教學大綱和實踐教學課程大綱,從而建立軟件測試課程教學及能力培養的新模式。
我們這里所說的軟件測試人才能力培養新模式主要是指我們在對軟件工程本科學生的軟件測試能力培養過程中,強調“用工具,促能力”的教學理念,以開源軟件測試工具為基礎,結合精選的教學案例,大膽地將測試工具的掌握和測試工具的應用作為實踐教學的重點,強化學生軟件測試專業知識的掌握,促進學生軟件測試實踐能力的培養。這種實踐教學的新模式,通過不斷的探索和實踐,充分得到學生的認可。學生通過軟件測試工具的使用,大大提高了參與實踐的興趣,對軟件測試相關的理論知識有了更深入的理解和掌握,運用工具解決測試項目實際問題的能力得到了加強。
2.1 軟件測試人才能力培養的課程建設
軟件測試人才培養專業性強,人員素質高,這要求我們必須科學地對軟件測試課程體系進行論證,并按照軟件測試人才能力培養新模式的要求制定出教學大綱。目前,學院在軟件測試課程體系的設置上分三個層次:理論課程―軟件測試,實踐課程―軟件測試課程設計,創新學分―軟件協同測試。貫穿這三個層次的主線是軟件測試工具,即通過軟件測試工具在不同軟件測試項目中的使用,強化學生知識的掌握和能力的培養,并按照工具使用流程要求,培養學生專業職業素質。
2.2 基于開源軟件的軟件測試實驗室建設
軟件測試課程對工程實踐要求極高,對學生動手能力要求極強,因此軟件測試實驗室的建設,軟件測試工具的配備除了支撐教學外,還是“用工具,促能力”教學理念的貫徹和通過學習和使用軟件測試工具進行軟件測試人才能力培養新模式的實施最重要的保證。
考慮到軟件測試貫穿軟件工程整個軟件生命周期,涉及各種軟件開發技術、應用技術以及測試技術,覆蓋軟件各種應用領域,需要用到多種測試技術、方法和測試類型。因此要建設能夠讓學生或受訓人員全面參與這些實驗或實踐的軟件測試實驗室,特別是全面配置商用軟件測試工具,這幾乎是不可能的。首先,除一次性投入滿足數十位學生同時上機進行實驗或實踐的要求外,經常性的升級維護費用就會讓條件優越的高校或培訓機構難以承受,更不要說大多數條件不優越的高等院校。另外,如果完全依靠商用軟件測試工具開展軟件測試的實踐教學,除了面太窄、投入太高外,我們很難推廣和普及在這方面取得的實踐教學成果。
為此,我們提出了以主流的開源軟件測試工具為基礎,進行軟件測試實驗室建設的解決方案。該方案覆蓋軟件測試的各個階段和各種類型,保證了國內許多院校在辦學條件不足,實驗教學經費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠很好地開設軟件測試實踐類課程。
實際上,我們在軟件測試實踐能力培養過程中,一直是要求學生使用開源測試工具。這是因為:
①開源測試工具的使用,特別是測試環境的建立,能夠促使學生接觸各種開源工具,如操作系統、服務器、數據庫、頁面開發語言、繪圖、郵件等,培養他們搭建平臺的綜合能力。
②采用開源測試工具搭建測試環境開展測試工作,更有利于學生學習和理解軟件開發技術和軟件測試原理,提高學習興趣。
③學生通過使用開源測試工具,除了完成課程設計所規定的測試任務外,還能夠清楚地了解這些測試工具對測試技術和測試方法的支持以及這些工具在應用中存在的問題,并可以嘗試自己動手改進這些測試工具。
2.3 軟件測試課程配套的教材建設
為使教學理念真正得到貫徹,能力培養模式真正得到實施,必須解決與之配套的教材問題。為此,我們編寫了《軟件測試大學教程》、《軟件測試實驗指導教程》以及《嵌入式軟件測試實用技術》3本教材。這3本教材不僅是課程的配套教材,而且還是軟件測試課程建設和教學研究及改革等成果的最終表現,也是軟件測試能力培養新模式實施的基石。《軟件測試大學教程》已被北京市教委推薦為“十二五”普通高等教育本科國家級規劃教材(待評審);另外,《軟件測試實驗指導教程》全面介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應用流程及實際案例,涉及到測試管理、缺陷管理、代碼分析、單元測試、系統測試、性能測試以及軟件綜合評測等重要實踐內容。該教材配套有近1GB內容的DVD光盤,光盤中存放有覆蓋軟件測試不同階段和不同類型的大量開源軟件測試工具及配套的實踐教學案例,保證了國內許多院校在辦學條件不足,實驗教學經費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠學習和推廣我們的教學成果;最后,學術專著《嵌入式軟件測試實用技術》對軟件工程應用領域嵌入式軟件的測試活動開展提供了專業支持。
上述教材的出版及使用,能夠使我們的教學理念真正得到貫徹,教學大綱真正得到落實,教學新模式真正得到實施,實踐教學的探索及改革有據可查,有跡可循。
2.4 軟件測試精品課程的建設
精品課程的建設能夠推動優質教育資源的共享、教學理念的宣傳和教學模式的普及與推廣,使學生得到最好的教育,從而全面提高教學質量。
軟件測試課程自2009年評為北京工業大學校級精品課程以來,一直在努力開展精品課程相關內容的建設,積極申報北京市精品課程。通過近幾年的軟件測試精品課程建設,很好地推動了優質教育資源的共享,以及實踐教學理念的宣傳和實踐教學模式的普及與推廣。
軟件測試課程在建設過程中,對教學內容、教學方法進行了如下的改革:
①在整個本科和工程碩士教學計劃和培養方案的基礎上,進行課程體系、教學內容及實驗和實踐環節整體配套和優化的教學改革;
②重視基礎理論,采用案例驅動式教學方式,加強實踐教學環節,注重基本技能訓練與工程能力的培養;
③密切軟件開發技術及測試技術應用最新動態,設計實踐教學案例,增強課程內容的針對性和時效性;
④將軟件測試課程理論教學與軟件測試課程設計、軟件協同測試等實踐教學和創新學分整體考慮,努力達到培養高素質、專業化軟件測試人才的要求;
⑤為使軟件測試課程達到既定目標,開展了配套的教材建設。
總之,精品課程教學內容突出全生命周期軟件測試概念、軟件質量分析手段、現代軟件測試技術、主流測試工具應用以及典型應用測試方法等,幫助學生了解和掌握現代軟件測試的各種原理、方法和技術,并能夠選擇合適的軟件測試工具進行相關測試。這些舉措為培養學生今后成為高素質、專業化的軟件測試人才打下很好的基礎,許多學生畢業后在IT企業能夠很好地從事軟件測試工作。
軟件測試精品課程網站是按照北京市精品課程網站建設要求建設的。網上的內容除了課程概況、課程內容、練習作業、教學課件、參考資料以及全程錄像。由于軟件測試課程包含有實踐性教學,因此本網站包括實踐教學指導等。除此之外,本網站還包括軟件測試課程全面教育教學研究和改革的思路、方案和成果。可以說,本網站內容完整、資源豐富,其成果具有可示范性和可推廣性。
軟件測試課程建設得到北京世紀超星信息技術發展有限責任公司的大力支持,該公司將本課程作為優秀學術成果(超星名師講壇――超星學術視頻)進行了全程的錄像和系統的整理,部分錄像資源可在超星網上觀看或下載,網址是: video.省略/playvideo.aspx?id=31475。另外,超星公司已授權我們可將本課程的完整學術視頻放在學校精品課程網站上,使教師和學生共享其資源。
3 軟件測試人才能力培養模式的實踐
軟件測試課程在不同的院校其設置是不一樣(如理論課或理論課+實驗課,學時、學分等)的,北京工業大學軟件學院在軟件工程專業本科生的教學計劃中將軟件測試課程設為專業必修課,其課程設置包括理論課及實驗課(課程設計)兩部分。理論課32學時,16周完成,每周2學時,最后參加學校考試周的閉卷考試。課程設計是期末小學期2周集中進行,共60學時。
3.1 課程設置情況
軟件測試課程自2005年開設以來,就依據“用工具,促能力”的教學理念開展本文所提到的軟件測試人才能力培養的新模式進行教學,講授了8輪次,學習人數達500多人。
無論是軟件測試理論課實驗、軟件測試課程設計,還是創新學分――軟件協同測試,都是以軟件測試工具為核心,結合精心設計的測試案例,使學生從測試需求、測試環境建立、測試策略、測試技術應用、測試用例設計與執行、測試結果分析,以及缺陷跟蹤管理與測試報告文檔撰寫等方面完成實驗內容和課程設計內容。
3.1.1 軟件測試理論課程的實驗大綱
軟件測試理論課中安排了6個學時的實驗內容,包括三個方面的內容(每部分內容2學時):代碼靜態檢測、Java單元測試Junit、Gtk+界面測試。
3.1.2 軟件測試課程設計大綱
軟件測試課程設計按照《軟件測試實驗指導教程》開設了6大類型的軟件測試項目,每個類型的測試項目要求學生同時使用主流的開源測試工具,體會先進和成熟的軟件測試技術,提高學生的實戰能力。
類型1:以測試過程管理為主,實驗重點是缺陷管理、測試管理以及缺陷管理與測試管理的集成。涉及到的開源工具主要有Mantis、Bugzilla、Testlink、Testopia等。
類型2:以程序的靜態分析為主,實驗內容是程序理解、代碼靜態分析。涉及到的開源工具主要有Oink,Eclipse PTP/ CDT,以及分析Java代碼的多種工具(如Findbugs、PMD、Checkstyle、Valgrind、Prefast等)。
類型3:以單元測試為主,實驗內容是基于支持測試驅動開發(TDD)的單元測試框架xUnit的C/C++功能測試和C/C++及Java的覆蓋測試。涉及到的開源工具主要有CppUnit、EclEmma、Gcov等。
類型4:以圖形界面測試為主,基于單元測試框架對Java GUI進行測試,對網頁進行測試。涉及到的開源工具主要有JFCUnit、HttpUnit、JWebUnit等。
類型5:以性能測試為主,除了繼續在單元測試框架的基礎上對Java應用進行單元性能測試外,重點是對Web應用系統進行整體的性能測試。涉及到的開源工具主要有p-unit、JMeter、WebLoad等。
類型6:以軟件綜合評測為主,對南京大學的EASTT工具進行綜合應用(可輔助使用Panorama++試用版),全面了解軟件評測的思想、方法和要求。
軟件測試課程設計的考核內容包括:建立測試環境,運行測試工具,編寫測試例子,加載被測程序,執行測試用例,分析測試結果,撰寫測試總結報告(報告字數不少于1萬字),最后登臺匯報(PPT演講)。
通過撰寫報告和登臺PPT匯報,培養學生的邏輯思維、歸納總結、論文撰寫、多媒體制作以及登臺演講能力。3.1.3 軟件協同測試創新學分大綱
軟件協同測試創新學分實踐課程主要是由教師布置具體的較大型軟件測試項目,模擬多人異地得測試活動,讓學生體驗軟件測試各個階段進行協同的關鍵要素。包括測試需求分析、測試計劃制定、測試用例設計、測試用例執行、測試結果收集以及測試資源和測試過程管理等各個環節的協同要求,學生通過協同分工完成整個課程任務,并在測試實踐中總結方法,創新性的提出軟件協同測試的解決方案。
3.2 實踐效果
基于“用工具,促能力” 的教學理念下的軟件測試人才能力培養的新模式在內容組織上做到了既能夠調動學生專業興趣,使其感到軟件測試的實用性和挑戰性,又加強了學生軟件測試的實際動手能力。軟件測試課程以主流的開源軟件測試工具應用為基礎,以實戰能力培養為目的,易于教師開展軟件測試的各項實踐教學活動,而且學生對這種形式的實踐教學反映非常好,學生參與實驗的熱情非常高,學生經過實踐后收獲非常大、能力提高非常快,學生為實踐收集或設計的案例非常豐富,部分學生撰寫的實踐總結報告水平也非常高。另外,學生結合分組實踐內容的安排,進行針對性地軟件測試實踐活動,同時也可以方便不同層次的學生根據自己的能力、時間和興趣選擇相關的實踐內容進行自學和實踐,進一步地拓展自己的專業知識和專業技能,為今后的職業生涯規劃打基礎。
企業對我們所取得的成果給予了認可。北京應用軟件產品質量監督檢驗中心與學院簽署了戰略合作協議,確定在軟件測試人才培養(如軟件測試培訓、實訓及實習)、軟件測試科研、軟件協同測試平臺建設以及嵌入式軟件測試等基礎建設方面開展合作。
2009年,北京工業大學軟件學院所獲得的北京市軟件工程實踐教學示范中心其建設內容主要是軟件工程及其相關專業核心課程的實踐教學及其學生的能力培養。按照什么樣的理念和模式開展這些課程的實踐教學,軟件測試課程“用工具,促能力”的教學理念和在該教學理念指導下的軟件測試人才能力培養模式做了一個很好的實踐和回答。
4 結束語
目前計算機學院或軟件學院學生的軟件測試人才培養一直是高等院校計算機人才或軟件人才培養的一個“短板”,一直缺少好的教學理念和教學模式。因此,開展軟件測試人才能力培養的教學理念及培養模式的探索與實踐是一件非常有意義的工作。對于這項工作,有關專家給與了充分的肯定,他們認為:軟件測試人才能力培養的教學理念和新模式強調軟件測試工具使用的重要性,同時重視教學實驗成本和教學的靈活性,所有實驗和實踐活動的內容組織均以開源軟件測試工具為主。通過實際測試項目的開展和工具的使用,能夠使學生掌握軟件測試的基本方法、技術和流程,提高他們的動手能力。而且這種教學理念和培養模式具有示范性和推廣性。
參考文獻
[1] 柳永坡. 讓軟件測試實驗和實訓課程輕松地走進高校或培訓機構――介紹《軟件測試實驗指導教程》[J].計算機教育,2010(13):158.
[2] 柳永坡. 軟件測試大學教程:軟件測試課程專業教材[J].計算機教育,2010(12):158.
[3] 蔡建平. 開源軟件測試實踐教學方案設計[J]. 計算機教育,2011(6):103-108.
[4] 蔡建平. 軟件測試大學教程[M]. 北京:清華大學出版社,2009,09.
【關鍵詞】軟件測試;工作過程;課程設計
1.課程的定位與教學設計
1.1 課程定位
《軟件測試》課程作為軟件專業二年級下學期的專業課,它的前導課程是《數據庫設計》、《數據結構》、《軟件工程實施》,后續課程是課程實訓及畢業實習。通過本課程的學習,使學生加深對軟件測試基本理論和基本方法的理解與應用,能熟練使用常用軟件測試工具,并能運用軟件測試工具完成應用軟件的測試工作,提高學生對軟件的測試與維護能力,并進一步培養學生的的團隊協作能力。
1.2 課程設計思路
軟件測試是高職計算機軟件專業學生在以后的工作崗位上要用到的核心技能。因此,本課程應該作為專業必修課程和核心課程,重點培養學生在以后的工作崗位上所需的職業能力:白盒測試、黑盒測試、自動化功能測試與性能測試。
《軟件測試》課程的總體設計思路是,轉變傳統的學科課程模式,不再以知識傳授為主,構建以工作任務為中心的企業培訓體系,引入企業項目,讓學生在真實的企業項目中完成相應的工作任務,從而儲備相關的專業知識,發展職業能力。授課內容重點突出對學生職業能力的培養。課堂上不再單純地只講授理論知識,而是圍繞實際工作任務的需要來選取,這充分考慮了高職學生動手能力強,理論知識薄弱的特點。
2.教學設計
2.1 教學情境設計
本課程小組通過學院專業指導委員會、重慶亞德科技、重慶大佳、重慶港澳大家等軟件公司的企業技術人員進行實際調查,制定了適合高職學生的軟件測試課程體系與職業能力,確定了軟件測試課程典型的教學情景與子情景,在教學情景中給出具體的工作任務、工作方法以及要求學生掌握的知識與技能等,在教學中貫徹理論實踐一體化的教學模式,做到教、學、做三結合,充分體現工學結合的優勢,培養學生的職業素質。本課程的5個工作過程及11個典型工作任務如表1所示。
2.2 教材設計
(1)教材應充分考慮軟件測試的實踐特性,以工作任務為導向,引入必須的軟件測試理論知識,讓學生在實際測試的過程中,循序漸進地掌握必要的理論知識。
(2)編寫的內容要以項目驅動為原則,以企業的實際案例、場景模擬、工作過程錄像為載體,增強課后的能力拓展,并根據高職學生的職業能力所需知識的深度和廣度來編寫,并在具體的工作任務中使學生逐漸形成團隊協作意識。
(3)教材應突出軟件測試技術的實用性、前瞻性和開放性,不能只是簡單地介紹一些技術上的操作,而忽略了軟件學生所需的職業能力,在教材中應融入軟件測試技術中所用到的新規范、新技術、新標準、新工具、新知識,讓學生能系統地掌握軟件測試的前沿知識。
(4)教材應充分引領學生主動、積極地去學習,因此,文字表述要簡明扼要,內容展現應圖文并茂,內容應詳略得到。
2.3 教學方法設計
由于本課程的主要教學內容涉及白盒測試、黑盒測試、自動化功能測試與性能測試等操作性很強的教學環節,必須通過課程實訓才能達到對項目作規范需求分析的培養目標。具體教學方法設計如下:
(1)全班學生分為N個項目小組,3人一小組,1人任組長,組長要求協調溝通能力比較強。
(2)在教學過程中應加強學生對軟件總體的測試能力,采用任務驅動教學,注重以任務引領,提高學生學習興趣;
(3)組建軟件外包中心,引進企業項目,讓學生真實地體驗在軟件公司的測試流程。外包中心作為理論實踐一體化教室,達到理論和實際不脫節。
(4)教學過程中可參考軟件測試評師考試中規定的知識要求和技能等級職業標準。
(5)教師模擬企業的項目經理,必須具有開拓精神,帶領團隊完成工作任務,并在完成工作任務的過程中,探索基于工作過程的職業教育新模式,培養學生的軟件測試能力,構建軟件測試知識體系。
2.4 教學評價設計
(1)突出過程評價,結合課堂提問、實作測試、課后拓展、任務考核等手段,加強實訓教學環節的考核,并注重平時考核。
(2)強調目標評價和理論與實踐一體化評價,注重引導學生進行學習方式的改變。
(3)每個項目小組在完成課程后,要將所學的內容做ppt,匯報本小組項目完成的情況以及體會。
(4)實行學習過程的過程化考核。平時作業、期中與期末考試均采用上機實訓的方式考核,對于不合格者,在團隊的協作幫助下持續練習,直至過關。這樣可以督促學生不斷地練習,真正提高動手能力。
(5)課程的學期成績=平時作業(10%)+上課考勤(10%)+小組項目測試情況(30%)+小組ppt總結情況(10%)+期末成績(40%)
3.課程資源的開發與利用
(1)圍繞軟件測試課程,收集教師和學生必備的軟件測試工具,制作適宜教學的多媒體教學課件。
(2)組建軟件外包中心,搭建實訓工作平臺,為學生實訓提供真實的工作環境,從而提高其職業素養。
(3)要充分開發網絡課程,讓學生在課余時間可以自主學習,彌補學生課本知識的不足。
(4)充分利用和開放實訓中心,將教學與實訓合一,將理論與實踐合一,滿足學生綜合能力培養的要求。
(5)積極利用電子書籍、電子期刊、數字圖書館、校園網、各大網站等網絡資源,使教學內容從單一化向多元化轉變,通過企業技術人員的指導,課程教師的輔導,使學生知識和能力的拓展成為可能。
4.課程的實施效果
(1)基于項目化的授課內容
建立軟件外包中心,引入企業項目內容,軟件測試的授課內容緊緊圍繞企業項目的典型工作任務開展,學生的能力與素質參照軟件測試工程師的崗位要求,讓學生真實感受企業環境,就業零距離上崗。
(2)基于過程化的授課方式
老師授課不再單純地講解理論,完全按照企業的軟件測試流程開展,制定規范的軟件測試計劃、編寫測試用例、利用測試工具測試、編制測試報告,有利于學生養成職業化的學習習慣與工作習慣。
(3)基于理論實踐一體化的教學設備
學生在軟件外包中心上課以及實驗,真正實現了“做中學,學中做”的企業工作環境。
(4)基于能力化的學習評價
學生的評價不再單純地以理論考試為依據,而是從學生的軟件測試專業能力、利用軟件測試工具的能力、團隊溝通協調能力進行綜合地評價。
參考文獻
[1]鄭泳.基于工作過程系統化的高職《軟件測試》課程設計[J].漯河職業技術學院學院,2010(9).
[2]程茂,溫靜,吳玉潔.《軟件測試》課程的教學研究[J].河北師范大學學報,2010(4).
[3]蔡建平.開源軟件測試實踐教學方案設計[J].計算機教育,2011(3).
關鍵詞:高職;軟件測試;教學改革
軟件測試是伴隨IT產業的發展而出現的新興工作崗位。不論目前還是將來,人才市場對軟件測試人才都有很大的需求量。《軟件測試》課程是高職計算機軟件專業的一門新課程。這門課程的實踐性很強,如果沒有實驗、實訓環節的支持,用傳統的灌輸式教學方式枯燥地講解測試理論和測試方法,會使學生產生抵觸和厭學情緒。《軟件測試》課程使用的工具和測試的對象都是看不見、摸不著的軟件產品,實驗與實訓課程的組織和實施有較大的難度,容易造成實驗的隨意性。我院在開設這門課程之初,按照學院確立的“針對市場設專業、針對企業定課程、針對崗位練技能”的辦學思路,在辦學模式、課程內容和教學方法上做出了一系列的改革,取得了良好的教學效果。
教學改革的措施
(一)與軟件公司合作辦學
經過調研發現,IBM軟件學院推出的高校軟件人才教育伙伴計劃,旨在利用IBM公司在軟件技術和開發工具上的優勢與中國高校合作,培養軟件人才。該計劃中的《軟件測試》課程是與高職院校合作,培養軟件測試人才。經過溝通和協商,我們決定同IBM軟件學院合作。我院通過選拔的方式對軟件專業的學生組建軟件測試班,IBM軟件學院為我院提供師資培訓、測試工具軟件、課件和技術支持。通過這種合作,我們可以利用IBM公司在業界的領先地位,引進最先進、最實用的測試理論和方法,使用最流行的測試工具軟件。軟件測試班的學生除了系統地學習學校規定的公共基礎課以及專業基礎課和專業課,掌握軟件開發的技能以外,還要學習軟件測試理論和實踐課程,掌握軟件測試的崗位技能。學習結束之后參加IBM公司測試工程師的認證考試。這樣,不僅拓寬了學生的專業口徑,還可以使學生在畢業的同時獲得學校的畢業證書和IBM公司頒發的測試工程師證書。
(二)改革教學內容,強化實踐教學
在課程內容的安排上,我們擺脫了傳統的重理論,輕實踐的做法,將《軟件測試》課程劃分為四個模塊分別組織教學。《測試理論》課程是理論模塊,占64個學時,《功能測試》、《性能測試》和《測試管理》等課程是實踐模塊,各占32個學時。
其中,《測試理論》課程系統地講解軟件測試的理論和方法。為了驗證理論,加深對理論的理解和掌握,安排了需求分析和軟件設計的UML建模、白盒測試、黑盒測試、系統集成測試等五個實驗。理論課以一個軟件項目的開發和測試實踐為主線進行講解,實驗課選取了開發和測試該軟件項目中的關鍵實踐部分展開,幫助學生從軟件開發和測試的實踐中理解和掌握理論。這種安排使所有的測試理論和方法都能找到實踐的依據。理論指導實驗,實驗驗證理論和方法,實驗與理論在同一個軟件項目中融為一體。《功能測試》、《性能測試》和《測試管理》等課程分別要求掌握IBM公司的功能測試軟件(Rational Functional Tester)、性能測試軟件(Rational Performance Tester)和測試管理軟件(TestManager)三個軟件測試工具的使用方法。這三種測試工具對應軟件測試工作的三種重要崗位。通過學習和實訓,學生將掌握如何錄制、回放腳本,如何執行自動化測試和回歸測試,如何設置和使用驗證點,如何使用數據驅動,如何分析性能測試報告,如何設計測試用例以及如何管理測試過程等基本的軟件測試崗位技能。
經過這種劃分,理論模塊集中講解理論知識,為實踐模塊提供理論基礎和依據;實踐模塊培養學生的崗位技能,是教學的主要目的;實踐模塊的課時超過了理論模塊的課時,反映了“實踐為重”的思路。
(三)建立軟件測試實訓基地,實驗和實訓課采用項目教學法
為了確保實驗課和實踐模塊的教學效果,在IBM公司的幫助下,我院建立了軟件測試實訓基地。IBM公司為我院提供了UML建模軟件(Rational Rose)、功能測試軟件(Rational Functional Tester)、性能測試軟件(Rational Performance Tester)、測試軟件(Rational Robot)和測試管理軟件(TestManager)等。我院安排了專用機房,所有計算機的內存升級到1G以上。實驗課的教學和實踐模塊的教學實訓全部安排在專用機房進行。除了建立完善的軟、硬件環境之外,我院還組織專業教師按照項目教學法的要求編寫了實驗、實訓指導教材。
為了確保項目教學法的效果,我們開發出一個簡化的學生選課管理系統。作為貫穿理論和實踐教學的實踐項目,系統采用J2EE(Java 2 Enterprise Edition)標準技術,通過Web訪問。按照軟件工程的要求,我們編寫、整理出開發過程的所有文檔,包括用例圖、用例描述文本、時序圖、類圖、源代碼以及單元測試和系統測試的測試計劃和測試用例等。由于學生熟悉選課管理系統的應用背景和業務流程,以該項目貫穿《軟件測試》課程的教學過程,不僅指導、促進了理論和實踐的教學,而且激發了學生的學習興趣。轉貼于
《測試理論》課程包括理論教學和實驗兩部分。理論教學以選課管理系統的項目開發和測試實踐為主線。理論教學開始時安排兩個關鍵的實驗,指導學生對選課管理系統做出需求分析和軟件設計的UML建模。學生通過這種開發實踐,可分析、評估在開發模型過程中的錯誤,可以認識到軟件測試在整個軟件開發中的重要地位,從而避免對測試理論產生枯燥、反感和厭煩情緒。白盒測試、黑盒測試和系統集成測試實驗都是針對選課管理系統或其中的子項目設計并執行測試用例。由于理論和實驗在同一個項目中貫穿始終,理論和實驗的教學自然得以統一。實踐模塊的教學目的是培養學生的崗位操作技能。我們安排選課管理系統作為《功能測試》和《性能測試》課程實訓的測試對象,《測試管理》課程也以該軟件系統作為實訓項目。采用同一個軟件項目貫穿理論和實踐的教學,有利于學生靈活地應用理論知識分析和解決實際問題。
(四)建立校外實訓基地,通過企業實習提高學生的崗位技能
學生企業實習是我院確立的BPMM(Basic Platform and Model Menu,即基礎平臺+模塊化菜單)人才培養模式的重要組成部分。我院學生完成全部的文化基礎課、專業課和校內技能訓練之后,根據學生本人自愿,學校推薦,用人單位審查的原則,經三方認可后簽訂聯合培養協議書,學生參加企業的工作實習,按照企業選定的模塊或企業修正后的模塊進行學習,培養崗位技能,實現人才的職業能力與企業工作崗位的“零距離”。在此期間,學生還要完成畢業設計任務。
我院先后與常州、蘇州、南京、上海等地的軟件園、中科院軟件所、北京和佳軟件技術有限公司、南京聯創科技有限公司、常州富深協通軟件技術有限公司、OKI沖電氣(江蘇)軟件技術有限公司等企事業單位簽訂了合作辦學協議,建立了學生實習基地。校外實訓基地的建設為學生的企業實習提供了良好的實習環境。到目前為止,我院軟件測試班2004級學生已經全部安排到軟件公司實習。
教學改革的效果
充分發揮了項目教學法的優勢,實現了理論和實踐教學的統一選擇合適的項目是實施項目教學法的關鍵。我們之所以選擇選課管理系統是因為該項目來自學生的選課實踐且具有較強的啟發性,有足夠的空間引導學生自主設計和運行測試用例,能夠培養學生分析和解決實際問題的能力。在《測試理論》的教學中,以該項目的開發和測試過程為主線,一步步引導學生思索,探究軟件開發和測試實踐,在實踐中理解并掌握知識。在《實踐模塊》的教學中,通過使用軟件測試工具對該項目的軟件進行測試,使學生掌握崗位操作技能。理論和實踐教學在同一個項目上實現了統一,有利于學生自覺地應用理論知識解決實際問題,突出學生在教學過程中的主體地位。
強化了實踐教學,調動了學生的學習積極性在課程改革以后,實驗實訓等實踐課的課時超過了理論課的課時,理論課的教學過程也貫穿了軟件開發和測試實踐等內容,體現了“理論夠用,實踐為重”的原則。學生在學習理論的過程中,經歷了軟件系統從無到有的開發過程,領悟到軟件測試在這個過程中的地位和作用。他們對這門課的理論和方法不再感到枯燥乏味,而是主動地思索、探究和應用這些理論和方法。三個實踐模塊的實訓使用的是軟件測試行業應用最廣泛的測試工具,熟練使用這些工具可以大大增加就業的優勢。學生通過認證考試之后,將獲得IBM公司頒發的測試工程師證書。這些措施激發了學生的學習積極性和求知欲,使學生由“要我學”變為“我要學”。
培養了學生的崗位技能,實現了就業崗位“零距離”實行分模塊教學,凸現了培養學生崗位技能的重要性。理論模塊只講解測試實踐中實用的理論和方法,為實踐模塊提供了理論基礎。而實踐模塊使用軟件測試行業的主流測試工具,可使學生熟知的項目軟件執行測試并使用測試管理軟件對測試過程進行管理。這種實訓是對真實軟件測試工作的模擬,有利于學生全面掌握這三種測試工具的用法,也有利于培養學生的動手能力和解決實際問題的能力。到企業實訓時,學生進入軟件公司參加生產實習,在軟件開發隊伍中從事真正的軟件測試工作。經過理論教學、實踐教學、企業實習等一系列過程,可以幫助學生畢業之后不需要培訓就能直接上崗。
深化了教學改革,為高職其他專業和課程的教學改革提供了經驗通過與IBM軟件學院的合作,我們在短時間內跟蹤到了最先進的軟件開發和軟件測試技術,掌握了主流的軟件測試工具的使用方法,并順利地應用于教學實踐中。成功地使用了項目教學法,在教學過程中把加強實踐、培養學生的動手能力及崗位技能放在首位,取得了良好的教學效果。同學校周邊的軟件公司合作,建立了眾多的校外實訓基地,實現了學生的職業能力與企業工作崗位的“零距離”,密切加強了學校與企業的關系。這些改革措施為軟件專業其他課程的教學改革提供了經驗,對其他專業的教學改革也有一定的借鑒作用。
參考文獻
[1]史國棟,等.BPMM人才培養模式教學改革與實踐[J].常州信息職業技術學院學報,2004,(4).
關鍵詞:軟件測試;軟件測試模型;CMMI
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)09-2051-02
The Research for Improvement of Software Testing Model Based on CMMI
JIAO Peng-huan, ZHANG Peng
(Information and Control Institute, Xi'an University of Architecture & Technology, Xi'an 710055, China)
Abstract: The modern software company is confronted with more complexity customer requirement, more complicated software architecture. These problems propose the higher requirement for software testing process and model. The paper has an introduction and analyzing for traditional software testing, and based on CMMI model, it puts forward the thinking for improvement of software testing work.
Key words: software testing; software testing model; CMMI
軟件測試是軟件工程中一個重要的有機組成部分,也是確保軟件可靠性的重要途徑。為了使了交付使用的軟件滿足客戶需求,就必須對所開發的軟件產品進行詳盡的測試。基于這一要求,軟件測試形成了一套相對成熟和完善的方法與技術。然而,面對軟件開發技術的不斷發展以及軟件產品的日益復雜,傳統軟件測試技術和方法已經不能完全滿足開發過程以及產品本身對于測試的需求。
1 傳統測試模型(V模型)介紹
在早期的軟件測試模型中,通常把測試過程作為需求分析、概要設計、詳細設計、編碼完成之后的一個階段。盡管有時候軟件測試占用開發周期內很長的一段工作時間,但仍被視為整個軟件過程的收尾工作,而并非主要工作。
測試模型作為早前測試模型(瀑布模型)的改良,清楚的描述了基本的開發環節以及測試環節、和各個環節之間的先后關系,并且闡明了底層測試和上層測試的職責:底層測試為了保證代碼的質量,上層測試的目的在于確保軟件產品能夠滿足客戶需求。
測試模型指出,單元和集成測試是為了驗證程序設計,開發人員和測試人員應當檢測程序的執行是否滿足功能說明書的要求;系統測試應當檢測系統設計,檢測系統級別的功能、性能、可靠性、兼容性等軟件質量因素是否達到初始設計或者用戶要求的指標;最后由測試人員和用戶共同進行驗收測試,以軟件需求說明書為基礎進行測試,以求軟件產品從整體角度能夠達到用戶的需求。
測試模型僅僅針對已經完成的程序對象進行錯誤的查找,卻沒有將需求分析、系統設計等活動的測試工作列為測試范疇。由于存在這樣的缺陷,V模型無法在軟件開發過程的早期發現需求或者設計上的存在的種種缺陷,違背了越早發現錯誤越對軟件開發有利的原則。與此同時,V模型將測試工作嚴格的劃分為獨立的、線性的幾個活動環節,各個環節間的依賴關系相對過高,比如只有進行單元測試之后才能進行集成測試。這樣的觀點也阻礙了一些需求或者設計缺陷的發現。
2 基于CMMI的軟件測試模型改進思路
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型。它是一個集成的框架,這個框架有兩個功能:第一,軟件采購方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。
2.1 軟件評價與測試在整個軟件生命周期中的作用
評價是對軟件開發過程中產生的各種系統規格和模型進行的驗證活動。測試則是一種基于機器的對代碼執行、確認的活動。許多對于評價和測試的定義都相對狹義,一般是指對代碼執行物理測試用例的活動。在軟件廠商的生產環節中,很多公司甚至直到編碼已經開始時才指定或安排測試人員。更有甚者,他們將這一活動的范圍僅僅限于功能測試,也許有時做一下性能測試。這種觀點在目前的CMMI有關評價與測試的描述中被進一步強調,這種軟件開發活動方式只明確地提到了功能測試,其他類型的測試只是用一句非常含糊的話來指代:“保證軟件滿足軟件需求 ”。
CMMI只是進一步將評價和測試的部分思想進行融合,用一個特殊的評價技術來代替,這個技術就是CMMI中的一個KPA,同行評審。這也意味著,在提交代碼之前,唯一可干的評價就是同行評審,且已經足夠了。
事實上,對于一件事情的評價和測試的步驟包括:定義成功準則、涉及覆蓋這些準則的用例、執行用例、驗證結果,驗證所有的內容都已覆蓋。同行評審只是提供了一個基于紙面的測試機制。它既不能從根本上提供成功準則,也不能提供任何正式的機制以支持用例定義以用于同行評審中。同行評審本質是主觀的,因此,基于誤解使程序員將缺陷引入產品,而到同行評審時,基于同樣的誤解,也使得人們無法發現這些缺陷。
評價和測試的一個相對堅固的內涵范圍必須包括項目在開發周期每一個階段的每一個交付產品。它也必須考慮每個交付產品的每一個預期特性。而且必須包括每一個評價或者測試步驟。
2.2 CMMI對軟件測試技術的改進指導
CMMI主張在開發過程中注重對過程和產品的度量,以量化的形式對過程進行相應的評估和改進。CMMI將測量和分析作為一個單獨的過程域,充分體現了對開發過程中的測量技術的重視,該過程域的目的就是開發和維持度量能力,以便支持對管理信息的需要。
測量和分析過程域共有三個目標:
目標一:協調測量和分析活動。CMMI給出了四個方面的特定實踐,它們分別是確定測量對象,建立測量目標;詳細說明度量值,以處理測量目標;規定數據收集和存儲規程,說明如何獲得并存儲測量數據;規定分析規程,說明如何對度量數據進行分析和報告,并且安排優先順序。該目標中所針對的測量對象包括組織所開發出的軟件產品、半成品以及過程產品,以及對開發過程本身的度量。因此,需要在測量和分析過程中引入統計過程控制等理論方法,提供對過程度量和改進的支持。
目標二:提供度量結果,以便處理信息需要和目標。為實現這一目標,模型中也給出了以下幾方面的特定實踐:收集度量數據,即獲得制定的度量數據;分析并解釋度量數據;管理并存儲度量數據、度量規范和分析結果;通報分析結果,向所有的干系人報告測量和分析活動的結果。在這一目標中,主要關注的是對測量結果的分析和使用。基于CMMI的集成化過程改進和評估,提出了建立開發過程數據庫的思想,作為組織進行過程改進的基礎。而建立過程數據的過程是對測試和度量數據的積累和存儲色過程。從這一點來說,在開發過程中開展軟件測試以及針對開發過程的度量,是建立過程數據庫的必要步驟。
目標三:共性目標,即將測量和分析活動制度化為可管理的過程。這一目標主要關注的是對軟件測試和過程度量活動的管理以及制度化。針對這一共性目標,CMMI給出了10個共性實踐。首先要求組織建立方針,為策劃和執行“測量和分析”過程提供組織級的支持;其次,在執行能力方面,組織應制定測量和分析過程計劃;提供必要的資源;分配相應的責任;并且對人員進行培訓。第三,為了指導該過程的實施,組織應該將測量和分析過程指定的工作產品置于配置管理的適當層次;確定與過程相關的干系人并使之介入;同時還要對測量和分析過程進行監督和控制。最后,作為對測量和分析活動的驗證實施,應該評價測量和分析過程以及過程的工作產品和服務的遵循情況;同時,由高層管理者審查測量和分析過程的活動、狀態和分析結果,并解決相應的問題。
從以上分析可以看出,CMMI模型主要從以下三個方面擴充的傳統的軟件測試技術:
1) 從單純的對軟件產品的測試活動,擴展為軟件產品的測試和開發過程的度量。
這一方面主要體現在過程度量對軟件測試的依賴和應用。對開發過程進行度量,需要利用對軟件產品、半成品以及工作產品的測試結果,從而建立對軟件產品缺陷對開發過程的可跟蹤性。從這一點來說,對開發過程的度量,實際上也就是針對軟件產品的測試活動的擴展,其與傳統的軟件測試的不同之處就在于關注對軟件測試結果數據的分析和利用,將測試數據有效轉換成為能夠標識過程缺陷的統計數據。
2) 軟件測試由原來的事后測試行為發展為全過程測試和分析,成為一種缺陷預防的有效方式。
統計技術方法的應用,將傳統的軟件測試活動擴展為一種全過程測試行為。從質量工程的角度來說,這是一種質量保證思想的轉變。傳統的軟件測試,只針對軟件產品而開展,找到缺陷之后再加以改正和修補;而針對開發全過程所開展的軟件測試和過程度量,則注重根據對測試數據的統計分析結果,來判斷軟件產品的未來質量趨勢,并提前予以控制和預防。與傳統的軟件測試相比,全過程測試不僅可以有效降低產品的質量風險,而且還可以提前對軟件產品缺陷進行規避,這縮短了對缺陷的反饋周期和項目的開發周期,而且也降低了對軟件產品的維護費用。
3) 軟件測試與開發過程的其他階段不再是串行工作方式,而是與整個開發過程并行進行。
與傳統測試模型相比,CMMI模型中所描述的軟件測試和過程度量工作與整個開發過程是并行進行的,是一種基于并行工程的測試和度量行為。基于并行工程開展的軟件測試活動,存在于軟件生命周期的各個階段,其基本特點是以質量保證和客戶要求為核心開展對軟件產品和開發過程的測試和度量,力爭將缺陷控制在軟件開發過程的每一個階段,從而可以有效縮短開發周期,降低質量風險,并且可以及時吸取經驗教訓,提供對過程改進的支持。這也體現了CMMI模型對并行工程思想的一種支持和應用。
3 總結與展望
該論文通過對傳統測試模型的分析以及對CMMI的研究,提出了軟件測試方法、模型的改進思路。但仍需對以下問題機型研究:1) 對敏捷軟件過程進行研究,分析敏捷軟件過程的特點;2) 以敏捷軟件過程為指導思想,設計一套相關的測試模型;3) 將該模型應用日常測試工作中,通過量化的分析,得出其優越性。
參考文獻:
[1] 尹平,許聚常,張慧穎. 軟件測試與軟件質量評價[M]. 北京:國防工業出版社,2008.
[2] 劉易斯,維拉皮萊. 軟件測試與持續質量改進[M]. 陳紹英,譯. 北京:人民郵電出版社,2008.
[3] 阿赫,阿姆斯強,克勞斯. 標準CMMI過程改進評估方法(SCAMPI)精粹[M]. 北京:電子工業出版社,2008.
一、建立獨立學院特色計算機軟件人才培養機制的必要性
1.1 軟件產業人才結構與就業現狀的需要
據權威部門公布的調查數據顯示,我國對IT人才的需求每年至少在40萬人,其中每年至少存在20萬軟件人才缺口,并且這個缺口還在以每年20%左右的速度增長。各地舉辦的IT招聘會場場爆滿的情況即可看出些端倪。如此之大的軟件人才需求量,給作為高等教育新生力量的獨立學院帶來了比較好的機遇。
然而,我們也看到大量計算機專業畢業生面試時卻屢屢受挫。經過分析,公司或企業需要的是能夠馬上投入實際工作的人員,而不是像大多數應屆畢業生那樣,缺乏實際編程能力,甚至不知所措,需要公司投入大量人力、物力、財力進行培訓,這無形中加重了公司的成本負擔,因此大多數的工作機會順理成章地被給予有過從業經驗的人士。有研究曾經對185家用人單位進行問卷調查,結果表明:68.6%的用人單位希望畢業生能掌握系統的專業知識,縮短培訓期;54.6%的用人單位認為畢業生的適應期應在三個月以內。計算機專業學生感覺就業難,企業招不到合適人才,已經成為令人極為頭疼的矛盾現實。究其根本原因,是我國高等院校目前的計算機教育,尤其是軟件人才培養,不能滿足企業的現實需求。高等教育市場化,高校畢業生人數不斷增加,就業壓力越來越大,如何在激烈的就業市場競爭中毫不遜色,改革勢在必行,這對獨立學院的計算機軟件人才培養機制提出了更大的挑戰。
立足獨立學院特殊性,特色的人才教育是關鍵。求職時,學生時常抱怨在學校里沒有學到企業需要的技能。主要是因為,目前大多數高校計算機軟件人才培養機制改革的速度落后于軟件產業發展的速度,重點注重學生理論功底,理論與實踐脫節,課程設置的職業導向性不強,導致學生缺少就業核心競爭力和優勢。
大部分軟件企業需要下述三類人才:既懂技術又懂管理的軟件高級人才;系統分析及設計人員,即軟件工程師;熟練程序員,即軟件藍領。這三類人才正常比例應該是呈金字塔形,而我國軟件人才呈兩頭小中間大的“橄欖”型,既缺乏一大批能從事基礎性工作的“軟件藍領”,又缺乏既懂技術又懂管理的軟件高級人才,即“軟件金領”。獨立學院的計算機軟件人才培養導向應選擇以基礎程序員為主,培養中低端實用型人才,來盡量彌補這部分人才需求缺口。
1.2 獨立學院自身特點與發展定位的需要
獨立學院作為高等教育辦學領域內的一個新生事物,是按照新的機制和模式舉辦的本科層次的二級學院,利用公辦母體高等學校的部分資源,實行嚴格的獨立辦學。所招收學生主要來自高考的第三批次,學生入學分數低于普通高校生,基礎知識相對薄弱,學生主體的學習自覺性不夠,對新知識的接受能力要比一本、二本的學生差。獨立學院的人才培養不能以學術型、研究型為取向,而是應以廣大用人單位實際需要的技術型教育為取向。因此獨立學院的自身特點決定了它不能完全照搬母體高校的人才培養機制,需要站在一個新的角度來重新審視。
二、獨立學院特色計算機軟件人才的培養機制
2.1 樹立特色人才培養理念
獨立學院必須具有自身特色人才培養的先進理念,一改以往重理論輕實踐的教育模式,計算機軟件的人才培養應以面向應用,突出實踐為主,培養具有創新精神和實踐能力的應用型人才,全面實施素質教育,堅持個性發展原則和創新原則,注重教育功能性,由學生未來崗位決定教育內容。
2.2 構建特色人才培養計劃
傳統教學計劃標明的培養目標過于寬泛和籠統,與本專業領域相關職業崗位相脫節,導致教師實際課程教學目標不明確,學生更是不知所云。課程設置中計算機一般基礎課多,富有特色和針對性的專業技術課少;課程內容滯后于職業實際需求;內容安排中追求本科教育學科知識的理論性和完備性,理論課時偏多,實踐教學課時少,模擬現實的實訓課程更少。
學校應建立起有別于一般普通高校、課程設置合理、繼承遞進、靈活更新的教學計劃,從理論教學與實踐教學兩個方面提出較為完善的課程體系,使所培養的計算機軟件人才更加適合市場的需要。課程體系的設計應遵循寬口徑、多方向、模塊化、組合型的原則。
計算機軟件人才大致分為軟件開發、軟件測試、網絡管理三大方向。圖1大致描述了特色軟件人才培養計劃中,為培養各方向人才,所設置的相應基礎課程、通用課程以及專業課程。
所謂“寬口徑”,是指強調學校首先做好學生行業通用技能的培養。例如,“計算機基礎課程”和“C語言程序設計”等通用課程是各個培養方向的前導課程。又如,培養軟件測試人員和軟件開發人員所需的前導課程是基礎課程,一級通用課程,以及二級通用課程 (“JAVA OOP”、“數據結構”) 。
對于這類課程,學校應高度重視教材與師資,力求做成精品課程。學生只有具備了扎實的基礎,才能在畢業后既具有上崗適應能力,又具有轉移工作的再適應能力。學校培養的是“多方向”軟件人才,是指按照崗位設置專業方向,圍繞“職業特定技能”,設置相應的專業課程。
該特色課程體系最大的特點是“模塊化”,模塊具有繼承、共享和重用特性,便于教學管理,易于提高教學質量;有利于提高教學效率和教學資源的利用率。教學進程構建靈活,易于快速跟蹤市場,對課程進行及時的更新。例如,“軟件測試”方向和“軟件開發”方向都需要具備面向對象程序設計能力,“JAVA面向對象程序設計 (OOP) ”課程就構成了一個通用課程模塊。又如,據統計,軟件測試工程師是2006年最緊缺的人才之一。目前市場上,軟件測試工程師正處于一個地位高、待遇高的“雙高”地位,職業前景非常廣闊。學校應該把握這一趨勢,有計劃地加強對學生“軟件測試”職業導向性的培養,具體做法是進一步細化“軟件測試”方向的專業課程模塊,如可細化為白盒與黑盒測試、測試用例設計等課程。“組合型”就是在“模塊化”的基礎上,自下而上,沿著“基礎-通用-專業”方向的模塊間組合,形成各個方向的培養計劃路線。
考試是檢驗學生對課程掌握程度的衡量尺度之一。舊的考試形式,多數注重對死記硬背知識的熟記,而忽略了真正對學生能力的考查。考試內容和方式的設計直接導向課程在學生心目中的實際掌握標準。因此,絕不可忽略考試這一重要環節。
2.3 重視師資組建與培訓
提高獨立學院的師資水平,并不單單是指提高在校專職教師的學歷水平。目前,眾多院校的教師缺乏實踐經驗,講授按部就班的多;教材內容更新不及時;師生互動,啟發討論式教學少。因此注重提高教師實踐能力的培訓是必不可少的。通過培訓,教師可以對課程體系和教學目標有更為深入的了解,能夠掌握更新的計算機技術,其獨特的教學方法也應該是從實踐中總結出來的,這樣更有益于學生接受與掌握。具有科學教學方法和先進教學內容的“雙師”型教師才真正能夠勝任獨立學院的教學工作。
此外,建設一支專兼職教師結合的師資隊伍,建立聚集專業帶頭和骨干教師的培養與引進結合機制,定期邀請企業內專業人士進行現場授課,舉辦一些針對性的培訓或技術講座,與教師、學生座談。
2.4 更新教學模式
軟件人才一般要具備抽象思維、邏輯思維的能力、算法設計與分析的能力,計算機系統的認知、分析、設計和應用能力。這些能力的培養,并不是一兩門課程就可以完成的,而是需要在一個循序漸進的過程中逐漸完成的。因此,在授課過程中應注意形成學生良好的職業習慣,“潛移默化”地“養成”合格人才所要求的“能力”和“素質”。例如,網頁制作課程中,在學生動手制作網頁之前,一定給學生強調html文本命名規范,以及采用功能模塊化設計思想來預先進行網頁設計等問題。又如,C語言程序設計課程,首先必須使學生養成“程序設計”的習慣,初步掌握程序設計的基本方法和思想 (如自頂向下的思想) ,而不要急于代碼的實現。
軟件人才能力的培養毫無疑問是以實踐為主,但是為了學生今后職業生涯能夠持續發展,必然要具備一定的理論深度。也就是說,教師要善于在合適的時機滲透理論教學。例如,網頁制作課程可以采用以實踐為先為主的教學方式。在網頁設計課程的教學環節中,讓學生完成預先設計好的若干個網頁課題,學會網頁三劍客 (Dreamweaver、Firework、Flash) 的使用后,再幫助學生剖析超文本標記語言HTML的主要標記及結構特征。
采用強調教師的教學目的和方法的同時,更要強調學生的學習目標和方法,不斷激發學生獨立思考。使學生確信,持續的專業發展需要終生的學習,并為之作好準備。教會學生使用信息資源,掌握適當的策略,以了解領域前沿。在院校中,適時根據當期課程內容,發起一些競賽活動或參加企業實踐。鼓勵協作式的學習,促進集體的交互。
一、工作內容
九月份的工作比較繁忙,工作重點有四方面:s6測試,醫院軟件開發、測試,售后服務,文檔書寫及培訓。
1、關于s6測試
本月s6的新增修改功能大約30多項內容,測試的重點如:其一,每日結賬時更正庫存的操作,此項功能涉及的方面比較多,影響數據的準確性,測試起來比較煩瑣、測試量也比較大;其二,由于業務開票時程序內部處理發生了改變,由原來的控制臺轉移到存儲過程中處理,所以對此部分也進行了重點測試;其三,飲片劃價自動批號的測試;其它方面的測試包括,gsp報表、客戶對應商品銷售、批次會員錄入以及遠程配送價格等的測試,再有就是售后人員隨時提出的問題隨時測試,如打印模塊加完打印項還是不能打印、某些模板在99pbl修改以后還是不好用、哪個報表數據是否有問題等。
2、醫院軟件開發、測試
對于新版醫院軟件的功能模塊開發工作也做出了一點貢獻,作了15個打印模塊(如入庫重打、劃價重打、盈損重打等),12個查詢模塊(入庫報表查詢、住院報表查詢、入出院費用查詢等),所做模塊包含的內容為:菜單掛接、將窗口中不需要的按鈕隱藏、書寫查詢報表中所需要的sql語句(大約60句,但語句結構并不復雜)、打印模塊及查詢模塊所需的數據窗口大約80個;測試方面,現在只是進行了表面性的測試,測試的內容包括每個窗口中的字體是否一致、按鈕是否對齊、點擊按鈕后彈出的提示是否正確、開票窗口的金額、價格、數量、庫存等的變化情況是否正確,焦點移動問題等,現已測出的問題100多個;其它方面,修改了庫結構,將每個的表中將不允許為空的字段修改正確以及將a25、a35等字段在每個表的長度統一等。
3、售后服務
s6的售后工作,由于每日結賬時更正庫存,造成幾個客戶的庫存數據不準確,通過查詢客戶實際的數據庫找到了問題的原因,再有就是在電話中為售后人員解答一些問題;其它方面,上門服務三次,分別是,解決了先知醫療器械公司的應收應付財務問題,通勝醫藥財務軟件中輔助核算的客戶查不到,從后臺修改數據已解決問題,漢華林銷售出錯庫存未減,原因未查到;遠程及電話解決客戶提出的財務軟件、財務接口、金稅接口等問題。由于十一休息,售后人員少,在月末休息前做了兩天售后工作。
4、其它方面
本月s6的培訓文檔寫了兩次,其次就是書寫了加強版與s6的區別,再有就是編譯序程、備份程序、程序注冊等工作,其中程序注冊是隨時性,所以也占用一定的時間。
二、工作分析
通過本月的工作,自己在pb方面又懂得了一些知識,并且可以修改簡單的錯誤,也可看明白一些簡單的腳本結構,這對于我的測試工作是很有幫助的。從本月反饋的情況看,s6的結賬庫存更正功能還存問題,還需要加強測試。再有從售后服務的情況看,售后人員在財務方面的技術還需要加強。
三、工作計劃
1、醫院軟件測試
2、書寫醫院軟件的說明書
3、s6新增、修改功能的測試
總結人:姜波
日期:2007-09-28
2007年10月份工作總結
十月份是一個忙碌的月份,日子象流水一樣,轉眼既逝。看來學習的時間和勁頭還要在加強一些。
[關鍵詞]工作過程 程序設計課程 課程開發
[作者簡介]吳金秀(1971- ),女,湖北黃岡人,黃岡職業技術學院,副教授,研究方向為高職教育及計算機。(湖北 黃岡 438002)
[中圖分類號]G642.3 [文獻標識碼]A [文章編號]1004-3985(2013)29
基于工作過程導向的工程教育模式是當前流行的、先進的教育模式,基于工作過程導向的課程與開發就是根據工作過程尋找典型的工作任務,從而確定學習領域,并且進行學習情境設計和項目教學,其主要特色是以企業需求為目標,實現院校教學和企業的無縫接軌;以企業實用技能為核心,保證教學和流行技術的同步;以動手能力為突破點,對學生的實踐技能進行強化訓練;以就業為導向,培養長遠適應行業的職業人。
一、程序設計課程開發思路
程序設計課程是計算機系軟件技術專業的一門專業核心課程,是一門理論與實踐相結合的課程,具有一定的理論深度和實踐難度。其前導課程是SQL Server數據庫、計算機網絡技術、C#高級程序設計和網頁設計與制作。本課程主要培養學生基于B/S模式的Web應用程序開發崗位的核心職業能力和職業素質,是一門面向職業崗位的技術應用類課程。程序設計課程以Web應用程序的實踐和開發為主線,并訓練學生的編程思維能力,加強學生可持續學習能力。
1.對職業崗位能力需求分析,培養學生職業技能和素質。通過廣泛的行業調研,我們確定學生的就業崗位有軟件測試員、程序員、系統維護員。核心與重點是軟件開發,基本的知識、較強的技能和最佳的態度都需要具備,是鍛煉能力熟悉業務的核心環節;軟件測試需要較全面的軟件測試理論知識與技能,目前幾乎所有的軟件開發企業都缺少軟件測試方面的專業人才;隨著軟件技術行業的快速發展,企業數量快速增加,更多的優秀人才有望走上項目管理崗位,這是學生職業發展的中期目標。此外,培養學生收集和分析信息進行概括總結的能力,并通過演講,鍛煉學生表達能力。上述就業崗位的工作任務和職業能力要求是我們設置專業課程體系的依據,課程的設置從總體設計的角度考慮適應主要就業崗位對高技能人才的能力和素質要求,兼顧學生職業發展的需要。
2.圍繞核心培養目標,采用“項目驅動”教學,培養學生的實際編程能力。軟件開發過程中程序要根據軟件產品的需求、理解和分析系統概要設計,進行模塊級詳細設計,按照規范編寫代碼,進行單元測試,修改缺陷,提交代碼,編寫整理技術文檔。整個過程中編碼實現是程序員應具備的核心技能;在軟件測試過程中,如測試員沒有一定的編碼實踐經驗,白盒測試就很難展開了;在系統維護時要修改程序、排除故障,良好代碼編寫技能是必備前提。通過程序設計課程學習,使學生熟練運用C#語言進行web程序的編寫,培養學生對于web應用軟件及網站的開發和規劃能力。而這些能力是從事軟件技術行業就業崗位最為重要和基本的能力,采用“項目驅動”和案例為導向的課程教學,教學中突出學生主體地位,強化項目實訓,推行“課程考證+項目開發+答辯”的考試模式改革。通過“榜樣學習”,培養學生的實際編程能力,樹立學生學習信心,培養成就感,激發學生求知欲。模擬企業真實環境,強化學生軟件項目開發能力,培養學生職業素質。
二、基于工作過程導向的程序設計課程開發教學模式的設計與創新
程序設計課程采用“任務驅動、項目導向”的教學模式,通過程序設計認知實訓、模擬的軟件開發實訓、真實的項目設計和半年的頂崗實習這一完整的實訓過程,有效地實現工學結合,能較好地保持學生在校學習與實際工作的一致性。課程具體教學模式如下圖:
(此處有圖)
程序設計課程教學模式
1.將工作項目的工作過程轉移到課堂,保證教學與工作的一致性。原來的程序設計課程是以知識講授為主,輔助采用一些針對單個知識點的、零散的項目進行教學,并沒有將真實完整的工作項目帶到課堂上。本課程的改革首先是通過簡單項目訓練,然后綜合訓練,項目來源于院投資方——科技公司及其他合作企業,突出實際應用,使項目實訓與實際應用對接,從而將工作項目歸納成幾大工作項目,并按照這些工作項目的內容來確定課程標準和課程項目設計的主要內容,以工作項目為導向來組織教學,實現以項目內容作為課程教學內容的改革。
2.采用“任務驅動、項目導向”的方法主導教學過程,實現課堂與實訓室一體化。在實訓室建設過程中,課程團隊多次邀請行業專家到校參加設計和論證。實訓室從設備購置、軟件配備到環境布置等多個方面都聽取了行業專家的意見。課堂改革前的課堂教學是以教師講授為主,輔以零散的項目訓練。改革課程后,由教師引導學生完成每一個工作項目。在建設方案中對課程進行系統的籌劃和設計,全面考慮程序設計課程建設、程序設計課程工學結合教材等內容。在課程改革中,按照項目確定學習任務,按照學習任務確定操作步驟,并從教學條件、教學方法、評價方式等方面進行全方位的改革,從而形成現在的理論知識與實踐技能相結合、課程教學與工作過程相結合、教室與實訓室相結合的一體化課程。教學模式為項目引導、任務驅動形式。教學組織中,融合一個大項目案例形式到課程體系中,分解該項目案例模塊于各個子項目模塊中,完成子項目模塊,就能輕松實現該項目案例的網站。
教師需對本門課程所要完成的項目進行需求描述,并在授課過程中逐步講解項目所涉及的知識點,對學生進行項目開發技能的訓練。教師通過多媒體電子教室進行操作演示,學生用自己機上的服務器(IIS)進行模仿練習,隨后開展分模塊的項目實訓,課余時間師生通過多種渠道進行交流完成實訓報告的撰寫。在單元模塊教學結束后進入到項目開發實戰階段,做一個綜合項目實訓,綜合運用各模塊知識和技能,達到理論升華、技能整合、逼近實戰的目的。所有理論與實踐教學均在實訓室展開,真正做到教學做一體化。與實際工作相同的各種分析文檔和項目開發軟件是教學改革的必要支撐。
3.通過虛擬項目和真實項目之間、項目開發實訓和程序設計課程教學之間的工學交替,提升技能。程序設計課程是按照程序開發的完整的學習領域,這個學習領域在課程的整體設計中并不僅僅局限于課堂理論教學,而是以實踐技能培養為主,理論知識夠用為度的設計思想。從教學進程的交替包括程序設計認知實訓、模擬的軟件開發實訓等交替進行的教學步驟。本課程的工學交替主要通過如下方式實現:一是通過虛擬的項目開發、真實的項目設計,實現課程教學與真實工作項目的交替。設立 虛擬實驗室,實現 的主要進階功能以及創新特色,在教學過程中,安排60%以上的學時作為能力培養的實踐性教學環節,設置循序漸進、有深度、針對職業崗位技術應用能力培養的配套實訓項目,然后學生帶著這些扎實的專業知識進行真實項目的訓練,在軟件技術專業人才培養模式中,課程都是在課堂與實訓室一體化的場景中完成的,首先是虛擬的項目開發,進行真實軟件項目開發,“真項目真做”,這種真實項目開發教學是與虛擬項目教學同步交替進行的。按照“做中學,學中做”的指導思想,教學中突出學生主體地位,強化項目實訓,提高學生的實際編程能力。程序設計課程完成以后,后繼的課程與半年頂崗實習及其他的實踐活動的交替是在三年的周期中進行的工學交替。
4.與軟件開發企業合作進行就業導向式訓練。主動與各行業聯系,以掌握產業最新發展趨勢,將業界的人力需求方向即時反應在訓練課程中,使學習技能貼近經濟發展所需,除可提升學生就業率,亦為業界提供所需專長之人力。積極輔導就業,結訓前采不定時、主動及多面向方式,搜集相關產業需才資訊,邀請廠商進行征才說明會,積極安排學生前往應征,以協助學生爭取最適合的工作機會。加強學生的精神道德教育,使在習得專業技能同時亦能培養良好職業道德及正確工作態度,成為受企業主值得欣喜的是,通過在調研過程中與企業的溝通,我們發現企業對參與學院課程建設以及參與指導學生開展軟件項目開發的熱情很高。從參加行業專家會議、提供公司內部培訓資料、到擔任兼職教師、參與實訓室建設、給學生提供實踐機會、支持學生培訓考證等多方面,行業人士的參與熱情令我們十分感動。同時,由于學生所開發軟件項目的推廣應用,行業也從中得到了較好的業績回報。
三、教學實施過程建議
首先,推廣使用“實驗導向教學”模式,教學中以實驗活動為中心組織課程內容,遵循“理性知識感性掌握”,讓學生在完成實驗過程中建立感性認識,通過感性認識構建相關理論知識,并通過實驗的實現來形成相應編程能力。
其次,注意教學方法的靈活性,可組織學生討論、問題教學、閱讀指導等。有條件的話,借用多媒體的聲像演示,對理論實例進行展示,提供給學生直觀的感性認識以加深技術理解。通過程序實例的分析,培養學生運用書本理論來分析問題、解決問題的能力和研究意識。教學方法要以實現課程標準規定的教學目標為依據,好的教學方法應有助于學生對教學內容的理解,并能激發學生的學習熱情,提高自己的動手編程能力。鼓勵有所創新并取得實效的教學方法。例如精心編寫配套PowerPoint 教案,組織演示內容,做到圖文并茂,提綱挈領。
再次,充分發揮學生的學習主觀能動性。在本課程的教學過程中,注意訓練學生的編程動手能力,引導學生理論聯系實際,應用課本中的語法知識來解決實際編程問題。本課程的學習過程也是復雜程序設計的訓練過程。采用任務驅動、角色扮演方式,激發學生的學習動力和興趣,同時使課前明確訓練任務、內容、目標以及所屬團隊,能充分調動學生自主學習。
最后,作業是本課程教學的一個重要環節,應布置大量的程序設計習題由學生獨立完成,認真批改作業,杜絕抄襲;布置1~2 次大作業,提高學生解決問題的能力;通過作業規定最低的代碼量,保證基本教學質量。實驗在本課程教學中起到至關重要的作用。要求每次實驗都有具體任務,將調試好的程序存盤并加以檢查。寫好實驗報告。
[參考文獻]
[1]呂俊霞.淺談高職院校的計算機網絡技術教育[J].華章,2008(7).
關鍵詞:自動柜員機;系統軟件;
銀行管理信息系統
惡意取款17.5萬元被判刑―轟動一時的廣州許霆案經媒體報道,引發了一系列的爭議和討論[1]。隨后寧波也發生了一起由銀行ATM機出故障引發的案件。如果ATM沒有出錯的,許霆和唐氏兄弟應該不會受牢獄苦。今天我們暫且不去討論人性的弱點,道德觀念薄弱,單純的來認識下ATM機。
一、對ATM的認識
ATM是Automatic Teller Machine的縮寫,意思是自動柜員機,它是一種高度精密的機電一體化設備,利用磁卡或智能IC卡或可由計算機進行唯一性識別的生物特征儲存用戶信息并通過加密鍵盤(EPP)輸入密碼然后通過銀行內部網絡驗證并進行各種交易的金融自助設備。ATM的出現減輕了銀行柜面人員的工作壓力,更為人類提供了安全方便的金融服務體驗。
二、ATM機的優勢
隨著技術的進步ATM機功能更加完善,可以進行現金取款、現金存款、現金存取款、余額查詢、本行或異行轉賬、修改密碼等基本功能;有些多功能ATM還提供諸如存折打印、對賬單打印、支票存款、信封存款、繳費等一系列便捷服務。在有些地方客戶不但可以進行查詢、存取款和轉賬,還能自助繳納各類公共事業費,或者將資金轉到類似“支付寶”等特定的賬戶平臺,執行付款操作[2]。越來越多的年輕人,都習慣于通過自助終端辦理業務,真正要去銀行柜臺的機會在將來會變的越來越少。
三、ATM機的風險
(一)利用ATM機實施犯罪。
1.套信息。不法分子里利用持卡人刷卡進門時套持卡人信息。即在自助銀行門口安裝的讀卡裝置,持卡人入門刷卡時便偷偷留下客戶的賬號、密碼等信息。
2.裝設備。不法分子在ATM機的左上方安裝小方盒子,里面裝有內置攝像頭[3],攝像頭正對ATM機密碼鍵盤,鍵盤的鍵位清晰可見。可以記錄儲戶輸密碼全過程,同時還可以清晰地看到客戶將錢從ATM機中取出的過程。更有甚者還在插卡口處安裝外接吞卡裝置,不法分子會在客戶取款失敗離開后,取出信用卡,用探頭獲得的密碼取款。
3.做偽裝。盜款不法分子把ATM機的出鈔口封住,客戶取款時不見鈔票吐出常會無奈離去,這時他們便除去封口的東西,用工具鉤出現金。或者不法分子在ATM機出鈔口安裝自制黑色塑料擋板,并張貼緊急通知或者公告“此機暫停服務”等,而旁邊還預留有不法分子的電話號碼,當打電話時要求儲戶將錢轉到指定的賬戶或者要求告訴其密碼,來誘騙市民上當。
對于以上不法分子的行為,銀行應該起到監督的作用,對于市民并不了解這些行為是否真實。只有銀行工作人員經常檢查ATM機周圍的環境,或者通過攝像頭及時的發現不法分子的違法行為,一旦發現給予盡早的拆除和修整才能避免客戶的信息和財產損失。
(二)系統本身存在漏洞。
ATM機是一種高度精密的機電一體化裝置,本質上和銀行柜員操作的計算機一樣都是銀行信息管理系統的組成部分。它們通過網絡與總行服務器相連,實現信息互動。ATM機是由儲戶自助操作,同樣是向銀行的服務器錄入信息、讀取信息,執行服務器指令。ATM機出現錯誤的原因可能有以下方面:
1.銀行信息管理系統軟件――計算機程序存在邏輯錯誤(如記帳錯誤 :取1000元記為1元或取100記為10000元等)。
2.整個系統運行正常,ATM機失去與銀行服務器的正常聯系,可能完全失去或部分失去聯系。或者ATM機系統自身出故障。
銀行系統采用雙機熱備份技術,數據集中管理是通過雙機熱備份系統,將所有站點的數據直接從中央存儲設備讀取和存儲,并由專業人員進行管理,極大地保護了數據的安全性和保密性。軟件認為主機系統發生故障,主機停止工作,并將系統資源轉移到備用系統上,備用系統將替代主機發揮作用,以保證網絡服務運行不間斷。也可以檢查雙方信息是否一致,一旦有異常就可以及時發現故障。
3.自身管理不善。這種錯誤通常由于工作人員的粗心大意造成的。銀行要定期做好人員的培訓,提高工作人員的職業素質,要加強人員的監管,制定合理的約束制度。建立關鍵崗位及管理人員的從業資格證管理制度和銀行業違法違規人員信息查詢平臺。
4.ATM的應運部門。作為ATM運營商,在許霆和唐氏兄弟利用銀行卡在ATM機上取款案中負有不可推卸的責任。從金融信息系統軟件設計的角度來看,銀行卡在ATM機上取款和轉帳要受到條件的限制:如每日取款總額限制,每日取款次數限制,取款票面幣值限制,每日轉帳總額限制等。許霆在兩天內惡意取款170余次,取款額17萬余元,該ATM機并沒有按照我們的限制條件起到限制作用。
ATM機運營商應該嚴格按照軟件工程設計規范的要求,自我進行認真負責的軟件測試工作,或聘用專業的軟件測試單位進行軟件測試或軟件監理單位進行軟件質量控制,或者ATM機運營商在將升級軟件投入使用前與銀行的信息系統進行兼容性測試和系統集成測試,確保銀行對信息系統中具有對ATM機的交易報文進行合乎ATM機取款限制條件的數據合法性校驗功能運行正常,完全可以做到一旦發現ATM機交易報文中數據異常,立即向ATM機發出禁止交易的指令。
四、總結
ATM機作為銀行一種新型的營業模式,突破了銀行傳統的人工經營模式,在發展過程中,出現些非正常操作情況,這并不可怕,關鍵是銀行應當加強對自動柜員機的管理和維護,最大限度保證自動柜員機的正常運行,客戶也應當提高自身道德修養,面對金錢的誘惑能始終保持清醒的頭腦,避免事件的再次發生。
參考文獻:
[1]吳秀云.男子發現銀行取款機出錯提款17.5萬被訴盜竊.南方都市報,2007,11,07
四年時光匆匆而過,轉眼即將踏入社會,讓社會來檢驗這四年的成績。
在學習方面,我覺得大學生的首要任務還是學好基礎知識,所以在學習上我踏踏實實,一點也不放松自己。我認為好的學習方法對學好知識很有幫助,所以在每次考試后,我都會總結一下學習經驗。一份耕耘一分收獲,每每看到自己優異的成績,我就會對自己更有信心,沒有什么事是不可能的。對于我們現代大學生來說,光光學好書本上的知識是遠遠不夠的。
在專業技能上,為適應社會發展的需求,我認真學習各種專業知識,發揮自己的特長;挖掘自身的潛力,結合每年的暑期社會實踐機會,從而逐步提高了自己的學習能力和分析處理問題的能力以及一定的協調組織和管理能力。編輯推薦:2009年個人工作總結
在社會實踐上,我利用課余時間經常閱覽各類的書籍,并參加了軟件測試工程師的培訓并取得高級工程師證書,成績優秀。學習固然是學生的職業,這份職業同樣需要有智慧、毅力和恒心。在當今這個快速發展的信息時代,我們只有不斷汲取新知識,才不會落伍,才可能戰勝自己。
學習當然是重要的,一個人能力的培養也不容忽視。四年的大學生活給了我很多挑戰自我的機會,如系學生會的競選。在參與各種社團活動的過程中,我結交了一些很好的朋友,學到了為人處事的方法,鍛煉了自己的能力。這些經歷使我明白有些事情如果嘗試了,成功的機會就有一半,如果不去嘗試,成功的幾率只能為零。機會來臨時,我們就要好好地把握住。
關鍵詞:管理難題;軟件項目管理;實驗教學;質量;進度
1 引言
實驗教學是高校教學的重要環節,然而目前高校實驗教學方面普遍使用的是各實驗室彼此獨立的實驗信息管理系統,這給學校的實驗監督工作帶來了很大的困難。
目前國內尚未出現面向全校所有實驗室的類似系統,究其原因,最重要的一點就是項目管理難度大。僅從需求而言,實驗室多而且各具特點,導致需求難以全面覆蓋和深入挖掘,這樣就很難梳理出一套標準和科學的管理模型,且系統開發極具不可預知性。
本論文的實踐對象――高校實驗教學管理系統就是為高校所有實驗室提供一個統一的網上排實驗和網上監視實驗運行的系統。本系統共分為四個平臺:教務處、實驗室、教師和學生,利用科學有效的數據庫設計技術和長期服務高校教育教學的經驗技巧、以動態定制方式解決實驗室(中心)個性化需求問題。本系統的特點可以概括為以下三點:
(1)該系統有多種用戶,多種管理員;對于每個實驗室,該系統都是一個小型的實驗教學管理系統;
(2)各個實驗室運行模式差異性大,需求多樣化;
(3)用戶群體龐大,對于系統數據的及時準確性要求較高。
上述特點決定了本系統項目管理工作的難度必定很大。從項目管理的角度來說,開發模型體現了軟件開發管理者在管理模式上的變化,目前也存在多種開發模型。然而,傳統的項目管理是選擇一種軟件開發模型,在開發的各個階段實施管理。另外,考慮到開發模型越簡化,管理工作就會越容易,大多數管理者會采用傳統的瀑布模型。瀑布式生命周期的開發過程是順序行進的;活動流向基本是單向的;這種模型的缺點也是很明顯的,各個階段的劃分完全固定,早期的錯誤可能要等到開發后期的測試階段才能發現,進而帶來嚴重的后果。
那么,本系統將會不拘泥于現有的開發模型,針對系統的特點,采用一套行之有效的開發管理方法,合理有效的推動項目的研發進程。
2 “高校實驗教學管理系統”項目管理模型
該系統是在傳統瀑布模型的基礎上加以修改,添加原型和迭代。即首先做出原型,向用戶展示,然后根據用戶提出的修改意見,不斷改善系統,直到用戶滿意。
采用這種管理方式的優點:可強迫開發人員采用規范的方法;原型系統已經通過與用戶交互,在一定程度上可以減少開發過程中的返工;開發人員通過建立原型已經學到了很多東西,在設計和編碼階段發生錯誤的可能性降低;每個階段交出的所有產品都經過負責人的仔細驗證,可保證符合文檔的要求;
該系統開發模型如圖1所示。
依據采用的開發模型,將該系統的開發階段分為需求分析、系統設計、編碼實施、測試、系統試運行,在每個開發階段中進行質量、團隊和進度管理,主要從文檔、工具、溝通、制度、合作四個角度進行。管理模型如圖2所示。
3 “高校實驗教學管理系統”項目管理實踐
3.1 制定團隊規范
團隊開發,永遠不是一個人在行動,因此需要制定團隊規范,來約束大家的行為,以保證進度和質量,團隊規范的內容主要包括:每個開發人員每天晚上匯報當天工作進度;每周末總結本周工作,制定下周進度計劃;遇到問題及時溝通,充分利用團隊優勢;不能完成任務或提前完成任務及時告知負責人;個人獨立解決一個問題的時間不能超過半小時,半小時之后未解決應及時與其他成員商討;階段性的技術總結、團隊內部技術、經驗交流;保證充分可靠的文檔;周期執行檢查工作。
3.2 需求獲取
全面的需求獲取是保證系統開發少走彎路的前提。該系統采用多種方法從不同角度獲取每個平臺的不同需求。比如:方法調查表、定期召開研討會、原型展示。對于每一次的調查和會議,都要有專門人員做好全程記錄,會后及時做好應對策略。
3.3 開發過程管理
采用Microsoft Project制定項目管理計劃。在制定計劃時要注意保證計劃的可行性,明確責任劃分。項目管理計劃隨著系統的進行不斷細化,不斷調整。對于影響系統整體進度的調整,要召開小組會議并和老師交流商量。
3.4 系統設計和編碼
在系統設計階段,給出詳細設計文檔和界面原型,階段性地將設計內容反饋給用戶。在充分理解需求文檔的基礎上,每個開發成員給出詳細設計和界面原型。并在階段性的時間點以研討會的形式展示界面原型,根據用戶要求完善系統設計。
對于四個平臺的功能模塊,根據功能難度、開發成員的編程能力和項目經驗進行劃分。比如排實驗,由于功能復雜,要考慮和驗證的情況很多,這塊功能分配給編程老練、心思縝密的開發成員完成。
在編碼實施階段,采用源代碼管理工具VSS,制定統一編碼規范文檔,統一編碼風格,降低開發和維護的風險及難度。
3.5 測試和試運行
測試階段:制定好測試計劃、編寫測試用例,測試過程做好測試報告,收集測試結果。測試時測試人員要認真細致,對測試中發現的問題做好記錄。測試用例設計要基于需求,避免測試自己編寫的模塊,輸入數據包括合理的和不合理的,測試數據具有代表性。
試運行階段:首先在小范圍內試運行,根據反饋完善系統;然后大范圍試用。試運行之前準備數據,要求數據能夠盡可能的展示各個實驗室的情況;制作培訓PPT;對于操作較復雜的界面錄制視頻;召開用戶培訓會,使實驗室負責人熟悉該系統,同時發現潛在的問題;公布用戶反饋方式,及時、最大限度的獲取用戶反饋意見。在多個學院試運行期間,準備兩套系統,一套試運行數據,一套正式運行數據。學生和教師的培訓工作由實驗室負責。
4 結論
本論文闡述的軟件工程項目管理方法:根據系統的特點靈活使用傳統的管理模型,采取用原型去引導用戶,通過實踐來了解目標系統的概貌,從而不斷獲知和細化用戶的真正需求,明白系統應該做什么,不應該做什么。在項目實現過程中,制定合理規范的管理制度,不僅保證項目按質向前推進,同時使團隊每位成員在項目開發的整個過程中都切實負起責任,增強團隊合作意識,保證用戶的真實需求得到滿足。
通過近一年時間的開發,目前本系統已經開始在幾個學院展開使用,且取得較好的反響,證明該系統采取的管理方法是合理有效的,其開發模型和管理模式是值得借鑒的。
參考文獻
[1]Galin,D. Software Quality Assurance: From Theory to Implementation[M]. Addison Wesley/Pearson,2009:35-40.
[2]Kerzner,H. Project Management: A Systems Approach to Planning, Scheduling, and Controlling[M]. John Wiley & Sons,2009:191-241.
[3]Pressman,R.S.Software Engineering:A Practitioner’s Approach[M].McGraw-HillCompanies,2008:462-602.
[4]Brooks,F.P. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition[M].Addison-Wesley Professional,2010:20-281.
[5]Patton,R. 軟件測試[M].張小松,譯.北京:機械工業出版社,2008:123-196.
[6]Scgwalbe,K. IT項目管理[M].楊坤,譯.北京:機械工業出版社,2009:150-246.
[7]覃征.軟件項目管理[M].北京:清華大學出版社,2009:40-44.
[8]施平安.軟件項目管理實踐[M].北京:清華大學出版社,2008:73-81.
[9]陳京鷺.淺談信息系統集成項目管理[J].電腦知識與技術,2009(24).
[10]孫延靖,楊功元.項目管理技術在軟件開發過程中的若干問題探討[J].硅谷,2009(17).
[11]許薇.IT項目研發過程中的進度管理研究[J].項目管理技術,2009(S1).
[12]孟曉鴻.談軟件測試自動化[J].中國新技術新產品,2008(10).
[13]孔駿,趙春穎.可視化語言技術在軟件開發中的應用[J].軟件學報,2008(19).