軟件工程打印資料_第1頁
軟件工程打印資料_第2頁
軟件工程打印資料_第3頁
軟件工程打印資料_第4頁
軟件工程打印資料_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。產(chǎn)生于軟件發(fā)展的第二階段(軟件系統(tǒng)階段)末期。軟件危機(jī)-主要表現(xiàn)對軟件開發(fā)成本和進(jìn)度的估計不準(zhǔn)確用戶不滿意軟件質(zhì)量不高、可靠性差軟件常常不可維護(hù)、錯誤難以改正缺乏適當(dāng)?shù)奈臋n資料軟件成本占系統(tǒng)總成本的比例逐年上升(1985-90%)軟件開發(fā)速度跟不上計算機(jī)發(fā)展速度歸結(jié)為主要為三方面-“時間、成本、質(zhì)量”軟件危機(jī)-原因1軟件規(guī)模日漸龐大(數(shù)量、功能、成本、質(zhì)量、時間)軟件開發(fā)的管理困難。邏輯部件而不是物理部件。在寫出程序代碼并在計算機(jī)運(yùn)行之前,軟件開發(fā)過程的進(jìn)展情況較難衡量,軟件開發(fā)的質(zhì)量也較難評價。因此,管理和控制軟件開發(fā)過程相當(dāng)困難。開

2、發(fā)人員錯誤的觀念、方法和技術(shù)重編程、輕需求。生產(chǎn)方式落后:個體手工方式。開發(fā)技術(shù)落后。開發(fā)工具落后軟件危機(jī)-原因2忽視軟件開發(fā)前期的需求分析 開發(fā)過程缺乏統(tǒng)一的、規(guī)范化的方法論的指導(dǎo)文檔資料不齊全或不準(zhǔn)確忽視與用戶之間、開發(fā)組成員之間的交流忽視測試的重要性不重視維護(hù)或由于上述原因造成維護(hù)工作的困難需求變化預(yù)料不足軟件生存期技術(shù)定義的軟件過程過程元素之間的關(guān)系標(biāo)準(zhǔn)軟件過程體系結(jié)構(gòu)圖軟件生命周期它是指一個軟件從提出開發(fā)要求開始到該軟件報廢為止的整個時期(生存過程)。從時間角度,把整個周期劃分為若干個階段(步驟),每個階段有明確的任務(wù),然后再逐步完成每個階段的任務(wù)軟件從孕育、誕生、成長、成熟、衰亡的

3、生存過程軟件生存期各階段一般可分為六個步驟/階段 :1.制定計劃(Planning)2.需求分析和定義(Requirement Analysis and Definition)3.軟件設(shè)計(Software Design)4.程序編寫(Coding/Programming)5.軟件測試(Testing)6.運(yùn)行/維護(hù)(Running/Maintenance)線性順序模型瀑布模型瀑布模型-特點(diǎn)q 優(yōu)點(diǎn):q 提供了軟件開發(fā)的基本框架,比靠“個人技藝”開發(fā)好的多。q 嚴(yán)格活動序列,嚴(yán)格階段成果評審,有利于大型軟件開發(fā)過程的人員的組織和管理q 缺點(diǎn):對用戶需求變更的響應(yīng)較困難。q 初始階段較長,用戶極

4、大的耐心,需求的不確定性;q 后期階段時,需求錯誤、設(shè)計及實(shí)現(xiàn)錯誤才出現(xiàn)q 適用:需求明確、大型的項(xiàng)目。瀑布模型變化1瀑布模型變化2快速應(yīng)用開發(fā)模型RAD1快速應(yīng)用開發(fā)模型RAD2RAD模型-特點(diǎn)優(yōu)點(diǎn):開發(fā)時間短缺點(diǎn):多團(tuán)隊(duì)開發(fā)協(xié)調(diào)困難;了解需求困難;不注意小細(xì)節(jié)原型模型1原型模型2原型模型-特點(diǎn)l 優(yōu)點(diǎn):l 成品的用戶滿意度高。用戶參與,需求不斷完善l 缺點(diǎn)l 軟件的“臨時版本”,未考慮性能需求l 進(jìn)度控制、質(zhì)量檢驗(yàn)較難,技術(shù)方案未必最優(yōu),會導(dǎo)致開發(fā)過程的不可收斂性l 系統(tǒng)結(jié)構(gòu)通常較差,連續(xù)的變更損壞了系統(tǒng)的結(jié)構(gòu)l 適用:l 中小規(guī)模、生存期短的系統(tǒng),知識型系統(tǒng)l 用戶定義了一組一般性目標(biāo),

5、但不能標(biāo)識出詳細(xì)的輸入、處理及輸出需求l 開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式l 當(dāng)你的客戶有一個合理的需求,但對細(xì)節(jié)則沒有任何線索時,先開發(fā)一個原型系統(tǒng)是一個好的選擇l 漸增模型l 以盡早占領(lǐng)市場為目的,逐步發(fā)布版本; l 可有計劃地管理技術(shù)風(fēng)險l 螺旋模型l 不同版本、不同形式的不斷進(jìn)化;l 需要高水平的風(fēng)險評估技術(shù)l 并發(fā)開發(fā)模型l 由用戶要求、管理決策和評審結(jié)果驅(qū)動;l 每一個軟件工程活動觸發(fā)活動網(wǎng)絡(luò)的狀態(tài)變遷;需求分析定義l 需求分析是前面需求獲取階段的繼續(xù),通過對所獲取的信息進(jìn)一步加工獲得對系統(tǒng)的更精確描述,成為轉(zhuǎn)換成需求規(guī)格說明的直接信息元。需求分析任

6、務(wù)需求分析過程圖示需求分析方法l 結(jié)構(gòu)化分析l 面向?qū)ο蠓治隹尚行苑治龆x研究軟件項(xiàng)目是否值得開發(fā)、關(guān)鍵技術(shù)、難點(diǎn)、能否解決、怎樣達(dá)到目標(biāo)主要任務(wù)社會/法律可行性技術(shù)可行性經(jīng)濟(jì)可行性對開發(fā)成本進(jìn)行估算,預(yù)期經(jīng)濟(jì)效益,確定是否值得投資開發(fā)在測算成本和效益時注意項(xiàng)目相關(guān)方不同的考慮點(diǎn)成本估計購置并安裝軟件、硬件及有關(guān)設(shè)備的費(fèi)用系統(tǒng)開發(fā)費(fèi)用一次性方法:自頂向下成本估計、由底向上成本估計、算法模型估計、類比估計、專家判斷、Parkinson估計和銷價取勝法、系統(tǒng)安裝、運(yùn)行和維護(hù)費(fèi)用、人員培訓(xùn)費(fèi)用,其它效益分析社會效益經(jīng)濟(jì)效益貨幣的時間價值F=P*(1+i)n年利率為 i,P 元錢存 n 年后可得 F

7、元P=F/(1+i)n投資回收期累計的經(jīng)濟(jì)效益等于最初投資所需的時間n年投資回收率R=(F1/(1+i)+F2/(1+i)2+Fn/(1+i)n )/ P純收入累計的經(jīng)濟(jì)效益(折算成當(dāng)前值)- 投資(開發(fā)成本)效益來源自動化水平提高,減少了工作人員、減少運(yùn)行費(fèi)用、由于自動編輯,減少錯誤、交易處理速度提高、較少貨幣管理上的損失、減少不良帳單或信貸損失、更快的收取應(yīng)收帳款、庫存減少與庫存過期損失等等例題假設(shè)一系統(tǒng),估計共需5000元;估計每年可以節(jié)省2500元,五年共可節(jié)省12 500元。假定年利率為12%,預(yù)計節(jié)省的錢的現(xiàn)在價值投資回收期兩年以后可以節(jié)省4225.12元,比最初的投資(5000元

8、)還少774.88元,第三年以后將再節(jié)省1779.45元。774.881779.450.44,因此,投資回收期是2.44年。5年投資回收率9011/5000=180%純收入9011.9450004011.94(元)結(jié)論可以進(jìn)行開發(fā)需要等待某些條件需要對開發(fā)目標(biāo)進(jìn)行某些修改之后才能開發(fā)不能進(jìn)行或不必進(jìn)行開發(fā)需求分析的艱難性需求分析是一項(xiàng)重要的工作,也是最困難的工作。該階段工作有以下特:    (1)用戶與開發(fā)人員很難進(jìn)行交流在軟件生存周期中,其它四個階段都是面向軟件技術(shù)問題,只有本階段是面向用戶的。需求分析是對用戶的業(yè)務(wù)活動進(jìn)行分析,明確在用戶的業(yè)務(wù)環(huán)境中

9、軟件系統(tǒng)應(yīng)該"做什么"。但是在開始時,開發(fā)人員和用戶雙方都不能準(zhǔn)確地提出系統(tǒng)要"做什么?"。因?yàn)檐浖_發(fā)人員不是用戶問題領(lǐng)域的專家,不熟悉用戶的業(yè)務(wù)活動和業(yè)務(wù)環(huán)境,又不可能在短期內(nèi)搞清楚;而用戶不熟悉計算機(jī)應(yīng)用的有關(guān)問題。由于雙方互相不了解對方的工作,又缺乏共同語言,所以在交流時存在著隔閡。    (2)用戶的需求是動態(tài)變化的對于一個大型而復(fù)雜的軟件系統(tǒng),用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個大概、模糊的功能,只有經(jīng)過長時間的反復(fù)認(rèn)識才逐步明確。有時進(jìn)入到設(shè)計、編程階段才能明確,更有甚者,到開

10、發(fā)后期還在提新的要求。這無疑給軟件開發(fā)帶來困難。    (3)系統(tǒng)變更的代價呈非線性增長需求分析是軟件開發(fā)的基礎(chǔ)。假定在該階段發(fā)現(xiàn)一個錯誤,解決它需要用一小時的時間,到設(shè)計、編程、測試和維護(hù)階段解決,則要花2.5、5、25、100倍的時間。因此,對于大型復(fù)雜系統(tǒng)而言,首先要進(jìn)行可行性研究。開發(fā)人員對用戶的要求及現(xiàn)實(shí)環(huán)境進(jìn)行調(diào)查、了解,從技術(shù)、經(jīng)濟(jì)和社會因素三個方面進(jìn)行研究并論證該軟件項(xiàng)目的可行性,根據(jù)可行性研究的結(jié)果,決定項(xiàng)目的取舍。軟件需求規(guī)格說明書(SRS)49頁怎樣進(jìn)行有效需求分析?32頁需求分析的重要性在軟件工程中,需求分析指的是在建立一個新的或

11、改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關(guān)鍵過程。在這個過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。在軟件工程的歷史中,很長時間里人們一直認(rèn)為需求分析是整個軟件工程中最簡單的一個步驟,但在過去十年中越來越多的人認(rèn)識到它是整個過程中最關(guān)鍵的一個過程。假如在需求分析時分析者們未能正確地認(rèn)識到顧客的需要的話,那么最后的軟件實(shí)際上不可能達(dá)到顧客的需要,或者軟件無法在規(guī)定的時間里完工。主要從哪幾個方面分析項(xiàng)目的可行性可行性研究的內(nèi)容一般包括:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性、

12、法律和社會可行性、開發(fā)方案的選擇以及進(jìn)度計劃軟件生命周期模型¨ 線性順序模型¨ 瀑布模型¨ RAD模型¨ 原型模型¨ 漸增模型¨ 螺旋模型¨ 統(tǒng)一過程¨ 敏捷軟件開發(fā)一、單選題1、軟件生存周期模型有多種,下列選項(xiàng)中,(C功能模型)不是軟件生存周期模型。2、檢查軟件產(chǎn)品是否符合需求定義的過程稱為(D驗(yàn)收測試)。3、黑盒測試是從( C用戶)觀點(diǎn)出發(fā)的測試,白盒測試是從( A開發(fā)人員)觀點(diǎn)出發(fā)的測試。 4、可行性研究要進(jìn)行一次(D簡化的、壓縮了的 )需求分析。5、回歸測試是( A校正性維護(hù))中最常用的方法。6、

13、與選擇編程語言無關(guān)的因素是( C程序設(shè)計風(fēng)格) 。7、面向?qū)ο蟪绦蛟O(shè)計將數(shù)據(jù)與 ( A對數(shù)據(jù)的操作 )放在一起,作為一個相互依存、不可分割的整體來處理。8、軟件生存周期的( D每個階段)工作和軟件可維護(hù)性有密切的關(guān)系 。9、好的軟件結(jié)構(gòu)應(yīng)該是( C低耦合,高內(nèi)聚)。10、在快速原型模型的開發(fā)過程中,僅作為需求說明的補(bǔ)充形式的原型是(A探索型模型)11、軟件結(jié)構(gòu)圖的形態(tài)特征能反映程序重用率的是(C扇入)12、需求分析最終結(jié)果是產(chǎn)生(B需求規(guī)格說明書)13、分層數(shù)據(jù)流圖是一種比較嚴(yán)格又易于理解的描述方式,它的頂層描繪了系統(tǒng)的( C抽象)。14可行性研究要進(jìn)行一次 需求分析。 答案為:D簡化的、壓縮

14、了的2開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作 。 答案為:B軟件危機(jī)15產(chǎn)生軟件維護(hù)的副作用,是指。 答案為:C因修改軟件而造成的錯誤16維護(hù)中,因誤刪除一個標(biāo)識符而引起的錯誤是_副作用。答案為:C編碼17可維護(hù)性的特性中相互促進(jìn)的是答案為:A可理解性和可測試性18需求分析最終結(jié)果是產(chǎn)生 答案:B需求規(guī)格說明書7_是以提高軟件質(zhì)量為目的的技術(shù)活動。答案為:D技術(shù)評審 19面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計和實(shí)現(xiàn)一個軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組

15、成的_;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。答案為:C把對象劃分成類,每個對象類都定義一組數(shù)據(jù)和方法20原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互構(gòu)成,適用于_系統(tǒng)。答案為:A需求不確定性高的21為了提高測試的效率,應(yīng)該。答案為:D選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)四、判斷題 某軟件公司擬采取下述措施提高他們開發(fā)出的軟件產(chǎn)品的可維護(hù)性。請判斷哪些措施是正確的,哪能些是不正確的,并簡單說明理由。1、在分析用戶需求時同時考慮維護(hù)問題。正確2、測試完程序后,刪去程序中的注解以縮短源程序長度。不正確3、在軟件開發(fā)過程中保證各階段文檔的正確性。正確4、編碼時多用全局變量。不正確5、

16、選用時間效率和空間效率盡可能高的算法。不正確6、盡可能利用硬件特點(diǎn)以提高程序效率。不正確7、盡可能使用高級語言編寫程序。正確8、進(jìn)行總體設(shè)計時加強(qiáng)模塊間的聯(lián)系。不正確 9、盡量減少程序模塊的規(guī)模。不正確 10、用數(shù)據(jù)庫系統(tǒng)代替文件系統(tǒng)來存儲需要長期保存的信息。正確 11、用CASE環(huán)境或程序自動生成工具來自動生成一部分程序。正確 12、盡量用可重用的軟件構(gòu)件來組裝程序。 13、使用先進(jìn)的軟件開發(fā)技術(shù)。正確14、采用防錯程序設(shè)計技術(shù),在程序中引入自檢能力。正確程序的可讀性和可理解性,從而降低軟件的可維護(hù)性。五、簡答題1、什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?答:軟件過程是為了開發(fā)出高質(zhì)量的

17、軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過程定義了運(yùn)用技術(shù)方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標(biāo)志完成了相應(yīng)開發(fā)活動的里程碑。軟件過程是軟件工程方法學(xué)的3個重要組成部分之一。2、什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說明每種模型的適用范圍。答:軟件生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此,也稱為過程模型。四種模型的優(yōu)缺點(diǎn)在于:(1) 瀑布模型歷史悠久、廣為人知,它的優(yōu)勢在于它是規(guī)范的、文擋驅(qū)動的方法;這種模型的問題是,最終開發(fā)出的軟件產(chǎn)品可能并

18、不是用戶真正需要的。(2) 快速原型模型正是為了克服瀑布模型的缺點(diǎn)而提出來的。它通過快速構(gòu)建起一個可在計算機(jī)上運(yùn)行的原型系統(tǒng),讓用戶試用原型并收集用戶反饋意見的辦法,獲取用戶的真實(shí)需求。(3) 增量模型具有可在軟件開發(fā)的早期階段使投資獲得明顯回報和教易維護(hù)的優(yōu)點(diǎn),但是,要求軟件具有開放的結(jié)構(gòu)是使用這種模型時固有的困難。(4) 風(fēng)險驅(qū)動的螺旋模型適用于內(nèi)部開發(fā)的大型軟件項(xiàng)目,但是,只有在開發(fā)人員具有風(fēng)險分析和排除風(fēng)險的經(jīng)驗(yàn)及專門知識時,使用這種模型才會獲得成功。3、在軟件開發(fā)的早期階段為什么要進(jìn)行可行性研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?答:可行性研究的目的不是解決問題,而是確定問題是否值

19、得去解決。實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計的過程。應(yīng)該從以下的方面研究目標(biāo)系統(tǒng)的可行性:(1) 技術(shù)可行性:使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個系統(tǒng)嗎?(2) 經(jīng)濟(jì)可行性:這個系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?(3) 操作可行性:這個系統(tǒng)的操作方式在該客戶組織內(nèi)行得能工通嗎?4、怎樣與用戶有效地溝通以獲取用戶的真實(shí)需求?答:分析員與用戶溝通進(jìn)行需求分析的典型方法如下所述:1 訪談:它有兩種基本形式,分別是正式的和非正式的訪談。2 面向數(shù)據(jù)流自頂向下求精。3 簡易的應(yīng)用規(guī)格說明技術(shù)。4 快速建立軟件原型。5、什么是功能模型?建立功

20、能模型時主要使用哪些圖形符號?答:功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對目標(biāo)系統(tǒng)的需求。 通常,功能模型由一組數(shù)據(jù)流圖組成。建立功能模型時主要使用的圖形符號如下所示:或 數(shù)據(jù)的源點(diǎn)/終點(diǎn)或 變換數(shù)據(jù)的處理或 數(shù)據(jù)存儲 數(shù)據(jù)流6、為什么要選擇軟件開發(fā)模型?軟件開發(fā)模型與軟件生存周期有什么關(guān)系?答:因?yàn)檐浖_發(fā)模型是軟件工程研究的四大內(nèi)容之一,它雖然不是軟件工程研究的重點(diǎn),但是在宏觀上特別重要。軟件公司的項(xiàng)目組在開發(fā)一個大項(xiàng)目或產(chǎn)品時,首先在技術(shù)上必須選擇一個開發(fā)模型,使開發(fā)模型非常適合這個項(xiàng)目或產(chǎn)品的生存周期;隨后通過對生存周期的裁減,來給出適

21、合與本項(xiàng)目或產(chǎn)品的軟件生存周期定義。軟件的開發(fā)模型與軟件生存周期有關(guān):不同的開發(fā)模型,可能對應(yīng)著不同的生存周期。生存周期不同,該軟件的開發(fā)階段劃分、評審次數(shù)、基線標(biāo)準(zhǔn)都有所不同,甚至維護(hù)方法都有所區(qū)別。7、請說明“三個模型”的定義,以及三者之間的關(guān)系。答:功能模型是描述系統(tǒng)能做什么,即對系統(tǒng)的功能、性能、接口和界面進(jìn)行定義。業(yè)務(wù)模型是描述系統(tǒng)在何時、何地、由何角色、按什么業(yè)務(wù)規(guī)則去做,以及做的步驟或流程,即對系統(tǒng)的操作流程進(jìn)行定義。數(shù)據(jù)模型是描述系統(tǒng)工作前的數(shù)據(jù)來自何處,工作中的數(shù)據(jù)存什么地方,工作后的數(shù)據(jù)放到何處,以及這些數(shù)據(jù)之間的關(guān)聯(lián),即對系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。功能模型和業(yè)務(wù)模型是在需求

22、分析時建模,是兩個基本點(diǎn)。數(shù)據(jù)模型是一個中心,在設(shè)計時建模。功能模型和業(yè)務(wù)模型給數(shù)據(jù)模型提供數(shù)據(jù)與維護(hù)數(shù)據(jù),數(shù)據(jù)模型支持功能模型和業(yè)務(wù)模型的正常運(yùn)行。8、需求分析的目的是什么?需求分析的難點(diǎn)在哪?答:軟件需求分析,其目的是用于說明軟件產(chǎn)品或軟件項(xiàng)目需要滿足的條件和限制。在軟件工程項(xiàng)目中首先要獲取用戶的需求,通過對軟件需求的提取、分析、文檔化及驗(yàn)證,為進(jìn)一步的設(shè)計和實(shí)現(xiàn)提供依據(jù)。需求分析的難點(diǎn)是:在系統(tǒng)的功能、性能和接口方面,開發(fā)者與客戶達(dá)成完全一致的需求,讓客戶最終簽字確認(rèn),并保證在項(xiàng)目驗(yàn)收前,需求相對穩(wěn)定不變。萬一需求有一點(diǎn)變化,雙方必須履行“需求變更管理程序”,而變更管理程序在簽訂合同時已

23、經(jīng)做了規(guī)定。要知道,合同是具有法律效力的。9可行性研究報告的主要內(nèi)容有哪些?答:一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現(xiàn)有系統(tǒng)的分析。(4)所建議系統(tǒng)的技術(shù)可行性分析。(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析。(6)社會因素可行性分析。(7)其他可供選擇方案。(8)結(jié)論意見。10系統(tǒng)設(shè)計的內(nèi)容是什么?答:系統(tǒng)設(shè)計階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計階段的更

24、詳細(xì)策略的設(shè)計提供了基礎(chǔ)。主要內(nèi)容為:(1)系統(tǒng)分解。(2)確定并發(fā)性。(3)處理器及任務(wù)分配。(4)數(shù)據(jù)存儲管理。(5)全局資源的處理。(6)選擇軟件控制機(jī)制。(7)人機(jī)交互接口設(shè)計。11什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?答:軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。軟件危機(jī)表現(xiàn)在以下四個方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。(3)開發(fā)的軟件可維護(hù)性差。(4)開發(fā)的軟件可靠性差。 造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越

25、來越復(fù)雜。 (2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。12軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?答:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:(1)采用技術(shù)手段和工具。(2)組織正式技術(shù)評審。(3)加強(qiáng)軟件測試。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。(5)對軟件的變更進(jìn)行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴(yán)格控制軟件的修改和變更。(6)對軟件質(zhì)量進(jìn)行度量。即對軟件質(zhì)量進(jìn)行跟蹤,及時記錄和報告軟件質(zhì)量情況。六、描述題3、請用數(shù)據(jù)流圖描繪以下系統(tǒng)的功能,并用實(shí)體-

26、聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對象。銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并印出利息清單給儲戶。答:數(shù)據(jù)流圖:實(shí)體-聯(lián)系圖:4請使用PAD圖和程序設(shè)計語言描述在數(shù)組A(1)A(10)中找最大數(shù)的算法。答:程序設(shè)計語言:N=1 WHILE N<=10 DOIF A(N)<=A(N+1) MAX =A(N+1);ELSE

27、MAX =A(N) ENDIF;N=N+1;ENDWHILE;PAD圖:5某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機(jī)輔助企業(yè)管理系統(tǒng),其中,生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。(2)根據(jù)車間實(shí)際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃。(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間。技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清

28、單。(2)根據(jù)組裝計劃進(jìn)行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。 試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解:一、單項(xiàng)選擇題(每題2分,共20分)1、 下面哪一項(xiàng)不能用于描述軟件過程? C是從客戶需求產(chǎn)生到交付產(chǎn)品使用的時間2、“背靠背”測試也稱 B對比測試,主要用于處理被認(rèn)為十分關(guān)鍵的系統(tǒng)。3、下面哪一項(xiàng)沒有描述需求分析的重要性?A有助于可行性分析4、在系統(tǒng)分析中使用數(shù)據(jù)流圖(DFD)這種基本方法是為了提供C功能模型和信息流。5、基本路徑測試也稱A結(jié)構(gòu)化測試,是最重要的基本代碼的測試策略。6、以下哪些不是面向規(guī)模的度量?C 算法復(fù)雜度7、以下哪種是線型順序模型?C

29、瀑布模型 8、業(yè)務(wù)過程工程中,數(shù)據(jù)體系結(jié)構(gòu)、應(yīng)用體系結(jié)構(gòu)、C技術(shù)基礎(chǔ)設(shè)施三種體系結(jié)構(gòu)必須在業(yè)務(wù)目標(biāo)的語境內(nèi)被分析和設(shè)計。9、當(dāng)每級精化中的數(shù)據(jù)流圖DFD的輸入和輸出都相同時稱為D平衡 。 10、結(jié)構(gòu)圖表示D軟件結(jié)構(gòu)。三、判斷題(每題1分,共15分)1、項(xiàng)目策劃中的步驟包含需求分析過程。()2、使用形式化方法可以得到一組無二義性的、完整的和一致的規(guī)格說明。()3、可行性研究主要從系統(tǒng)可行性、經(jīng)濟(jì)可行性、技術(shù)可行性等幾個方面進(jìn)行研究。(×)4、需求工程將對項(xiàng)目進(jìn)行可行性評估。(×)5、過程、方法和工具稱軟件工程的三要素。()6、隨著計算機(jī)硬件成本的降低,軟件的成本也在降低。(&

30、#215;)7、COCOMO模型是一種成本估算模型。()8、上下文級數(shù)據(jù)流圖也稱為O層數(shù)據(jù)游圖。(×)9、詳細(xì)設(shè)計中使用的PAD圖也稱為程序流程圖。(×)10、當(dāng)軟件開發(fā)項(xiàng)目的進(jìn)度有可能拖延時,增加開發(fā)人員一定能加快項(xiàng)目的進(jìn)度。(×)11、SRS是系統(tǒng)測試和驗(yàn)證活動的基礎(chǔ)。()12、大多數(shù)軟件是同組件組裝起來,不是由客戶要求定制的。(×)13、軟件產(chǎn)品是一種智力產(chǎn)品,需要高水平的軟件開發(fā)人員,項(xiàng)目管理在軟件開發(fā)過程沒什么太大作用。(×)14、技術(shù)評審對軟件的質(zhì)量保證作用并不大。(×)15、需求分析的制品是需求規(guī)格說明書。(×)四、簡答題(每題5分,共30分)1、商場要引入一個商品供銷存系統(tǒng),要進(jìn)行軟件的經(jīng)濟(jì)可行性分析,你認(rèn)為應(yīng)該從哪幾個方面進(jìn)行分析?(5分)答

溫馨提示

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

最新文檔

評論

0/150

提交評論