首頁 > 文章中心 > 軟件工程

          軟件工程范文精選

          前言:在撰寫軟件工程的過程中,我們可以學習和借鑒他人的優秀作品,小編整理了5篇優秀范文,希望能夠為您的寫作提供參考和借鑒。

          軟件測試與軟件工程

          軟件測試和軟件工程都是大家很熟悉的概念了,尤其對于那些從事軟件測試的人來說,軟件測試已經成了大腦中揮之不去的一部分,但往往是獨立于軟件工程之外的一部分,這就使得軟件測試經常事倍功半,本文就是有感于此而寫的。

          實際上,測試人員被測試搞得暈頭轉向,測試管理人員不知所措是常有的事情(相對來講,一些知名的大型跨國公司做的比較好)。這些主要和測試時間緊迫,測試質量與產品質量的標準很難度量有關——最可怕的不是對手厲害,而是未知的對手。要解決這些問題顯而易見要找到這些問題的根本原因,那就要從根本上說起,軟件測試是軟件工程的組成部分,脫離軟件工程框架的軟件測試是不可以想象的,軟件工程的工程思想和方法作用在軟件產品的每個階段,當然軟件測試也不能例外。換句話說,軟件工程的思想為軟件測試提供了基礎的思想和方法,任何的軟件測試不論在哪個階段都不應該脫離軟件工程的思想,孤立的去思考,設計,規劃,執行,并驗證。但實際上是,由于測試工作的繁忙(大多數是由缺少標準和規劃而無法控制所致),更多的時候,可能只是就問題論問題了,從而偏離了軟件測試的方向,使得測試質量不可控。

          拋開具體的軟件工程的具體模型,一般的產品周期流程可以如下劃分

          [圖片]

          大圈的產品周期模型是所有軟件產品都不可避免的遵循,也是比較成熟的,小圈的內容模型每個公司做法各異,簡單的和復雜的,隨意的和規范的,可以說是五花八門,但是對產品質量的貢獻卻很難測度,其做法也很難規制,結果也很難在標準上量化,所以這種小圈通常做的情況是,做了,大概這樣就行了。至于應該做到的尺度和已經做到的程度,以及瞻前顧后的思考與評價就很難了。而實際上恰恰就是這種小圈的質量一步步的決定了大圈的質量,產品的質量。這也是為什么作者要把小圈放在大圈中間的原因。隨著軟件產業的發展,相信小圈的質量也會越來越規范化和標準化。更重要的是,這個仁者見仁智者見智的地方,也是產品負責團隊水平的一個驗證。

          就軟件測試而言,顯然是既包含大圈也包含小圈。大圈的測試規程和方法有很多,這里不再說明。而小圈是軟件工程的每一個小的組成階段,也是一個小的周期或者循環,既然具體到了每一個階段,那么每個階段的任務,方法,判斷尺度等都是不同的,也就是要求測試人員,要對每個階段都有足夠的能力去完成。這也是評判一個測試人員水平的標準,具體到不同產品階段的標準。

          點擊閱讀全文

          軟件工程測試

          測試流程在不同的公司都會有微小的差異,而這些差異就有可能會決定測試流程是否是真正適用。在不同公司,不同的現狀情況引入適合的測試流程,就好像如同在《尋秦記》中提到的劍圣,他的三個徒弟劍法的風格類型完全不一樣同,這一點上,因材施教是非常重要的。其實在動筆撰寫本文的時候之前,我一直覺的感受到很大壓力很大,這其中最重要的原因莫過于怕誤人子弟了,。測試流程的制定不是一門科學,而有時看起來,它更像一門藝術,一個好的測試管理者其實在面對不同的公司,不同的研發階段,會采用不同的測試流程,。或是而同樣的測試流程,為了真正達到執行的效果,執行的方法也可能不一樣。

          實施測試流程一般都是有兩個原因,:一是軟件質量出現的了問題,雖然在某種程度上已經得到解決,但仍需要通過測試,把預防措施的方法找到并固化下來;還有另一個原因則種是軟件研發的規模壯大,要求做的在流程上更加清晰,可靠更好。我個人從我自己的角度出發最怕以下一某些情況是讓人非常頭疼的,:一種情況是,是今天剛看了一本書,被告知說這樣做是規范應該這樣制定的,而明天就要引入進來,完全不考慮公司的實際情況;另一種情況是“蘇聯模式”,二是那種即某某大公司的測試流程如此制定是這樣做的,我們也要采用相同的方法這樣。其實流程沒有最好的,只有適合自己的,規范的測試流程不一定會幫助研發成功,反而在某些情況下會弄不好羈絆到自己自己的工作。

          現在大多數測試人會犯一個共同的錯誤,往往——把流程設計的得很完美,但沒有可操作性很差,無法幫助對于軟件公司真正的目的——研發,并沒有起到應有的作用成功,久而久之測試的重要性就無從談起,測試團隊也漸漸在公司變成次要部門,成為打雜的得不到應有的重視。

          在流程的設計過程中,最重要的問題在于是目當前項目的特點是什么,產品經常出什么樣的哪些問題,需要做什么怎樣的調整,現有測試團隊能不能做這樣的能否做作出調整,研發團隊是不是會不會能接收接受?

          首先談談項目特點,按照項目特點,大致可以一般來說分成兩類,:

          一種是長期進行的項目,這種項目有基本的框架,有核心的技術,應用比較穩定,這種項目要注重測試用例的積累與復用,同時也適合做單元測試,自動化測試的積累;

          點擊閱讀全文

          軟件工程控制

          軟件開發過程問題多多,且并不因軟件開發工具的完善而有大的改善,軟件工程控制的重要性越來越被重視。軟件開發過程的問題常有如下幾種:(1)對軟件開發成本和進度的估計常常很不準確。實際成本比估計成本有可能高出一個數量級,實際進度比預期進度拖延幾個月甚至幾年的現象并不罕見。這種現象降低了軟件開發組織的信譽。而為了趕進度和節約成本所采取的一些權宜之計又往往損害了軟件產品的質量,從而不可避免地會引起用戶的不滿。(2)用戶對“已完成的”軟件系統不滿意的現象經常發生。軟件開發人員常常在對用戶要求只有模糊的了解,甚至對所要解決的問題還沒有確切認識的情況下,就倉促上陣匆忙著手編寫程序。軟件開發人員和用戶之間的信息交流往往很不充分,“閉門造車”必然導致最終的產品不符合用戶的實際需要。(3)軟件產品的質量往往靠不住。軟件可靠性和質量保證的確切的定量概念剛剛出現不久,軟件質量保證技術(審查、復審和測試)還沒有堅持不懈地應用到軟件開發的全過程中,這些都導致軟件產品發生質量問題。(4)軟件常常是不可維護的。很多程序中的錯誤是非常難改正垢,實際上不可能使這些程序適應新的硬件環境,也不能根據用戶的需要在原有程序中增加一些新的功能。“可重用的軟件”還是一個沒有完全做到的、正在努力追求的目標,人們仍然在重復開發類似的或基本類似的軟件。(5)軟件通常沒有適當的文檔資料。計算機軟件不僅僅是程序,還應該有一整套文檔資料。這些文檔資料應該是在軟件開發過程中產生出來的,而且應該是“最新式的”(即和程序代碼完全一致的)。軟件開發組織的管理人員可以使用這些文檔資料作為“里程碑”,來管理和評價軟件開發工程的進展狀況;軟件開發人員可以利用它們作為通信工具,在軟件開發過程中準確地交流信息;對于軟件維護人員而言,這些文檔資料更是至關重要必不可少的。缺乏必要的文檔資料或者文檔資料不合格,必然給軟件開發和維護帶來許多嚴重的困難和問題。(6)軟件成本在計算機系統總成本中所占的比例逐年上升。由于微電子學技術的進步和生產自動化程度不斷提高,硬件成本逐年下降,然而軟件開發需要大量人力,軟件成本隨著通貨膨脹以及軟件規模和數量的不斷擴大而持續上升。美國在1985年軟件成本大約已占計算機系統總成本的90%。(7)軟件開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。軟件產品“供不應求”的現象使人類不能充分利用現代計算機硬件提供的巨大潛力。軟件工程的七條基本原理:1、用分階段的生命周期計劃嚴格管理有人經統計發現,在不成功的軟件項目中有一半左右是由于計劃不周造成的,可見把建立完善的計劃作為第一條基本原理是吸取了前人的教訓而提出來的。在軟件開發與維護的漫長的生命周期中,需要完成許多性質各異的工作。這條基本原理意味著,應該把軟件生命周期劃分成若干個階段,并相應地制定出切實可行的計劃,然后嚴格按照計劃對軟件的開發與維護工作進行管理。Boehm認為,在軟件的整個生命周期中應該制定并嚴格執行六類計劃,它們是項目概要計劃,里程碑計劃,項目控制計劃,產品控制計劃,驗證計劃,運行維護計劃。不同層次的管理人員都必須嚴格按照計劃各盡其職地管理軟件開發與維護工作,絕不能受客戶或上級人員的影響而擅自背離預定計劃。2、堅持進行階段評審當時已經認識到,軟件的質量保證工作不能等到編碼階段結束之后再進行。這樣說至少有兩個理由:第一,大部分錯誤是在編碼之前造成的,例如,根據Boehm等人的統計,設計錯誤占軟件錯誤的63%,編碼僅占37%;第二,錯誤發現與改正得越晚,所需付出的代價也越高。因此,在每個階段都進行嚴格的評審,以便盡早發現在軟件開發過程中所犯的錯誤,是一條必須遵循的重要原則。3、實行嚴格的產品控制在軟件開發過程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價,但是,在軟件開發過程中改變需求又是難免的,由于外部環境的變化,相應地改變用戶需求是一種客觀需要,顯然不能硬性禁止客戶提出改變需求的要求,而只能依靠科學的產品控制技術來順應這種要求。也就是說,當改變需求時,為了保持軟件各個配置成分的一致性,必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審后的軟件配置成分(各個階段產生的文檔或程序代碼)。基準配置管理也稱為變動控制:一切有關修改軟件的建議,特別是涉及到對基準配置的修改建議,都必須按照嚴格的規程進行評審,獲得批準以后才能實施修改。絕對不能誰想修改軟件(包括尚在開發過程中的軟件),就隨意進行修改。4、采用現代程序設計技術從提出軟件工程的概念開始,人們一直把主要精力用于研究各種新的程序設計技術。60年代末提出的結構程序設計技術,已經成為絕大多數人公認的先進的程序設計技術。以后又進一步發展出各種結構分析(SA)與結構設計(SD)技術。實踐表明,采用先進的技術既可提高軟件開發的效率,又可提高軟件維護的效率。5、結果應能清楚地審查軟件產品不同于一般的物理產品,它是看不崢摸不著的邏輯產品。軟件開發人員(或開發小組)的工作進展情況可見性差,難以準確度量,從而使得軟件產品的開發過程比一般產品的開發過程更難于評價和管理。為了提高軟件開發過程的可見性,更好地進行管理,應該根據軟件開發項目的總目標及完成期限,規定開發組織的責任和產品標準,從而使得所得到的結果能夠清楚地審查。6、開發小組的人員應該少而精這條基本原理的含義是,軟件開發小組的組成人員的素質應該好,而人數則不宜過多。開發小組人員的素質和數量是影響軟件產品質量和開發效率的重要因素。素質高的人員的開發效率比素質低的人員的開發效率可能高幾倍至幾十倍,而且素質高的人員所開發的軟件中的錯誤明顯少于素質低的人員所開發的軟件中的錯誤。此外,隨著開發小組人員數目的增加,因為交流情況討論問題而造成的通信開銷也急劇增加。當開發小組人員數為N時,可能的通信路徑有N(N?/FONT>1)/2條,可見隨著人數N的增大,通信開銷將急劇增加。因此,組成少而精的開發小組是軟件工程的一條基本原理。7、承認不斷改進軟件工程實踐的必要性遵循上述六條基本原理,就能夠按照當代軟件工程基本原理實現軟件的工程化生產,但是,僅有上述六條原理并不能保證軟件開發與維護的過程能趕上時代前進的步伐,能跟上技術的不斷進步。l因此,Boehm提出應把承認不斷改進軟件工程實踐的必要性作為軟件工程的第七條基本原理。按照這條原理,不僅要積極主動地采納新的軟件技術,而且要注意不斷總結經驗,例如,收集進度和資源耗費數據,收集出錯類型和問題報告數據等等。這些數據不僅可以用來評價新的軟件技術的效果,而且可以用來指明必須著重開發的軟件工具和應該優先研究的技術。

          點擊閱讀全文

          軟件工程開題報告

          一、選題依據

          對于大中型企業來說,利用計算機支持企業高效率完成勞動人事管理的日常事務,是適應現代企業制度要求、推動企業勞動人事管理走向科學化、規范化的必要條件;而工資管理是一項瑣碎、復雜而又十分細致的工作,工資計算、發放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發放工資須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行工資發放工作,不僅能夠保證工資核算準確無誤、快速輸出,而且還可以利用計算機對有關工資的各種信息進行統計,服務于財務部門其他方面的核算和財務處理,同時計算機具有著手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高人事工資管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。

          所以人事工資管理系統應運而生,成為利用計算機實現企業人事工資管理的基本。

          二、國內外研究現狀

          隨著我國國民經濟建設的蓬勃發展和具有中國特色的社會主義市場經濟體制的迅速完善,各個行業都在積極使用現代化的手段,不斷改善服務質量,提高工作效率,這些都在很大程度上給企業提出越來越嚴峻的挑戰,對企業體系無論是在行政職能、企業管理水平以及優質服務上都提出更高的要求。建設一個科學高效的信息管理系統是解決這一問題的必由之路。企業內部財務管理是該企業運用現代化技術創造更多更高的經濟效益的主要因素之一。工資管理作為企業內部的一種財務管理也是如此,由于企業職工人數較多,每一位職工的具體實際情況也不盡相同,各項工資條款的發放,如果沒有一個完整的管理系統來進行管理,那么勢必會給管理人員帶來種種麻煩,因此類似工資管理系統之類的財務軟件的開發勢在必行。現在中國企業已進入"新管理時代",企業管理在經歷了計劃經濟時期的"生產管理"時代,計劃經濟與市場經濟相結合時期的"混合管理"時代后,從九十年代末進入全面市場經濟時期的"新管理"時代.新管理時的中國企業管理是面向市場,基于現代企業制度,是中國模式,價值化,系統化,電腦化,國際化和普遍化管理的時代.新管理時代的中國企業管理以建立競爭優勢,提高企業競爭力為核心.要提高企業的競爭力就必須整合企業經營,全面強化企業管理,形成企業持久發展的"內功".越來越多的質優企業舍得在管理系統上投資的舉動,足以說明這一趨勢.在市場競爭日益激烈,用戶需求不斷趨向多樣化,企業間關聯程度越來越密切的今天,要求企業行動必須快捷,靈敏,在管理的思想觀念,方式方法上不斷創新.人力已經很難完全達到要求,必須借助當代信息科技的最新成果,優化和加強企業的運營和管理.

          三、研究方案(主要研究內容、目標,研究方法、進度)

          點擊閱讀全文

          軟件工程課程教學

          摘要:針對“軟件工程”這門課的課程特點,本文提出幾種實用的教學方法和手段,目的為了提高“軟件工程”的教學質量。

          關鍵詞:軟件工程教學改進實踐

          中圖分類號:

          1、引言

          提起軟件,在當今社會人們并不陌生,正是由于軟件的發展,使計算機應用逐步滲透到社會生活的各個角落,使各行各業都發生很大的變化。這同時也促進人們對軟件的品種、數量、功能和質量等提出了越來越高的要求。然而,軟件的規模越大、越復雜,人們的軟件開發能力越顯得力不從心。于是,人們開始重視軟件開發過程、方法、工具和環境的研究,軟件工程應運而生。

          “軟件工程”主要介紹軟件工程的基本原理、開發方法和開發工具,通過本課程的學習,使學生了解和初步掌握開發1個軟件項目所使用的方法和工具,以及“軟件工程”的發展過程和發展趨勢,為進行軟件開發打下1個良好的基礎。

          點擊閱讀全文