freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序設(shè)計(jì)和軟件工程基礎(chǔ)(編輯修改稿)

2024-10-08 10:23 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 織和管理軟件生產(chǎn),根據(jù)某一軟件從被提出并著手開始實(shí)現(xiàn),直到軟件完成其使命為止的全過程劃分為一些階段,并稱這一全過程為軟件生命周期。通常,軟件生命周期包括八個(gè)階段: 13 問題定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試及運(yùn)行維護(hù)。為使各時(shí)期的任務(wù)更明確 ,將其劃分為以下三個(gè)時(shí)期: ⑴ 軟件定義期 ① 問題定義 這一階段的主要目的是確定問題的性質(zhì)、工程目標(biāo)以及規(guī)模。這是軟件生命周期的第一階段,應(yīng)力求使軟件開發(fā)人員、用戶及使用部門負(fù)責(zé)人對(duì)問題的性質(zhì)、工程目標(biāo)及規(guī)模取得完全一致的看法,這對(duì)確保軟件開發(fā)成功是非常重要的。一旦對(duì)問題有了明確認(rèn)識(shí)之后,分析員應(yīng)提交書面報(bào)告給用戶及使用部門負(fù)責(zé)人進(jìn)行審查。 ② 可行性研究 可行性研究的目的是進(jìn)一步研究上一階段所定義的問題是否可解。在問題定義的基礎(chǔ)上,通過復(fù)查系統(tǒng)的目標(biāo)和規(guī)模,并研究現(xiàn)在正在使用的系統(tǒng),從而導(dǎo)出試探性的解。 這個(gè)過程可能要反復(fù)多遍,最后導(dǎo)出系統(tǒng)的高層邏輯模型,在系統(tǒng)的高層邏輯模型的基礎(chǔ)上,再?gòu)母鞣矫娣治鑫锢硐到y(tǒng)的可行性,推薦一個(gè)可行方案,供有關(guān)部門審批。 在描述物理系統(tǒng)時(shí),常常采用系統(tǒng)流程圖這一工具,系統(tǒng)流程圖是用一些約定的圖形符號(hào)對(duì)系統(tǒng)內(nèi)部各部件進(jìn)行描述。在此特別指出,這種系統(tǒng)流程圖是物理數(shù)據(jù)流程圖,而不是程序流程圖。 在這個(gè)階段中,往往還需要對(duì)成本和效益進(jìn)行分析,并且,最后還要提交必要的文檔。 ③ 需求分析 在這個(gè)階段中,根據(jù)可行性研究階段提交的文檔,特別是從數(shù)據(jù)流圖出發(fā),對(duì)目標(biāo)系統(tǒng)提出清晰、準(zhǔn)確和具體的要 求,即要明確系統(tǒng)必須作什么的問題。這一階段的具體問題包括:確定對(duì)系統(tǒng)的綜合要求,即功能要求、性能要求、運(yùn)行要求以及將來可能會(huì)提出的一些要求;對(duì)系統(tǒng)的數(shù)據(jù)要求進(jìn)行分析,包括數(shù)據(jù)元素的分類和規(guī)范化,描繪實(shí)體關(guān)系圖,進(jìn)行事務(wù)分析及數(shù)據(jù)庫(kù)模型的建立;在前面分析的基礎(chǔ)上,推導(dǎo)出系統(tǒng)的詳細(xì)邏輯模型;修正開發(fā)計(jì)劃,并建立模型系統(tǒng)。 需求分析首先從數(shù)據(jù)流圖著手,在沿?cái)?shù)據(jù)流圖回溯的過程中,更多的數(shù)據(jù)元素被劃分出來,更多的算法被確定下來。在這個(gè)過程中,將得到的有關(guān)數(shù)據(jù)元素的信息記錄在數(shù)據(jù)字典中,而將對(duì)算法的簡(jiǎn)單描述記錄在輸入 /處理 /輸出( IPO)圖中,被補(bǔ)充的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理添加到數(shù)據(jù)流圖的適當(dāng)位置上,然后提交用戶復(fù)查,以便補(bǔ)遺。經(jīng)過反復(fù)地進(jìn)行上述分析之后,分析員對(duì)系統(tǒng)的數(shù)據(jù)及功能就有了更深的了解,此時(shí)可通過對(duì)功能的分解將數(shù)據(jù)流圖細(xì)化,即將數(shù)據(jù)流圖中的比較復(fù)雜的處理功能分解成若干個(gè)簡(jiǎn)單的子功能,而這些較低層的子功能又重新組成一張數(shù)據(jù)流圖。這就是逐步細(xì)化的具體體現(xiàn)。 經(jīng)過以上分析,就可以修正開發(fā)計(jì)劃,然后寫出必要的文檔。文檔的內(nèi)容包括:系統(tǒng)的功能說明,它主要由數(shù)據(jù)流圖和輸入 /處理 /輸出圖(或其它形式的算法描述記錄)組成,主要 描述了目標(biāo)系統(tǒng)的概貌及對(duì)系統(tǒng)的綜合要求;系統(tǒng)對(duì)數(shù)據(jù)的要求,它主要由數(shù)據(jù)字典和描述數(shù)據(jù)結(jié)構(gòu)的層次方框圖組成;用戶系統(tǒng)描述,即初步的用戶手冊(cè),它主要包括對(duì)系統(tǒng)功能和性能的扼要描述、使用的方法和步驟等。 在轉(zhuǎn)入下一階段之前,還必須進(jìn)行審查和復(fù)查,通過之后即可進(jìn)入軟件開發(fā)期。 ⑵ 軟件開發(fā)期 14 ① 系統(tǒng)設(shè)計(jì) 這一階段也稱為一般設(shè)計(jì),其任務(wù)是劃分出構(gòu)成系統(tǒng)的各物理元素(如程序、文件、數(shù)據(jù)庫(kù)、人工過程或文檔等)以及設(shè)計(jì)出軟件的結(jié)構(gòu)(如確定模塊及模塊之間的關(guān)系)。設(shè)計(jì)過程通常分以下幾步:提出可選擇方案;選擇合理方案;推薦最 佳方案;功能分解;設(shè)計(jì)軟件結(jié)構(gòu);制定測(cè)試計(jì)劃;提交文檔。 這一階段的最后要對(duì)結(jié)果進(jìn)行嚴(yán)格的技術(shù)審查,然后由使用部門負(fù)責(zé)人從管理的角度進(jìn)行復(fù)查。 ② 詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)的任務(wù)是對(duì)系統(tǒng)作出精確的描述,以便在編碼階段可直接將這一描述用程序設(shè)計(jì)語言編制成程序。除了應(yīng)該保證程序的可靠性外,此階段最主要的目標(biāo)是要保證將來的程序易讀、易理解、易測(cè)試、易修改和易維護(hù)。因此,結(jié)構(gòu)程序設(shè)計(jì)技術(shù)就成為實(shí)現(xiàn)上述目的的基本保證,并且也是詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。 作為這一階段的最后結(jié)果,應(yīng)提供詳細(xì)的編碼規(guī)格說明,它通常用層次圖加輸入 /處理/輸出( HIPO)圖或過程描述語言( PDL)來描述。 ③ 編碼 編碼是將系統(tǒng)設(shè)計(jì)和詳細(xì)設(shè)計(jì)階段中的結(jié)果翻譯成用某種程序設(shè)計(jì)語言書寫的程序。 ④ 測(cè)試 目前,軟件測(cè)試仍然是保證軟件可靠性的主要手段,它是軟件開發(fā)過程中最艱巨最繁重的工作。測(cè)試的目的是查找程序中的錯(cuò)誤,但決不能證明程序中沒有錯(cuò)誤。 ⑶ 軟件維護(hù)期 維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也設(shè)法降低維護(hù)的代價(jià)。 軟件維護(hù)通常有以下四類:為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性 維護(hù) ;為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。 軟件的可理解性、可測(cè)試性和可修改性直接影響和決定了軟件的可維護(hù)性,而且軟件生存周期的各個(gè)階段都與可維護(hù)性有關(guān)。良好的設(shè)計(jì)、完善的文檔資料以及一系列嚴(yán)格的復(fù)審和測(cè)試,都會(huì)使錯(cuò)誤一旦出現(xiàn)就較為容易診斷和糾正;而且當(dāng)用戶有所要求或外部環(huán)境有變化時(shí),軟件都比較容易適應(yīng),并能減少維護(hù)所引起的副作用。因此,在軟件生存周期的各個(gè)階段必修充分考慮維護(hù)的問題,并且為維護(hù)作好準(zhǔn)備。 軟件維護(hù)不僅包括程序代碼的維 護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類,但無論是哪類文檔,都必須和程序代碼同時(shí)維護(hù),只有和程序代碼完全一致的文檔才有意義和價(jià)值。目前已有許多軟件工具能幫助建立文檔,這不僅有利于提高書寫文檔的效率和質(zhì)量,還有助于文檔的及時(shí)維護(hù)。 ⒋ 軟件工程的目標(biāo)與原則 ⑴ 軟件工程的目標(biāo) 軟件工程的目標(biāo)是在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解 15 性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可操作性且滿足用戶需求的產(chǎn)品。 軟件工程需要達(dá)到的基本目標(biāo)是:付出較低的開發(fā)成本;達(dá)到要求的軟件功能; 取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā),及時(shí)交付使用。 基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括: ① 軟件開發(fā)技術(shù) 軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。軟件開發(fā)方法學(xué)是根據(jù)不同的軟件類型,按不同的觀點(diǎn)和原則,對(duì)軟件開發(fā)中應(yīng)遵循的策略、原則、步驟和必須產(chǎn)生的文檔資料都做出規(guī)定,從而使軟件的開發(fā)能夠進(jìn)入規(guī)范化和工程化的階段,以克服早期的手工方法生產(chǎn)中的隨意性和非規(guī)范性做法。 ② 軟件工程管理 軟 件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。 軟件工程管理是軟件按工程化生產(chǎn)時(shí)的重要環(huán)節(jié),它要求按照預(yù)先制定的計(jì)劃、進(jìn)度和預(yù)算執(zhí)行,以實(shí)現(xiàn)預(yù)期的經(jīng)濟(jì)效益和社會(huì)效益。軟件管理學(xué)包括人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。 軟件工程經(jīng)濟(jì)學(xué)是研究軟件開發(fā)中成本的估算、成本效益分析的方法和技術(shù),用經(jīng)濟(jì)學(xué)的基本原理來研究軟件工程開發(fā)中的經(jīng)濟(jì)效益問題。 軟件心理學(xué)是軟件工程領(lǐng)域具有挑戰(zhàn)性的一個(gè)全新的研究領(lǐng)域,它是從個(gè)體心理、人類行為、組織行為和企業(yè)文化等角度來研究軟件管理和軟件工程的。 ⑵ 軟件工程的原則 為了達(dá)到 軟件工程目標(biāo),在軟件開發(fā)過程中,必須遵循軟件工程的基本原則。這些原則適用于所有的軟件項(xiàng)目。這些基本原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。 ① 抽象 抽取事物最基本的特性和行為,忽略非本質(zhì)細(xì)節(jié)。采用分層次抽象,自頂向下,逐層細(xì)化的辦法控制軟件開發(fā)過程的復(fù)雜性。 ② 信息隱蔽 采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱藏起來,使模塊接口盡量簡(jiǎn)單。 ③ 模塊化 模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位,應(yīng)有良好的接口定義。模塊的大小要適中,模塊過大會(huì)使 模塊內(nèi)部的復(fù)雜性增加,不利于對(duì)模塊的理解和修改,也不利于模塊的調(diào)試和重用。模塊太小會(huì)導(dǎo)致整個(gè)系統(tǒng)表示過于復(fù)雜,不利于控制系統(tǒng)的復(fù)雜性。 ④ 局部化 要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源。 ⑤ 確定性 軟件開發(fā)過程中所有概念的表達(dá)應(yīng)是確定的、無歧義且規(guī)范的。這有助于人與人的交互不會(huì)產(chǎn)生誤解和遺漏,以保證整個(gè)開發(fā)工作的協(xié)調(diào)一致。 16 ⑥ 一致性 包括程序、數(shù)據(jù)和文檔的整個(gè)軟件系統(tǒng)的各模塊應(yīng)使用已知的概念、符號(hào)和術(shù)語;程序內(nèi)外部接口應(yīng)保持一致,系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致。 ⑦ 完備性 軟件系統(tǒng)不丟失 任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需的功能。 ⑧ 可驗(yàn)證性 開發(fā)大型軟件系統(tǒng)需要對(duì)系統(tǒng)自頂向下,逐層分解。系統(tǒng)分解應(yīng)遵循容易檢查、測(cè)評(píng)、評(píng)審的原則,以確保系統(tǒng)的正確性。 ⒌ 軟件開發(fā)工具與軟件開發(fā)環(huán)境 現(xiàn)代軟件工程方法之所以得以實(shí)施,其重要的保證是軟件開發(fā)工具和環(huán)境的保證,使軟件在開發(fā)效率、工程質(zhì)量等多方面得到改善。軟件工程鼓勵(lì)研制和采用各種先進(jìn)的軟件開發(fā)方法、工具和環(huán)境。工具和環(huán)境的使用進(jìn)一步提高了軟件的開發(fā)效率、維護(hù)效率和軟件質(zhì)量。 ⑴ 軟件開發(fā)工具 早期的軟件開發(fā)除了一般的程序設(shè)計(jì)語言外,尚缺少工具的支持, 致使編程工作量大,質(zhì)量和進(jìn)度難以保證,導(dǎo)致人們將很多的精力和時(shí)間花費(fèi)在程序的編制和調(diào)試上,而在更重要的軟件的需求和設(shè)計(jì)上反而得不到必要的精力和時(shí)間投入。軟件開發(fā)工具的完善和發(fā)展將促進(jìn)軟件開發(fā)方法的進(jìn)步和完善,促進(jìn)軟件開發(fā)的高速度和高質(zhì)量。軟件開發(fā)工具的發(fā)展是從單項(xiàng)工具的開發(fā)逐步向集成工具發(fā)展的,軟件開發(fā)工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。 ⑵ 軟件開發(fā)環(huán)境 軟件開發(fā)環(huán)境或稱軟件工程環(huán)境是全面支持開發(fā)全過程的軟件工具集合。這些軟件工具按照一定的方法或模式組合起來,支持軟件生命周期內(nèi)的各個(gè)階段 和各項(xiàng)任務(wù)的完成。 計(jì)算機(jī)輔助軟件工程是當(dāng)前軟件開發(fā)環(huán)境中富有特色的研究工作和發(fā)展方向。 CASE將各種軟件工具、開發(fā)機(jī)器和一個(gè)存放開發(fā)過程信息的中心數(shù)據(jù)庫(kù)組合起來,形成軟件工程環(huán)境。 結(jié)構(gòu)化分析與設(shè)計(jì)方法 ⒈ 結(jié)構(gòu)化分析方法 ⑴ 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的運(yùn)用,其目的是幫助弄清用戶對(duì)軟件的需求。結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖( DFD)、數(shù)據(jù)字典( DD)、結(jié)構(gòu)化英語、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。 17 結(jié)構(gòu)化分析方法的實(shí)質(zhì) 是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。 結(jié)構(gòu)化分析的步驟如下: ① 通過對(duì)用戶的調(diào)查,以軟件的需求為線索,獲得當(dāng)前系統(tǒng)的具體模型; ② 去掉具體模型中非本質(zhì)因素,抽象出當(dāng)前系統(tǒng)的邏輯模型; ③ 根據(jù)計(jì)算機(jī)的特點(diǎn)分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,建立目標(biāo)系統(tǒng)的邏輯模型; ④ 完善目標(biāo)系統(tǒng)并補(bǔ)充細(xì)節(jié),寫出目標(biāo)系統(tǒng)的軟件需求規(guī)格說明; ⑤ 評(píng)審直到確認(rèn)完全符合用戶對(duì)軟件的需求。 ⑵ 結(jié)構(gòu)化分析的常用工具 ① 數(shù)據(jù)流圖( DFD—Data Flow Diagram) 數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。 數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素與說明如下: 加工(轉(zhuǎn)換)。輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。 數(shù)據(jù)流。沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。 存儲(chǔ)文件(數(shù)據(jù)源)。表示 處理過程中存放各種數(shù)據(jù)的文件。 源。表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。 圖 106 是描述研究生入學(xué)到畢業(yè)的業(yè)務(wù)活動(dòng)的數(shù)據(jù)流圖。 18 圖 106 研究生業(yè)務(wù)活動(dòng)數(shù)據(jù)流圖 通常,數(shù)據(jù)流圖由四個(gè)基本成分組成。 數(shù)據(jù)流 : 數(shù)據(jù)流相當(dāng)于一條管道,并有一組數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。如圖 106 中的“錄取通知書”、“專業(yè)要求”、“成績(jī)”等。 加工 : 加工是對(duì)數(shù)據(jù)進(jìn)行的處理,在數(shù)據(jù)流圖中,加工用標(biāo)有名字的圓圈表示, 其中加工名字就是對(duì)數(shù)據(jù)進(jìn)行操作的名稱。指向加工的數(shù)據(jù)流表示該加工的輸入數(shù)據(jù),離開加工的數(shù)據(jù)流表示了該加工的輸出數(shù)據(jù)。 文件 : 文件是暫存數(shù)據(jù)。如圖 106 中“錄取名單”、“課程目錄”、“課題目錄”、“需要情況”,它們都是文件,在數(shù)據(jù)流圖中,文件用帶有下劃線的名字表示。如果加工需要讀文件,則數(shù)據(jù)流方向?yàn)閺奈募鞒觯蝗绻庸ば枰嫒胛募蛐薷奈募?,則數(shù)據(jù)流是流向文件的;如果加工既要讀文件又要寫文件,則數(shù)據(jù)流方向?yàn)殡p向的。一般來說,對(duì)于文件的內(nèi)容能見名知義,所以在數(shù)據(jù)流圖中,對(duì)文件的存取箭頭無說明也不會(huì)造成混淆。 數(shù)據(jù)的源點(diǎn)和終點(diǎn) : 數(shù)據(jù)的源點(diǎn)和終點(diǎn)是軟件之外的實(shí)體,它們與軟件系統(tǒng)的設(shè)計(jì)無直接關(guān)系,一般只是為了說明數(shù)據(jù)流的來龍去脈。在數(shù)據(jù)流圖中,用標(biāo)有名字的方框來表示數(shù)據(jù)的源點(diǎn)和終點(diǎn)。如圖 106 中的“研究生招辦”為數(shù)據(jù)的源點(diǎn),而“工作單位”為數(shù)據(jù)的終點(diǎn)。 在此特別要指出,數(shù)據(jù)流完全不同于一般程序流程圖(即程序框圖)中的控制流。程序流程圖中的控制流只是表示程序執(zhí)行的次序,在其箭頭上沒有數(shù)據(jù)的傳遞。而數(shù)據(jù)流中數(shù)據(jù)箭頭表示有數(shù)據(jù)沿箭頭流動(dòng),并不直接反映加工處理的先后順序。數(shù)據(jù)流是從數(shù)據(jù)的角度來描述一個(gè)系統(tǒng)。 數(shù)據(jù)流圖
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1