傳統軟體工程方法學概述

2021-07-08 09:50:13 字數 1811 閱讀 6410

隨著計算機應用領域的不斷拓廣,各種各樣的問題也不斷湧現,當問題嚴重到開發人員無法控制的時候便產生了軟體危機。軟體危機的出現,促使了軟體工程學的形成和發展。隨之整合整套技術的軟體工程方法學廣泛應用,主流之一就是傳統方法學。

傳統方法學在軟體開發過程中佔據相當大的比重,因為其悠久的歷史而為很多軟體工程師青睞。如果說自然語言和程式語言之間有一道難以跨越的鴻溝,傳統方法學就是跨越這道鴻溝的橋梁。

傳統方法學又稱生命週期方法學或結構化范型。乙個軟體從開始計畫起,到廢棄不用止,稱為軟體的生命週期。在傳統的軟體工程方法中,軟體的生存週期分為需求分析、總體設計、詳細設計、程式設計和測試幾個階段。

傳統方法學使用的是結構化分析技術來完成需求分析階段的工作。軟體工程學中的需求分析具有兩方面的意義。在認識事物方面,它具有一整套分析、認識問題域的方法、原則和策略。

這些方法、原則和策略使開發人員對問題域的理解比不遵循軟體工程方法更為全面、深刻和有效。在描述事物方面,它具有一套表示體系和文件規範。但是,傳統的軟體工程方法學中的需求分析在上述兩方面都存在不足.它在全域性範圍內以功能、資料或資料流為中心來進行分析。

這些方法的分析結果不能直接地對映問題域,而是經過了不同程度的轉化和重新組合。因此,傳統的分析方法容易隱蔽一些對問題域的理解偏差,與後續開發階段的銜接也比較困難。

在總體設計階段,以需求分析的結果作為出發點構造出乙個具體的系統設計方案,主要是決定系統的模組結構,以及模組的劃分,模組間的資料傳送及呼叫關係。詳細設計是在總體設計的基礎上考慮每個模組的內部結構及演算法,最終將產生每個模組的程式流程圖。但是傳統的軟體工程方法中設計文件很難與分析文件對應,原因是二者的表示體系不一致,所謂從分析到設計的轉換,實際上並不存在可靠的轉換規則,而是帶有人為的隨意性,從而很容易因理解上的錯誤而留下隱患。

程式設計階段是利用一種程式語言產生乙個能夠被機器理解和執行的系統,測試是發現和排除程式中的錯誤,最終產生乙個正確的系統。但是由於分析方法的缺陷很容易產生對問題的錯誤理解,而分析與設計的差距很容易造成設計人員對分析結果的錯誤轉換,以致在程式設計時程式設計師往往需要對分析員和設計人員已經認識過的事物重新進行認識,並產生不同的理解。因此為了使兩個階段之間能夠更好的銜接,測試就變得尤為重要。

軟體維護階段的工作,一是對使用中發生的錯誤進行修改,二是因需求發生了變化而進行修改。前一種情況需要從程式逆向追溯到發生錯誤的開發階段。由於程式不能對映問題以及各個階段的文件不能對應,每一步追溯都存在許多理解障礙。

第二種情況是乙個從需求到程式的順向過程,它也存在初次開發時的那些困難,並且又增加了理解每個階段原有文件的困難。

傳統軟體工程方法面向的是過程,它按照資料變換的過程尋找問題的結點,對問題進行分解。由於不同人對過程的理解不同,故面向過程的功能分割出的模組會因人而異。對於問題世界的抽象結論,結構化方法可以用資料流圖,系統結構圖,資料字典,狀態轉移圖,實體關係圖來進行系統邏輯模型的描述,生產乙個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。

傳統軟體工程方法學強調以模組為中心,採用模組化,自頂向下,逐步求精設計過程,系統是實現模組功能的函式和過程的集合,結構清晰,可讀性好,是提高軟體開發質量的一種有效手段。結構化設計從系統的功能入手,按照工程標準,嚴格規範地將系統分解為若干功能模組,因為系統是實現模組功能的函式和過程的集合。然而,由於使用者的需要和軟硬體技術的不斷發展變化,作為系統基本組成部分的功能模組很容易受到影響,區域性修改甚至會引起系統的根本性變化。

開發過程前期入手快而後期頻繁改動的現象比較常見。

當然,傳統的軟體工程方法學也存在很多的缺點,主要表現在生產效率非常底,從而導致不能滿足使用者的需要,復用程度低,軟體很難維護等。雖然如此,傳統方法學仍然是人們在軟體開發過程中使用的十分廣泛的軟體工程方法學,在開發某些型別的軟體時也比較有效。因此傳統軟體工程方法學的價值並不會因物件導向方法學的出現而減少,並且它還是學習物件導向方法學的基礎。

常人方法學概述

二 常人方法學的理論溯源 常人方法學創立於1960年代中期,這個詞是由加芬克爾在1954年發明的。ethno 指的是普通人,methodology 是方 之意,所以常人方法學分析的是普通人處理日常生活社會互動的基本方法。該理論的思想 是 帕森斯的社會學理論 現象學與現象學社會學 維根斯坦和日常語言哲...

軟體工程範本

測試計畫初稿 這裡所說的測試,主要是指整個程式系統的組裝測試和確認測試。本檔案的編制是為了提供乙個對該軟體的測試計畫,包括對每項測試活動的內容 進度安排 設計考慮 測試資料的整理方法及評價準則。4.實現階段 模組開發卷宗 開始編寫 模組開發卷宗是在模組開發過程中逐步編寫出來的,每完成乙個模組或一組密...

軟體工程報告

設計專案 圖書管理系統 專業電腦科學與技術 班級計s091 學號 093433 學生姓名李萌 同組同學郭飛 一 實驗目的 學習用軟體工程的方法開發軟體,熟練掌握用高階語言編寫 除錯和執行各種程式的設計方法。二 實驗要求 本系統需要掌握軟體工程的基本知識,對系統進行可行性分析和需求分析,並熟練運用vc...