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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

软件工程复试面试问题总结(二)

發(fā)布時間:2023/12/18 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程复试面试问题总结(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

可行性研究

為什么要進(jìn)行可行性研究

用最小的代價、在盡可能短的時間內(nèi)確定問題是否能被解決。(注意:不是去解決問題)

可行性研究工具有哪些?

  • 系統(tǒng)流程圖:系統(tǒng)流程圖是概括的描繪物理系統(tǒng)的傳統(tǒng)工具。
  • 數(shù)據(jù)流圖:描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中經(jīng)受的變換。
  • 數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合,是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。
  • 請介紹一下可行性研究的方法

    首先分析問題,試探性的導(dǎo)出問題的各種解,然后進(jìn)行各種分析和比較,選擇和推薦可行的解決方案。采用系統(tǒng)流程圖描述物理數(shù)據(jù)流;運用數(shù)據(jù)流圖并結(jié)合數(shù)據(jù)字典構(gòu)建系統(tǒng)的邏輯模型。可行性研究的結(jié)果產(chǎn)生可行性研究報告。

    軟件需求分析的任務(wù)是什么?有哪些主要步驟?

    任務(wù)

    一、確定對系統(tǒng)的綜合要求

    (1)功能需求:明確所開發(fā)的軟件必須具備什么樣的功能
    (2)性能需求:明確待開發(fā)的軟件的技術(shù)性能指標(biāo)
    (3)環(huán)境需求:明確軟件運行時所需要的軟、硬件的要求
    (4)用戶界面需求:明確人機(jī)交互方式、輸入輸出數(shù)據(jù)格式

    二、分析系統(tǒng)的數(shù)據(jù)要求(任何一個軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計有深遠(yuǎn)影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個重要任務(wù)。)

    三、?導(dǎo)出系統(tǒng)的邏輯模型(綜合上述兩項分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。)

    四、?修正系統(tǒng)開發(fā)計劃(根據(jù)在分析過程中獲得的對系統(tǒng)的更深入更具體的了解,可以比較準(zhǔn)確地估計系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計劃。)

    步驟

    1.需求獲取:從分析當(dāng)前系統(tǒng)包含的數(shù)據(jù)開始,系統(tǒng)需求包括用戶對軟件功能的需求和界面的需求。

    2.需求提煉:分析建模:圖像化的分析模型包括數(shù)據(jù)流圖,實體關(guān)系圖,控制流圖,狀態(tài)轉(zhuǎn)換圖,用例圖,類對象關(guān)系及其行為圖等。除系統(tǒng)模型外,更有系統(tǒng)關(guān)聯(lián)圖,創(chuàng)建用戶接口原型,確定需求優(yōu)先級別等。

    3.需求描述:編寫統(tǒng)一格式的文檔。

    4.需求驗證:改善需求中的二義性,不一致的問題。

    總體設(shè)計

    總體設(shè)計過程分:

    系統(tǒng)設(shè)計過程確定系統(tǒng)的具體實現(xiàn)方案?

    結(jié)構(gòu)設(shè)計階段確定軟件結(jié)構(gòu)

    詳細(xì)設(shè)計

    詳細(xì)設(shè)計的根本目標(biāo)是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序

    主要任務(wù)是過程設(shè)計。需要注意,過程設(shè)計應(yīng)該在數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計和接口設(shè)計之后進(jìn)行,過程設(shè)計的主要內(nèi)容是設(shè)計解題的詳細(xì)步驟,即算法。

    接口設(shè)計中,人機(jī)界面設(shè)計是一個重要組成部分,設(shè)計原理是一個迭代過程,反復(fù)琢磨逐步求精。

    軟件測試的目標(biāo)是什么,主要有哪幾種測試方法??

    軟件測試的目的:

    (1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;

    (2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;

    (3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。

    從是否關(guān)心內(nèi)部結(jié)構(gòu)來看分為

    (1)白盒測試:又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試,是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計測試數(shù)據(jù)并完成測試的一種測試方法。

    2)黑盒測試:又稱為數(shù)據(jù)驅(qū)動測試,把測試對象當(dāng)做看不見的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程的情況下,測試者僅依據(jù)程序功能的需求規(guī)范考慮,確定測試用例和推斷測試結(jié)果的正確性,它是站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進(jìn)行的測試。

    3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結(jié)合在一起,是基于程序運行時的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)來設(shè)計用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶接口結(jié)果的測試技術(shù)

    軟件測試的過程有哪幾個步驟?

    單元測試:檢查各個程序模塊是否完成了功能
    集成測試:把測試過的模塊組裝起來,測試軟件體系結(jié)構(gòu)
    確認(rèn)測試:檢查已經(jīng)實現(xiàn)的軟件是否滿足了需求規(guī)格說明書的需求
    系統(tǒng)測試:把已經(jīng)確認(rèn)的軟件納入實際運行環(huán)境,與其他系統(tǒng)成分一起測試
    驗收測試:向用戶表明系統(tǒng)已經(jīng)符合了用戶預(yù)期標(biāo)準(zhǔn)

    什么是軟件調(diào)試?有哪些調(diào)試方法?

    軟件調(diào)試,是在測試成功后進(jìn)行的工作,用以進(jìn)一步診斷和改正程序中的潛在錯誤。

    調(diào)試由兩部分組成:1.確定程序中可疑錯誤的確切性質(zhì)和位置2.對程序修改,排除這個錯誤。

    主要的調(diào)試方法有:1.強(qiáng)行排錯2.回溯法調(diào)試3.對分查找法4.歸納法5.演繹法

    軟件維護(hù)的目標(biāo)是什么,有哪幾種維護(hù)類型?

    目標(biāo):糾正在使用過程中暴露出來的錯誤而進(jìn)行的改進(jìn)型維護(hù),適應(yīng)外部環(huán)境的變化而進(jìn)行的適應(yīng)性維護(hù),改進(jìn)原有的軟件而進(jìn)行的完善性維護(hù),以及改進(jìn)將來的可維護(hù)性和可靠性而進(jìn)行的預(yù)防性維護(hù)。
    類型
    (1)糾錯性維護(hù):由于前期的測試不可能揭露軟件系統(tǒng)中所有潛在的錯誤,用戶在使用軟件時仍將會遇到錯誤,診斷和改正這些錯誤的過程稱為糾錯性維護(hù)。
    (2)適應(yīng)性維護(hù):由于新的硬件設(shè)備不斷推出,操作系統(tǒng)和編譯系統(tǒng)也不斷地升級,為了使軟件能適應(yīng)新的環(huán)境而引起的程序修改和擴(kuò)充活動稱為適應(yīng)性維護(hù)。
    (3)完善性維護(hù):在軟件的正常使用過程中,用戶還會不斷地提出新的需求。為了滿足用戶新的需求而增加軟件功能的活動稱為完善性維護(hù)。

    簡述提高軟件質(zhì)量的主要措施

    復(fù)審:是在軟件生命周期每個階段結(jié)束之前,都采用一定的標(biāo)準(zhǔn)對該段產(chǎn)生的軟件配置成分進(jìn)行嚴(yán)格的正式或非正式的檢測。

    復(fù)查:是檢查已有的材料,以斷定在軟件生命周期某個階段的工作是否能開始或繼續(xù)。

    管理復(fù)審:是向開發(fā)組織或使用部門的管理人員提供有關(guān)項目的總體狀況、成本和進(jìn)度等方面的情況,以便他們從管理角度對開發(fā)工作進(jìn)行審查。

    測試:包括測試計劃、測試過程和測試結(jié)果3個階段。

    選擇一種程序設(shè)計語言的主要有哪些依據(jù)?

    為了使程序容易測試和維護(hù)以減少生命周期的總成本,選用的高級語言應(yīng)該有理想的模塊化機(jī)制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)

    為了便于調(diào)試和提高軟件可靠性,語言特點應(yīng)該使編譯程序能夠盡可能多地發(fā)現(xiàn)程序中的錯誤

    為了降低軟件開發(fā)和維護(hù)的成本,選用的語言應(yīng)該有良好的獨立編譯機(jī)制

    上述這些要求是選擇語言的理想標(biāo)準(zhǔn),但是在實際選用語言時不能僅僅考慮理論上的標(biāo)準(zhǔn),還必須同時考慮實用方面的各種限制。 (1)系統(tǒng)用戶的要求 (2)可以使用的編譯程序 (3)可以得到的軟件工具 (4)系統(tǒng)規(guī)模 (5)程序員的知識 (6)軟件可移植性要求 (7)軟件的應(yīng)用領(lǐng)域
    ?

    基本的軟件設(shè)計原理有哪些?

    模塊化(使復(fù)雜問題“分而治之”)
    抽象(抓事務(wù)本質(zhì)特征,先不考慮細(xì)節(jié))
    逐步求精(集中精力先解決主要問題,盡量推遲對細(xì)節(jié)的考慮)
    信息隱藏和局部化(將某些模塊的某些過程和數(shù)據(jù)隱藏起來,其他模塊不能訪問它)
    模塊獨立性(模塊獨立性是模塊化、抽象、信息隱藏的直接產(chǎn)物)
    ?

    總結(jié)

    以上是生活随笔為你收集整理的软件工程复试面试问题总结(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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