軟件工程講義-陸麗娜自考_第1頁
軟件工程講義-陸麗娜自考_第2頁
軟件工程講義-陸麗娜自考_第3頁
軟件工程講義-陸麗娜自考_第4頁
軟件工程講義-陸麗娜自考_第5頁
已閱讀5頁,還剩193頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

/bbb://student.zjzkbbb/course_ware/software/bbb://student.zjzkbbb/course_ware/software/index.htm課程介紹我們現(xiàn)在看到的這個(gè)《軟件工程》多媒體的網(wǎng)絡(luò)課件,是遵照全國(guó)高等教育自學(xué)考試委員會(huì)電子電工與信息類專業(yè)委員會(huì)審定的《軟件工程自學(xué)考試大綱》要求而設(shè)計(jì)的。自考的學(xué)生們經(jīng)過了基礎(chǔ)課和專業(yè)基礎(chǔ)的學(xué)習(xí),進(jìn)入了專業(yè)課程的階段,《軟件工程》作為一門實(shí)踐性很強(qiáng)的專業(yè)課,對(duì)于缺乏編程經(jīng)驗(yàn)的學(xué)生來說,在學(xué)習(xí)中會(huì)遇到一定的困難,為了幫助自學(xué)考試考生學(xué)好《軟件工程》,我們總結(jié)教學(xué)實(shí)踐經(jīng)驗(yàn),收集整理有關(guān)的自考指導(dǎo)用書,按照大綱和題型要求整理了這個(gè)網(wǎng)絡(luò)課件,力求把枯燥深?yuàn)W的理論知識(shí),通過具體的實(shí)例來剖析,幫助學(xué)生理解,同時(shí)加入了模擬試卷的內(nèi)容,力爭(zhēng)能為同學(xué)們通過考試提供練習(xí)的機(jī)會(huì)。網(wǎng)絡(luò)課件以考試大綱為主線,以陸麗娜主編、經(jīng)濟(jì)科學(xué)出版社出版的教材為根本。其內(nèi)容分為:課程學(xué)習(xí)、仿真試題、實(shí)驗(yàn)指導(dǎo)、模擬試卷等八個(gè)欄目。課程學(xué)習(xí)第1章緒論1.1軟件工程的產(chǎn)生

1.1.1軟件的特點(diǎn)

“軟件”一詞是20世紀(jì)60年代才出現(xiàn)的,它是指:計(jì)算機(jī)程序及其說明程序的各種文檔。軟件與硬件一起構(gòu)成完整的計(jì)算機(jī)系統(tǒng),它們是相互依存,缺一不可的。軟件是一種特殊的產(chǎn)品,它具有以下獨(dú)特的特性。

(1)軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大的區(qū)別。軟件產(chǎn)品是看不見摸不著的,因而具有無形性,它是腦力勞動(dòng)的結(jié)晶,它以程序和文檔的形式出現(xiàn),保存在計(jì)算機(jī)存儲(chǔ)器和光盤介質(zhì)上,通過計(jì)算機(jī)的執(zhí)行才能體現(xiàn)它的功能和作用。

(2)軟件產(chǎn)品的生產(chǎn)主要是研制,軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。

(3)軟件產(chǎn)品不存在磨損、消耗問題。

(4)軟件產(chǎn)品生產(chǎn)的成本主要是腦力勞動(dòng),還未完全擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”的。

(5)軟件費(fèi)用不斷增加,軟件成本相當(dāng)昂貴。軟件的研制工作需要投入大量的、復(fù)雜的、高強(qiáng)度的腦力勞動(dòng),它的成本非常高。

1.1.2軟件生產(chǎn)的發(fā)展

自從第一臺(tái)計(jì)算機(jī)誕生以后,就開始了軟件的生產(chǎn),到現(xiàn)在為止,經(jīng)過了三個(gè)階段。即程序設(shè)計(jì)時(shí)代,程序系統(tǒng)時(shí)代,軟件工程時(shí)代。

1.程序設(shè)計(jì)時(shí)代(1964年~1956年)

這個(gè)階段的生產(chǎn)方式是個(gè)體手工勞動(dòng),使用的工具是機(jī)器語言,匯編語言。

2.程序系統(tǒng)時(shí)代(1956年~1968年)

這階段的生產(chǎn)方式是作坊的小集團(tuán)合作生產(chǎn),生產(chǎn)工具是高級(jí)語言,開發(fā)方法仍舊靠個(gè)人技巧,但開始提出結(jié)構(gòu)化方法。

3.軟件工程時(shí)代(1968年至現(xiàn)在)

這階段的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫(kù)、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。

1.1.3軟件危機(jī)

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

(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。

(2)軟件開發(fā)管理困難而復(fù)雜。

(3)軟件開發(fā)費(fèi)用不斷增加。

(4)軟件開發(fā)技術(shù)落后。

(5)生產(chǎn)方式落后。

(6)開發(fā)工具落后,生產(chǎn)提高緩慢。

1.1.4軟件工程

1.軟件工程定義

軟件工程有多種定義,其中一種是:用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。

2.軟件工程性質(zhì)

軟件工程是一門綜合性的交叉學(xué)科,它涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域。

3.軟件工程目標(biāo)

(1)付出較低的開發(fā)成本;(2)達(dá)到要求的軟件功能;(3)取得較好的軟件性能;(4)開發(fā)的軟件易于移植;(5)需要較低的維護(hù)費(fèi)用;(6)能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;(7)開發(fā)的軟件可靠性高。

4.軟件工程內(nèi)容

軟件工程研究的主要內(nèi)容是軟件開發(fā)技術(shù)和軟件管理兩方面。在軟件開發(fā)技術(shù)中,主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,主要是研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué)等。

5.軟件工程面臨的問題

(1)軟件費(fèi)用

(2)軟件可靠性

(3)軟件維護(hù)

(4)軟件生產(chǎn)率

(5)軟件重用1.2軟件工程和軟件生存周期

1.2.1軟件工程過程

軟件工程過程包含如下七個(gè)過程

(1)獲取過程。

(2)供應(yīng)過程。

(3)開發(fā)過程。

(4)操作過程。

(5)維護(hù)過程。

(6)管理過程。

(7)支持過程。

1.2.2軟件生存周期

軟件生存周期是指一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。

通常,軟件生存周期包括可行性分析和項(xiàng)目開發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、維護(hù)等活動(dòng),可以將這些活動(dòng)以適當(dāng)方式分配到不同階段去完成。

1.可行性分析和項(xiàng)目開發(fā)計(jì)劃

明確“要解決的問題是什么?”,“解決的問題的辦法和費(fèi)用”,“解決的問題所需的資源和時(shí)間”。要回答這些問題,就要進(jìn)行問題定義、可行性分析,制定項(xiàng)目開發(fā)計(jì)劃。

2.需求分析

需求分析階段的任務(wù)是準(zhǔn)確地確定軟件系統(tǒng)必須做什么,確定軟件系統(tǒng)具備哪些功能。寫出軟件需求規(guī)格說明書。

3.概要設(shè)計(jì)

概要設(shè)計(jì)的任務(wù)是把軟件需求規(guī)格說明書中確定的各項(xiàng)功能轉(zhuǎn)換成需要的體系結(jié)構(gòu)。

4.詳細(xì)設(shè)計(jì)

詳細(xì)設(shè)計(jì)階段就是為每個(gè)模塊完成的功能進(jìn)行具體描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過程描述。

5.編碼

編碼階段就是把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼。

6.測(cè)試

測(cè)試是保證軟件質(zhì)量的重要手段,其主要方式是在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。測(cè)試分為單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試。

7.維護(hù)軟件維護(hù)是軟件生存周期中時(shí)間最長(zhǎng)的階段。已交付的軟件投入正式使用后,便進(jìn)入軟件維護(hù)階段,它可以持續(xù)幾年甚至幾十年。1.3軟件生存周期模型,方法和工具

1.3.1軟件生存周期模型

軟件生存周期模型是描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。

目前有若干種軟件生存周期模型。例如:瀑布模型、增量模型、螺旋模型、噴泉模型、變換模型和基于知識(shí)的模型。

1.瀑布模型

瀑布模型是將軟件生存周期各個(gè)活動(dòng)規(guī)定為自上向下,按照線性順序連接的若干階段的模型。該模型支持結(jié)構(gòu)化的設(shè)計(jì)方法,但它是一種理想的線性開發(fā)模式,缺乏靈活性,無法解決軟件需求不明確或不準(zhǔn)確的問題。

2.增量模型

增量模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)出來的。該模型有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。

3.螺旋模型

螺旋模型是一種風(fēng)險(xiǎn)驅(qū)動(dòng)的模型。螺旋模型適合于大型軟件的開發(fā),它吸收了軟件工程“演化”的概念,包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)及用戶評(píng)估四個(gè)階段,螺旋模型由上述四個(gè)階段組成的迭代模型,迭代的結(jié)果必須盡快收斂到客戶允許的或可接受的目標(biāo)范圍內(nèi)。

4.噴泉模型

噴泉模型是一種以用戶需求為動(dòng)力,以對(duì)象作為驅(qū)動(dòng)的模型,適合于面向?qū)ο蟮拈_發(fā)方法。

5.基于知識(shí)的模型

基于知識(shí)的模型又稱智能模型,它把瀑布模型和專家系統(tǒng)結(jié)合在一起。該模型在開發(fā)的各個(gè)階段都利用相應(yīng)的專家系統(tǒng)來幫助軟件人員完成開發(fā)工作,使維護(hù)在系統(tǒng)需求說明階段開始。該模型還處于研究實(shí)驗(yàn)階段,還未達(dá)到實(shí)用階段。

6.變換模型

這是一種適合于形式化開發(fā)方法的模型。從軟件需求形式化說明開始,經(jīng)過一系列變換,最終得到系統(tǒng)的目標(biāo)程序。

1.3.2軟件開發(fā)方法

軟件開發(fā)方法是一種使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來組織軟件生產(chǎn)的過程。軟件開發(fā)的目標(biāo)是在規(guī)定的投資和時(shí)間內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。為了達(dá)到此目的,需要成功的開發(fā)方法。下面介紹幾種常用的軟件開發(fā)方法。

1.結(jié)構(gòu)化方法

結(jié)構(gòu)化方法由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)成。它是一種面向數(shù)據(jù)流的開發(fā)方法。該方法采用自頂向下、逐步求精的指導(dǎo)思想,應(yīng)用較廣,技術(shù)成熟。

結(jié)構(gòu)化分析是根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)流圖來建立系統(tǒng)的功能模型,從而完成需求分析工作。

結(jié)構(gòu)化設(shè)計(jì)是根據(jù)模塊獨(dú)立性準(zhǔn)則、軟件結(jié)構(gòu)準(zhǔn)則將數(shù)據(jù)流圖轉(zhuǎn)換為軟件的體系結(jié)構(gòu),用軟件結(jié)構(gòu)圖來建立系統(tǒng)的物理模型,實(shí)現(xiàn)系統(tǒng)的概要設(shè)計(jì)。

結(jié)構(gòu)程序設(shè)計(jì)是根據(jù)結(jié)構(gòu)程序設(shè)計(jì)原理,將每個(gè)模塊的功能用相應(yīng)的標(biāo)準(zhǔn)控制結(jié)構(gòu)表示出來,從面實(shí)現(xiàn)詳細(xì)設(shè)計(jì)。

結(jié)構(gòu)化方法不適應(yīng)規(guī)模大的項(xiàng)目,對(duì)于特別復(fù)雜的項(xiàng)目,該方法難于解決軟件重用問題,難于適應(yīng)需求變化的問題,難于徹底解決維護(hù)問題。

2.Jackson方法

這是一種面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法。JSP方法是以數(shù)據(jù)結(jié)構(gòu)為驅(qū)動(dòng)的,適合于小規(guī)模的項(xiàng)目。

3.維也納開發(fā)方法(VDM)

這是一種形式化的開發(fā)方法,軟件的需求用嚴(yán)格的形式語言描述,然后把描述模型逐步變換成目標(biāo)系統(tǒng)。

4.面向?qū)ο蟮拈_發(fā)方法

面向?qū)ο蟮拈_發(fā)方法完全不同于傳統(tǒng)開發(fā)方法,它是90年代的主流開發(fā)方法。

面向?qū)ο箝_發(fā)方法包括面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)。面向?qū)ο箝_發(fā)方法有Booch方法、Coad方法和OMT方法等。為了統(tǒng)一各種面向?qū)ο蠓椒ǖ男g(shù)語、概念和模型,1997年推出了統(tǒng)一建模語言,即UML(UnifiedModelingLanguage)語言。它是面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言,通過統(tǒng)一的語義和符號(hào)表示,使各種方法的建模過程和表示統(tǒng)一起來,將成為面向?qū)ο蠼5墓I(yè)標(biāo)準(zhǔn)。

1.3.3軟件開發(fā)工具

1.軟件工具的重要性

軟件工具一般使指為了支持軟件人員開發(fā)和維護(hù)活動(dòng)而使用的軟件。

2.工具箱

最初的軟件工具是以工具箱的形式出現(xiàn)的,一種工具支持一種開發(fā)活動(dòng),然后將各種工具簡(jiǎn)單具有結(jié)合起來就構(gòu)成工具箱。

3.軟件開發(fā)環(huán)境

由于工具箱存在的問題,人們?cè)诠ぞ呦到y(tǒng)的整體化及集成化方面開展一系列研究工作,使之形成完整的軟件環(huán)境。

4.計(jì)算機(jī)輔助軟件工程

計(jì)算機(jī)輔助軟件工程可以簡(jiǎn)單地定義為軟件開發(fā)地自動(dòng)化,通常簡(jiǎn)稱為CASE(ComputerAidedSoftwareEngineering)。第1章例題分析與解答bbb://student.zjzkbbb/course_ware/software/test/show.asp?filename=1.txt&fname=第1章#一、填空題

1.軟件與物質(zhì)產(chǎn)品有很大的區(qū)別,軟件是一種_______產(chǎn)品。

[答案]

2.軟件工程是一門綜合性交叉學(xué)科,計(jì)算機(jī)科學(xué)著重于理論和原理,軟件工程著重于_______。

[答案]

3.概要設(shè)計(jì)主要是把各項(xiàng)功能需求轉(zhuǎn)換成系統(tǒng)的________。

[答案]

4.最基本、應(yīng)用廣泛、以文檔為驅(qū)動(dòng)、適用于開發(fā)功能明確的軟件項(xiàng)目生存期模型是_______。

[答案]

5.簡(jiǎn)單實(shí)用、應(yīng)用廣泛、技術(shù)成熟的開發(fā)方法是________。

[答案]

二、選擇題

1.同一軟件的大量軟件產(chǎn)品的生產(chǎn)主要是通過(

)而得到。

A.研究

B.復(fù)制

C.開發(fā)

D.研制

[答案]

2.作坊式小團(tuán)體合作生產(chǎn)方式的時(shí)代是(

)時(shí)代。

A.程序設(shè)計(jì)

B.軟件生產(chǎn)自動(dòng)化C.程序系統(tǒng)

D.軟件工程

[答案]

3.軟件工程與計(jì)算機(jī)科學(xué)性質(zhì)不同,軟件工程著重于(

)。

A.理論研究

B.原理探討

C.建造軟件系統(tǒng)D.原理的理論

[答案]

4.將每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼是(

)階段的任務(wù)。

A.編碼

B.需求分析

C.詳細(xì)設(shè)計(jì)

D.測(cè)試

[答案]

5.軟件生存周期中時(shí)間最長(zhǎng)的是(

)階段。

A.需求分析

B.概要設(shè)計(jì)

C.測(cè)試

D.維護(hù)

[答案]第1章自測(cè)題及參考答案一、名稱解釋

1.軟件

2.文檔

3.軟件工程

4.軟件生存周期5.軟件工程過程6.軟件生存周期模型

7.軟件開發(fā)方法8.軟件工具

二、填空題

1.構(gòu)成一個(gè)完整計(jì)算機(jī)系統(tǒng)的兩部分是硬件與________。

2.程序設(shè)計(jì)時(shí)代的生產(chǎn)方式是________。

3.軟件工程涉及到幾個(gè)學(xué)科,它是一門_____學(xué)科。

4.軟件開發(fā)劃分的各階段任務(wù)盡可能獨(dú)立,同一階段任務(wù)性質(zhì)盡可能________。

5.將軟件生存周期各個(gè)活動(dòng)規(guī)定為依線性順序聯(lián)接的若干階段的模型是________模型。

6.噴泉模型是一種以用戶需求為動(dòng)力,以_______為驅(qū)動(dòng)的模型。

7.結(jié)構(gòu)化方法是一種面向數(shù)據(jù)流的開發(fā)方法。由結(jié)構(gòu)化分析、_______、結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)成。

8.軟件工程研究的主要內(nèi)容是軟件開發(fā)管理和_______兩個(gè)方面。

9.軟件工具是支持軟件開發(fā)人員的開發(fā)和維護(hù)活動(dòng)而使用的________。

10.一個(gè)軟件項(xiàng)目的開發(fā)中,要采用一種生存周期模型,要按照某種________,使用相應(yīng)的工具來進(jìn)行。

三、選擇題

1.軟件是一種(

)產(chǎn)品。

A.物質(zhì)

B.邏輯

C.有形

D.消耗

2.軟件產(chǎn)品的開發(fā)主要是(

)。

A.復(fù)制

B.再生產(chǎn)

C.拷貝

D.研制

3.個(gè)體手工勞動(dòng)生產(chǎn)方式的時(shí)代是(

)。

A.程序設(shè)計(jì)B.軟件生產(chǎn)自動(dòng)化C.程序系統(tǒng)D.軟件工程

4.與計(jì)算機(jī)科學(xué)的理論研究不同,軟件工程是一門(

)學(xué)科。

A.理論性

B.原理性

C.工程性

D.心理性

5.軟件重用的單位是(

)。

A.軟件模塊B.性能

C.系統(tǒng)

D.功能

6.軟件開發(fā)費(fèi)用只占整個(gè)軟件系統(tǒng)費(fèi)用的(

)。

A.1/2

B.1/3

C.1/4

D.2/3

7.軟件開發(fā)中大約要付出(

)%的工作量進(jìn)行測(cè)試和排錯(cuò)。

A.20

B.30

C.40

D.50

8.準(zhǔn)確地解決“軟件系統(tǒng)必須做什么”是(

)階段的任務(wù)。

A.可行性研究B.需求分析

C.詳細(xì)設(shè)計(jì)

D.編碼

9.軟件生存周期中最長(zhǎng)的是(

)階段。

A.需求分析B.概要設(shè)計(jì)

C.測(cè)試

D.維護(hù)

四、簡(jiǎn)答題

1.軟件產(chǎn)品的特性是什么?

2.軟件生產(chǎn)有幾個(gè)階段?各有何特征?

3.什么是軟件危機(jī)?產(chǎn)生的原因是什么?

4.軟件工程的性質(zhì)、目標(biāo)和內(nèi)容是什么?

5.軟件工程面臨的問題是什么?

6.軟件工程過程有哪些過程?

7.軟件生存周期有哪幾個(gè)階段?

8.軟件生存周期模型有哪些主要模型?

9.有哪些主要軟件開發(fā)方法?

參考答案

二填空題

1.軟件

2.個(gè)體手工勞動(dòng)3.綜合性交叉

4.相同5.瀑布

6.對(duì)象7.結(jié)構(gòu)化設(shè)計(jì)

8.軟件開發(fā)技術(shù)9.軟件

10.開發(fā)方法

三、選擇題

1.B

2.D

3.A

4.C5.A

6.B

7.C

8.B

9.D第2章軟件可行性研究2.1可行性研究

在進(jìn)行任何一項(xiàng)較大的工程時(shí),首先都要進(jìn)行可行性分析和研究。目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。

2.1.1可行性研究的任務(wù)

1.技術(shù)可行性

對(duì)要開發(fā)的項(xiàng)目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險(xiǎn)有多大,項(xiàng)目是否能實(shí)現(xiàn)。

技術(shù)可行性是最難解決的,它一般要包括:

(1)開發(fā)的風(fēng)險(xiǎn):在給出的限制范圍內(nèi),能否設(shè)計(jì)出系統(tǒng)并實(shí)現(xiàn)必須的功能和性能。

(2)資源的有效性:人力資源以及用于建立系統(tǒng)的其他資源是否具備。

(3)技術(shù):目前的技術(shù)水平能否支持這個(gè)系統(tǒng)。

(4)開發(fā)人員在評(píng)估技術(shù)可行性時(shí),一旦估計(jì)錯(cuò)誤,將會(huì)出現(xiàn)災(zāi)難性后果。

2.經(jīng)濟(jì)可行性

進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。

3.社會(huì)可行性

要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。

2.1.2可行性研究的具體步驟

典型性的可行性研究有下列步驟:

1.確定項(xiàng)目規(guī)模和目標(biāo)

分析員對(duì)有關(guān)人員進(jìn)行調(diào)查訪問,仔細(xì)閱讀和分析有關(guān)的材料,對(duì)項(xiàng)目的規(guī)模和目標(biāo)進(jìn)行定義和確認(rèn),清晰地描述項(xiàng)目的一切限制和約束,確保分析員正在解決的問題確實(shí)是要解決的問題。

2.研究正在運(yùn)行的系統(tǒng)

收集、研究、分析現(xiàn)有系統(tǒng)的文檔資料,實(shí)地考察現(xiàn)有系統(tǒng),在考察的基礎(chǔ)上,訪問有關(guān)人員,然后描述現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。這個(gè)系統(tǒng)流程圖反映了現(xiàn)有系統(tǒng)的基本功能和處理流程。

3.建立新系統(tǒng)的高層邏輯模型

根據(jù)對(duì)現(xiàn)有系統(tǒng)的分析研究,逐步明確了新系統(tǒng)的功能、處理流程以及所受的約束,然后使用建立邏輯模型的工具——數(shù)據(jù)流圖和數(shù)據(jù)字典來描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理情況?,F(xiàn)在還不是軟件需求分析階段,不是完整、詳細(xì)地描述,只是概括地描述高層的數(shù)據(jù)處理和流動(dòng)。

4.導(dǎo)出和評(píng)價(jià)各種方案

分析員建立了新系統(tǒng)的高層邏輯模型之后,要從技術(shù)角度出發(fā),提出實(shí)現(xiàn)高層邏輯模型的不同方案,即導(dǎo)出若干較高層次的物理解法。根據(jù)技術(shù)可靠性、經(jīng)濟(jì)可行性、社會(huì)可行性對(duì)各種方案進(jìn)行評(píng)估,去掉行不通的解法,就得到了可行的解法。

5.推薦可行的方案

根據(jù)上述可行性研究的結(jié)果,應(yīng)該決定該項(xiàng)目是否值得去開發(fā)。若值得開發(fā),那么可行的解決方案是什么,并且說明該方案可行的原因和理由。要求分析員對(duì)推薦的可行方案進(jìn)行成本——效益分析。

6.編寫可行性研究報(bào)告

將上述可行性研究過程的結(jié)果寫成相應(yīng)的文檔,即可行性研究報(bào)告,提醒用戶和使用部門仔細(xì)審查,從而決定該項(xiàng)目是否進(jìn)行開發(fā),是否接受可行的實(shí)現(xiàn)方案。2.2系統(tǒng)流程圖

1.系統(tǒng)流程圖的作用

系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,它用圖形符號(hào)來表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)、文件、設(shè)備等。它表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動(dòng)的情況。

2.系統(tǒng)流程圖的符號(hào)

系統(tǒng)流程圖的符號(hào)如表2-1所示。

表2-1符號(hào)名稱說明處理能改變數(shù)據(jù)值或數(shù)據(jù)位置的加工或部件,例如,程序模塊、處理機(jī)等都是處理。輸入/輸出指出輸入或輸出(或既輸入又輸出),是一個(gè)廣義的不指明具體設(shè)備的符號(hào)連接指出轉(zhuǎn)到圖的另一部分或從圖的另一部分轉(zhuǎn)來,通常在同一頁上。換頁連接指出轉(zhuǎn)到另一頁或由另一頁圖轉(zhuǎn)來。數(shù)據(jù)流用來連接其他符號(hào),指明數(shù)據(jù)流動(dòng)方向。文檔通常表示打印輸出,也可表示用打印終端輸入數(shù)據(jù)聯(lián)機(jī)存儲(chǔ)表示任何種類的聯(lián)機(jī)存儲(chǔ),包括磁盤、軟盤和海量存儲(chǔ)器件等磁盤磁盤輸入/輸出,也可表示存儲(chǔ)在磁盤上的文件或數(shù)據(jù)庫(kù)顯示CRT終端或類似的顯示部件,可用于輸入或輸出,也可既輸入又輸出。人工輸入人工輸入數(shù)據(jù)的脫機(jī)處理,例如,填寫表格。人工操作人工完成的處理,例如,會(huì)計(jì)在工資支票上簽名輔助操作使用設(shè)備進(jìn)行的脫機(jī)工作通信鏈路通過遠(yuǎn)程通信線路或鏈路傳送數(shù)據(jù)

3.系統(tǒng)流程圖的例子

下面以某工廠的庫(kù)房管理為例,說明系統(tǒng)流程圖的使用。

2.3成本——效益分析

成本——效益分析的目的是從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。成本——效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡。效益分有形效益和無形效益兩種。有形效益可以用貨幣的時(shí)間價(jià)值、投資回收期、純收入等指標(biāo)進(jìn)行度量;無形效益主要從性質(zhì)上、心理上進(jìn)行衡量,很難直接進(jìn)行量的比較。

下面主要介紹有形效益的分析:

1.貨幣的時(shí)間價(jià)值

項(xiàng)目開發(fā)后,應(yīng)取得相應(yīng)得效益,有多少效益才合算?這就要考慮貨幣的時(shí)間價(jià)值。通常用利率表示貨幣的時(shí)間價(jià)值。

設(shè)年利率為i,現(xiàn)存入P元,n年后可得錢數(shù)為F,若不計(jì)復(fù)利則

F=P×(1+n×i)

F就是P元在n年后得價(jià)值。反之,若n年能收入F元,那么這些錢現(xiàn)在得價(jià)值是:

P=F/(1+n×i)

2.投資回收期

通常用投資回收期衡量一個(gè)開發(fā)項(xiàng)目的價(jià)值。投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。投資回收期越短,就越快獲得利潤(rùn),則該項(xiàng)目就越值得開發(fā)。

3.純收入

衡量項(xiàng)目?jī)r(jià)值的另一個(gè)經(jīng)濟(jì)指標(biāo)是項(xiàng)目的純收入,也就是在整個(gè)生存周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。若某項(xiàng)目的純收入小于零,則該項(xiàng)目是不值得投資的。第2章例題分析與解答bbb://student.zjzkbbb/course_ware/software/test/show.asp?filename=2.txt&fname=第2章一、填空題

1.可行性研究實(shí)質(zhì)上是進(jìn)行一次簡(jiǎn)化、壓縮了的________。

[答案]

2.可行性研究的三個(gè)方面是技術(shù)可行性、社會(huì)可行性和_________。

[答案]

3.可行性研究的第一個(gè)具體步驟是__________。

[答案]

4.若年利率為i,不計(jì)復(fù)利,P元在n年后的價(jià)值F是_________。

[答案]

5.可行性研究中描述系統(tǒng)高層物理模型的工具是_______。

[答案]

二、選擇題

1.可行性研究的目的是決定(

)。

A.開發(fā)項(xiàng)目

B.項(xiàng)目值得開發(fā)否

C.規(guī)劃項(xiàng)目

D.維護(hù)項(xiàng)目

[答案]

2.技術(shù)可行性要研究的問題之一是(

)。

A.存在侵權(quán)否B.成本效益問題C.運(yùn)行方式可行否D.技術(shù)風(fēng)險(xiǎn)問題

[答案]

3.純收入是累計(jì)效益現(xiàn)在值與投資之(

)。

A.和

B.差

C.積

D.商

[答案]

4.項(xiàng)目開發(fā)計(jì)劃這類文檔是一種(

)。

A.技術(shù)性文檔

B.管理性文檔

C.需求分析文檔D.設(shè)計(jì)文檔

[答案]

第2章自測(cè)題及參考答案一、名稱解釋

1.可行性研究

2.技術(shù)可行性

3.經(jīng)濟(jì)可行性

4.社會(huì)可行性

5.貨幣時(shí)間價(jià)值6.投資回收期

7.純收入

8.系統(tǒng)流程圖

二、填空題

1.可行性研究的目的是用最小的代價(jià),在盡可能短的時(shí)間內(nèi),確定________。

2.可行性研究在進(jìn)行簡(jiǎn)要需求分析和設(shè)計(jì)時(shí),要在高層次上以__________進(jìn)行。

3.系統(tǒng)流程圖用圖形符號(hào)表示系統(tǒng)中各個(gè)元素,表達(dá)了系統(tǒng)中各個(gè)元素之間的_________。

4.軟件工程有兩種效益,它們是無形效益和________。

5.若年利率為i,不計(jì)復(fù)利,n年后能收入F元的現(xiàn)在價(jià)值P=________。

6.純收入是軟件生存周期內(nèi)兩項(xiàng)值之差,這兩項(xiàng)是_________。

7.項(xiàng)目開發(fā)計(jì)劃是一種_________文檔。

8.可行性研究具體步驟的最后一步是________。

三、選擇題

1.研究硬軟件資源的有效性是進(jìn)行(

)研究的一方面。

A.技術(shù)可行性

B.經(jīng)濟(jì)可行性

C.社會(huì)可行性

D.操作可行性

2.可行性研究要進(jìn)行的需求分析和設(shè)計(jì)應(yīng)是(

)。

A.詳細(xì)的

B.全面的

C.簡(jiǎn)化、壓縮的

D.徹底的

3.可行性分析中,系統(tǒng)流程圖用于描述(

)。

A.當(dāng)前運(yùn)行系統(tǒng)

B.當(dāng)前邏輯模型

C.目標(biāo)系統(tǒng)

D.新系統(tǒng)

4.系統(tǒng)流程圖是一種工具,它用于描述(

)。

A.邏輯系統(tǒng)

B.程序系統(tǒng)

C.體系結(jié)構(gòu)

D.物理系統(tǒng)

5.年利率為i,現(xiàn)存入P元不計(jì)復(fù)利,n年后本金利息為(

)。

A.P×(1+i)n

B.P×(1-i×n)

C.P×(1+i×n)

D.P×(1+i)×n

四、簡(jiǎn)答題

1.可行性研究的任務(wù)是什么?

2.可行性研究有哪些步驟?

3.可行性研究的目的。

4.可行性研究報(bào)告的主要內(nèi)容。

5.怎樣計(jì)算投資回收期和純收入?

6.項(xiàng)目開發(fā)計(jì)劃有哪些主要內(nèi)容。

參考答案

二、填空題

1.項(xiàng)目值得開發(fā)否

2.較抽象形式3.信息流動(dòng)

4.有形效益

5.F/(1+n×i)

6.經(jīng)濟(jì)效益與投資7.管理性

8.編寫可行性報(bào)告。

三、選擇題

1.A

2.C

3.A

4.D

5.C第3章軟件需求分析3.1需求分析的任務(wù)

3.1.1需求分析的概念

開發(fā)人員要準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)化到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。需求分析雖處于軟件開發(fā)過程的初期階段,但它對(duì)于整個(gè)軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。隨著軟件系統(tǒng)復(fù)雜性的提高及規(guī)模的擴(kuò)大,需求分析在軟件開發(fā)中的所處的地位愈加突出,從而也愈加困難。

1.需求分析的難點(diǎn)

(1)問題的復(fù)雜性。用戶需求所涉及的因素很多,如系統(tǒng)功能和運(yùn)行環(huán)境。

(2)交流障礙。需求分析涉及人員較多,分別具備不同的背景知識(shí),處于不同的出發(fā)點(diǎn),造成了相互之間交流的困難。

(3)不完備性和不一致性。用戶對(duì)問題的陳述往往是不完備的,其各方面的需求還可能存在著矛盾,需求分析要消除其矛盾,形成完備及一致的定義。

(4)需求易變性。用戶需求的變動(dòng)往往會(huì)影響到需求分析,導(dǎo)致系統(tǒng)的不一致性和不完備性。

2.需求分析的基本原則

(1)必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域。數(shù)據(jù)域包括數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu),而功能域反映數(shù)據(jù)域三方面的控制信息。

(2)可以把一個(gè)復(fù)雜問題按功能進(jìn)行分解并可逐層細(xì)化。

(3)建模。建立模型可以幫助分析人員更好地理解軟件系統(tǒng)的信息、功能、行為,這些模型也是軟件設(shè)計(jì)的基礎(chǔ)。

3.1.2需求分析的基本任務(wù)

1.問題識(shí)別

(1)功能需求:明確所開發(fā)的軟件必須具備什么樣的功能。

(2)性能需求:明確待開發(fā)的軟件的技術(shù)性能指標(biāo)。

(3)環(huán)境需求:明確軟件運(yùn)行時(shí)所需要的軟、硬件的要求。

(4)用戶界面需求:明確人機(jī)交互方式、輸入輸出數(shù)據(jù)格式。

2.分析與綜合,導(dǎo)出軟件的邏輯模型

分析人員對(duì)獲取的需求,進(jìn)行一致性的分析檢查,在分析、綜合中逐步細(xì)化軟件功能,劃分成各個(gè)子功能。用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。

3.編寫文檔

(1)編寫“需求規(guī)格說明書”,把雙方共同的理解與分析結(jié)果用規(guī)范的方式描述出來,作為今后各項(xiàng)工作的基礎(chǔ)。

(2)編寫初步用戶使用手冊(cè),著重反映被開發(fā)軟件的用戶功能界面和用戶使用的具體要求,用戶手冊(cè)能強(qiáng)制分析人員從用戶使用的觀點(diǎn)考慮軟件。

(3)編寫確認(rèn)測(cè)試計(jì)劃,作為今后確認(rèn)和驗(yàn)收的依據(jù)。

(4)修改完善軟件開發(fā)計(jì)劃。在需求分析階段對(duì)待開發(fā)的系統(tǒng)有了更進(jìn)一步的了解,所以能更準(zhǔn)確地估計(jì)開發(fā)成本、進(jìn)度及資源要求,因此對(duì)原計(jì)劃要進(jìn)行適當(dāng)修正。3.2結(jié)構(gòu)化分析方法

結(jié)構(gòu)化分析(StructuredAnalysis,簡(jiǎn)稱SA),是面向數(shù)據(jù)流進(jìn)行需求分析的方法。SA也是一種建模活動(dòng),該方法使用簡(jiǎn)單易讀符號(hào),根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型。

3.2.1自頂向下逐層分解的分析策略

面對(duì)一個(gè)復(fù)雜的問題,分析人員不可能一開始就考慮到問題的所有方面以及全部細(xì)節(jié),采用的策略往往是分解,把一個(gè)復(fù)雜的問題劃分成若干小問題,然后再分別解決,將問題的復(fù)雜性降低到人可以掌握的程度。

3.2.2描述工具

SA方法利用圖形等半形式化的描述方式表達(dá)需求,簡(jiǎn)明易懂,用它們形成需求說明書中的主要部分。描述工具是:

(1)數(shù)據(jù)流圖:描述系統(tǒng)由哪幾部分組成,各部分之間有什么了解等等。

(2)數(shù)據(jù)字典:定義了數(shù)據(jù)流圖中每一個(gè)圖形元素。

(3)描述加工邏輯的結(jié)構(gòu)化語言、判定表、判定樹:詳細(xì)描述數(shù)據(jù)流圖中不能被再分解的每一個(gè)加工。

3.2.3SA分析步驟

SA方法利用圖形等半形式化的描述方式表達(dá)需求,簡(jiǎn)明易懂,用它們形成需求說明書中的主要部分。描述工具是:

(1)了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。通過對(duì)當(dāng)前系統(tǒng)的詳細(xì)調(diào)查,了解當(dāng)前系統(tǒng)的工作過程,同時(shí)收集資料、文件、數(shù)據(jù)、報(bào)表等,將看到的、聽到的、收集到的信息和情況用圖形描述出來。也就是用一個(gè)模型來反映自己對(duì)當(dāng)前系統(tǒng)的理解,如畫系統(tǒng)流程圖。

(2)抽象出當(dāng)前系統(tǒng)的邏輯模型。物理模型反映了系統(tǒng)“怎么做”的具體實(shí)現(xiàn),去掉物理模型中非本質(zhì)的因素,抽取出本質(zhì)的因素,構(gòu)造出當(dāng)前系統(tǒng)的邏輯模型,反映了當(dāng)前系統(tǒng)“做什么”的功能。

(3)建立目標(biāo)系統(tǒng)的邏輯模型。分析、比較目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,明確目標(biāo)系統(tǒng)到底要“做什么”,從而從當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。

(4)作進(jìn)一步補(bǔ)充和優(yōu)化。為了對(duì)目標(biāo)系統(tǒng)做完整的描述,還需要對(duì)得到的邏輯模型做一些補(bǔ)充。3.3數(shù)據(jù)流圖(DFD)

數(shù)據(jù)流圖,簡(jiǎn)稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。

下圖是一個(gè)飛機(jī)機(jī)票預(yù)訂系統(tǒng)的數(shù)據(jù)流圖,它反映的功能是:旅行社把預(yù)訂機(jī)票的旅客信息(姓名、年齡、單位、身份證號(hào)碼、旅行時(shí)間、目的地等)輸入機(jī)票預(yù)訂系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單(附有應(yīng)交的賬款)。旅客在飛機(jī)起飛的前一天憑取票通知單交款取票,系統(tǒng)檢驗(yàn)無誤,輸出機(jī)票給旅客。

3.3.1基本圖形符號(hào)

數(shù)據(jù)流圖有四種基本圖形符號(hào):

:箭頭,表示數(shù)據(jù)流;

〇:圓或橢圓,表示加工;

=:雙杠,表示數(shù)據(jù)存儲(chǔ);

□:方框,表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)。

(1)數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng)組成。由于數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。

(2)加工(又稱為數(shù)據(jù)處理)。對(duì)數(shù)據(jù)流進(jìn)行某些操作或變換。每個(gè)加工也要有名字,通常是動(dòng)詞短語,簡(jiǎn)明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應(yīng)編號(hào)。

(3)數(shù)據(jù)存儲(chǔ)(又稱為文件),指暫時(shí)保存的數(shù)據(jù),它可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。

(4)數(shù)據(jù)源點(diǎn)或終點(diǎn),是本軟件系統(tǒng)外部環(huán)境中的實(shí)體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱外部實(shí)體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖。

3.3.2畫數(shù)據(jù)流圖的步驟

(1)首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。頂層流圖只包含一個(gè)加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。下圖為飛機(jī)機(jī)票預(yù)訂系統(tǒng)的頂層圖。

(2)畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。不再分解的加工稱為基本加工。一般將層號(hào)從0開始編號(hào),采用自頂向下,由外向內(nèi)的原則。畫0層數(shù)據(jù)流圖時(shí),分解頂層流圖的系統(tǒng)為若干子系統(tǒng),決定每個(gè)子系統(tǒng)間的數(shù)據(jù)接口和活動(dòng)關(guān)系。例如,在上面的機(jī)票預(yù)訂系統(tǒng)按功能可分成兩部分,一部分為旅行社預(yù)訂機(jī)票,另一部分為旅客取票,兩部分通過機(jī)票文件的數(shù)據(jù)存儲(chǔ)了解起來,0層數(shù)據(jù)流圖如圖3-4。

(3)注意事項(xiàng)。

①命名。不論數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)還是加工,合適的命名使人們易于理解其含義。

②畫數(shù)據(jù)流而不是控制流。數(shù)據(jù)流反映系統(tǒng)“做什么”,不反映“如何做”,因此箭頭上的數(shù)據(jù)流名稱只能是名詞或名詞短語,整個(gè)圖中不反映加工的執(zhí)行順序。

③一般不畫物質(zhì)流。數(shù)據(jù)流反映能用計(jì)算機(jī)處理的數(shù)據(jù),并不是實(shí)物,因此對(duì)目標(biāo)系統(tǒng)的數(shù)據(jù)流圖一般不要畫物質(zhì)流。

④每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結(jié)果。

⑤編號(hào)。如果一張數(shù)據(jù)流圖中的某個(gè)加工分解成另一張數(shù)據(jù)流圖時(shí),則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應(yīng)編號(hào)。

⑥父圖與子圖的平衡。子圖的輸入輸出數(shù)據(jù)流同父圖相應(yīng)加工的輸入輸出數(shù)據(jù)流必須一致,此即父圖與子圖的平衡。

⑦局部數(shù)據(jù)存儲(chǔ)。當(dāng)某層數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)不是父圖中相應(yīng)加工的外部接口,而只是本圖中某些加工之間的數(shù)據(jù)接口,則稱這些數(shù)據(jù)存儲(chǔ)為局部數(shù)據(jù)存儲(chǔ)。

⑧提高數(shù)據(jù)流圖的易懂性。注意合理分解,要把一個(gè)加工分解成幾個(gè)功能相對(duì)獨(dú)立的子加工,這樣可以減少加工之間輸入、輸出數(shù)據(jù)流的數(shù)目,增加數(shù)據(jù)流圖的可理解性。

3.3.3流程圖的實(shí)例--銷售管理系統(tǒng)

某企業(yè)銷售管理系統(tǒng)的功能為:

(1)接受顧客的訂單,檢驗(yàn)訂單,若庫(kù)存有貨,進(jìn)行供貨處理,即修改庫(kù)存,給倉(cāng)庫(kù)開備貨單,并且將訂單留底;若庫(kù)存量不足,將缺貨訂單登入缺貨記錄。

(2)根據(jù)缺貨記錄進(jìn)行缺貨統(tǒng)計(jì),將缺貨通知單發(fā)給采購(gòu)部門,以便采購(gòu)。

(3)根據(jù)采購(gòu)部門發(fā)來的進(jìn)貨通知單處理進(jìn)貨,即修改庫(kù)存,并從缺貨記錄中取出缺貨訂單進(jìn)行供貨處理。

(4)根據(jù)留底的訂單進(jìn)行銷售統(tǒng)計(jì),打印統(tǒng)計(jì)表給經(jīng)理。

根據(jù)上述的功能描述,畫出如下的數(shù)據(jù)流程圖。3.4數(shù)據(jù)字典(DD)

數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱DD)就是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。

3.4.1數(shù)據(jù)字典的內(nèi)容以及格式

數(shù)據(jù)字典的任務(wù)是對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在數(shù)據(jù)詞典中作為一個(gè)詞條加以定義,使得每一個(gè)圖形元素的名字都有一個(gè)確切的解釋。

數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲(chǔ)、基本加工。

數(shù)據(jù)詞典中所有的定義應(yīng)是嚴(yán)密的、精確的,不可有半點(diǎn)含混,不可有二義性。

1.數(shù)據(jù)流條目

數(shù)據(jù)流條目給出了DFD中數(shù)據(jù)流的定義,通常列出該數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng)。在定義數(shù)據(jù)流或數(shù)據(jù)存儲(chǔ)組成時(shí),使用的符號(hào)如3-1表:符號(hào)含義例及說明=被定義為+與x=a+b表示x由a和b組成[...|...]或x=[a|b]表示x由a或b組成m{...}n或{...}mn重復(fù)x=2{a}5表示x中最少出現(xiàn)2次a,最多出現(xiàn)5次a,2為重復(fù)次數(shù)的上、下限。{...}重復(fù)x={a}表示x由0個(gè)或多個(gè)a(...)可選x=(a)表示a可在x中出現(xiàn),也可不出現(xiàn)。"..."基本數(shù)據(jù)元素x="a",表示x是取值為字符a的數(shù)據(jù)元素。..連接符x=1.9,表示x可取1到9中任意一個(gè)值。

舉例:定義數(shù)據(jù)流組成及數(shù)據(jù)項(xiàng)。

機(jī)票=姓名+日期+航班號(hào)+起點(diǎn)+終點(diǎn)+費(fèi)用

姓名={字母}

航班號(hào)=“Y7100”...“Y8100”

終點(diǎn)=[上海|北京|西安]

數(shù)據(jù)流條目主要內(nèi)容及舉例如下:

數(shù)據(jù)流名稱:訂單

別名:無

簡(jiǎn)述:顧客訂貨時(shí)填寫的項(xiàng)目

來源:顧客

去向:加工1“檢驗(yàn)訂單”

數(shù)據(jù)流量:1000份/每周

組成:編號(hào)+訂貨日期+顧客編號(hào)+位置+電話+銀行賬號(hào)+貨物名稱+規(guī)格+數(shù)量

2.數(shù)據(jù)存儲(chǔ)條目

數(shù)據(jù)存儲(chǔ)條目是對(duì)數(shù)據(jù)存儲(chǔ)的定義,如:

數(shù)據(jù)存儲(chǔ)名稱:庫(kù)存記錄

別名:無

簡(jiǎn)述:存放庫(kù)存所有可供貨物的信息

組成:貨物名稱+編號(hào)+生產(chǎn)廠家+單價(jià)+庫(kù)存量

組織方式:索引文件,以貨物編號(hào)為關(guān)鍵字

查詢要求:要求能立即查詢

3.數(shù)據(jù)項(xiàng)條目

數(shù)據(jù)項(xiàng)條目是不可再分解的數(shù)據(jù)單位,,其定義格式如下:

數(shù)據(jù)項(xiàng)名稱:貨物編號(hào)

別名:G-No,G-num,Goods-No

簡(jiǎn)述:本公司的所有貨物的編號(hào)

類型:字符串

長(zhǎng)度:10

取值范圍及含義:

第一位:進(jìn)口/國(guó)產(chǎn)

第2-4位:類別

第5-7位:規(guī)格

第8-10位:品名編號(hào)

4.加工條目

加工條目是用來說明DFD中基本加工的處理邏輯的,由于上層的加工是由下層的基本加工分解而來,只要有了基本加工的說明,就可理解其他加工。舉例如下:

加工名:查閱庫(kù)存

編號(hào):1.2

激發(fā)條件:接收到合格訂單時(shí)

優(yōu)先級(jí):普通

輸入:合格訂單

輸出:可供貨訂單、缺貨訂單

加工邏輯:根據(jù)庫(kù)存記錄

IF訂單項(xiàng)目的數(shù)量<該項(xiàng)目庫(kù)存量的臨界值>

THEN可供貨處理

ELSE此訂單缺貨,登錄,待進(jìn)貨后再處理

ENDIF3.5加工邏輯的描述

加工邏輯也稱為“小說明”,描述加工邏輯一般用以下三種工具:結(jié)構(gòu)化語言、判定表、判定樹。3.5.1結(jié)構(gòu)化語言

結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。結(jié)構(gòu)化語言是在自然語言基礎(chǔ)上加了一些限定,使用有限的詞匯和有限的語句來描述加工邏輯,它的結(jié)構(gòu)可分成外層和內(nèi)層兩層:

(1)外層:用來描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本結(jié)構(gòu)。

(2)內(nèi)層:一般是采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動(dòng)詞含義要具體,盡量不用形容詞和副詞來修飾。3.5.2判定表

在有些情況下,數(shù)據(jù)流圖中的某些加工的一組動(dòng)作信賴于多個(gè)邏輯條件的取值。用自然語言或結(jié)構(gòu)化語言都不易清楚地描述出來。而用判定表就能夠清楚地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。

判定表由四個(gè)部分組成,如下3-2表所示,構(gòu)造一張判定表,可采用以下步驟:

(1)提取問題中的條件。

(2)標(biāo)出條件的取值。

(3)計(jì)算所有條件的組合數(shù)N。

(4)提取可能采用的動(dòng)作或措施。

(5)整理判定表。

(6)完善判定表。

表3-2判定表結(jié)構(gòu)條件定義條件取值的組合動(dòng)作定義在各種取值的組合下應(yīng)執(zhí)行的動(dòng)作3.5.3判定樹

判定樹是判定表的變形,一般情況下它比判定表更直觀,且易于理解和使用。

這三種描述加工邏輯的工具各有優(yōu)缺點(diǎn),對(duì)于順序執(zhí)行和循環(huán)執(zhí)行的動(dòng)作,用結(jié)構(gòu)語言描述。對(duì)于存在多個(gè)條件復(fù)雜組合的判斷問題,用判定表和判定樹。判定樹較判定表直觀易讀,判定表進(jìn)行邏輯驗(yàn)證較嚴(yán)格,能把所有的可能性全部都考慮到。可將兩種工具結(jié)合起來,先用判定表底稿,在經(jīng)基礎(chǔ)上產(chǎn)生判定樹。3.6IDEF方法

IDEF方法是美國(guó)空軍在1981年針對(duì)集成化計(jì)算機(jī)輔助制造(IntegratedComputerAidedManufacturing,簡(jiǎn)稱ICAM)工程項(xiàng)目中用于進(jìn)行復(fù)雜系統(tǒng)分析和設(shè)計(jì)的方法,是在結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)的基礎(chǔ)上提出來的。IDEF是ICAMDefinition的縮寫。IDEF方法分為三部分。

IDEF0:用來描述系統(tǒng)的功能活動(dòng)及其了解,建立系統(tǒng)的功能模型。

IDEF1:用來描述系統(tǒng)的信息以及其了解,建立系統(tǒng)的信息模型。

IDEF2:用來進(jìn)行系統(tǒng)模擬,建立系統(tǒng)的動(dòng)態(tài)模型。

3.6.1IDEF0的圖形表示

IDEF0方法采用簡(jiǎn)單的圖形符號(hào)和簡(jiǎn)潔的文字說明,描述系統(tǒng)在不同層次上的功能。在該方法中,將系統(tǒng)功能稱為活動(dòng),將表示系統(tǒng)功能的圖形稱為活動(dòng)圖形。在活動(dòng)圖形中,用方框和箭頭表示系統(tǒng)的各種活動(dòng)及相互間的關(guān)系。

3.6.2建立功能模型的基本方法

1.確定建模的范圍、觀點(diǎn)及目的

在開始為系統(tǒng)建立模型時(shí),首先要確定建模的立足點(diǎn),包括范圍、觀點(diǎn)及目的。范圍所討論的對(duì)象是什么,它的邊界和外部接口是什么;觀點(diǎn)指從什么角度去考慮所研究的題;目的指確定所研究問題的意圖及理由。

2.建立系統(tǒng)的內(nèi)外關(guān)系圖--A-0圖

IDEF0方法建立的功能模型是一組有層次關(guān)系的圖形,以字母A開頭的編號(hào)來標(biāo)志圖形在層次中的位置。先建立系統(tǒng)的內(nèi)外關(guān)系圖,該圖用來抽象地描述所研究的問題及其邊界或數(shù)據(jù)接口。圖中只有一個(gè)活動(dòng),活動(dòng)名概括地描述系統(tǒng)的內(nèi)容,用進(jìn)入和離開的箭頭表系統(tǒng)與環(huán)境的數(shù)據(jù)接口,確定了系統(tǒng)邊界。

3.建立頂層圖--A-0圖

把A-0圖分解為3-6個(gè)主要部分得到A0圖,它清楚地表達(dá)了A--0圖在同樣信息范圍內(nèi)的細(xì)節(jié),從結(jié)構(gòu)上反映了模型的觀點(diǎn),是系統(tǒng)功能模型真正的頂層圖。該圖中各方框所表示活動(dòng)的詳細(xì)含義由低層次的圖形說明。

4.建立低層次的圖形

按照自頂向下的方法,從A0圖開始逐層分解,建立一系列的活動(dòng)圖形,直到最低層為止。第3章例題分析與解答bbb://student.zjzkbbb/course_ware/software/test/show.asp?filename=3.txt&fname=第3章一、填空題

1.需求分析階段,分析人員要確定對(duì)問題的綜合需求,其中最主要的是_________需求。

[答案]

2.結(jié)構(gòu)化分析的基本思想是采用__________的方法,能有效地控制系統(tǒng)開發(fā)的復(fù)雜性。

[答案]

3.當(dāng)數(shù)據(jù)流圖中某個(gè)加工的一組動(dòng)作存在著多個(gè)復(fù)雜組合的判斷時(shí),其加工邏輯使用__________描述較好。

[答案]

4.在IDEF0圖中,連在方框上的箭頭有四種類型,它們分別是_________。

[答案]

5.為了較完整地描述用戶對(duì)系統(tǒng)的需求,DFD應(yīng)與數(shù)據(jù)庫(kù)中的________圖結(jié)合起來。

[答案]

二、選擇題

1.需求分析最終結(jié)果是產(chǎn)生(

)。

A.項(xiàng)目開發(fā)計(jì)劃

B.可行性分析報(bào)告

C.需求規(guī)格說明書

D.設(shè)計(jì)說明書

[答案]

2.需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是(

)。

A.要讓軟件做什么

B.要給該軟件提供哪些信息

C.要求軟件工作效率怎樣

D.要讓該軟件具有何種結(jié)構(gòu)

[答案]

3.DFD中的每個(gè)加工至少有(

)。

A.一個(gè)輸入流或一個(gè)輸出流

B.一個(gè)輸入流和一個(gè)輸出流

C.一個(gè)輸入流

D.一個(gè)輸出流

[答案]

4.?dāng)?shù)據(jù)字典中,一般不出現(xiàn)的條目是(

)。

A.數(shù)據(jù)流

B.數(shù)據(jù)存儲(chǔ)

C.加工

D.源點(diǎn)與終點(diǎn)

[答案]

5.IDEF0圖并不反映出系統(tǒng)(

)。

A.做什么

B.怎么做

C.誰來做

D.什么情況下做

[答案]

應(yīng)用題

1.某銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的功能是:將儲(chǔ)戶填寫的存款單或取款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄

存款人姓名、住址、存款類型、存款日期、利率等信息,并打印出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)計(jì)

算清單給儲(chǔ)戶。請(qǐng)用DFD和IDEF0描繪該功能的需求。

[分析]

該題功能比較簡(jiǎn)單,首先找出該系統(tǒng)的外部環(huán)境,從而獲得系統(tǒng)的輸入輸出。與該系統(tǒng)打交道

的外部實(shí)體只有儲(chǔ)戶,輸入有存取款原始單。該系統(tǒng)經(jīng)過處理后,輸出給儲(chǔ)戶正式的存款單或結(jié)算清單。

這樣,該系統(tǒng)的頂層DFD就確定了。

其次,考慮該系統(tǒng)內(nèi)部功能。系統(tǒng)要檢驗(yàn)用戶填寫單據(jù)的合法性及區(qū)分存款還是取款,然后分別進(jìn)行

存款處理和取款處理。存款處理要登記儲(chǔ)戶的存款信息,需要建立數(shù)據(jù)存儲(chǔ)文件;而取款處理要讀取數(shù)據(jù)

存儲(chǔ)文件及查閱儲(chǔ)戶的信息,取款后要修改儲(chǔ)戶信息。另外還要通過銀行自己的利率計(jì)算存款利率。

根據(jù)以上分析畫出該系統(tǒng)的數(shù)據(jù)流圖(未分層)如下圖:

2.某考務(wù)中心準(zhǔn)備開發(fā)一個(gè)成人自學(xué)考試考務(wù)管理系統(tǒng)(簡(jiǎn)稱EMS),經(jīng)過調(diào)研,該系統(tǒng)有如下功能:

(1)對(duì)考生填寫的報(bào)名單進(jìn)行審查,對(duì)合格的新生,編好準(zhǔn)考證發(fā)給考生,匯總后的報(bào)名單送給閱卷站;

(2)給合格的考生制做考生通知單,將考試科目、時(shí)間、地點(diǎn)安排告訴考生;

(3)對(duì)閱卷站送來的成績(jī)進(jìn)行登記,按當(dāng)年標(biāo)準(zhǔn)審查單科合格者,并發(fā)成績(jī)單,對(duì)所考專業(yè)各科成績(jī)?nèi)亢细裾甙l(fā)給大專畢業(yè)證書。

(4)對(duì)成績(jī)進(jìn)行分類(按地區(qū)、年齡、職業(yè)、專業(yè)、科目等分類)產(chǎn)生相應(yīng)統(tǒng)計(jì)表;

(5)查閱:考生可按準(zhǔn)考證號(hào)隨時(shí)查詢自己的各科成績(jī)。請(qǐng)按結(jié)構(gòu)化分析方法進(jìn)行分析。

[答案]

頂層圖:數(shù)據(jù)流條目:

報(bào)名單=姓名+性別+年齡+學(xué)歷+身份證號(hào)碼+地區(qū)+職業(yè)+待考專業(yè)

成績(jī)單=姓名+專業(yè)+{科目+考試時(shí)間+成績(jī)}41

考生通知單=姓名+專業(yè)+{科目+考試時(shí)間+考試地點(diǎn)}??

準(zhǔn)考證=編號(hào)+姓名+性別+年齡+身份證號(hào)

總報(bào)名單={報(bào)名單}+各專業(yè)人數(shù)+總?cè)藬?shù)

數(shù)據(jù)項(xiàng)條目:

成績(jī):別名:平均成績(jī)

類型:實(shí)型

長(zhǎng)度:6位,小數(shù)點(diǎn)后一位

準(zhǔn)考證編號(hào):別名:無

類型:字符串

長(zhǎng)度:10

取值范圍及含義:前四位表示專業(yè),后六位表示本專業(yè)內(nèi)編號(hào)

……

加工條目:

加工名稱:EMS

編號(hào):無

輸入/出:略

加工邏輯:對(duì)全市的成人自學(xué)考試進(jìn)行管理,主要功能有:報(bào)名、考試、成績(jī)管理等。

0層圖:

其他條目略。

數(shù)據(jù)存儲(chǔ)條目:

文件名:考生記錄

組成:準(zhǔn)考證編號(hào)+姓名+性別+年齡+地區(qū)+職業(yè)+{科目+成績(jī)}1

15

組織方式:索目文件,以準(zhǔn)考證編號(hào)為主關(guān)鍵字

……

3.某工廠人事部門,對(duì)一部分職工重新分配工作,其分配原則如下:

對(duì)這部分職工,如果年齡不滿20歲,初中文化程度則脫產(chǎn)學(xué)習(xí),高中文化程度,則當(dāng)電工,大專文化程度當(dāng)技術(shù)員;如果年齡滿20歲但不滿40歲,初中或者高中文化程度,若是男性,則當(dāng)鉗工,若是女性,則當(dāng)車工,大專文化程度則當(dāng)技術(shù)員;如果年滿40歲以上者,初中或高中文化程度,當(dāng)材料員,大專文化程度則當(dāng)技術(shù)員。

請(qǐng)用判定表表達(dá)以上問題的加工邏輯。

[答案]

化簡(jiǎn)后的判定表1,102,113,6,9

12,15,18457,168,171314性別

———MM——FF年齡LL—EEGGEE文化程度JSUJSJSJS脫產(chǎn)學(xué)習(xí)√當(dāng)電工√當(dāng)鉗工√√當(dāng)車工√

√當(dāng)技術(shù)員

√當(dāng)材料員√√第3章自測(cè)題及參考答案一、名稱解釋

1.需求分析

2.當(dāng)前系統(tǒng)3.目標(biāo)系統(tǒng)

4.SA

5.DFD

二、填空題

1.需求分析階段產(chǎn)生的最重要的文檔是_________。

2.為解決一個(gè)復(fù)雜問題,往往采取的策略是__________。

3.SA方法中使用半形式化的描述方式表達(dá)需求,采用的主要描述工具是__________。

4.?dāng)?shù)據(jù)流圖中有四種符號(hào)元素,它們是__________。

5.?dāng)?shù)據(jù)字典中有四類條目,分別是___________。

6.在IDEF0圖中,表示系統(tǒng)功能的圖形稱為___________圖形。

7.在畫分層的DFD時(shí),父圖與子圖的輸入輸出數(shù)據(jù)流要__________。

8.用于描述基本加工的小說明的三種描述工具是_______________。

9.IDEF0是建立系統(tǒng)_________模型的有效方法。

10.在IDEF0方法中,被標(biāo)志為A—0的圖稱為系統(tǒng)的_________圖。

三、選擇題

1.分層DFD是一種比較嚴(yán)格又易于理解的描述方式,它的頂層圖描述了系統(tǒng)的(

)。

A.細(xì)節(jié)

B.輸入與輸出

C.軟件的整理

D.繪制的時(shí)間

2.需求規(guī)格說明書的內(nèi)容還應(yīng)包括對(duì)(

)的描述。

A.主要功能B.算法的詳細(xì)過程C.用戶界面及運(yùn)行環(huán)境D.軟件的性能

3.需求規(guī)格說明書的作用不應(yīng)包括(

)。

A.軟件設(shè)計(jì)的依據(jù)

B.用戶與開發(fā)人員對(duì)軟件要做什么的共同理解

C.軟件驗(yàn)收的依據(jù)

D.軟件可行性研究的依據(jù)

4.SA方法用DFD描述(

)

A.系統(tǒng)的控制流程

B.系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

C.系統(tǒng)的基本加工

D.系統(tǒng)的功能

5.一個(gè)局部數(shù)據(jù)存儲(chǔ)只有當(dāng)它作為(

)時(shí),就把它畫出來。

A.某些加工的數(shù)據(jù)接口

B.某個(gè)加工的特定輸入

C.某個(gè)加工的特定輸出

D.某些加工的數(shù)據(jù)接口或某個(gè)加工的特定輸入/輸出

6.對(duì)于分層的DFD,父圖與子圖的平衡指子圖的輸入、輸出數(shù)據(jù)流同父圖相應(yīng)加工的輸入、輸出數(shù)據(jù)流(

)。

A.必須一致

B.?dāng)?shù)目必須相等

C.名字必須相同

D.?dāng)?shù)目必須不等

7.需求分析階段不適用于描述加工邏輯的工具是(

)。

A.結(jié)構(gòu)化語言

B.判定表

C.判定樹

D.流程圖

8.SA方法的分析步驟是首先調(diào)查了解當(dāng)前系統(tǒng)的工作流程,然后(

)。

A.獲得當(dāng)前系統(tǒng)的物理模型,抽象出當(dāng)前系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的邏輯模型

B.獲得當(dāng)前系統(tǒng)的物理模型,抽象出目標(biāo)系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的物理模型

C.獲得當(dāng)前系統(tǒng)的物理模型,建立當(dāng)前系統(tǒng)的物理模型,抽象出目標(biāo)系統(tǒng)的邏輯模型

D.獲得當(dāng)前系統(tǒng)的物理模型,建立當(dāng)前系統(tǒng)的物理模型,建立目標(biāo)系統(tǒng)的物理模型

9.SA方法的基本思想是(

)

A.自底向上逐步抽象B.自底向上逐步分解

C.自頂向下逐步分解D.自頂向下逐步抽象

10.初步用戶手冊(cè)在(

)階段編寫。

A.可行性研究B.需求分析C.軟件概要設(shè)計(jì)D.軟件詳細(xì)設(shè)計(jì)

四、簡(jiǎn)答題

1.什么是需求分析?該階段的基本任務(wù)是什么?

2.簡(jiǎn)述結(jié)構(gòu)化分析方法的步驟。

3.?dāng)?shù)據(jù)流圖與數(shù)據(jù)字典的作用是什么?畫數(shù)據(jù)流圖應(yīng)注意什么?

4.簡(jiǎn)述SA方法的優(yōu)缺點(diǎn)。

5.簡(jiǎn)述建立IDEF0圖的步驟。

五、應(yīng)用題

1.某電器集團(tuán)公司下屬一個(gè)成套廠(產(chǎn)品組裝)和若干零件廠等單位,成套廠下設(shè)技術(shù)科、生產(chǎn)科、供應(yīng)科等基層單位。現(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ì)劃為依據(jù),制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃;

(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到技術(shù)科,將組裝月計(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)品自制件物料清單;

(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì)(沖壓、噴漆、焊接等),根據(jù)產(chǎn)品自制件物料清單產(chǎn)生工藝流程圖給零件廠。

供應(yīng)科的任務(wù)是:

(1)根據(jù)技術(shù)科的外購(gòu)需求計(jì)劃和倉(cāng)庫(kù)的缺貨通知單及月盤存表制定采購(gòu)計(jì)劃給采購(gòu)員;

(2)對(duì)采購(gòu)來的材料進(jìn)行庫(kù)存管理(登錄、查詢、修改、刪除)。

請(qǐng)根據(jù)以上文字?jǐn)⑹霎嫵銎髽I(yè)管理系統(tǒng)的分層DFD圖。

2.假設(shè)某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)行李的重量不超過30公斤。當(dāng)行李的重量超出30公斤時(shí),對(duì)一般艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)4元,對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元。對(duì)國(guó)外乘客超重部分每公斤收費(fèi)比國(guó)內(nèi)乘客多一倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。試畫出相應(yīng)判定表。

參考答案

二、填空題

1.需求規(guī)格說明書

2.自頂向下逐步分解

3.?dāng)?shù)據(jù)流圖和數(shù)據(jù)字典

4.?dāng)?shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)源點(diǎn)和終點(diǎn)

5.?dāng)?shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲(chǔ)、基本加工

6.活動(dòng)

7.平衡

8.結(jié)構(gòu)化語言、判定表、判定樹

9.功能

10.內(nèi)外關(guān)系圖

三、選擇題

1.B

2.B

3.D

4.D

5.D6.A

7.D

8.A

9.C

10.B

五、應(yīng)用題

1.

2.設(shè)乘客托運(yùn)行李的重量為W,則判定表如表3-1所示。

表3-1題2的判定表W<=30W>30國(guó)內(nèi)乘客國(guó)外乘客一般艙頭等艙一般艙頭等艙殘疾普通殘疾普通殘疾普通殘疾普通免費(fèi)2×(w-30)3×(w-30)4×(w-30)6×(w-30)8×(w-30)12×(w-30)第4章軟件概要設(shè)計(jì)4.1軟件概要設(shè)計(jì)的基本任務(wù)

在軟件需求分析階段,已經(jīng)搞清楚了軟件“做什么”的問題,并把這些需求通過規(guī)格說明書描述了出來,這也是目標(biāo)系統(tǒng)的邏輯模型。進(jìn)入了設(shè)計(jì)階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實(shí)現(xiàn)軟件的需求,并將設(shè)計(jì)的結(jié)果反映在“設(shè)計(jì)規(guī)格說明書”文檔中,所以軟件設(shè)計(jì)是一個(gè)把軟件需求轉(zhuǎn)換為軟件表示的過程,最初這種表示只是描述了軟件的總的體系結(jié)構(gòu),稱為軟件概要設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)。

4.1.1基本任務(wù)

1.設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)(簡(jiǎn)稱軟件結(jié)構(gòu))

為了實(shí)現(xiàn)目標(biāo)系統(tǒng),最終必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和數(shù)據(jù)庫(kù)(文件),對(duì)于程序,則首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),具體為:

(1)采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊。

(2)確定每個(gè)模塊的功能。

(3)確定模塊之間的調(diào)用關(guān)系。

(4)確定模塊之間的接口,即模塊之間傳遞的信息。

(5)評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量。

根據(jù)以上內(nèi)容,軟件結(jié)構(gòu)的設(shè)計(jì)是以模塊為基礎(chǔ)的,在需求分析階段,已經(jīng)把系統(tǒng)分成層次結(jié)構(gòu)。設(shè)計(jì)階段,以需求分析的結(jié)果為依據(jù),從實(shí)現(xiàn)的角度進(jìn)一步劃分為模塊,并組成模塊的層次結(jié)構(gòu)。軟件結(jié)構(gòu)的設(shè)計(jì)是概要設(shè)計(jì)關(guān)鍵的一步,直接影響到下一階段詳細(xì)設(shè)計(jì)與編碼的工作軟件系統(tǒng)的質(zhì)量及一些整體特性都在軟件結(jié)構(gòu)的設(shè)計(jì)中決定。

2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)

對(duì)于大型數(shù)據(jù)處理的軟件系統(tǒng),除了控制結(jié)構(gòu)的模塊設(shè)計(jì)外,數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)也是很重要的。

(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)

逐步細(xì)化的方法也適用于數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。在需求分析階段,已通過數(shù)據(jù)字典對(duì)數(shù)據(jù)的組成、操作約束、數(shù)據(jù)之間的關(guān)系等方面進(jìn)行了描述,確定了數(shù)據(jù)的結(jié)構(gòu)特性,在概要設(shè)計(jì)階段要加以細(xì)化,詳細(xì)設(shè)計(jì)階段則規(guī)定具體的實(shí)現(xiàn)細(xì)節(jié)。在概要設(shè)計(jì)階段,宜使用抽象的數(shù)據(jù)類型。

(2)數(shù)據(jù)庫(kù)的設(shè)計(jì)

數(shù)據(jù)庫(kù)的設(shè)計(jì)指數(shù)據(jù)存儲(chǔ)文件的設(shè)計(jì),主要進(jìn)行以下幾方面設(shè)計(jì):

①概念設(shè)計(jì)。在數(shù)據(jù)分析的基礎(chǔ)上,采用自底向上的方法從用戶角度進(jìn)行視圖設(shè)計(jì),一般用ER模型來表示數(shù)據(jù)模型,這是一個(gè)概念模型。

②邏輯設(shè)計(jì)。ER模型或IDEFlx模型是獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的,要結(jié)合具體的DBMS特征來建立數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),對(duì)于關(guān)系型的DBMS來說將概念結(jié)構(gòu)轉(zhuǎn)換為數(shù)據(jù)模式、子模式并進(jìn)行規(guī)范,要給出數(shù)據(jù)結(jié)構(gòu)的定義,即定義所含的數(shù)據(jù)項(xiàng)、類型、長(zhǎng)度及它們之間的層次或相互關(guān)系的表格等等。

③物理設(shè)計(jì)。對(duì)于不同的DBMS,物理環(huán)境不同,提供的存儲(chǔ)結(jié)構(gòu)與存取方法各不相同。物理設(shè)計(jì)就是設(shè)計(jì)數(shù)據(jù)模式的一些物理細(xì)節(jié),如數(shù)據(jù)項(xiàng)存儲(chǔ)要求、存取方式、索引的建立。

3.編寫概要設(shè)計(jì)文檔

文檔主要有:

(1)概要設(shè)計(jì)說明書。

(2)數(shù)據(jù)庫(kù)設(shè)計(jì)說明書,主要給出所使用的DBMS簡(jiǎn)介、數(shù)據(jù)庫(kù)的概念模型、邏輯設(shè)計(jì)、結(jié)果。

(3)用戶手冊(cè),對(duì)需求分析階段編寫的用戶手冊(cè)進(jìn)行補(bǔ)充。

(4)修訂測(cè)試計(jì)劃,對(duì)測(cè)試策略、方法、步驟提出明確要求。

4.評(píng)審

對(duì)設(shè)計(jì)部分是否完整地實(shí)現(xiàn)了需求中規(guī)定的功能、性能等要求,設(shè)計(jì)方案的可行性,關(guān)鍵的處理及內(nèi)外部接口定義正確性、有效性,各部分之間的一致性等等都一一進(jìn)行評(píng)審。

4.1.2軟件概要設(shè)計(jì)說明書的主要內(nèi)容

概要設(shè)計(jì)說明書是概要設(shè)計(jì)階段結(jié)束時(shí)提交的技術(shù)文檔,按國(guó)標(biāo)GB8576-88的“計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南”規(guī)定,軟件設(shè)計(jì)文檔可分為“概要設(shè)計(jì)說明書”、“詳細(xì)設(shè)計(jì)說明書”、

溫馨提示

  • 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. 人人文庫(kù)網(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)論