日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程(吕云翔第二版)部分简答题答案

發(fā)布時間:2023/12/10 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程(吕云翔第二版)部分简答题答案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡答題

做過的練習(xí),答案不一定對

第一章

  • 與計算機(jī)硬件相比,計算機(jī)軟件有哪些特點?
  • 答:①軟件具有抽象性、②軟件的生產(chǎn)與硬件的制造不同、③軟件會退化、④軟件的開發(fā)尚未完全擺脫手工藝的開發(fā)方式、⑤軟件開發(fā)和運(yùn)行必須依附于特定的計算機(jī)系統(tǒng)環(huán)境

  • 為什么說軟件工程的發(fā)展可以在一定程度上解決軟件危機(jī)的各種弊端?
  • 請簡述軟件工程的基本原則。
  • 答:①用分階段的生命周期計劃進(jìn)行嚴(yán)格的管理

    ②堅持進(jìn)行階段評審

    ③實行嚴(yán)格的產(chǎn)品控制

    ④采用現(xiàn)代程序設(shè)計技術(shù)

    ⑤軟件工程結(jié)果應(yīng)能被清楚地審查

    ⑥開發(fā)小組的人員應(yīng)該少而精

    ⑦承認(rèn)不斷改進(jìn)軟件工程實踐的必要性

  • 請簡述軟件工程研究的內(nèi)容。
  • 請簡述軟件工三要素
  • 答:過程、方法、工具

  • 請簡述軟件工程的目標(biāo)。
  • 通常有哪幾種軟件開發(fā)方法?
  • 答:①結(jié)構(gòu)化方法

    ②面向數(shù)據(jù)結(jié)構(gòu)方法

    ③面向?qū)ο蠓椒?/span>

    ④形式化方法

  • 請列舉你所知道的軟件工程
  • 第二章

  • 如何理解軟件生命周期的內(nèi)在特征?
  • 答:軟件產(chǎn)品的生命周期是指從設(shè)計該產(chǎn)品的構(gòu)想開始,到軟件需求的確定、軟件設(shè)計、軟件實現(xiàn)、產(chǎn)品測試與驗收、投入使用以及產(chǎn)品版本的不斷更新,到最終該產(chǎn)品被市場淘汰的全過程。軟件生命周期這個概念從時間的角度將軟件的開發(fā)和維護(hù)的復(fù)雜過程分解為了若干個階段,每個階段都完成特定的相對獨立的任務(wù)。由于每個階段的任務(wù)相對于總?cè)蝿?wù)難度會大幅度降低,在資源分配時間把握和項目管理上都會比較容易控制。合理地劃分軟件生命周期的各個階段,使各個階段之間既相互區(qū)別又相互聯(lián)系,為每個階段賦予特定的任務(wù)。

  • 請對比瀑布模型、快速原型模型、增量模型和螺旋模型
  • 在統(tǒng)一軟件開發(fā)過程模型中核心工作流程包含哪些?
  • 答:業(yè)務(wù)建模、需求、分析和設(shè)計、實現(xiàn)、測試和部署

  • 當(dāng)需求不能一次搞清楚,且系統(tǒng)需求比較復(fù)雜時應(yīng)選用哪種開發(fā)模型比較適合?
  • 敏捷過程的核心價值觀有哪些?它對傳統(tǒng)方法的“反叛”體現(xiàn)在哪些方面?
  • 答:核心價值觀:

    ①個體與交互高于過程和工具

    ②可運(yùn)行軟件高于詳盡的文檔

    ③與客戶協(xié)作高于合同(契約)

    ④對變更及時響應(yīng)高于遵循計劃

    體現(xiàn):

    敏捷方法對傳統(tǒng)方法的“反叛”體現(xiàn)在以人為中心,不再依靠文檔來控制過 程,認(rèn)為傳統(tǒng)過程過于僵化,文檔繁瑣,主張對傳統(tǒng)過程“瘦身”,在上述價 值觀的支配下,做到能夠為準(zhǔn)。

  • 什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?
  • 某大型企業(yè)計劃開發(fā)一個“綜合信息管理系統(tǒng)”,該系統(tǒng)涉及銷售、供應(yīng)、財務(wù)、生產(chǎn)人力資源等多個部門的信息管理。該企業(yè)的想法是按部門優(yōu)先級別乏別逐個實現(xiàn),邊應(yīng)用邊開發(fā)。對此,需要一種比較合適的過程模型。請對這個過程模型做出符合應(yīng)用需要的選擇,并說明選擇理由。
  • 第四章

  • 如何理解需求分析的作用和重要性
  • 答:需求分析是一個非常重要的過程,它完成的好壞直接影響了后續(xù)軟件開發(fā)的質(zhì)量。

  • 常用的需求獲取的方法有哪些?對比各種方法的優(yōu)缺點。
  • 如何理解結(jié)構(gòu)化需求分析方法的基本思想
  • 答:結(jié)構(gòu)化的需求分析方法是一種面向數(shù)據(jù)流的需求分析方法,其中數(shù)據(jù)作為獨立實體轉(zhuǎn)換,數(shù)據(jù)建模定義了數(shù)據(jù)的屬性和關(guān)系,操作數(shù)據(jù)的處理建模表明當(dāng)數(shù)據(jù)在系統(tǒng)流動時處理如何轉(zhuǎn)換數(shù)據(jù)。

  • 請簡述數(shù)據(jù)流圖的作用
  • 請簡述數(shù)據(jù)字典的作用。
  • 答:數(shù)據(jù)字典用于定義數(shù)據(jù)流圖中各個圖元的具體內(nèi)容,為數(shù)據(jù)流圖中出現(xiàn)的圖形元素做出確切的解釋。

  • 請簡述E-R圖的作用。
  • 請簡述狀態(tài)圖的作用。
  • 第五章

  • 請簡述軟件設(shè)計與需求分析的關(guān)系。
  • 答:軟件設(shè)計就是要把需求規(guī)格說明書中歸納的需求轉(zhuǎn)換為可行的解決方案,并把解決方案反映到設(shè)計說明書里。需求分析回答軟件系統(tǒng)能“做什么”的問題,而軟件設(shè)計就是要解決“怎么做的問題”。

  • 請簡述軟件設(shè)計的目標(biāo)和任務(wù)。
  • 請簡述在軟件設(shè)計的過程中需要遵循的規(guī)則。
  • 軟件設(shè)計如何分類,分別有哪些活動?
  • 什么是模塊、模塊化軟件設(shè)計為什么要模塊化?
  • 答:模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?#xff0c;是構(gòu)成程序的基本構(gòu)件,可以被單獨命名并通過名字來訪問。

    模塊化是把系統(tǒng)或程序劃分為獨立命名并且可以獨立訪問的模塊,每個模塊完成一個特定的子功能。

    軟件模塊化的目的是建立可重用的軟件組件,在不需要修改或僅作少量修改的情況下,可再次用來組建新的軟件系統(tǒng),提高軟件的開發(fā)周期和可靠性。

  • 請簡述結(jié)構(gòu)化設(shè)計的優(yōu)點
  • 請簡述面向數(shù)據(jù)流的設(shè)計方法的主要思想。
  • 答:主要是指依據(jù)一定的映射規(guī)則,將需求分析階段得到的數(shù)據(jù)描述、系統(tǒng)的輸入端到輸出端所經(jīng)歷的一系列變換或處理的數(shù)據(jù)流圖轉(zhuǎn)換為目標(biāo)系統(tǒng)的結(jié)構(gòu)描述

  • 請簡述用戶界面設(shè)計應(yīng)該遵循的原則。
  • 改進(jìn)的Jackson圖與傳統(tǒng)的Jackson圖相比有哪些優(yōu)點?
  • 答:可以清晰地表示層次結(jié)構(gòu),易于對自頂向下的結(jié)構(gòu)進(jìn)行描述;

    結(jié)構(gòu)易懂、易用,并且比較直觀、形象;

    不僅可以表示數(shù)據(jù)結(jié)構(gòu),也可以表示程序結(jié)構(gòu);

  • 為什么說“高內(nèi)聚、低耦合”的設(shè)計有利于提高系統(tǒng)的獨立性?
  • 第六章

  • 請簡述面向?qū)ο蟮幕靖拍睢?/li>
  • 與結(jié)構(gòu)化開發(fā)過程相比,?為什么面向?qū)ο竽芨鎸嵉胤从晨陀^世界?
  • 什么是面向?qū)ο蠓椒?面向?qū)ο蠓椒ǖ奶攸c有哪些
  • 答:面向?qū)ο蟮姆椒ㄊ菫榱四M現(xiàn)實世界,使各種不同的現(xiàn)實世界系統(tǒng)在計算機(jī)中得以實現(xiàn),進(jìn)而為工作、學(xué)習(xí)、生活提供幫助

    面向?qū)ο蟮奶攸c:

    • 把數(shù)據(jù)和操作封裝在一起,形成對象。對象是構(gòu)成軟件系統(tǒng)的基本構(gòu)件
    • 把特征相似的對象抽象為類
    • 類之間可以存在繼承或被繼承的關(guān)系,形成軟件系統(tǒng)的層次結(jié)構(gòu)
    • 對象類之間通過發(fā)送消息進(jìn)行通信
    • 將對象的私有信息封裝起來。
  • 什么是類?類與傳統(tǒng)的數(shù)據(jù)類型有什么關(guān)系?
  • 與傳統(tǒng)的軟件工程方法相比,面向?qū)ο蟮能浖こ谭椒ǚㄓ心男﹥?yōu)點?
  • UML的作用和優(yōu)點有哪些?
  • 答:UML的作用:UML是一種通用的可視化建模語言,可以用來描述、可視化、構(gòu)造和文檔化軟件密集系統(tǒng)的各種工作

    UML的優(yōu)點:

    • UML語言使系統(tǒng)建模過程標(biāo)準(zhǔn)化,統(tǒng)一化,規(guī)范化。
    • UML在整個軟件開發(fā)過程中采用相同的概念和表示方法,在不同的開發(fā)階段,不必轉(zhuǎn)換概念和表示方法,避免了傳統(tǒng)軟件開發(fā)方法的兩個鴻溝。
    • UML采用圖形化的表現(xiàn)形式。產(chǎn)生的模型易于理解,易于開發(fā)人員與用戶之間的溝通,從而能夠及時得到用戶的反饋信息。
    • 用UML進(jìn)行系統(tǒng)建模所得到的建模制品不僅僅包括各種模型框圖,還有大量豐富的文檔,這些文檔給系統(tǒng)后期的維護(hù)工作帶來了便捷。
    • UML不是一門程序設(shè)計語言,但可以使用代碼生成工具將UML模型轉(zhuǎn)換為多種程序設(shè)計語言代碼,或使用反向生成工具將程序源代碼轉(zhuǎn)換為UML模型。
  • 如何著手從自然語言描述的用戶需求中畫出用例圖?
  • 用例腳本有何作用?
  • 類之間的外部關(guān)系有至有幾種類型?每種關(guān)系表達(dá)什么語義
  • 答:類之間的外部關(guān)系:關(guān)聯(lián)、依賴、泛化、實現(xiàn)

    關(guān)聯(lián):表達(dá)模型元素間的一種語義關(guān)系

    依賴:表示的兩個元素之間語義上的聯(lián)系

    泛化:描述類的一般-特殊關(guān)系

    實現(xiàn):將一個模型連接到另外一個模型

    第七章

  • 對比面向?qū)ο笮枨蠓治龇椒ê徒Y(jié)構(gòu)化需求分析方法。
  • 類之間的外部關(guān)系有幾種類型?每種關(guān)系表達(dá)什么語義?
  • 請簡述面向?qū)ο蠓治龅脑瓌t。
  • 請簡述面向?qū)ο蠓治龅倪^程。
  • 答:①首先要找到系統(tǒng)的操作者,既用例的參與者

    ②可以把參與者執(zhí)行的每一個系統(tǒng)功能都看作一個用例

    ③確定了系統(tǒng)的所有用例之后,就可以開始識別目標(biāo)系統(tǒng)中的對象和類了,把具有相似屬性和操作的對象定義為了一個類

  • 什么是動態(tài)模型?
  • 答:動態(tài)模型描述對象和關(guān)系的狀態(tài)、狀態(tài)轉(zhuǎn)換的觸發(fā)事件、對象的服務(wù)(行為)。

  • 什么是對象模型?
  • 答:對象模型描述了現(xiàn)實世界中的“類與對象”以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)

  • 什么是功能模型
  • 答:功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成

    第八章

  • 什么是軟件體系結(jié)構(gòu)?
  • 軟件體系結(jié)構(gòu)的作用體現(xiàn)在哪些方面?
  • 答:規(guī)范軟件開發(fā)的基礎(chǔ)結(jié)構(gòu)便于開發(fā)人員與用戶的溝通;模塊化、層次化設(shè)計,有利于減少返工提高效率便于系統(tǒng)開發(fā)前期、后期的籌備與服務(wù)

  • 典型的體系結(jié)構(gòu)風(fēng)格有哪些?它們各自有什么特點?
  • 什么是軟件質(zhì)量屬性?
  • 答:軟件質(zhì)量屬性是指軟件系統(tǒng)在其生存周期過程中所表現(xiàn)出的各種特征

  • 客戶機(jī)/服務(wù)器體系結(jié)構(gòu)有什么特點
    • 通過合理地劃分三層結(jié)構(gòu),使之在邏輯上保持獨立,提高系統(tǒng)的可維護(hù)和可擴(kuò)展性
    • 更靈活地選用相對應(yīng)的平臺和應(yīng)用系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)各層的要求并且這些平臺和組成部分可以具體良好的可升級性和開放性
    • 應(yīng)用的各層可以獨立地并行開發(fā)每層可以根據(jù)自己的特點選用合適的開發(fā)語言
    • 安全相對較高,應(yīng)用層屏蔽了客戶直接訪問數(shù)據(jù)庫的權(quán)利,使得未授權(quán)用戶或黑客難以繞應(yīng)用層直接獲取敏感數(shù)據(jù),為數(shù)據(jù)的安全管理提供了系統(tǒng)結(jié)構(gòu)的支持
  • MVC模型有什么特點?
  • 答:MVC可以最大化地重用代碼,且靈活性極高

  • 什么是設(shè)計模式?常用的設(shè)計模式有哪些?
  • 良好的軟件體系結(jié)構(gòu)設(shè)計有什么好處?
  • 第九章

  • 請比較結(jié)構(gòu)化軟件設(shè)計方法和面向?qū)ο筌浖O(shè)計方法
  • 請簡述面向?qū)ο笤O(shè)計的啟發(fā)規(guī)則。
  • 請簡述面向?qū)ο蟮脑O(shè)計原則
  • 答:①模塊化、②抽象化、③信息隱藏、④低耦合、⑤高內(nèi)聚、⑥復(fù)用性

  • 請簡述系統(tǒng)設(shè)計和對象設(shè)計。
  • 答:系統(tǒng)設(shè)計關(guān)注于確定實現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)。

    對象設(shè)計以問題域的對象設(shè)計為核心,其結(jié)果是一個詳細(xì)的對象模型

    第十章

  • 在選擇編程語言時,通常要考慮哪些因素?
  • 請簡述編程風(fēng)格的重要性。要形成良好的編程風(fēng)格可以從哪些方面做起?
  • 答:重要性:具有良好編程風(fēng)格的源程序具有較強(qiáng)的可讀性、可維護(hù)性、同時還能提高團(tuán)隊開發(fā)的效率。良好的個人編程風(fēng)格是一個優(yōu)秀程序員素質(zhì)的一部分。

    <2>①版權(quán)和版本聲明、②程序版本、③注釋、④命名規(guī)則、⑤數(shù)據(jù)說明、⑥語句構(gòu)造、⑦輸入\輸出、⑧效率

  • 編程語言主要有哪幾類?總結(jié)每類語言的優(yōu)缺點
  • 答:①機(jī)器語言

    優(yōu)點:執(zhí)行速度快

    缺點:對程序員的要求較高,花費時間長,直觀性差,容易出錯

    ②匯編語言

    優(yōu)點:可高效地訪問、控制計算機(jī)的各種硬件設(shè)備

    缺點:不能直接識別匯編語言

    ③高級語言

    優(yōu)點:易懂、易記、易改、移植性較強(qiáng)

    缺點:經(jīng)過解釋或編譯才能被計算機(jī)識別、執(zhí)行,其效率比匯編語言還低

    ④超高級語言

    優(yōu)點:易懂、易記、易改、移植性較強(qiáng)

    缺點:經(jīng)過解釋或編譯才能被計算機(jī)識別、執(zhí)行,其效率比匯編語言還低

  • 對標(biāo)識符命名時,要注意哪些原則?
  • 為什么要對源程序進(jìn)行注釋?
  • 答:注釋有利于軟件開發(fā)人員之間以及開發(fā)人員和用戶之間進(jìn)行交流的重要途徑,有利于日后的軟件維護(hù)。

    總結(jié)

    以上是生活随笔為你收集整理的软件工程(吕云翔第二版)部分简答题答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。