135 2295 6919
135 2295 6919
公司主站W(wǎng)ebsite:
www.controlmeasurement.com
電子郵箱:
qykh2009@163.com
公司地址:
北京市朝陽區(qū)亞運村天創(chuàng)世緣B2座30整層
Software 軟件百科
類別:軟件開發(fā)訪問量:2409編輯:admin 日期:2024-11-01 20:58:00
來源: 北京軟件開發(fā)公司
軟件工程的發(fā)展不可能孤立存在,首先需要分析計算模型和軟件開發(fā)本身的變化和趨勢,由此才能推斷出軟件工程的發(fā)展趨勢。 計算能力變化趨勢:
(一)大量中間件技術被采用:由于計算能力向服務器端的快速集中,提供高并行計算能力和可用性的中間件技術被廣泛采用,甚至已經成為構建大型軟件系統(tǒng)的必選項;
主要針對這個特點我們歸納出培養(yǎng)軟件工程人才的第一個重點要求:
1人才定位:定位于中小企業(yè)利用開源框架進行二次開發(fā),流程改造的人才。條件合適的情況下,發(fā)展成為工具軟件和系統(tǒng)軟件的開發(fā)人才。
從軟件工程發(fā)展趨勢看出,開源,共享,雙贏甚至多贏是軟件工程發(fā)展的大趨勢。壟斷的軟件企業(yè),不可能集成眾多的軟件精英的智慧,由于NDA協(xié)議的限制,使得這些企業(yè)的獨門絕學閉門造車,固步自封,最終導致企業(yè)發(fā)展停滯不前。所以,培養(yǎng)更多的利用開源框架,軟件包進行二次開發(fā),軟件外包服務的人才符合社會需要,也符合我校人才培養(yǎng)現(xiàn)實。
2.人才培養(yǎng)針對性措施,在我校此類人才的培養(yǎng)上:應
繼續(xù)強化JAVA和開源的MYSQL的課程強化力度,逐步弱化微軟平臺.net方向的課程。
強化軟件工程的思想,避免局限于編程語言的熟練而淡化了軟件工程全局觀和系統(tǒng)觀念。
嘗試設立關于編程規(guī)范和軟件系統(tǒng)設計類課程,特別是rational rose的使用和UML統(tǒng)一對象模型語言的設立。強化設計的理念,避免過度強調編碼,忽視設計。
將一些主流的開源框架比如STRUTS;SPRING;HIBERNATE等框架重點單獨開設課程。用于實際項目開發(fā)。
嘗試以教師帶領小組學生,以我校實際需求的軟件系統(tǒng)作為畢設課題,集體完成實用性的課題,比如,圖書館圖書電子化系統(tǒng),自動排課系統(tǒng)等等課題。張總:思路還不夠開闊----社區(qū)產品上網(wǎng)工程,免費為企業(yè)開發(fā)管理軟件,業(yè)務管理軟件,行政管理軟件。不給他們開發(fā)大型的,層次眾多的軟件。但是如果開發(fā)比如銷售量統(tǒng)計軟件,學生餐卡充值軟件。家具企業(yè),食品企業(yè)。信息化管理程度還不夠,我們可以嘗試建立一個為中小企業(yè)開發(fā)相應的免費軟件的機制。既是為社區(qū)服務又是為教學服務。開闊一下思路。
(二)開源軟件成為發(fā)展趨勢:互聯(lián)網(wǎng)的普及,將原來分散開發(fā)人員聚合在一起,只要有一個合適的基礎和好的框架,他們就可以開發(fā)出產品級的工具軟件(以Eclipse,JBoss,MySQL,Subversion,GLASSFISH為例),從而開源成為了一種趨勢。開源軟件大量出現(xiàn),軟件外包將更加普及,主要特點如下:
1計算能力的增強,集成開發(fā)環(huán)境更加智能,獲取現(xiàn)成的類庫更加方便,應用軟件開發(fā)變得更加容易。
2加上軟件本身一次性投資的特點,很多的場合甚至用軟件替代硬件,是的軟件開發(fā)需求增加。
3.消費類電子與人們的生活更加息息相關,小的免費軟件,小型桌面游戲的出現(xiàn)。等各方面需要的軟件開發(fā)人員數(shù)量急劇增長(組織形態(tài)是大量的小規(guī)模開發(fā)團隊);在這一因素以及降低成本的壓力下,開發(fā)外包變得非常普及;
4.項目構建工具,資源依賴更加自動化,系統(tǒng)開發(fā)也不需要從0開始,而是利用業(yè)內的免費框架進行二次開發(fā)。
(三)為了使分布在互聯(lián)網(wǎng)上系統(tǒng)能夠互相協(xié)作,異構的分布的軟件系統(tǒng)將需要用統(tǒng)一的,標準的協(xié)議互相通信,形成邏輯上更大的系統(tǒng)。那么基于XML數(shù)據(jù)交換語言的SOA成為一個熱點;
主要針對第二,第三個趨勢,我們歸納出培養(yǎng)軟件工程人才的第二個要求。
1人才定位:定位于中小企業(yè)信息化建設和管理人才,用軟件技術解決企業(yè)某些關鍵需求。中小企業(yè)發(fā)展初期在信息化建設方面由于成本考慮或者是對信息化價值認識上的限制,一般不會選擇找專門的系統(tǒng)集成公司進行大規(guī)模的信息化建設。那么,利用現(xiàn)有的條件,結合企業(yè)自身的特點和需求,建設一個自動化程度能充分滿足企業(yè)業(yè)務需求,大大提高企業(yè)勞動生產率的信息化系統(tǒng)。
2.培養(yǎng)措施:在培養(yǎng)這方面人才上,應
A。要更加重視系統(tǒng)集成的網(wǎng)絡類課程,弱化綜合布線等專業(yè)化程度較高的課程。
B.更加重視網(wǎng)絡技能類課程,集成用的軟件安裝,配置,linux系統(tǒng)下環(huán)境的設置等。
C.WEB方面的應用,特別是SOA方面的課程,能夠把企業(yè)原有的各種孤立應用,整合起來。
(四)B/S結構的軟件系統(tǒng)主要在服務器端,系統(tǒng)非常容易升級,這使得軟件交付和升級的速度大大加快了(從以年月為單位,到以周天為單位);BS取代CS。
(五)需求工程,漸成熱點(我們進行學科建設時總強調的客戶需求,此處特指軟件開發(fā)中用戶需求):
1.專業(yè)化的角色,日益復雜的業(yè)務創(chuàng)新,全球分布的團隊以及互聯(lián)網(wǎng)級的交付速度,這些都對需求獲取的正確性和有效性提出了更高的要求;對需求工程的研究和實施會成為新的熱點,軟件上市周期的縮短意味著必須對客戶需求快速準確把握。所以,Use Case技術會被廣泛應用。Use case 本身是黑盒子,它用自然語言抽象了用戶和目標系統(tǒng)的交互,避免了混入分析、設計和實現(xiàn)細節(jié),以保證用例可以被不懂具體技術的業(yè)務及測試人員所真正理解。同時,需求分析員又可以方便地通過用例分析(use case analysis)(即用分析類來試圖在理想方式下實現(xiàn)用例),將需求體系精華成分析模型。從而軟件開發(fā)人員更進一步地完善基于用例的需求體系,而不必擔心分析模型會污染需求,從而實現(xiàn)需求與分析的分離及有效互動。(關注需求建立工具:如IBM Rational Requirements Composer,,Ravenflow等。)
這使得我們歸納出軟件工程人才的第三個重點:把自己的精力更多地放在研究企業(yè)的信息化需求。
定位于專業(yè)的軟件用戶需求工程人才。
軟件的用戶需求之所以引發(fā)了需求工程的發(fā)展,是因為用戶需求其實是需要軟件系統(tǒng)供應商做出的,軟件系統(tǒng)消費者只能按照想象或者是用戶對其他系統(tǒng)的使用經歷來進行零散的描述表達,真正用user case嚴謹表達一般而言軟件系統(tǒng)消費者不可能做出。這就對軟件系統(tǒng)供應商提出了很高的要求,一方面供應商做出的用戶需求要充分精確地滿足軟件系統(tǒng)消費方的現(xiàn)實需求。另一方面還有一個引導消費的問題,供應商需要根據(jù)對本行業(yè),本領域的充分了解,以及對行業(yè)軟件的現(xiàn)狀充分把握。同時,還需要考慮到設計和實施的難度。
2.在這類人才培養(yǎng)上應采取的措施
A針對性地設置關于獲取用戶需求技能的課程。
B設置用例圖繪制的專門課程。
C設置UI制作課程,用UI表達用例。
(六)迭代/敏捷,漸成標準:隨著軟件交付周期的日益加快,迭代化開發(fā)已經成為大多數(shù)軟件開發(fā)團隊的必選項。但是迭代對整個團隊的需求、架構、協(xié)同及測試能力都提出了更高的要求,現(xiàn)在許多開發(fā)團隊都在試圖導入迭代化開發(fā)的過程中,敏捷可是被看成迭代化開發(fā)的一種導入方式,這不過敏捷的范圍其實比迭代化開發(fā)更大一些。迭代本身就是敏捷開發(fā)的一種方式,迭代開發(fā)其實是充分利用了可以利用的前期的模塊,每一次產品升級不是對前一代產品的全盤否定,而是將部分不合適的模塊取代,將效率能夠滿足要求的模塊留下來。
簡單的說,敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法。在敏捷開發(fā)中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。
(七)持續(xù)集成,蓄勢待發(fā):集成軟件的過程不是新問題,如果項目開發(fā)的規(guī)模比較小,比如一個人的項目,如果它對外部系統(tǒng)的依賴很小,那么軟件集成不是問題,但是隨著軟件項目復雜度的增加(即使增加一個人),就會對集成和確保軟件組件能夠在一起工作提出了更多的要求-要早集成,常集成。早集成,頻繁的集成幫助項目在早期發(fā)現(xiàn)項目風險和質量問題,如果到后期才發(fā)現(xiàn)這些問題,解決問題代價很大,很有可能導致項目延期或者項目失敗。 先開發(fā)后集成有問題,而常集成,早集成才可以。
大師Martin Fowler對持續(xù)集成是這樣定義的:持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經常集成它們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的開發(fā)內聚的軟件。持續(xù)集成是保證迭代化開發(fā)質量的主要方式,通過持續(xù)集成可以利用自動化的方式來盡量自動地、盡早保證代碼質量。隨著迭代和敏捷的流行,持續(xù)集成相關的工具成為現(xiàn)在市場上的新熱點(如持續(xù)集成框架IBM Rational BuildForge, 開源軟件CruiseControl,代碼靜態(tài)分析工具Klocwork Insight,IBM Rational Software Analyzer等)。
持續(xù)集成是一個復雜的系統(tǒng)工程,組織需要首先將現(xiàn)有的配置管理/變更管理工具與Build環(huán)境緊密集成并完成自動化Build過程,在根據(jù)企業(yè)/項目/產品的現(xiàn)狀,定義如何自動化地檢測軟件質量(代碼靜態(tài)分析、單元測試或冒煙測試),并定義需要自動化生成的管理報表。
結論:根據(jù)以上的軟件工程發(fā)展趨勢,結合我校教育教學改革的大思路,提出對軟件工程人才培養(yǎng)的三個基本要求:
滿足企業(yè)信息化建設中的企業(yè)關鍵需求。
具備開源軟件,開源框架的發(fā)現(xiàn)和使用能力,在比較大的層次上進行二次開發(fā)的能力。
熟悉企業(yè)的行業(yè)需求和企業(yè)自身的業(yè)務需求,并能清楚描述。
北京網(wǎng)站建設,北京軟件開發(fā)公司, ERP系統(tǒng)有哪些 QQ號:2725110947 聯(lián)系電話:010-51246210 ; 15699913471