




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程概論鄭人杰等版第1章軟件與軟件工程的概念辦公軟件、游戲軟件、財務(wù)軟件、銀行軟件、人事管理軟件、工資管理軟件、學籍管理軟件1.2認為“軟件就是程序,軟件開發(fā)就是編程序?!边@種觀點是否正確?為什么?認為“軟件就是程序,軟件開發(fā)就是編程序。”這種觀點是錯誤的。首先,軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合,程序只是軟件的組成部分之一;其次,在軟件開發(fā)中,編程只是軟件開發(fā)過程1.3如果將軟件開發(fā)比作高樓大廈的建造,可以將軟件的設(shè)計比作什么?可以將軟件的設(shè)計比作建筑設(shè)計,軟件設(shè)計的成果相當于建筑設(shè)計的設(shè)計圖紙。1.4什么是軟件危機?它有哪些典型表現(xiàn)?為什么會出現(xiàn)軟件危機?(1)對軟件開發(fā)成本和進度的估計常常很不準確。(6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。(7)軟件開發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠遠跟不上計算機應(yīng)用(1)缺乏軟件開發(fā)的經(jīng)驗和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作計劃很難制定。(2)軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯誤。(3)軟件開發(fā)過程不規(guī)范。如,沒有真正了解用戶的需求就開始編程序。(4)隨著軟件規(guī)模的增大,其復(fù)雜性往往會呈指數(shù)級升高。需要很多人分工協(xié)作,不僅涉及技術(shù)問題,更重要的是必須有科學嚴格的管理。值得做?”。(3)軟件設(shè)計:本階段要回答的關(guān)鍵問題是“目標系統(tǒng)如何做?”為此,必須在設(shè)計階段1.7常見的軟件生存期模型主要有哪些?每種模型的優(yōu)缺點是什么?統(tǒng)一過程。(1)瀑布模型優(yōu)點:可強迫開發(fā)人員采用規(guī)范化的方法;嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。缺點:由于瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要;用戶往往需要等待很長時間才能看到可以運行的程序;適應(yīng)需求變更的能力比較差。適用范圍:瀑布模型只適用于項目開始時需求已確定的情況。(2)快速原型模型優(yōu)點:有助于滿足用戶的真實需求;原型系統(tǒng)已經(jīng)通過與用戶的交互而得到驗證,據(jù)此產(chǎn)生的規(guī)格說明文檔能夠正確地描述用戶需求。缺點:要求開發(fā)人員快速建立原型。(3)增量模型優(yōu)點:●能在較短時間內(nèi)向用戶提交可完成一些基本功能的產(chǎn)品,即從第一個構(gòu)件交付之日起,用戶就能做一些有用的工作?!裰鸩皆黾赢a(chǎn)品的功能可以使用戶有較充裕的時間學習和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給用戶組織帶來的沖擊?!耥椖渴〉娘L險較低,雖然在某些增量構(gòu)件中可能遇到一些問題,但其他增量構(gòu)件將能夠成功地交付給客戶。●優(yōu)先級最高的服務(wù)首先交付,然后再將其他增量構(gòu)件逐次集成進來。因此,最重要的系統(tǒng)服務(wù)將接受最多的測試。缺點:●在把每個新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)●軟件體系結(jié)構(gòu)必須是開放的,即向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便。適用范圍:適用于工期緊張、功能可以劃分、比較復(fù)雜的軟件項目。軟件工程師必須有較高的技術(shù)水平,能夠設(shè)計出開放的軟件體系結(jié)構(gòu)。(4)螺旋模型優(yōu)點:●對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標;●減少了過多測試或測試不足所帶來的風險;●在螺旋模型中維護只是模型的另一個周期,在維護和開發(fā)之間并沒有本質(zhì)區(qū)別。缺點:螺旋模型是風險驅(qū)動的,因此要求軟件開發(fā)人員必須具有豐富的風險評估經(jīng)驗和這方面的專門知識,否則將出現(xiàn)真正的風險:當項目實際上正在走向災(zāi)難時,開發(fā)人員可能還以為一切正常。適用范圍:適用于內(nèi)部開發(fā)的大型軟件(開發(fā)周期長、比較容易受到社會因素影響的軟件項目),軟件開發(fā)人員具有豐富的風險評估知識和經(jīng)驗。(5)噴泉模型優(yōu)點:在開發(fā)過程中使用統(tǒng)一的概念和方法,各階段之間沒有明顯的界限,容易實現(xiàn)各個開發(fā)過程的多次反復(fù)迭代,達到了認識的逐步深化,降低了出錯的可能性。缺點:由于各個階段之間的界線不明確,容易造成軟件開發(fā)過程的無序。(6)統(tǒng)一過程優(yōu)點:提高了團隊生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗證軟件質(zhì)量及控制軟件變更等方面,針對所有關(guān)鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準則、模板和工具指導(dǎo),并確保全體成員共享相同的知識基礎(chǔ)。它建立了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供了較大的通用性。缺點:RUP只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運行和支持等方面的內(nèi)容;此外,它沒有支持多項目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實現(xiàn)重用的可能性。第2章軟件工程方法與工具2.1軟件工程的三種基本要素是什么,各自的作用是什么?軟件工程的三種基本要素是方法、工具和過程。(1)軟件工程方法(method)為建造軟件提供技術(shù)上的解決方法(“如何做”)。目前使用得最廣泛的方法是傳統(tǒng)方法(結(jié)構(gòu)化方法)和面向?qū)ο蠓椒ā?2)工具為方法的運用提供自動的或半自動的軟件支撐環(huán)境。(3)過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。2.2簡述傳統(tǒng)方法和面向?qū)ο蠓椒ǖ奶攸c。(1)傳統(tǒng)方法的特點傳統(tǒng)方法也稱為生命周期方法或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)的各項任務(wù)。這種方法學把軟件生命周期的全過程依次劃分為若干個階段,然后順序地逐步完成每個階段的任務(wù)。每一個階段的開始和結(jié)束都有嚴格的標準,對于任何兩個相鄰的階段而言,前一個階段的結(jié)束標準就是后一階段的開始標準。要么面向數(shù)據(jù),缺乏使兩者有機結(jié)合的機制。(2)面向?qū)ο蠓椒ǖ奶攸c面向?qū)ο蠓椒ò褦?shù)據(jù)和行為看成同等重要,是將數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法,這也是面向?qū)ο蠓椒ㄅc傳統(tǒng)方法的重要區(qū)別。面向?qū)ο蠓椒ǖ某霭l(fā)點和基本原則,是盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法和過程盡可能接近人類認識問題和解決問題的方法與過程,從而使描述問題的問題空間與其解空間在結(jié)構(gòu)上盡可能一致。對于大型、復(fù)雜及交互性比較強的系統(tǒng),使用面向?qū)ο蠓椒?.3形式化方法的特點是什么?(1)軟件需求規(guī)格說明被細化為用數(shù)學記號表達的詳細的形式化規(guī)格說明;(2)設(shè)計、實現(xiàn)和單元測試等開發(fā)過程由一個變換開發(fā)過程代替。通過一系列變換將形式的規(guī)格說明細化成為程序。第3章軟件需求獲取與結(jié)構(gòu)化分析方法“結(jié)構(gòu)化”一詞應(yīng)來源于“結(jié)構(gòu)化程序設(shè)計”,先有“結(jié)構(gòu)化程序設(shè)計”的思想,后有頂層數(shù)據(jù)流圖(或稱環(huán)境圖)僅包括一個數(shù)據(jù)處理過程,也(1)確定系統(tǒng)在其環(huán)境中的位置,與系統(tǒng)有聯(lián)系的外部實體(包括硬構(gòu)及人)有哪些。金額、存款類型),如果還沒有開戶,則需要先開戶,填寫開戶單(包括姓名、身份證號、地址、電話、是否留密碼)。填寫完存款單或開戶單后,交給營業(yè)員,營業(yè)員將存款單或圖(至少畫出兩層)。(2)頂層數(shù)據(jù)流圖歡迎下載7員儲戶儲戶(3)一層數(shù)據(jù)流圖對銀行儲蓄系統(tǒng)進行分解,從大的方面分解為接收事務(wù)、處理開戶、處理存款三部分,得到一層數(shù)據(jù)流圖。22存款田員3+處理開戶(4)二層數(shù)據(jù)流圖對“處理存款”及“處理開戶”進行進一步分解,得到二層數(shù)據(jù)流圖,即處理存款的數(shù)據(jù)流圖和處理開戶的數(shù)據(jù)流圖。單處理存款的數(shù)據(jù)流圖3.1開戶單不留密碼開戶單田記錄開戶信息中處理開戶的數(shù)據(jù)流圖3.5按照以下描述,畫出ER圖。一本教材由許多章組成,每一章包含許多節(jié)、小結(jié)和習題組成,章和節(jié)都具有標題和序號節(jié)教材節(jié)小結(jié)歡迎下載8第4章結(jié)構(gòu)化設(shè)計方法存款單存款1儲戶接收事務(wù)開戶單開戶田k記錄存款打印存款單信息員存款信息開戶信息④調(diào)度第-級分解后的結(jié)構(gòu)圖輸入密碼處理存款輸入密碼處理開戶4.9將大的軟件劃分成模塊有什么好處?是不是模塊劃分得越小越好?劃分模塊的依據(jù)是什么?結(jié)構(gòu)化程序設(shè)計并不禁止使用goto語句。如果程序中使用了goto語句,并不能斷4.13對于圖4-49所示的流程圖,試分別用N-S圖和PAD表示之。AAPFTABTQTF圖4-49流程圖AB開始TFTFFTTFTFFTF圖4-50二分查找算法的流程圖TABLE(I)<ITEMTFFINISH=I-1TFTABLE(I)==ITEMTFTFFINISH=[-1TABLESTARTITEMIITABLEFINISHITETF-TFTFFINISH=I-14.15使用自頂向下、逐步細化方法設(shè)計算法,完成下列任務(wù):產(chǎn)生一個10×10的二維隨機整數(shù)方陣,先求出每一行的最大值和每一列的最小值;然后求10個最大值中的最小者,10個最小值中的最大者;最后求這兩個數(shù)之差的平方。(1)首先寫出下面的程序框架:定義10×10的二維整數(shù)數(shù)組A,長度為10的一維數(shù)組B,C;建立10×10的二維隨機整數(shù)數(shù)組A;-------------------------1求A中每一行的最大值→數(shù)組B:----------------------------2求A中每一列的最小值→數(shù)組C;----------------------------3求數(shù)組B中的最小值→minOfB;-----------------------------4求數(shù)組C中的最大值→maxOfC;-----------------------------5)(2)對后面加標記的部分進行細化定義10×10的二維整數(shù)數(shù)組A,長度為10的一維數(shù)組B,C;/*建立10x10的二維隨機整數(shù)數(shù)組A*------------------------1*求A中每一行的最大值→數(shù)組B/---------------------------2求數(shù)組A第i行的最大值>B[i];--------------------------2.1}/*求A中每一列的最小值→數(shù)組C*/-------------------------3求數(shù)組A第j列的最小值>C[j];--------------------------3.1歡迎下載16}}}}}4.16設(shè)計算法完成下列任務(wù):輸入一段英文后,無論輸入的文字都是大寫,還是小寫,或大小寫任意混合,都能將其整理成除每個句子開頭字母是大寫外,其他都是小寫的文字。假設(shè)在輸入的文字中,兩個單詞間只允許是空格、,、.、?、!,則在輸出的文字中,大寫的情況有以下幾種:(1)整段文字的第一個字母是大寫;設(shè)變量a存儲輸入的字符串,變量b存儲結(jié)果字符串,變量c存儲當前處理的字符,變量e存儲c之前的字符(當c為第一個字符時除外)。算法如下:輸入字符串a(chǎn),n=strlen(a)如果a的第一個字符是字母,則轉(zhuǎn)成大寫。Tc是字母Fe屬于".?!"TFc改大寫c改小寫給b加字符串結(jié)束標志歡迎下載第5章編碼嗎?為什么?5.7請對下面代碼的布局進行改進,使其符合規(guī)范其更容易理解。}}改進后的代碼如下:{t=j;}{}5.8使用你熟悉的語言編寫出習題4.15的程序,注意編碼風格。下面為使用C語言編寫的習題4.15的程序:*求10×10的二維數(shù)組a的每一行的最大值存入一維數(shù)組b,每一列的最小值存入一維數(shù)組c,minOfB存儲數(shù)組b的最小值,maxOfC存儲數(shù)組c的最大值,result存儲minOfB與maxOfC之差的平方。*/20}if(a[i][j]<c[j])c[j]=a[i]}if(minOfB>b[i])minOfB=b[i]*求數(shù)組c中的最大值→maxOfC*/下面為使用C語言編寫的習題4.16的程序:})if(isalpha(c))}}puts(b);}第6章軟件測試方法(1)車牌上應(yīng)有7個字符;(3)第2個字符可任選一字母(A~Z);(4)第3~7個字符可選任意數(shù)字。字符個數(shù)7個(1)0~6個(2),>7個(3)首字符“京”(4)非“京”(5)字母(6)非字母(7)第3~7個字符數(shù)字(8)非數(shù)字(9)測試用例如下:1)京H877742)京H87774)冀H877745)京9877746)京BA7774}(9)α測試與β測試都是集成測試之后所進行的測試,都屬于系統(tǒng)測試。所不同的是,α測試是在開發(fā)環(huán)境中所做的測試,主要由開發(fā)方人員進行。而β測試則是在用戶實際工作環(huán)境中所做的測試,不受開發(fā)人員的干預(yù)。補充題:設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例:NNYY設(shè)輸入數(shù)據(jù)為<A,B,C>,輸出數(shù)據(jù)為<X,Y,Z>。語句覆蓋測試用例:【<6,12,20>,<10,20,30>】,【<4,8,10>,<1,2,3>】路徑覆蓋測試用例:【<6,12,20>,<10,20,30>】【<6,12,10>,<10,20,3>】【<6,8,20>,<10,2,30>】【<6,8,10>,<10,2,3>】【<4,12,20>,<1,20,30>】【<4,12,10>,<1,20,3>】【<4,8,20>,<1,2,30>】【<4,8,10>,<1,2,3>】第7章統(tǒng)一建模語言UML概述7.2UML中有哪些關(guān)系?解釋類圖中聚合和關(guān)聯(lián)的相同點和不同點。在UML中,常見的關(guān)系有泛化、聚合、關(guān)聯(lián)、依賴和實現(xiàn)。在類圖中,關(guān)聯(lián)是一種結(jié)構(gòu)關(guān)系,它描述了兩個或多個類的實描述了整體和部分之間的結(jié)構(gòu)關(guān)系。按照關(guān)聯(lián)關(guān)系的定義,聚合屬于一種特殊的關(guān)聯(lián)關(guān)系,只不過這種關(guān)聯(lián)關(guān)系具有明確的整體-部分含義而已。從耦合度的角度看,聚合關(guān)系要強于7.4討論順序圖與協(xié)作圖的關(guān)系,何時用順序圖建模優(yōu)于協(xié)作圖建模,以及相反的情況。順序圖和協(xié)作圖都能描述對象間的交互關(guān)系,但兩者的側(cè)重點不同,順序圖著重表現(xiàn)交互的時間順序,協(xié)作圖則著重表現(xiàn)交互對象的靜態(tài)鏈接關(guān)系。但即使他們各有側(cè)重,但從語義上來說是等價的,可從一種圖自動轉(zhuǎn)換為另一種圖。一般情況下,當需要強調(diào)消息傳遞的時間順序時,采用順序圖;當表示涉及很多對象的模型時,協(xié)作圖比順序圖更形象。順序圖在分析中更常用,而協(xié)作圖則在設(shè)計中更常用。7.5考慮銀行系統(tǒng)中的帳戶會有哪幾種狀態(tài),畫出帳戶對象的狀態(tài)圖。賬戶的狀態(tài)包括開戶、正常使用、透支、休眠、凍結(jié)和注銷。賬戶對象的狀態(tài)圖如下圖第8章面向?qū)ο蠓治?.1比較面向?qū)ο蟮姆治龇椒ê兔嫦驍?shù)據(jù)流的分析方法,闡述它們各自的特點。面向?qū)ο蟮姆治龇椒ㄊ褂糜美P蛠肀硎居脩舻墓δ苄枨?,用例模型相當于功能模型,在對用例模型進行細化的過程中,也伴隨著對功能的分解。但面向?qū)ο蟮姆治龇椒ú⒉皇且怨δ芊纸鉃楹诵模讷@取并分析用戶的功能需求之后,重點以類和對象為核心,建立對象模型,交互模型也是圍繞對象模型進行的。面向數(shù)據(jù)流的分析方法是從建立頂層數(shù)據(jù)流圖(環(huán)境圖)開始,之后逐層對加工進行分解。面向數(shù)據(jù)流的分析方法是以功能分解為核心的。8.2面向?qū)ο蠓治鲂枰⒌娜齻€模型是什么?面向?qū)ο蠓治鲂枰⒌?個模型是:由用例和場景表示的功能模型(用例模型);用類和對象表示的靜態(tài)模型(對象模型);由狀態(tài)圖和順序圖表示的動態(tài)模型(交互模型)。類-對象層8.5用例與用例之間的關(guān)系主要有哪兩種?其區(qū)別是什么?對象模型的五個層次8.8按照以下描述,畫出UML類圖:nChapterTextbookAsn:Integer1Summary有哪些主要用例?畫出用例圖。主要用例編號1商品信息)增加、修改、刪除商品信息(商品編號、名稱、型號、價格)2Maintainmembershipinformation(維護會員信息)增加、修改、刪除會員信息(會員編號、姓名、身份證號、辦卡日期)3Scanmembershipcard(掃描會員在商品出售之前,系統(tǒng)通過掃描儀刷卡(會員卡)來確認顧客的會員身份4通過掃描商品的條形碼,自動識別商品的名稱和價格5Inputamountofproduct(輸入商品對于已經(jīng)掃描的條形碼,手工輸入購買的此件商品的數(shù)量6Acceptpayment(接收現(xiàn)金付款)卡付款)7Printreceipt(打印收據(jù))歡迎下載27Chargepaymenttocard第10章面向?qū)ο笤O(shè)計在下圖中,包A依賴于包B,反過來包B又依賴包A,構(gòu)成了循環(huán)依賴。具體解決辦法是:將包B依賴的包A中的元素從包A中分離出來,組成包C,使得包B不再依賴包A,ABABC處理邏輯所需的內(nèi)部數(shù)據(jù)結(jié)構(gòu)以及能
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨區(qū)域辦公環(huán)境與工作模式的變革趨勢
- 駕駛教育課程優(yōu)化研究
- 浙江國企招聘2024溫州市白鹿人才科技發(fā)展有限公司招聘4人筆試參考題庫附帶答案詳解
- 跨境電商平臺競爭格局及策略研究
- 初二體育《跳躍運動》教學設(shè)計
- 全域旅游環(huán)境整治工作簡報范文(5篇)
- 遠程教育與培訓(xùn)的未來展望及挑戰(zhàn)
- 跨文化、跨年齡的足球觀賽文化培養(yǎng)與實踐
- 非銀行金融機構(gòu)在租賃住房融資中的角色
- 足球隊體能力量訓(xùn)練的技巧與策略
- 天津2025年天津市機關(guān)后勤事務(wù)服務(wù)中心招聘6人筆試歷年參考題庫附帶答案詳解
- 2025年天津三源電力集團限公司社會招聘33人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 西安2025年陜西西安音樂學院專任教師招聘20人筆試歷年參考題庫附帶答案詳解
- 國家安全與生態(tài)安全
- 培養(yǎng)自律能力主題班會
- 巴厘島旅游流程介紹
- 【物理】牛頓第一定律 2024-2025學年人教版物理八年級下冊
- 嬰幼兒電擊傷實踐操作張春芳講解
- 2025網(wǎng)格員考試題庫及參考答案
- 2025年湖南有色金屬職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 基于RFID技術(shù)的智能倉儲管理系統(tǒng)方案
評論
0/150
提交評論