第一篇:《軟件工程》理論教學(xué)大綱
《軟件工程》理論教學(xué)大綱
(2000年制訂,2004年修訂)
課程編號:210024 英 文 名:Software Engineering 課程類別:專業(yè)主干課
前 置 課:計算機(jī)導(dǎo)論、程序設(shè)計基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計、離散數(shù)學(xué) 后 置 課:畢業(yè)設(shè)計和畢業(yè)論文 學(xué)
分:3學(xué)分
課
時:48課時(其中理論教學(xué)32課時,實驗教學(xué)16課時)主講教師: 韓忠愿等
選定教材: 張海藩.軟件工程.北京:人民郵電出版社.2002年.課程概述:
本課程面向信息系統(tǒng)與信息管理專業(yè)的學(xué)生,介紹軟件系統(tǒng)性質(zhì)、目標(biāo)、環(huán)境的分析方法,目標(biāo)系統(tǒng)邏輯聯(lián)系、功能聯(lián)系、控制聯(lián)系和狀態(tài)轉(zhuǎn)換過程的描述方法,軟件結(jié)構(gòu)、測試方案的設(shè)計要求和分析方法,軟件工程學(xué)新進(jìn)展,以及上述過程所用的規(guī)范化圖文數(shù)表模型。具體包括:軟件工程概念及其過程模型、結(jié)構(gòu)化分析/設(shè)計/實現(xiàn)方法和工具,面向?qū)ο蠓椒▽W(xué)及面向?qū)ο蟮母拍?、模型、分析方法、設(shè)計方法、實現(xiàn)方法,軟件項目管理及其定量度量方法、相關(guān)國際標(biāo)準(zhǔn)。最后介紹佩特網(wǎng)等形式化方法、統(tǒng)一建模語言、軟件常用技術(shù)和軟構(gòu)件的分類與檢索。教學(xué)目的:
本課程的教學(xué)目的,應(yīng)使學(xué)生掌握大型復(fù)雜軟件系統(tǒng)的開發(fā)方法、規(guī)則和工具。首先,應(yīng)使其克服長期書寫小程序形成的“重編碼、輕分析設(shè)計;重編碼、輕技術(shù)資料建設(shè)和管理”的習(xí)慣;其次,要理解軟件工程原理/方法/規(guī)則的必要性和掌握其技術(shù)細(xì)節(jié);第三,要了解軟件工程學(xué)的進(jìn)展和前沿動態(tài);第四,要通過軟件系統(tǒng)設(shè)計的練習(xí),鞏固和應(yīng)用所學(xué)知識。教學(xué)方法:
本課程的難點在于,學(xué)生不曾經(jīng)過大型軟件開發(fā)的訓(xùn)練,因此在講解中要適時插入大量軟件開發(fā)事例,要求教師具有一定的軟件開發(fā)經(jīng)驗;本課程不安排具體編程環(huán)境和開發(fā)語言的學(xué)習(xí),但必須以大型軟件開發(fā)實例說明問題,因此要求教師熟悉多種開發(fā)環(huán)境和開發(fā)語言;此外,軟件開發(fā)技術(shù)的滯后和軟件應(yīng)用的廣泛性所形成的反差,要求教師了解并適時提出計算機(jī)輔助軟件工程(CASE)的問題。因此,作為教師,應(yīng)把案例的收集和規(guī)律的提取作為重點;作為學(xué)生,重點是掌握基本思想和基本方法及其綜合應(yīng)用。教學(xué)中以講授和討論為主,實驗內(nèi)容則是在Power Designer、Project、IBM Rational Rose等CASE環(huán)境下實習(xí)理論教學(xué)中的建模、分析和管理過程。各章教學(xué)要求及教學(xué)要點
第一章 軟件工程概述
課時分配:2課時 教學(xué)要求:
本章對計算機(jī)軟件工程學(xué)進(jìn)行簡短的概述。首先要通過回顧計算機(jī)系統(tǒng)軟硬件關(guān)系的發(fā)展簡史,說明開發(fā)軟件的一些錯誤方法和觀念是怎樣形成的。然后列舉這些錯誤方法帶來的嚴(yán)重弊病(軟件危機(jī)),澄清一些糊涂觀念。為了計算機(jī)系統(tǒng)的進(jìn)一步發(fā)展,需要認(rèn)真研究開發(fā)和維護(hù)軟件的科學(xué)技術(shù)。應(yīng)總結(jié)計算機(jī)軟件技術(shù)發(fā)展的歷史經(jīng)驗教訓(xùn),借鑒其他工程領(lǐng)域的管理技術(shù)。教學(xué)內(nèi)容:
第一節(jié)
軟件工程
一、什么是軟件工程
概括地說,軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。
二、軟件工程的基本原理
1.用分階段的生命周期計劃嚴(yán)格管理; 2.堅持進(jìn)行階段評審; 3.實行嚴(yán)格的產(chǎn)品控制; 4.采用現(xiàn)代程序設(shè)計技術(shù); 5.結(jié)果應(yīng)能清楚地審查; 6.開發(fā)小組的人員應(yīng)該少而精;
7.承認(rèn)不斷改進(jìn)軟件工程實踐的必要性。
第二節(jié) 軟件工程方法學(xué)
一、方法學(xué)(methodology)范型(paradigm)瀑布模型、噴泉模型、快速原型模型、增量模型、螺旋模型。
二、軟件工程方法學(xué)三要素:方法、工具和過程。
三、傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué) 思考題:
1.什么是軟件工程?怎么應(yīng)用軟件工程消除軟件危機(jī)? 2.軟件工程化的觀點認(rèn)為,軟件生命周期包含哪些階段?
3.簡要論述結(jié)構(gòu)化范式和面向?qū)ο蠓妒降囊c,并比較這兩種范式的優(yōu)缺點。
第二章 軟件過程
課時分配:2課時 教學(xué)要求:
本章需要明確:軟件過程是為了獲得高質(zhì)量軟件產(chǎn)品所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。軟件過程必須科學(xué)、合理,才能開發(fā)出高質(zhì)量的軟件產(chǎn)品。按照在軟件生命周期全過程中應(yīng)完成任務(wù)的性質(zhì),在概念上可以把軟件生命周期劃分成問題定義、可行性研究、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試以及維護(hù)等八個階段。實際從事軟件開發(fā)工作時,軟件規(guī)模、種類、開發(fā)環(huán)境及使用的技術(shù)方法等因素,都影響階段的劃分。因此,一個科學(xué)、有效的軟件過程應(yīng)該定義一組適合于所承擔(dān)的項目特點的任務(wù)集合。據(jù)此,本章講授五類典型的軟件生命周期模型及其特點。教學(xué)要點
第一節(jié) 軟件生命周期的基本任務(wù)
一、問題定義—“要解決的問題是什么?”
二、可行性研究—“上一個階段所確定的問題是否有行得通的解決辦法?”
三、需求分析—用規(guī)格說明(specification)定義“目標(biāo)系統(tǒng)必須做什么?”
四、概要設(shè)計—“怎樣實現(xiàn)目標(biāo)系統(tǒng)?”
五、詳細(xì)設(shè)計—“怎樣具體地實現(xiàn)這個系統(tǒng)?”
六、編碼和單元測試—寫出正確的容易理解、容易維護(hù)的程序模塊。
七、綜合測試—通過各種類型的測試及相應(yīng)的調(diào)試,使軟件達(dá)到預(yù)定的要求。
八、軟件維護(hù)—通過各種必要的維護(hù)活動使系統(tǒng)持久地滿足用戶的需要(改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù))。
第二節(jié) 瀑布模型
一、階段間具有順序性和依賴性。
二、推遲實現(xiàn)的觀點。
三、質(zhì)量保證的觀點。思考題:
1.什么是軟件過程?它與軟件工程方法學(xué)有什么關(guān)系?
2.假設(shè)你要開發(fā)一個軟件,它的功能是把某個數(shù)開平方,所得的結(jié)果應(yīng)該精確到小數(shù)點后4位。一旦實現(xiàn)并測試完畢后,該產(chǎn)品將會被拋棄。你打算選用哪種軟件生命周期模型?
3.列出上一題所述軟件產(chǎn)品在開發(fā)過程中可能遇到的風(fēng)險。
第三章 結(jié)構(gòu)化分析
課時分配:3課時 教學(xué)要求:
本章講授用戶需求的發(fā)現(xiàn)、求精、建模、規(guī)格說明和復(fù)審的過程。本章還要說明模型的以下作用:1.模型能幫助分析員更好地理解軟件系統(tǒng)的信息、功能和行為,從而使得需求分析工作更容易完成,使需求分析的結(jié)果更系統(tǒng)化。2.模型是復(fù)審需求分析成果時的焦點,因此,也成為驗證規(guī)格說明的完整性、一致性和準(zhǔn)確性的重要依據(jù)。3.模型是設(shè)計的基礎(chǔ),為設(shè)計者提供軟件的實質(zhì)性表示,通過設(shè)計工作將把這些表示轉(zhuǎn)化成軟件實現(xiàn)。在此基礎(chǔ)上,引導(dǎo)學(xué)生使用實體—關(guān)系圖來建立數(shù)據(jù)模型,掌握數(shù)據(jù)流圖的基本符號,并能正確地使用這些符號建立目標(biāo)系統(tǒng)的功能模型。此外,簡要說明狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典。教學(xué)內(nèi)容:
第一節(jié)
概述
一、需求分析的含義(發(fā)現(xiàn)、求精、建模、規(guī)格說明和復(fù)審的過程)。
二、模型—為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。
三、結(jié)構(gòu)化分析通常建立數(shù)據(jù)模型、功能模型和行為模型等三種模型。
四、用分析模型表示軟件需求并寫出準(zhǔn)確的軟件需求規(guī)格說明。
第二節(jié) 需求分析與需求工程
一、訪談—訪談(或稱為會談)。
最早開始運用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的主要的需求分析技術(shù)。
二、規(guī)格說明技術(shù)。
這種方法提倡用戶與開發(fā)者密切合作,共同標(biāo)識問題,提出解決方案的要素,商討不同的方法并指定基本的需求。
三、軟件原型化方法。
構(gòu)建原型的要點是,它應(yīng)該實現(xiàn)用戶看得見的功能(例如屏幕顯示或打印報表),省略目標(biāo)系統(tǒng)的“隱含”功能(例如修改文件)。
第三節(jié) 軟件需求規(guī)格說明
一、軟件需求規(guī)格說明簡略大綱。
引言、信息描述、功能描述、行為描述、確認(rèn)標(biāo)準(zhǔn)、參考書目、附錄。
二、需求規(guī)格說明書各部分的撰寫要點。
第四節(jié) 實體—關(guān)系圖
數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對象、描述數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系。
第五節(jié) 數(shù)據(jù)流圖
一、數(shù)據(jù)流圖符號。正方形(或立方體)表示數(shù)據(jù)的源點或終點;圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲;箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向。
二、例子。
三、圖元命名。
第六節(jié) 狀態(tài)轉(zhuǎn)換圖
一、狀況轉(zhuǎn)換圖的各種圖形結(jié)構(gòu)要素。
二、換圖的應(yīng)用實例。
第七節(jié) 數(shù)據(jù)字典
一、數(shù)據(jù)字典是為了描述在結(jié)構(gòu)化分析過程中定義的對象的內(nèi)容而使用的一種半形式化的工具。
二、數(shù)據(jù)字典是所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的有組織的列表。
三、數(shù)據(jù)字典是對系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。
四、數(shù)據(jù)字典的內(nèi)容(名字、別名、使用地點與方式、內(nèi)容描述、補(bǔ)充信息)。
五、數(shù)據(jù)字典中表示數(shù)據(jù)構(gòu)成的符號。思考題:
1.銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫存款單和取款單,由業(yè)務(wù)員鍵入系統(tǒng)。如果是存款,則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號、存儲類型、存款日期、到期日起、利率及密碼等信息,并打印存款單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確和存款時未留密碼,則計算利息并打印利息清單。
2.用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對象。
第四章 結(jié)構(gòu)化設(shè)計
課時分配:6課時 教學(xué)要求:
本章應(yīng)使學(xué)生學(xué)會用各種圖形描繪軟件結(jié)構(gòu)。描述程序處理過程的工具,可分為圖形、表格和語言三類,這三類工具各有所長,教學(xué)中應(yīng)該讓學(xué)生能夠根據(jù)需要選用適當(dāng)?shù)墓ぞ?。教學(xué)內(nèi)容:
第一節(jié)
結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析的關(guān)系
結(jié)構(gòu)化分析的結(jié)果為結(jié)構(gòu)化設(shè)計提供了最基本的輸入信息,結(jié)構(gòu)化設(shè)計是結(jié)構(gòu)化分析的繼續(xù)。
第二節(jié) 軟件設(shè)計的概念和原理
一、模塊化。模塊是由邊界元素限定的相鄰的程序元素(例如,數(shù)據(jù)說明,可執(zhí)行的語句)的序列,而且有一個總體標(biāo)識符來代表它。像Pascal或Ada這樣的塊結(jié)構(gòu)語言中的Begin?end對,或者C,C++和Java語言中的{?}對,都是邊界元素的例子。因此,過程、函數(shù)、子程序和宏等,都可作為模塊。面向?qū)ο蠓缎椭械膶ο笫悄K,對象內(nèi)的方法也是模塊。模塊是構(gòu)成程序的基本構(gòu)件。
模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。
1.模塊可分解性; 2.模塊可組裝性; 3.模塊可理解性; 4.模塊連續(xù)性; 5.模塊保護(hù)性。
二、抽象。
三、逐步求精。
四、信息隱藏。
第三節(jié) 模塊獨立
一、耦合。
耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量,分為數(shù)據(jù)耦合,控制耦合,公共環(huán)境耦合,內(nèi)容耦合。
二、內(nèi)聚。
內(nèi)聚標(biāo)志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展。分為功能內(nèi)聚、順序內(nèi)聚、通訊內(nèi)聚、過程內(nèi)聚、時間內(nèi)聚、邏輯內(nèi)聚、偶爾內(nèi)聚。
第四節(jié) 啟發(fā)規(guī)則
一、改進(jìn)軟件結(jié)構(gòu)提高模塊獨立性。
二、模塊規(guī)模應(yīng)該適中。
三、深度、寬度、扇出和扇入都應(yīng)適當(dāng)。
四、模塊的作用域應(yīng)該在控制域之內(nèi)。
五、力爭降低模塊接口的復(fù)雜程度。
六、設(shè)計單入口單出口的模塊。
七、模塊功能應(yīng)該可以預(yù)測。
第五節(jié) 表示軟件結(jié)構(gòu)的圖形工具
一、層次圖。
二、HIPO圖。
三、層次圖和HIPO圖的區(qū)別和所適用的情況。
第六節(jié) 面向數(shù)據(jù)流的設(shè)計方法
一、概念。
1.變換流—如果數(shù)據(jù)流圖中的輸入經(jīng)過加工處理后才沿輸出通道變換成外部形式后離開軟件系統(tǒng),這種數(shù)據(jù)流稱為變換流。
2.事務(wù)流—如果數(shù)據(jù)流圖中的輸入未經(jīng)加工處理后就沿多個輸出通道離開軟件系統(tǒng)進(jìn)入下一個分支,這種數(shù)據(jù)流稱為變換流。
二、變換分析。
復(fù)查基本系統(tǒng)模型、復(fù)查并精化數(shù)據(jù)流圖、確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性、確定輸入流和輸出流的邊界,從而孤立出變換中心、完成“第一級分解”、完成“第二級分解”、使用設(shè)計度量和啟發(fā)規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。
三、事務(wù)分析。
事務(wù)分析的設(shè)計步驟和變換分析的設(shè)計步驟大部分相同或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。
四、設(shè)計優(yōu)化。
第七節(jié) 過程設(shè)計
一、經(jīng)典的結(jié)構(gòu)程序設(shè)計。
只允許使用順序、IF-THEN-ELSE型分支和DO-WHILE型循環(huán)這三種基本控制結(jié)構(gòu)。
二、擴(kuò)展的結(jié)構(gòu)程序設(shè)計。
除了上述三種基本控制結(jié)構(gòu)之外,還允許使用DO-CASE型多分支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu)。
三、修正的結(jié)構(gòu)程序設(shè)計。
在上述結(jié)構(gòu)的基礎(chǔ)上,再加上允許使用LEAVE(或BREAK)的結(jié)構(gòu)。
第八節(jié) 過程設(shè)計的工具
描述程序處理過程的工具稱為過程設(shè)計的工具,它們可以分為圖形、表格和語言三類。
一、程序流程圖。
二、盒圖(N-S圖)。
盒圖沒有箭頭,因此不允許隨意轉(zhuǎn)移控制。堅持使用盒圖作為詳細(xì)設(shè)計的工具,可以使程序員逐步養(yǎng)成用結(jié)構(gòu)化的方式思考問題和解決問題的習(xí)慣。
三、PAD圖。
用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。
四、判定表。
當(dāng)算法中包含多重嵌套的條件選擇時,判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。
五、判定樹。
判定表雖然能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系,但其含義卻不是一眼就能看出來的,初次接觸這種工具的人要理解它需要有一個簡短的學(xué)習(xí)過程。判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。
六、過程設(shè)計語言(PDL)。思考題:
1.分析模型中的哪些信息為數(shù)據(jù)設(shè)計奠定了基礎(chǔ)?哪些信息為軟件體系結(jié)構(gòu)設(shè)計奠定了基礎(chǔ)?那些信息為接口設(shè)計奠定了基礎(chǔ)?那些信息為過程設(shè)計奠定了基礎(chǔ)?
2.為每種類型的模塊偶合舉一個具體例子。3.對每種類型的模塊內(nèi)聚舉一個具體例子。4.舉例說明信息隱藏和模塊獨立的關(guān)系。5.舉例說明藕合和可移植性的關(guān)系。
第五章 結(jié)構(gòu)化實現(xiàn)
課時分配:3課時 教學(xué)要求:
學(xué)習(xí)本章后,為了設(shè)計出有效的測試方案,學(xué)生必須深入理解并應(yīng)用指導(dǎo)軟件測試的基本準(zhǔn)則,應(yīng)該能夠應(yīng)用各種測試方法設(shè)計軟件系統(tǒng)的測試方案,并根據(jù)測試結(jié)構(gòu)進(jìn)行錯誤定位、軟件調(diào)試和軟件可靠性估計等后續(xù)工作。教學(xué)內(nèi)容:
第一節(jié) 軟件實現(xiàn)的基本問題
一、選擇程序設(shè)計語言。
二、編碼風(fēng)格。
程序內(nèi)部的文檔、數(shù)據(jù)說明、語句構(gòu)造、輸入/輸出、效率。
第二節(jié) 軟件測試基礎(chǔ)
一、測試目標(biāo)。
1.測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;
2.好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案; 3.成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。
二、黑盒測試和白盒測試。
三、測試準(zhǔn)則。
1.所有的測試都應(yīng)該能追溯到用戶需求;
2.應(yīng)該在測試開始之前的相當(dāng)長時間,就制定出測試計劃; 3.測試發(fā)現(xiàn)的錯誤中的80%很可能是由程序中20%的模塊造成的; 4.測試應(yīng)該從“小規(guī)?!遍_始,并逐步進(jìn)行“大規(guī)?!睖y試; 5.窮舉測試是不可能的;
6.為了達(dá)到最佳的測試效果,應(yīng)該由獨立的第三方來從事測試工作。
四、流圖。
第三節(jié) 邏輯覆蓋
一、語句覆蓋。
二、判定覆蓋。
三、條件覆蓋。
四、判定/條件覆蓋。
五、條件組合覆蓋。
第四節(jié) 控制結(jié)構(gòu)測試
一、基本路徑測試。
1.根據(jù)過程設(shè)計結(jié)果畫出相應(yīng)的流圖; 2.計算流圖的環(huán)形復(fù)雜度; 3.確定線性獨立路徑的基本集合;
4.設(shè)計可強(qiáng)制執(zhí)行基本集合中每條路徑的測試用例。
二、條件測試。
三、數(shù)據(jù)流測試。
四、循環(huán)測試。1.簡單循環(huán); 2.嵌套循環(huán); 3.串接循環(huán)。
第五節(jié) 黑盒測試技術(shù)
一、等價劃分。
1.如果規(guī)定了輸入值的范圍,則可劃分出一個有效的等價類輸入值在此范圍內(nèi)(兩個無效的等價類輸入值小于最小值或大于最大值)。2.如果規(guī)定了輸入數(shù)據(jù)的個數(shù),則類似地也可以劃分出一個有效的等價類和兩個無效的等價類。
3.如果規(guī)定了輸入數(shù)據(jù)的一組值,則每個允許的輸入值是一個有效的等價類,此外還有一個無效的等價類(任一個不允許的輸入值)。
4.如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分出一個有效的等價類(符合規(guī)則)和若干個無效的等價類(從各種不同角度違反規(guī)則)。
5.如果規(guī)定了輸入數(shù)據(jù)為整型,則可以劃分出正整數(shù)、零和負(fù)整數(shù)等三個有效類。6.如果程序的處理對象是表格,則應(yīng)該使用空表,以及含一項或多項的表。
二、邊界值分析。
三、錯誤推測。
第六節(jié) 測試策略
一、測試步驟。
二、單元測試。1.代碼審查; 2.軟件測試。
三、集成測試。1.自頂向下集成; 2.自底向上集成; 3.回歸測試;
4.不同集成測試策略的比較。
四、確認(rèn)測試。
第七節(jié) 調(diào)試
一、調(diào)試過程。
二、調(diào)試途徑。1.蠻干法; 2.回溯法; 3.原因排除法。思考題:
航空公司向軟件公司訂購了一個規(guī)劃飛行路線的程序。假設(shè)你是另一軟件公司的軟件工程師。航空公司已雇用你在的公司對上述程序進(jìn)行驗收測試。你的任務(wù)是,根據(jù)下述事實設(shè)計驗收測試的輸入數(shù)據(jù),并解釋你選取這些數(shù)據(jù)的理由:領(lǐng)航員向程序輸入出發(fā)點和目的地,以及根據(jù)天氣和飛機(jī)型號而初步確定的飛行高度。程序讀入途中的風(fēng)向風(fēng)力等數(shù)據(jù),并且制定出三套飛行計劃(高度、速度、方向及途中的五個位子校核點)。所制定的飛行計劃應(yīng)做到燃油消耗和飛行時間都最少。
第六章 面向?qū)ο蟮母拍钆c模型
課時分配:3課時 教學(xué)要求:
面向?qū)ο蠓椒▽W(xué)比較自然地模擬了人類認(rèn)識客觀世界的思維方式,本章教學(xué)應(yīng)使學(xué)生了解面向?qū)ο蠓椒ǖ母拍詈鸵?guī)律和工具,能夠用面向?qū)ο蟮乃枷朊枋鰡栴}域,從而建立關(guān)于軟件系統(tǒng)的對象模型,當(dāng)然,出于面向?qū)ο蠼5男枰?,也要重溫過程建模和功能建模方法。教學(xué)內(nèi)容:
第一節(jié)
概述
一、面相對象思想基本內(nèi)涵:OO=Objects+ Classes+ Inheritance+ Communication with messages。
二、面向?qū)ο蠓椒▽W(xué)的主要優(yōu)點。
與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、較易開發(fā)大型軟件產(chǎn)品、可維護(hù)性好。
三、面向?qū)ο蠓椒ǖ钠渌拍睢?/p>
(類Class)、對象、消息(Message)、方法(Method)、屬性(Attribute)、封裝(Encapsulation)、繼承(Inheritance)、多態(tài)性(Polymorphism)、重載(Overloading)。
第二節(jié) 對象模型
一、表示類—&—對象的圖形符號。
二、表示結(jié)構(gòu)的圖形符號。
三、對象模型之例。
第三節(jié) 動態(tài)模型
一、概念。
二、符號。
第四節(jié) 功能模型
一、表示方法。二、三種模型之間的關(guān)系。思考題:
1.試分析傳統(tǒng)的生命周期方法學(xué)的優(yōu)缺點。2.什么是面向?qū)ο蠓椒▽W(xué)?這種方法有什么優(yōu)點? 3.什么是對象?它與傳統(tǒng)的數(shù)據(jù)有何關(guān)系?有何不同? 4.什么是模型?開發(fā)軟件為什么要建立模型? 5.什么是對象模型? 6.什么是動態(tài)模型? 7.什么是功能模型?
第七章 面向?qū)ο蠓治?/p>
課時分配:2課時 教學(xué)要求:
本章介紹面向?qū)ο笏枷牒头椒ㄔ诰唧w軟件系統(tǒng)分析中的應(yīng)用,包括一些具體的操作技術(shù),如對象、屬性、聯(lián)系和行為的初選和求精等。本章講述的自動取款機(jī)系統(tǒng)和電梯系統(tǒng)這兩個實例,應(yīng)該有助于讀者更深入、具體地理解面向?qū)ο蠓治龅姆椒ㄅc過程。教學(xué)內(nèi)容:
第一節(jié) 分析過程
一、概述。二、三個子模型與五個層次。
第二節(jié) 需求陳述
一、書寫要點。
二、例子。
第三節(jié) 建立對象模型
一、確定類—&—對象。1.找出候選的類—&—對象; 2.篩選出正確的類—&—對象。
二、確定關(guān)聯(lián)。1.初步確定關(guān)聯(lián); 2.篩選; 3.進(jìn)一步完善。
三、劃分主題。
四、確定屬性。1.分析; 2.選擇。
五、識別繼承關(guān)系。
六、反復(fù)修改。
第四節(jié) 其他過程
一、建立動態(tài)模型。
二、建立功能模型。
三、定義服務(wù)。
第五節(jié) 面向?qū)ο蠓治鰧嵗?/p>
思考題:
1.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€儲蓄系統(tǒng),試建立它的對象模型、動態(tài)模型和功能模型。2.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€機(jī)票預(yù)定系統(tǒng),試建立它的對象模型、動態(tài)模型和功能模型。
3.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€患者監(jiān)護(hù)系統(tǒng),試建立它的對象模型、動態(tài)模型和功能模型。
第八章 面向?qū)ο笤O(shè)計
課時分配:2課時 教學(xué)要求:
本章在前面兩章關(guān)于面向?qū)ο笏枷爰捌浠緫?yīng)用的系統(tǒng)介紹的基礎(chǔ)上,考慮到面向?qū)ο蠓治雠c結(jié)構(gòu)化分析在過程、要求和原則等方面的相似性,講授從略;同時考慮到具體實現(xiàn)技術(shù)的差異,著重介紹在面向?qū)ο蠓椒ㄖ袑崿F(xiàn)模塊化、信息隱蔽的若干技術(shù)。教學(xué)內(nèi)容:
第一節(jié) 面相對象設(shè)計方法與過程
一、面向?qū)ο笤O(shè)計的準(zhǔn)則。
二、啟發(fā)規(guī)則。
三、系統(tǒng)分解。
四、設(shè)計問題域子系統(tǒng)。
五、設(shè)計人-機(jī)交互子系統(tǒng)。
六、設(shè)計任務(wù)管理子系統(tǒng)。
七、設(shè)計數(shù)據(jù)管理子系統(tǒng)。
八、設(shè)計類中的服務(wù)。
九、設(shè)計關(guān)聯(lián)。
十、設(shè)計優(yōu)化。
十一、面向?qū)ο蠓治雠c設(shè)計實例。
第九章 計劃
課時分配:4課時 教學(xué)要求:
軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是管理與技術(shù)緊密結(jié)合的產(chǎn)物。只有在科學(xué)而嚴(yán)格的管理之下,先進(jìn)的技術(shù)方法和優(yōu)秀的軟件工具才能真正發(fā)揮出它們的威力。因此,本章教學(xué)應(yīng)使學(xué)生在認(rèn)識軟件管理特點的基礎(chǔ)上,掌握主流的估算和評價指標(biāo),并能據(jù)此安排和優(yōu)化軟件項目的進(jìn)度。教學(xué)內(nèi)容:
第一節(jié) 度量軟件規(guī)模
一、代碼行技術(shù)。
二、功能點技術(shù)。
功能點技術(shù)依據(jù)對軟件信息域特性和軟件復(fù)雜性的評估結(jié)果,估算軟件規(guī)模。1.信息域特性—輸入項數(shù)(Inp)、輸出項數(shù)(Out)、查詢數(shù)(Inq),主文件數(shù)(Maf)和外部接口數(shù)(Inf)。
2.計算未調(diào)整的功能點數(shù)UFP。3.計算技術(shù)復(fù)雜性因子TCF。
第二節(jié) 工作量估算
一、靜態(tài)單變量模型:E=A+B×(ev)C。
二、動態(tài)多變量模型:E=〔LOC×B0.333/P〕3×(1/t)4。
三、COCOMO模型。
第三節(jié) 進(jìn)度計劃
一、基本原則。
二、Gantt圖。
三、工程網(wǎng)絡(luò)。
四、估算進(jìn)度。
五、關(guān)鍵路徑。
六、機(jī)動時間。思考題:
分析研究一個倉庫管理信息系統(tǒng),要求: 1.用代碼行技術(shù)估算本系統(tǒng)的規(guī)模; 2.用功能點技術(shù)估算本系統(tǒng)的規(guī)模; 3.用靜態(tài)單變量模型估算開發(fā)本系統(tǒng)所需的工作量; 4.假設(shè)由一個人開發(fā)本系統(tǒng),請制定進(jìn)度計劃; 5.假設(shè)由兩個人開發(fā)本系統(tǒng),請制訂進(jìn)度計劃。
第十章 軟件工程項目管理組織
課時分配:2課時 教學(xué)要求:
本章教學(xué)要具體介紹國外比較流行的民主制程序員組、主程序員組和現(xiàn)代程序員組的組織方式,討論不同組織方式的優(yōu)缺點和適用范圍。然后再從更廣闊的角度進(jìn)一步討論通用的軟件項目組的組織結(jié)構(gòu)問題,主要講述風(fēng)險管理、質(zhì)量保證和配置管理等三類軟件工程控制活動。教學(xué)內(nèi)容:
第一節(jié) 組織策略
一、民主制程序員組;
二、主程序員組;
三、現(xiàn)代程序員組;
四、軟件項目組。
第二節(jié) 控制策略
一、風(fēng)險管理;
二、質(zhì)量保證;
三、配置管理。
第十一章 國際標(biāo)準(zhǔn)
課時分配:3課時 教學(xué)要求:
本章簡要地介紹幾個與軟件項目管理有關(guān)的國際標(biāo)準(zhǔn),供學(xué)生在實際工作中參考、借鑒。教學(xué)內(nèi)容:
第一節(jié) 常用標(biāo)準(zhǔn)
一、IEEE1058.1軟件項目管理計劃標(biāo)準(zhǔn)。
二、ISO9000質(zhì)量標(biāo)準(zhǔn)。
三、ISO/IEC12207軟件生命周期過程標(biāo)準(zhǔn)。
四、ISO/IECTR15504軟件過程評估標(biāo)準(zhǔn)。
五、能力成熟度模型。
附 錄:參考書目
1.齊治昌等.軟件工程[M].北京:高等教育出版社,北京.1997.2.王選.軟件設(shè)計方法[M].北京:清華大學(xué)出版社,1992.3.Pont M J.Software Engineering with C++ and CASE Tools[M].Addison-Wesle,1996.4.周之英.現(xiàn)代軟件工程[M].北京:科學(xué)出版社,1999.5.張海藩.軟件工程導(dǎo)論(第三版)[M].北京:清華大學(xué)出版社,1998.6.張海藩.牟永敏.面向?qū)ο蟪绦蛟O(shè)計實用教程[M].北京:清華大學(xué)出版社,2001.7.張海藩等.計算機(jī)第四代語言[M].北京:電子工業(yè)出版社,1996.8.蔣慧等.UML設(shè)計核心技術(shù)[M].北京:希望電子出版社,2001.9.柏路等譯.C++面向?qū)ο蟮某绦蜷_發(fā)技術(shù)[M].北京:電子工業(yè)出版社,1996.10.Roger S.Pressman.Software Engineering—A Practitioner’s Approach.Fourth Edition[M].McGraw-Hill,1997.11.Stephen R.Schach.Software Engineering with Java[M].McGraw-Hill,1999.執(zhí)筆人:
韓忠愿
審定人:
程國達(dá)
2004年6月
2004年6月
2004年6月
院(系、部)負(fù)責(zé)人:韓忠愿
第二篇:《軟件工程》教學(xué)大綱
《軟件工程》教學(xué)大綱
《軟件工程》教學(xué)大綱 課程編號及名稱:040112軟件工程 2 教學(xué)目的與要求:
軟件工程是計算機(jī)科學(xué)與技術(shù)專業(yè)開設(shè)的一門專業(yè)必修課,是指導(dǎo)計算機(jī)軟件開發(fā)與維護(hù)、培養(yǎng)學(xué)生計算機(jī)軟件開發(fā)與應(yīng)用綜合能力的一門綜合性課程。學(xué)生通過本課程的學(xué)習(xí)與課程實踐,應(yīng)能了解軟件項目開發(fā)和維護(hù)的一般過程,掌握軟件開發(fā)的基本原理和技術(shù),掌握現(xiàn)代化的軟件開發(fā)方法和步驟,為今后從事軟件開發(fā)打下堅實基礎(chǔ)。3學(xué)時學(xué)分:
總學(xué)時48學(xué)時,總學(xué)分3。其中授課40學(xué)時,實驗8學(xué)時。4 先修課程的要求:
數(shù)據(jù)結(jié)構(gòu)、C語言程序設(shè)計、面向?qū)ο蟮某绦蛟O(shè)計、數(shù)據(jù)庫系統(tǒng)原理 教材與教學(xué)參考書目:
[1]
選用教材:《軟件工程(第二版)》齊治昌,高等教育出版社 [2] 《軟件工程導(dǎo)論》(第四版)張海藩編著,清華大學(xué)出版社 [3] 《實用軟件工程》(第二版)鄭人杰編著,清華大學(xué)出版社 [4] 《軟件工程技術(shù)概論》朱三元 等編著,科學(xué)出版社 [5] 《現(xiàn)代軟件工程》(上、中、下)周之英 編著,科學(xué)出版社 [6] 《面向?qū)ο蟮南到y(tǒng)分析》 邵維忠 楊芙清 著,清華大學(xué)出版社 [7] 《軟件測試》(美)Ron Patton 著,周予濱 等譯,機(jī)械工業(yè)出版社 [8] 《System Analysis and Design Methods, fifth Edition》,Jeffrey L.等著,高等教育出版社
[9] 《能力成熟度模型(CMM):軟件過程改進(jìn)指南》,SEI編著,劉孟仁 等譯,電子工業(yè)出版社
[10] 《軟件測試自動化技術(shù)與實例詳解》,Mark Fewster & Dorothy Graham 著,舒智勇等譯,電子工業(yè)出版社
[11] 《軟件工程》第二版 王立福等編著,北京大學(xué)出版社 [12] 《UML參考手冊》Ivar Jacobson,James Rumbaugh,Grady Booch著,姚淑蘭、唐發(fā)根譯,機(jī)械工業(yè)出版社 [13] 劉超編,《可視化面向?qū)ο蠼<夹g(shù)--標(biāo)準(zhǔn)建模語言UML》,北航出版,1999年7月第一版 6 課程主要內(nèi)容:
軟件危機(jī)與軟件工程;軟件、軟件工程過程與典型的軟件工程過程模型;與瀑布模型、演化模型等相對應(yīng)的軟件開發(fā)方法;面向?qū)ο蟮拈_發(fā)方法等。
(一)緒論(2學(xué)時)
軟件危機(jī)與軟件工程概念;軟件工程過程及其典型開發(fā)模型;軟件開發(fā)應(yīng)遵循的基本原則;軟件質(zhì)量評價與軟件度量等
(二)可行性分析與需求分析(6學(xué)時)
可行性研究的任務(wù)、種類與方法;軟件需求及需求分析的任務(wù)、意義;需求獲取技術(shù);結(jié)構(gòu)化分析技術(shù)
(三)系統(tǒng)設(shè)計(6學(xué)時)
系統(tǒng)設(shè)計的階段與任務(wù);模塊獨立、內(nèi)聚與耦合概念;結(jié)構(gòu)化設(shè)計方法;Jackson方法;詳細(xì)設(shè)計工具
(四)系統(tǒng)編碼(2學(xué)時)
軟件實現(xiàn);開發(fā)工具選擇的原則;軟件編程的風(fēng)格與規(guī)范
(五)系統(tǒng)測試(4學(xué)時)
《軟件工程》教學(xué)大綱
軟件測試的概念、任務(wù)與原則;軟件測試的階段及過程管理;軟件測試方法及方案設(shè)計;軟件調(diào)試;軟件測試自動化;軟件可靠性研究
(六)系統(tǒng)運行及維護(hù)(2學(xué)時)
系統(tǒng)交付使用的方式及相關(guān)工作;軟件維護(hù)的種類與相關(guān)概念;軟件維護(hù)的實施過程與責(zé)任分工;提高軟件可維護(hù)性的技術(shù)
(七)原型開發(fā)方法(6學(xué)時)
傳統(tǒng)開發(fā)方法的問題;原型概念;原型開發(fā)方法及其支撐條件
(八)面向?qū)ο蟮能浖こ涕_發(fā)方法(8學(xué)時)
面向?qū)ο蠓椒ǜ攀黾捌鋬?yōu)勢;面向?qū)ο蟮姆治龇椒?;面向?qū)ο蟮脑O(shè)計方法;統(tǒng)一建模語言UML; 軟件復(fù)用
(九)軟件項目管理與質(zhì)量保證(4學(xué)時)
軟件項目管理概述;軟件項目規(guī)劃與估算;軟件項目風(fēng)險管理;軟件項目的組織與進(jìn)度計劃;軟件配置管理概述、配置管理的內(nèi)容與工具;軟件質(zhì)量保證與軟件過程能力成熟度模型CMM 教學(xué)內(nèi)容重點:軟件工程過程與典型的軟件工程過程模型;軟件開發(fā)應(yīng)遵循的基本原則;結(jié)構(gòu)化分析與設(shè)計技術(shù);原型開發(fā)方法;面向?qū)ο蟮姆治雠c設(shè)計方法
教學(xué)內(nèi)容難點:結(jié)構(gòu)化分析與設(shè)計技術(shù);面向?qū)ο蟮姆治雠c設(shè)計方法 7 實驗教學(xué)安排:
在結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計方法與Jackson方法、原型開發(fā)方法、面向?qū)ο蟮能浖こ涕_發(fā)方法教學(xué)過程中安排3-4次實驗活動,要求學(xué)生認(rèn)真完成。8 課程考核方式:
由于本課具有實踐性強(qiáng)的特點,建議采用大作業(yè)平時成績與結(jié)課考試相結(jié)合的方法綜合評定學(xué)生成績。本課特點及教學(xué)中應(yīng)注意的問題:
本課特點:
1、實踐性強(qiáng);
2、表面理解顯得較易,切實掌握非常困難。針對以上特點,教學(xué)過程中應(yīng)極為重視實踐環(huán)節(jié)的指導(dǎo)與檢查,要求學(xué)生認(rèn)真完成實踐活動,以求學(xué)得扎實、深刻。
第三篇:軟件工程教學(xué)大綱
《軟件工程》教學(xué)大綱
課程名稱:軟件工程
英文名稱:Software Engineering 學(xué)時數(shù)及學(xué)分:54學(xué)時 3學(xué)分 教材名稱及作者、出版社:《軟件工程導(dǎo)論》齊治昌、譚慶平、寧洪,高等教育出版社。大綱主筆人:郭
一、課程的目的、要求和任務(wù)
“軟件工程”是計算機(jī)科學(xué)軟件專業(yè)的一門重要專業(yè)骨干課程,它的主要目地和任務(wù)是: 1. 系統(tǒng)地介紹軟件工程的基本原理、概念、技術(shù)和方法,簡介軟件工程的最新技術(shù)及其研究發(fā)展方向;2. 通過本課程的學(xué)習(xí),使學(xué)生了解、掌握軟件生存周期階段的工程任務(wù)、具體過程、技術(shù)過程、技術(shù)方法和各種工具;3. 通過本課程的學(xué)習(xí),使學(xué)生了解軟件工程管理的重要性及基本的管理技術(shù);4. 能將上述知識用于該課程的課程設(shè)計實習(xí)中,實現(xiàn)一個具體題目的全部軟件開發(fā)過程。
二、大綱基本內(nèi)容及學(xué)時分配 1.概論(4學(xué)時)
1)軟件危機(jī)
2)軟件工程概論
3)技術(shù)審查和管理復(fù)審
說明:要求學(xué)生掌握本節(jié)內(nèi)容;2)、3)是本節(jié)重點。2.可行性研究(4學(xué)時)
1)可行性研究的任務(wù)及步驟 2)系統(tǒng)流程圖與數(shù)據(jù)流圖 3)數(shù)據(jù)字典
4)成本效益分析
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、2)、4)是本節(jié)重點。3.需求分析(8學(xué)時)
1)需求分析的任務(wù)及分析過程 2)驗證分析的圖型工具
3)驗證軟件需求 4)原型法
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、2)、3)是本節(jié)重點。4.總體設(shè)計(8學(xué)時)
1)總體設(shè)計的任務(wù)及過程 * 2)軟件設(shè)計的重要概念及規(guī)則 3)軟件設(shè)計的圖形工具 * 4)面向數(shù)據(jù)流的設(shè)計方法 * 說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、3)、4)是本節(jié)重點。5.詳細(xì)設(shè)計(8學(xué)時)1)結(jié)構(gòu)化程序設(shè)計
2)詳細(xì)設(shè)計的工具 3)Jackson 設(shè)計方法 4)Warnier 設(shè)計方法
5)程序復(fù)雜度的定量度量方法
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、2)、5)是本節(jié)重點。6.編碼(4學(xué)時)
1)程序設(shè)計語言的分類及選擇 2)程序設(shè)計的風(fēng)格及方法 3)程序設(shè)計自動化及工具
說明:要求學(xué)生掌握本節(jié)內(nèi)容;2)是本節(jié)重點。7.測試(8學(xué)時)
1)軟件測試的目標(biāo)及測試的步驟
2)黑盒測試、白盒測試及測試方案的設(shè)計 3)單元測試、集成測試、驗收測試 4)調(diào)試及軟件可靠性的估算
5)自動測試工具
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、2)、4)是本節(jié)重點。8.維護(hù)(4學(xué)時)
1)軟件維護(hù)的定義及特點 * 2)維護(hù)的進(jìn)行過程和可維護(hù)性
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)是本節(jié)重點。9.軟件工程的管理技術(shù)(6學(xué)時)
1)成本估算
2)進(jìn)度計劃及人員組織
3)軟件的質(zhì)量保證
4)項目計劃的制定及管理
5)軟件工程的管理工具
說明:要求學(xué)生掌握本節(jié)內(nèi)容;1)、3)、4)是本節(jié)重點。10.面向?qū)ο蠓椒▽W(xué)引論(6學(xué)時)
1)基本概念及面向?qū)ο蠼?2)對象模型 3)動態(tài)模型 4)功能模型
說明:本節(jié)內(nèi)容選講;1)是本節(jié)重點。11.面向?qū)ο蠓治觯?學(xué)時)
1)面向?qū)ο蠓治龅幕具^程及需求陳述 2)建立對象模型、動態(tài)模型、功能模型 3)定義服務(wù)
說明:本節(jié)內(nèi)容選講;1)、2)是本節(jié)重點。12.面向?qū)ο笤O(shè)計(6學(xué)時)
1)面向?qū)ο笤O(shè)計的準(zhǔn)則、啟發(fā)規(guī)則及軟件重用 2)系統(tǒng)分解
3)問題域、人-機(jī)交互、任務(wù)管理、數(shù)據(jù)管理等子系統(tǒng)的設(shè)計 4)設(shè)計類中的服務(wù)、關(guān)聯(lián)及設(shè)計優(yōu)化 說明:本節(jié)內(nèi)容選講;1)、3)是本節(jié)重點。13. 面向?qū)ο蟮膶崿F(xiàn)(4學(xué)時)
1)程序設(shè)計語言的選擇 2)程序設(shè)計風(fēng)格
3)面向?qū)ο鬁y試
說明:本節(jié)內(nèi)容選講。
三、與其它課程的關(guān)系
1.先行課程: 程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、編譯原理、數(shù)據(jù)庫等。
2.后續(xù)課程:高級程序設(shè)計語言概論、軟件工具與環(huán)境、信息管理系統(tǒng)(MIS)、計算機(jī)輔助教育等。
四、考核方式
1.期末閉卷考試 占總成績的50–60% 2.課程設(shè)計 占總成績的30% 3.平時成績(作業(yè)、上機(jī)和課堂考勤等)占總成績的 10-20%
五、參考書目
《軟件工程導(dǎo)論》齊治昌、譚慶平、寧洪,高等教育出版社?!盾浖こ谈耪摗?,孫振飛 應(yīng)振澍 編著,湖南科學(xué)技術(shù)出版社。
第四篇:軟件工程實驗教學(xué)大綱
軟件工程實驗教學(xué)大綱
前 言
軟件工程實驗是為計算機(jī)相關(guān)專業(yè)本科《軟件工程》課程配套設(shè)置的,是《軟件工程》課程講授中一個重要的、不可或缺的實踐環(huán)節(jié)。其目的是使學(xué)生能夠針對具體軟件工程項目,全面掌握軟件工程管理、軟件需求分析、軟件初步設(shè)計、軟件詳細(xì)設(shè)計、軟件測試等階段的方法和技術(shù),通過該課程設(shè)計使學(xué)生進(jìn)一步理解和掌握軟件開發(fā)模型、軟件生命周期、軟件過程等理論在軟件項目開發(fā)過程中的意義和作用,培養(yǎng)學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范,進(jìn)行軟件開發(fā)的能力,培養(yǎng)學(xué)生的合作意識和團(tuán)隊精神,培養(yǎng)學(xué)生對技術(shù)文檔的編寫能力,從而使學(xué)生提高軟件工程的綜合能力,提高軟件項目的管理能力。
按該課程的特點,實驗內(nèi)容包括軟件開發(fā)的兩大方法學(xué)的專題訓(xùn)練,即結(jié)構(gòu)化(生命周期學(xué))的方法學(xué)和面向?qū)ο蟮姆椒▽W(xué),通過對一個簡單項目,要求學(xué)生利用結(jié)構(gòu)化軟件開發(fā)技術(shù)或面向?qū)ο蟮能浖_發(fā)技術(shù)完成對該項目的開發(fā)。因此設(shè)置五個實驗項目,從項目發(fā)的準(zhǔn)備工作,系統(tǒng)分析過程,系統(tǒng)設(shè)計過程,軟件測試到系統(tǒng)實施,覆蓋軟件開發(fā)的整個過程,此外又引入我國國家《計算機(jī)開發(fā)規(guī)范》,以規(guī)范技術(shù)文檔的書寫標(biāo)準(zhǔn),提高實驗教學(xué)質(zhì)量。
通過實驗訓(xùn)練,達(dá)到如下目的:
使學(xué)生進(jìn)一步了解和掌握軟件工程原理,提高對實際項目的分析和設(shè)計能力,通過實驗課程,熟悉和基本掌握軟件工程方法學(xué)、軟件開發(fā)的過程,文檔資料的編寫格式及規(guī)范,全面領(lǐng)會和貫通所學(xué)習(xí)的理論知識,從而培養(yǎng)學(xué)生綜合運用所學(xué)課程知識,分析解決問題的能力,培養(yǎng)學(xué)生理論聯(lián)系實際作風(fēng),實事求是,嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和良好的工作作風(fēng),為今后從事科學(xué)研究工作打下基礎(chǔ)。
實驗一:項目開發(fā)的準(zhǔn)備工作
實驗學(xué)時:2 實驗類型:驗證性
一、目的與任務(wù)
目的:確定課題,組織組員,合理分工,熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊精神。
任務(wù):學(xué)習(xí)軟件開發(fā)小組的組織和管理,合理分工,將項目開發(fā)各階段的任務(wù)明確,并熟悉相應(yīng)的軟件開發(fā)環(huán)境。
二、內(nèi)容、要求與安排方式
1、實驗內(nèi)容與要求:
根據(jù)各組選擇的課題,實行項目經(jīng)理制,各組推薦一名組長,統(tǒng)一管理整個項目的實施過程,并合理調(diào)整資源和負(fù)責(zé)項目全局;根據(jù)項目的難易合理分配組員的任務(wù),對問題達(dá)成一致的看法;針對項目的實施,熟悉相應(yīng)的軟件開發(fā)工具的使用環(huán)境。
2、實驗安排方式:
本實驗為開放實驗,各組可同時進(jìn)行實驗,每組4-6人。3.準(zhǔn)備參考資料和閱讀相關(guān)的國家有關(guān)軟件開發(fā)的標(biāo)準(zhǔn)文檔。
三、思考題
1、項目開發(fā)首先要做的事是什么?
2、你認(rèn)為該軟件應(yīng)具備的最重要的特性是什么。
3、你認(rèn)為怎樣分工是最合理的?
實驗二:系統(tǒng)分析過程
實驗學(xué)時:4 實驗類型:驗證性
一、目的與任務(wù)
目的:確定項目的可實施性,在此基礎(chǔ)上完成系統(tǒng)的邏輯功能模型的建立。
任務(wù):采用不同的軟件開發(fā)技術(shù),完成對項目的分析過程,給出系統(tǒng)的邏輯功能模型,數(shù)據(jù)字典以及規(guī)格說明書。
二、內(nèi)容、要求與安排方式
1、實驗內(nèi)容與要求:
明白項目的業(yè)務(wù)流程圖,繪制數(shù)據(jù)流程圖,功能分析圖,編寫數(shù)據(jù)字典,數(shù)據(jù)加工處理的描述,軟件系統(tǒng)流程設(shè)想圖(新系統(tǒng)模型),需求規(guī)格說明書。
2、實驗安排方式:
本實驗為開放實驗,各組可同時進(jìn)行實驗,每組8-10人。
三、思考題
1、需求分析在軟件開發(fā)中真的有那么重要嗎?
2、分析系統(tǒng)流程圖,流程圖和數(shù)據(jù)流圖的區(qū)別和各自的特點。
3、怎樣寫合乎規(guī)范的數(shù)據(jù)流圖和數(shù)據(jù)詞典?
4、怎樣組織對該工作的評審?
實驗三:系統(tǒng)設(shè)計過程
實驗學(xué)時:4 實驗類型:設(shè)計性
一、目的與任務(wù)
目的:在實驗二基礎(chǔ)上完成系統(tǒng)的體系結(jié)構(gòu)的建立和系統(tǒng)詳 2 細(xì)設(shè)計,并給出相應(yīng)的規(guī)格說明書。
任務(wù):認(rèn)真分析實驗二的結(jié)果,給出系統(tǒng)合理的體系結(jié)構(gòu),描繪系統(tǒng)結(jié)構(gòu)圖,并合理劃分系統(tǒng)的各組成模塊,最后給出系統(tǒng)的各部分設(shè)計規(guī)格說明書。
二、內(nèi)容、要求與安排方式
1、實驗內(nèi)容與要求:
功能結(jié)構(gòu)圖設(shè)計,軟件處理流程設(shè)計,輸出設(shè)計(主要指打印輸出設(shè)計),存儲文件格式設(shè)計(數(shù)據(jù)庫結(jié)構(gòu)設(shè)計),輸入設(shè)計(主要指數(shù)據(jù)錄入卡設(shè)計),代碼設(shè)計,程序設(shè)計說明書
2、實驗安排方式:
本實驗為開放實驗,各組可同時進(jìn)行實驗,每組8-10人。
三、思考題
1.系統(tǒng)設(shè)計和需求分析的關(guān)系是什么?兩者必須先后關(guān)聯(lián)嗎? 2.怎樣描繪系統(tǒng)的體系結(jié)構(gòu)? 3.怎樣繪制復(fù)合規(guī)范的流程圖。4.怎樣組織對設(shè)計階段工作的評審?
實驗四:系統(tǒng)實現(xiàn)
實驗學(xué)時:4 實驗類型:設(shè)計性
一、目的與任務(wù)
目的:系統(tǒng)運行和軟件后期制作,了解程序設(shè)計的風(fēng)格。任務(wù):編寫源程序,正確書寫軟件說明書和用戶手冊,總結(jié)軟件開發(fā)中的得失。
二、內(nèi)容、要求與安排方式
1、實驗內(nèi)容與要求:
完善系統(tǒng)所涉及的程序框圖,源程序,模擬運行數(shù)據(jù),打印報表,軟件使用說明書和用戶手冊等。
2、驗安排方式:
本實驗為開放實驗,各組可同時進(jìn)行實驗,每組8-10人。
三、思考題
1、怎樣合理選擇軟件開發(fā)的工具?
2、怎樣進(jìn)行用戶說明手冊和使用手冊的編寫。
3、總結(jié)項目實施中的得失。
實驗五:軟件測試
實驗學(xué)時:4 實驗類型:綜合性
一、目的與任務(wù)
目的:在實驗四的基礎(chǔ)上,完成對系統(tǒng)的組裝和測試。
任務(wù):正確運用軟件測試技術(shù)和方法,完成系統(tǒng)的單元測試、綜合測試、確認(rèn)測試、系統(tǒng)測試的方法,掌握測試用例的設(shè)計方法,并給出測試報告。
二、內(nèi)容、要求與安排方式
1、實驗內(nèi)容與要求:
(1)能夠正確運用軟件測試的過程與方法,結(jié)合一個模擬課題,復(fù)習(xí)、鞏固、軟件工程中系統(tǒng)測試知識,提高軟件測試的實踐能力。
(2)熟悉單元測試、綜合測試、確認(rèn)測試、系統(tǒng)測試的方法,掌握測試用例的設(shè)計方法。
(3)樹立正確的軟件測試思想,培養(yǎng)分析問題、解決問題的能力,提高查詢資料和撰寫書面文件的能力。
2、驗安排方式:
本實驗為開放實驗,各組可同時進(jìn)行實驗,每組8-10人。
三、思考題
1.怎樣看待測試的重要性。2.怎樣選擇測試的技術(shù)和方案。
3.比較邏輯測試和基本路徑測試的不同和聯(lián)系。4.怎樣組織對測試階段工作的評審?
附錄一:
實驗要求
軟件工程實驗要求學(xué)生采用“項目小組”的形式,結(jié)合具體的開發(fā)項目進(jìn)行設(shè)計。具體要求如下:
1、班級按項目小組進(jìn)行分組,每組不得超過6人
2、每個項目小組選出項目負(fù)責(zé)人或項目經(jīng)理,由項目經(jīng)理召集項目組成員討論、選定開發(fā)項目
3、項目中的每項任務(wù)要落實到人且規(guī)定該任務(wù)的起止日期和時間
4、每個項目小組必須按照《軟件工程實驗教學(xué)大綱》附錄中給定的文檔規(guī)范標(biāo)準(zhǔn)提供項目文檔
5、題目自定或采用附錄二中的題目
6、軟件開發(fā)的方法自定(結(jié)構(gòu)化或面向?qū)ο蟮姆椒▽W(xué))
附錄二:
實驗題目
題目一:“基于最小二乘法的公交車輛GPS補(bǔ)償定位系統(tǒng)的研究” 1. 研究內(nèi)容: 本項目主要研究智能公交調(diào)度系統(tǒng)中,在不增加硬件設(shè)備的基礎(chǔ)上,通過軟件來解決GPS在動態(tài)環(huán)境中信號失鎖問題的方法。提出了基于最小二乘曲線擬合方法的GPS數(shù)據(jù)補(bǔ)償算法,該算法將公交車輛的行駛線路數(shù)字化為一個曲線模型,并且在客觀條件影響車載GPS設(shè)備無法接收到GPS信號時,利用對應(yīng)線路的曲線模型模擬公交車輛的行駛,實現(xiàn)補(bǔ)償定位。解決由于GPS失鎖引起的三個問題。2. 研究意義: 城市智能公共交通管理系統(tǒng)公交車輛的定位跟蹤、輔助導(dǎo)航、車輛調(diào)度指揮、動態(tài)發(fā)布公交信息以及出行者最佳路徑查詢等功能。通過建設(shè)智能公交管理系統(tǒng)可以大大提高城市公交車輛的綜合管理和調(diào)度的智能化,從而有效緩解城市交通的壓力。3. 研究方案:
針對公交行業(yè)中公交車輛的行駛路線相對固定的特點,根據(jù)車輛的歷史定位數(shù)據(jù),對該行駛線路進(jìn)行曲線擬合,形成一條數(shù)字曲線模型。由于公交線路形狀存在復(fù)雜和多樣性,所以在擬合中采用分段擬合,將線路根據(jù)其形狀分成幾條分別擬合。在GPS無法接收到定位信號時,將最后一次獲得的定位坐標(biāo)投影到曲線模型上,以此為起點,在曲線模型上模擬車輛行駛并按原定GPS采樣間隔發(fā)送曲線模型上的對應(yīng)坐標(biāo)值,作為車輛的定位數(shù)據(jù)信息,解決GPS的失鎖問題。當(dāng)GPS定位信號重新獲取后,停止模擬行駛,以實際定位數(shù)據(jù)為準(zhǔn)。本項目采用最小二乘二次曲線擬合。4. 研究成果:
本系統(tǒng)以公交業(yè)務(wù)三級調(diào)度模式為系統(tǒng)設(shè)計框架,集計算機(jī)控制技術(shù)、無線通信技術(shù)、全球衛(wèi)星定位技術(shù)、地理信息技術(shù)為一體的公共交通系統(tǒng)。該系統(tǒng)基本上實現(xiàn)了公交調(diào)度業(yè)務(wù)的覆蓋和公交調(diào)度的智能化的要求,是一款比較出色的智能公交調(diào)度系統(tǒng),本項目所探討的用最小二乘曲線擬合解決GPS失鎖問題的方法將在將來的智能公交調(diào)度系統(tǒng)軟件中得到實際應(yīng)用。
題目二:物業(yè)小區(qū)“一站式” 收費終端系統(tǒng)的軟件實現(xiàn)
1、研究內(nèi)容:
在選擇合適的終端設(shè)備及運行系統(tǒng)平臺基礎(chǔ)上,利用目前流行的的面向?qū)ο蟪绦蛟O(shè)計語言Visual Basic 6.0和SQL的底層數(shù)據(jù)庫設(shè)計的軟件支持,硬件采用觸摸式液晶屏幕實現(xiàn)用戶與終端交互,通過網(wǎng)絡(luò)實現(xiàn)終端和銀行的交互,預(yù)先模擬出收費企業(yè)、銀行、小區(qū)住戶三方的數(shù)據(jù)庫信息(以銀行為交易中心),當(dāng)住戶在小區(qū)的終端上刷卡消費時,終端將實時發(fā)送信息至銀行,實現(xiàn)銀行數(shù)據(jù)庫相應(yīng)企業(yè)賬戶和該刷卡用戶賬戶信息的更改和刷新。軟件實現(xiàn)功能暫定代繳水費、電費、煤氣費、電話費(固定電話、移動手機(jī)用戶、聯(lián)通手機(jī)用戶)。
2、研究意義:
隨著現(xiàn)代都市生活節(jié)奏的加快,人們對生活的便捷性也隨之提出了更高的要求。而日常生活中消費性資源的固定費用,如電話費,燃?xì)赓M,水電費等的交納也面臨著越來越突出的矛盾:一方面,周末到銀行交納各項費用的用戶劇增,加大了銀行的工作量;另一方面,也使用戶浪費了大量的時間在排隊上,產(chǎn)生了一些負(fù)面影響;第三,雖然目前銀行開通了在網(wǎng)上在線交費業(yè)務(wù),但由于互聯(lián)網(wǎng)的很多安全漏洞,用戶無法安心的在網(wǎng)上進(jìn)行交費。針對目前用戶需要解決這種矛盾的迫切性,我們設(shè)計了“物業(yè)小區(qū)一站式收費終端系統(tǒng)”:該終端有點像銀行的自動取款機(jī),位于中間位置的是一個觸摸式的液晶屏幕,在正常狀態(tài)下,屏幕上播放著城市(合肥)的風(fēng)光片等信息,用手指觸摸后,直接進(jìn)入首頁。利用該終端可以使用儲蓄卡交納水氣煤電等各項費用。該項目的開發(fā)可以很好的解決銀行與用戶之間的不協(xié)調(diào)性,不僅可以提高銀行處理數(shù)據(jù)的能力,而且為用戶節(jié)省了時間。目前合肥市的大部分小區(qū)還沒有這種終端,因此市場前景廣闊。
3、研究方案:
在選擇合適的終端設(shè)備及運行系統(tǒng)平臺基礎(chǔ)上,預(yù)先模擬出收費企業(yè)、銀行、小區(qū)住戶三方的數(shù)據(jù)庫信息(以銀行為交易中心),當(dāng)住戶在小區(qū)的終端上刷卡消費時,終端將實時發(fā)送信息至銀行,實現(xiàn)銀行數(shù)據(jù)庫相應(yīng)企業(yè)賬戶和該刷卡用戶賬戶信息的更改和刷新。軟件實現(xiàn)功能暫定代繳水費、電費、煤氣費、電話費(固定電話、移動手機(jī)用戶、聯(lián)通手機(jī)用戶)。軟件開發(fā)將以瀑布模型為主要依托,進(jìn)行問題陳述、問題定義、需求分析、可行性研究報告,并配以相應(yīng)E-R圖、DFD圖、SC圖和數(shù)據(jù)字典等,然后用統(tǒng)一建模語言UML描述軟件,再結(jié)合動態(tài)模型機(jī)制構(gòu)造狀態(tài)圖、順序圖、協(xié)作圖、活動圖等,以文檔為驅(qū)動逐步進(jìn)行系統(tǒng)的整體設(shè) 6 計。在硬件上,主要在于如何選擇合適的服務(wù)器、客戶機(jī)、交換機(jī)、打印機(jī)及網(wǎng)絡(luò)設(shè)備來構(gòu)建完整安全的終端;軟件方面,集中體現(xiàn)在操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、開發(fā)語言的選擇。需要解決的關(guān)鍵問題還有終端液晶屏幕是采用什么觸發(fā)方式(電容觸發(fā)等方式),服務(wù)器平臺用LINUX還是用Windows 2000 Server及更高版本等。
4、研究成果:
利用目前流行的的面向?qū)ο蟪绦蛟O(shè)計語言Visual Basic 6.0和SQL的底層數(shù)據(jù)庫設(shè)計的軟件支持,硬件采用觸摸式液晶屏幕實現(xiàn)用戶與終端交互,通過網(wǎng)絡(luò)實現(xiàn)終端和銀行的交互。當(dāng)住戶在小區(qū)的終端上刷卡消費時,終端將實時發(fā)送信息至銀行,實現(xiàn)銀行數(shù)據(jù)庫相應(yīng)企業(yè)賬戶和該刷卡用戶賬戶信息的更改和刷新。軟件實現(xiàn)功能暫定代繳水費、電費、煤氣費、電話費。
題目三:“大型超市品類管理子系統(tǒng)的研究與開發(fā)” 1.系統(tǒng)簡介
隨著社會經(jīng)濟(jì)的飛速發(fā)展,我國的大型超市及連鎖企業(yè)步入多元化,跨地區(qū),高效率為特點的新階段。隨之而來的是對超市物品管理,人員管理,庫存量統(tǒng)計及物品進(jìn)出超市記錄管理的需要。而由于統(tǒng)計量大,管理過程中會出現(xiàn)很多問題,市場就需要一個全面的,詳細(xì)的品類管理子系統(tǒng)對超市進(jìn)行管理工作。研究的內(nèi)容包括:商品陳列、庫存量、各類商品的銷售數(shù)量、單價、利潤及供求關(guān)系。首先,品類管理系統(tǒng)主要分為三個子系統(tǒng):采購系統(tǒng),銷售系統(tǒng)和管理系統(tǒng)。采購系統(tǒng)的主要工作過程是:在數(shù)據(jù)庫中統(tǒng)計庫存量小于一定數(shù)目的物品,將需要采購的物品上報給采購人員。在新的物品進(jìn)庫后,對物品數(shù)量進(jìn)行重新統(tǒng)計。銷售系統(tǒng)的主要工作過程是:每一次采購將物品單備份并儲存,以便在月末結(jié)帳時進(jìn)行核對。管理系統(tǒng)的主要工作過程是:每隔固定時間或者是在系統(tǒng)需要時統(tǒng)計出物品進(jìn)出量以及超市盈利。以上功能要求在計算機(jī)上實現(xiàn)。2.技術(shù)要求和限制條件
(1)在當(dāng)超市物品庫中的各種物品數(shù)量發(fā)生變化(包括進(jìn)貨和出貨)時,都應(yīng)修改相關(guān)的物品記錄,如庫存表或進(jìn)/出庫表。(2)正當(dāng)出貨或進(jìn)貨時不得對物品數(shù)量進(jìn)行統(tǒng)計,只有在出,進(jìn)貨完成后才可以統(tǒng)計
(3)系統(tǒng)的外部項要包括超市服務(wù)人員,出貨人員和進(jìn)貨人員
題目四:“基于感應(yīng)式門禁的中小學(xué)家校通系統(tǒng)的設(shè)計與實現(xiàn)” 1.系統(tǒng)簡介
目前,學(xué)生的在校管理工作越來越受到學(xué)校和家長的重視。管理的好壞將直接影響到學(xué)生的安全,以及學(xué)生的學(xué)習(xí)狀況與水平。而傳統(tǒng)的管理工具及方法有著很大的局限性,例如,學(xué)生離開家時,家長不能很好的了解到他們在學(xué)校的情況,而離開學(xué)校時,校方又不能了解到學(xué)生在校外的表現(xiàn)與行為。近幾年來,孩子經(jīng)常讓家長擔(dān)心的事情莫過于放學(xué)不回家,甚至逃課去網(wǎng)吧和游戲廳。時間一長,他們就可能會生成網(wǎng)癮、游戲癮。
本套系統(tǒng)的開發(fā),就是在于加強(qiáng)校方和家長之間的交流與聯(lián)系,讓家長在校外就能了解到孩子在學(xué)校的表現(xiàn),這樣,更有助于家長對孩子的管理、孩子成績的提高。
當(dāng)學(xué)生離開家來上學(xué)時,一旦他們從學(xué)校大門經(jīng)過,門禁系統(tǒng)的感應(yīng)器將感應(yīng)到該同學(xué)的到來,并記錄下來。然后將記錄傳到校方服務(wù)器,由校方服務(wù)器與移動電話公司服務(wù)系統(tǒng)建立聯(lián)系。這時,移動電話公司便會以短信的形式把“孩子已經(jīng)到?!钡男畔⒏嬖V給家長。相反的,如果家長在孩子離開家來學(xué)校的很長時間后沒有受到信息,那么家長就可以知道他的孩子沒有來學(xué)校。這樣 就實現(xiàn)了 學(xué)校與家長時時的管理孩子。2.研究方案:
系統(tǒng)的建設(shè)描述:第一,采集學(xué)生的信息。這主要包括學(xué)生的班級、姓名、年級、家長姓名、家長手機(jī)。特別的就是家長的手機(jī),這是系統(tǒng)的關(guān)鍵信息所在。第二,建立校園內(nèi)部網(wǎng)絡(luò);首先,在每個學(xué)生的學(xué)生證件上安裝磁條,并保證磁條與學(xué)生的學(xué)號一一對應(yīng),每個磁條中存儲著持卡學(xué)生的信息。在學(xué)校大門安裝磁條感應(yīng)器,并與校園主機(jī)相連接。這樣可以把磁條所感應(yīng)到的信息第一時間反饋給主機(jī)。第三,班主任將根據(jù)學(xué)生在學(xué)校的表現(xiàn)分成不同的等級,然后將它輸入主機(jī)。第四,學(xué)生每次的模擬成績或作業(yè)完成情況也將輸入主機(jī)。第五,校方和移動電話公司或網(wǎng)絡(luò)公司建立聯(lián)系,校方把所要向?qū)W生家長公布的信息通過移動電話公司的短信息業(yè)務(wù)或網(wǎng)絡(luò)公司的電子郵件業(yè)務(wù)發(fā)送給家長。
題目五:基于手機(jī)短信業(yè)務(wù)的銀行信用卡消費告知系統(tǒng)
1、系統(tǒng)簡介
據(jù)調(diào)查,目前越來越多的人們放棄使用固定電話,更愿意使用方便、快捷的移動通訊工具。為方便人們及時掌握消費情況,通訊商需要開發(fā)一個信用卡消費告知系統(tǒng)。通訊商把用戶的基本資料(手機(jī)號碼、信用卡帳號、開戶銀行等)輸入系統(tǒng)中,并且事先與銀行、消費場所的數(shù)據(jù)庫建立連接。用戶申請開通此項業(yè)務(wù)后,系 8 統(tǒng)隨時與用戶建立聯(lián)系,消費場所通過終端機(jī)把顧客的消費信息映射到銀行的數(shù)據(jù)庫中,銀行通過與通訊商之間的共享關(guān)系,由通訊商以短信息形式將消費信息發(fā)給用戶。此外系統(tǒng)應(yīng)定時檢查更新數(shù)據(jù)庫用戶的基本資料及其他相關(guān)信息。
2、技術(shù)要求及限制條件
(1)在使用本系統(tǒng)時應(yīng)考慮用戶信息的合法性(如銀行帳號、身份證號碼)等。
(2)對于本系統(tǒng)還應(yīng)補(bǔ)充如下功能:
用戶要對應(yīng)多個銀行帳號; 用戶取消此業(yè)務(wù)的處理; 用戶更改手機(jī)號碼的處理;
一個銀行帳號對應(yīng)多個手機(jī)號碼的處理;
(3)外部輸入項至少包括:手機(jī)運營商、銀行、消費場所。
第五篇:軟件工程課程設(shè)計教學(xué)大綱
專業(yè)實踐教學(xué)大綱
《軟件工程課程設(shè)計》教學(xué)大綱
英文名稱
課程代碼:
學(xué)分:1 分
執(zhí)筆人:金霜 審定人:
一、前言
《軟件工程課程設(shè)計》是一個綜合的設(shè)計性實驗,是在學(xué)習(xí)完核心課程《軟件工程》后,對《軟件工程》所學(xué)內(nèi)容的一次綜合運用;旨在使學(xué)生進(jìn)一步掌握軟件工程的方法和技術(shù),樹立團(tuán)隊合作精神,培養(yǎng)學(xué)生的自主學(xué)習(xí)能力和創(chuàng)造性的工程設(shè)計能力,提高綜合分析和解決問題的能力。
二、教學(xué)大綱
1、目的要求
《軟件工程》是一門理論性和實踐性非常強(qiáng)的課程,學(xué)生僅僅通過課堂獲取知識是遠(yuǎn)遠(yuǎn)不夠的,必須加強(qiáng)實踐教學(xué),利用具有實際工程背景的軟件設(shè)計題目,和軟件工程設(shè)計工具(rose、viso),培養(yǎng)學(xué)生對軟件系統(tǒng)的需求分析、系統(tǒng)分析、軟件測試能力。初步掌握系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)測試的方法,讓學(xué)生掌握軟件工程設(shè)計工具(rose、viso)使用方法。
2、主要內(nèi)容
(1)項目可行研究
☆ 成立項目小組,六人一組,其中4名開發(fā)人員,2名測試人員,并選定項目組長一名。
☆ 項目組長召集小組成員選擇設(shè)計項目
項目可由老師指定,也可以學(xué)生自選后報老師審核。
☆ 項目組長召集成員進(jìn)行項目可行性研究,確定項目的大小、范圍和復(fù)雜程度等?!?確定任務(wù)進(jìn)度、分工和完成項目設(shè)計的工具。
☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《項目可行性研究》部分。(2)需求分析
☆ 根據(jù)項目的大小、范圍和復(fù)雜程度等情況,由全體組員共同完成項目的需求分析,包括項目功能、項目運行環(huán)境、項目開發(fā)環(huán)境、項目角色等。
☆ 使用軟件工程設(shè)計工具繪制項目總功能圖、總用例圖,并進(jìn)行文字闡述。☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《需求分析》部分。(3)系統(tǒng)概要設(shè)計
☆ 項目組長根據(jù)需求分析,進(jìn)行任務(wù)分工,由開發(fā)人員進(jìn)行系統(tǒng)概要設(shè)計
☆ 開發(fā)人員根據(jù)自己所分的模塊任務(wù),對模塊的功能和參與者進(jìn)行詳細(xì)闡述,使用軟件工程設(shè)計工具,繪制模塊用例圖
☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《系統(tǒng)概要設(shè)計》部分。
(4)系統(tǒng)詳細(xì)設(shè)計
☆ 開發(fā)人員根據(jù)自己所分的模塊的概要設(shè)計,進(jìn)行詳細(xì)設(shè)計
☆ 開發(fā)人員對自己所分模塊的實現(xiàn)流程進(jìn)行闡述,并使用軟件工程設(shè)計工具,繪制類圖、活動圖(或者是狀態(tài)圖,二選一)。
☆ 組長繪制項目的ER圖。
☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《系統(tǒng)詳細(xì)設(shè)計》部分。
(5)系統(tǒng)測試計劃
☆ 根據(jù)系統(tǒng)需求分析,由測試人員共同完成測試計劃編寫。
☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《測試計劃》部分。(6)系統(tǒng)功能測試用例設(shè)計
☆ 組長根據(jù)測試需求分析,對測試人員進(jìn)行任務(wù)分工?!?測試人員根據(jù)任務(wù)分工,繪制自己所分模塊的實現(xiàn)順序圖?!?測試人員根據(jù)自己所繪制的順序圖,進(jìn)行系統(tǒng)功能測試用例設(shè)計
☆ 按照《軟件工程課程設(shè)計報告》的格式要求,完成報告中的《系統(tǒng)功能測試用例設(shè)計》部分。
(7)答辯(根據(jù)進(jìn)度可選)
☆ 將各部分文檔進(jìn)行整合,完成《軟件工程課程設(shè)計報告》
☆ 制作PPT,答辯時間5分鐘,提問3~5分鐘。(8)課時安排參考 ☆ 項目可行研究、需求分析4學(xué)時
☆ 系統(tǒng)概要設(shè)計、系統(tǒng)詳細(xì)設(shè)計(系統(tǒng)測試需求分析、系統(tǒng)功能測試用例設(shè)計)8學(xué)時 ☆ 答辯4學(xué)時
三、成績考核與評定
成績考核由以下幾部分組成:
(1)平時考勤占10%。
(2)設(shè)計表現(xiàn)占20%。組員的設(shè)計表現(xiàn)成績由組長提供;組長的設(shè)計表現(xiàn)成績由老師根據(jù)小組整體完成情況給于。
(3)答辯表現(xiàn)占20%,若沒有答辯環(huán)節(jié),以考勤分代替。(4)文檔完成情況占50%。
成績評定實行優(yōu)、良、中、及格、不及格五個等級。
四、重點說明執(zhí)行本大綱應(yīng)注意的問題
1、嚴(yán)格審核學(xué)生所選項目,提倡項目的新穎性和實用性。
2、嚴(yán)格審核學(xué)生的需求分析和任務(wù)分工,確保每個學(xué)生有足夠的工作量。
3、嚴(yán)格考勤,遲到15分鐘之內(nèi)算遲到,遲到2次算曠課1次;遲到15分鐘以上算曠課。曠課2次,成績即為不及格
4、允許學(xué)生上網(wǎng)查資料,但嚴(yán)格控制學(xué)生不得上網(wǎng)進(jìn)行玩游戲、看電影等與課程設(shè)計無關(guān)的活動。
5、答辯主要圍繞項目設(shè)計的合理性和可實現(xiàn)性提3-5個問題,根據(jù)學(xué)生回答情況,確定答辯分?jǐn)?shù)。
6、審核文檔,允許學(xué)生有所借鑒,但不得完全抄襲,一旦發(fā)現(xiàn),以0分計。
附:教學(xué)參考書目(添加教材信息)
1、《軟件工程》(第4版)人民郵電出版社
張海藩
2、《軟件工程概論》 清華大學(xué)出版社
鄭人杰、殷人昆
3、《軟件工程課程設(shè)計大綱》由老師提供
4、《軟件工程課程設(shè)計報告》由老師提供
5、《UML系統(tǒng)建模與分析設(shè)計課程設(shè)計》 機(jī)械工業(yè)出版社 刁成嘉、刁奕
6、《Rose工具使用方法參考》由老師提供