資源描述:
《軟件工程基礎(chǔ)作業(yè)及答案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、《軟件工程基礎(chǔ)》作業(yè)第一章概述1.什么是軟件危機(jī),它有哪些典型表現(xiàn)?答:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。概括地說,軟件危機(jī)包含下述兩方面的問題:如何開發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。軟件危機(jī)典型表現(xiàn):對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件通常沒有適當(dāng)?shù)奈臋n資料。軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)
2、算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。產(chǎn)生軟件危機(jī)的原因:一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。軟件不同于硬件,它是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。管理和控制軟件開發(fā)過程相當(dāng)困難。軟件是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。目前相當(dāng)多的軟件專業(yè)人員對(duì)軟件開發(fā)和維護(hù)還有不省糊涂觀念,在實(shí)踐過程中或多或少地采用了錯(cuò)誤的方法和技術(shù),這是使軟件問題發(fā)展成軟件危機(jī)的主要原因。2.簡(jiǎn)述產(chǎn)生軟件危機(jī)的原因和解決的思路。答:軟件危機(jī)產(chǎn)生的原因一方面與軟件本身的特點(diǎn)有關(guān),另一方面,是
3、與已有軟件開發(fā)、維護(hù)的方法不正確有密切關(guān)系。解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。即采用工程化的原則和方法組織軟件開發(fā)是擺脫軟件危機(jī)的一個(gè)主要出路。3.什么是軟件工程?它有哪些本質(zhì)特性?答:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。軟件工程本質(zhì)特性:1、軟件工程關(guān)注于大型程序的構(gòu)造;2、軟件工程的中心課題是控制復(fù)
4、雜性;3、軟件經(jīng)常變化;4、開發(fā)軟件的效率非常重要;5、和諧地合作是開發(fā)軟件的關(guān)鍵;6、軟件必須有效地支持它的用戶;7、在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。4.軟件工程是如何用來消除軟件危機(jī)的?軟件工程是從技術(shù)和管理兩個(gè)方面來研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件,從源頭上消除軟件危機(jī)。5.假設(shè)你是某軟件開發(fā)企業(yè)的CEO,當(dāng)你把教材P.4的圖1.1給手下的軟件工程師們看,同時(shí)告訴他們應(yīng)及早發(fā)現(xiàn)并改正錯(cuò)誤的重要性時(shí),有人不以為然,認(rèn)為要求在錯(cuò)誤進(jìn)入軟件前就發(fā)現(xiàn)并清除它們是不現(xiàn)實(shí)的,并
5、舉例說:“如果一個(gè)故障是編碼錯(cuò)誤造成的,那么又如何能夠在設(shè)計(jì)階段就發(fā)現(xiàn)并清除呢?”那你應(yīng)該如何說服?首先要對(duì)錯(cuò)誤造成工作的延誤或一些問題表示歉意。錯(cuò)誤是難免,關(guān)鍵是要虛心接受,在以后工作中要更加認(rèn)真,避免錯(cuò)誤機(jī)率降到最低。在編碼過程中要,首先要在頭腦清醒,要保持工作前有足夠的睡眠。這樣錯(cuò)誤機(jī)會(huì)也會(huì)降小。在編程結(jié)束后,首先要驗(yàn)證,是否能正常運(yùn)行或工作。再以后的工作更要虛心,認(rèn)真,保證這種機(jī)會(huì)降到最低6.簡(jiǎn)述軟件的定義。軟件=程序+數(shù)據(jù)+文檔7.軟件工程的目的是什么?為高質(zhì)量的軟件開發(fā)提供一個(gè)科學(xué)的體系框架。8.什么是
6、軟件工程方法學(xué)?軟件工程是一種什么樣的技術(shù)?包括哪三大要素?分為哪三個(gè)分支?軟件工程方法學(xué)就是指在軟件生命周期全過程中使用的一整套管理和開發(fā)技術(shù)方法的集合。目前,使用最廣泛的軟件工程方法學(xué)分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。軟件工程作為一種層次化的技術(shù),有方法、工具和過程三大要素,并由于其涉及學(xué)科內(nèi)容的極為廣泛,而分為三個(gè)分支:軟件開發(fā)技術(shù)、軟件項(xiàng)目管理技術(shù)、軟件質(zhì)量管理技術(shù)。9.簡(jiǎn)述軟件工程的基本原理。軟件工程有7條基本原理:1.嚴(yán)格按照軟件生命周期計(jì)劃進(jìn)行管理2.堅(jiān)持進(jìn)行階段評(píng)審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用先進(jìn)
7、的程序設(shè)計(jì)技術(shù)5.結(jié)果應(yīng)能清楚的審查6.開發(fā)小組成員應(yīng)少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性10.軟件工程的基本開發(fā)原則有哪些?軟件工程的基本開發(fā)原則有:1.模塊化2.抽象和信息隱蔽3.模塊的高內(nèi)聚和低耦合4.確定性5.一致性6.完備性11.構(gòu)成軟件工程的基本元素有哪些?除了前面給出的軟件工程三大要素,還應(yīng)該包括控制和質(zhì)量保證。這里的控制,即規(guī)??刂?、成本控制、復(fù)雜性控制等。12.什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?軟件過程是指為了獲得高質(zhì)量軟件產(chǎn)品,在軟件工具支持下,由軟件人員完成的一系列軟件工程活動(dòng)
8、。軟件過程規(guī)定了開發(fā)軟件所需完成的各項(xiàng)任務(wù)步驟。過程步驟的設(shè)定與軟件生命周期、生命周期模型、軟件開發(fā)工具,以及參與開發(fā)的人員等諸方面因素有關(guān)。13.什么是軟件生命周期?什么是軟件生命周期模型?答:軟件如同自然界任何事物一樣,都有其孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過程。軟件的這一過程,稱為軟件生命周期。軟件生命周期模型也稱軟件開發(fā)過程模型,是為了解決產(chǎn)業(yè)環(huán)境