《軟件工程》教案_第1頁
《軟件工程》教案_第2頁
《軟件工程》教案_第3頁
《軟件工程》教案_第4頁
《軟件工程》教案_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《軟件工程》教案

(本科)

主講:****

杭州電子工業(yè)學院計算機軟件教研室

E-mail:

2018年1月

目錄

第一章軟件工程概述.............................................................4

§1.1軟件的概念、特點及分類..................................................4

§1.2軟件危機................................................................5

§1.3軟件工程................................................................7

§1.4小結(jié)....................................................................12

第二章系統(tǒng)分析............................................................13

§2.1系統(tǒng)分析(項目計劃)....................................................13

§2.2問題定義................................................................13

§2.3可行性研究..............................................................14

§2.4小結(jié)....................................................................19

§2.5補充實例................................................................19

第三章需求分析................................................................22

§3.1需求分析概述...........................................................22

§3.2結(jié)構(gòu)化分析方法.........................................................24

§3.3驗證軟件需求...........................................................28

§3.4小結(jié)...................................................................28

§3.5補充知識...............................................................28

§3.6補充實例...............................................................31

第四章軟件設(shè)計概述............................................................35

§4.1軟件設(shè)計概述...........................................................35

§4.2軟件設(shè)計的策略.........................................................35

§4.3概要設(shè)計...............................................................40

§4.4結(jié)構(gòu)化系統(tǒng)設(shè)計.........................................................42

§4.5小結(jié)....................................................................52

§4.6補充實例...............................................................52

第五章詳細設(shè)計................................................................53

§5.1詳細設(shè)計-概述...........................................................53

§5.2結(jié)構(gòu)化程序設(shè)計.........................................................54

§5.3詳細設(shè)計的描述工具.....................................................55

§5.4其它的軟件設(shè)計方法(面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法)............................60

§5.5程序復雜度的定量度量...................................................61

§5.6小結(jié)...................................................................63

§5.7補充實例...............................................................63

第六章編碼....................................................................67

§6.1編碼的目的.............................................................67

§6.2編碼的風格.............................................................67

§6.3程序設(shè)計語言...........................................................69

§6.4小結(jié)...................................................................70

§6.5補充實例...............................................................70

第七章測試....................................................................71

第八章維護....................................................................87

第九章面向?qū)ο蠓治雠c設(shè)計......................................................90

第十章軟件質(zhì)量保證.............................................錯誤!未定義書簽。

第十一章軟件項目計劃與管理.....................................錯誤!未定義書簽。

第十二章..........................................................錯誤!未定義書簽。

第十三章..........................................................錯誤!未定義書簽。

第十四章..........................................................錯誤!未定義書簽。

K軟件工程》教案-本科

第一章軟件工程概述

引論:

令隨著計算機的普及與深化,軟件數(shù)量急劇膨脹,同時軟件成本也在逐年上

升,質(zhì)量得不到可靠的保證。軟件開發(fā)的生產(chǎn)率也遠遠跟不上普及計算機

應用的要求。由此產(chǎn)生了“軟件危機”。軟件工程正是在此情況下產(chǎn)生的

一門新興學科。

令學習軟件工程,鍛煉思維能力及解決問題的能力。

令學習軟件工程,努力成為軟件界的“白領(lǐng)”。

§1.1軟件的概念'特點及分類

軟件的定義:

軟件是計算機系統(tǒng)中號硬件相互依存的另一部分,它包括程序、

數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是按事先設(shè)計的功能和性

能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);

文檔是與程序開發(fā)、維護和使用有關(guān)的圖文材料。

軟件的特點:

1.軟件是一種邏輯實體,而不是具體的物理實體。

2.軟件的生產(chǎn)與硬件不同。(無明顯的制造過,存在軟件產(chǎn)品的保護問

題。)

3.在軟件的運行和使用期間,沒有硬件那樣的機械磨損、老化等問題。

4.軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著

不同程度的依賴性。

5.軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。

6.軟件是復雜的。(軟件復雜性來源于它所反映的實際問題的復雜性。)

7.軟件成本相當昂貴。(定制產(chǎn)品、手工開發(fā).成本高)

8.相當多的軟件工作涉及到社會問題。

三.軟件的分類:

1.按軟件功能劃分:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第4頁(共95頁)

K軟件工程》教案-本科

1)系統(tǒng)軟件:使計算機系統(tǒng)各個部件、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)、高效

的工作的軟件。(如:操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),設(shè)

備驅(qū)動程序等)

2)支撐軟件:協(xié)助用戶開發(fā)軟件的工具性軟件。(如:文本編輯程

序,集成開發(fā)工具,圖形軟件包等)

3)應用軟件:在特定領(lǐng)域內(nèi)開發(fā)為特定目的服務(wù)的一類軟件。

2.按軟件規(guī)模劃分:

微型1人1—4周0.5K

小威1人1―6月1—2K

中型2—5人1—2年5—50K

大型5—20人2—3年50—100K

甚大型100—1000人4—5年1\1

極大型2000—5000人5—10年IM—10M

微型1人1—4周0.5K

3.按軟件的工作方式劃分:

1)實時處理軟件:在事件或數(shù)據(jù)產(chǎn)生時,立即予以處理,并及時反

饋信號。

2)分時軟件:允許每個聯(lián)機用戶同時使用計算機。

3)交互時軟件:能實現(xiàn)人通信的軟件。

4)批處理軟件:把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次

運行,按順序逐個處理完的軟件。

4.按軟件服務(wù)對象的范圍劃分:

1)項目軟件

2)產(chǎn)品軟件

§1.2軟件危機

軟件危機:

指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。

1.軟件危機包含的問題:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第5頁(共95頁)

K軟件工程》教案-本科

1)如何開發(fā)軟件,以滿足對軟件日益增長的需求。(提高生產(chǎn)率)

2)如何維護數(shù)量不斷膨脹的已有軟件

2.軟件危機的表現(xiàn)形式:

1)對軟件開發(fā)的成本和進度的估計常常不準確。

導致:成本提高,工程延期,影響信譽。

權(quán)益之計:損害軟件質(zhì)量,又會引起用戶不滿。

2)用戶對“以完成”的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。

原因:對用戶需求不確切,缺少溝通,倉促上陣,閉門造車。

導致:不符合用戶要求。

3)軟件產(chǎn)品質(zhì)量往往靠不住。

原因:軟件可靠性和質(zhì)量保證未認真執(zhí)行。

導致:軟件質(zhì)量問題。

4)軟件常常是不可維護的。

原因:程序結(jié)構(gòu)固定、死板、變更困難、錯誤、難以改正,無法

增加新的功能和適應新的環(huán)境。

5)軟件通常沒有適當?shù)奈臋n資料。

項目負責人:用以控制整體狀態(tài),把握工程進度;

開發(fā)者:用以相互交流;

維護人員:維護的依據(jù)。

6)軟件成本在計算機系統(tǒng)中成本所占比例率上升。

?微電子技術(shù)的進步和自動化程度的不斷提高,導致硬件成本

下降;

?軟件需要手工勞動,且大規(guī)模和數(shù)量不斷的擴大,導致軟件

成本上升。

7)軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機普及、深入的趁

勢。

“供不應求”,無法充分利用硬件。

軟件危機產(chǎn)生的原因:

1.與軟件自身的特點有關(guān):

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第6頁(共95頁)

K軟件工程》教案-本科

邏輯實體、手工開發(fā)、復雜度高、成本昂貴。

2.與開發(fā)、維護方法不正確有關(guān):

忽視用戶需求,輕視軟件維護。

三.解決軟件危機的途徑:

1.技術(shù)措施:方法和工具

2.組織管理措施:從管理角度進行審查、控制。

軟件工程正是從技術(shù)和管理兩方面研究如何更好地開發(fā)和維護計算機軟

件的一門新興學科。

§1.3軟件工程

軟件工程:

是采用工程的概念、原理、技術(shù)和方法來指導軟件開發(fā)和維護

的工程學科。

1.軟件工程的基本原理:(七條)

是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小的完備的集合。

1)用分階段的生命周期計劃嚴格管理。

2)堅持進行階段評審。

進行相應的質(zhì)量保證、盡早發(fā)現(xiàn)錯誤。

3)實行嚴格的產(chǎn)品控制。

實行基準配置(給過階段評審后的軟件配置成分,包括文檔、程

序等)管理,涉及對基準配置的參數(shù),必須按嚴格規(guī)程審批。

4)采用現(xiàn)代的程序設(shè)計技術(shù)。

如:結(jié)構(gòu)化分析與設(shè)計、面向?qū)ο蟮姆治雠c設(shè)計。

5)結(jié)果應能清楚地審查。

規(guī)定開發(fā)組織的責任和產(chǎn)品標準,提高軟件開發(fā)過程的可見性。

6)開發(fā)小組的人員應該少而精。

開發(fā)小組人員的素質(zhì)和數(shù)量是影響產(chǎn)品質(zhì)量和開發(fā)效率的重要

因素。

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第7頁(共95頁)

K軟件工程》教案-本科

7)承認不斷改進軟件工程實踐的必要性。

積極采納新技術(shù),不斷總結(jié)經(jīng)驗。

2.軟件工程的三要素:方法、工具和過程。

1)方法:“如何做”,常采用某種特殊的語言或圖形的表達方法及一

套質(zhì)量保證標準。

2)工具:為方法提供的軟件支撐環(huán)境。(計算機輔助軟件工程CASE)

3)過程:將方法和工具綜合起來以達到合理、及時地進行計算機軟

件開發(fā)的目的。

3.軟件工程項目的基本目標:

1)付出較低的開發(fā)成本。

2)達到要求的軟件功能。

3)取得較好的軟件性能。

4)開發(fā)的軟件易于移植。

5)需要較低的維護費用。

6)能按時完成開發(fā)工作,及時交付使用。

4.軟件工程的原則:

1)抽象

2)信息隱藏

3)模塊化

4)局部化

5)一致性

6)完全性

7)可驗證性

軟件工程的傳統(tǒng)途徑:

1.軟件工程的傳統(tǒng)途徑:生命周期方法學

從時間角度對軟件開發(fā)和維護的復雜問題進行分解,劃分為若

干個階段,每個階段有相對獨立的任務(wù),是在階段結(jié)束時進行技術(shù)

審查和管理復審,最后產(chǎn)生相應的文檔資料。

2.軟件生命周期的劃分:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第8頁(共95頁)

K軟件工程》教案-本科

1)三個時期:

■軟件定義:確定工程總目標:可行性、采用的策略,需求完

成的功能,需要的資源和成本,工程進度表。

包括:問題定義,可行性研究,需求分析。

■軟件開發(fā):具體設(shè)計和實現(xiàn)。

包括:概要設(shè)計、詳細設(shè)計(系統(tǒng)設(shè)計),編碼和

單元測試、綜合測試(系統(tǒng)實現(xiàn))

■軟件維護:使軟件持久地滿足用戶需要。

改正錯誤,適應新環(huán)境,滿足新需求。

2)八個階段:

■問題定義:“要解決的問題是什么?”

提出關(guān)于問題性質(zhì)、工程目標和規(guī)模的全面報告。

■可行性研究:“對上一個階段所確定的問題有行的通解決辦法

嗎?”

研究問題的范圍,進行成本/效率分析,探索問題

是否值得解和如何解。

■需求分析:“為了解決問題,目標系統(tǒng)必須做到什么?”

確定目標系統(tǒng)所應具備的功能,建立系統(tǒng)邏輯模型

(數(shù)據(jù)流圖、數(shù)據(jù)字典、簡要算法)

■概要設(shè)計:概括地談,應該如何解決問題

提出幾種設(shè)計方案:低成本,中等成本,高成本(“十

全十美”),確定解決系統(tǒng)的方案和目標系統(tǒng)需要那

些程序,設(shè)計軟件的結(jié)構(gòu),確定程序模塊及模塊間

關(guān)系(層次圖或結(jié)構(gòu)圖)。

■詳細設(shè)計:應該怎樣具體地實現(xiàn)系統(tǒng)

把解決具體化,設(shè)計出程序的詳細規(guī)格說明(HIPO

圖或PDL語言)

■編碼和單元測試:編寫程序模塊的實現(xiàn)代碼,并對其進行測

試。

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第9頁(共95頁)

K軟件工程》教案-本科

■綜合測試:通過各種類型的測試使軟件達到預定要求。

?集成測試:根據(jù)設(shè)計的軟件結(jié)構(gòu),將單元模塊按某種策略

裝配起來進行聯(lián)合測試。

?驗收測試:由用戶根據(jù)需求規(guī)格說明書對目標系統(tǒng)進行整

體驗收。

■軟件維護:通過各種必要的維護活動使系統(tǒng)持久滿足用戶需

要。

?改正性維護(21%)

?適應性維護(25%)

?完善性維護(50Q

?預防性維護(4%)

3)目的和實質(zhì):

控制開發(fā)工作的復雜性,通過有限的確定步驟,把用戶需求

從抽象的邏輯概念轉(zhuǎn)化為具體的物理實現(xiàn)。

3.軟件生存期模型:瀑布模型,演化模型,螺旋模型,噴泉模型,智

能模型。

1)瀑布模型:系統(tǒng)的生命周期方法學用瀑布模型來進行模擬。

■各階段間具有順序性和依賴性

?前階段結(jié)束一〉后階段開始。

?前階段輸出文檔一〉后階段輸入文檔。

■推遲實現(xiàn)的觀點:設(shè)置系統(tǒng)分析與設(shè)計、推遲物理實現(xiàn)。

■質(zhì)量保證的觀點:

?每個階段必須完成規(guī)定的文檔

?每個階段結(jié)束前要對文檔評審,以便盡早發(fā)現(xiàn)問題,改正

錯誤。

2)演化模型:(原型模型)

能夠克服瀑布模型的缺點、適當?shù)臏p少由于軟件需求不明確而給

開發(fā)工作帶來的風險。

3)螺旋模型:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第10頁(共95頁)

K軟件工程》教案-本科

將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型都忽略了的

風險分析,以彌補兩者的不足。

螺旋模型沿著螺旋線旋轉(zhuǎn),在笛卡兒坐標的四個象限上分別表達

四個方面的活動:

?制定計劃:確定軟件目標,選定實施方案,弄清項目開發(fā)的

限制條件。

?風險分析:分析所選方案,考慮如何識別和取消風險。

?實施工程:實施軟件開發(fā)。

?客戶評估:評價開發(fā)工作,提出修正意見。

4)噴泉模型:

?“噴泉”一詞體現(xiàn)了迭代和無間隙特性。系統(tǒng)某個部分常常

重復工作多次,相關(guān)功能在每次迭代中隨之加入演進的系統(tǒng),

無間隙是指在開發(fā)活動,即分析、設(shè)計和編碼之間不存在明

顯的邊界。

?支持軟件復用,支持面向?qū)ο蟮拈_發(fā)方法。

5)智能模型:基于知識的軟件開發(fā)模型

智能模型綜合了其他模型,并把專家系統(tǒng)結(jié)合在一起。該模型應

用于基于規(guī)則的系統(tǒng),采用規(guī)約和推理機制,幫助軟件人員完成

開發(fā)工作,并使維護在系統(tǒng)規(guī)格說明一級完成。

三.技術(shù)審查和管理復審:

1.技術(shù)審查:

保證軟件質(zhì)量,控制錯誤的積累和放大,以降低軟件成本。

■技術(shù)審查的標準和方法:從前導和后續(xù),兩個階段進行考慮。

?前導:提出解法。

?后續(xù):實現(xiàn)解法。

■步驟:

?準備

?簡要介紹情況

?閱讀被審查文檔

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第11頁(共95頁)

K軟件工程》教案-本科

?開審查會

?返工

?復查

2.管理復審:

對工程項目的成本、經(jīng)費、投資回收前景,項目進度等經(jīng)濟因

素,從管理角度進行審查。

§1.4小結(jié)

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第12頁(共95頁)

K軟件工程》教案-本科

第二章系統(tǒng)分析

§2.1系統(tǒng)分析(項目計劃)

兩個階段:

令問題定義

令可行性研究

—.目標:

1.識別用戶要求

2.評價系統(tǒng)的可行性

3.進行經(jīng)濟分析和技術(shù)分析

4.把功能分配給硬件、軟件、人、數(shù)據(jù)庫和其它系統(tǒng)元素

5.建立成本和進度限制

6.生成系統(tǒng)規(guī)格說明,形成所有后續(xù)工程的基礎(chǔ)

§2.2問題定義

目的:

弄清用戶需要計算機解決的問題根本所在,以及項目所需的經(jīng)

費和資源的文檔。

主要任務(wù):

是在向用戶調(diào)查的基礎(chǔ)上,編寫一個叫做《系統(tǒng)目標與范圍說

明書》的文檔。這個說明經(jīng)用戶同意后,就作為下一步一可行性分

析的依據(jù)。

三.文檔:《系統(tǒng)目標與范圍說明書》

1.項目名稱

2.問題說明:當前工作中存在的問題

3.項目目標:用戶對新系統(tǒng)的目標

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第13頁(共95頁)

K軟件工程》教案-本科

4.項目范圍:指出解決這一項目所需的投資范圍

5.初步想法:對系統(tǒng)功能提出一些初步設(shè)想

6.可行性研究計劃:對可行性研究的時間、費用進行估算

§2.3可行性研究

可行性研究

1.目的:

用最少的代價,在盡可能短的時間內(nèi)弄清所定義的項目是不是

可能實現(xiàn)和值得進行。(不是解決問題,而是確定問題是否可能解決

和值得去解)

2.實質(zhì):

是進行一次大大簡化了的系統(tǒng)分析和設(shè)計的過程,即在較高層

次上以較抽象的方式進行的系統(tǒng)分析和設(shè)計的過程。

3.研究問題解法的可行性:

■技術(shù)可行性:使用現(xiàn)有技術(shù)能實現(xiàn)這個系統(tǒng)嗎?

■經(jīng)濟可行性:這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?

■操作可行性:系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?

4.根本任務(wù):對以后的行動方針提出建議

5.步驟:

1)復查系統(tǒng)規(guī)模和目標

改正含糊或不正確的敘述,清晰的描述目標系統(tǒng)的一切限制和約

束,確保正在解決的問題,確實是要求解決的問題。

2)研究目前正在使用的系統(tǒng)

了解現(xiàn)有系統(tǒng)的功能,閱讀文檔資料和使用手冊,確定目標系統(tǒng)

必須完成的基本功能,并解決現(xiàn)有系統(tǒng)中存在的問題。

3)導出新系統(tǒng)的高層邏輯模型

設(shè)計過程:現(xiàn)有物理系統(tǒng)一》現(xiàn)有系統(tǒng)邏輯模型一>目標系統(tǒng)邏輯

模型一>新物理系統(tǒng)

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第14頁(共95頁)

K軟件工程》教案-本科

4)重新定義問題

重新復查問題定義,工程規(guī)模和目標

5)導出和評價供選擇的解法

技術(shù)可行性,經(jīng)濟可行性,操作可行性。

6)推薦行動方針

是否值得開發(fā),選擇最好的解法,說明理由。

7)草擬開發(fā)計劃

開發(fā)計劃:工程進度表,開發(fā)人員,各種資源,使用時間,系統(tǒng)

生命周期各階段成本。

8)書寫文檔并提交審查

—.成本/效益分析:

通過估計開發(fā)成本,運行費用和經(jīng)濟效益,從而達到從經(jīng)濟角

度分析開發(fā)一個特定的新系統(tǒng)是否劃算,幫助使用部門負責人正確

的做出是否投資這項工程開發(fā)的決定。

1.成本估計:

■軟件開發(fā)成本主要表現(xiàn)為人力消耗:

人力消耗X平均工資=開發(fā)費用

■成本估計技術(shù):

?代碼行技術(shù):源代碼行數(shù)X每行代碼平均成本=開發(fā)成本

?任務(wù)分解技術(shù):按開發(fā)階段劃分任務(wù)

(每個相對獨立的開發(fā)任務(wù)的)成本累加和=開發(fā)成本

?自動估計成本技術(shù):軟件工具。

2.運行費用:

■系統(tǒng)操作費用(操作員人數(shù),工作時間,消耗的物資等)

■維護費用。

3.經(jīng)濟效益:

■因使用新系統(tǒng)增加的收入

■可以節(jié)省的運行費用

4.度量效益的方法:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第15頁(共95頁)

K軟件工程》教案-本科

1)貨幣的時間價值:

設(shè)年利率為i,現(xiàn)已存入P元,則n年后所得:F=P*(1+

i)n,即為P元錢在n年后的價值。反之,若n年后能收入F元,

則其在現(xiàn)在的價值為:P=F/(l+i)no

2)投資回收期:

是使累計的經(jīng)濟效益等于最初的投資所需要的時間,是衡量

一個開發(fā)工程價值的經(jīng)濟指標。投資回收期越短,就能越快獲得

利潤,所以工程就越值得投資。

3)純收入:

是在整個生存期之內(nèi)系統(tǒng)的累計經(jīng)濟效益(折合成現(xiàn)在植)

與投資之差。

4)投資回收率:

設(shè)P為現(xiàn)在的投資的投資額,F(xiàn)i為第i年底的效益(i=l,

2,…,n),n為系統(tǒng)的使用壽命,j為投資回收率。

則(???(((P(l+j)—Fl)(1+j)—F2)(1+j)—…)—Fn=O

即P=F1/(1+j)+F2/(l+j)2+-+Fn/(1+j)%

三.技術(shù)分析:

評價系統(tǒng)概念的技術(shù)價值,同時收集有關(guān)性能,可靠性,可維

護性及生產(chǎn)率方面的信息。

1.目的:

對系統(tǒng)的技術(shù)可行性進行評估,指明為完成系統(tǒng)的功能和性能

需要什么技術(shù)?需要哪些新材料、方法、算法或者過程?有什么開

發(fā)風險?這些技術(shù)問題對成本的影響如何?

2.方法:

■模型化方法(數(shù)學模型、物理模型)

■優(yōu)化技術(shù)

■概率和統(tǒng)計

■排隊論

■控制論等。

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第16頁(共95頁)

K軟件工程》教案-本科

四.系統(tǒng)結(jié)構(gòu)的模型化:系統(tǒng)流程圖

1.系統(tǒng)流程圖:

是用來描述系統(tǒng)物理模型的?種傳統(tǒng)工具,基本思想是用圖形

符號、黑盒子形式描繪系統(tǒng)里面的每個部件(程序、文件、數(shù)據(jù)庫、

表格、人工過程等),它所表達的是信息在系統(tǒng)各部件之間的流動情

況,而不是對信息進行加工處理的控制過程。

2.描述符號:(書:P25)

1)基本符號:(如表2.1)

符號名稱說明

處理能改變數(shù)據(jù)值或數(shù)據(jù)位置的加工或部件,例如:

程序、處理機、人工加工等

輸入/輸出表示輸入或輸出(或既輸入又輸出),是一個廣

LJ義的不指明具體設(shè)備的符號

連接指出轉(zhuǎn)到圖的另一部分或從圖的另一部分轉(zhuǎn)

O來,通常在同一頁上

O換頁連接指出轉(zhuǎn)到另一頁圖上或由另一頁圖轉(zhuǎn)來

---?數(shù)據(jù)流用來連接其他符號,指明數(shù)據(jù)流動方向

表2.1

2)系統(tǒng)符號:(如表2.2)

符號名稱說明

穿孔卡片表示穿孔卡片輸入或輸出,也可表示一個穿孔

卡片文件

文檔通常表示打印輸出,也可表示用打印終端輸入

二1數(shù)據(jù)

磁帶磁帶輸入/輸出,或表示一個磁帶文件

Q

聯(lián)機存儲表示任何種類的聯(lián)機存儲,包括磁盤、磁鼓、

C3軟盤和海量存儲器件等

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第17頁(共95頁)

K軟件工程》教案-本科

磁盤磁盤輸入/輸出,也可表示存儲在磁盤上的文件

S或數(shù)據(jù)庫

磁鼓磁鼓輸入/輸出,也可表示存儲在磁鼓上的文件

()或數(shù)據(jù)庫

顯示CRT終端或類似的顯示部件,可用于輸入或輸

出,也可既輸入又輸出

------人工輸入人工輸入數(shù)據(jù)的脫機處理,例如:填寫表格等

人工操作人工完成的處理,例如:會計在工資支票上簽

輔助操作使用設(shè)備進行的脫機操作

通信鏈路通過遠程通信線路或鏈路傳送數(shù)據(jù)

表2.2

3.實例:(書:P25-26)

五.文檔:

1.《可行性分析報告》:

1)系統(tǒng)概述:

■當前現(xiàn)有系統(tǒng)分析:系統(tǒng)描述及存在問題

■目標系統(tǒng)分析:系統(tǒng)功能和性能描述。(物理模型:系統(tǒng)流程

圖)

■當前系統(tǒng)與目標系統(tǒng)比較:目標系統(tǒng)的優(yōu)越性。

2)可行性分析:

■技術(shù)可行性

■經(jīng)濟可行性

■操作可行性。

3)結(jié)論意見:

■可著手組織開發(fā)

■須待若干條件(如資源、人力、設(shè)備等)具備后才能開發(fā)

■需對開發(fā)目標進行修改

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第18頁(共95頁)

K軟件工程》教案-本科

■不能進行或不必進行(如技術(shù)不成熟、經(jīng)濟上不合算等)

■其它…

2.《項目開發(fā)計劃》:

1)系統(tǒng)概述:

包括項目目標,主要功能,系統(tǒng)特點,以及關(guān)于開發(fā)工作的安排。

2)系統(tǒng)資源:

包括開發(fā)和運行該軟件系統(tǒng)所需要的各種資源。如:硬件、軟件、

人員、組織、機構(gòu)等。

3)費用預算:分階段的人員費用,機時費用及其它費用。

4)進度安排:各階段起止時間,完成文檔及驗證方式。

5)要交付的產(chǎn)品清單

§2.4小結(jié)

§2.5補充實例

庫存清單系統(tǒng):

1.系統(tǒng)說明:

某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各種零件的數(shù)

量以及每種零件的庫存量臨界值等記錄在庫存清單主文件中。當倉

庫中零件數(shù)量有變化時,應該及時修改庫存清單主文件,如果那種

零件的庫存量少于它的庫存量臨界值,則應該報告給采購部門以便

訂貨,規(guī)定每天向采購部門送一次訂貨報告。

該裝配廠使用一臺小型計算機處理更新庫存清單主文件和產(chǎn)生

定貨報告的任務(wù)。零件庫存量的每一次變化稱為一個事務(wù),由放在

倉庫中的CRT終端輸入到計算機中;系統(tǒng)中的庫存清單程序?qū)κ聞?wù)

進行處理,更新存儲在磁盤上的庫存清單主文件,并且把必要的訂

貨信息寫在磁帶上。最后,每天由報告生成程序讀一次磁帶,并且

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第19頁(共95頁)

K軟件工程》教案-本科

打印出定貨報告。

2.系統(tǒng)流程圖:(如圖2.5.1所示)

事務(wù)

_

庫存清單程序---->庫存清單

報告生成程序

定貨報告

圖251

庫存清單系統(tǒng)的系統(tǒng)流程圖

教材購銷系統(tǒng):

1.系統(tǒng)說明:

在教材的銷售過程中,首先學生拿著購書申請到會計處審查并

開具購書發(fā)票,然后到出納處交款,并開具領(lǐng)書單,學生拿著領(lǐng)書

單到書庫領(lǐng)書;在開具購書發(fā)票的過程中,若教材存量不夠,則需

要進行缺書統(tǒng)計,然后書庫根據(jù)缺書情況去采購缺書,并通知學生

補購教材。

2.系統(tǒng)流程圖:(如圖2.5.2所示)

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第20頁(共95頁)

K軟件工程》教案-本科

敦H灼伊樂線的樂拄流程圖

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第21頁(共95頁)

K軟件工程》教案-本科

第三章需求分析

§3.1需求分析概述

需求分析的任務(wù):

1.基本任務(wù):回答“系統(tǒng)必須做什么”?確定目標系統(tǒng)功能和性能。

2.具體任務(wù):

1)確定對系統(tǒng)的綜合要求:功能要求;性能要求;運行要求;將來

可能提出的要求。

2)分析系統(tǒng)的數(shù)據(jù)要求:E-R圖(概念模型)。

3)導出系統(tǒng)的邏輯模型:數(shù)據(jù)流圖,數(shù)據(jù)字典,加工處理說明書等。

4)修正系統(tǒng)開發(fā)計劃。

5)開發(fā)原型系統(tǒng):使用戶對目標系統(tǒng)有一個更直接、更具體的概念,

從而能更準確提出用戶需求。(關(guān)鍵的困難在于成本)

需求分析的過程:

1.問題識別:確定軟件的需求。

1)功能

2)性能

3)環(huán)境

4)可靠性

5)安全保密

6)界面

7)資源

8)成本進度

9)目標

2.分析與綜合:

從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā),逐步細化軟件功能,找出各元素之

間的聯(lián)系,接口特性和設(shè)計上的限制,給出目標系統(tǒng)的詳細邏輯模

型。

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第22頁(共95頁)

K軟件工程》教案-本科

3.編制需求分析文檔:《需求規(guī)格說明書》

1)任務(wù)概述:系統(tǒng)目標,運行環(huán)境,條件與限制

2)數(shù)據(jù)描述:

■概念模型:E-R圖

■邏輯模型:數(shù)據(jù)流圖

■數(shù)據(jù)定義:數(shù)據(jù)字典,加工說明

■數(shù)據(jù)庫描述:名稱和類型

3)功能描述:軟件功能要求

4)性能描述:軟件性能要求(處理速度、響應時間、安全限制等)。

5)運行描述:用戶界面、硬件接口、軟件接口、故障處理等。

6)質(zhì)量保證:闡明軟件在交付使用前需要進行的功能測試和性能測

試,并且規(guī)定源程序和文檔遵守的各種標準。

4.技術(shù)審查和管理復審。

三.需求分析的原則:

1.必須能夠表達和理解問題的數(shù)據(jù)域和功能域

1)數(shù)據(jù)域:數(shù)據(jù)流,數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)。

2)功能域:加工變換。

2.必須按自頂向下,逐層分解的方式對問題進行分解和不斷細化。

3.要給出系統(tǒng)的邏輯視圖和物理視圖。

1)邏輯視圖:給出軟件要達到的功能和要處理的數(shù)據(jù)之間的關(guān)系。

2)物理視圖:給出處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表示形式。

四.需求分析的方法:

1.需求分析方法:

是由對軟件的數(shù)據(jù)域和功能域的系統(tǒng)分析過程及其表示方法組成。

包括:面向數(shù)據(jù)流,面向數(shù)據(jù)結(jié)構(gòu)。

2.不同的需求分析方法具有的共性:

1)支持數(shù)據(jù)域分析的機制:

所有方法都直接或間接地涉及到數(shù)據(jù)流,數(shù)據(jù)內(nèi)容或數(shù)據(jù)結(jié)構(gòu)等

數(shù)據(jù)域的屬性。

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第23頁(共95頁)

K軟件工程》教案-本科

2)功能表示的方法:

一般用數(shù)據(jù)變換或加工來表示。

3)接口的定義:

是數(shù)據(jù)表示和功能表示的直接產(chǎn)物。(功能間的接口一數(shù)據(jù)流)

4)問題分解的機制以及對抽象的支持:

在不同抽象層次上表示數(shù)據(jù)域和功能域,以逐層細化的手段建立

分層結(jié)構(gòu)。

5)邏輯視圖和物理視圖:

6)系統(tǒng)抽象模型:

是對現(xiàn)實世界中存在的有關(guān)實體和活動的抽象和精化。

§3.2結(jié)構(gòu)化分析方法

結(jié)構(gòu)化分析方法:

是面向數(shù)據(jù)流進行需求分析的方法,是用抽象模型的概念,按

軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿

足功能要求的所有可實現(xiàn)的軟件為止。

數(shù)據(jù)流圖:

1.數(shù)據(jù)流圖(DFD):

是軟件系統(tǒng)邏輯模型的一種圖形表示,是從數(shù)據(jù)傳遞和加工的

角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程的工

具。

2.組成符號:(書:P24)

1)基本符號:(如表3.1)

符號說明

數(shù)據(jù)的源點/終點

變換數(shù)據(jù)的處理

□O

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第24頁(共95頁)

K軟件工程》教案-本科

—數(shù)據(jù)存儲

------------------------------?數(shù)據(jù)流

表3.1

2)附加符號:(如表3.2)

符號說明

7數(shù)據(jù)A和數(shù)據(jù)B同時輸入才能變換成數(shù)據(jù)C

0

數(shù)據(jù)變換成和

A廠產(chǎn)ABC

7數(shù)據(jù)A或B,或A和B同時輸入變換成C

y-

T

r

數(shù)據(jù)A變換成B或C,或B和C

T

只有數(shù)據(jù)A或只有數(shù)據(jù)B(但不能A、B同時)

k

輸入時變換成c

0T

r

數(shù)據(jù)A變換成B或C,但不能變換成B和C

—T

表3.2

3.性質(zhì):

1)數(shù)據(jù)流圖中的箭頭僅能表示在系統(tǒng)中流動的數(shù)據(jù),而不是物質(zhì)流

2)數(shù)據(jù)流圖與程序流程圖不同,它不能表示程序的控制結(jié)構(gòu)。(如:

選擇或循環(huán))

3)數(shù)據(jù)流圖表現(xiàn)的范圍具有很大的靈活性,可以畫分層DFD

4.分層DFD:由頂向下,逐層分解,逐步細化。

1)優(yōu)點:

杭州電子工業(yè)學院軟件學院計算機軟件教研室一穆海倫第25頁(共95頁)

K軟件工程》教案-本科

■便于實現(xiàn):逐層細化,有利于控制問題的復雜度。

■便于使用:使用戶中的不同業(yè)務(wù)人員只選擇與自身有關(guān)的圖

形,不必閱讀全圖。

2)畫分層DFD的指導原則:

■第一層DFD應當是基本系統(tǒng)模型

■注意父圖和子圖的平衡,維護信息的連續(xù)性

■區(qū)分局部文件和局部外部項

■掌握分解的速度,上快下慢

■遵守加工編號原則

5.舉例:(書:P25-27)

三.數(shù)據(jù)字典:

1.數(shù)據(jù)字典:

是關(guān)于數(shù)據(jù)的信息的集合,是對DFD中的所有元素定義的集合。

2.組成符號:(如表3.3)

符號含義說明

=被定義為

+與例:x=a+b,表示x由a和b組成

[???,???]或[???1???]或例:x=[a,b],x=[a|b],表示x由a

或由b組成

{…}重.復例:x={a},表示x由0個或多個a

組成

m{…}n重復例:x=3{a}8,表示x中至少出現(xiàn)3

次a,至多出現(xiàn)8次a

(…)可選例:x=(a),表示a可在x中出現(xiàn),

也可以不出現(xiàn)

基本數(shù)據(jù)元素例:x="a”,表示X為取值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論