程序設(shè)計(jì)基礎(chǔ)、軟件工程_第1頁
程序設(shè)計(jì)基礎(chǔ)、軟件工程_第2頁
程序設(shè)計(jì)基礎(chǔ)、軟件工程_第3頁
程序設(shè)計(jì)基礎(chǔ)、軟件工程_第4頁
程序設(shè)計(jì)基礎(chǔ)、軟件工程_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、21 程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格如何形成良好的程序設(shè)計(jì)風(fēng)格1、源程序文檔化;2、數(shù)據(jù)說明的方法;3、語句的結(jié)構(gòu); 4、輸入和輸出。注釋分序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一、效率第二。例1. 對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是( )A 程序應(yīng)簡單、清晰、可讀性好B 符號名的命名只要符合語法C 充分考慮程序的執(zhí)行效率D 程序的注釋可有可無22 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:1. 自頂向下;2. 逐步求精;3.模塊化;4.限制使用goto語句。結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點(diǎn):(1)順序結(jié)構(gòu):一種簡單的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡單選擇和多

2、分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應(yīng)該選擇哪一條分支來執(zhí)行相應(yīng)的語句序列;(3)重復(fù)結(jié)構(gòu):又稱循環(huán)結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。例2. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是( )A. 程序的規(guī)模B. 程序的易讀性C. 程序的執(zhí)行效率D. 程序的可移植性23 面向?qū)ο蟮某绦蛟O(shè)計(jì)對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍睿梢杂脕肀硎究陀^世界中的任何實(shí)體,對象是實(shí)體的抽象。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù)。對象的基

3、本特點(diǎn):(1)標(biāo)識惟一性;(2)分類性;(3)多態(tài)性;(4)封裝性;(5)模塊獨(dú)立性好。類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應(yīng)類的一個實(shí)例。消息是一個實(shí)例與另一個實(shí)例之間傳遞的信息。消息的組成包括(1)接收消息的對象的名稱;(2)消息標(biāo)識符,也稱消息名;(3)零個或多個參數(shù)。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。多態(tài)性是指同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動的現(xiàn)象。面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn):(1)與人類習(xí)慣的思維方法一致;(2)穩(wěn)定性好;(3)可重

4、用性好;(4)易于開發(fā)大型軟件產(chǎn)品;(5)可維護(hù)性好。 例3. 信息隱蔽的概念與下述哪一種概念直接相關(guān)?( )A 軟件結(jié)構(gòu)定義B 模塊獨(dú)立性C 模塊類型劃分D 模塊耦合度例4. 在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送( )A 調(diào)用語句 B命令 C口令 D.消息例5. 下面對對象概念描述錯誤的是( )A任何對象都必須有繼承性B對象是屬性和方法的封裝體C對象間的通訊靠消息傳遞D. 操作是對象的動態(tài)屬性例6. 在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的( )性來實(shí)現(xiàn)的例7. 類是一個支持集成的抽象數(shù)據(jù)類型,而對象是類的( )例8. 在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為

5、( )31 軟件工程基本概念計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點(diǎn)包括:(1)軟件是一種邏輯實(shí)體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;(4)軟件的開發(fā)、運(yùn)行對計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;(5)軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素。軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。軟件危機(jī)主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。軟件工程包括3個要素:方法、工具和過程。軟

6、件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P軟件規(guī)格說明;(2)D軟件開發(fā);(3)C軟件確認(rèn);(4)A軟件演進(jìn)。軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程。軟件生命周期三個階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動階段是:(1)可行性研究與計(jì)劃制定;(2)需求分析;(3)軟件設(shè)計(jì);(4)軟件實(shí)現(xiàn);(5)軟件測試;(6)運(yùn)行和維護(hù)。軟件工程的目標(biāo)和與原則:目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;灸繕?biāo):付出較低的開發(fā)成本;達(dá)到要

7、求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能按時完成開發(fā),及時交付使用。 基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。 軟件工程得以實(shí)施的重要保證是軟件開發(fā)工具和軟件開發(fā)環(huán)境。例1. 軟件是程序、數(shù)據(jù)和( )的集合.例2. 在軟件生命令周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是( )A.概要設(shè)計(jì) B.詳細(xì)設(shè)計(jì) C.可行性研究 D.需求分析例3. 軟件需求分析階段的工作,可以分為四個方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及( )A.階段性報告 B.需求評審 C.總結(jié) D.都不正確32 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方

8、法包括分析方法、設(shè)計(jì)方法和程序設(shè)計(jì)方法。需求分析方法有:(1)結(jié)構(gòu)化分析方法;(SA,Jackson,DSSD) (2)面向?qū)ο蟮姆治龅姆椒?,其又分為靜態(tài)分析和動態(tài)分析結(jié)構(gòu)化分析方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計(jì)理論。結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流圖(DFD); (2)數(shù)據(jù)字典(DD); (3)判定樹; (4)判定表。數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有

9、組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計(jì)算結(jié)果有共同的理解。判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。軟件需求規(guī)格說明書的特點(diǎn):(1)正確性;(2)無岐義性;(3)完整性;(4)可驗(yàn)證性;(5)一致性;(6)可理解性;(7)可修改性;(8)可追蹤性。例4. 數(shù)據(jù)流圖用于抽象描述一個軟

10、件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是( )A.控制流 B.加工 C.數(shù)據(jù)存儲 D.源和潭 33 結(jié)構(gòu)化設(shè)計(jì)方法軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。軟件設(shè)計(jì)是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。軟件設(shè)計(jì)的一般過程:軟件設(shè)計(jì)是一個迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì)。從工程管理角度來看:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。軟件設(shè)計(jì)的基本原

11、理(1)抽象;(2)模塊化;(3)信息屏蔽;(4)模塊獨(dú)立性;衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。在程序結(jié)構(gòu)中各模塊的內(nèi)聚性優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。 軟件概要設(shè)計(jì)的基本任務(wù)是:(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì);(3)編寫概要設(shè)計(jì)文檔; (4)概要設(shè)計(jì)文檔評審。常見的軟件結(jié)構(gòu)設(shè)計(jì)工具是(程序結(jié)構(gòu)圖)SC結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。 在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的箭頭表示

12、傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的形態(tài)特征:深度:指結(jié)構(gòu)圖控制的層次,也是模塊的層數(shù)下列結(jié)構(gòu)圖的深度為5。寬度:指一層中最大的模塊個數(shù),下圖寬度為8。扇出:指一個模塊直接下屬模塊的個數(shù),下圖中模塊M的扇出為3。扇入:指一個模塊直接上屬模塊的個數(shù),下圖中模塊T的扇入為4。面向數(shù)據(jù)流的設(shè)計(jì)方法:將需求分析階段產(chǎn)生的數(shù)據(jù)流圖轉(zhuǎn)換(映射)為設(shè)計(jì)階段的結(jié)構(gòu)圖典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務(wù)型數(shù)據(jù)流的特點(diǎn)是:接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果。將變換型數(shù)據(jù)流圖映射成結(jié)構(gòu)圖,稱為變

13、換分析。將事物型數(shù)據(jù)流圖映射為結(jié)構(gòu)圖,稱為事物分析。詳細(xì)設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖PFD、N-S流程圖、PDA、HIPO)、表格工具(判定表)、語言工具(PDL)。例5. 下面不屬于軟件設(shè)計(jì)原則的是A.抽象 B.模塊化 C.自底向上 D.信息隱蔽例6. 程序流程圖(PFD)中的箭頭代表的是( )A.數(shù)據(jù)流 B.控制流 C.調(diào)用關(guān)系 D.組成關(guān)系例7. 在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是( )A.詳細(xì)設(shè)計(jì) B.需求分析 C.總體設(shè)計(jì) D.編程調(diào)試 34

14、軟件測試軟件測試定義:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。動態(tài)測試:是基本計(jì)算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法。 白盒測試:在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證。主要方法有邏輯覆蓋、基本路徑測試。黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認(rèn)。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。軟件測試過程一般按4個步驟進(jìn)行:單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。例8. 檢查軟件產(chǎn)品是否符合需求定義的過程稱為( )A.確認(rèn)測試 B.集成測試 C.驗(yàn)證測試 D.驗(yàn)收測試35 程序的調(diào)試(Debug)程序調(diào)試的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論