軟件工程課后作業(yè)_第1頁
軟件工程課后作業(yè)_第2頁
軟件工程課后作業(yè)_第3頁
軟件工程課后作業(yè)_第4頁
軟件工程課后作業(yè)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

可編輯版/第一章一、什么是軟件危機(jī)?它有哪些典型表現(xiàn)?為什么會(huì)出現(xiàn)軟件危機(jī)?軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)、使用與維護(hù)過程中遇到的一系列嚴(yán)重問題和難題。它包括兩方面:如何開發(fā)軟件,已滿足對(duì)軟件日益增長的需求;如何維護(hù)數(shù)量不斷增長的已有軟件。軟件危機(jī)的典型表現(xiàn):<1>

對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確<2>

用戶對(duì)已完成的軟件不滿意的現(xiàn)象時(shí)有發(fā)生<3>

軟件產(chǎn)品的質(zhì)量往往是靠不住的<4>

軟件常常是不可維護(hù)的。<5>

軟件通常沒有適當(dāng)?shù)奈臋n資料。<6>

軟件成本、軟件維護(hù)費(fèi)在計(jì)算機(jī)系統(tǒng)總成本中所占比例逐年上升。<7>

開發(fā)生產(chǎn)率提高的速度遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用普及的需求。軟件危機(jī)出現(xiàn)的原因:<1>

來自軟件自身的特點(diǎn):是邏輯部件,缺乏可見性;規(guī)模龐大、復(fù)雜,修改、維護(hù)困難。<2>

軟件開發(fā)與維護(hù)的方法不當(dāng):忽視需求分析;認(rèn)為軟件開發(fā)等于程序編寫;輕視軟件維護(hù)。<3>

供求矛盾將是一個(gè)永恒的主題:面對(duì)日益增長的軟件需求,人們顯得力不從心。四、簡述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c(diǎn),并分析他們的優(yōu)缺點(diǎn)。1.

傳統(tǒng)方法學(xué):也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。優(yōu)點(diǎn):把軟件生命周期劃分成若干個(gè)階段,每個(gè)階段的任務(wù)相對(duì)獨(dú)立,而且比較簡單,便于不同人員分工協(xié)作,從而降低了整個(gè)軟件開發(fā)過程的困難程度。缺點(diǎn):當(dāng)軟件規(guī)模龐大時(shí),或者對(duì)軟件的需求是模糊的或會(huì)承受時(shí)間而變化的時(shí)候,開發(fā)出的軟件往往不成功;而且維護(hù)起來仍然很困難。2.

面向?qū)ο蠓椒▽W(xué):優(yōu)點(diǎn):降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護(hù)工作;促進(jìn)了軟件重用。七、什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說明每種模型的使用范圍。軟件生命周期模型是跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。瀑布模型優(yōu)點(diǎn):它提供了一個(gè)模板,這個(gè)模板使得分析、設(shè)計(jì)、編碼、測試和支持的方法可以在該模板下有一個(gè)共同的指導(dǎo)。雖然有不少缺陷但比在軟件開發(fā)中隨意的狀態(tài)要好得多。缺點(diǎn):<1>

實(shí)際的項(xiàng)目大部分情況難以按照該模型給出的順序進(jìn)行,而且這種模型的迭代是間接的,這很容易由微小的變化而造成大的混亂。<2>

經(jīng)常情況下客戶難以表達(dá)真正的需求,而這種模型卻要求如此,這種模型是不歡迎具有二義性問題存在的。<3>

客戶要等到開發(fā)周期的晚期才能看到程序運(yùn)行的測試版本,而在這時(shí)發(fā)現(xiàn)大的錯(cuò)誤時(shí),可能引起客戶的驚慌,而后果也可能是災(zāi)難性的??焖僭湍P蛢?yōu)點(diǎn):使用戶能夠感受到實(shí)際的系統(tǒng),使開發(fā)者能夠快速地構(gòu)造出系統(tǒng)的框架。缺點(diǎn):產(chǎn)品的先天性不足,因?yàn)殚_發(fā)者常常需要做實(shí)現(xiàn)上的折中,可能采用不合適的操作系統(tǒng)或程序設(shè)計(jì)語言,以使原型能夠盡快工作。增量模型優(yōu)點(diǎn):<1>

人員分配靈活,剛開始不用投入大量人力資源,當(dāng)核心產(chǎn)品很受歡迎時(shí),可增加人力實(shí)現(xiàn)下一個(gè)增量。<2>

當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核心產(chǎn)品的途徑,這樣就可以先發(fā)布部分功能給客戶,對(duì)客戶起到鎮(zhèn)靜劑的作用。缺點(diǎn):至始至終開發(fā)者和客戶糾纏在一起,直到完全版本出來。<2>

適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。該模型具有一定的市場。螺旋模型優(yōu)點(diǎn):對(duì)于大型系統(tǒng)及軟件的開發(fā),這種模型是一個(gè)很好的方法。開發(fā)者和客戶能夠較好地對(duì)待和理解每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)。缺點(diǎn):<1>

需要相當(dāng)?shù)娘L(fēng)險(xiǎn)分析評(píng)估的專門技術(shù),且成功依賴于這種技術(shù)。<2>

很明顯一個(gè)大的沒有被發(fā)現(xiàn)的風(fēng)險(xiǎn)問題,將會(huì)導(dǎo)致問題的發(fā)生,可能導(dǎo)致演化的方法失去控制。<3>

這種模型相對(duì)比較新,應(yīng)用不廣泛,其功效需要進(jìn)一步的驗(yàn)證。該模型適合于大型軟件的開發(fā)九、試討論Rational統(tǒng)一過程的優(yōu)缺點(diǎn)。優(yōu)點(diǎn):提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面、針對(duì)所有關(guān)鍵的開發(fā)活動(dòng)為每個(gè)開發(fā)成員提供了必要的準(zhǔn)則、模版和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。十.Rational統(tǒng)一過程主要適用于何種項(xiàng)目?大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項(xiàng)目第二章1.在軟件開發(fā)的早期階段為什么要進(jìn)行可行性研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?答:〔1開發(fā)一個(gè)軟件時(shí),需要判斷原定的系統(tǒng)模型和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后所能帶來的效益是否大到值得投資開發(fā)這個(gè)系統(tǒng)的程度,如果做不到這些,那么花費(fèi)在這些工程上的任何時(shí)間、人力、軟硬件資源和經(jīng)費(fèi),都是無謂的浪費(fèi)??尚行匝芯康膶?shí)質(zhì)是要進(jìn)行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計(jì)過程,就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決?!?一般說來,至少應(yīng)該從以下三個(gè)方面研究每種解法的可行性:a.技術(shù)可行性。b.經(jīng)濟(jì)可行性。c.操作可行性。第三章一、為什么要進(jìn)行需求分析?通常對(duì)軟件系統(tǒng)有哪些要求?答:1>為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對(duì)軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設(shè)計(jì)和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會(huì)令用戶失望,給開發(fā)者帶來煩惱。2>確定對(duì)系統(tǒng)的綜合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出錯(cuò)處理需求;5、接口需求;6、約束;7、逆向需求;8、將來可以提出的要求,分析系統(tǒng)的數(shù)據(jù)要求。三、1銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號(hào)碼等存款信息,并打印出存款存單給儲(chǔ)戶;如果是取款且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并打印出利息清單給儲(chǔ)戶。用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用E-R圖描繪本系統(tǒng)的數(shù)據(jù)對(duì)象數(shù)據(jù)流圖:E-R圖:四、為方便旅客,某航空公司擬開發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。旅行社把預(yù)定機(jī)票的旅客信息〔姓名、性別、工作單位、身份證號(hào)碼、旅行時(shí)間、旅行目的地等輸入進(jìn)入該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)校對(duì)無誤即印出機(jī)票給旅客。用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用E-R圖描繪本系統(tǒng)的數(shù)據(jù)對(duì)象數(shù)據(jù)流圖:E-R圖:五、目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時(shí)觀察危病人的病情變化,還可能會(huì)延誤搶救時(shí)機(jī)。某醫(yī)院打算開發(fā)一個(gè)以計(jì)算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng)。用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用E-R圖描繪本系統(tǒng)的數(shù)據(jù)對(duì)象,畫出本系統(tǒng)的IPO圖。數(shù)據(jù)流圖:E-R圖:IPO圖:第四章一,舉例說明形式化說明技術(shù)和欠形式化方法的優(yōu)缺點(diǎn)。優(yōu)點(diǎn)缺點(diǎn)形式化說明1,簡潔準(zhǔn)確的描述物理現(xiàn)象,對(duì)象獲動(dòng)作的結(jié)果2,可以在不同軟件工程活動(dòng)之間平滑的過度。3,它提供了高層確認(rèn)的手段大多形式化的規(guī)格說明主要關(guān)注系統(tǒng)的功能和數(shù)據(jù),而時(shí)序的問題,控制和行為等方面的需求卻更難于表示非形式化說明難度低可能存在矛盾,二義性,含糊性,不完整性級(jí)抽象層次混亂等問題二、在什么情況下應(yīng)該使用形式化說明技術(shù)?使用形式化說明技術(shù)應(yīng)遵守哪些規(guī)則?答:在用非形式化的方式描述時(shí),存在矛盾,二義性,含糊性,不完整性級(jí)抽象層次混亂等問題時(shí)用形式化說明技術(shù)。應(yīng)用形式化方法的準(zhǔn)則:A,應(yīng)該選用適當(dāng)?shù)谋硎痉椒?;B,應(yīng)該形式化,但不要過分形式化;C,應(yīng)該估算成本;D,應(yīng)該有形式化的方法顧問隨時(shí)提供咨詢;E,不應(yīng)該放棄傳統(tǒng)的開發(fā)方式;F,應(yīng)該建立詳盡的文檔;G,不應(yīng)該放棄質(zhì)量標(biāo)準(zhǔn);H,不應(yīng)該盲目依賴形式化方法;I,應(yīng)該測試;J,應(yīng)該重用。4,考慮下述的自動(dòng)化圖書館流通系統(tǒng):每本書都有一個(gè)條形碼,每個(gè)人都有一個(gè)帶條形碼的卡片。但一個(gè)借閱人想借一本書時(shí),圖書管理員掃描書上的條形碼和借閱人卡片的條形碼,然后在計(jì)算機(jī)終端上輸入C;當(dāng)歸還一本書時(shí),圖書管理員將再次掃描,并輸入R。圖書管理員可以把一些書加到〔+圖書集合中,也可以刪除〔—它們。借閱人可以再終端上查找到某個(gè)作者所有的書〔輸入"A="和作者名字,或具有指定標(biāo)題的所有書籍〔輸入"T="和標(biāo)題,或?qū)儆谔囟ㄖ黝}范圍內(nèi)的所有圖書〔輸入"S="加主題范圍。最后,如果借閱人想借的書已被別人借走,圖書管理員將給這本書設(shè)置一個(gè)預(yù)約,以便書歸還時(shí)把書留給預(yù)約的借閱人〔輸入"H="加書號(hào)。試用有窮狀態(tài)機(jī)說明上述的圖書流通系統(tǒng)答:圖書館流通系統(tǒng)的有窮狀態(tài)機(jī)描述如下:狀態(tài)機(jī)J:{書在圖書館S1,書被借出S2,書被預(yù)約S3}

輸入集K:{書上條形碼,借閱卡條形碼,終端輸入各種命令}

轉(zhuǎn)換函數(shù)T:如圖所示初始態(tài)S:{書在圖書館S1,書被借出S2}

終態(tài)集F:{書被借出S2,書被預(yù)約S3}

第五章5.4美國某大學(xué)有200名教師,校方與教師工會(huì)剛剛簽訂一項(xiàng)協(xié)議。按照協(xié)議,所有年工資超過$26000〔含$26000的教師工資將保持不變,年工資少于$26000的教師將增加工資,所增加工資數(shù)額按下述方法計(jì)算:給每位教師所贍養(yǎng)的人〔包括教師本人每年補(bǔ)助$100,此外,教師有一年工齡每年再多補(bǔ)助¥50,但是,增加后的年工資總額不能多于$26000。教師工資檔案存儲(chǔ)在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇傭日期等信息。需要寫一個(gè)程序計(jì)算并印出每名教師的原工資和調(diào)整后的新工資。要求:〔1畫出此系統(tǒng)的數(shù)據(jù)流圖;〔2寫出需求說明;〔3設(shè)計(jì)上述的工資調(diào)整程序<要求用HIPO圖描繪設(shè)計(jì)結(jié)果>,設(shè)計(jì)時(shí)分別采用兩種算法,并比較兩種算法的優(yōu)缺點(diǎn):〔a搜索工資檔案數(shù)據(jù),找出年工資少于$26000的人,計(jì)算新工資,校核是否超過$26000,存儲(chǔ)新工資,印出新舊工資對(duì)照表;〔b把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當(dāng)工資數(shù)額超過$26000時(shí)即停止排序,計(jì)算新工資,校核是否超過限額,存儲(chǔ)新工資,印出結(jié)果?!?你所畫出的數(shù)據(jù)流圖適應(yīng)用那種算法?解:〔1數(shù)據(jù)流圖:〔2需求說明:1.功能需求:可以輸入調(diào)資的標(biāo)準(zhǔn),輸入教師檔案,經(jīng)調(diào)資給出新的教師檔案,需要存儲(chǔ)檔案2.性能需求:軟件的響應(yīng)時(shí)間應(yīng)小于0.5s,更新處理要快3.靈活需求:當(dāng)需求發(fā)生某些變化時(shí),該軟件應(yīng)該能夠適應(yīng)這些變化4.故障處理要求:出現(xiàn)錯(cuò)誤時(shí),應(yīng)給予警告或提示〔3A:B:a比較耗時(shí),因?yàn)樗獧z索所有的檔案,b從速度上看比較快,但是b需要排序算法,比較復(fù)雜,a對(duì)于設(shè)計(jì)來講比較簡?!?畫出的數(shù)據(jù)流圖比較適合A的算法第六章3、畫出下列偽代碼程序的流程圖和盒圖:STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTO解:程序流程圖盒圖5、研究下面的偽碼程序:LOOP:SetIto<START+FINISH>/2IFTABLE<I>=ITMEgotoFOUNDIFTABLE<I><ITMESetSTARTto<I+1>IFTABLE<I>>TMESetFINSHto<I-1>IF<FINSH-START>>1gotoLOOPIFTABLE<START>=ITEMgotoFOUNDIFTABLE<FINSH>=ITEMgotoFOUNDSetFLAGto0GotoDONEFOUND:SetFLAGto1DONE:EXIT要求:〔1畫出流程圖?!?程序是結(jié)構(gòu)化的嗎?說明理由?!?若此程序是非結(jié)構(gòu)化,設(shè)計(jì)一個(gè)等價(jià)的結(jié)構(gòu)化程序并畫出流程圖?!?此程序的功能是什么?它完成預(yù)定功能有什么隱含的前提條件嗎?解:〔1該程序流程圖下一頁〔2該程序不是結(jié)構(gòu)化的,結(jié)構(gòu)化的程序只有一個(gè)入口和一個(gè)出口,而該程序的流程途中有兩個(gè)出口?!?等價(jià)的結(jié)構(gòu)化程序的流程圖如下:〔4此程序有二分查找的功能,它完成預(yù)定功能的隱含前提條件是現(xiàn)有序列為從小到大順序排好的有序序列。第九章一、什么是面向?qū)ο蠓椒▽W(xué),它有哪些優(yōu)點(diǎn)?答:面向?qū)ο?/p>

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論