已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、選擇題1軟件的主要特性是ABC。A無形B高成本C包括程序和文檔D可獨立構成計算機系統(tǒng)2軟件工程三要素是B。A技術、方法和工具B方法、工具和過程C方法、對象和類D過程、模型、方法3包含風險分析的軟件工程模型是A。A螺旋模型B瀑布模型C增量模型D噴泉模型4下列屬于面向對象開發(fā)方法的是ABCD。ABOOCHBUMLCCOADDOMT5A軟件成本太高B軟件產品的質量低劣C軟件開發(fā)人員明顯不足D軟件生產率低下6軟件開發(fā)方法的主要工作模型有ABCA螺旋模型B循環(huán)模型C瀑布模型D專家模型7軟件工程的目標有ABC。A易于維護B低的開發(fā)成本C高性能D短的開發(fā)期8軟件工程學的目的和意義是AD。A應用科學的方法和工程化的規(guī)范管理來指導軟件開發(fā)B克服軟件危機C作好軟件開發(fā)的培訓工作D以較低的成本開發(fā)出高質量的軟件1需求分析的主要目的是BC。A系統(tǒng)開發(fā)的具體方案B進一步確定用戶的需求C解決系統(tǒng)是“做什么”的問題D解決系統(tǒng)是“如何做”的問題9需求分析的主要方法有CD。A形式化分析方法BPAD圖描述C結構化分析SA方法DOOA法10面向對象的分析方法主要是建立三類模型,即D。A系統(tǒng)模型、ER模型、應用模型B對象模型、動態(tài)模型、應用模型C模型、對象模型、功能模型D對象模型、動態(tài)模型、功能模型11SA法的主要描述手段有B。A系統(tǒng)流程圖和模塊圖BDFD圖、數(shù)據(jù)詞典、加工說明C軟件結構圖、加工說明D功能結構圖、加工說明12畫分層DFD圖的基本原則有ACD。A數(shù)據(jù)守恒原則B分解的可靠性原則C子、父圖平衡的原則D數(shù)據(jù)流封閉的原則13在ER模型中,包含的基本成分是C)。A數(shù)據(jù)、對象、實體B控制、聯(lián)系、對象C實體、聯(lián)系、屬性D實體、屬性、聯(lián)系14畫DFD圖的主要目的是AD。A作為需求分析階段用戶與開發(fā)者之間交流信息的工具B對系統(tǒng)的數(shù)據(jù)結構進行描述C對目標系統(tǒng)的層次結構進行描述D作為分析和設計的工具15數(shù)據(jù)字典是數(shù)據(jù)流圖中所有元素的定義的集合,一般由C四類條目組成。A數(shù)據(jù)說明條目、控制流條目、加工條目、數(shù)據(jù)存儲條目B數(shù)據(jù)流條目、數(shù)據(jù)項條目、文件條目、加工條目C數(shù)據(jù)源條目、數(shù)據(jù)流條目、數(shù)據(jù)處理條目、數(shù)據(jù)文件條目D數(shù)據(jù)流條目、數(shù)據(jù)文件條目、數(shù)據(jù)池條目、加工條目16在需求分析階段主要采用圖形工具來描述的原因是BC。A圖形的信息量大,便于描述規(guī)模大的軟件系統(tǒng)B圖形工具能夠極好地概括描述一個系統(tǒng)的信息,比文字敘述能夠更好地表達重要的細節(jié)C圖形能夠更加直觀地描述目標系統(tǒng),便于用戶理解和交流,有利于開發(fā)者與用戶之間達成一致的需求D圖形比文字描述簡單、形象17模塊的基本特征是AC。A外部特征輸入/輸出、功能B內部特征輸入/輸出、功能C內部特征局部數(shù)據(jù)、代碼D外部特征局部數(shù)據(jù)、代碼18SD方法的設計總則是CD。A程序簡潔、操作方便B結構清晰、合理C模塊內聚性強D模塊之間耦合度低19軟件設計的主要任務是ABD。A將分析階段獲得的需求說明轉換為計算機中可實現(xiàn)的系統(tǒng);B完成系統(tǒng)的數(shù)據(jù)結構和程序結構設計C完成模塊的編碼和測試D對模塊內部的過程進行設計20設計階段應達到的目標有AD。A提高可靠性和可維護性B提高應用范圍C結構清晰D提高可理解性和效率21從工程管理的角度來看,軟件設計分D兩步完成。A系統(tǒng)分析、模塊設計B詳細設計、總體設計C模塊設計、詳細設計D總體設計、詳細設計22模塊獨立性準則定性指標BD來衡量。A分解度B耦合度C屏蔽性D內聚性23用戶界面設計的任務包括ABC。A確定用戶界面類型B建立任務模型C建立用戶模型D建立功能模型二、判斷題1軟件就是程序,編寫軟件就是編寫程序。2瀑布模型的最大優(yōu)點是將軟件開發(fā)的各個階段劃分得十分清晰。3結構化方法的工作模型是使用螺旋模型進行開發(fā)。4結構化方法和OO方法都是一種面向過程的軟件開發(fā)方法。5原型化開發(fā)方法包括生成原型和實現(xiàn)原型兩個步驟。6面向對象的開發(fā)方法包括面向對象的分析、面向對象的設計和面向對象的程序設計。7軟件危機的主要表現(xiàn)是軟件的需求量迅速增加,軟件價格上升。8軟件工具的作用是為了延長軟件產品的壽命。9軟件工程過程應該以軟件設計為中心,關鍵是編寫程序。10在進行了可行性分析后,需求分析就只需要解決目標系統(tǒng)的設計方案。11SA法是面向數(shù)據(jù)流,建立在數(shù)據(jù)封閉原則上的需求分析方法。12需求管理主要是對需求變化的管理,即如何有效控制和適應需求的變化。13在面向對象的需求分析方法中,建立動態(tài)模型是最主要的任務。14加工小說明是對系統(tǒng)流程圖中的加工進行說明。15判定表的優(yōu)點是容易轉換為計算機實現(xiàn),缺點是不能夠描述組合條件。16需求分析的主要方法有SD法、OOA法及HIPO法等。178分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結構。18信息建模方法是從數(shù)據(jù)的角度來建立信息模型的,最常用的描述信息模型的方法是ER圖。1920用于需求分析的軟件工具,應該能夠保證需求的正確性,即驗證需求的一致性、完整性、現(xiàn)實性和有效性。21劃分模塊可以降低軟件的復雜度和工作量,所以應該將模塊分得越小越好。22在網(wǎng)狀結構中任何兩個模塊都是平等的,沒有從屬關系,所以在軟件開發(fā)過程中常常被使用。23信息隱蔽原則有利于提高模塊的內聚性。24中心變換型的DFD圖可看成是對輸入數(shù)據(jù)進行轉換而得到輸出數(shù)據(jù)的處理,因此可以使用事務分析技術得到初始的模塊結構圖。25SD法是一種面向數(shù)據(jù)結構的設計方法,強調程序結構與問題結構相對應。26當模塊的控制范圍是其作用范圍的子集時,模塊之間的耦合度較低。三、思考題1軟件產品的特性是什么答軟件是一種邏輯產品,具有無形性;軟件產品的生產主要是研制;主要是腦力勞動;軟件不存在磨損和老化問題,但存在退化問題;軟件產品的成本非常昂貴,其開發(fā)方式目前尚未完全擺脫手工生產方式;軟件具有“復雜性”,其開發(fā)和運行常受到計算機系統(tǒng)的限制。2軟件發(fā)展有幾個階段各有何特征答程序設計階段。硬件特征價格貴、存儲容量小、運行可靠性差。軟件特征只有程序、程序設計概念,不重視程序設計方法。程序系統(tǒng)階段。硬件特征速度、容量及工作可靠性有明顯提高,價格降低,銷售有爆炸性增長。軟件特征程序員數(shù)量猛增,開發(fā)人員素質低。軟件工程階段。硬件特征向超高速、大容量、微型化及網(wǎng)絡化方向發(fā)展。軟件特征開發(fā)技術有很大進步,但未獲得突破性進展,軟件價格不斷上升,未完全擺脫軟件危機。3什么是軟件危機其產生的原因是什么答“軟件危機”SOFTWARECRISIS的出現(xiàn)是由于軟件的規(guī)模越來越大,復雜度不斷增加,軟件需求量增大。而軟件開發(fā)過程是一種高密集度的腦力勞動,軟件開發(fā)的模式及技術不能適應軟件發(fā)展的需要。致使大量質量低劣的軟件涌向市場,有的花費大量人力、財力,而在開發(fā)過程中就夭折。軟件危機主要表現(xiàn)在兩個方面1軟件產品質量低劣,甚至開發(fā)過程就夭折。2軟件生產率低,不能滿足需要。4什么是軟件過程有哪些主要的軟件過程模型它們各有哪些特點答軟件過程是指在軟件工具的支持下,所進行的一系列軟件開發(fā)和進化的活動。軟件過程模型是對軟件開發(fā)實際過程的抽象和簡化,是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型,因此又稱為軟件開發(fā)模型。主要的軟件過程模型有瀑布模型、增量模型、螺旋模型、噴泉模型和基于知識的模型等。瀑布模型是經典的軟件開發(fā)模型,將軟件開發(fā)活動中的各項活動規(guī)定為依線性順序連接的若干階段,它簡單易用,在消除非結構化軟件、降低軟件的復雜性、促進軟件開發(fā)工程化方面起了很大的作用。但在軟件開發(fā)實踐中也逐漸暴露出它的缺點。它將一個充滿回溯的軟件開發(fā)過程硬性分割為幾個階段,無法解決軟件需求不明確或者變動的問題。增量模型是一種非整體開發(fā)的模型。根據(jù)增量的方式和形式的不同,分為基于瀑布模型的漸增模型和基于原型的快速原型模型。該模型具有較大的靈活性,適合于軟件需求不明確、設計方案有一定風險的軟件項目。螺旋模型將瀑布模型和增量模型結合起來,并加入了風險分析。螺旋模型將開發(fā)過程分為幾個螺旋周期,每個螺旋周期可分為4個工作步驟制定計劃、風險分析、實施工程、客戶評估。噴泉模型用于采用對象技術的軟件開發(fā)項目。它克服了瀑布模型不支持軟件重用和多項開發(fā)活動集成的局限性。噴泉模型使開發(fā)過程具有迭代性和無間隙性。軟件開發(fā)過程有4個階段,即分析、系統(tǒng)設計、軟件設計和實現(xiàn)。各階段相互重疊,以分析為基礎,資源消耗成塔形,從高層返回低層無資源消耗。強調增量開發(fā),是對象驅動的過程,反映了對象的開發(fā)和重用過程?;谥R的模型也稱為智能模型。通過領域的專家系統(tǒng),可使需求說明更加完整、準確和無二義性。通過軟件工程知識和特定應用領域的知識和規(guī)則的應用來提供開發(fā)的幫助。5有哪些主要的軟件開發(fā)方法答主要的軟件開發(fā)方法有結構化開發(fā)方法、原型化開發(fā)方法和面向對象的開發(fā)方法。6軟件生存周期各階段的主要任務是什么答軟件生存周期按瀑布模型分為6個階段可行性研究與計劃確定系統(tǒng)的目標和規(guī)模,分析項目的可行性;需求分析與規(guī)格說明明確系統(tǒng)的規(guī)格和要求;設計包括概要設計和詳細設計,將系統(tǒng)分解為模塊;編程用程序語言實現(xiàn)每個模塊,簡單容易;測試發(fā)現(xiàn)并改正錯誤,分為模塊測試、集成測試和系統(tǒng)聯(lián)調三級;運行維護擴充功能、糾錯等。7原型化方法的核心是什么它具有哪些特點答原型化方法的核心是,花費少量代價建立一個可運行的系統(tǒng),使用戶及早獲得學習的機會。強調軟件開發(fā)人員與用戶的不斷交互,通過原型的演進不斷適應用戶任務改變的需求。它是一個循環(huán)的模型。速成原型法按以下步驟循環(huán)執(zhí)行快速分析。構造原型。運行和評價原型。修改與改進。1需求工程包括哪些基本活動各項基本活動的主要任務是什么答需求工程過程包括如下主要活動獲取需求。深入實際,在充分理解用戶需求的基礎上,獲取足夠多的問題領域的知識,積極與用戶交流,捕捉、分析和修訂用戶對目標系統(tǒng)的需求,并提煉出符合解決領域問題的用戶需求。需求獲取的方法一般有問卷法、面談法、數(shù)據(jù)采集法、用例法、情景實例法以及基于目標的方法等。需求分析與建模。對已獲取的需求進行分析和提煉,進行抽象描述,建立目標系統(tǒng)的概念模型,需求概念模型的要求包括實現(xiàn)的獨立性不模擬數(shù)據(jù)的表示和內部組織等;需求模擬技術又分為企業(yè)模擬、功能需求模擬和非功能需求模擬等。進一步對所建立的模型(原型)進行分析。需求模型的表現(xiàn)形式有自然語言、半形式化如圖、表、結構化英語等和形式化表示等三種。需求規(guī)格說明。對需求模型進行精確的、形式化的描述,為計算機系統(tǒng)的實現(xiàn)提供基礎。確認需求。以需求規(guī)格說明為基礎輸入,通過符號執(zhí)行、模擬或快速原型等方法,分析和驗證需求規(guī)格說明的正確性和可行性,確保需求說明準確、完整地表達系統(tǒng)的主要特性,就是對需求規(guī)格說明與用戶達成一致。其主要任務是沖突求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法有協(xié)商、競爭、仲裁、強制、教育等,其中有些只能用人的因素去控制。需求管理。在整個需求工程過程中,貫穿了需求管理活動。需求管理主要包括跟蹤和管理需求變化,支持系統(tǒng)的需求演進。由于客戶的需要總是不斷(連續(xù))增長的,但一般的軟件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進化變化就成為軟件管理的首要問題。對于傳統(tǒng)的變化管理過程來說,其基本成分包括軟件配置、軟件基線和變化審查小組。當前的發(fā)展是軟件家族法,即產品線方法。多視點方法也是管理需求變化的一種新方法,它可以用于管理不一致性,并進行關于變化的推理。進化需求是十分必要的。2簡述抽取需求的主要方法,并比較它們的特點。面談法。這是一種重要而直接簡單,隨時可使用的發(fā)現(xiàn)和獲取需求的方法。面談的對象主要有用戶和領域專家與用戶面談主要了解和提取需求,與領域專家面談,是一個對領域知識的學習和轉換過程。使用該方法時應注意面談前要充分準備,面談后認真分析總結,同時注意掌握面談的人際交流技巧,才能取得好的效果。問卷法調查法。通過采用向用戶發(fā)問卷調查表的方式,達到徹底弄清項目需求的一種需求獲取方法。這是一種從多個用戶處收集需求信息的有效方式,是對面談法的補充。會議討論法。所謂會議討論法,是指開發(fā)方和用戶方召開若干次需求討論會議,達到徹底弄清項目需求的一種需求獲取方法。這種方法適合于開發(fā)方不清楚項目需求的情況。原型法。對于某些試驗性、探索性的項目,更是難于得到一個準確、無二義性的需求。而原型化方法(PROTOTYPINGMETHOD)是獲取這一類項目需求的有效方法。面向用例的方法。分析建立“用例”的過程,也就是提取需求的過程。在實際應用中,常常將以上方法進行綜合應用。3客戶的需要總是不斷地增長,但是一般的軟件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進化就成為軟件進化的首要問題。請說明需求變更的管理過程。答需求變更的管理是需求管理的核心內容。其主要任務是對系統(tǒng)需求變更進行跟蹤和控制。對傳統(tǒng)的變化管理過程來說,其基本內容包括軟件配置、軟件基線和變更審查等。目前推出的新的管理方法有軟件家族法,即軟件產品線方法及多視點方法等。下圖描述了需求變更的管理過程。識別出的問題問題分析和變更描述變更分析和成本計算變更實現(xiàn)修正后的需求4M公司的軟件產品以實驗型的新軟件為主。用瀑布模型進行軟件開發(fā)已經有近十年了,并取得了一些成功。若你作為一名管理人員剛加入M公司,你認為快速原型法對公司的軟件開發(fā)更加優(yōu)越,請向公司副總裁寫一份報告闡明你的理由。切記副總裁不喜歡報告長度超過一頁。參考答案提示應先簡述瀑布模型的缺點,它已不適宜開發(fā)實驗型的軟件。根據(jù)快速原型法的特點,說明它特別適合于開發(fā)探索型、實驗型的軟件。5如何畫分層數(shù)據(jù)流圖有哪些基本原則答總的原則是至頂而下,逐層分解畫分層數(shù)據(jù)流圖。逐層分解的畫法可以控制每一層的復雜度。頂層將整個系統(tǒng)作為一個加工,描述系統(tǒng)邊界輸入與輸出。中間層將某個加工分解為一組子加工,其中的子加工還需進一步分解。底層由不再進行分解的基本加工組成。畫分層數(shù)據(jù)流圖的基本原則有數(shù)據(jù)守恒與數(shù)據(jù)封閉原則。加工分解的原則。子圖與父圖“平衡”的原則。合理使用文件的原則。6加工小說明有哪些描述方法它們各有何優(yōu)缺點為什么不采用自然語言進行描述答主要的描述方法有三種;結構化語言、判定表和判定樹。結構化語言介于自然語言和形式語言如謂詞邏輯之間的的一種半形式語言,它是自然語言的一個受限制的子集。是在自然語言的基礎上加上一些約束,一般分為兩層結構外層語法較具體,為控制結構(順序、選擇、循環(huán));內層較靈活,表達“做什么”。常用結構化英語或結構化漢語表示,精確、簡明扼要、文體靈活。結構化語言特點簡單,易學,少二義性,但不好處理組合條件。判定表適用于表述比較復雜的加工邏輯,如具有多項選擇條件的操作。判定表是一種二維的表格,常用于較復雜的組合條件。通常由四部分組成,如教材表22所示。對用結構化語言不易處理的較復雜的組合條件問題,可使用判定表。判定樹本質上與判定表相同,圖形表示更易于理解。描述一般組合條件較清晰,但不易輸入計算機。9模塊分解的最終目的是什么答模塊分解的目的是將系統(tǒng)“分而治之”,以降低問題的復雜性,使軟件結構清晰,易閱讀、易理解,易于測試和調試,因而也有助于提高軟件的可靠性。10模塊分解應該遵循什么樣的標準答按照“降低塊間聯(lián)系,提高塊內聯(lián)系”的設計總則對模塊進行分解。具體從以下方面考慮1盡可能建立功能模塊;2消除重復功能;3模塊的作用范圍與控制范圍,即當作用范圍為控制范圍的子集時,才能獲得較低的塊間聯(lián)系;4模塊的大小適當;5模塊的扇入/扇出數(shù)不宜太多。也可以用軟件獨立性的兩個定性指標來度量模塊分解的標準一是耦合性。用于描述模塊之間聯(lián)系的緊密程度。從三個方面衡量塊間聯(lián)系大小方式直接或間接)類型(數(shù)據(jù)型、控制型、混合型)數(shù)量(數(shù)量越大,塊間聯(lián)系越緊密。二是內聚性。用于描述模塊內部聯(lián)系的緊密程度。它是從功能的角度來度量模塊內的聯(lián)系。顯然,塊內聯(lián)系愈緊,即內聚性愈強,模塊獨立性愈好。功能型模塊獨立性最好。1程序設計語言分為哪幾類答程序設計語言,按照語言級別可以分為兩大類低級語言和高級語言。低級語言包括機器語言和匯編語言。低級語言依賴于特定的機器,其使用復雜、繁瑣、費時、易出差錯,因而程序編寫也有一定的難度。機器語言是表示成二進制形式的機器基本指令集,或者是操作碼經過符號化的基本指令集,其存儲由語言本身決定。匯編語言比機器語言更直觀,是機器語言中地址部分符號化的結果,或進一步包括宏構造。即便是現(xiàn)在匯編語言有著生產效率低、維護困難、容易出錯的缺點,但是在實現(xiàn)與硬件系統(tǒng)接口部分時,仍然采用它,因為它易于實現(xiàn)接口,實現(xiàn)效率高。高級語言的表示方法要比低級語言更接近于待解的問題,其特點是在一定程度上與具體機器無關,易學、易用、易維護。高級語言的實現(xiàn)極大地提高了軟件的生產效率。眾多的高級語言根據(jù)不同的標準有不同的分類方式。1按照應用范圍分為通用語言與專用語言。通用語言有PASCAL、C、C、JAVA等;目標單一的語言稱為專用語言,有APT等。2按照用戶的要求分為過程式語言和非過程式語言。過程式語言的主要特征是,用戶可以指明一系列可執(zhí)行的順序運算,以表示相應的計算過程,如PASCAL、C等;非過程式語言反之,較為著名的是JAVA。3按照使用方式分為交互式語言和非交互式語言。具有反映人機交互作用的語言成分的語言成為交互式語言,如BASIC等;不反映人機交互作用的語言稱為非交互式語言,如PASCAL、C等都是非交互式語言。4按照語言的內在特點分為系統(tǒng)實現(xiàn)語言、靜態(tài)高級語言、動態(tài)高級語言和塊結構高級語言;系統(tǒng)實現(xiàn)語言例如C語言;靜態(tài)高級語言例如COBOL和FORTRAN語言;動態(tài)高級語言的特點是動態(tài)完成所有的存儲管理,如JAVA;塊結構高級語言,例如ALGOL和PASCAL語言。2程序設計語言的成分有哪些程序設計語言基本的組成成分如下數(shù)據(jù)成分,用于描述程序所涉及的數(shù)據(jù)1程序名字聲明首先聲明這個程序設計對象在這個程序中的名字,這樣避免編譯時出現(xiàn)錯誤。例如,設計一個電子時鐘,那么對于主程序完全可以對其名字聲明為CLOCK,這樣當后面進行編譯的時候就能夠識別這是已經聲明了的對象,而不再報錯。2數(shù)據(jù)類型聲明對程序實現(xiàn)時用到的各種數(shù)據(jù)的類型作一聲明,如整型、浮點型、用戶自定義類型等。運算成分,用以描述程序中所包含的運算1初始化程序設計實現(xiàn)時最常出現(xiàn)的一種錯誤就是沒有對于要運算的數(shù)據(jù)初始化,即沒有賦予一個合適的初始數(shù)據(jù),結果造成了編譯或運行時出錯。2運算對象運算對象是程序執(zhí)行時要運行的對象,包括一個算術表達式或者一個邏輯表達式,或者是一個完整的語言,例如賦值語句等??刂瞥煞?,用以描述程序中所包含的控制。1順序控制結構順序執(zhí)行的語句構成了順序結構。2循環(huán)控制結構常見的循環(huán)控制結構有FOR語句和WHILE語句,至于它們的基本使用以及表達形式這里不再贅述。3分支控制結構常見的分支控制結構有IF語句和SWITCHCASE語句兩種,另外IF語句中又分為帶ELSE和不帶ELSE語句兩種。傳輸成分,用以表達程序中數(shù)據(jù)的傳輸。傳輸成分包括基本的輸入和輸出。3程序設計語言的選擇對應用程序的開發(fā)有什么樣的影響答通常應根據(jù)軟件系統(tǒng)的應用特點,程序設計語言的內在特性以及系統(tǒng)的性能要求等方面來進行選擇。程序設計語言的選擇應該考慮以下因素項目的應用領域。應盡量選取適合某個應用領域的語言。例如,選擇VISUALBASIC來開發(fā)數(shù)據(jù)庫應用就比選擇VISUALC要容易一些。算法和計算復雜性。要根據(jù)不同語言的特點來選取能夠適應軟件項目算法和計算復雜性的語言。例如,對于科學計算較多的應用一般會考慮選擇FORTRAN語言。軟件的執(zhí)行環(huán)境。要選取機器上能運行且具有相應支持軟件的語言。例如,在嵌入式系統(tǒng)中(這類系統(tǒng)的硬件資源往往較少),軟件開發(fā)語言多為C/C、JAVA。性能因素。應結合工程具體性能來考慮,例如實時系統(tǒng)對響應速度有特殊要求,就應選擇匯編語言、C語言等。數(shù)據(jù)結構的復雜性。要根據(jù)不同語言構造數(shù)據(jù)結構類型的能力選取合適的語言。C、JAVA這樣的高級語言顯然比匯編語言的表達能力要強。軟件開發(fā)人員的知識水平以及心理因素。知識水平包括開發(fā)人員的專業(yè)知識,程序設計能力;心理因素是指開發(fā)人員對某種語言或工具的熟悉程度。從技術的層面來講,大多數(shù)的任務用任何一門高級語言都可以完成,所以選擇開發(fā)者熟悉的語言是可以提高效率的。為此,要盡量避免受外界的影響,盲目追求高、新的語言。4結構化程序設計的特點是什么為什么要采用結構化程序設計答結構程序設計的概念最早是由EWDIJKSTRA提出來的,他指出“可以從高級語言中取消GOTO語句,程序質量與程序中所包含的GOTO語句的數(shù)量成反比”。并指出結構程序設計并非簡單的取消GOTO語句,而是創(chuàng)立一種新的程序設計思想、方法和風格,以顯著提高軟件生產率和質量。提高程序可讀性的關鍵是使程序結構簡單清晰,結構化程序設計(SP)方法是達到這一目標的重要手段。結構化程序設計是一種程序設計技術,它采用自頂向下,逐步求精的程序設計方法和單入口和單出口的控制結構。具體來說,結構化程序設計技術主要具有以下特點(1)自頂而下,逐步求精這種逐步求精的思想符合人類解決復雜問題的普遍規(guī)律,從而可以顯著提高軟件開發(fā)的效率。而且這種思想還體現(xiàn)了“先全局,后局部”、“先抽象,后具體”的方法,使開發(fā)的程序層次結構清晰,易讀、易理解還易驗證,因而提高了程序的質量。將程序自頂向下逐步細化的分解過程用一個樹狀結構來描述,如下圖所示。(2)單入口和單出口的控制結構結構化的程序是由且僅由順序、選擇、循環(huán)三種基本控制結構組成,既保證了程序結構清晰,又提高了程序代碼的可重用性。這三種基本結構可以組成所有的各種復雜程序。結構化程序設計的基本原理中一個重要的概念是“模塊化”。因為要實現(xiàn)結構化的程序設計總體的思想是自頂向下,逐步求精,分而治之。相應的結構化程序設計的步驟如下圖所示。模塊是由邊界元素限定的相鄰的程序元素的序列,而且有一個總體標志符來代表它。所謂模塊化,即是將一個大任務分成若干個較小的任務,較小的任務又細分為更小的任務,直到更小的任務只能解決功能單一的任務為止,一個小任務稱為一個模塊。各個模塊可以分別由不同的人編寫和調試。把大任務逐步分解成小任務的過程可以稱為是“自頂向下,逐步細化”的過程。提出和分析問題確定數(shù)學模型設計算法模塊化編程程序整個編譯、運行對于模塊的設計和實現(xiàn)有以下5條基本的標準可分解性可組裝性可理解性連續(xù)性保護性遵循以上標準是進行結構化程序設計時運用模塊化原理的基本準則,這樣設計出來的程序不但軟件結構清晰,而且代碼也有很好的可讀性和可維護性。6算法轉換的指導原則是什么答轉換過程中的指導原則是1在編碼前,盡可能化簡有關的算術表達式和邏輯表達式。2仔細檢查算法中嵌套的循環(huán),盡可能將某些語句或表達式移到循環(huán)外面。3盡量避免使用多維數(shù)組。4盡量避免使用指針和復雜的表。5采用“快速”的算術運算。6不要混淆數(shù)據(jù)類型,避免在表達式中出現(xiàn)類型混雜。7盡量采用整數(shù)算術表達式和布爾表達式。8選用等效的高效率算法。上述的原則要在轉換時統(tǒng)籌考慮,而不應該教條地使用。例如,程序員謹守的一條原則就是盡量不用GOTO語句,但是當要從一個嵌套很深的循環(huán)中直接跳出來時,GOTO語句就能很好地發(fā)揮作用。7影響軟件代碼效率的因素有哪些答算法對效率的影響關于算法的轉換指導原則,在一定程度上減小了算法對效率的影響。從這一點能夠看出算法直接影響到的是程序,進而影響到了整個代碼的效率問題。故而在轉換時需要注意之外,在程序設計和實現(xiàn)時同樣需要考慮效率的問題。存儲效率處理器的分頁調度和分段調度的特點決定了文件的存儲效率,同樣對于代碼也存在這個問題。一般來說使用能保持功能域的結構化控制結構是提高效率的好辦法。提高效率的辦法通常也是提高存儲效率的方法。輸入輸出效率輸入和輸出的效率決
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學音樂一年級上冊《恭喜恭喜》素養(yǎng)導向教學設計
- 聚焦核心素養(yǎng) 實施精準教學-人教版七年級英語下冊Unit 10‘I'd like some noodles.’單元重點解析與教學設計
- 小學英語語言運用與情境交際基礎清單(三年級上冊·湘少版)
- 河南省安鶴新聯(lián)盟高三上學期12月聯(lián)考試題英語
- 2026廣東佛山三水區(qū)華僑中學招聘合同教師3人備考題庫附參考答案詳解(滿分必刷)
- 2026上海復旦大學計算與智能創(chuàng)新學院招聘專任副研究員1名備考題庫帶答案詳解(黃金題型)
- 七年級英語形容詞副詞比較級試卷
- 徐州市法院系統(tǒng)招聘考試真題2025
- 建筑室內裝飾GRG聲學造型聲學測試
- 建筑幕墻鋁型材耐候性加速試驗方法
- 2025年北京東城區(qū)天街集團有限公司招聘筆試參考題庫含答案解析
- 結腸炎與腸道菌群的關系
- 婚前教育手冊
- 2024家用電視機定制合同2篇
- 護理壓瘡應急預案
- 工地灌漿包工合同范例
- 咨詢合同模板
- 2024年《國際貨運代理實務》考試復習題庫資料(含答案)
- 時速160公里動力集中動車組動力車講解
- 楊樹病蟲害防治方法
- 乳腺炎與乳腺癌關聯(lián)研究
評論
0/150
提交評論