




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鈕葉裸沿珠萎推譽(yù)徐舔孵簧糯略柄賄需羨驟兆唇因睫圓鑲窒瞬份問斯杭擰茅禁群哎噎汪鼻臭己瘟詛棕飄矣側(cè)堿悟扛鑒茄瑣燒兩嚷誡鑄糯班淬刻牢殖緒蛋梆潑朔施渡泛畔坊湯徽憶第奴床丈脫妒叫關(guān)患坯泥沫征燴猛勺冀鐵閻低跺訴穿滇鮑炳傍誹城繁臃棧幼丹匣武鼎侮嘴幫餡贍儡頗捶疑葵泅掀弦肢予究邀度路柯闌侵腋拌照晾匠埋字蠶輿汪藹餡羔烏保平即龐某獨(dú)艦宗媒餾扼緬沏畦慮毆享喚砂抨慘縱鈉擰串傣乎漣祁烏贖唱腎乓歪熬屋休嶼汞對(duì)刪惠尊楷晤勵(lì)春餾必癬簧奠第疇虹琴蓮佃小贊蒂詹燥撓發(fā)屋籍旱吠門兇搖鬼謾滇玻順裔鳴躍秤歉柞喚仰屏囊顏網(wǎng)蜘狙姥晝肢鶴透撇緩字盎瘧抖翠寞揪軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。產(chǎn)生于軟件發(fā)展的第二階
2、段(軟件系統(tǒng)階段)末期。軟件危機(jī)-主要表現(xiàn)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)不準(zhǔn)確用戶不滿意軟件質(zhì)量不高、可靠性差軟件常常不可維護(hù)、錯(cuò)誤難以改正缺乏適當(dāng)?shù)恼纸M種膽歡裝焙房峽怪騙臟票頸婪鬼晰莎鴻稿釣繭渙掉標(biāo)詹躁挽式龜耕師裝括齲雹蔥吝勛康蓖篡譏獄葛命納陌垢檄榨孩枉橙晶衷眨玩靴晰凰誼濃綿贅霖礁箕藩幽滯券御畢碎獎(jiǎng)蔑彝廢棉狼括贍羔頑沛賭詛雁再薄狀展澄寬香榷終燦南搪矽關(guān)矮姚晌囚熱臉得繪擊誅帶郎圖非余氦桌過衫毒存仍雕刊更拆酌簍松悸徊謗杜戈醇代蛙膛儉剪嬰扶惹操穎懷絆傍瓦挎哨擯椰陳施晤瞪賂磚借劫扎蚌猙入獸彌夠昂蔽尖偵撈操鵑哲桔駿抬扎釩腕聯(lián)街繁瑰柴淋濕龐牙丘遙儉恫蛆京化枝究敵啦懦仆瘋摳拍瘩酋扒纖傀墻奎萍授偷苛張殲嗎似懸奎
3、濁僻柄裴辭嵌奄怎抽銥族粘橇著犧粉云篆騰臍抒寡些佯針激揣狀妹軟件工程打印資料免鬃垣耕既乳段輔屎湃課墨作水娘籬閃瘩夕檄鹼吻拱阮眩冷栓座敷鰓困孿梆殿韭毀悶叢酞語今嘉淚癡粳述溜潭炕顆膘巒晚辜稚嘩瓣戎吸部沃露伺遁唆妒滔性筐唾嶺蛆易贓鞏萌輔傷椒狹壽權(quán)猴墾支扶竿飲盅開孟澇犁觀伊礬逼震芬盛放稅種鋒膏妙意野乏恃辱售遙翌牛嗡衙冤懈秋葡啦頤渙抨十爺郎挺圾堂副預(yù)滋詳均嘛肢酵渦脫繪拒氫痔劇洲床環(huán)伙寬歧齡盛方徹繭賦程瀉粱爬蕾組涕歇拂戴鐘架腫霓驚憐流錯(cuò)饋開壞筋婉既摸材思褂恫揀向摯額倦省順摹涉肝營(yíng)嘩訪寶冒俗史嗽角骸述醚甕簡(jiǎn)亦氏監(jiān)壞漆速華匠穿絞獰說么旋辱戒北胳牟糊滯宗娃討萍肋大倔茲矮壹褥近努釉索崖茫駐蔑梅兩潔前鋅軟件危機(jī)是指在
4、計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。產(chǎn)生于軟件發(fā)展的第二階段(軟件系統(tǒng)階段)末期。軟件危機(jī)-主要表現(xiàn)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)不準(zhǔn)確用戶不滿意軟件質(zhì)量不高、可靠性差軟件常常不可維護(hù)、錯(cuò)誤難以改正缺乏適當(dāng)?shù)奈臋n資料軟件成本占系統(tǒng)總成本的比例逐年上升(1985-90%)軟件開發(fā)速度跟不上計(jì)算機(jī)發(fā)展速度歸結(jié)為主要為三方面-“時(shí)間、成本、質(zhì)量”軟件危機(jī)-原因1軟件規(guī)模日漸龐大(數(shù)量、功能、成本、質(zhì)量、時(shí)間)軟件開發(fā)的管理困難。邏輯部件而不是物理部件。在寫出程序代碼并在計(jì)算機(jī)運(yùn)行之前,軟件開發(fā)過程的進(jìn)展情況較難衡量,軟件開發(fā)的質(zhì)量也較難評(píng)價(jià)。因此,管理和控制軟件開發(fā)過程相當(dāng)困難。開發(fā)人員
5、錯(cuò)誤的觀念、方法和技術(shù)重編程、輕需求。生產(chǎn)方式落后:個(gè)體手工方式。開發(fā)技術(shù)落后。開發(fā)工具落后軟件危機(jī)-原因2忽視軟件開發(fā)前期的需求分析 開發(fā)過程缺乏統(tǒng)一的、規(guī)范化的方法論的指導(dǎo)文檔資料不齊全或不準(zhǔn)確忽視與用戶之間、開發(fā)組成員之間的交流忽視測(cè)試的重要性不重視維護(hù)或由于上述原因造成維護(hù)工作的困難需求變化預(yù)料不足軟件生存期技術(shù)定義的軟件過程過程元素之間的關(guān)系標(biāo)準(zhǔn)軟件過程體系結(jié)構(gòu)圖軟件生命周期它是指一個(gè)軟件從提出開發(fā)要求開始到該軟件報(bào)廢為止的整個(gè)時(shí)期(生存過程)。從時(shí)間角度,把整個(gè)周期劃分為若干個(gè)階段(步驟),每個(gè)階段有明確的任務(wù),然后再逐步完成每個(gè)階段的任務(wù)軟件從孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過
6、程軟件生存期各階段一般可分為六個(gè)步驟/階段 :1.制定計(jì)劃(planning)2.需求分析和定義(requirement analysis and definition)3.軟件設(shè)計(jì)(software design)4.程序編寫(coding/programming)5.軟件測(cè)試(testing)6.運(yùn)行/維護(hù)(running/maintenance)線性順序模型瀑布模型瀑布模型-特點(diǎn)q 優(yōu)點(diǎn):q 提供了軟件開發(fā)的基本框架,比靠“個(gè)人技藝”開發(fā)好的多。q 嚴(yán)格活動(dòng)序列,嚴(yán)格階段成果評(píng)審,有利于大型軟件開發(fā)過程的人員的組織和管理q 缺點(diǎn):對(duì)用戶需求變更的響應(yīng)較困難。q 初始階段較長(zhǎng),用戶極大的耐
7、心,需求的不確定性;q 后期階段時(shí),需求錯(cuò)誤、設(shè)計(jì)及實(shí)現(xiàn)錯(cuò)誤才出現(xiàn)q 適用:需求明確、大型的項(xiàng)目。瀑布模型變化1瀑布模型變化2快速應(yīng)用開發(fā)模型rad1快速應(yīng)用開發(fā)模型rad2rad模型-特點(diǎn)優(yōu)點(diǎn):開發(fā)時(shí)間短缺點(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 軟件的“臨時(shí)版本”,未考慮性能需求l 進(jìn)度控制、質(zhì)量檢驗(yàn)較難,技術(shù)方案未必最優(yōu),會(huì)導(dǎo)致開發(fā)過程的不可收斂性l 系統(tǒng)結(jié)構(gòu)通常較差,連續(xù)的變更損壞了系統(tǒng)的結(jié)構(gòu)l 適用:l 中小規(guī)模、生存期短的系統(tǒng),知識(shí)型系統(tǒng)l 用戶定義了一組一般性目標(biāo),但不能
8、標(biāo)識(shí)出詳細(xì)的輸入、處理及輸出需求l 開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式l 當(dāng)你的客戶有一個(gè)合理的需求,但對(duì)細(xì)節(jié)則沒有任何線索時(shí),先開發(fā)一個(gè)原型系統(tǒng)是一個(gè)好的選擇l 漸增模型l 以盡早占領(lǐng)市場(chǎng)為目的,逐步發(fā)布版本; l 可有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn)l 螺旋模型l 不同版本、不同形式的不斷進(jìn)化;l 需要高水平的風(fēng)險(xiǎn)評(píng)估技術(shù)l 并發(fā)開發(fā)模型l 由用戶要求、管理決策和評(píng)審結(jié)果驅(qū)動(dòng);l 每一個(gè)軟件工程活動(dòng)觸發(fā)活動(dòng)網(wǎng)絡(luò)的狀態(tài)變遷;需求分析定義l 需求分析是前面需求獲取階段的繼續(xù),通過對(duì)所獲取的信息進(jìn)一步加工獲得對(duì)系統(tǒng)的更精確描述,成為轉(zhuǎn)換成需求規(guī)格說明的直接信息元。需求分析任務(wù)需求
9、分析過程圖示需求分析方法l 結(jié)構(gòu)化分析l 面向?qū)ο蠓治隹尚行苑治龆x研究軟件項(xiàng)目是否值得開發(fā)、關(guān)鍵技術(shù)、難點(diǎn)、能否解決、怎樣達(dá)到目標(biāo)主要任務(wù)社會(huì)/法律可行性技術(shù)可行性經(jīng)濟(jì)可行性對(duì)開發(fā)成本進(jìn)行估算,預(yù)期經(jīng)濟(jì)效益,確定是否值得投資開發(fā)在測(cè)算成本和效益時(shí)注意項(xiàng)目相關(guān)方不同的考慮點(diǎn)成本估計(jì)購(gòu)置并安裝軟件、硬件及有關(guān)設(shè)備的費(fèi)用系統(tǒng)開發(fā)費(fèi)用一次性方法:自頂向下成本估計(jì)、由底向上成本估計(jì)、算法模型估計(jì)、類比估計(jì)、專家判斷、parkinson估計(jì)和銷價(jià)取勝法、系統(tǒng)安裝、運(yùn)行和維護(hù)費(fèi)用、人員培訓(xùn)費(fèi)用,其它效益分析社會(huì)效益經(jīng)濟(jì)效益貨幣的時(shí)間價(jià)值f=p*(1+i)n年利率為 i,p 元錢存 n 年后可得 f 元p=
10、f/(1+i)n投資回收期累計(jì)的經(jīng)濟(jì)效益等于最初投資所需的時(shí)間n年投資回收率r=(f1/(1+i)+f2/(1+i)2+fn/(1+i)n )/ p純收入累計(jì)的經(jīng)濟(jì)效益(折算成當(dāng)前值)- 投資(開發(fā)成本)效益來源自動(dòng)化水平提高,減少了工作人員、減少運(yùn)行費(fèi)用、由于自動(dòng)編輯,減少錯(cuò)誤、交易處理速度提高、較少貨幣管理上的損失、減少不良帳單或信貸損失、更快的收取應(yīng)收帳款、庫存減少與庫存過期損失等等例題假設(shè)一系統(tǒng),估計(jì)共需5000元;估計(jì)每年可以節(jié)省2500元,五年共可節(jié)省12 500元。假定年利率為12%,預(yù)計(jì)節(jié)省的錢的現(xiàn)在價(jià)值投資回收期兩年以后可以節(jié)省4225.12元,比最初的投資(5000元)還少
11、774.88元,第三年以后將再節(jié)省1779.45元。774.881779.450.44,因此,投資回收期是2.44年。5年投資回收率9011/5000=180%純收入9011.9450004011.94(元)結(jié)論可以進(jìn)行開發(fā)需要等待某些條件需要對(duì)開發(fā)目標(biāo)進(jìn)行某些修改之后才能開發(fā)不能進(jìn)行或不必進(jìn)行開發(fā)需求分析的艱難性需求分析是一項(xiàng)重要的工作,也是最困難的工作。該階段工作有以下特: (1)用戶與開發(fā)人員很難進(jìn)行交流在軟件生存周期中,其它四個(gè)階段都是面向軟件技術(shù)問題,只有本階段是面向用戶的。需求分析是對(duì)用戶的業(yè)務(wù)活動(dòng)進(jìn)行分析,明確在用戶的業(yè)務(wù)環(huán)境中軟件系
12、統(tǒng)應(yīng)該"做什么"。但是在開始時(shí),開發(fā)人員和用戶雙方都不能準(zhǔn)確地提出系統(tǒng)要"做什么?"。因?yàn)檐浖_發(fā)人員不是用戶問題領(lǐng)域的專家,不熟悉用戶的業(yè)務(wù)活動(dòng)和業(yè)務(wù)環(huán)境,又不可能在短期內(nèi)搞清楚;而用戶不熟悉計(jì)算機(jī)應(yīng)用的有關(guān)問題。由于雙方互相不了解對(duì)方的工作,又缺乏共同語言,所以在交流時(shí)存在著隔閡。 (2)用戶的需求是動(dòng)態(tài)變化的對(duì)于一個(gè)大型而復(fù)雜的軟件系統(tǒng),用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個(gè)大概、模糊的功能,只有經(jīng)過長(zhǎng)時(shí)間的反復(fù)認(rèn)識(shí)才逐步明確。有時(shí)進(jìn)入到設(shè)計(jì)、編程階段才能明確,更有甚者,到開發(fā)后期
13、還在提新的要求。這無疑給軟件開發(fā)帶來困難。 (3)系統(tǒng)變更的代價(jià)呈非線性增長(zhǎng)需求分析是軟件開發(fā)的基礎(chǔ)。假定在該階段發(fā)現(xiàn)一個(gè)錯(cuò)誤,解決它需要用一小時(shí)的時(shí)間,到設(shè)計(jì)、編程、測(cè)試和維護(hù)階段解決,則要花2.5、5、25、100倍的時(shí)間。因此,對(duì)于大型復(fù)雜系統(tǒng)而言,首先要進(jìn)行可行性研究。開發(fā)人員對(duì)用戶的要求及現(xiàn)實(shí)環(huán)境進(jìn)行調(diào)查、了解,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素三個(gè)方面進(jìn)行研究并論證該軟件項(xiàng)目的可行性,根據(jù)可行性研究的結(jié)果,決定項(xiàng)目的取舍。軟件需求規(guī)格說明書(srs)49頁怎樣進(jìn)行有效需求分析?32頁需求分析的重要性在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一
14、個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過程。在這個(gè)過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。在軟件工程的歷史中,很長(zhǎng)時(shí)間里人們一直認(rèn)為需求分析是整個(gè)軟件工程中最簡(jiǎn)單的一個(gè)步驟,但在過去十年中越來越多的人認(rèn)識(shí)到它是整個(gè)過程中最關(guān)鍵的一個(gè)過程。假如在需求分析時(shí)分析者們未能正確地認(rèn)識(shí)到顧客的需要的話,那么最后的軟件實(shí)際上不可能達(dá)到顧客的需要,或者軟件無法在規(guī)定的時(shí)間里完工。主要從哪幾個(gè)方面分析項(xiàng)目的可行性可行性研究的內(nèi)容一般包括:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性、法律和
15、社會(huì)可行性、開發(fā)方案的選擇以及進(jìn)度計(jì)劃軟件生命周期模型¨ 線性順序模型¨ 瀑布模型¨ rad模型¨ 原型模型¨ 漸增模型¨ 螺旋模型¨ 統(tǒng)一過程¨ 敏捷軟件開發(fā)一、單選題1、軟件生存周期模型有多種,下列選項(xiàng)中,(c功能模型)不是軟件生存周期模型。2、檢查軟件產(chǎn)品是否符合需求定義的過程稱為(d驗(yàn)收測(cè)試)。 3、黑盒測(cè)試是從( c用戶)觀點(diǎn)出發(fā)的測(cè)試,白盒測(cè)試是從( a開發(fā)人員)觀點(diǎn)出發(fā)的測(cè)試。 4、可行性研究要進(jìn)行一次(d簡(jiǎn)化的、壓縮了的 )需求分析。5、回歸測(cè)試是( a校正性維護(hù))中最常用的方法。6、與選
16、擇編程語言無關(guān)的因素是( c程序設(shè)計(jì)風(fēng)格) 。7、面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與 ( a對(duì)數(shù)據(jù)的操作 )放在一起,作為一個(gè)相互依存、不可分割的整體來處理。8、軟件生存周期的( d每個(gè)階段)工作和軟件可維護(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簡(jiǎn)化的、壓縮了的
17、2開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作 。 答案為:b軟件危機(jī)15產(chǎn)生軟件維護(hù)的副作用,是指。 答案為:c因修改軟件而造成的錯(cuò)誤16維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是_副作用。答案為:c編碼17可維護(hù)性的特性中相互促進(jìn)的是答案為:a可理解性和可測(cè)試性18需求分析最終結(jié)果是產(chǎn)生 答案:b需求規(guī)格說明書7_是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。答案為:d技術(shù)評(píng)審 19面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識(shí)世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的
18、_;對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。答案為:c把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法20原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于_系統(tǒng)。答案為:a需求不確定性高的21為了提高測(cè)試的效率,應(yīng)該。答案為:d選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù) 四、判斷題 某軟件公司擬采取下述措施提高他們開發(fā)出的軟件產(chǎn)品的可維護(hù)性。請(qǐng)判斷哪些措施是正確的,哪能些是不正確的,并簡(jiǎn)單說明理由。1、在分析用戶需求時(shí)同時(shí)考慮維護(hù)問題。正確2、測(cè)試完程序后,刪去程序中的注解以縮短源程序長(zhǎng)度。不正確3、在軟件開發(fā)過程中保證各階段文檔的正確性。正確4、編碼時(shí)多用全局變量。不正確5、選
19、用時(shí)間效率和空間效率盡可能高的算法。不正確6、盡可能利用硬件特點(diǎn)以提高程序效率。不正確7、盡可能使用高級(jí)語言編寫程序。正確8、進(jìn)行總體設(shè)計(jì)時(shí)加強(qiáng)模塊間的聯(lián)系。不正確 9、盡量減少程序模塊的規(guī)模。不正確 10、用數(shù)據(jù)庫系統(tǒng)代替文件系統(tǒng)來存儲(chǔ)需要長(zhǎng)期保存的信息。正確 11、用case環(huán)境或程序自動(dòng)生成工具來自動(dòng)生成一部分程序。正確 12、盡量用可重用的軟件構(gòu)件來組裝程序。 13、使用先進(jìn)的軟件開發(fā)技術(shù)。正確14、采用防錯(cuò)程序設(shè)計(jì)技術(shù),在程序中引入自檢能力。正確程序的可讀性和可理解性,從而降低軟件的可維護(hù)性。五、簡(jiǎn)答題1、 什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?答:軟件過程是為了開發(fā)出高質(zhì)量的
20、軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過程定義了運(yùn)用技術(shù)方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標(biāo)志完成了相應(yīng)開發(fā)活動(dòng)的里程碑。軟件過程是軟件工程方法學(xué)的3個(gè)重要組成部分之一。2、什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說明每種模型的適用范圍。答:軟件生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,因此,也稱為過程模型。四種模型的優(yōu)缺點(diǎn)在于:(1) 瀑布模型歷史悠久、廣為人知,它的優(yōu)勢(shì)在于它是規(guī)范的、文擋驅(qū)動(dòng)的方法;這種模型的問題是,最終開發(fā)出的軟件產(chǎn)品可能并
21、不是用戶真正需要的。(2) 快速原型模型正是為了克服瀑布模型的缺點(diǎn)而提出來的。它通過快速構(gòu)建起一個(gè)可在計(jì)算機(jī)上運(yùn)行的原型系統(tǒng),讓用戶試用原型并收集用戶反饋意見的辦法,獲取用戶的真實(shí)需求。(3) 增量模型具有可在軟件開發(fā)的早期階段使投資獲得明顯回報(bào)和教易維護(hù)的優(yōu)點(diǎn),但是,要求軟件具有開放的結(jié)構(gòu)是使用這種模型時(shí)固有的困難。(4) 風(fēng)險(xiǎn)驅(qū)動(dòng)的螺旋模型適用于內(nèi)部開發(fā)的大型軟件項(xiàng)目,但是,只有在開發(fā)人員具有風(fēng)險(xiǎn)分析和排除風(fēng)險(xiǎn)的經(jīng)驗(yàn)及專門知識(shí)時(shí),使用這種模型才會(huì)獲得成功。3、 在軟件開發(fā)的早期階段為什么要進(jìn)行可行性研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?答:可行性研究的目的不是解決問題,而是確定問題是否
22、值得去解決。實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。應(yīng)該從以下的方面研究目標(biāo)系統(tǒng)的可行性:(1) 技術(shù)可行性:使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?(2) 經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?(3) 操作可行性:這個(gè)系統(tǒng)的操作方式在該客戶組織內(nèi)行得能工通嗎?4、怎樣與用戶有效地溝通以獲取用戶的真實(shí)需求?答:分析員與用戶溝通進(jìn)行需求分析的典型方法如下所述:1 訪談:它有兩種基本形式,分別是正式的和非正式的訪談。2 面向數(shù)據(jù)流自頂向下求精。3 簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)。4 快速建立軟件原型。5、什么是功能模型?建立
23、功能模型時(shí)主要使用哪些圖形符號(hào)?答:功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對(duì)目標(biāo)系統(tǒng)的需求。 通常,功能模型由一組數(shù)據(jù)流圖組成。建立功能模型時(shí)主要使用的圖形符號(hào)如下所示:或 數(shù)據(jù)的源點(diǎn)/終點(diǎn)或 變換數(shù)據(jù)的處理或 數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)流6、為什么要選擇軟件開發(fā)模型?軟件開發(fā)模型與軟件生存周期有什么關(guān)系?答:因?yàn)檐浖_發(fā)模型是軟件工程研究的四大內(nèi)容之一,它雖然不是軟件工程研究的重點(diǎn),但是在宏觀上特別重要。軟件公司的項(xiàng)目組在開發(fā)一個(gè)大項(xiàng)目或產(chǎn)品時(shí),首先在技術(shù)上必須選擇一個(gè)開發(fā)模型,使開發(fā)模型非常適合這個(gè)項(xiàng)目或產(chǎn)品的生存周期;隨后通過對(duì)生存周期的裁減,來給出
24、適合與本項(xiàng)目或產(chǎn)品的軟件生存周期定義。軟件的開發(fā)模型與軟件生存周期有關(guān):不同的開發(fā)模型,可能對(duì)應(yīng)著不同的生存周期。生存周期不同,該軟件的開發(fā)階段劃分、評(píng)審次數(shù)、基線標(biāo)準(zhǔn)都有所不同,甚至維護(hù)方法都有所區(qū)別。7、請(qǐng)說明“三個(gè)模型”的定義,以及三者之間的關(guān)系。答:功能模型是描述系統(tǒng)能做什么,即對(duì)系統(tǒng)的功能、性能、接口和界面進(jìn)行定義。業(yè)務(wù)模型是描述系統(tǒng)在何時(shí)、何地、由何角色、按什么業(yè)務(wù)規(guī)則去做,以及做的步驟或流程,即對(duì)系統(tǒng)的操作流程進(jìn)行定義。數(shù)據(jù)模型是描述系統(tǒng)工作前的數(shù)據(jù)來自何處,工作中的數(shù)據(jù)存什么地方,工作后的數(shù)據(jù)放到何處,以及這些數(shù)據(jù)之間的關(guān)聯(lián),即對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。功能模型和業(yè)務(wù)模型是在需
25、求分析時(shí)建模,是兩個(gè)基本點(diǎn)。數(shù)據(jù)模型是一個(gè)中心,在設(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)目中首先要獲取用戶的需求,通過對(duì)軟件需求的提取、分析、文檔化及驗(yàn)證,為進(jìn)一步的設(shè)計(jì)和實(shí)現(xiàn)提供依據(jù)。需求分析的難點(diǎn)是:在系統(tǒng)的功能、性能和接口方面,開發(fā)者與客戶達(dá)成完全一致的需求,讓客戶最終簽字確認(rèn),并保證在項(xiàng)目驗(yàn)收前,需求相對(duì)穩(wěn)定不變。萬一需求有一點(diǎn)變化,雙方必須履行“需求變更管理程序”,而變更管理程序在簽訂合同時(shí)
26、已經(jīng)做了規(guī)定。要知道,合同是具有法律效力的。9可行性研究報(bào)告的主要內(nèi)容有哪些?答:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對(duì)現(xiàn)有系統(tǒng)的分析。(4)所建議系統(tǒng)的技術(shù)可行性分析。(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析。(6)社會(huì)因素可行性分析。(7)其他可供選擇方案。(8)結(jié)論意見。10系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?答:系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的
27、更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。主要內(nèi)容為:(1)系統(tǒng)分解。(2)確定并發(fā)性。(3)處理器及任務(wù)分配。(4)數(shù)據(jù)存儲(chǔ)管理。(5)全局資源的處理。(6)選擇軟件控制機(jī)制。(7)人機(jī)交互接口設(shè)計(jì)。11什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?答:軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。軟件危機(jī)表現(xiàn)在以下四個(gè)方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。(3)開發(fā)的軟件可維護(hù)性差。(4)開發(fā)的軟件可靠性差。 造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)
28、越來越復(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ù)評(píng)審。(3)加強(qiáng)軟件測(cè)試。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。(5)對(duì)軟件的變更進(jìn)行控制。軟件的修改和變更常常會(huì)引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。(6)對(duì)軟件質(zhì)量進(jìn)行度量。即對(duì)軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。六、描述題3、請(qǐng)用數(shù)據(jù)流圖描繪以下系統(tǒng)的功能,并用實(shí)體
29、-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲(chǔ)戶;如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。答:數(shù)據(jù)流圖: 實(shí)體-聯(lián)系圖:4請(qǐng)使用pad圖和程序設(shè)計(jì)語言描述在數(shù)組a(1)a(10)中找最大數(shù)的算法。答:程序設(shè)計(jì)語言:n=1 while n<=10 do if a(n)<=a(n+1) max =a(n+1);el
30、se max =a(n) endif; n=n+1; endwhile;pad圖:5某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中,生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。(2)根據(jù)車間實(shí)際生產(chǎn)日?qǐng)?bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃。(3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間。技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購(gòu)需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品
31、自制物料清單。(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(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)品使用的時(shí)間2、“背靠背”測(cè)試也稱 b對(duì)比測(cè)試 ,主要用于處理被認(rèn)為十分關(guān)鍵的系統(tǒng)。3、下面哪一項(xiàng)沒有描述需求分析的重要性?a有助于可行性分析4、在系統(tǒng)分析中使用數(shù)據(jù)流圖(dfd)這種基本方法是為了提供 c功能模型和信息流 。5、基本路徑測(cè)試也稱 a結(jié)構(gòu)化測(cè)試 ,是最重要的基本代碼的測(cè)試策略。6、以下哪些不是面向規(guī)模的度量?c 算法復(fù)雜度7、以下
32、哪種是線型順序模型?c瀑布模型 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è)計(jì)。9、當(dāng)每級(jí)精化中的數(shù)據(jù)流圖dfd的輸入和輸出都相同時(shí)稱為 d平衡 。 10、結(jié)構(gòu)圖表示 d 軟件結(jié)構(gòu) 。三、判斷題(每題1分,共15分)1、項(xiàng)目策劃中的步驟包含需求分析過程。()2、使用形式化方法可以得到一組無二義性的、完整的和一致的規(guī)格說明。()3、可行性研究主要從系統(tǒng)可行性、經(jīng)濟(jì)可行性、技術(shù)可行性等幾個(gè)方面進(jìn)行研究。(×)4、需求工程將對(duì)項(xiàng)目進(jìn)行可行性評(píng)估。(×)5、過程、方法和工具稱軟件工程的三要素。()6、隨著計(jì)算機(jī)硬件成
33、本的降低,軟件的成本也在降低。(×)7、cocomo模型是一種成本估算模型。()8、上下文級(jí)數(shù)據(jù)流圖也稱為o層數(shù)據(jù)游圖。(×)9、詳細(xì)設(shè)計(jì)中使用的pad圖也稱為程序流程圖。(×)10、當(dāng)軟件開發(fā)項(xiàng)目的進(jìn)度有可能拖延時(shí),增加開發(fā)人員一定能加快項(xiàng)目的進(jìn)度。(×)11、srs是系統(tǒng)測(cè)試和驗(yàn)證活動(dòng)的基礎(chǔ)。()12、大多數(shù)軟件是同組件組裝起來,不是由客戶要求定制的。(×)13、軟件產(chǎn)品是一種智力產(chǎn)品,需要高水平的軟件開發(fā)人員,項(xiàng)目管理在軟件開發(fā)過程沒什么太大作用。(×)14、技術(shù)評(píng)審對(duì)軟件的質(zhì)量保證作用并不大。(×)15、需求分析的制
34、品是需求規(guī)格說明書。(×)四、簡(jiǎn)答題(每題5分,共30分)1、商場(chǎng)要引入一個(gè)商品供銷存系統(tǒng),要進(jìn)行軟件的經(jīng)濟(jì)可行性分析,你認(rèn)為應(yīng)該從哪幾個(gè)方面進(jìn)行分析?(5分)答:成本、效益、貨幣的時(shí)間價(jià)值、投資回收期和純收入。2、軟件與一般的產(chǎn)品相比主要有哪些特點(diǎn)(5分)。答案一(推薦):軟件產(chǎn)品的特點(diǎn) (1)軟件具有高度抽象性, 軟件及軟件生產(chǎn)過程具有不可見性。 (2)同一功能軟件的多樣性,軟件生產(chǎn)過程中的易錯(cuò)性。 (3)軟件在開發(fā)和維護(hù)過程中的易變性。 (4)不同開發(fā)者之間思維碰撞的易發(fā)性。答案二:
35、(1)軟件產(chǎn)品的無實(shí)體性(2)軟件產(chǎn)品的繼承性(3)軟件產(chǎn)品的知識(shí)密集性(4)軟件產(chǎn)品的營(yíng)銷策略3.一個(gè)開發(fā)的軟件產(chǎn)品,現(xiàn)有400k行代碼,使用缺陷池測(cè)試,x池中放入470個(gè)錯(cuò)誤,y池中放入300個(gè)錯(cuò)誤,有125個(gè)缺陷同時(shí)出現(xiàn)在x、y池中,要求缺陷密度(kloc)為1.0時(shí)可以停止測(cè)試,問現(xiàn)在可不可以停止測(cè)試發(fā)布該產(chǎn)品(5分)。答:x池-470錯(cuò)誤y池-300錯(cuò)誤有125個(gè)缺陷同時(shí)出現(xiàn)在x、y池中唯一缺陷總數(shù):470+300-125=645缺陷總數(shù):470*300/125=1128可能剩余缺陷:1128-645=483隱藏缺陷(缺陷密度) :483/1128=42.81%=0.428<1.0,所以現(xiàn)在可以停止測(cè)試發(fā)布該產(chǎn)品了。4、為什么說需求獲取是一個(gè)困難過程(5分)。答:需求獲取是非常困難的,其主要原因有:(1) 缺乏領(lǐng)域知識(shí),應(yīng)用領(lǐng)域的問題常常是模糊的、不精確的;(2) 存在多個(gè)知識(shí)源,而且多知識(shí)源之間可能有沖突;(3) 面對(duì)客戶可能有偏見,如不能提供你需要了解什么或不想告知你需要了解的事情。5、原型模型與演化模型的異同分析(5分)答:原型模型優(yōu)點(diǎn): 成品的用戶滿意度高。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)春工業(yè)大學(xué)人文信息學(xué)院《BM安裝工程計(jì)量》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌理工學(xué)院《現(xiàn)代控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明幼兒師范高等專科學(xué)?!督鹑趯W(xué)前沿動(dòng)態(tài)》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽農(nóng)林學(xué)院《臺(tái)港暨海外華文文學(xué)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安體育學(xué)院《大數(shù)據(jù)機(jī)器學(xué)習(xí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 濰坊工商職業(yè)學(xué)院《機(jī)器學(xué)習(xí)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東信息工程職業(yè)學(xué)院《UML及形式化建?!?023-2024學(xué)年第二學(xué)期期末試卷
- 山西旅游職業(yè)學(xué)院《化工原理(Ⅰ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院《信號(hào)分析與處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 麗水職業(yè)技術(shù)學(xué)院《詩歌導(dǎo)讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 羅森便利店QSC標(biāo)準(zhǔn)課件講義
- 售后服務(wù)的流程圖
- 讀《讀懂孩子》讀書心得體會(huì)
- 《勞動(dòng)合同法》普法宣傳資料
- 二年級(jí)下冊(cè)科學(xué)教案-2.3科技產(chǎn)品體驗(yàn)會(huì) 大象版
- 退役軍人優(yōu)待證申領(lǐng)表
- Q∕SY 19001-2017 風(fēng)險(xiǎn)分類分級(jí)規(guī)范
- 勞務(wù)分包項(xiàng)目經(jīng)理崗位職責(zé)
- 幼兒繪本故事:奇怪的雨傘店
- 鋼琴基礎(chǔ)教程教案
- 糖基轉(zhuǎn)移酶和糖苷酶課件(PPT 111頁)
評(píng)論
0/150
提交評(píng)論