




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、I軟件工程實踐WEB OCR系統(tǒng)開發(fā)摘要軟件開發(fā)過程是以生命周期各階段的活動劃分為基礎(chǔ), 將用戶需 求轉(zhuǎn)化為軟件系統(tǒng)活動集合的過程,包括需求分析、設(shè)計、編碼、集 成、測試、安裝和驗收等活動。本文對軟件開發(fā)過程的各個階段及目 前常用的各種軟件開發(fā)過程模型進行了介紹, 并以一個實用系統(tǒng) Web OCR 的實際開發(fā)過程為例,具體講解了軟件生命周期各階段活動的 控制和實現(xiàn),首先根據(jù)用戶需求進行調(diào)研,分析產(chǎn)品需求,選擇開發(fā) 模型選擇,設(shè)計系統(tǒng)概要,然后用代碼實現(xiàn),最后測試系統(tǒng)。關(guān)鍵詞 軟件開發(fā)過程,瀑布模型, 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摘要.關(guān)鍵詞 .第一章 軟件開發(fā)過程概述1.1 軟件開發(fā)過程 .1.2 軟件開發(fā)過程模型 .1.3 軟件開發(fā)過程模型選擇 .第二章 WEB OCR 統(tǒng)介紹 .2.1WEB OCR 提出.2.2WEB OCR 統(tǒng)簡介.2.3WEB OC 主要技術(shù)概要.第三章 用戶需求分析 .3.1 用戶需求 .3
5、.2 產(chǎn)品開發(fā)需求 .第四章系統(tǒng)設(shè)計.4.1 架構(gòu)設(shè)計 .4.2 系統(tǒng)功能設(shè)計 .第五章 總結(jié).參 考 文獻.錯誤!未定義書簽。錯誤!未定義書簽。1311 錯誤!未定義書簽。13錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。16錯誤!未定義書簽。204042485253碩士學(xué)位論文第一章軟件開發(fā)過程概述1第一章軟件開發(fā)過程概述1.1 軟件開發(fā)過程軟件工程的目標(biāo)是在規(guī)定的時間和預(yù)算內(nèi)開發(fā)出高質(zhì)量的軟件,要實現(xiàn)這個目標(biāo)確實是一件非常困難的事情。20 世紀 80 年代,人們曾經(jīng)熱衷于使用 CASE 工具等技術(shù)手段來解決軟件危機的問題, 但事實告訴人們,軟件項目失敗的主要 原因幾乎與技術(shù)和工具
6、沒有任何關(guān)系,更多的是由于缺少過程規(guī)范。只有建立規(guī) 范的軟件開發(fā)過程,并持續(xù)不斷地加以改進,才能管理和控制好軟件產(chǎn)品的質(zhì)量。 今天,軟件開發(fā)過程運動已經(jīng)在全世界范圍內(nèi)日益流行起來,極大地推動了軟件的工業(yè)化進程。軟件開發(fā)過程是以生命周期各階段的活動劃分為基礎(chǔ),將用戶需求轉(zhuǎn)化為軟 件系統(tǒng)活動集合的過程。軟件開發(fā)過程包括需求分析、設(shè)計、編碼、集成、測試、 安裝和驗收等活動。收集各方面的用戶需求信息(過程的輸入),定義用戶產(chǎn)品的功能和性能,通過設(shè)計將用戶需求轉(zhuǎn)換為軟件表示,在邏輯上定義產(chǎn)品功能, 設(shè)計結(jié)果作為編碼的框架和依據(jù),最后通過編程將設(shè)計轉(zhuǎn)換成計算機可讀的形 式。整個軟件開發(fā)過程可以進一步分為可
7、行性研究、需求分析、設(shè)計、編碼、測 試 5 個子過程。軟件開發(fā)過程的劃分,對軟件管理和資源投入以及軟件項目最終開發(fā)能否成 功具有重要意義。要充分了解各個活動的定義和任務(wù),以便合理、準確、客觀地 安排每一階段的工作。各個階段完成的主要工作如下。1.1.1 開發(fā)計劃和可行性研究階段開發(fā)計劃和可行性研究通常被整合在一起,在實際工作中歸結(jié)到同一個階段 進行,甚至可以看成是一個活動整體,要回答“做什么?如何做?可不可能完 成?”等問題??尚行匝芯恳揽块_發(fā)計劃提供依據(jù), 而開發(fā)計劃只有在初步得 到可行性確認后才能深入制定,兩個活動是互相制約、互相促進的關(guān)系。開發(fā)計劃和可行性研究階段要和各方多溝通,盡可能
8、得到準確的問題定義, 并確保各方的理解相同。對問題的精確理解和定義在開發(fā)計劃階段解決,更符合各方的利益要求,比在需求分析階段解決更合理,同時不會對軟件開發(fā)方向造成 隱患,也不會給雙方就軟件開發(fā)費用的達成造成不必要的麻煩。用戶提出軟件開發(fā)要求后,系統(tǒng)分析員要對用戶機構(gòu)進行了解,明確是什么 樣的機構(gòu)、主要業(yè)務(wù)是什么,對最終的軟件使用部門進行觀察研究, 組織開會討 論等,通過這一系列工作確定軟件項目的性質(zhì)、 目標(biāo)和規(guī)模,這些工作如同需求 分析的簡化版,為項目的后期工作奠定基礎(chǔ),并要在此基礎(chǔ)上寫出可行性研究報碩士學(xué)位論文第一章軟件開發(fā)過程概述2如果可行性研究的結(jié)論是可行的,接下來就要制定詳細的開發(fā)計劃
9、。 開發(fā)計 劃主要根據(jù)開發(fā)項目的目標(biāo)、性能、功能、規(guī)模來確定需要的資源,主要包括三 個方面,即硬件資源、軟件資源和人力資源,還要對項目的開發(fā)費用、開發(fā)進度 做出估計,供決策者和用戶參考。至此,本階段的工作任務(wù)基本完成,將可行性研究報告和項目開發(fā)計 劃提交給管理部門審查。1.1.2 需求分析階段確定軟件功能和性能要求,根據(jù)功能要求進行數(shù)據(jù)流程分析,提出系統(tǒng)邏輯 模型,并與文字說明、圖表、流程、規(guī)范等共同組成系統(tǒng)需求規(guī)格說明書。主要 工作可概括為 4 個方面,即需求獲取、需求分析、編寫需求規(guī)格說明書和需求評 審。(1)需求獲取。確定目標(biāo)系統(tǒng)各方面的需求,建立獲取用戶需求的方法框架, 并支持和監(jiān)控需
10、求獲取的過程。(2)需求分析。對獲取的需求進行分析與綜合,給出系統(tǒng)的解決方案和目標(biāo) 系統(tǒng)的邏輯模型。(3)編寫需求規(guī)格說明書。作為需求分析的階段成果,為用戶、分析人員和 設(shè)計人員之間的交流提供方便,直接支持目標(biāo)軟件系統(tǒng)的確認,又可以作為控制 軟件開發(fā)進程的依據(jù)。(4) 需求評審。對需求分析階段的工作進行評審,驗證需求文檔的一致性、 可行性、完整性和有效性。1.1.3 軟件設(shè)計階段軟件設(shè)計包括概要設(shè)計和詳細設(shè)計兩個階段。(1)概要設(shè)計階段。在軟件開發(fā)過程中通常安排在需求分析之后進行,是建 立系統(tǒng)整體結(jié)構(gòu)、進行模塊劃分、根據(jù)要求確定接口的過程。概要設(shè)計的主要工 作是設(shè)計模塊和組織模塊,把需求分析中
11、的軟件功能用模塊結(jié)構(gòu)的形式描述出 來,每個模塊都有明確的意義和功能。 數(shù)據(jù)庫設(shè)計也是概要設(shè)計的工作之一,即軟件系統(tǒng)要存儲什么數(shù)據(jù)以及數(shù)據(jù)的結(jié)構(gòu)和關(guān)系等。(2)詳細設(shè)計階段。把在概要設(shè)計階段劃分出來的模塊要實現(xiàn)的功能,用相 應(yīng)的設(shè)計工具詳細地描述出實現(xiàn)步驟, 也就是寫出算法。詳細設(shè)計階段使用的語 言或圖表都應(yīng)該有精確和唯一的描述,不允許出現(xiàn)“二義性”或“多義性”。詳細設(shè)計的任務(wù)是為每個模塊完成的功能進行具體而精確的描述,根據(jù)功能描述再 轉(zhuǎn)碩士學(xué)位論文第一章軟件開發(fā)過程概述3化成精確的、結(jié)構(gòu)化的軟件過程描述。軟件過程描述可直接對應(yīng)到相應(yīng)的代碼, 也就是程序員在下一階段根據(jù)過程描述編寫程序代碼。1.
12、1.4 編寫代碼階段在機器上用計算機語言實現(xiàn)所設(shè)計的軟件功能,把過程描述翻譯成程序并測 試程序的正確性。編寫代碼時要高度對應(yīng)詳細設(shè)計階段描述的算法,因為以后的 維護或升級,都是以詳細設(shè)計的文檔資料為根據(jù)。 如果代碼和詳細設(shè)計的描述有 偏差,很容易誤導(dǎo)以后的維護工作,而且這種錯誤很難被發(fā)現(xiàn),浪費不必要的人 力物力。編程時還要注意,盡可能在重點和難點處留下注釋, 這樣對以后的維護 和修改有幫助。1.1.5 軟件測試階段通過單元測試,檢驗?zāi)K內(nèi)部的結(jié)構(gòu)和功能;通過集成測試,把模塊連接成 系統(tǒng),重點測試模塊間的接口;通過確認測試,對需求分析的軟件功能和性能進 行測試,確認是否達到要求;通過系統(tǒng)測試,測
13、試軟件系統(tǒng)在真實系統(tǒng)環(huán)境中的 運行狀況。單元測試和集成測試是由開發(fā)者完成的;確認測試和系統(tǒng)測試是在用戶參與下,由開發(fā)者和用戶共同完成的。軟件測試的方法一般有靜態(tài)測試法和動 態(tài)測試法兩種類型;而動態(tài)測試法又根據(jù)測試用例的不同可分為白盒測試和黑盒 測試兩類。1.2 軟件開發(fā)過程模型軟件開發(fā)作為一個獨立的學(xué)科,有其自身的理論體系一一軟件工程。 軟件工 程理論涉及的內(nèi)容很多,其中對軟件開發(fā)項目管理影響最大的是發(fā)展了一系列的 開發(fā)過程模型,包括瀑布模型、原型模型、螺旋模型和軟件包模型等,下面簡要 介紹幾個在軟件開發(fā)企業(yè)常用的過程模型。1.2.1 瀑布模型瀑布模型是美國人 Winston Royce 向
14、IEEE WESCON(RoyceWinston 1970) 提交的一篇名為管理大規(guī)模軟件系統(tǒng)的開發(fā)的論文中首次提出的。這篇文章 以他在管理大型軟件項目開發(fā)時學(xué)到的經(jīng)驗為基礎(chǔ),抽象出了具有深刻見解而又簡潔的軟件項目開發(fā)管理方法。由于這種方法描述開發(fā)過程是從一個階段成瀑布 狀流入下一個階段,所以稱為“瀑布模型”。瀑布模型從時間角度對軟件開發(fā)和維護的復(fù)雜問題進行分解。按軟件生命周期依次劃分為 6 個階段,即可行性研究、需求分析、軟件設(shè)計、軟件編碼、軟件碩士學(xué)位論文第一章軟件開發(fā)過程概述4測試、運行與維護。(a)理論的瀑布模型(b)實際的瀑布模型圖 1-1 瀑布模型一、 理論的瀑布模型理論的瀑布模型
15、有兩重含義:(1)必須等前一階段工作完成之后,才能開始后一階段工作。(2)前一階段的輸出文檔是后一階段的輸入文檔,只有前一階段的輸出文檔 正確,后一階段的工作才能獲得正確的結(jié)果。缺乏軟件工程實踐經(jīng)驗的軟件開發(fā)人員在接到軟件項目開發(fā)任務(wù)后,常常急于求成,總想盡早開始編寫代碼。實踐表明,對于規(guī)模較大的軟件項目,往往是 編碼開始得越早,最終完成開發(fā)工作所需要的時間反而越長。 這是因為前面階段 工作可能錯誤太多,過早地進行軟件編碼,往往導(dǎo)致大量返工,有時甚至造成軟 件工程過程失敗。所以盡可能地推遲軟件編碼是按照瀑布模型開發(fā)軟件的一條重 要的指導(dǎo)原則。二、實際的瀑布模型理論的瀑布模型過于理想化。實際上,
16、人們在工作中都會不可避免地發(fā)生錯 誤。在軟件設(shè)計階段可能發(fā)現(xiàn)需求說明書中的錯誤,而軟件設(shè)計階段的缺陷或錯誤可能在軟件編碼階段顯現(xiàn)出來,在軟件測試階段可能發(fā)現(xiàn)需求分析、軟件設(shè)計、 軟件編碼階段的錯誤。因此,實際的瀑布模型帶有“反饋環(huán)”,當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯誤時,需要沿反饋線返回前面階段,修正前面階段的工作成果后, 再回來繼續(xù)完成后面階段的工作。三、 瀑布模型總結(jié)瀑布模型有許多優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法(例如結(jié)構(gòu)化技術(shù)); 嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng) 過質(zhì)量保碩士學(xué)位論文第一章軟件開發(fā)過程概述5證小組的仔細驗證。各個階段產(chǎn)生的文檔是維護軟
17、件產(chǎn)品時必不可少的, 沒有文檔的軟件幾乎是 不可能維護的,遵守瀑布模型的文檔約束,將使軟件維護變得比較容易一些。由 于絕大部分軟件預(yù)算都花費在軟件維護上, 因此,使軟件變得比較容易維護就能 顯著降低軟件預(yù)算。可以說,瀑布模型的成功在很大程度上是由于它基本上是一 種文檔驅(qū)動的模型。但是,“瀑布模型是由文檔驅(qū)動的”這個事實也是它的一個主要缺點。在可 運行的軟件產(chǎn)品交付給用戶之前,用戶只能通過文檔來了解產(chǎn)品是什么樣的。 僅 僅通過寫在紙上的靜態(tài)的規(guī)格說明, 很難全面、正確地認識動態(tài)的軟件產(chǎn)品。而 且事實證明,一旦一個用戶開始使用一個軟件,在他的頭腦中關(guān)于該軟件應(yīng)該做 什么的想法就會或多或少地發(fā)生變化
18、,這就使得最初提出的需求變得不完全適用 了。其實,要求用戶不經(jīng)過實踐就提出完整準確的需求, 在許多情況下都是不切 實際的??傊?,由于瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。1.2.2 V 模型V 模型是瀑布模型的一種變體,由整個開發(fā)過程被構(gòu)造成一個 V 字形而得名。 V模型強調(diào)軟件開發(fā)的協(xié)作和速度,將軟件實現(xiàn)和驗證有機地結(jié)合起來,在保證 較高軟件質(zhì)量的前提下可縮短開發(fā)周期。下面通過對 V 模型的水平和垂直的關(guān)聯(lián)和比較分析,理解軟件開發(fā)和測試的 關(guān)系,理解 V 模型具有面向客戶、效率高、質(zhì)量預(yù)防意識好等特點,能幫助開發(fā) 者建立一套更有效、更具有
19、可操作性的軟件開發(fā)過程。圖 1-2 V 模型碩士學(xué)位論文第一章軟件開發(fā)過程概述6一、從水平方向看垂直虛線左邊是分析和設(shè)計,是軟件設(shè)計實現(xiàn)的過程,同時伴隨著質(zhì)量保證 活動一一審核的過程,也就是靜態(tài)的測試過程;垂直虛線右邊是對左邊結(jié)果的驗 證,是動態(tài)測試的過程,即對分析和設(shè)計的結(jié)果進行測試, 以確認是否滿足用戶 需求。左右兩邊的對應(yīng)關(guān)系如下:(1)需求分析對應(yīng)驗收測試。說明在做需求分析時,測試人員就可以閱讀、審查需求分析的結(jié)果,從而了解產(chǎn)品的設(shè)計特性、用戶的真正需求,確定測試目 標(biāo),可以準備測試用例并策劃測試活動。(2)概要設(shè)計對應(yīng)系統(tǒng)測試。說明當(dāng)設(shè)計人員做概要設(shè)計時,測試人員可以了解系統(tǒng)是如何實
20、現(xiàn)的以及基于什么平臺,這樣可以設(shè)計系統(tǒng)的測試方案和測試 計劃,并事先準備系統(tǒng)的測試環(huán)境,包括硬件和第三方軟件的采購。 這些準備工 作,實際要花費很多時間。(3)詳細設(shè)計對應(yīng)集成測試。說明當(dāng)設(shè)計人員做詳細設(shè)計時,測試人員可以 參與設(shè)計,對設(shè)計進行評審,找出設(shè)計缺陷,同時設(shè)計功能、新特性等各方面的 測試用例,完善測試計劃,并基于測試用例開發(fā)測試腳本。(4)軟件編碼對應(yīng)單元測試。說明在編程的同時進行單元測試,是一種很有 效的方法,可以盡快找出程序中的錯誤。充分的單元測試可以大幅度提高程序質(zhì) 量、降低成本。從水平對應(yīng)關(guān)系可以看出,V 模型能使質(zhì)量保證活動和開發(fā)工作同時展開。 項目一旦啟動,軟件測試工作也就啟動了,避免了瀑布模型所帶來的誤區(qū)一一軟件測試只能在編碼完成之后進行。二、從垂直方向看水平虛線上部表明,需求分析、系統(tǒng)定義和驗收測試等工作主要面向用戶, 要和用戶進行充分的溝通和交流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年麗水道路貨運從業(yè)資格證模擬考試官方題下載
- 2025年石家莊貨運資格證題庫在線練習(xí)
- 終止協(xié)議書范本范文6篇
- 《寶島臺灣》說課稿
- 營養(yǎng)強化劑競爭策略分析報告
- 受托審計合同范本
- 原料冷庫租賃合同范例
- 衛(wèi)生間維修合同范本
- 臺球廳租賃合同范本
- 個人辭職申請書簡短
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- 人效管理措施
- 四年級下冊勞動《小小快遞站》課件
- 籃球教練職業(yè)生涯規(guī)劃
- 機器人手術(shù)后期護理
- 食品抽檢核查處置重點安全性指標(biāo)不合格原因分析排查手冊
- 自力式調(diào)節(jié)閥閥門
- 《學(xué)生檔案信息管理系統(tǒng)的開發(fā)》6500字(論文)
- GB/T 44904-2024售后服務(wù)無理由退貨服務(wù)規(guī)范
- 《股市的基礎(chǔ)常識》課件
- 部編版二年級下冊語文教材分析、學(xué)情分析(每一課都有-全)
評論
0/150
提交評論