最新軟件工程實踐WEBOCR系統開發_第1頁
最新軟件工程實踐WEBOCR系統開發_第2頁
免費預覽已結束,剩余8頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、I軟件工程實踐WEB OCR系統開發摘要軟件開發過程是以生命周期各階段的活動劃分為基礎, 將用戶需 求轉化為軟件系統活動集合的過程,包括需求分析、設計、編碼、集 成、測試、安裝和驗收等活動。本文對軟件開發過程的各個階段及目 前常用的各種軟件開發過程模型進行了介紹, 并以一個實用系統 Web OCR 的實際開發過程為例,具體講解了軟件生命周期各階段活動的 控制和實現,首先根據用戶需求進行調研,分析產品需求,選擇開發 模型選擇,設計系統概要,然后用代碼實現,最后測試系統。關鍵詞 軟件開發過程,瀑布模型, WEB OCR2ABSTRACTSoftware development life cycle

2、 process is divided into various stagesof activity based on user needs into a collection of software processactivities, including requirements analysis, design, coding, integration,testing, installation and acceptance of other activities. In this paper, allstages of software development process and

3、the current popular model ofsoftware development process is introduced, and a practical system, theactual development process of Web OCR As an example, the software lifecycle activities, control and implementation First, the user needs to conductresearch, analyze product demand, choose the developme

4、nt modelselection, design system overview, and then use the code, the final testsystem.KEY WORDSSoftware development process , Waterfall model ,WEB OCR3摘要.關鍵詞 .第一章 軟件開發過程概述1.1 軟件開發過程 .1.2 軟件開發過程模型 .1.3 軟件開發過程模型選擇 .第二章 WEB OCR 統介紹 .2.1WEB OCR 提出.2.2WEB OCR 統簡介.2.3WEB OC 主要技術概要.第三章 用戶需求分析 .3.1 用戶需求 .3

5、.2 產品開發需求 .第四章系統設計.4.1 架構設計 .4.2 系統功能設計 .第五章 總結.參 考 文獻.錯誤!未定義書簽。錯誤!未定義書簽。1311 錯誤!未定義書簽。13錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。16錯誤!未定義書簽。204042485253碩士學位論文第一章軟件開發過程概述1第一章軟件開發過程概述1.1 軟件開發過程軟件工程的目標是在規定的時間和預算內開發出高質量的軟件,要實現這個目標確實是一件非常困難的事情。20 世紀 80 年代,人們曾經熱衷于使用 CASE 工具等技術手段來解決軟件危機的問題, 但事實告訴人們,軟件項目失敗的主要 原因幾乎與技術和工具

6、沒有任何關系,更多的是由于缺少過程規范。只有建立規 范的軟件開發過程,并持續不斷地加以改進,才能管理和控制好軟件產品的質量。 今天,軟件開發過程運動已經在全世界范圍內日益流行起來,極大地推動了軟件的工業化進程。軟件開發過程是以生命周期各階段的活動劃分為基礎,將用戶需求轉化為軟 件系統活動集合的過程。軟件開發過程包括需求分析、設計、編碼、集成、測試、 安裝和驗收等活動。收集各方面的用戶需求信息(過程的輸入),定義用戶產品的功能和性能,通過設計將用戶需求轉換為軟件表示,在邏輯上定義產品功能, 設計結果作為編碼的框架和依據,最后通過編程將設計轉換成計算機可讀的形 式。整個軟件開發過程可以進一步分為可

7、行性研究、需求分析、設計、編碼、測 試 5 個子過程。軟件開發過程的劃分,對軟件管理和資源投入以及軟件項目最終開發能否成 功具有重要意義。要充分了解各個活動的定義和任務,以便合理、準確、客觀地 安排每一階段的工作。各個階段完成的主要工作如下。1.1.1 開發計劃和可行性研究階段開發計劃和可行性研究通常被整合在一起,在實際工作中歸結到同一個階段 進行,甚至可以看成是一個活動整體,要回答“做什么?如何做?可不可能完 成?”等問題。可行性研究要依靠開發計劃提供依據, 而開發計劃只有在初步得 到可行性確認后才能深入制定,兩個活動是互相制約、互相促進的關系。開發計劃和可行性研究階段要和各方多溝通,盡可能

8、得到準確的問題定義, 并確保各方的理解相同。對問題的精確理解和定義在開發計劃階段解決,更符合各方的利益要求,比在需求分析階段解決更合理,同時不會對軟件開發方向造成 隱患,也不會給雙方就軟件開發費用的達成造成不必要的麻煩。用戶提出軟件開發要求后,系統分析員要對用戶機構進行了解,明確是什么 樣的機構、主要業務是什么,對最終的軟件使用部門進行觀察研究, 組織開會討 論等,通過這一系列工作確定軟件項目的性質、 目標和規模,這些工作如同需求 分析的簡化版,為項目的后期工作奠定基礎,并要在此基礎上寫出可行性研究報碩士學位論文第一章軟件開發過程概述2如果可行性研究的結論是可行的,接下來就要制定詳細的開發計劃

9、。 開發計 劃主要根據開發項目的目標、性能、功能、規模來確定需要的資源,主要包括三 個方面,即硬件資源、軟件資源和人力資源,還要對項目的開發費用、開發進度 做出估計,供決策者和用戶參考。至此,本階段的工作任務基本完成,將可行性研究報告和項目開發計 劃提交給管理部門審查。1.1.2 需求分析階段確定軟件功能和性能要求,根據功能要求進行數據流程分析,提出系統邏輯 模型,并與文字說明、圖表、流程、規范等共同組成系統需求規格說明書。主要 工作可概括為 4 個方面,即需求獲取、需求分析、編寫需求規格說明書和需求評 審。(1)需求獲取。確定目標系統各方面的需求,建立獲取用戶需求的方法框架, 并支持和監控需

10、求獲取的過程。(2)需求分析。對獲取的需求進行分析與綜合,給出系統的解決方案和目標 系統的邏輯模型。(3)編寫需求規格說明書。作為需求分析的階段成果,為用戶、分析人員和 設計人員之間的交流提供方便,直接支持目標軟件系統的確認,又可以作為控制 軟件開發進程的依據。(4) 需求評審。對需求分析階段的工作進行評審,驗證需求文檔的一致性、 可行性、完整性和有效性。1.1.3 軟件設計階段軟件設計包括概要設計和詳細設計兩個階段。(1)概要設計階段。在軟件開發過程中通常安排在需求分析之后進行,是建 立系統整體結構、進行模塊劃分、根據要求確定接口的過程。概要設計的主要工 作是設計模塊和組織模塊,把需求分析中

11、的軟件功能用模塊結構的形式描述出 來,每個模塊都有明確的意義和功能。 數據庫設計也是概要設計的工作之一,即軟件系統要存儲什么數據以及數據的結構和關系等。(2)詳細設計階段。把在概要設計階段劃分出來的模塊要實現的功能,用相 應的設計工具詳細地描述出實現步驟, 也就是寫出算法。詳細設計階段使用的語 言或圖表都應該有精確和唯一的描述,不允許出現“二義性”或“多義性”。詳細設計的任務是為每個模塊完成的功能進行具體而精確的描述,根據功能描述再 轉碩士學位論文第一章軟件開發過程概述3化成精確的、結構化的軟件過程描述。軟件過程描述可直接對應到相應的代碼, 也就是程序員在下一階段根據過程描述編寫程序代碼。1.

12、1.4 編寫代碼階段在機器上用計算機語言實現所設計的軟件功能,把過程描述翻譯成程序并測 試程序的正確性。編寫代碼時要高度對應詳細設計階段描述的算法,因為以后的 維護或升級,都是以詳細設計的文檔資料為根據。 如果代碼和詳細設計的描述有 偏差,很容易誤導以后的維護工作,而且這種錯誤很難被發現,浪費不必要的人 力物力。編程時還要注意,盡可能在重點和難點處留下注釋, 這樣對以后的維護 和修改有幫助。1.1.5 軟件測試階段通過單元測試,檢驗模塊內部的結構和功能;通過集成測試,把模塊連接成 系統,重點測試模塊間的接口;通過確認測試,對需求分析的軟件功能和性能進 行測試,確認是否達到要求;通過系統測試,測

13、試軟件系統在真實系統環境中的 運行狀況。單元測試和集成測試是由開發者完成的;確認測試和系統測試是在用戶參與下,由開發者和用戶共同完成的。軟件測試的方法一般有靜態測試法和動 態測試法兩種類型;而動態測試法又根據測試用例的不同可分為白盒測試和黑盒 測試兩類。1.2 軟件開發過程模型軟件開發作為一個獨立的學科,有其自身的理論體系一一軟件工程。 軟件工 程理論涉及的內容很多,其中對軟件開發項目管理影響最大的是發展了一系列的 開發過程模型,包括瀑布模型、原型模型、螺旋模型和軟件包模型等,下面簡要 介紹幾個在軟件開發企業常用的過程模型。1.2.1 瀑布模型瀑布模型是美國人 Winston Royce 向

14、IEEE WESCON(RoyceWinston 1970) 提交的一篇名為管理大規模軟件系統的開發的論文中首次提出的。這篇文章 以他在管理大型軟件項目開發時學到的經驗為基礎,抽象出了具有深刻見解而又簡潔的軟件項目開發管理方法。由于這種方法描述開發過程是從一個階段成瀑布 狀流入下一個階段,所以稱為“瀑布模型”。瀑布模型從時間角度對軟件開發和維護的復雜問題進行分解。按軟件生命周期依次劃分為 6 個階段,即可行性研究、需求分析、軟件設計、軟件編碼、軟件碩士學位論文第一章軟件開發過程概述4測試、運行與維護。(a)理論的瀑布模型(b)實際的瀑布模型圖 1-1 瀑布模型一、 理論的瀑布模型理論的瀑布模型

15、有兩重含義:(1)必須等前一階段工作完成之后,才能開始后一階段工作。(2)前一階段的輸出文檔是后一階段的輸入文檔,只有前一階段的輸出文檔 正確,后一階段的工作才能獲得正確的結果。缺乏軟件工程實踐經驗的軟件開發人員在接到軟件項目開發任務后,常常急于求成,總想盡早開始編寫代碼。實踐表明,對于規模較大的軟件項目,往往是 編碼開始得越早,最終完成開發工作所需要的時間反而越長。 這是因為前面階段 工作可能錯誤太多,過早地進行軟件編碼,往往導致大量返工,有時甚至造成軟 件工程過程失敗。所以盡可能地推遲軟件編碼是按照瀑布模型開發軟件的一條重 要的指導原則。二、實際的瀑布模型理論的瀑布模型過于理想化。實際上,

16、人們在工作中都會不可避免地發生錯 誤。在軟件設計階段可能發現需求說明書中的錯誤,而軟件設計階段的缺陷或錯誤可能在軟件編碼階段顯現出來,在軟件測試階段可能發現需求分析、軟件設計、 軟件編碼階段的錯誤。因此,實際的瀑布模型帶有“反饋環”,當在后面階段發現前面階段的錯誤時,需要沿反饋線返回前面階段,修正前面階段的工作成果后, 再回來繼續完成后面階段的工作。三、 瀑布模型總結瀑布模型有許多優點:可強迫開發人員采用規范的方法(例如結構化技術); 嚴格地規定了每個階段必須提交的文檔;要求每個階段交出的所有產品都必須經 過質量保碩士學位論文第一章軟件開發過程概述5證小組的仔細驗證。各個階段產生的文檔是維護軟

17、件產品時必不可少的, 沒有文檔的軟件幾乎是 不可能維護的,遵守瀑布模型的文檔約束,將使軟件維護變得比較容易一些。由 于絕大部分軟件預算都花費在軟件維護上, 因此,使軟件變得比較容易維護就能 顯著降低軟件預算。可以說,瀑布模型的成功在很大程度上是由于它基本上是一 種文檔驅動的模型。但是,“瀑布模型是由文檔驅動的”這個事實也是它的一個主要缺點。在可 運行的軟件產品交付給用戶之前,用戶只能通過文檔來了解產品是什么樣的。 僅 僅通過寫在紙上的靜態的規格說明, 很難全面、正確地認識動態的軟件產品。而 且事實證明,一旦一個用戶開始使用一個軟件,在他的頭腦中關于該軟件應該做 什么的想法就會或多或少地發生變化

18、,這就使得最初提出的需求變得不完全適用 了。其實,要求用戶不經過實踐就提出完整準確的需求, 在許多情況下都是不切 實際的??傊?,由于瀑布模型幾乎完全依賴于書面的規格說明,很可能導致最終開發出的軟件產品不能真正滿足用戶的需要。1.2.2 V 模型V 模型是瀑布模型的一種變體,由整個開發過程被構造成一個 V 字形而得名。 V模型強調軟件開發的協作和速度,將軟件實現和驗證有機地結合起來,在保證 較高軟件質量的前提下可縮短開發周期。下面通過對 V 模型的水平和垂直的關聯和比較分析,理解軟件開發和測試的 關系,理解 V 模型具有面向客戶、效率高、質量預防意識好等特點,能幫助開發 者建立一套更有效、更具有

19、可操作性的軟件開發過程。圖 1-2 V 模型碩士學位論文第一章軟件開發過程概述6一、從水平方向看垂直虛線左邊是分析和設計,是軟件設計實現的過程,同時伴隨著質量保證 活動一一審核的過程,也就是靜態的測試過程;垂直虛線右邊是對左邊結果的驗 證,是動態測試的過程,即對分析和設計的結果進行測試, 以確認是否滿足用戶 需求。左右兩邊的對應關系如下:(1)需求分析對應驗收測試。說明在做需求分析時,測試人員就可以閱讀、審查需求分析的結果,從而了解產品的設計特性、用戶的真正需求,確定測試目 標,可以準備測試用例并策劃測試活動。(2)概要設計對應系統測試。說明當設計人員做概要設計時,測試人員可以了解系統是如何實

20、現的以及基于什么平臺,這樣可以設計系統的測試方案和測試 計劃,并事先準備系統的測試環境,包括硬件和第三方軟件的采購。 這些準備工 作,實際要花費很多時間。(3)詳細設計對應集成測試。說明當設計人員做詳細設計時,測試人員可以 參與設計,對設計進行評審,找出設計缺陷,同時設計功能、新特性等各方面的 測試用例,完善測試計劃,并基于測試用例開發測試腳本。(4)軟件編碼對應單元測試。說明在編程的同時進行單元測試,是一種很有 效的方法,可以盡快找出程序中的錯誤。充分的單元測試可以大幅度提高程序質 量、降低成本。從水平對應關系可以看出,V 模型能使質量保證活動和開發工作同時展開。 項目一旦啟動,軟件測試工作也就啟動了,避免了瀑布模型所帶來的誤區一一軟件測試只能在編碼完成之后進行。二、從垂直方向看水平虛線上部表明,需求分析、系統定義和驗收測試等工作主要面向用戶, 要和用戶進行充分的溝通和交流

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論