軟件開發工程師范文

時間:2023-03-13 17:53:11

導語:如何才能寫好一篇軟件開發工程師,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

軟件開發工程師

篇1

隨著web 2.0時代的到來,網站的個性化則意味著精而專,網站之間的分工更明確,而且網站的個性化不是原來的網頁個性化,而是服務個性化。這就要求互聯網軟件開發工程師擁有精專的技術,為網站提供更好的個性化應用服務。

崗位描述:

1、負責公司網站開發和維護;

2、負責對網站進行實施,測試;

3、負責現有網站的維護和升級;

4、負責解決開發過程中的技術問題;

5、負責網站開發文檔編寫工作。

任職資格:

1、計算機及相關專業畢業,大學本科以上學歷;

2、一年以上web開發經驗 ;精通html/xml、javascript、css、jsp、java語言及sql;

3、能獨立完成大型網站架構設計及實現;

4、熟悉web service、ajax等技術;

5、了解photoshop、 flash、dreamweaver等軟件的使用,了解sql或oracle等數據庫;

篇2

【關鍵詞】TDD;測試驅動開發;軟件工程

TDD全稱TestDrivenDevelopment,中文翻譯為測試驅動開發,上世紀九十年代中后期發起于敏捷開發(AgileDevelopment)思想中的極限編程(Extremeprogramming)理念。由KentBeck在2002年出版的《TestDrivenDevelopment:ByExample》和DavidAstels在2003年出版的《Test-DrivenDevelopment:APracticalGuide:APracticalGuide》共同奠定了TDD的理論基礎和實踐模型。從正式提出至今,TDD模式一直存在著兩種不同的應用觀點。一種觀點認為TDD模式是一種軟件工程規范而不是簡單的技術驗證,換而言之,TDD的基本思路就是通過測試來推動整個開發的進行,并不只是單純的測試工作。另一種觀點認為TDD是一種編程技術,目標是編寫干凈的代碼,極限編程三位創始人之一的RonJeffries(另兩位是KentBeck和WardCunningham)是這種觀點的主要支持者。這兩種觀點并沒有絕對的對與錯,在生產、教學實踐中體現出了它們在不同條件、環境下各自的價值。2004年DavidAstels的《TestDrivenDevelopment:ByExample》被翻譯成中文,TDD模式開始在我國傳播,并在2006年-2010年受到了計算機學界和信息產業界的普遍關注和廣泛討論。在這場實踐檢驗理論的討論中,學界和大企業普遍對TDD模式持認可態度,而中小企業普遍表示這種模式并不切實際。2011年,朱少民撰文《敏捷測試的思考和新發展》提出,TDD實踐還存在較大困難,有比較多的爭議,TDD模式進一步向ATDD、BDD等模式適應性轉型,并提出測試開發模式應向本源回歸,不拘泥于某種單一模式,應該持續質量反饋、持續改進方法、不斷解決問題。2014年,DavidHansson(RubyonRails與Instiki的創始人),在自己的個人網站發表文章《TDDisdead.Longlivetesting.》否定TTD模式在軟件工程領域的實踐意義,從而引發了大量的討論直至今天。下面關于TDD模式的優勢和問題,我們通過正反兩方面辯證的來分析思考,應該就能夠對TDD模式有一個更加理性和準確的認識。

1TDD的理論模型和優勢特性

1.1TDD的理論模型

TDD模式在理念上是以用戶需求為導向,通過各級各類測試確保所有的需求都能被照顧到,在代碼不斷增加和重構的過程中,檢查所有的功能是否正確。從開發流程上來說,首先根據需求編寫一個測試,此時因為沒有實現該功能,所以運行這個測試可預知其失敗。然后編寫最少量的代碼不斷迭代重復,直到測試通過為止。最后,根據簡單代碼的重復情況和代碼之間的合理結構,考慮是否需要重構代碼。簡而言之,TDD是戴兩頂帽子思考的開發方式:先戴上實現功能的帽子,在測試的輔助下,快速實現其功能;再戴上重構的帽子,在測試的保護下,通過去除冗余的代碼,提高代碼質量。測試驅動著整個開發過程:首先,驅動代碼的設計和功能的實現;其后,驅動代碼的再設計和重構。如圖1所示。

1.2TDD的優勢特性

1.2.1TDD在客觀上提升了代碼的質量技術人員編寫剛好滿足需求又能通過測試的代碼,將代碼量和代碼本身的出錯概率降至最低,客觀上保證了代碼的質量。1.2.2TDD在主觀上要求了需求和開發的一致測試是以業務需求為導向,促進了技術人員和業務客戶之間的交流,所有需求測試能夠通過,也即說明業務功能全部滿足。1.2.3TDD在構架上保證了簡潔高效的類、庫和API由測試導向的功能調整,使得所有類、庫和API都在圍繞快速實現功能來設計,并且實現后馬上測試,各項設計能夠馬上進行調整。1.2.4TDD在開發上促進了代碼優化重構通過各層級的測試,有助于從系統中清除大量累計產生的寄生代碼,整個開發流程在測試、通過、重構之間循環流轉,螺旋漸進式的修正保證了代碼不斷優化重構,并且避免了遞歸錯誤的出現。

2TDD的實踐問題和發展方向

2.1TDD的實踐問題

以上關于TDD相對于傳統軟件工程開發先寫功能再寫測試的模式,無疑是具有先進性的,但是事物的兩面性告訴我們,TDD模式IT行業的生產實踐中,特別是小微企業的實際開發工作中,很多程序員們抱怨——“自從用了TDD,工作量更大了”。TDD模式對于技術人員,有太多難以確定的問題,導致TDD模式難以使用、難以推廣,理論強、實踐弱的問題比較突出。2.1.1測試本身難以確定TDD是以需求為導向來確定測試,再以測試來規范功能開發。這里的問題就在于在開發工作中,業務需求是不確定的,開發最大的問題恰恰是很多時候客戶自己都不確定需要什么樣的功能,大部分情況是由技術人員做個初略樣品,再由客戶提出修改意見,如此反復迭代,甚至客戶自己會經常性自己前期的需求,造成業務需求無從確定,也導致測試本身的確定就是個問題。2.1.2測試范圍難以確定TDD既然是測試規范功能,那么測試范圍就非常重要,太大會導致不知道錯誤在哪,太小會導致測試變成了對應的功能模塊,改改就能用,那還要測試干什么。所以好的TDD要求技術人員具有完備的測試用例的能力,這項能力需要豐富的理論與長期的實踐,換而言之,能把TDD用好的人基本上是IT行業的高水平專家。那么這里出現了第一個模式悖論,如果使用門檻這么高、上手難度那么大,那么對于廣大中小技術團隊、技術人員,TDD的推廣意義在哪里。2.1.3測試目的難以確定從表面看TDD測試的目的顯然是為了實現功能開發,滿足業務需求,而在實際工作中,由于TDD強調以最少的代碼以滿足測試通過的思路,很容易致使測試通過成為測試的目的。當大量的修改撲面而至,測試通過成為驗證修改完成的主要指標,那么為了測試而測試,就會取代為了功能而測試。2.1.4測試方向難以確定在傳統的軟件開發瀑布流模式中,開發方向自上而下,一環扣一環,每一個環節都依賴于前面那個環節的正確性。那么TDD的方向只能依賴于不斷變化的需求,既然前置條件就是需求在不斷變化,那么誰也確定不了后期的方向會和前期的方向一致,換個角度說,就是誰也無法保證前面的測試會適用與后面的功能。

2.2TDD的發展方向

TDD模式在理論的美好和實踐的困難這對矛盾中不斷發展,為了增強其適用性和易用性,TDD逐步發展為ATDD與UTDD兩個分支模式。通不過不斷深化和細化測試模式,TDD已經不再是一種技術標準,更體現了其業務規范的一面,也不再是一種方法,而更多的是一種在軟件開發過程中的模式理念,構成了一套更符合實際需求、更容易實踐掌握的敏捷測試框架。如圖2所示。2.2.1ATDD(AcceptanceTestDrivenDevelopment)驗收驅動測試開發,首先業務分析師或者測試工程師根據客戶需求編寫驗收測試用例,然后開發人員通過驗收測試來理解需求和驗收條件,并編寫實現代碼直到驗收測試用例通過。由于驗收方法和類型也是多種多樣的,所以根據驗收方法和類型的不同,ATDD其實是包含以軟件的行為為驗收標準的BDD(BehaviorDrivenDevelopment)、以特定的實例數據為驗收標準的EDD(ExampleDrivenDevelopment),以特征模型為驗收標準的FDD(FeatureDrivenDevelopment)、以WebServiceAPI消費者提出API契約來驅動API提供者開發API的CDCD(ConsumerDrivenContractDevelopment)等各種的實踐方法。2.2.2UTDD(UnitTestDrivenDevelopment)單元驅動測試開發,首先將測試分為整體功能測試和功能模塊單元測試,編寫一個功能測試,“編寫代碼讓它通過”:編寫一個或多個單元測試,然后進入“單元測試/編寫代碼”循環,直到單元測試通過為止。然后回到功能測試,查看是否有進展,這一步還可以多編寫一些應用代碼,再編寫更多的單元測試,如此一直循環下去。

3結語

篇3

1.1代碼編寫

通過對軟件數據進行分類整理,在進行缺陷軟件的排除工作以后,根據軟件開發過程中的各種信息進行全新的代碼編寫。基于代碼編寫人員的編寫經驗,在一般情況,對結構功能與任務類似的模塊進行重新編寫,這些重新編寫的模塊應遵循特定的編寫規則,這樣才能保證代碼編寫的合理有效性。

1.2錯誤重現

代碼編寫完成以后開發者會將這些代碼進行版本的確認,然后將正確有效的代碼實際應用到適當版本的軟件中去。而對于存在缺陷的代碼,開發者需要針對代碼產生缺陷的原因進行分析,通過不但調整代碼內的輸入數據,直到代碼內的數據與程序報告中的描述接近為止。存在缺陷的代碼往往會以缺陷報告的形式對開發者予以說明,由于缺陷報告的模糊性,常常會誤導開發者,進而造成程序設計混亂。

1.3理解行為

軟件開發者在設計軟件的過程中需要明確自己設計軟件中每一個代碼的內容,同時還需要理解其他開發者編寫的代碼,這樣才能有效地完善軟件開發者的編寫技術。同時,軟件開發者在進行代碼編寫的過程中,需要對程序行為進行準確的理解,以此保證軟件內文檔和注釋的準確性。

1.4設計推究

開發者在準備對軟件進行完善設計的過程中,首先需要徹底了解軟件的總體設計,對軟件內部復雜的系統機構進行詳細研究與分析,充分把握軟件細節,這有這樣才能真正實現軟件設計的合理性與準確性。

2.軟件工程數據挖掘測試的有效措施

2.1進行軟件工程理念和方法上的創新

應通過實施需求分析,將數據挖據逐漸演變成形式化、規范化的需求工程,在軟件開發理念上,加強對數據挖掘的重視,對軟件工程的架構進行演化性設計與創新,利用新技術,在軟件開發的過程中添加敏捷變成與間件技術,由此,提高軟件編寫水平。

2.2利用人工智能

隨著我國科學技術的不斷發展與創新,機器學習已經逐漸被我國各個領域所廣泛應用,在進行軟件工程數據挖掘技術創新的過程中,可以將機器學習及數據挖掘技術實際應用于軟件工程中,以此為我國軟件研發提供更多的便捷。人工智能作為我國先進生產力的重要表現,在實際應用于軟件工程數據的挖掘工作時,應該利用機器較強的學習能力與運算能力,將數據統計及數據運算通過一些較為成熟的方法進行解決。在軟件工程數據挖掘的工作中,合理化的將人工智能實際應用于數據挖掘,以此為數據挖掘提供更多的開發測試技術。

2.3針對數據挖掘結果進行評價

通過分析我國傳統的軟件工程數據挖掘測試工作,在很多情況下,傳統的數據挖掘測試技術無法做到對發掘數據的全面評價與實際應用研究,這一問題致使相應的軟件數據在被發掘出來以后無法得到有效地利用,進而導致我國軟件開發工作受到嚴重的抑制影響。針對這一問題,數據開發者應該利用挖掘缺陷檢驗報告,針對缺陷檢驗的結果,制定相應的挖掘結構報告。同時,需要結合軟件用戶的體驗評價,對挖掘出的數據進行系統化的整理與分析,建立一整套嚴謹、客觀的服務體系,運用CodeCity軟件,讓用戶在的體驗過后可以對軟件進行評價??紤]到軟件的服務對象是人,因此,在軟件開發的過程中要將心理學與管理學應用于數據挖掘,建立數據挖掘系統和數據挖掘評價系統。

3.結束語

篇4

關鍵詞:軟件工程;數據挖掘;開發測試技術

作者簡介:文娟(1982-),女,湖南長沙;研究方向:計算機應用,大數據,云計算。

近年來,信息技術飛速發展的過程中,相關軟件技術也不斷增加,增加了軟件維護的難度?,F階段數據挖掘技術被有效應用于軟件工程中,在及時提取數據上具有重要意義。不同軟件在使用過程中會經歷多個階段,其中開發及測試階段尤為重要,如果能降低二者使用時間及成本,將有利于軟件工程效率的大幅度提升。本文首先對軟件數據挖掘進行了簡要介紹,并探討了數據挖掘特點,在此基礎上對面向軟件工程數據挖掘的開發測試技術展開了研究。

1軟件數據挖掘簡介

現階段,數據挖掘技術在應用過程中影響力越來越大,其在應用過程中能夠深入挖掘大量數據中的重要信息,這一功能對于軟件工程具有深刻影響,軟件開發時間的縮短,促使效率大幅度提升,對穩定性和實用性在軟件中的體現具有促進作用[1]。軟件工程數據指的是在產生于開發軟件過程中大量數據的積累,這些數據能夠對文本的分析及解釋起到重要作用[2]。這些數據是軟件開發工作者獲得信息的重要途徑?,F階段,指數性特點是增加軟件工程數據的主要特征,是在提升軟件開發技術、擴大其規?;A上形成的。在這種情況下,數據的挖掘能促使軟件工程在開發過程中更有規律地進行。

2軟件工程數據挖掘的技術特點

在開發軟件的過程中通常會產生大量的數據,這些數據統稱為軟件工程數據。這部分數據擁有重要的功能及作用。例如,能進行有效的文檔設計、對文檔可行性進行分析,生產軟件代碼、確定軟件版本等。由此可見,軟件工程數據的產生對軟件開發工作具有重要貢獻。作為一項信息工作,復雜而系統是數據挖掘最大的特點,重要的信息只能在大量的數據中篩選和應用?,F階段我國在積極進行計算機技術研究的過程中開展了軟件工程數據挖掘工作,充分代表了我國在信息技術中的創新性[3]。在軟件工程領域中有效應用軟件工程數據挖掘技術,能夠更地進行提取和分析挖掘技術,也能夠保證軟件開發及使用者在日常工作過程中享有更加完善的服務。

3面向軟件工程數據挖掘的開發測試技術

3.1代碼理解

開發軟件流程中,工作人員需要解決很多問題,其中包括:首先,維護項目代碼。然而原有文檔在項目當中已經超出使用期限,也有很多情況下該文檔已經消失;其次,修改項目缺陷。然而這一過程中,工作人員根本沒有項目代碼的詳細資料;再次,審查項目代碼。由于代碼眾多,工作人員的工作難度較大;最后,提取項目架構設計。這一過程中工作人員通常只能夠掌握其源代碼[4]。針對以上問題,分層聚類是工作人員面對源代碼的主要方式,可視化展示不同的模塊,這樣一來能夠更加準確地掌握項目架構在代碼中的體現。分層聚類法的有效應用,能夠促使源代碼的分析更加精確,而這一方法在使用過程中通常包含2個內容,即聚類分別建立在PageRank和調用入口基礎之上。

在分析軟件系統結構的時候,軟件聚類是重要的方法之一,該方法的有效應用能夠促使維護軟件工作更加順利。例如,復用軟件模塊,挖掘軟件體系結構等。在這一方法下,相關工作人員可以充分掌握總體結構在軟件系統中的體現,并能夠明確局部的詳細信息。一般來講,如果想靈活切換在該方式下得以體現,應提升相關設備的性能。例如,首先,劃分軟件聚類模塊的層次;其次,在詳細掌握用戶對軟件聚類使用狀況的基礎上促進調整的動態性。在軟件聚類內容中,一個重要的組成部分就是圖聚類,加強對其的研究便可以得出軟件聚類的層次化算法,該算法是建立在有效分析源代碼基礎上的,能夠促使聚類結果和層次的顯示以多粒度的方式進行。同樣,該算法在應用過程中也包含2個方面,同時能夠將新的途徑應用于命名輸出的聚類結果模塊當中,這種方式是建立在文本挖掘基礎上的,模塊命名具有一定的語義信息是文本信息的主要特點。

3.2代碼開發

目前,編程建立在開源框架基礎上的就是JAVA應用,這一過程中,XML配置文件是促使邏輯控制在配置中得以實現的前提,然而現階段單機版是JAVA應用的主要特點,復雜性是框架邏輯的主要特征,文檔化在開源框架當中較低。在這種情況下,工作人員在配置和使用框架的過程中存在較大的誤差。新時期在積極解決以上問題的過程中,相關專業人員提出了一個推薦方法,該方法建立在XML配置文件和XML配置片段基礎之上,前者根據應用代碼庫而建立,后者根據代碼關聯結構挖掘而建立。在軟件開發過程中積極應用這一手段,促使編輯配置文件的過程中大幅度提升效率和質量。而頻繁字數挖掘是以上方法的關鍵所在,在大量的實現分析數據下,會充分展現該方法的有效性,其在XML配置片段當中更是充當著不可替代的地位,由此可見,其在軟件開發過程中具有重要意義。

現階段,新系統的構建是軟件開發的重要環節,工作人員要想實現編程,必須對編程框架進行明確的利用,從而充分發揮其通用,同時還能夠清楚表達其程序機構。在框架編程的過程中,工作人員應當積極擴展相關編程,并且應構建XML配置文件。相當一部分優勢體現在框架編程當中,然而現階段在將其應用到實際環境中時,仍然體現出種種不足[5]。例如,很容易利用其邏輯缺陷,同時工作人員無法正確而有效地使用該框架。由此可見,有效應用配置代碼,充分發揮其實用性,能夠促使數據及途徑得以展現出來。

3.3回歸測試

在開發軟件應用以后,使用者在使用過程中經常會出現修改代碼的狀況,這一狀況產生于使用以前和使用過程中,產生這種狀況的主要原因是功能更新及代碼缺陷等現象的存在。如在更新代碼以后,需對其重新,在這之前,需要精確測試代碼,就是所謂的回歸測試。這一步驟實施的主要原因是對修改軟件進行驗證,從而充分發揮軟件使用過程中的功能[6]。在這種情況下,軟件在使用過程中,回歸測試的價值不容忽視,對軟件質量具有直接影響。新時期,我國在積極進行面向軟件工程數據挖掘的開發測試技術研究的過程中,應當首先注重創新軟件工程理念及措施。

加強分析實施需求,促使形式化、規范化等要求在數據挖掘中得以體現,在開發軟件的相關理念上,重視數據挖掘,將煙花性設計有效應用于軟件工程的架構當中,同時進行科學的創新,有效應用先進技術,促使軟件編寫能力得以提升;其次,加強對人工智能的應用。在我國科學和信息技術不斷進步的背景下,我國各個領域在研究過程中已經開始對機器學習進行充分的利用,因此在軟件工程數據挖掘的過程中,也應當對該技術進行充分的利用,為我國的軟件開發創造更多奇跡。人工智能是現階段我國科學技術創新中的代表,其擁有較強的學習和運算功能,能夠促使軟件工程數據挖掘工作更加精確、快捷,同時能夠運用較為成熟的方式對運算過程中遇到的問題進行處理;最后,有效評價數據挖掘結果[7]。我國傳統的數據挖掘測試技術在應用過程中無法對其結果進行充分的評價,也就導致重要的數據在經過深入挖掘以后無法得到有效應用。因此,新時期,我國工作人員應當對數據挖掘進行全面的缺陷檢驗,加強對結果的分析,在充分利用相關軟件的基礎上,得到用戶的真實評價,在實踐中不斷完善。

4結語

綜上所述,軟件工程數據挖掘指的是在軟件挖掘過程中產生的海量數據,被深入挖掘以后產生重要的、有價值的數據。這部分數據的有效應用能夠促使軟件開發更加便利和順暢,能夠促使開發出來的軟件更具使用價值,使用壽命也更長,在此技術基礎上進行的開發測試技術,能夠為提高軟件工程開發效率起到促進作用。因此,現階段積極加強面向軟件工程數據挖掘的開發測試技術的研究具有重要意義。

參考文獻

[1]陳媛.基于數據挖掘的軟件缺陷預測技術研究[D].長春:中國科學院研究生院長春光學精密機械與物理研究所,2012.

[2]朱沿旭.面向開源社區的Web數據抽取與挖掘關鍵技術研究[D].長沙:國防科學技術大學,2011.

[3]胡瑞飛.面向機械工程計算機測試系統的數據挖掘技術研究[D].成都:四川大學,2006.

[4]張律.面向數據挖掘的科研信息管理系統的研究與開發[D].成都:電子科技大學,2013.

[5]沃高全.基于實時可視化數據挖掘的高并發性能監測系統設計與實現[D].上海:復旦大學,2010.

[6]宮健.基于信息挖掘技術與J2EE架構的校園智能教務系統的研究與應用[D].西安:西北工業大學,2004.

篇5

1 知識共享有效性及其影響因素分析

1.1 軟件開發項目團隊知識共享有效性概念

管理大師彼得·德魯克提出[1]:“對于管理者來說,‘有效性’就是通過管理活動提高績效,使組織能夠由小變大,由弱變強;是管理者達到目標和績效的必要手段”。我國學界對有效性的界定,借鑒《如何建立有效質量體系》中的解釋,“是系統對外部環境所作的貢獻”,此處有效性被界定為一種系統的概念。國內學者也在有效性的界定上做了很多工作,呂學清認為[2]:“要增強學校過程管理的有效性,管理工作必須講效果、講效率。”李春旺則提出虛擬企業內的知識共享有效性,是共享資源投入和效果輸出的綜合反映,在此基礎上建立了知識共享效果和成本評價指標體系。”因此,軟件開發項目團隊知識共享有效性是一種持續有效性,它不僅強調著團隊產出的有效性,更需要成員在良好的團隊氛圍下積極的知識共享態度和意愿,以保障軟件開發項目團隊績效的有效提升。

1.2 軟件開發項目團隊知識共享有效性影響因素分析

隨著團隊管理實踐的逐漸深入,知識共享有效性的系統觀點逐漸被學者接受,知識共享的過程性和時滯性等過程因素也逐漸被納入知識共享有效性評價上[3]。在理解團隊知識共享過程的基礎上,應進一步從過程有效性的影響因素上對其進行把握。有學者認為,知識共享有效性是態度、環境及共享活動等的共同作用結果。我國學者沈凌(2009)則提出團隊知識共享的投入與輸出的系統評價指標,其中投入指標包括團隊輸入、團隊過程及團隊建設等,輸出指標包括各項靜態指標等[4]。鑒于上述分析,軟件開發項目團隊內知識共享的有效性評價,早不止限于對創新產出的定量測量,而同時應考慮知識共享較難測量的過程因素,如軟件開發項目團隊知識共享的過程中的成員異質性特征(如成員性別、個性、能力等),團隊創新環境建設,團隊整體激勵機制等。

1.2.1 個體知識共享的態度因素

作為知識共享的重要影響因素之一,軟件開發項目團隊成員的個性傾向決定著成員知識共享的態度與主觀準則。知識共享態度是共享活動的前提,直接決定知識共享意愿乃至行為的發生,包括成員的內外部報酬預期及對團隊目標的認可和重視。個體知識共享的態度因素,主要包括如下幾點:

(1) 外在報酬預期。知識共享是組織成員社會關系的集中體現,關注外在報酬的經濟交易理論認為,個體行為大都是理性的自利行為,只有收益大于成本共享行為才會發生。軟件開發項目團隊內成員最直接追求的是其在團隊中的經濟報酬。當成員認為知識共享能帶給他們外在收益時,他們會采取更積極的態度對待知識共享行為。

(2) 內在報酬預期。Scott & Walker曾提出,知識性員工的內在報酬是知識共享最主要的影響因素。軟件開發項目團隊以創新任務為導向,其人力資源管理實踐顯示,他們較一般成員更重視內在報酬的獲得(如公開發表成果、獎勵等)。因此,軟件開發團隊成員對內在報酬是否具有預期,是衡量其知識共享態度的重要指標。

(3) 團隊目標承諾。團隊目標承諾,是成員對團隊合作所要實現的目標預期,正向影響著團隊成員的知識共享行為。若對團隊的核心價值具有目標承諾,成員將更愿意共享各自的知識。

(4) 自我效能。Bandura認為,自我效能是個體對達成其完成某一特定工作的自我能力的判斷,用來解釋具有相同行為技能的主體或其自身在不同條件下采取相同行為時的表現差異。軟件開發項目團隊成員的自我效能即其對自身知識共享能力的判斷。它直接影響知識共享行為,或通過激發并維持知識共享意愿從而間接影響共享行為:自我效能高的成員更傾向于選擇有挑戰性和困難的共享行為,并更加努力堅持等。

1.2.2 知識共享能力指標

軟件開發團隊成員知識共享的能力包括溝通能力、理解能力和知識與技術的應用能力等。主要體現為成員愿意共享知識的前提下,傳授知識,學習、接受知識及創新的能力等。

(1) 溝通能力。溝通是組織內人際傳遞信息、傳播思想及感情的必要途徑,是人與人之間交往的橋梁,通過溝通組織成員能分享彼此的情感與知識,消除誤會并增進了解,從而達成共識或者共同協議。團隊成員具備溝通能力與否,決定著成員之間能否進行知識的有效共享。

(2) 知識傳授能力。知識共享是知識擁有者與接受者間的交互行為,開始于知識擁有者對知識的傳遞,知識擁有者不僅傳授共享所需的顯性知識,更多則是傳授隱性知識及所需的方法,幫助知識接受者更好理解和掌握隱性知識。知識擁有者的溝通表達和演示能力越強,隱性知識的交流和共享的效率就越高。

(3) 知識學習能力。軟件開發項目團隊對項目成果的追求,促使成員從團隊內外尋求并學習有效知識。知識接受者通過對團隊內符合需要的知識擁有者進行評價,會有選擇有目的地向知識擁有者學習,最終還包括將其所得到的隱性知識與現有的知識融合,開發出新知識的行為過程。接受者的知識學習能力越強,知識共享的效率自然就越高。

(4) 創新能力。軟件開發項 目團隊成員的知識創新能力是成員運用所學知識和輔助工具創造出新的知識、技能與創新軟件成果等的能力。創新能力的大小,往往從很大程度上反應了創新成果的多少,成員的創新能力越強,其創新智力成果就會越顯著。

1.2.3 團隊環境指標

團隊知識共享氛圍的優化,有利于提高知識共享活動的效率,營造團隊共享氛圍,可通過團隊內部創新支持文化建設,成員信任水平的強化及知識共享平臺建設等方式實現。

(1) 團隊文化建設。知識共享活動需要建立相應的文化進行規范,塑造有利于知識共享的企業文化能夠鼓勵員工積極參與知識共享。當團隊文化氛圍建設適應知識共享時,會對成員的行為產生激勵和強化作用,支持創新的團隊文化氛圍中,團隊成員會樂于與他人分享自身知識,從而促進知識共享活動的開展。

(2) 知識共享平臺建設。軟件開發團隊是以知識等創新為追求的組織形式,團隊內部知識共享平臺的建設完善包括為成員進行知識共享的暢通的信息及創新知識交流與溝通的網絡平臺建設。如果團隊的技術基礎薄弱,沒有有效的網絡系統和通信系統,共享的途徑少,共享平臺不完善,就會大大減少知識的需要方和所有方之間的接觸機會,不利于成員間的交流共享,對知識的有效共享形成障礙。

(3) 成員信任水平。團隊信任水平同樣決定著個體間的知識共享方式。軟件開發項目團隊內的信任,是個體基于對同伴會執行某項對自身重要的行為的期望,而對對方不加控制的接受的意愿。社會學視角下的信任水平自從被引入組織行為學的研究以來,就受到了廣泛的關注與應用,研究與管理實踐證明,個體間的信任可以促進個體間的合作行為,包括知識共享行為的發生。

2 軟件開發項目團隊知識共享有效性評價

指標體系構建

Bandura的社會學習理論認為成員的學習行為是成員自身的態度和外部環境因素的交互結果,在總結有關文獻的基礎上,本研究分別從軟件開發項目團隊成員的知識共享態度、能力及團隊氛圍因素等方面構建包含3個一級指標及10個二級指標的評價指標體系以評估軟件開發項目團隊成員知識共享的有效性。經過專家修正后,得到圖1所示指標體系。

3 軟件開發項目團隊知識共享有效性評價模型

確定軟件開發項目團隊知識共享有效性評價的目標層次結構,包括總目標層、中間準則層及指標層。為科學準確的明確這共享有效性指標,構造下述成對比較矩陣(見表1)。

首先,構造準則層要素的判斷矩陣,并計算權重:

通過兩兩比較得到的判斷矩陣可以表示如下:

將判斷矩陣每一列正規化,并得出其特征值ω(見表1),同時計算判斷矩陣的最大特征值λmax并利用一致性檢驗指標CI進行一致性檢驗,通過相對一致性檢驗的指標公式CR=[CIRI,]可以得到對應的一致性檢驗值,當一致性比率CR<0.1時,判斷矩陣有滿意的一致性,否則,應對矩陣進行調整,直至滿意(RI表示平均隨機一致性指標,表2列出了1~9階判斷矩陣相應的RI值)。

此時,λmax=4.045,CI=[λmax-nn-1]=0.014 5,CR=[0.002 40.9]=0.016<0.1。

上述所示的兩層指標間的兩兩比較矩陣,對表現出了較好的一致性,但還需對層次總排序進行一致性檢驗,如表6所示。

通過上述分析可知,成員自身共享知識的態度和軟件開發團隊的共享文化建設是決定著知識共享有效性的重要方面。其中成員共享態度中自我效能感認知占19.9%,成員的目標承諾占14.81%;團隊文化指標中的信任條件和鼓勵創新的文化氛圍均占18.37%。而對于成員的共享能力,盡管同樣是知識共享有效實現的重要指標,其重要性不及態度與團隊共享文化環境建設。分析原因主要在于在軟件開發項目團隊中,成員的知識水平及知識儲備豐富等特點確保了成員知識共享能力。

利用層次分析法對軟件開發項目團隊的知識共享有效性進行系統分析后得到知識共享有效性影響因素模型,且各指標對軟件開發項目團隊的知識共享有效性作用不一,團隊管理者可根據各指標的不同影響程度作出相應決策。

4 軟件開發項目團隊知識共享有效性提升建議

(1) 構建和諧團隊共享平臺。團隊成員在對團隊基本價值觀及其他成員產生人際信任時,會感到自身有義務提供高效而有效的隱性知識,因此可以通過合理利用硬件設施如會議室、休息室及戶外場所等舉辦團隊內部的經驗交流會、沙龍乃至拓展活動等,使成員在輕松的文化氛圍和環境中獲得更多的信任,從而更加愿意采取知識共享行為,使團隊成員之間和團隊成員對團隊整體產生足夠的信任,以發揮出更大的努力,提高團隊產出。

(2) 建立科學、多元的知識共享報酬制度。現代經濟活動中,理性行為下的個體對報酬的追求是其做出決定的最初原因。軟件開發項目團隊成員追求的最直接的目標是伴隨著軟件創新成果的形成而產生的直接經濟報酬,因此,團隊要建立科學而合理的團隊知識共享報酬機制。與此同時,要通過建立更加多元化的非物質共享報酬機制,如團隊內部專利申請獎勵、知識產權保護、團隊成員額外休假制度、團隊內或團隊外組織的職位晉升等。滿足團隊成員外在的與內在的經濟報酬的預期,提高軟件開發項目團隊的知識共享有效性。

總之,軟件開發項目團隊的知識共享是復雜而動態的系統工程,針對知識共享有效性的激勵機制同樣是一個循序漸進的過程。激勵過度會增加組織的成本且并不容易產生有效的員工效用,過小則無法激起員工的共享意愿,因此,針對軟件開發項目團隊成員的知識共享影響因素實施激勵并及時反饋是軟件開發項目團隊創造高效創新成果,獲取競爭優勢的重要保障。

參考文獻

[1] 楊雨山.德魯克的管理精髓[M].北京:中國鐵道出版社,2009.

[2] 呂學清.增強學校過程管理的有效性[J].青海教育,2005(z1):32?33.

[3] 李春旺.虛擬企業知識共享有效性與激勵研究[D].合肥:安徽農業大學,2007.

[4] 沈凌.基于本體的知識團隊有效性形成機理及評價研究[D].武漢:武漢理工大學,2009.

[5] 班杜拉,林穎.思想和行為的社會基礎:社會認知論[M].上海:華東師范大學出版社,2001.

[6] 劉瑜, 王建武.研發人員知識共享績效評價指標研究[J].中國釀造,2008(16):114?116.

[7] 波.網絡組織中知識共享效率評價指標體系的建設[J].情報雜志,2009(1):68?71.

[8] 安中濤,安世虎.個體知識共享績效評估參考模型[J].情報科學,2006(3):396?399.

. Information Systems Research, 1994, 5(4): 400?421.

[10] 單雪韓.知識共享的影響因素分析與實現對策研究[D].杭州:浙江大學,2010.

. Academy of Management Journal, 1994, 37(3): 580?607.

[12] 徐瑞平,陳瑩.企業知識共享效果綜合評估指標體系的建立[J].情報方法,2005(10):2?5.

篇6

本次大會以“提振經濟效能,創新智引轉型” 為主題,通過權威的政策解讀,案例分析、圓桌對話等環節深入探討了中小企業轉型升級、中小企業競爭力塑造,以及中小企業接軌國際等話題。大會指出,中小企業是國家推進“互聯網+”行動的主戰場,要加速中小企業與“互聯網+”的融合,助力行業中小企業打造競爭力,推動中小企業轉型升級。

北京軟達啟航科技發展有限公司(以下簡稱軟達啟航),也是一家專業軟件開發與測試解決方案提供商,從事軟件產品開發、軟件產品測試、軟件開發測試咨詢、軟件開發測試項目外包、軟件開發測試人才外包、軟件開發測試人才獵頭服務。軟件測試工具銷售和軟件測試中高級人才培訓等業務。在功能測試、性能測試、商業自動化測試、開源自動化測試、白盒測試和網絡信息安全測試等領域居于國內領先地位。

微軟公司開發Visual Studio 2005的過程歷時3年,投入100億美元,使用了400名項目經理、7000余名軟件開發工程師、7500余名軟件測試工程師。開發工程師與測試工程師的比例達到了1:1。軟件測試的重要性由此可見一斑。

軟件上市必先測試

隨著國內軟件產業和全球軟件外包的迅猛發展,軟件產品的質量控制與質量管理正逐漸成為企業生存的核心。為了保證軟件在出廠時的“健康狀態”,幾乎所有的 IT 企業在軟件產品前都需要大量的質量控制工作。美國質量保證研究所對軟件測試的研究結果表明:越早發現軟件中存在的問題,開發費用就越低;在編碼后修改軟件缺陷的成本是編碼前的10倍,在產品交付后修改軟件缺陷的成本是交付前的10倍;軟件質量越高,軟件后的維護費用越低。

作為軟件質量控制中的重要一環,軟件測試工程師應運而生。軟件測試工程師的工作就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例后,需要跟蹤故障,以確保開發的產品滿足需求。

人才擁有“雙高”地位

軟件測試工程師本身是一個在軟件產業化過程中突顯出的一個新型軟件技術職業,對剛剛開始進入產業化的我國軟件企業而言,更是一種必需的技術崗位。

然而,目前國內軟件測試市場中的人才情況卻令人尷尬,據信息產業部門調查數據表明,國內軟件測試工程師的行業需求超過 30 萬人,而實際從業人數不超過 5 萬人,其中具備 5 年以上從業經驗的軟件測試工程師不超過 1 萬人,可以說在軟件行業,內部的人才積累很少,而國內的大學教育在這方面基本上還處于空白狀態,即使目前在軟件測試工程師崗位上從業的技術人員,多數也是處于邊工作邊學習的摸索狀態,其專業能力的提升非常緩慢,亟需進行系統的培訓和學習。

軟件測試工程師的巨大缺口造就從業人員的可觀薪水。中國軟件行業協會游戲軟件分會副會長劉金華表示,在企業內部,軟件測試工程師基本處于“雙高”地位,即地位高、待遇高,目前有一年工作經驗的軟件測試人員的月薪一般都能夠達到 6000-8000 元,有的人月薪可高達 10000-15000 元。可以說他們的職業前景非常廣闊,從近期的企業人才需求和薪金水平來看,軟件測試工程師的年工資有逐年上升的明顯趨勢。

篇7

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結束語

篇8

案例教學是軟件測試教學中的常用手段,對學生理解測試方法有著很重要的作用,但是目前高校教學普遍存在著教學案例陳舊過時,大部分教學都沿用了傳統的教學案例。這些案例大都沒有介紹軟件測試的工程方法和實現過程,并且沒有進行難度的區分,很難達到好的教學效果。

本專業的教師經過多年的實踐,總結了大量的教學經驗,按照實際工作中典型的工程師團隊所需的各種技能知識為導向,按照復雜度漸增、螺旋遞進的原則設置卓越軟件工程師課程體系與內容,把傳統的以學科知識的系統性為導向的橫向課程體系改造為以個人職業角色發現和能力提升為導向的、適應團隊教育培養的新型縱向課程體系。軟件測試課程是軟件工程卓越工程師培養課程體系的重要組成部分,課程總體跟隨整體培養課程體系的大方向,并結合自身的特點進行建設。

1復雜度漸增式開設課程

在傳統的以面向開發為主的培養模式下,測試課程設置單一,知識針對性連貫性不強。為了解決這些問題,在專業課程開設過程中將軟件測試課程課程拆分,穿插到整個培養過程中,緊密聯系軟件工程其他階段的課程,并且使用案例貫穿所有階段,復雜度逐漸遞增,讓學生在學習過程中循序漸進,逐步建立學習的興趣和信心。在第5學期分成兩個階段分別開設《單元測試與軟件質量》和《軟件驗證與確認》。在第一階段旨在培養學生小規模程序測試的能力不涉及復雜系統,以提高個人開發測試的基本能力為目標,學生可以運用測試課程中學習的方法在開發過程中使用,針對性強。第二階段旨在培養學生對系統整體測試的能力,此時學生以完成基本開發能力的訓練,其他相關課程的培養中也進入了系統級別。在該階段以上一階段培養的能力為基礎,提高復雜度,跟軟件開發其他階段緊密結合。完成第5學期的測試基礎課程開設之后,在第6學期還開設了《web軟件測試》、《測試案例分析》、《數據庫測試》等專業選修課,給有興趣的學生提供更多的學習選擇。

2基礎與實踐并重,充分利用虛擬實踐平臺課程

的開設充分考慮到測試重實踐,并且與軟件開發其他階段聯系緊密等特點;同時也考慮到了此時學生正處于學習階段,直接參與實際項目對學生的學習并不能起到很好的作用,因此在課程學習階段充分利用了校內軟件實訓基地,創建網上“虛擬企業”,引入企業管理模式,在這種虛擬平臺下,針對基礎的知識點開設虛擬項目[3],模擬軟件測試的真實工程環境。學生在自己組合團隊中有各自的工程任務,針對性實用性很強,學生能夠在完成自己任務的同時感性的認識測試崗位工作,體會到軟件測試在整個軟件開發過程中的作用,將單項知識技能之間關聯在一起,系統的運用專業知識和技能。

3采用螺旋式的案例教學,案例與其他軟件開發階段貫穿

篇9

1、儀器儀表工程師

儀器儀表工程師是指在工業自動化儀表與控制系統、科學儀器、電子測量與電工測量儀器、醫療儀器、各類專業儀器、傳感器與儀器儀表元器件及功能材料等行業從事儀器儀表的設計、安裝、保養等工作的專業技術人員。

2、硬件工程師

硬件工程師Hardware Engineer職位 要求熟悉計算機市場行情;制定計算機組裝計劃;能夠選購組裝需要的硬件設備,并能合理配置、安裝計算機和外圍設備;安裝和配置計算機軟件系統;保養硬件和外圍設備;清晰描述出現的計算機軟硬件故障。

3、銷售工程師

銷售工程師,是指能夠獨立管理和策劃商品的區域銷售,營銷業務的高級銷售人才。其應具有極高的市場經驗和敏感的市場觀察力,分析力,要求能夠獨立管理商品的銷售業務。

4、電氣工程師

從事勘測、規劃、設計、電力工程建筑、安裝、調試、技術開發、實驗研究、發供電運行、檢修、修造、電網調度、用電管理、電力環保、電力自動化、技術管理等工作的電力專業工程技術人員

5、嵌入式軟件工程師

篇10

現代化社會的發展,軟件工程廣泛應用到嵌入式系統、人機界面、翻譯器、電子郵件及數據庫和各項操作系統中。在此基礎上,還受到了航空、工業、政府部門及銀行等各個行業的大力追捧,大大減少了各行業工作人員的工作總量,有效提高了他們的工作效率,并促使人民群眾的生活質量得到提高,帶動了社會經濟的發展。軟件工程的開發離不開軟件工程師,根據領域的不同又分成系統測試員、分析員、工程師及程序員等,統稱為軟件工程師。他們肩負著對費用合理、質量良好的軟件產品的開發,通常情況下,其主要以產品的可靠性、安全性、可維護性、實用性、功能性等指標來衡量軟件產品的整體質量。

2軟件工程開發技術

2.1軟件標準化應用技術

軟件標準化應用技術又分成軟件標準和軟件過程標準,其是軟件構件和軟件重用技術開發與發展的先決條件,可有效保障軟件工程產業的健康發展。軟件標準化應用技術直接關系到軟件工程各項指標能否達到相關標準,其也是衡量軟件工程成熟度的重要條件。國際標準化工程和系統工程委員會詳細指出了軟件工程的標準結構,加之美國國防部關于軟件標準相關內容的提出,并列成為當代軟件工程的兩大重要標準。

2.2軟件構件和軟件重用技術

軟件構件和軟件重用技術一直是軟件工程開發中的重要環節。軟件重用是開發和研究軟件的必要手段,構件作為一項基礎條件有著不可小覷的重要作用。其中,軟件重用技術可讓軟件工程師從大量寫代碼的工作中解脫出來,促使其更好的投入到更具適用性軟件系統的開發中,從而確??臻g和相關問題的一致性。軟件構件技術是實現重用技術的前提,兩者相輔相成,互相促進。這一過程中,各類開發工具是軟件開發和應用的依托,如集成開發環境、構件庫管理及運行環境等。

2.3中間件技術的采用

中間件平臺作為軟件系統開發和運行的支撐,是實現構件技術的前提。中間件適用于合適的平臺上,加速軟件的隔離和抽象,最終形成構件。因此,中間件技術在軟件行業中備受青睞,根據分布對象、通信、事務處理、調用遠程過程、訪問中間件這五大類進行劃分,具有劃時代的意義。

3軟件工程開發過程

3.1用戶需求分析

用戶需求分析即為在構建或改變軟件系統時,應根據新系統的定義、范圍及功能等內容進行用戶群體需求分析,并綜合分析數據準確把握系統定位,以開發出優質的系統軟件。該過程中,協調需求分析員和軟件工程師之間的關系是十分關鍵的,兩者強強合作后,應首先找準目標用戶群,并針對用戶的實際需求確定系統軟件的各項功能,最終制定出最佳系統開發方案。

3.2軟件系統分析

軟件系統分析主要是指歸納和整合需求調查中的各項數據和相關資料,并針對軟件內部實際管理和信息處理情況進行分析。軟件系統分析的主要目的是為了落實用戶的相關需求,并尋求出最具適用性的解決方法,其是軟件設計過程中不可或缺的組成部分。

3.3軟件測試

在整個軟件系統進入使用之前,軟件測試是最為重要的環節之一,在進行軟件測試時,不僅能對軟件的需求進行分析,還能對軟件的功能及性能進行驗證。軟件測試是指,根據運用軟件的測試方法和測試工具,按照測試流程及測試方案,對被測試軟件的功能與性能進行檢測。在對軟件進行測試的過程中,編程人員可以按照不同的軟件和不同的架構編寫出各種測試系統以及測試方案和工具,以控制將有可能出現的問題。在軟件開發的整個過程中,都要緊抓各個開發環節及時進行同步的測試內容,并且針對測試中發現的問題加以解決,同時完善相關的開發程序。在此之后進行重復測試,在反復測試中不斷完善各種問題,直到軟件最終成為完整產品。

4軟件工程開發的基本特征與應用情況

4.1明確性

軟件工程在進行軟件設計時就已經根據人們多種多樣的需求制定了明確的目標。軟件工程設計的任務是在工程實施或者產品投產之前,為這項工程或產品提供各種需求的標準,這一任務正是體現了軟件工程中“需求分析”的特點,并且需求分析的質量對軟件開發的成敗有著直接影響。在這個階段中,開發技術人員需要不斷的與用戶進行溝通和交流,完全明確軟件開發項目的概念,最終形成一個完整的、清晰的、明確的開發目標。

4.2完整性

在用戶或者服務器系統的應用中,保證信息準確無誤的重要條件是數據及數據處理的完整性。因此,在軟件開發的過程中,確保數據及數據處理完整性的邏輯要求是最為嚴密的。例如,有時在處理一個事物的過程中,會修改多個表格數據,如果在修改中發生了任何細小錯誤,都必須放棄整個處理過程,而不是其中的一個過程,然后返回最開始的階段,以確保操作的完整性,從而保證了數據及數據處理的完整性。

4.3規范性

應用軟件的開發工作在不同人員進行修改時需要能較為容易的接手,因此開發應用軟件必須保證規范性。由于軟件在開發的過程中需要按照一定的規則進行對象組合,所以能符合標準。但是如果是群體開發軟件,由于每個程序員的想法及工作習慣都不相同,因此不容易符合標準,而軟件開發的標準極為重要,必須保證其規范性,所以在軟件開發的過程中,程序員之間需要多溝通交流,確保軟件的順利開發。

4.4易維護性

由于在軟件開發的過程中,對象組合具有繼承性,在對祖先對象進行修改時,也會對其繼承對象造成直接影響,提高了軟件程序在一定程度上的維護性。并且,邏輯規定和語法規定相同,群體開發軟件不會因為個人特有的思想與工作習慣受到影響,從而使軟件開發的維護性得到了保證,也提高了相互之間互相彌補的可能性。

4.5創新性

科學技術需要發展,發展離不開創新。隨著工程技術的不斷創新,軟件開發出的產品在滿足人們高要求的同時不斷進步,為了獲得廣大用戶的信任與支持,系統分析員在進行系統分析時,應當全方位了解廣大用戶的需求,針對用戶的各種需求提出可行性方案,并且在不斷的與用戶交流中完善與改進方案,在如此反復中完成整個設計開發的過程。

5結束語