哈工程軟件工程簡答題20160422_第1頁
哈工程軟件工程簡答題20160422_第2頁
哈工程軟件工程簡答題20160422_第3頁
哈工程軟件工程簡答題20160422_第4頁
哈工程軟件工程簡答題20160422_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件的定義 (1)指令的集合(計(jì)算機(jī)程序),通過執(zhí)行這些指令來滿足預(yù)期的特征、功能和性能需求; (2)數(shù)據(jù)結(jié)構(gòu),使得程序可以合理利用信息; (3)文檔描述,用來描述程序操作和使用。軟件的特性(1)軟件是設(shè)計(jì)開發(fā)的,而不是傳統(tǒng)意義上生產(chǎn)制造的。(2)軟件不會(huì)“磨損”。(3)雖然整個(gè)工業(yè)向著基于構(gòu)件的構(gòu)造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實(shí)際的顧客需求定制的。遺留軟件的變更(1)軟件必須進(jìn)行適應(yīng)性調(diào)整,以滿足新的計(jì)算環(huán)境和技術(shù)的需求。(2)軟件必須升級以實(shí)現(xiàn)新的商業(yè)需求。(3)軟件必須擴(kuò)展使之具有與更多現(xiàn)代系統(tǒng)和數(shù)據(jù)庫的互操作能力。(4)軟件必須進(jìn)行改建使之能適應(yīng)多樣化的網(wǎng)絡(luò)環(huán)境。軟件工程定義(種子

2、)(軟件工程是)建立和使用一套合理的工程原則,以便經(jīng)濟(jì)地獲得可靠的、可以在實(shí)際機(jī)器上高效運(yùn)行的軟件。普適性活動(dòng) 軟件項(xiàng)目跟蹤和控制風(fēng)險(xiǎn)管理軟件質(zhì)量保證技術(shù)評審測量軟件配置管理可復(fù)用管理工作產(chǎn)品的準(zhǔn)備和生產(chǎn)HOOKER的一般原則:n 1: 存在價(jià)值n 2: 保持簡潔n 3: 保持愿景n 4: 關(guān)注使用者n 5: 面向未來n 6: 計(jì)劃復(fù)用n 7: 認(rèn)真思考過程流(能畫圖)增量模型(描述模型、適用性描述并能畫圖)n 模型描述:1.綜合了線性過程流和并行過程流的特征。2.每個(gè)增量都提交一個(gè)可以運(yùn)行的產(chǎn)品。n 適用情形:初始的軟件需求明確,但是整個(gè)開發(fā)過程卻不宜單純運(yùn)用線性模型。同時(shí),可能迫切需要為用

3、戶迅速提供一套功能有限的軟件產(chǎn)品,然后在后續(xù)版本中再進(jìn)行細(xì)化和擴(kuò)展功能。螺旋模型(描述模型、適用性描述并能畫圖)描述模型:1.是一種風(fēng)險(xiǎn)驅(qū)動(dòng)型的過程模型生成器。對于軟件集中的系統(tǒng),可以指導(dǎo)多個(gè)利益相關(guān)者協(xié)同工作。2.采用循環(huán)的方式逐步加深系統(tǒng)定義和實(shí)現(xiàn)的深度,同時(shí)降低風(fēng)險(xiǎn)。3.確定一系列里程碑,確保利益相關(guān)者都支持可行的和令人滿意的系統(tǒng)解決方案。4.第一圈開發(fā)出系統(tǒng)的規(guī)格說明,第二圈開發(fā)出產(chǎn)品的原型系統(tǒng),以后逐次完善,開發(fā)不同的軟件版本。不斷調(diào)整項(xiàng)目計(jì)劃,根據(jù)交付用戶的反饋調(diào)整預(yù)算和進(jìn)度、以及迭代次數(shù)。適用性描述:螺旋模型是開發(fā)大型系統(tǒng)和軟件的理想方法。設(shè)計(jì)模型:(1) 數(shù)據(jù)設(shè)計(jì):<1&

4、gt;將類模型轉(zhuǎn)化為設(shè)計(jì)類的實(shí)現(xiàn)以及軟件實(shí)現(xiàn)所要求的數(shù)據(jù)結(jié)構(gòu)。<2>CRC圖中定義的對象和關(guān)系、類屬性和其他表示法刻畫的詳細(xì)數(shù)據(jù)內(nèi)容為數(shù)據(jù)設(shè)計(jì)活動(dòng)提供了基礎(chǔ)。(2) 體系結(jié)構(gòu)設(shè)計(jì):<1>定義軟件的主要構(gòu)造元素之間的關(guān)系<2>可用于達(dá)到系統(tǒng)所定義的體系結(jié)構(gòu)風(fēng)格和設(shè)計(jì)模式<3>影響體系結(jié)構(gòu)實(shí)現(xiàn)方式的約束(3) 接口設(shè)計(jì):<1>描述了軟件和協(xié)作系統(tǒng)之間、軟件和使用人員之間是如何通信的<2>使用場景和行為模型為接口設(shè)計(jì)提供了所需的大量信息。(4) 構(gòu)件級設(shè)計(jì):<1>將軟件體系結(jié)構(gòu)的構(gòu)造元素變換為對軟件構(gòu)件的過程性描述。

5、<2>從基于類的模型、流模型和行為模型獲得的信息作為構(gòu)件設(shè)計(jì)的基礎(chǔ)為什么要信息隱藏:(1) 減少“負(fù)效應(yīng)”的可能性(2) 限制全局影響局部的設(shè)計(jì)決策(3) 強(qiáng)調(diào)通過控制接口通信(4) 不提倡使用全局?jǐn)?shù)據(jù)(5) 導(dǎo)致封裝高質(zhì)量設(shè)計(jì)的屬性(6) 導(dǎo)致高質(zhì)量軟件重構(gòu)的定義和做法:定義:重構(gòu)是使用這樣一種方式改變軟件系統(tǒng)的過程不改代碼設(shè)計(jì)的外部行為而是改建其內(nèi)部結(jié)構(gòu)。做法:當(dāng)重構(gòu)軟件時(shí),檢查現(xiàn)有設(shè)計(jì):(1) 冗余性(2) 沒有使用的設(shè)計(jì)元素(3) 低效的或不必要的算法 (4) 拙劣的或不恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)(5) 其他設(shè)計(jì)不足,修改這些不足以獲取更好的設(shè)計(jì)體系結(jié)構(gòu)風(fēng)格:體系風(fēng)格描述一種體系類別,

6、包括:(1) 完成系統(tǒng)需要的某種功能的一組構(gòu)件;(2) 能使構(gòu)件向?qū)崿F(xiàn)“通信、合作和協(xié)調(diào) ”的一組連接件;(3) 定義構(gòu)件如何即成為系統(tǒng)的約束;(4) 語義模型,使設(shè)計(jì)者通過分析系統(tǒng)組成成分的已知屬性來理解系統(tǒng)的整體性質(zhì)。分類:(1) 以數(shù)據(jù)為中心的體系結(jié)構(gòu)(2) 數(shù)據(jù)流體系結(jié)構(gòu)(3) 調(diào)用和返回體系結(jié)構(gòu)(4) 面向?qū)ο篌w系結(jié)構(gòu)(5) 層次體系結(jié)構(gòu) 可復(fù)用軟件構(gòu)件描述(1)概念(Concept):構(gòu)件是做什么的,用來傳達(dá)構(gòu)件的意圖(2)內(nèi)容(Content):描述概念如何被實(shí)現(xiàn),對一般用戶隱蔽信息(3)環(huán)境(Context):將可復(fù)用的軟件構(gòu)件放到其應(yīng)用領(lǐng)域中 ,通過描述概念的、操作的和實(shí)現(xiàn)的

7、特征環(huán)境使得軟件工程師能夠發(fā)現(xiàn)滿足應(yīng)用需求的合適構(gòu)件;用戶操作控制原則(1) 以不強(qiáng)迫用戶進(jìn)入不必要的或不希望的動(dòng)作的方式來定義交互模式(2) 提供靈活的交互(3) 允許用戶交互被中斷和撤銷(4) 當(dāng)技能級別增長時(shí),可以使用交互流線化并允許定制交互(5) 使用戶與內(nèi)部技術(shù)細(xì)節(jié)隔離開來 (6) 設(shè)計(jì)應(yīng)允許用戶與出現(xiàn)在屏幕上的對象直接交互減輕用戶記憶負(fù)擔(dān)(1) 減少對短期記憶的要求(2) 建立有意義缺?。?) 定義直觀的快捷方式(4) 界面的視覺布局應(yīng)該基于真實(shí)世界的象征(5) 以不斷進(jìn)展的方式揭示信息保持界面 一致性原則(1) 允許用戶將當(dāng)前任務(wù)放入有意義的環(huán)境中(2) 在應(yīng)用系統(tǒng)內(nèi)保持一致性(

8、3) 如果過去的交互模型已經(jīng)建立了用戶的期望,除非有不得已的理由,否則不要改變它?;貧w測試 (1) 回歸測試重新執(zhí)行已測試過的某些子集,以確保變更沒有傳播不期望的負(fù)作用。(2) 無論何時(shí)修正軟件 ,軟件配置的某些方面也會(huì)發(fā)生變化。(3) 回歸測試有助于保證變更不引入無意識(shí)行為或額外的錯(cuò)誤。(4) 回歸測試可以手工進(jìn)行,方法是重新執(zhí)行所有測試用例的的子集或者利用捕獲/回放工具自動(dòng)進(jìn)行。確認(rèn)測試關(guān)注點(diǎn)是軟件需求:確認(rèn)測試也稱為合格性,是檢測所開發(fā)的軟件是否能按用戶提出的要求進(jìn)行,軟件確認(rèn)要通過一系列證明軟件功能和要求一致的黑盒測試來完成。傳統(tǒng)軟件、面向?qū)ο筌浖?、WebApp之間的差別已經(jīng)消失。系統(tǒng)

9、測試:關(guān)注點(diǎn)是系統(tǒng)集成:由于軟件只是計(jì)算機(jī)系統(tǒng)中的一個(gè)組成部分,軟件開發(fā)完成后,最終還要和系統(tǒng)中的硬件系統(tǒng)、某些支持軟件、數(shù)據(jù)信息等其他部分配套運(yùn)行這些測試已經(jīng)超出軟件過程范圍,而且不僅僅由軟件工程師執(zhí)行。壓力測試以非正常的數(shù)量、頻率或容量的方式執(zhí)行系統(tǒng)。測試是想要破壞程序舉例:(1)如果正常的中斷頻率為每秒5此,強(qiáng)度測試設(shè)計(jì)為每秒50次.(2)把輸入數(shù)據(jù)的量提高一個(gè)數(shù)量級來測試輸入功能的反應(yīng)(3)200個(gè)終端系統(tǒng)正常工作 ;強(qiáng)度測試 1000個(gè)終端組織范型(1)封閉式范型按照傳統(tǒng)的權(quán)利層次來組織團(tuán)隊(duì);(1個(gè)高級工程師(主程序員),2-5個(gè)技術(shù)人員,1個(gè)后備工程師)(2)隨機(jī)式范型松散的組織團(tuán)

10、隊(duì),團(tuán)隊(duì)工作依賴于團(tuán)隊(duì)成員個(gè)人的主動(dòng)性(3)開放式范型試圖以一種既具有封閉式范型的控制性,又包含隨機(jī)式范型的創(chuàng)新性的組織團(tuán)隊(duì)(4)同步式范型依賴于問題的自然劃分,組織團(tuán)隊(duì)成員各自做成的一部分,他們之間沒有什么主動(dòng)交流團(tuán)隊(duì)毒性 (1) 狂亂的工作氛圍(2) 引起團(tuán)隊(duì)成員間向產(chǎn)生摩擦的重大挫折 (3) 碎片式的或協(xié)調(diào)很差的軟件過程(4) 在軟件團(tuán)隊(duì)中沒有清晰的角色定義(5) 連續(xù)不斷的重蹈覆轍軟件維護(hù)的四種類型1改正性維護(hù)改正性維護(hù)為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)進(jìn)行的診斷和改正錯(cuò)誤的過程。2適應(yīng)性維護(hù) 隨著信息技術(shù)的飛速發(fā)展,軟件運(yùn)行的外部環(huán)境(新的硬、軟件配

11、置)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲(chǔ)介質(zhì))可能發(fā)生變化,為了使軟件適應(yīng)這種變化,而修改軟件的過程叫做適應(yīng)性維護(hù)。3完善性維護(hù)為了滿足新的功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)活動(dòng)叫做完善性維護(hù)。4預(yù)防性維護(hù)預(yù)防性維護(hù)是指把今天的方法學(xué)用于昨天的系統(tǒng)以滿足明天的需要。也就是說,采用先進(jìn)的軟件工程方法對需要維護(hù)的軟件或軟件中的某一部分(重新)進(jìn)行設(shè)計(jì)、編碼和測試。程序修改的副作用:1修改代碼的副作用: 在使用程序設(shè)計(jì)語言修改源代碼時(shí),都可能引入新的錯(cuò)誤。2修改數(shù)據(jù)的副作用: 在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)不匹配,因而導(dǎo)致軟件出錯(cuò)。修改數(shù)據(jù)的副作用是修改軟件信息結(jié)構(gòu)導(dǎo)致的結(jié)果。3修改文檔的副作用:對數(shù)據(jù)流、軟件結(jié)構(gòu)、模塊邏輯或任何其他有關(guān)特性進(jìn)行修改時(shí),必須對相關(guān)技術(shù)文檔進(jìn)行相應(yīng)修改。如果對可執(zhí)行軟件的修改不反映在文檔里,會(huì)產(chǎn)生文檔的副作用。逆向工程和再工程的概念:逆向工程: 分析程序,力圖在比源代碼更高抽象層次上建立程序表示的過程。 一般是對自己公司編寫的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論