時間:2023-05-30 10:43:13
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件開發工程師,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
中圖分類號:G642
1 選崗對接課程是前提
選對就業崗位對接實訓課程非常重要,就業崗位是行業或產業急需的崗位,能夠引領產業發展。計算機專業從學生專業基礎、產業發展潛力、崗位人才需求等方面進行調研,最終選擇iOS軟件工程師崗位, 通過4個月的實訓,快速培養專業技能過硬、有一定項目開發經驗、綜合素質高的iOS開發工程師,引領與支撐移動互聯網產業的發展。
1.1 產業發展潛力大
隨著4G智能手機的普及和5G技術的研發進入測試階段,移動互聯網的應用將進入“無所不能”的時代。移動互聯網繼承了互聯網所有的應用,還有自己獨特的優勢,互聯網的應用系統全都要延伸到智能終端應用,如手機銀行、移動商務等。工信部最新數據顯示,截至2015年12月底,我國手機用戶達13.06億人,其中4G手機用戶總數達3.86億人[1],遠高于寬帶用戶數,移動應用系統發展潛力更大,將成為全球信息通信行業的萬億元級新興產業。
目前,主流的智能手機操作系統有谷歌公司的Android、蘋果公司的iOS、微軟公司的Windows Phone。企業在開發移動應用時,Android和iOS兩種操作系統的App必不可少。2016年6月14日,蘋果CEO庫克在2016年開發者大會(WWDC)上介紹蘋果App Store已經誕生8年,已經有超過200萬款應用,98%的財富500強企業擁有iOS??用;App Store下載量已經突破1300億次,同比上年增加300億次[2];已經為開發者創造了500億美元的收入,同比上年增加200億美元[2]。從以上數據可以預計,隨著4G智能手機的普及和2020年左右5G技術的商用,iOS App的用戶數量會出現爆炸式的增長。
1.2 崗位人才需求多
移動互聯網產業發展潛力巨大,與之對應的軟件開發工程師緊缺,而目前只有少數高校開設移動應用開發專業或方向,培養周期長且人數少,遠不能滿足移動互聯網行業發展對人才的需求。《2015年領英中國互聯網行業人才庫報告》顯示,2015年我國移動互聯網行業應用開發人員需求量200多萬,可實際從業者不到70萬人,預計2016年整個互聯網人才缺口在400萬人左右,未來5年中國互聯網人才缺口將達1000萬人[3]。
1.3 學生有一定專業基礎
計算機專業的學生通過前兩年的學習,對于計算機編程和數據庫技術等有一定的基礎,通過實訓強化了專業技能,積累了項目開發經驗,提升了綜合素質。
2 實訓教學內容是核心
教學內容與崗位對接,基于崗位工作過程開發教學資源,實現“教、學、做、創”一體化教學,以能否完成工作任務為考核依據,有利于提高學生的專業技能和就業率。
2.1 實訓教學內容建設思路
iOS軟件開發工程師實訓課程體系是在原來的計算機專業基礎之上構建的,結合iOS App開發崗位及流程進行設計,采用基于模塊化、導師制、項目化的iOS 開發工程師人才培養模式[4],共分成4個遞進的模塊,每一個模塊又細化為幾個教學單元,如圖1所示。
每一個模塊都有基礎知識學習和項目實戰,前導模塊過關之后再進行下一個模塊的學習,重點加強對學生的專業技能訓練,積累項目開發經驗,注重對學生綜合素質的培養。本文所涉及的“好售掌上批發平臺”(簡稱“好售平臺”)和“找車位”軟件都是商業項目,具體功能可從iOS App Store下載查看。
2.2 實訓教學內容模塊體系
1)模塊一:編程語言與算法技能強化。
本模塊重點加強專業基礎技能訓練,鞏固程序設計基本概念與語法、數據結構與算法。訓練目標達到國家計算機二級考試優秀水平,采用團隊協作方式學習,進行模擬考試訓練,只要有一個成員沒有達到要求則整個團隊不進入下一個模塊的學習,這迫使團隊成員相互促進、共同學習,同時樹立他們的團隊意識,具體教學內容見表1。
2)模塊二:Web端及服務平臺開發。
本模塊著重積累項目開發經驗,利用前一模塊的知識解決實際問題,根據教師提出的需求完成“好售平臺”服務器端業務邏輯和數據庫開發,具體完成Web端和服務平臺對移動端訪問的接口,接口的開發決定終端App開發和運行的效益,具體教學內容見表2。
3)模塊三:移動端App開發。
本模塊重點引導學生學習、掌握和運用新知識的方法,即學以致用:一邊學習iOS基礎控件使用、UI設計、視圖控制器、數據持久化、數據解析、網絡編程、多線程等知識,一邊根據“好售平臺”需求和服務平臺接口實現用戶注冊、店鋪管理、在線溝通、在線下單、訂單管理、商品管理、尋找產品、一鍵分享等功能,具體教學內容見表3。
4)模塊四:項目實戰與作品匯報。
通過對前3個模塊的學習和“好售平臺”開發的實戰已積累一定的項目開發經驗,本模塊重點模擬在 企業真實環境下訓練學員,在規定的時間內完成“找車位”平臺的需求分析、總體設計、詳細設計、編碼、測試、驗收等項目開發全過程,進一步積累項目開發經驗,提升抗壓能力。最后,通過就業輔導和作品匯報會暨學員就業推薦會提高學生的綜合素質和就業能力,具體教學內容見表4。
3 教學方法創新是關鍵
為了達到“強化學生專業技能、積累項目開發經驗、提升綜合素質、提高就業質量”的實訓目標,我們在實訓教學過程中融合多種教學方法,實施創新教學。
3.1 模擬企業真實環境開發項目
以模擬企業真實環境為平臺,以仿真的“好售平臺”和“找車位”案例項目為載體[6],將企業文化及職業素養訓練、IT 技能培訓、行業知識及業務流程實踐等實訓內容完全貫穿在模擬公司的運營過程中,使學生在實踐中體驗企業工作環境,從而獲得一定的實際經驗和職業磨煉。
3.2 團隊集體學習與項目分工合作
前3個教學模塊采用5人小組為團隊進行集體學習,只要有一個成員沒有通過過關測試則整個小組無法進入下一模塊的學習,這迫使成員之間相互幫助、相互促進;第4個模塊“找車位”項目也采用以5人小組為團隊進行項目分工合作開發,在規定的時間內,成員之間相互溝通與配來合完成項目,使其達到驗收的標準。在實施中,選一位學生為組長,擔任項目經理的角色,對項目負責,各小組之間形成競爭,最終根據完成標準與時間對小組進行排名和評獎。
3.3 實訓內容循序漸進與過關測試
在實訓內容上充分考慮學生的基礎,重基礎,強實戰。我們設計了4個循序漸進的教學模塊,同時在每一個模塊中須通過高標準的測試才進入下一模塊的學習,這保障了學生的學習進度和學習效果。
3.4 開發過程規范化與質量市場化
項目實?鷓細癜湊杖砑?開發過程的要求,對需求開發、總體設計、詳細設計、編碼與測試、項目管理、項目驗收及技術文檔整理等每一個環節進行規范化。各小組完成的項目要經過標準化的測試,達到商業項目的要求,驗收后才可以投入市場運營[7]。
3.5 舉辦產品匯報會暨企業招聘會
在完成模塊四“找車位”項目之后,可以舉辦產品匯報會暨企業招聘會。一方面,各團隊把認真完成的產品向學生和企業面試官展示匯報,介紹產品的功能、項目進度、成員分工、技術難點等信息;另一方面,企業面試官通過對學生展示的產品和提問進一步了解學生的真實水平,以作為企業錄用的重要依據。
4 結 語
本次大會以“提振經濟效能,創新智引轉型” 為主題,通過權威的政策解讀,案例分析、圓桌對話等環節深入探討了中小企業轉型升級、中小企業競爭力塑造,以及中小企業接軌國際等話題。大會指出,中小企業是國家推進“互聯網+”行動的主戰場,要加速中小企業與“互聯網+”的融合,助力行業中小企業打造競爭力,推動中小企業轉型升級。
北京軟達啟航科技發展有限公司(以下簡稱軟達啟航),也是一家專業軟件開發與測試解決方案提供商,從事軟件產品開發、軟件產品測試、軟件開發測試咨詢、軟件開發測試項目外包、軟件開發測試人才外包、軟件開發測試人才獵頭服務。軟件測試工具銷售和軟件測試中高級人才培訓等業務。在功能測試、性能測試、商業自動化測試、開源自動化測試、白盒測試和網絡信息安全測試等領域居于國內領先地位。
微軟公司開發Visual Studio 2005的過程歷時3年,投入100億美元,使用了400名項目經理、7000余名軟件開發工程師、7500余名軟件測試工程師。開發工程師與測試工程師的比例達到了1:1。軟件測試的重要性由此可見一斑。
軟件上市必先測試
隨著國內軟件產業和全球軟件外包的迅猛發展,軟件產品的質量控制與質量管理正逐漸成為企業生存的核心。為了保證軟件在出廠時的“健康狀態”,幾乎所有的 IT 企業在軟件產品前都需要大量的質量控制工作。美國質量保證研究所對軟件測試的研究結果表明:越早發現軟件中存在的問題,開發費用就越低;在編碼后修改軟件缺陷的成本是編碼前的10倍,在產品交付后修改軟件缺陷的成本是交付前的10倍;軟件質量越高,軟件后的維護費用越低。
作為軟件質量控制中的重要一環,軟件測試工程師應運而生。軟件測試工程師的工作就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例后,需要跟蹤故障,以確保開發的產品滿足需求。
人才擁有“雙高”地位
軟件測試工程師本身是一個在軟件產業化過程中突顯出的一個新型軟件技術職業,對剛剛開始進入產業化的我國軟件企業而言,更是一種必需的技術崗位。
然而,目前國內軟件測試市場中的人才情況卻令人尷尬,據信息產業部門調查數據表明,國內軟件測試工程師的行業需求超過 30 萬人,而實際從業人數不超過 5 萬人,其中具備 5 年以上從業經驗的軟件測試工程師不超過 1 萬人,可以說在軟件行業,內部的人才積累很少,而國內的大學教育在這方面基本上還處于空白狀態,即使目前在軟件測試工程師崗位上從業的技術人員,多數也是處于邊工作邊學習的摸索狀態,其專業能力的提升非常緩慢,亟需進行系統的培訓和學習。
軟件測試工程師的巨大缺口造就從業人員的可觀薪水。中國軟件行業協會游戲軟件分會副會長劉金華表示,在企業內部,軟件測試工程師基本處于“雙高”地位,即地位高、待遇高,目前有一年工作經驗的軟件測試人員的月薪一般都能夠達到 6000-8000 元,有的人月薪可高達 10000-15000 元。可以說他們的職業前景非常廣闊,從近期的企業人才需求和薪金水平來看,軟件測試工程師的年工資有逐年上升的明顯趨勢。
1.1盲目性應用
盲目性應用,即無論是產品型軟件企業還是項目型軟件產業,都沒有一個適合自身企業特點的軟件開發管理模式。隨著信息化時代的來臨,第三次革命的廣大蔓延,使IT產業在我國得到了迅速的發展,相對應的各個軟件的應用也逐漸增加。由于,我國的軟件企業建設起步較晚,相關技術性軟件缺乏有效的創新性。因此,在不合理的管理下,往往會造成為了追趕進度,而在短時間內生產一批軟件,大大降低了軟件開發的應用價值,造成程序在進入實際應用時,一改再改,上機漏洞百出,運行時間過長,甚至完全的開發使用受挫等問題。
1.2無規范性操作
無規范性操作,即相關企業缺少對軟件開發的相關規定,檢查督導力度不夠,企業管理人員、企業技術人員的應用力度不到位等。我國大多數軟件開發企業都屬于中小型企業,所開發利用的產品大多效法與國外的軟件產品,缺乏有效地創新能力,評估工作量能力欠缺。雖然,某些公司意識到了這一點,但在自己企業的軟件開發與管理中,雖然建立了一些軟件開發管理的規范,由于過于硬式化,可執行力不強,造成軟件開發的操作上出現問題。操作中的無紀律、無規范性,使得很多軟件的基本構架被砍掉,導致了所開發產品的質量不穩定,對以后的升級與維護造成負擔,使用戶對公司不滿,最終損害了企業的利益。
2項目管理在軟件開發中的應用措施
項目管理應用于軟件的開發與利用中,即相關的軟件開發項目人員,在有限的資源的前提下,運用所要規定的軟件內涵、理念、方法及觀點,進行有效的開發與管理。宣傳并樹立企業范圍內的項目管理文化十分重要。實現項目全過程,包括軟件開發項目的計劃、軟件開發項目的組織、軟件開發項目的指導、軟件開發項目的調控及軟件開發項目的評價,得到全面的項目實現,創造企業利益最大化。將項目管理融入到軟件的開發應用中應做到:
(1)對軟件開發項目的成功標準做準確的設定。
(2)對項目之間的各種要求把握要合理。
(3)對軟件的標準進行新的定義。
(4)建立適合的溝通渠道。
(5)制作個人計劃。
(6)具備完備的需求說明。
(7)對任務進行有規律的分配。
(8)選擇正確的技術并進行相應的估算。
項目管理在軟件開發中的具體作用為:
(1)可實現人力、物力、財力的合理分配。
(2)對企業軟件的啟動、研發進行高標準的組織。
(3)合理的對各個項目進行合理的劃分,實現層次管理、合理分配。
(4)調動員工的積極性,實現企業利益的最大化。因此,可以看出項目管理可有效地促進軟件開發的進程與管理,是實現軟件開發任務、資源管理、成本預算、項目跟蹤及企業利益的良好標尺。實現項目管理與軟件開發結合是企業形成良好的業務循環的重要手段。項目管理在軟件開發中具體的應用措施有:
2.1完善制度
完善制度,即相關的管理人員應按照企業的任務需求合理的制定出一套相對應的管理流程。例如:企業的相關負責人可以根據企業的業務需求來制定《產品立項報告》,并根據各個部門的負責人的審批建議,做出《產品可行性調研》。后對風險進行有效的評估,然后做出產品的《初步設計報告》,并落實于人。(注:一般情況下為保障軟件的質量與開發進度,新技術在軟件中的使用比例應小于35%)
2.2初步設計
初步設計,即相關的管理人員根據所要開發軟件的成本、進度、風險等進行準確的評估,并制定評估范圍數值,并根據評估的范圍,制定出項目總成本的耗資范圍。例如:企業的相關責任人應集中硬件工程師、軟件工程師與架構工程師三者進行商榷,并根據業務需求,企業軟件系統開發規范,編碼規范等,來制定出《項目建議書》、《軟件總體設計》等方案,提交決策層評審,評審立項通過后方可進行下一步工作
2.3硬件選型
硬件選型的過程就是根據軟件的運行狀況選擇其運行于哪種硬件上的過程。硬件設備的選擇需要根據所開發軟件的類別進行選擇,例如:開發小型單機軟件,需要一臺電腦就夠了,但是開發大型單機軟件則不一樣了,需要多臺電腦、外網網線、路由器、局域網。項目管理的軟件開發首先要構建軟件系統,做好預算,不斷改進設計模型,做好項目資源管理的控制和軟件的優化方案。其次,需要對軟件系統進行測試,根據項目管理對軟件的需求設計科學合理的測試方案,不斷完善硬件選型上的不足,做到硬件與軟件的科學有效運行。
2.4軟件設計
軟件的設計是IT行業中的重中之重,是至關企業形象的良好標志。軟件設計,即相關的管理人員對所要開發軟件的成本、進度、風險進行精確的細化分析,制定出確實可行的軟件開發項目。例如:項目經理需要根據企業的軟件復用價值來確定,待開發與難開發兩者,并根據《初步設計》的要求,寫出《軟件的詳細設計》方案并編織代碼,測試代碼,軟件設計的最終環節要在總工程師的輔助下完成,總工程師要做出詳細的批示和完善措施,由此進行改進之后再進行大規模的生產與制作。不斷提高軟件設計產品的質量。
2.5軟件的測試
軟件的測試是檢測所開發軟件好壞的良好標尺。軟件的測試,即由軟件工程師編制代碼后,按照《測試大綱》進行自測,并將自測后的數據進行可靠性的綜合分析測試。其主要包括:
(1)功能性測試,即對產品的每一項功能進行逐一測試。
(2)應用性測試,即將所開發產品運行與實際操作中,進行現場模擬的EMC、EMI測試。并根據測試的結果,做好詳細真實的記錄,列出不合格項目,有待加強項目、研發人員定位等確立故障的具體原因,為故障的分析與改正打下基礎。
2.6文件歸檔
文件的歸檔,即對所開發的軟件項目做出完整的整合記錄,實現軟件的可升級性、可維護性、可繼承性及可完善性的良好數據說明系統,是加強積極管理的有效手段之一。對于軟件來說,確保一次性研發成功最好,若中途發生了變差,則需要進行修改,在對軟件系統進行修改的時候,就需要對文件再次進行歸檔。所要歸檔的文件一般有:
(1)軟件的研發報告。
(2)軟件的可行性分析報告。
(3)軟件的初步設計方案。
(4)硬件的詳細設計方案。
(5)軟件的詳細設計方案。
(6)系統的結構詳細設計。
(7)軟件的測試結果。
(8)審批明確的生產文件。
(9)詳細的使用說明書等。
3結束語
單一的軟件測試課程只能簡單羅列軟件測試不同階段的技術和方法,缺乏對知識的針對性和連貫性,學生很難理解不同的測試技術和方法在軟件開發的各個階段應該如何應用,導致學生只會死記硬背軟件測試的條條框框而不懂如何活學活用。軟件測試是一門實踐性非常強的課程,然而測試工具和測試對象都是看不見、摸不著的軟件產品,實踐課程的組織和實施有較大的難度[2]。雖然大多數教師充分認識到了實踐教學的重要性,在教學過程中也加強了實踐的力度,但是由于沒有考慮到大多學生沒有參與過實際的軟件開發的項目,沒有接觸過軟件開發的流程,實踐中選擇的實驗案例十分單一,缺乏領域結合,與真實工程相差較大。學生在學習過程中很難理解測試在軟件開發中需要使用方法及其作用,很多學生因不能感性認識測試的重要性因此對課程缺乏興趣。
案例教學是軟件測試教學中的常用手段,對學生理解測試方法有著很重要的作用,但是目前高校教學普遍存在著教學案例陳舊過時,大部分教學都沿用了傳統的教學案例。這些案例大都沒有介紹軟件測試的工程方法和實現過程,并且沒有進行難度的區分,很難達到好的教學效果。
本專業的教師經過多年的實踐,總結了大量的教學經驗,按照實際工作中典型的工程師團隊所需的各種技能知識為導向,按照復雜度漸增、螺旋遞進的原則設置卓越軟件工程師課程體系與內容,把傳統的以學科知識的系統性為導向的橫向課程體系改造為以個人職業角色發現和能力提升為導向的、適應團隊教育培養的新型縱向課程體系。軟件測試課程是軟件工程卓越工程師培養課程體系的重要組成部分,課程總體跟隨整體培養課程體系的大方向,并結合自身的特點進行建設。
1復雜度漸增式開設課程
在傳統的以面向開發為主的培養模式下,測試課程設置單一,知識針對性連貫性不強。為了解決這些問題,在專業課程開設過程中將軟件測試課程課程拆分,穿插到整個培養過程中,緊密聯系軟件工程其他階段的課程,并且使用案例貫穿所有階段,復雜度逐漸遞增,讓學生在學習過程中循序漸進,逐步建立學習的興趣和信心。在第5學期分成兩個階段分別開設《單元測試與軟件質量》和《軟件驗證與確認》。在第一階段旨在培養學生小規模程序測試的能力不涉及復雜系統,以提高個人開發測試的基本能力為目標,學生可以運用測試課程中學習的方法在開發過程中使用,針對性強。第二階段旨在培養學生對系統整體測試的能力,此時學生以完成基本開發能力的訓練,其他相關課程的培養中也進入了系統級別。在該階段以上一階段培養的能力為基礎,提高復雜度,跟軟件開發其他階段緊密結合。完成第5學期的測試基礎課程開設之后,在第6學期還開設了《web軟件測試》、《測試案例分析》、《數據庫測試》等專業選修課,給有興趣的學生提供更多的學習選擇。
2基礎與實踐并重,充分利用虛擬實踐平臺課程
的開設充分考慮到測試重實踐,并且與軟件開發其他階段聯系緊密等特點;同時也考慮到了此時學生正處于學習階段,直接參與實際項目對學生的學習并不能起到很好的作用,因此在課程學習階段充分利用了校內軟件實訓基地,創建網上“虛擬企業”,引入企業管理模式,在這種虛擬平臺下,針對基礎的知識點開設虛擬項目[3],模擬軟件測試的真實工程環境。學生在自己組合團隊中有各自的工程任務,針對性實用性很強,學生能夠在完成自己任務的同時感性的認識測試崗位工作,體會到軟件測試在整個軟件開發過程中的作用,將單項知識技能之間關聯在一起,系統的運用專業知識和技能。
3采用螺旋式的案例教學,案例與其他軟件開發階段貫穿
課程采用螺旋式案例教學方法,教學案例與其他軟件開發階段貫穿,即針對同一個項目分解為基礎與高階的兩個不同難度程度的案例,課程講解的案例從需求分析,設計,實現,一直貫穿到軟件測試,體現了軟件開發連續的工程過程。同時貫穿的教學案例都是從高年級學生參與的實際開發的項目中提取,教師總結了在開發的過程中學生出現的各種問題,在案例講解過程中更容易被學生所接受。教學案例一個階段一個階段的被不斷完善,相比較傳統的教學案例更加貼近學生學習實際,有一定的真實性又同時具備知識點針對性。
本教學團隊在“卓越工程師教育培養計劃”背景下,結合專業現狀與社會需求,總結以往開設軟件工程試驗班的經驗和教訓,一直以來不斷研究探索,逐漸形成一套適合的本校卓越軟件工程師培養的課程體系。其中軟件測試課程的建設既遵循了軟件工程師培養課程體系的大方向,又結合了課程自身的特點,而本教學團隊在今后的教學過程中還將不斷的改進,遵循行業發展的需要。(本文作者:楚燕婷、陽小華、劉立、劉志明 單位:南華大學計算機科學與技術學院)
1、儀器儀表工程師
儀器儀表工程師是指在工業自動化儀表與控制系統、科學儀器、電子測量與電工測量儀器、醫療儀器、各類專業儀器、傳感器與儀器儀表元器件及功能材料等行業從事儀器儀表的設計、安裝、保養等工作的專業技術人員。
2、硬件工程師
硬件工程師Hardware Engineer職位 要求熟悉計算機市場行情;制定計算機組裝計劃;能夠選購組裝需要的硬件設備,并能合理配置、安裝計算機和外圍設備;安裝和配置計算機軟件系統;保養硬件和外圍設備;清晰描述出現的計算機軟硬件故障。
3、銷售工程師
銷售工程師,是指能夠獨立管理和策劃商品的區域銷售,營銷業務的高級銷售人才。其應具有極高的市場經驗和敏感的市場觀察力,分析力,要求能夠獨立管理商品的銷售業務。
4、電氣工程師
從事勘測、規劃、設計、電力工程建筑、安裝、調試、技術開發、實驗研究、發供電運行、檢修、修造、電網調度、用電管理、電力環保、電力自動化、技術管理等工作的電力專業工程技術人員
5、嵌入式軟件工程師
現代化社會的發展,軟件工程廣泛應用到嵌入式系統、人機界面、翻譯器、電子郵件及數據庫和各項操作系統中。在此基礎上,還受到了航空、工業、政府部門及銀行等各個行業的大力追捧,大大減少了各行業工作人員的工作總量,有效提高了他們的工作效率,并促使人民群眾的生活質量得到提高,帶動了社會經濟的發展。軟件工程的開發離不開軟件工程師,根據領域的不同又分成系統測試員、分析員、工程師及程序員等,統稱為軟件工程師。他們肩負著對費用合理、質量良好的軟件產品的開發,通常情況下,其主要以產品的可靠性、安全性、可維護性、實用性、功能性等指標來衡量軟件產品的整體質量。
2軟件工程開發技術
2.1軟件標準化應用技術
軟件標準化應用技術又分成軟件標準和軟件過程標準,其是軟件構件和軟件重用技術開發與發展的先決條件,可有效保障軟件工程產業的健康發展。軟件標準化應用技術直接關系到軟件工程各項指標能否達到相關標準,其也是衡量軟件工程成熟度的重要條件。國際標準化工程和系統工程委員會詳細指出了軟件工程的標準結構,加之美國國防部關于軟件標準相關內容的提出,并列成為當代軟件工程的兩大重要標準。
2.2軟件構件和軟件重用技術
軟件構件和軟件重用技術一直是軟件工程開發中的重要環節。軟件重用是開發和研究軟件的必要手段,構件作為一項基礎條件有著不可小覷的重要作用。其中,軟件重用技術可讓軟件工程師從大量寫代碼的工作中解脫出來,促使其更好的投入到更具適用性軟件系統的開發中,從而確保空間和相關問題的一致性。軟件構件技術是實現重用技術的前提,兩者相輔相成,互相促進。這一過程中,各類開發工具是軟件開發和應用的依托,如集成開發環境、構件庫管理及運行環境等。
2.3中間件技術的采用
中間件平臺作為軟件系統開發和運行的支撐,是實現構件技術的前提。中間件適用于合適的平臺上,加速軟件的隔離和抽象,最終形成構件。因此,中間件技術在軟件行業中備受青睞,根據分布對象、通信、事務處理、調用遠程過程、訪問中間件這五大類進行劃分,具有劃時代的意義。
3軟件工程開發過程
3.1用戶需求分析
用戶需求分析即為在構建或改變軟件系統時,應根據新系統的定義、范圍及功能等內容進行用戶群體需求分析,并綜合分析數據準確把握系統定位,以開發出優質的系統軟件。該過程中,協調需求分析員和軟件工程師之間的關系是十分關鍵的,兩者強強合作后,應首先找準目標用戶群,并針對用戶的實際需求確定系統軟件的各項功能,最終制定出最佳系統開發方案。
3.2軟件系統分析
軟件系統分析主要是指歸納和整合需求調查中的各項數據和相關資料,并針對軟件內部實際管理和信息處理情況進行分析。軟件系統分析的主要目的是為了落實用戶的相關需求,并尋求出最具適用性的解決方法,其是軟件設計過程中不可或缺的組成部分。
3.3軟件測試
在整個軟件系統進入使用之前,軟件測試是最為重要的環節之一,在進行軟件測試時,不僅能對軟件的需求進行分析,還能對軟件的功能及性能進行驗證。軟件測試是指,根據運用軟件的測試方法和測試工具,按照測試流程及測試方案,對被測試軟件的功能與性能進行檢測。在對軟件進行測試的過程中,編程人員可以按照不同的軟件和不同的架構編寫出各種測試系統以及測試方案和工具,以控制將有可能出現的問題。在軟件開發的整個過程中,都要緊抓各個開發環節及時進行同步的測試內容,并且針對測試中發現的問題加以解決,同時完善相關的開發程序。在此之后進行重復測試,在反復測試中不斷完善各種問題,直到軟件最終成為完整產品。
4軟件工程開發的基本特征與應用情況
4.1明確性
軟件工程在進行軟件設計時就已經根據人們多種多樣的需求制定了明確的目標。軟件工程設計的任務是在工程實施或者產品投產之前,為這項工程或產品提供各種需求的標準,這一任務正是體現了軟件工程中“需求分析”的特點,并且需求分析的質量對軟件開發的成敗有著直接影響。在這個階段中,開發技術人員需要不斷的與用戶進行溝通和交流,完全明確軟件開發項目的概念,最終形成一個完整的、清晰的、明確的開發目標。
4.2完整性
在用戶或者服務器系統的應用中,保證信息準確無誤的重要條件是數據及數據處理的完整性。因此,在軟件開發的過程中,確保數據及數據處理完整性的邏輯要求是最為嚴密的。例如,有時在處理一個事物的過程中,會修改多個表格數據,如果在修改中發生了任何細小錯誤,都必須放棄整個處理過程,而不是其中的一個過程,然后返回最開始的階段,以確保操作的完整性,從而保證了數據及數據處理的完整性。
4.3規范性
應用軟件的開發工作在不同人員進行修改時需要能較為容易的接手,因此開發應用軟件必須保證規范性。由于軟件在開發的過程中需要按照一定的規則進行對象組合,所以能符合標準。但是如果是群體開發軟件,由于每個程序員的想法及工作習慣都不相同,因此不容易符合標準,而軟件開發的標準極為重要,必須保證其規范性,所以在軟件開發的過程中,程序員之間需要多溝通交流,確保軟件的順利開發。
4.4易維護性
由于在軟件開發的過程中,對象組合具有繼承性,在對祖先對象進行修改時,也會對其繼承對象造成直接影響,提高了軟件程序在一定程度上的維護性。并且,邏輯規定和語法規定相同,群體開發軟件不會因為個人特有的思想與工作習慣受到影響,從而使軟件開發的維護性得到了保證,也提高了相互之間互相彌補的可能性。
4.5創新性
科學技術需要發展,發展離不開創新。隨著工程技術的不斷創新,軟件開發出的產品在滿足人們高要求的同時不斷進步,為了獲得廣大用戶的信任與支持,系統分析員在進行系統分析時,應當全方位了解廣大用戶的需求,針對用戶的各種需求提出可行性方案,并且在不斷的與用戶交流中完善與改進方案,在如此反復中完成整個設計開發的過程。
5結束語
作為本地開設的專題討論,面向構件的專題討論吸引了500多國內軟件工程師前來參加。普元公司作為主導面向構件開發的本地廠商之一,主持了這兩場專題研討會,加深了軟件工程師對構件技術的理解。
敢吃“構件的螃蟹”
在5月24日,面向構件的電信、金融和電子政務的專場,更是讓來自這三個行業的軟件工程師們獲得了一個極好的交流機會。中國銀行江蘇省分行風險管理部主管琚江、湖北聯通CRM支撐中心陳偉玲、常州公積金中心信息處處長錢林成,分別就各自的業務,講述了采用面向構件的技術進行構造的案例,讓與會的工程師們獲得了第一手有關構件的經驗和資料。
“很多企業還不敢相信或者說不敢采用面向構件的方法。” 琚江表示,“不過我們在看到交通銀行總行已經在使用面向構件的方法,并且取得了不錯的成果,我們也就放心采用了。”
交通銀行總行可以說是第一個吃“構件螃蟹”的大企業。早在2004~2005年,交通銀行總行就使用普元的EOS開發了總行的CIIS(新一代綜合信息客戶信息系統)的1、2、3期,目前已經在開發第四期:管理會計系統。
“對于金融行業的軟件開發來說,非常容易遭遇‘IT黑洞’,越是大型的軟件項目,其風險越大。”交通銀行總行的CIO侯維棟認為,“采用面向構件的技術,適合大規模定制軟件開發,而且能夠控制成本,還能夠提高軟件開發的速度以及業務知識的積累和復用。”
解放思想是關鍵
“因此,從某種意義上說,與其說面向構件是一種技術,不如說面向構件是一種思想。”普元軟件公司CTO黃柳青表示,“企業應用要學會解放思想,要將關注的重點放在企業的業務流程之上,而不是代碼上面。”
陳偉玲是偶然接觸到的普元的面向構件的開發平臺。在此之前,她正忍受著湖北聯通VIP維系挽留系統中不斷的需求變化和流程變化的折磨。
“接觸到普元EOS之后,覺得這就是我們所需要的。”談起當時的選擇,陳偉玲依然有些興奮。在VIP維系挽留系統中部分地采用了面向構件技術之后,在最新的湖北聯通CRM項目中全部采用了面向構件的技術。
“未來軟件開發不是編碼,而是由過程化、參數化、可視化的構件配置和構件組裝完成軟件解決方案。”黃柳青認為。
ILOG公司何仁杰認為,要使得構件可以被面向業務進行管理,就需要使得被剝離的業務規則可以被管理、復用,業務規則的開發應該從程序開發員轉移到業務策略分析者身上,并且,業務規則的變更要脫離構件本身。
【關鍵詞】軟件工程;開發;應用;特點
軟件是通過程序設計與計算機程序的發展演變出來的,是由程序與程序設計發展到相當規模時產生的,也逐步的商品化。軟件工程的正式提出是由北大西洋公約組織于1968年在一場學術會議上提出的,從軟件工程概念的提出到現在,它的發展已經成為了在計算機科學領域中的一門獨立學科,具有較強的工程型和綜合性。目前到未來的時間里,軟件重用與軟件構成技術、中間件技術以及軟件標準化技術都是軟件工程的重點研究對象,通過有效分析軟件工程的開發和應用可以準確預測軟件工程未來的發展趨勢。
一、軟件工程的開發技術
軟件工程是一門研究學科,使用工程化方式研究、維護構建實用有效、高質量的軟件。軟件工程有設計軟件開發、程序設計、設計模式、系統平臺和數據庫等幾個方面的內容,現在的政府、工業、航空、銀行都行業都在使用軟件程序,人機界面、電子郵件、編譯器、嵌入式系統和操作系統與數據庫等都應用了軟件工程。軟件工程的應用能夠有效的提高工作效率,提高人們的生活水平,促進經濟發展和社會進步。軟件工程師就是創建和應用工程軟件的人,根據行業的不同,軟件工程師可以劃分為系統架構師、程序員、系統分析師、測試員和軟件工程師。軟件工程是一門交叉學科,是解決軟件方面出現的各種問題的一個系統工程,是一種軟件維護、開發使用的系統化、規律化、可定量研究的方法。軟件工程的目標就是生產開發高質量、價格合理的產品,對工程軟件的評定可以根據高效率性、可靠性、易移植性、可維護性、多功能性和易使用性等六項指標來評定品質。
(一)軟件構件與軟件重用技術
軟件長期發展的重點就是軟件構建與軟件重用技術,軟件重用是軟件工程的一種方法與手段,它的核心和基礎就是構件,它的設計就是為了要讓軟件開發者減少或重復寫代碼的工作,有利于技術開發人員有更多的時間和精力投身于更高層次的系統構建中,把求解空間與促使空間保持在統一發展水平。軟件業需要用構件技術來完成軟件重用技術,需要用搭積木的方式完成軟件生產,還要用應用管理、構件庫管理、運行環境和集成開發環境等開發工具。
(二)使用中間件發展技術
中間件平臺是軟件構建和重用系統的開發與運行的應用的有效支撐,是實現構件技術的前提條件,為構件作用的發揮提供了平臺。只有當中間件被放在適當的位置上,軟件才能夠成為構件,因此中間件技術成為了軟件工程發展的重點。按照功能可以將中間件分為遠程過程調用、事物處理、訪問中間件、分布對象和通信等五大類,中間件構件對軟件構件和軟件重用技術的發展有重要意義。
(三)軟件標準化應用技術
軟件工程可以分為軟件標準和軟件過程標準,軟件標準化是重用技術和構件發展的必要條件,同時也是推動軟件產業發展的重要前提,軟件標準化的建立是軟件工程成熟的標志。
二、軟件工程開發的特點
(一)目標明確
軟件工程的開發與應用有著明確的目標,就是為了要滿足人們的多種需求。在工程實施之前或者產品投產前提供有關這項工程或者產品的各種需求的標準是軟件工程設計的主要任務,體現出了軟件工程“需求分析”的特點,并且需求分析的質量決定了軟件開發的成敗。在這個階段,技術開發的工作人員和用戶之間要不斷地交流與澄清概念,形成一個清晰、一致、完整的需求說明。
(二)完整性的特征
在客戶或者服務器系統的應用中,確保信息準確的重要環節就是數據和數據處理的完整性,所以嚴密的邏輯在軟件開發中極其重要。例如在某個事務處理中需要修改多個表,如果在其中一個環節出現錯誤,那么就必須要放棄整個處理操作,而不是其中一個過程,需要返回到工作開始的狀態,保證工作操作的完整性,保證數據和數據處理的完整性。
(三)規范性的特點
應用軟件的開發要求是很規范的,這樣會使應用軟件的開發工作很容易的能夠被其他人接手或者修改,因為開發出的軟件要按照有規則的對象組合,通常都比較符合標準,而且在群體開發軟件中,標準更加重要,起到了開發應用軟件的程序員之間進行溝通的作用。
(四)容易維護的特點
應用軟件具有對象的繼承性,對最初對象的修改能夠直接作用于繼承的對象,這樣有利于提高應用軟件的維護性,因為軟件的維護費用在整個軟件的開發預算費用中占的比重比較大,它的易維護性可以降低成本。同時由于相同語法與邏輯規定使多人合作開發的應用軟件的維護性得到了很好的保障,不會因個人特有的作風和思想而造成限制,而且也提高了相互彌補的發生性。
(五)創新性的特點
技術進步的靈魂就是創新,隨著工程技術與科學技術的創新,開發的產品也在不斷地創新。目前開發出的產品也在最大程度的滿足人們日益增長的需求。為了滿足客戶的需求和得到客戶的支持與信賴,相關工作人員還對用戶的各方面需求做了一個全面的、詳細的了解,根據不同的用戶需求提出合理、適用的設計方案,并不斷地與客戶交流,在交流過程中根據不同的需求將設計方案進行合理的改進,增加用戶的滿意度。
三、結語
隨著社會的進步,計算機已經普及,軟件工程的開發與應用在社會發展中有著重要的意義。在傳統的軟件開發中所遇到的問題也逐漸被解決,這使得軟件開發的空間有了更大的發展空間。在軟件開發與應用中,對工作人員有非常高的要求,對技術開發人員的個人技能有很大的依賴性,這就要求技術研究人員要不斷地提高自己的技術,開發出更多滿足人們需求的產品,提高社會的經濟效益和人們的生活質量。
參考文獻:
指導思想
針對國家戰略性新興產業新一代信息技術快速發展的狀況以及對網絡工程專業人才的需求情況,在教育部“卓越計劃”通用標準指導下,結合廣東石油化工學院以工為主、石化特色鮮明的“應用型”的人才培養定位,以人力資源和社會保障部《全國計算機技術與軟件專業技術資格(水平)考試—網絡工程師規范》為指導,引進華三通信技術有限公司H3C網絡學院先進的教育理念和優質課程資源,與企業深度合作,探索“1+X”和“3+1”的“實踐—理論—再實踐”的應用型人才培養新模式,構建具有創新性、科學性和可操作性的網絡工程專業應用型工程技術人才培養方案和相應的課程體系。該方案人才培養目標定位為:培養具有國際視野的側重于工程應用的創新型網絡工程技術人才[3-5]。通過學習系統的基礎理論和國際知名企業網絡工程師認證課程體系,學生能系統掌握計算機應用技術和網絡通信技術的基礎理論知識,具備網絡工程實踐能力和獲取新知識、新技術能力,成為具有網絡規劃構建、網絡安全設計和網絡應用軟件開發基本技能的高素質應用型技術人才,尤其是面向石化行業的網絡工程應用型技術人才。
培養方案改革內容
構建具有創新性、科學性、可操作性的網絡工程專業“卓越計劃”的應用型工程技術人才培養方案和相應的課程體系[3]。根據學院網絡工程專業卓越工程師培養的目標,結合執業工程師資格認證考試要求,學校與企業聯合制定培養計劃和課程體系,合理設置課程模塊,如圖1所示。各課程模塊設置和教學進度安排應遵循教育教學的規律,具有內在邏輯性和連續性。計算機應用技術基礎理論、網絡工程基礎理論、網絡應用軟件開發和嵌入式網絡等知識模塊學習不斷線。根據上述課程模塊,確定了網絡應用軟件開發和嵌入式系統設計兩個培養方向。其中,網絡應用軟件開發包含網絡規劃設計、網絡安全設計和網絡應用開發模塊;嵌入式系統設計包含網絡規劃構建、網絡安全設計和嵌入式網絡三個模塊。通過這些課程模塊的學習和專業方向的培養,學生具備了考取全國計算機技術與軟件專業技術資格(水平)考試(簡稱“軟考”)的網絡工程師和嵌入式系統工程師,以及H3C網絡工程師、SunJava認證證書等的能力。推廣“3+1”的工程教育模式。“3+1”教學過程不是孤立的3年校內和1年企業學習,而是逐步融合、相互交叉的,學校與企業進行多階段和多方面的合作,采取校企合作、項目教學和理論實踐一體的教學手段。培養方案將專業基礎課程由第5學期提前到第3學期,與參加考研和各種資格、技能證書考試相關的主要課程安排在第6學期全部完成。前3年,在學校采用“專業能力進階”工程教育模式,如圖2所示。橫向上,每個實踐環節與對應的理論課程相互支撐,有機結合;縱向上,則加強各實踐教學環節的聯系,全過程采用“項目教學法”,以一個校內工程項目貫穿整個實踐教學過程,項目由學校和企業共同協商制定。
嵌入“實踐—理論—再實踐”培養體系。在探索上述“3+1”工程教育模式的基礎上,嵌入“實踐—理論—再實踐”培養體系。學生在具備一定的基本數理知識、外語交流能力和工程素質的基礎上,在前3個學期還應陸續學習軟件技術基礎、高級語言程序設計、Web原理與應用開發基礎(HTML、CSS、JS、UI等)、.NET應用技術開發等課程,培養設計、開發小型網絡應用軟件系統的能力。通過這些應用編程軟件課程的學習,一方面,學生對本專業學習的內容有一定的感性認識,快速建立所學專業內容的概念模型,知道自己專業學習的主要方向,明確學習目標;另一方面,學生的專業學習興趣被激發起來,提高學生專業學習的信心。到了第3—6學期,學院開設數據結構、數據庫原理、操作系統原理、計算機組成原理、軟件工程等計算機應用技術理論基礎課程。學生在前3學期通過開發小型網絡應用軟件的實踐,對所學專業有了一定感性認識。在此基礎上,反過來學習該學科技術理論基礎課程,有助于學生對計算機科學理論基礎知識的學習、理解和總結。
在第5—7學期,學院開設面向對象原理與Java實踐、JavaWeb應用編程基礎和JavaWeb應用框架技術等以Java技術為主線的網絡應用軟件開發課程,設置相應的網絡規劃構建類、網絡安全設計類、網絡應用軟件開發類等實踐環節,使學生能夠熟練掌握.NET和J2EE的網絡應用軟件開發的技術和網絡應用程序設計的基本方法,具備進行網絡服務系統和網絡應用軟件開發的基本技能,并具備考取SunJava認證證書的能力。在掌握計算機科學與技術、電子信息等基礎理論課程和網絡規劃構建、網絡安全設計、網絡應用開發等專業基礎理論知識基礎上,根據之前開發的小型項目,我們按照從簡單到復雜、從單一到綜合的認識規律,整體設計各理論教學對應的實踐環節,使學生每學完一個理論知識模塊,按要求完成這個工程項目的相應模塊。這樣,學生在經過3年的理論學習和一個校內項目開發實訓,具備了利用工程語言初步分析問題、專業表達、項目團隊合作和開發一個完整工程項目的能力。在第4學年,學校教師和學生同步進入企業,參與到企業實際工程項目中來。教師參與企業實際項目更有利于將最新的技術和管理經驗帶到教學中,他們以實習指導教師的角色和企業相關人員共同培養學生,使學生能夠獲得解決實際網絡工程問題的系統化訓練,具備綜合利用專業知識和科學的實踐方法準確解決實際問題的能力。
建設措施
我們采取以下措施,確保網絡工程專業“卓越計劃”人才培養新模式能夠順利實施。探索校企互動的教師成長途徑。充分利用我校與中國石化集團茂名石油化工公司、茂名市群英網絡有限公司建立的“產學研”合作基地,積極推動校內專任教師到企業開展產學研合作,有計劃地安排教師到企業工作1~2年,積累實際工程經驗;同時聘請行業領域具有豐富工程實踐經驗的優秀專家到學校兼職授課,形成交流培訓、學術報告、兼職任教等形式多樣的教師成長機制,建設一支熟悉社會需求、教學經驗豐富、專兼職結合和具有工程背景的高水平教師隊伍。合理規劃為期1年的企業實踐教學。與茂名石化信息中心、茂名群英網絡有限公司、佛山紡織服裝研究所和廣州萬卡網絡科技有限公司等企業共同探討實訓階段培養,針對網絡工程專業培養目標相關要求,以相關行業實際項目為工程背景,精心構建案例庫,建立項目開發團隊,采用基于案例的教學方式,開展網絡工程規劃構建、網絡安全設計和網絡應用軟件開發的工程教育。優化網絡實驗平臺,最大化實現其功能。網絡實驗平臺的設計和搭建遵循系統性、先進性、實用性、開放性和發展性的原則。由于實驗設備有限,我們優化了網絡實驗平臺,使其最大化實現功能,既能夠支持所有實驗組完成路由交換、網絡高可用性、無線局域網、網絡安全技術和IP管理系統這五大類別的基本技能實驗,也能滿足專業技能、綜合技能等自主設計的綜合性實驗。建立仿真實驗平臺輔助教學模式。由于實際網絡設備有限,我們在PC機上安裝了路由器模擬軟件、交換機的模擬軟件、操作系統的模擬軟件、網絡協議的分析軟件、NS2、OPNET、CCNANetwork網絡模擬器等仿真軟件。學生可以方便地利用這些軟件進行各種類型的網絡架構設計,自定義網絡拓撲圖,配置網絡設備,熟悉設備命令,仿真實際網絡環境等,從而大大提高學生在實際網絡環境的實驗效率和實驗質量。#p#分頁標題#e#
結語
“3+1”的“實踐—理論—再實踐”的工程教育模式的實施,提高了學生分析問題和解決問題的能力。今后我們將采取和學生座談、跟蹤課程實施情況、調查項目構建和實施情況、走訪企業等辦法,進一步掌握該培養方案的實施情況,并根據實際情況不斷完善該培養方案。(本文作者:陳曉龍 李啟銳 彭志平 單位:廣東石油化工學院計算機科學與技術系)
關鍵詞:UCD;用戶中心;軟件開發;可用性測試
中圖分類號:TP31 文獻標識碼:A
隨著軟件開發技術不斷發展,軟件開發也經歷了程序設計、程序系統和軟件工程階段,工程師們發現只是針對于技術突破埋頭苦干,并不能解決軟件行業危機,軟件的維護成本越來越高,成功率卻降低,軟件質量也達不到要求,于是,軟件開發的方法以及過程管理成為了軟件開發的中心。
UCD(User-Centered Design),是以用戶為中心的軟件設計方法,是當前IT行業很流行的一種軟件設計理念,也在歐美等國家軟件發達取得了成熟的發展。與之前以技術為中心的軟件設計不同,使用這種方法設計出來的軟件產品成功率和質量要遠遠高于傳統方法,無疑也比傳統軟件開發方式更具競爭力,從下表可以看出兩種方法的區別:
表1
使用UCD方法開發軟件有四個主要階段,計劃階段,概念階段,詳細設計開發階段和生存周期管理階段。
1 計劃階段
這個階段類似于傳統方法的需求階段,不同的是UCD方法要求開發者與目標用戶一起工作,以用戶的觀點看問題,理解用戶工作過程。
所以如何選擇用戶群是一個難題,首先可以在公司范圍內選取幾個目標用戶,還可以通過電話、網站等有償招收一部分用戶群,包括潛在用戶、可能會成為用戶的人群,讓這些用戶有機會參與到軟件開發的會議或者是實驗室工作中,這種方法可以很好地提升軟件的可用性,從而大大增加軟件的成功率和受歡迎程度。例如微軟公司就在西雅圖有上萬人的用戶數據庫,可以幫助他們昨產品研究。
當然,為了保護公司技術可以讓用戶簽訂保密協議一類的文書。
2 概念階段
概念設計階段的頂點是客戶看見、聽見、和觸及的所有事物的高級(high-level)設計。在概念階段要整理要計劃階段完成的需求分析,通過各種調查研究手段,形成一個軟件模型,這個階段要注意的是從一個比較高的抽象度開始概念設計,不要過快地轉移到細節上。如果可能的話同時開發多個原型,從而選出最優的模型。
為了降低成本,可以使用多種紙面草圖、模型和原型來支持創意過程,獲取需求,將想法和解決方案可視化,在開發項目的早期,應該觀察和分析用戶對于紙面草圖和實物模型的反應,然后在項目的后期,用戶應該使用模擬系統或者原型來完成真實的任務,并且應該觀察、記錄和分析他們的行為和反應。
3 詳細設計和開發階段
通過第二階段的分析設計,進入詳細實施的開發階段,這個階段要注重設計過程要有用戶參與,從而可以進行反復的修改進化。
在此,UCD方法提出一個很好的軟件測試方法,就是使用可用性實驗室。簡單的可用性實驗室只需要配置一塊單面鏡,幾臺多角度的攝像機和一臺電腦,然后讓用戶在里面進行軟件功能的操作,工程師通過單面鏡觀察用戶使用的過程,并用攝錄機把用戶的使用過程錄制下來,隨后進行分析,查看用戶在沒有幫助的情況下完成任務的比例,完成任務所用的時間以及用戶尋求幫助的次數,這些指標對于描述可用性水平很有幫助,如圖。
為了個更好的對軟件產品進行評價,UCD提出一種啟發式評價方法,啟發式評價是檢查用戶界面設計的另一種方法,以確定可用性問題的本質,啟發式評價提供了確定潛在可用性問題的基本方法,啟發式評價的內容是:
表2中的內容都是用戶在使用軟件過程中非常重要的評價指標,如果能夠按照這個方式去評價軟件,將軟件的優點好好保留,缺點很好地解決,那么用戶怎么能不愛上它呢?
4 生存周期管理階段
UCD方法也是一個具有完全周期的過程,生存周期管理階段收集的數據非常重要,是改善產品的后續版本、開發新產品的相關依據,在這里要重視三個方面:
4.1 客戶滿意度調查
客戶滿意度調查描述了客戶對于所接受的服務級別、得到的產品滿足商業需求能力的滿意程度。可以說使客戶滿意的產品才具有市場競爭力。
4.2 按照項目設計的核心任務,將最終產品和競爭產品進行比較
核心任務就是軟件的主要功能,想要科學的得出產品使用結果,需要完成對核心任務的定量測量,調查用戶任務執行時間,在使用過程中需求助幫助的次數,錯誤次數等。
4.3 項目完工后需要進行后期評價
總結項目成功與失敗的原因,以便在將來的項目中得到改進,開發小組的關鍵成員參加總結,項目總結最好不要讓項目領導主持參加。
所有的軟件都是工具,軟件開發人員是工具制造者,并不是藝術家,設計中要考慮的并不是自己所看所想,一定要從用戶的角度出發,當工程師的關注點從內部視角轉向注重客戶和最終用戶的外部視角時,可用性、實用性和能力自然就成為保證軟件質量的關鍵因素。
關鍵詞 實訓課程 過程管理 企業過程管理文檔
中圖分類號:G420 文獻標識碼:A
0 引言
實訓是職業技能實際訓練的簡稱,是指在學校控制狀態下,按照人才培養規律與目標,對學生進行職業技術應用能力訓練的教學過程。基于案例的Web開發實訓是軟件技術(Java)專業的一門核心課程,旨在培養學生使用主流框架技術開發Java Web應用的能力。通過與企業工程師交流,借鑒主流軟件開發企業的過程管理文檔,課程中引入了項目過程管理方法,在課堂環境中模擬軟件企業真實管理情景,注重軟件開發過程管理。
1 過程管理的必要性
實訓是對實際軟件開發工作的一種模擬,早先我們主要是針對工作任務的模擬,要求學生在一定的時間范圍內完成相應的任務,而對于過程管理不夠重視。通常班級學生有40到50名,對每位同學的過程管理需要花費很多的精力,因此過程管理難度比較大,教師重點關注驗收考核環節。為了有效地實行過程控制,需要找到一種簡單的方法,便于教師對實訓進行控制。過程管理要求實訓過程可度量、可控制,可度量指可以對學生在實訓中完成的中間結果進行評測和度量,可控制是指發現進度異常并做出調整。引入過程管理使學生在實訓中了解企業的管理模式,在邁上工作崗位時可以適應企業要求。
2 過程管理實施
2.1 項目任務書
項目任務書詳細描述項目的具體需求,項目開發過程中的特定要求,項目完成時間節點。Java Web應用開發任務書包括實訓概況,實訓功能,實訓流程圖和實訓原型以及開發成員配置建議。實訓概括是對實訓目的、環境要求進行簡單描述,功能是指實訓中完成的系統功能,實訓流程圖展示了完成實訓的步驟,實訓原型使用原型工具開發出系統操作界面,便于軟件開發人員與系統分析人員之間交流,開發成員配置是對該項目開發過程中人員配置的建議。
2.2 項目計劃表
制定計劃是整個項目管理過程中最重要的一個環節。計劃表是項目開發前對項目開發進度的預估和安排,包括任務名稱、工期、開始時間、完成時間和資源名稱等。在Java Web應用開發中具體包括項目啟動、任務書、開發團隊成立、開發環境確認和熟悉、項目計劃、程序設計、系統測試、項目審核等過程,期中程序設計又可以細分為數據庫設計與開發、系統架構設計、系統模塊設計與開發、測試用例設計等。項目計劃表的制定需要依據項目任務書的具體需求、項目完成人開發能力、開發時間限制等要素來完成。項目計劃的制定具有一定的限制性,計劃由開發小組完成初稿交教師(項目經理)審核,審核未通過要求該小組內部討論修訂,審核通過后由教師(項目經理)下發該文檔,在實訓中對項目的檢查就是以項目計劃表作為依據。
2.3 日報表
日報表是軟件研發工程師(學生)每天工作情況的總結。軟件研發工程師(學生)對比項目計劃表規定的每日工作內容,找出差距并給出整改方案,日報中還包含次日工作安排。日報表是整個過程控制中的較為重要的一個環節。教師(項目經理)通過審查研發工程師(學生)的日報表及時發現問題并做出相應處理,實現過程控制。當日報表中反映出來某位學生不能及時完成任務,則需要與之溝通,了解原因,給予必要的指導。
2.4 審核問題一覽表
在項目開發過程中遇到問題是不可避免的,關鍵是需要及時發現、記錄和解決。問題的解決過程就是學習的過程。問題記錄項目包括項目名稱,項目編號,審核類型,項目實施階段,審查對象,問題發現時間,不一致性問題描述,不一致問題嚴重程度,不一致問題優先級,解決期限,解決措施,當事人,驗證日期及結果,不一致問題出現次數,處理狀態等。
審核問題一覽表不僅對學生具有意義,便于在解決問題過程中學習,同時也是課程考核的依據。根據審核問題一覽表中的記錄,我們可以判斷學生對于軟件設計開發過程中的思考是否深入。將所有學生的審核問題一覽表總結起來就生成軟件開發注意事項,提示學生在開發過程中容易出現的問題。
2.5 測試實驗項目表
測試實驗項目表中包括項目模塊名稱、預測結果說明、執行結果描述、執行結果、試驗人、日期、BUG描述、對應人、對應日期、確認結果、確認日期等。其中“項目模塊名稱”簡單描述被測試模塊名稱,“預測結果說明”描述正常情況下的預期結果,“執行結果”描述該模塊測試的結果,“BUG描述”記錄測試過程中遇到的BUG,“對應人”表示解決該BUG的人,“對應日期”表示解決問題的時間。測試實驗項目表是對項目的測試進行詳細描述。
3 結束語
要實現過程可控,學生需要掌握管理文檔的使用方法,并按照要求切實執行,具體實施過程中注意以下兩點。一是加深對文檔的理解。對學生來說使用和編寫企業管理文檔具有一定的難度,在項目開發前,需要詳細講解各種管理文檔,用真實的案例做介紹。學生只有充分理解,才能在學習中靈活應用。二是及時審核。許多學生對管理文檔不重視,往往在實訓的最后兩天做總結性的編寫,用項目的實際進度表代替項目計劃表,對項目開發不做規劃,這種現象將導致過程管理失敗。因此教師在實訓中需要不間斷審核學生提交的文檔,從文檔中發現問題并及時反饋,保障實訓有序進行。
國家示范骨干高職院軟件技術及專業群建設優質核心課程《Java Web應用開發》課程建設項目資助,南京信息職業技術學院課程改革專項《基于框架的Web開發實訓》項目資助
參考文獻
[1] 嚴明良,劉穎.高職院校實訓教學體系構建的研究與實踐[J].實驗室研究與探索,2008(6).
3G人才最受歡迎?電信專業的學生如何為未來做好準備?我們特邀資深人力資源管理專家、高級工程師、電信行業的職業規劃咨詢師郭宏威女士為讀者做出解讀。
每年直接增加的就業機會在 100萬人以上
jiangj:郭老師:你好!我是 08屆畢業生,大專文憑,是學通信技術的,不知道通信這一行業將來前景如何?能否給一點實際的指導?
郭宏威:通信業是以技術為發展核心的產業,隨著“三網融合”不斷提速,3G網絡全面鋪開,移動商務和移動增值服務軟件開發人員的需求量約在 35~50萬人左右。業內專家估算,3G正式啟動之后,每年直接增加的就業機會在100萬人以上。
人才需求方向:嵌入、移動商務、增值業務。嵌入式軟件開發是未來幾年最熱門和最受歡迎的職業之一。具有 10年工作經驗的高級嵌入式軟件工程師年薪在 30萬元左右。即使是初級的嵌入式軟件開發人員,平均月薪也在 5000元左右,中高級的嵌入式軟件工程師月薪平均已超過萬元。相對而言,3G人才主要集中在研發領域,企業在這方面的人才儲備也較為充分。設備開發人員、運營人才和增值服務人才,都是招聘熱點。3G的興衰最終將由消費者的需求決定,所以營銷人員對產業的推動顯得非常重要。3G市場營銷人員目前非常短缺,未來將成為 3G行業人才需求的重點。人才市場對移動商務軟件供不應求,移動商務軟件開發工程師成了搶手貨。
從目前招聘的職位來看,技術類職位獨占鰲頭,體現出客戶至上和新技術時代的特點。據有關職位數據顯示,軟件工程師、高級軟件工程師、技術支持工程師等幾大職位成為今年 IT企業的重點招聘對象,其中軟件工程師需求量更是一直居高不下。軟件開發、游戲動漫、3G人才、實用技能型網絡人才都有大量需求。行業欣欣向榮的局面必然帶來前所未有的人才荒,軟件測試人才、尤其是軟件測試工程師需求與日俱增。所以高層次的網絡管理員、網絡架構工程師、網絡開發運營工程師、企業信息管理師等相關人才需求尤為迫切,成為職場上搶手的香餑餑。與巨大的需求相對應的是,網絡技術類人才的薪水也隨之水漲船高,薪情看好、“錢”景樂觀。據調查,初、中級移動商務軟件開發工程師的年薪目前為 6~15萬元,高級軟件工程師則高達 15~30萬元。
市場最緊缺的移動商務實施顧問和咨詢經理年薪更高。數據顯示,咨詢經理的年薪已經高達 40~60萬元。在實施了移動商務軟件的傳統行業中,負責系統咨詢和維護的員工,其薪酬也遠高于其他員工。
什么樣的 3G人才最受歡迎?
wangzaihua:請問擁有什么樣的技術或才能,才是優秀的電信人才?才能適應今天的市場變化?
郭宏威:“3G人才”就是指從事 3G通訊技術行業的工程師以及相關技術人員。目前的3G人才市場,最受歡迎的主要是三類人才:一類是嵌入式軟件工程師,一類是移動商務軟件開發工程師,還有一類是移動增殖業務開發工程師,移動通信軟件工程師因人才的稀缺而身價倍增。
具有兩種知識背景的 3G人才最受歡迎:一類是擁有海外留學背景或工作經驗的工程師;一類是具備綜合素質的技術人員――既懂互聯網又掌握電信技術,即嵌入式人才。在上述兩種人才中,最缺乏的是后者。就一般企業而言,3G工程師必須擁有通信、電子類專業本科以上學歷,熟練使用 C或 C++語言編程方法,熟悉移動通信原理及微波通信技術,具有4年以上數字電路設計或硬件開發工作經驗,具有CDMA、GSM或TD-SCDMA、WCDMA等手機軟 /硬件開發經驗等。如此高的門檻,是 3G人才稀缺的關鍵原因之一。所以,成為高素質、高技術、高能力的人才,才能適應市場發展的需要。
如何才能進入電信行業?
勇敢的心:怎樣才能進電信行業?比如,我是搞網絡維護的,電信業對網絡維護人員的要求是怎樣的?
郭宏威:網絡需求是千變萬化的,同樣一個網絡設計需求,對于不同層次的網絡工程師,其制定的解決方案也不盡相同,但是基本原理相近。隨著電信行業管理走向信息化,涉及到計算機的硬件和軟件,所以計算機網絡和電信網絡有相同、相通之處,你的技術和經驗還是可以兼容的。但是切入到電信行業,軟件還是切入軟件、硬件還是切入硬件、網絡還是切入網絡。
網絡管理員的工作可分為如下四個方面:人的管理、資源的管理、性能管理和安全管理。從知識結構的角度看,網絡工程師必須有比較全面的理論架構,需要在實踐中培養一種創新能力,還要有良好的英語水平,需要學習的知識和技能,如網絡基本知識和概念、網絡設備的配置和網絡操作系統等。網絡設備這部分應首先要掌握 CISCO的相關設備,而網絡操作系統應重點掌握Windows、UNIX和linux。當然有一份國家權威證書更好。
在電信行業就職兩年,
如何確定發展方向?
石臣:郭老師,您好!我現在就職于一家電信管理咨詢公司,有兩年的移動運營商戰略及市場策略咨詢經驗。我具備的自身優勢是:對電信行業有深入理解,擁有較強的分析問題、解決問題的能力和項目管理經驗,掌握定量、定性分析工具,有良好的溝通和表達能力。我現在想從電信咨詢業跳到電信實體企業里面工作,但是對進入哪種類型的電信企業,如設備制造商、運營商還是服務提供商比較茫然,而且對電信企業中與我適合的工作崗位也不是很了解。請您給我指點一下,我該如何選擇適合的電信企業和適合的工作崗位,非常感謝!
我剛才做了講壇里的職業測試,結果顯示為“藝術事務型”。另外,我自覺自己的優勢是思維記憶、善于分類、設計系統結構之類的。喜歡安靜獨立的工作環境,能夠發揮自己的獨創性。我的性格是比較富有藝術幻想氣質的。這些信息夠嗎?麻煩老師幫我分析一下吧,辛苦您了!
郭宏威:在電信行業中,制造商、運營商、供銷商、做技術的,是完全不同的幾個方向,對個人的素質、能力要求也有很大差別。你想去實體公司,就面臨著一個重新定位的問題,建議你通過專業部門職業定位和規劃來找到“人崗匹配”的職位。根據你的各項測評指標加學歷、經歷、能力、性格、愛好、特長等,結合市場、行業、職位信息,進行多項分析,然后由專家團隊會診,最后定位和制定發展規劃。職業定位非常重要,定位就是要落在“定”和“準”上,不能泛談,其中包括行業定位、方向定位、職位定位、薪酬定位等很多項。在中途換車時,千萬不能搭錯車。
另外,你在選擇方向上,一定要把自己在行業中的競爭法寶捂住,那就是知識沉淀和經驗積累,這個堅決不能丟。根據你有兩年運營商戰略和市場戰略的咨詢經驗以及已有的實際工作能力的情況,我認為你應該沿著自己的方向繼續發展,千萬不要把自己的職場優勢輕易拋掉。每丟掉一次優勢,就相當于把優勢存折抹掉一筆,丟得多了,不但沒有優勢,反而會發生能力赤字,優勢變成劣勢,根本談不上為自己的職業發展爭取到更好的機會。
職業是人生第一大事,需要慎重分析才能準確定位。一般是首先做全面職業測評,但測評只是手段,不是目的,就像到醫院做的各類檢查,是為醫生確診做依據。目的是找到“人崗匹配點”,也就是你的所有因素與企業的職位發生“諧振”的那個頻點或者一個窄帶,再根據這個“人崗匹配點”,去設定各個階段的發展平臺。一般僅有測評指標是不夠的,得到測評指標后,咨詢師要與你溝通幾次,這樣有利于了解情況,明確定位,咨詢師要根據各項測評指標加學歷、經歷、能力、性格、愛好、特長等,結合市場、行業、職位等信息,進行多項分析,邊分析、邊溝通,這樣職位定位點就會浮出水面。職業腳步簡單的人時間就短,職業腳步紊亂的人,需要多溝通,時間就長。然后專家團隊會診,才能在千千萬萬個職位中,最后精確定位在某一職位上,再設定發展規劃和做詳細的職位輔導,使你能得到這個職位或者薪水和職位的提升。
電信業適合大學生去嘗試嗎?
qingfeng:電信行業適合在校大學生去嘗試嗎?謝謝!
郭宏威:當然可以,只要你的專業與電信行業相關。但是要做好各類入職準備,除了前面說的準備――定位準備、知識準備、動手準備、能力準備、簡歷準備、面試準備以外,對于沒有多少工作經驗的大學生,知識的準備相當重要,如果你的定位是軟件,就要在語言上下功夫,C++、Java語言一定要過關,編程能力要強。如果定位是硬件,那么對各類基本電子電路要會分析,面對密密麻麻的電路圖,要學會化整為零,不但能對方框圖的信號流程說得清楚,還要能對電路圖上的元器件作用分析明白,最后還能積零為整,把整個系統工作原理說清楚。此外面試有兩點最重要:禮儀和自信。
電子信息專業大三學生,
如何為未來做準備?
林成威:老師,您好!我是電子信息工程專業的,今年大三了,我想知道畢業了可以去什么樣的公司從事什么工作,還有現在實習應該找什么樣的公司,電子信息這個專業畢業了都可以干什么啊?希望老師給予指導,謝謝!
郭宏威:電子信息是熱門專業,需求量很大,就業渠道很寬泛。適合這個專業的工作實在太多了,如電子、電信行業的電子工程師、硬件工程師、軟件工程師、單片機開發等直接與專業有關的工種,以及其他很多與專業相關的行業都可考慮。我認為你應當試著做好如下就業準備:
1. 定位準備:早日做好職業定位和規劃,有目標地去努力,起飛的航道要清晰,這樣會讓你飛得更快更遠。
2. 知識準備:在校期間,基本工扎實,電路基礎、模擬電路、數字電路這幾門專業基礎課一定要學好,這是整個電子、電信技術崗位的基本材料,有了這些磚瓦、木料,你想蓋什么房子都會得心應手。
3. 動手準備:通過實踐,提高自己的實操能力,不但會使用萬用表、示波器,還具有熟練使用信號放生儀、綜合測試儀、頻譜分析儀等實際操作能力,并能夠對測得的信號進行分析。
4. 能力準備:通過畢業設計階段的知識匯總、社會實踐,提高綜合能力。即綜合運用所學知識解決實際問題的能力,強化和提高綜合能力與創新能力,增強走向社會的自信心。
5. 簡歷準備:不僅要準備電子簡歷和紙制簡歷,還要在簡歷上補充實習階段的經驗積累,這樣你的簡歷除了學校,還有一至兩三個企業的名字,這可是濃墨重彩的一筆。
6. 面試準備:面試前如何全方位地準備?面試中遇到哪種面試官怎么處理,對問題、偏題、難題怎樣回答?面試后都要做哪些事情、怎么做?這些都要認真考慮。
(專家博客:blog.省略/Blog/guoce/ )
“職場講壇”2008年7月份活動預告
時間:2008年 7月 15日 主題:[129期 ] 一個招聘者的人才篩選觀 在線專家:邵天天,中華英才網總部產品經理。畢業于英國威斯敏斯特大學人力資源管理專業,碩士學位, 10年人力資源管理相關工作經驗。