軟件工程自考02333重點(diǎn)難點(diǎn)匯集_第1頁
軟件工程自考02333重點(diǎn)難點(diǎn)匯集_第2頁
軟件工程自考02333重點(diǎn)難點(diǎn)匯集_第3頁
軟件工程自考02333重點(diǎn)難點(diǎn)匯集_第4頁
軟件工程自考02333重點(diǎn)難點(diǎn)匯集_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《軟件工程》串講講義應(yīng)考指導(dǎo)

一、課程介紹

1、課程性質(zhì)

《軟件工程》是全國(guó)高等教化自學(xué)考試計(jì)算機(jī)與應(yīng)用(獨(dú)立本科段)的一門專業(yè)課。

軟件工程是探討軟件開發(fā)的一門課程,其主要內(nèi)容包括:軟件開發(fā)所須要的過程、

活動(dòng)和任務(wù),以與這些活動(dòng)和任務(wù)的組織、實(shí)施和管理。

2、指定教材

本課程指定教材為《軟件工程》,全國(guó)高等教化自學(xué)考試指導(dǎo)委員會(huì)組編,王立福

主編,機(jī)械工業(yè)出版社出版,2011年版。

新版教材與2000年版相比,無論是內(nèi)容還是內(nèi)容的組織,都有了很大的變更。整

個(gè)學(xué)問體系、章節(jié)支配、內(nèi)容選取都不一樣,這是考生肯定要留意的。新版教材的內(nèi)容

組織特點(diǎn)主要體現(xiàn)在:

基于對(duì)軟件開發(fā)本質(zhì)的相識(shí),講解軟件工程的兩大技術(shù)問題:一是開發(fā)邏輯,二是

開發(fā)途徑。

開發(fā)邏輯涉與軟件生存周期過程、軟件生存周期模型(有關(guān)過程、活動(dòng)和任務(wù)的組

織框架)以與項(xiàng)目軟件生存周期的規(guī)劃與監(jiān)控。

開發(fā)途徑涉與結(jié)構(gòu)化方法和面對(duì)對(duì)象方法,以與支持軟件評(píng)估所須要的軟件測(cè)試技

術(shù)等。

3、章節(jié)體系

本課程共有8章:

第1章:回答什么是軟件開發(fā)的本質(zhì)

第2章:軟件需求與軟件需求規(guī)約

第3章:結(jié)構(gòu)化方法

第4章:面對(duì)對(duì)象方法-UML

第5章:面對(duì)對(duì)象方法-RUP

第6章:軟件測(cè)試。

第7章:軟件生存周期過程與管理

第8章:集成化實(shí)力成熟度模型CMMI

二、考情分析

1.歷年真題的分布狀況

由于教材剛剛經(jīng)過改版,新教材剛經(jīng)過2011年10月、2012年01月、2012年10

月三次考試。通過對(duì)2011年10月、2012年。1月這兩次真題的分析,各章所占分

值的分布狀況如下表所示:

年份

2011-102012-01

章名、題型

一、緒論(單項(xiàng)、填空題)3分3分

二、軟件需求與軟件需求規(guī)約911

三、結(jié)構(gòu)化方法(單、填、簡(jiǎn)答、綜25分25分

合)

四、面對(duì)對(duì)象方法-UML(單、填、11分11分

簡(jiǎn)答)

五、面對(duì)對(duì)象方法-RUP(單、填、12分12分

簡(jiǎn)答)

六、軟件測(cè)試(單、填、簡(jiǎn)答、綜合)25分23分

七、軟件生存周期過程與管理(單、10分10分

填、簡(jiǎn))

八、集成化實(shí)力成熟度模型CMMI55

從上面的統(tǒng)計(jì)數(shù)據(jù)可以看出:主要的分值分布在第3章和第6章,分別占到總分的

25%左右。第1章和第8章的考核學(xué)問點(diǎn)相對(duì)較少。

2.題型分析

本課程的考試題型分為:

(1)單項(xiàng)選擇題,共15小題,每小題2分,共30分

(2)填空題,共2。個(gè)空,每空1分,共2。分

(3)簡(jiǎn)答題,共6小題,每小題5分,共3。分

(4)綜合應(yīng)用題,共2題,每題1。分,共20分

3.復(fù)習(xí)方法

(1)以教學(xué)大綱為準(zhǔn)繩。自學(xué)考試的原則是:考試范圍既不超出大綱又不超出教

材范圍。所以考生肯定依據(jù)教學(xué)大綱規(guī)定的考試內(nèi)容和考核要求,仔細(xì)學(xué)習(xí)教材,要全

面、系統(tǒng)了解教材中的基本概念、基本學(xué)問。

(2)有的放矢。在學(xué)習(xí)的過程中,為了達(dá)到“事半功倍”,要學(xué)會(huì)“舍要用有

限的時(shí)間去抓重點(diǎn),對(duì)重點(diǎn)內(nèi)容要進(jìn)行深化細(xì)致的學(xué)習(xí)。

(3)留意學(xué)習(xí)方法,理論聯(lián)系實(shí)際,留意理解

重視理論聯(lián)系實(shí)際,訓(xùn)練并漸漸提高運(yùn)用所學(xué)理論分析和解決實(shí)際案例的實(shí)力???/p>

生應(yīng)當(dāng)留意在全面系統(tǒng)學(xué)習(xí)教材的基礎(chǔ)上,盡可能多地了解和分析實(shí)際案例,以便更深

刻地領(lǐng)悟教材的內(nèi)容,提高分析和解決實(shí)際問題的實(shí)力。

(4)合理支配時(shí)間,抓住學(xué)習(xí)重點(diǎn)

依據(jù)實(shí)際狀況自己支配,利用平常空余時(shí)間觀看網(wǎng)絡(luò)課件,形成基本的了解。接下

來仔細(xì)地做一些練習(xí)題,不清晰的地方再回過頭去看看書,并留意對(duì)不同的學(xué)問點(diǎn)進(jìn)行

比較,加深印象。

第一章緒論

復(fù)習(xí)建議:

本章內(nèi)容較少,主要是讓大家了解軟件工程的提出的背景-軟件危機(jī)以與軟件工程探

討的內(nèi)容。

考試題目類型主要是單項(xiàng)選擇題、填空題,題量在3%~5%之間。

第一節(jié)軟件工程概念的提出與發(fā)展

1.軟件危機(jī)

(1)速度:軟件的發(fā)展水平遠(yuǎn)遠(yuǎn)滯后于硬件的發(fā)展水平,生產(chǎn)率低下,軟件制造

仍舊是一種人工集約生產(chǎn)方式

(2)質(zhì)量:軟件的質(zhì)量低下,不能滿足用戶的需求、適應(yīng)性差

(3)成本:軟件開發(fā)成本居高不下

軟件開發(fā)的速度、軟件制品的質(zhì)量、軟件開發(fā)成本是軟件工程的三個(gè)核心問題。

2.軟件工程的發(fā)展

(1)20世紀(jì)60~80年頭

瀑布模型;過程化語言;支持工具

(2)20世紀(jì)80年頭~今

軟件復(fù)用技術(shù);軟件生產(chǎn)管理;面對(duì)對(duì)象語言

(3)近幾年

軟件復(fù)用技術(shù):構(gòu)件技術(shù)、平臺(tái)技術(shù)、需求工程技術(shù)、領(lǐng)域分析技術(shù)、應(yīng)用集成技

術(shù)等。

其次節(jié)軟件開發(fā)的本質(zhì)

1.軟件

軟件=程序+文檔

2.軟件開發(fā)的本質(zhì):“映射”,即實(shí)現(xiàn)問題空間的概念和處理邏輯到解空間的概念和

處理邏輯之間的映射。

3.系統(tǒng)建模

運(yùn)用所駕馭的學(xué)問,通過抽象,給出系統(tǒng)的一個(gè)結(jié)構(gòu)。

4.模型

模型是一個(gè)抽象。模型是在特定意圖下所確定的角度和抽象層次上對(duì)物理系統(tǒng)的描

述,通常包含對(duì)該系統(tǒng)邊界的描述、對(duì)系統(tǒng)內(nèi)各模型元素以與它們之間關(guān)系的語義描述。

5.系統(tǒng)模型的類型

(1)概念模型:描述軟件是什么

(2)軟件模型:實(shí)現(xiàn)概念模型的軟件解決方案。包括設(shè)計(jì)模型、實(shí)現(xiàn)模型和部署

模型。

其次章需求獲得

復(fù)習(xí)建議:

正確定義問題,是解決問題的基礎(chǔ)。

需求獲得是軟件開發(fā)的第一步,它的工作質(zhì)量確定了整個(gè)軟件開發(fā)工作的成敗,因

此本章的內(nèi)容是考核的重點(diǎn)內(nèi)容。

考核的題目類型主要有:?jiǎn)雾?xiàng)選擇題、填空題、簡(jiǎn)答題,分值在10%左右。

內(nèi)容以基本概念、基本原理為主。

第一節(jié)需求與需求獲得

1.需求的定義

一個(gè)需求是有關(guān)一個(gè)“要予構(gòu)造”的陳述,描述了待開發(fā)產(chǎn)品/系統(tǒng)功能實(shí)力、性

能參數(shù)或其它性質(zhì)。

2.需求的基本性質(zhì)

(1)必要的

(2)無歧義的

(3)可測(cè)的

(4)可跟蹤的

(5)可測(cè)量的

3.需求的分類★

⑴功能需求,是整個(gè)需求的主體。

⑵非功能需求:性能需求、外部接口需求、設(shè)計(jì)約束和質(zhì)量屬性需求。

能夠區(qū)分哪些是功能需求,哪些是性能需求。

4,接口需求的類別

(1)用戶接口

⑵硬件接口

⑶軟件接口

(4)通信接口

(5)內(nèi)存約束

(6)運(yùn)行

(7)地點(diǎn)需求

5.設(shè)計(jì)約束需求

⑴法規(guī)政策

⑵硬件限制

(3)與其它應(yīng)用的接口

(4)并發(fā)操作

(5)審計(jì)實(shí)力

(6)限制功能

⑺高級(jí)語言要求

(8)握手協(xié)議

(9)應(yīng)用的關(guān)鍵程度

(10)平安和保密

6.質(zhì)量屬性

(1)牢靠性

(2)存活性

(3)可維護(hù)性

(4)用戶友好性

7.需求發(fā)覺的技術(shù)

(1)自悟

(2)交談

⑶視察

(4)小組會(huì)

⑸提煉

其次節(jié)需求規(guī)約(SRS)

1.需求規(guī)約的定義★

是一個(gè)軟件/產(chǎn)品/系統(tǒng)全部需求陳述的正式文檔,它表達(dá)了一個(gè)軟件/產(chǎn)品/系統(tǒng)的

概念模型。

2.需求規(guī)約的基本性質(zhì)★

⑴重要性和穩(wěn)定性程度:對(duì)需求進(jìn)行分級(jí)

(2)可修改的

(3)完整的:沒有被遺漏的需求

(4)一樣的:不存在互斥的需求

3.需求規(guī)約的格式

IEEE標(biāo)準(zhǔn)830-1998(IEEE1998)描述的需求規(guī)格說明書模板。

軟ftll孝JR格IftFD(SRS)

Mil

1.1產(chǎn)品的II的

1.2文檔的定

1.3風(fēng)險(xiǎn)承擔(dān)昌

1.I產(chǎn)曷的范國(guó)

1.5參考文獻(xiàn)

第2點(diǎn)系統(tǒng)服務(wù)慨述

2.1產(chǎn)品的前城

2.2產(chǎn)品的功能

2.3用戶類和特討

2.1運(yùn)行環(huán)境

2.5改濘和實(shí)現(xiàn)卜的限制

2.6假設(shè)和依幢

第3章外部接II需求

用戶界面㈤求

3.12

3

1

7.441I

ttfl寞求MBt明3(5MS)

第";:系統(tǒng)特性

I.1說明和優(yōu)先級(jí)

1.2激勵(lì)/響應(yīng)序列

I.3功能兒求

第57式它II功能力求

5.1性能湍求

5.2安全設(shè)施需求

5.3安全性需求

5.I軟件灰獷帆性

5.5業(yè)務(wù)規(guī)則

5.6用戶文檔

第6舉乩它方面的需求

附錄A:術(shù)語衣

附求B:分析模型

附錄G物務(wù)文檔和表格

時(shí)“D:匕確宓的列小

4.需求規(guī)約(規(guī)格說明書)的表達(dá)

(1)非形式化的需求規(guī)約

⑵半形式化的需求規(guī)約

⑶形式化的需求規(guī)約

5.需求規(guī)約的作用★

⑴需求規(guī)約是軟件開發(fā)組織和用戶之間一份事實(shí)上的技術(shù)合同書,是產(chǎn)品功能與

其環(huán)境的體現(xiàn)

⑵需求規(guī)約是一個(gè)管理限制點(diǎn)

⑶對(duì)于產(chǎn)品/系統(tǒng)的而設(shè)計(jì),需求規(guī)約是一個(gè)正式的、受控的起始點(diǎn)

(4)需求規(guī)約是創(chuàng)建產(chǎn)品驗(yàn)收支配和用戶指南的基礎(chǔ)

第三章結(jié)構(gòu)化方法

復(fù)習(xí)建議:

自頂向下,逐步求精。

本章是整個(gè)課程的重點(diǎn)內(nèi)容,其基本思想、基本原理和基本方法是軟件工程理論體

系中最經(jīng)典的內(nèi)容,考核題型涉與單項(xiàng)選擇題、填空題、簡(jiǎn)答題、綜合應(yīng)用題全部題目

類型,占分值25%左右。

建議考生在牢記基本概念、基本原理的基礎(chǔ)上,對(duì)綜合應(yīng)用題多下工夫,多做練習(xí)。

第一節(jié)結(jié)構(gòu)化需求分析

1.需求分析面臨的挑戰(zhàn)

⑴問題空間理解

⑵人與人之間的通信,“有效溝通”

⑶需求的變更性

2.結(jié)構(gòu)化分析中的基本術(shù)語與表示方法

⑴數(shù)據(jù)流

⑵加工

⑶數(shù)據(jù)存儲(chǔ)

⑷數(shù)據(jù)源和數(shù)據(jù)潭

3.數(shù)據(jù)流圖DFD圖★

用于建立系統(tǒng)功能模型。

是一種描述數(shù)據(jù)變換的圖形化工具,其中包含的元素可以是數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加

工、數(shù)據(jù)源和數(shù)據(jù)潭等。

4.建模過程(繪制流程圖的過程)

自頂向下、功能分解

⑴建立系統(tǒng)環(huán)境圖

⑵。層圖:從。層圖起先對(duì)流程圖中的要素編號(hào)

(3)1層圖

(4)……

【例題】繪制數(shù)據(jù)流程圖(2008年1。月真題)

41.某個(gè)學(xué)生成果管理系統(tǒng)的部分功能如下:

(1)基本信息管理:教務(wù)管理人員輸入或修改學(xué)期教學(xué)執(zhí)行支配、學(xué)生名單和老

師名單;

(2)學(xué)生選課:學(xué)生依據(jù)教學(xué)執(zhí)行支配進(jìn)行選課;

(3)安排任課老師:教務(wù)管理人員為符合開課條件的課程安排老師,并打印任課

通知單給老師;

(4)成果管理:每門課程的老師在考試評(píng)分結(jié)束后將考試成果交給教務(wù)管理人員,

教務(wù)管理人員輸入、維護(hù)成果,系統(tǒng)可生成成果單(發(fā)給學(xué)生)、成果統(tǒng)計(jì)分析表(發(fā)

給教務(wù)管理人員)。

請(qǐng)依據(jù)要求畫出該問題的分層數(shù)據(jù)流圖(要求畫出頂層和。層數(shù)據(jù)流圖)。

【解析】

頂層圖:只包含數(shù)據(jù)源/數(shù)據(jù)潭以與相關(guān)的數(shù)據(jù)流和一個(gè)處理。

學(xué)期教學(xué)執(zhí)行支配學(xué)生名單學(xué)生選課結(jié)果老師

信息

。層圖

要留意的問題:

黑洞(blackhole),即只有輸入而沒有輸出。

②只有輸出而沒有輸入。

③灰洞(grayhole),即輸入不足以產(chǎn)生輸出?;叶词浅3R彩遣灰妆徊煊X的錯(cuò)誤。

④加工處理只用來表示數(shù)據(jù)的處理和變更,避開將計(jì)算機(jī)吩咐作為處理。

⑤數(shù)據(jù)流必需起于且/或止于處理,即每一個(gè)數(shù)據(jù)流必需有一個(gè)處理與之有關(guān),數(shù)

據(jù)流不能起于數(shù)據(jù)存貯且止于一個(gè)數(shù)據(jù)源/數(shù)據(jù)潭或另一個(gè)數(shù)據(jù)存貯;也不能起于某個(gè)

實(shí)體且止于另一個(gè)數(shù)據(jù)源/數(shù)據(jù)潭或數(shù)據(jù)存貯。

5,數(shù)據(jù)字典

定義數(shù)據(jù)流程圖中全部數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)。

依次結(jié)構(gòu):+

選擇結(jié)構(gòu):I

重復(fù)結(jié)構(gòu):{}

子界:m..n

6.加工的描述★

(1)判定表

推斷表(DecisionTable)也稱為決策表,是一個(gè)二維表,它說明白每一種條件組合

所產(chǎn)生的結(jié)果。

該表分為四個(gè)象限(quadrants)。

a)左上限代表全部的條件

b)左下限代表可能的結(jié)果

c)右上限代表每一種條件的取值(用Y和N來表示)

d)右下限用X表示所對(duì)應(yīng)的條件組合所產(chǎn)生的結(jié)果

決策規(guī)則號(hào)12345678

條條件1YYYYNNNN

條件2YYNNYYNN

條件3YNYNYNYN

應(yīng)采取XX

的行動(dòng)

XXXX

XX

【例題】畫出顧客購(gòu)貨的折扣政策的決策表。

銷售商在給顧客的折扣時(shí),要考慮付款日期和交易額這兩個(gè)因素。若付款日期在10

天以內(nèi)(含1。天),則當(dāng)交易額超過¥10,000時(shí),賜予5%的折扣;當(dāng)交易額在¥5,0。。

到Y(jié)1。,。。。之間(含丫5,0。0)時(shí),賜予3%的折扣;當(dāng)交易額低于¥5,0。。時(shí),沒有折

扣。若付款日期超過1。天,則無論交易額多少,均不給任何折扣。

【解析】

決策規(guī)則號(hào)1234

條付款日期010YYYN

交易額10000YNN—

交易額V5000NNY——

應(yīng)采取折扣5%X

的行動(dòng)

折扣3%X

無折扣XX

(2)判定樹

推斷樹(DecisionTree)也稱為決策樹,是用來描述在一組不同的條件下,決策的

行動(dòng)是依據(jù)不同條件與其取值來選擇的處理過程。業(yè)務(wù)規(guī)則的描述通??梢赃\(yùn)用推斷樹

這一過程描述工具。

【例題】畫出顧客購(gòu)貨的折扣政策的決策樹。

銷售商在給顧客的折扣時(shí),要考慮付款日期和交易額這兩個(gè)因素。若付款日期在10

天以內(nèi)(含1。天),則當(dāng)交易額超過¥1。,。。。時(shí),賜予5%的折扣;當(dāng)交易額在¥5,000

到¥1。,0。。之間(含¥5,000)時(shí),賜予3%的折扣;當(dāng)交易額低于¥5,0。。時(shí),沒有折

扣。若付款日期超過1。天,則無論交易額多少,均不給任何折扣。

解析:

交易額210,000折扣5%

5,000W交易額V10,000折扣3%

交易額<3,000折扣0%

折扣規(guī)則

折扣0%

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

【例題】用結(jié)構(gòu)化語言表達(dá):顧客購(gòu)貨的折扣政策。

銷售商在給顧客的折扣時(shí),要考慮付款日期和交易額這兩個(gè)因素。若付款日期在10

天以內(nèi)(含10天),則當(dāng)交易額超過¥10,000時(shí),賜予3%的折扣;當(dāng)交易額在¥5,0。。

到Y(jié)10Q00之間(含Y5Q00)時(shí),賜予2%的折扣;當(dāng)交易額低于Y5,0。。時(shí),沒有折

扣。若付款日期超過1。天,則無論交易額多少,均不給任何折扣。

IF付款日期在10日以上

折扣=。

ELSE

IF交易額>=1000。

折扣=3%

ELSE

IF交易額>=5000

折扣=2%

ELSE

折扣=。

7.需求驗(yàn)證

⑴驗(yàn)證每一個(gè)需求滿足5特性質(zhì)

⑵驗(yàn)證需求規(guī)格說明書滿足4特性質(zhì)

其次節(jié)結(jié)構(gòu)化設(shè)計(jì)

分為總體設(shè)計(jì)和具體設(shè)計(jì)

1.總體設(shè)計(jì)的任務(wù)

把系統(tǒng)的功能需求安排到一個(gè)特定的軟件體系結(jié)構(gòu)中。

2.表達(dá)軟件體系結(jié)構(gòu)的工具

(1)模塊結(jié)構(gòu)圖

(2)層次圖

(3)HIPO圖

3.模塊結(jié)構(gòu)圖★

結(jié)構(gòu)圖(StructureChart)是對(duì)軟件總體結(jié)構(gòu)的一種圖形描述,它顯示了軟件的層次

結(jié)構(gòu)、組織和通訊。也就是說,在結(jié)構(gòu)圖中,顯示了軟件是由哪些模塊組成的,這些模

塊依據(jù)什么樣的層次結(jié)構(gòu)組織在一起以與模塊之間通過什么接口聯(lián)系在一起。

結(jié)構(gòu)圖也稱之為限制結(jié)構(gòu)圖、模塊結(jié)構(gòu)圖或系統(tǒng)結(jié)構(gòu)圖。

⑴模塊符號(hào)

⑵模塊調(diào)用關(guān)系

⑶模塊間的數(shù)據(jù)傳遞

(4)模塊間的限制信息傳遞

⑸循環(huán)調(diào)用結(jié)構(gòu)

(6)選擇調(diào)用結(jié)構(gòu)

⑺數(shù)據(jù)存儲(chǔ)

4.層次圖

層次圖中一個(gè)矩形框代表一個(gè)模塊,框間的連線表示調(diào)用關(guān)系(位于上方的矩形框

所代表的模塊調(diào)用位于下方的矩形框所代表的模塊)O

5.HIPO圖

HIPO圖是美國(guó)IBM公司獨(dú)創(chuàng)的“層次圖加輸入/處理/輸出圖”的英文縮寫。為

了使HIPO圖具有可追蹤性,在H圖(即層次圖)里除了頂層的方框之外,每個(gè)方框都加

了編號(hào)。

H圖+IPO圖

6.總體設(shè)計(jì)步驟

將DFD圖映射為設(shè)計(jì)層面的模塊與模塊調(diào)用。

⑴變換流(TransformFlow)?;谧儞Q流的數(shù)據(jù)流程圖是一個(gè)線性的依次結(jié)構(gòu),

由輸入臂、輸出臂和變換中心三部分組成。其中變換中心使系統(tǒng)數(shù)據(jù)發(fā)生本質(zhì)的變更,

輸入臂將物理輸入變換成邏輯輸入,而輸出臂則將邏輯輸出變換成物理輸出。

外部衣示

內(nèi)部衣泳

⑵事務(wù)流(TransactionFlow)。事務(wù)流的數(shù)據(jù)流程圖中有一個(gè)事務(wù)處理中心,它

將輸入分為很多相互平行的加工路徑,然后依據(jù)輸入的屬性,選擇某一加工路徑。如下

圖所示。

業(yè)務(wù)中心完成以下任務(wù):

>⑴接收事務(wù)(即輸入數(shù)據(jù));

>⑵分析每個(gè)事務(wù)并確定它的類型;

>⑶依據(jù)事務(wù)的類型選取一條活動(dòng)通路。

畫出以轉(zhuǎn)換為中心的限制結(jié)構(gòu)圖。

【解析】這是一個(gè)典型的以“轉(zhuǎn)換為中心”結(jié)構(gòu)的分解,可以轉(zhuǎn)化為:

數(shù)據(jù)計(jì)算

輸入數(shù)據(jù)數(shù)據(jù)求解打印輸出

總結(jié):任何處理都可以劃分為兩種轉(zhuǎn)換類型之一:以轉(zhuǎn)換為中心的分解和以業(yè)務(wù)為

中心結(jié)構(gòu)的分解。

【例題】產(chǎn)生固定資產(chǎn)資料數(shù)據(jù)流程圖如下,做出以業(yè)務(wù)為中心的模塊限制結(jié)構(gòu)圖。

報(bào)固定資產(chǎn)卡

表資產(chǎn)變動(dòng)表、

主管部門——>制折舊匯總表:

作固定資產(chǎn)明細(xì)表、

A

固定資產(chǎn)資料文件

【解析】

這是以業(yè)務(wù)為中心的處理,依據(jù)模板,可以轉(zhuǎn)化為:

產(chǎn)

動(dòng)

產(chǎn)

產(chǎn)

細(xì)

7.模塊

執(zhí)行一個(gè)特殊任務(wù)的一個(gè)過程以與相關(guān)的數(shù)據(jù)結(jié)構(gòu)。模塊通常由兩部分組成:模塊

接口和模塊體。

8.模塊化

“分而治之”和“抽象”。

把一個(gè)待開發(fā)的軟件分解成若干個(gè)簡(jiǎn)潔的、具有高內(nèi)聚低耦合的模塊,這一過程稱

為模塊化。

模塊化是系統(tǒng)設(shè)計(jì)基本原理/原則之一。

9.內(nèi)聚(Cohesion)

是指一個(gè)模塊內(nèi)部個(gè)成分之間相互關(guān)聯(lián)程度的度量。也就是說,凝合是對(duì)模塊內(nèi)各

處理動(dòng)作組合強(qiáng)度的一種度量。很明顯,一個(gè)模塊的內(nèi)聚越大越好。

(1)偶然凝合可維護(hù)性最差

(2)邏輯凝合

(3)時(shí)間凝合

(4)過程內(nèi)聚

(5)通信內(nèi)聚

(6)依次凝合

(7)功能凝合可維護(hù)性最好

io.模塊耦合

耦合(coupling)是對(duì)兩個(gè)模塊之間聯(lián)接程度的一種度量。模塊間的依靠程度越大,

則其耦合程度也就越大;反之,模塊間的依靠程度越小,則其耦合程度也就越小。

很明顯,為了使軟件具有較好的可維護(hù)性和可修改性,模塊間的關(guān)聯(lián)程度即耦合程

度應(yīng)越小越好。因?yàn)轳詈铣潭仍叫?,表明模塊間的獨(dú)立程度越大,這樣在修改一個(gè)模塊

時(shí),對(duì)其它模塊的影響程度就越小,從而使模塊的修改工作局限于一個(gè)最小范圍之內(nèi)。

(1)內(nèi)容耦合

(2)公共耦合

(3)數(shù)據(jù)耦合

(4)限制耦合

(5)標(biāo)記耦合

原則是:盡量用數(shù)據(jù)耦合,少用限制耦合,限制公共耦合的范圍,避開運(yùn)用內(nèi)容耦合。

11.啟發(fā)式規(guī)則

高內(nèi)聚、低耦合。

⑴改進(jìn)軟件結(jié)構(gòu),提高軟件獨(dú)立性。模塊分解

⑵模塊規(guī)模適中

(3)力求深度、寬度、扇出、扇入適中。

深度:表示其限制的層數(shù)。

寬度:同一層次上模塊總數(shù)的最大值。

扇出:一個(gè)模塊干脆限制的下級(jí)模塊的數(shù)目。

扇入:有多少個(gè)上級(jí)模塊干脆調(diào)用它。

原則:頂層模塊扇出比較大,中間層模塊扇出較小,底層模塊具有較大的扇入。

(4)盡量使模塊的作用域在其限制域內(nèi)。

模塊的限制域:這個(gè)模塊本身以與全部干脆或間接從屬它的模塊的集合。

模塊的作用域:受該模塊內(nèi)一個(gè)推斷所影響的全部模塊的集合。

(5)盡力降低模塊接口的困難度

(6)力求模塊功能可以預(yù)料

12.具體設(shè)計(jì)

具體描述模塊結(jié)構(gòu)圖中的每一模塊,即給出實(shí)現(xiàn)模塊功能的實(shí)施機(jī)制,包括一組例

程和數(shù)據(jù)結(jié)構(gòu)。

13.結(jié)構(gòu)化程序設(shè)計(jì)方法

一種基于結(jié)構(gòu)的編程方法,即采納依次結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)進(jìn)行編程,其中

每一結(jié)構(gòu)只允許一個(gè)入口和一個(gè)出口O

三種基本的限制結(jié)構(gòu):

(a)依次結(jié)構(gòu),先執(zhí)行A再執(zhí)行B;

(b)IF-THEN-ELSE型選擇(分支)結(jié)構(gòu);

(c)DO-WHILE型循環(huán)結(jié)構(gòu)

14.具體設(shè)計(jì)工具

(D程序流程圖

程序流程圖:程序流程圖又稱為程序框圖,它是歷史最悠久運(yùn)用最廣泛的描述過程

設(shè)計(jì)的方法,然而它也是用得最混亂的一種方法。

(2)盒圖(N-S圖)

出于要有一種不允許違反結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具的考慮,Nassi和

Shneiderman提出了盒圖,又稱為N-S圖。

循環(huán)條件

Do-Until

Do-While部分

部分

循環(huán)條件

(a)依次;(b)IF-THEN-ELSE型分支;?CASE型多分支;

(d)循環(huán);(e)調(diào)用子程序A

(3)PAD圖

PAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,自1973年由日本

日立公司獨(dú)創(chuàng)以后,已得到肯定程度的推廣。它用二維樹形結(jié)構(gòu)的圖來表示程序的限制

流,將這種圖翻譯成程序代碼比較簡(jiǎn)潔。下圖給出PAD圖的基本符號(hào)。

(4)類程序設(shè)計(jì)語言PDL

PDL也稱為偽碼,它是用正文形式表示數(shù)據(jù)和處理過程的設(shè)計(jì)工具。

PDL具有嚴(yán)格的關(guān)鍵字外部語法,用于定義限制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu);另一方面,PDL

表示實(shí)際操作和條件的內(nèi)部語法通常又是敏捷自由的,以便可以適應(yīng)各種工程項(xiàng)目的須

要。因此,一般說來PDL是一種“混雜”語言,它運(yùn)用一種語言(通常是某種自然語

言)的詞匯,同時(shí)卻運(yùn)用另一種語言(某種結(jié)構(gòu)化的程序設(shè)計(jì)語言)的語法。

可以作為注釋工具干脆插在源程序中間。

15.設(shè)計(jì)規(guī)約

完整精確地描述滿足需求規(guī)約所要求的全部功能模塊,以與伴隨功能模塊而出現(xiàn)的

非功能機(jī)制。

設(shè)計(jì)規(guī)約包括概要設(shè)計(jì)規(guī)約和具體設(shè)計(jì)規(guī)約。

(1)概要設(shè)計(jì)規(guī)約

指明高層軟件體系結(jié)構(gòu)。

>系統(tǒng)環(huán)境

>軟件模塊的結(jié)構(gòu)

>模塊描述

>文件結(jié)構(gòu)和全局?jǐn)?shù)據(jù)文件的邏輯結(jié)構(gòu)

>測(cè)試需求

⑵具體設(shè)計(jì)規(guī)約

>各處理過程的算法

>算法所涉與的全部數(shù)據(jù)結(jié)構(gòu)的描述

【例題】依據(jù)下列變換型的數(shù)據(jù)流圖,設(shè)計(jì)出初始軟件結(jié)構(gòu)圖。

輸入流變換中心輸出流

題40圖

【答案】

【解析】這是一個(gè)典型的變換型數(shù)據(jù)流程圖,將其轉(zhuǎn)換為模塊限制圖時(shí),第一層可以分

解為三個(gè)模塊:輸入模塊、變換模塊、輸出模塊。每一模塊還可以接著分解。

第四章面對(duì)對(duì)象方法UML

復(fù)習(xí)建議:

以不變應(yīng)萬變。

統(tǒng)一建模語言(UnifiedModelingLanguage,UML)

UML是目前流行的建模語言,特殊是在網(wǎng)站開發(fā)中廣泛應(yīng)用。

UML涉與很多的圖,每一種圖都有不同的圖形符號(hào)、作用,在什么狀況下用何種圖

來描述是本章的重點(diǎn)內(nèi)容。

考核題目類型包括單項(xiàng)選擇題、填空題、簡(jiǎn)答題,分值在10%~15%之間。須要考

生駕馭各種UML圖的作用。

面對(duì)對(duì)象建模過程的步驟:

⑴需求獲得

a)建立用況(usecase)模型和用況場(chǎng)景

⑵需求分析

a)建立活動(dòng)圖和狀態(tài)圖

b)類圖(建立域模型)

。依次圖(實(shí)現(xiàn)用況)

⑶編寫需求規(guī)格說明書

(4)需求驗(yàn)證

第一節(jié)UML術(shù)語表

1.對(duì)象(object)

對(duì)象(object)是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體。一個(gè)對(duì)象由一組屬性和對(duì)

這組屬性進(jìn)行操作的一組方法組成。

對(duì)象只描述客觀事物本質(zhì)的與系統(tǒng)目標(biāo)有關(guān)的特征。

對(duì)象之間通過消息通信,一個(gè)對(duì)象通過向另一個(gè)對(duì)象發(fā)送消息激活某一個(gè)功能。

2.類

類(Class)是具有相同屬性、操作、關(guān)系和語義的一組對(duì)象的集合,它為屬于該

類的全部對(duì)象供應(yīng)了同一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。

類有超類(Superclass)和子類(Subclass)之分。

(相對(duì)而言)對(duì)象與類的關(guān)系如同程序設(shè)計(jì)語言中變量和類型的關(guān)系。對(duì)象是類的

實(shí)例(Instance)。

類在類圖上運(yùn)用包含三個(gè)部分的矩形來描述,如下圖4-1所示。最上面的部分顯示

類的名稱,中間部分包含類的屬性,最下面的部分包含類的操作(或者說“方法”)。

|CDSalosRapon

^weekNumber:int

4>salesForWeek:int

^totalSalesForYear:int

^refreshQ:void

圖4-1:類圖中的示例類對(duì)象

3.屬性

對(duì)象或類的屬性(attributes)描述了對(duì)象的具體特征。屬性有屬性名和屬性值(或

稱屬性狀態(tài))。

每條屬性可以包括屬性的可見性、屬性名稱、類型、缺省值和約束特性。

UML規(guī)定類的屬性的語法為:

可見性屬性名:類型=缺省值{性質(zhì)串}

可見性:public(+)、protected(#)、private(-)、包內(nèi)的(-)

4.類的操作

通常也被稱為功能,但是它們被約束在類的內(nèi)部,只能作用到該類的對(duì)象上。操作

名、返回類型和參數(shù)表組成操作界面。

UML規(guī)定操作的語法為:

可見性操作名(參數(shù)表):返回類型{性質(zhì)串}

例如:+取客戶地址(客戶名:字符串):字符串

5.接口

接口是操作的一個(gè)集合,其中每個(gè)操作描述了類、構(gòu)件或子系統(tǒng)的一個(gè)服務(wù)。

(1)采納具有分欄和關(guān)鍵字〈interface〉的矩形符號(hào)來表示

⑵采納小圓圈和半圓圈來表示

6.協(xié)作

協(xié)作是一個(gè)交互,涉與交互的三要素:交互各方、交互方式以與交互內(nèi)容。

7.用況(usecase)/用況

對(duì)一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作應(yīng)產(chǎn)生對(duì)特定參與者有值的、可視察的結(jié)

果。

8.主動(dòng)類

至少具有一個(gè)進(jìn)程或線程的類。能夠啟動(dòng)系統(tǒng)的限制活動(dòng),并且其對(duì)象的行為通常

與其它元素行為并發(fā)的。

表示方法:兩條豎線。

9.構(gòu)件

系統(tǒng)設(shè)計(jì)中的一種模塊化部件,通過外部接口隱藏了它的內(nèi)部實(shí)現(xiàn)。

10.制品

系統(tǒng)中包含物理信息的、可替代的物理部件。

11-節(jié)點(diǎn)

節(jié)點(diǎn)是在運(yùn)行時(shí)存在的物理元素,通常表示一種具有記憶實(shí)力和處理實(shí)力的計(jì)算機(jī)

資源。

12.關(guān)聯(lián)(Association)

關(guān)聯(lián)反映了類和類之間的靜態(tài)關(guān)系。關(guān)聯(lián)在模型中,特殊是在永久業(yè)務(wù)對(duì)象模型中

是最基本的關(guān)系。

鏈(link)是對(duì)象之間具有特定語義關(guān)系的抽象。

(1)關(guān)聯(lián)名

⑵導(dǎo)航

(3)角色

(4)可見性

(5)多重性:多重性(Multiplicity)定義了與一個(gè)對(duì)象/類相聯(lián)系的對(duì)象/類出現(xiàn)

一次,該對(duì)象/類可能出現(xiàn)的最小和最大的數(shù)目。

(6)限定符

⑺聚合:一個(gè)類是另一類的一部分。

(8)組合:是聚合的一種特殊形式

(9)關(guān)聯(lián)類

(10)約束

13.泛化/繼承

繼承:特殊類(子類)的對(duì)象擁有其一般類(超類)的全部屬性與服務(wù),稱作特殊

類對(duì)一般類的繼承(Inheritance)。利用繼承(inheritance),子類可以繼承父類的

屬性和方法。子類/父類也可分別叫做特殊類/一般類、子類/超類、派生類/基類等。

繼承反映了類之間的一種聯(lián)系或結(jié)構(gòu):一般-特殊結(jié)構(gòu),也稱分類結(jié)構(gòu)

(ClassificationStructure),是由一組具有繼承關(guān)系的類所組成的結(jié)構(gòu)。僅由一些單

繼承關(guān)系的類形成的結(jié)構(gòu)又稱作層次結(jié)構(gòu)(HierarchyStructure);由一些存在多繼承

關(guān)系的類形成的結(jié)構(gòu)又稱作網(wǎng)格結(jié)構(gòu)(LatticeStructure)o

Polygon

semllMorARsgel8<xrdlr(]R£Cl

仝getIZevftorx

I

arcieBiipie

ArtliraryPol用on

$emlMnccAjd$

rotaleodentalonpdnb

ctaue&slec<lentalcn

QelArearotateEdPdnl

QeiOrientalcorerriCtfPoint

gelPetlmelerljerdhdia-ce&czle

robile

oeIBoundlroReelDElAjea

gelRadlu;ctoroeBcde

QelPerimeferLErgh

oelArea

ge!Bo*x<llr(iRrcl

RectangleRMUUTRMnonQelPerfmeterljerQri

QBlOrienlBlon

ger^rlce;

gefSemllteloobBhclQhlrxjnPdnb

QelBemlUncrAjil;Mdhradls

oelfocu$l

ctcrgeBczledwQeNunPdnB

QelFoarZ

$elHelQhlcteraeEKSle

5elAldboeLAjea

QelAjtaQelPeilmeierLErQh

QelPertmetorLerghQen/Brl<25

Qeruterlae;

gelB<xrdir(]Rjecl

14.多態(tài)性(Polymorphism)

是指一般類中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表

現(xiàn)出不同的行為。這使得同一屬性或服務(wù)名在一般類與其各個(gè)特殊類中具有不同的語

義。

多態(tài)是指用同一界面形式表示不同對(duì)象類中的不同實(shí)現(xiàn)的實(shí)力。

多態(tài)性的實(shí)現(xiàn)基于兩個(gè)基本原理:封裝和泛化。

多態(tài)性實(shí)現(xiàn)的方法:

(1)泛化

(2)定義一個(gè)抽象類——接口類

15.細(xì)化

細(xì)化是類目之間的語義關(guān)系,其中一個(gè)類目規(guī)約了保證另一類目執(zhí)行的契約。

用空心三角形的虛線表示。

16.依靠

依靠是一種運(yùn)用關(guān)系,用于描述一個(gè)類目運(yùn)用另一類目的信息和服務(wù)。

用有向虛線段表示。

17.包

包是模型元素的一個(gè)分組,一個(gè)包本身可以被嵌套在其它包中,并且可以含有子包

和其它類型的模型元素。

其次節(jié)UML的模型表達(dá)格式

圖形化工具。

圖的類別:

(一)結(jié)構(gòu)圖

(1)對(duì)象結(jié)構(gòu)建模一類圖和對(duì)象圖

(2)應(yīng)用結(jié)構(gòu)建模一包圖、構(gòu)件圖、部署圖、組合結(jié)構(gòu)圖

(二)行為圖

對(duì)象交互建模一依次圖、協(xié)作圖(通信圖、交互綜述圖、定時(shí)圖)、狀態(tài)圖(狀態(tài)

機(jī))

對(duì)象行為建模一用況圖、活動(dòng)圖

對(duì)象建模中圖的關(guān)系

需求獲取分析設(shè)計(jì)

活動(dòng)圖狀態(tài)圖

■■

用況圖類圖類圖

順序圖協(xié)作圖

1.類圖

任何系統(tǒng)都須要從兩方面進(jìn)行描述:結(jié)構(gòu)信息和行為信息。系統(tǒng)的組成表達(dá)了系統(tǒng)

各組成要素之間的聯(lián)系,稱為結(jié)構(gòu);這些組成要素的執(zhí)行邏輯稱為行為。在面對(duì)對(duì)象方

法中,系統(tǒng)的結(jié)構(gòu)信息是通過類圖(classdiagram)來描述的;而系統(tǒng)行為信息則通

過用況圖、交互圖(包括依次圖和協(xié)作圖)和狀態(tài)圖來描述的。也就是說,前者說明白

系統(tǒng)的組成部分是什么,而后者則說明白系統(tǒng)做什么。

類圖(classdiagram)表達(dá)了系統(tǒng)的靜態(tài)結(jié)構(gòu)信息,即系統(tǒng)是由哪些類組成的,

這些類之間的關(guān)系是什么。

類圖顯示系統(tǒng)各個(gè)部分以與怎樣將它們組裝起來;但卻不能模擬組裝后系統(tǒng)的工作

狀況。

構(gòu)造類圖的三個(gè)關(guān)鍵問題是:

⑴系統(tǒng)中有哪些須要關(guān)切的類?

⑵這些類是如何描述的?

(3)這些類之間的聯(lián)系是什么?

創(chuàng)建一個(gè)系統(tǒng)的類圖,要涉與4方面的工作:

(1)模型化待建系統(tǒng)中的概念,形成類圖中基本元素

(2)模型化待建系統(tǒng)中的各種關(guān)系,形成該系統(tǒng)的初始關(guān)系。

(3)模型化系統(tǒng)中的協(xié)作,給出該系統(tǒng)的最終類圖。

(4)模型化邏輯數(shù)據(jù)庫(kù)模式

-屬性1

-屬性2

Subscription類名

+操作1。

+操作2。series:String

+.........0priceCategory:Category

屬性

+操作n()number:Integer

cost0:Money

操作

reserve(series:String,level:SeatLevel)

-訂單編號(hào)

cancel0

-訂貨日期

-客戶編號(hào)

-總翎

+計(jì)算訂單總額()

2.用況圖(usecase圖)

用況是對(duì)一個(gè)參與者(actor)運(yùn)用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交互過程的一個(gè)文

字描述序列。

用況是系統(tǒng)、子系統(tǒng)或類與外部的參與者(actor)交互的動(dòng)作序列的說明,包

括可選的動(dòng)作序列和會(huì)出現(xiàn)異樣的動(dòng)作序列。

用況圖(UseCaseDiagram)是指反映活動(dòng)者,系統(tǒng)邊界所封閉的用況,與活動(dòng)

者與用況之間,用況與用況之間關(guān)系的一種圖。

6個(gè)模型元素:

(1)主題

(2)用況

⑶參與者:

>系統(tǒng)用戶:是最常見的一種角色。是干脆運(yùn)用系統(tǒng)的人。

>另一個(gè)系統(tǒng):如DSS可作為MIS的一個(gè)活動(dòng)者。補(bǔ)貨系統(tǒng)可作為定單處理系

統(tǒng)的活動(dòng)者。

A時(shí)間:當(dāng)經(jīng)過肯定時(shí)間觸發(fā)系統(tǒng)中的某個(gè)事務(wù)時(shí),時(shí)間就成了角色。例如定期

的某些業(yè)務(wù)處理工作。

(4)關(guān)聯(lián)

⑸泛化

(6)依靠

關(guān)系

溫馨提示

  • 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)論