軟件工程軟件設(shè)計(jì)_第1頁(yè)
軟件工程軟件設(shè)計(jì)_第2頁(yè)
軟件工程軟件設(shè)計(jì)_第3頁(yè)
軟件工程軟件設(shè)計(jì)_第4頁(yè)
軟件工程軟件設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程軟件設(shè)計(jì)第一頁(yè),共八十九頁(yè),2022年,8月28日軟件設(shè)計(jì)概述內(nèi)容軟件設(shè)計(jì)是一個(gè)描述、組織、構(gòu)造系統(tǒng)部件的過程,是確定軟件“怎么做”的過程。這個(gè)過程分為兩個(gè)層次:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。軟件設(shè)計(jì)的輸入是《需求規(guī)格說明書》,輸出是《概要設(shè)計(jì)說明書》和《詳細(xì)設(shè)計(jì)說明書》第二頁(yè),共八十九頁(yè),2022年,8月28日總體設(shè)計(jì)(概要設(shè)計(jì))從全局的高度,確定系統(tǒng)的總體實(shí)現(xiàn)方案和整體框架它要覆蓋《需求規(guī)格說明書》的全部?jī)?nèi)容,同時(shí)作為指導(dǎo)詳細(xì)設(shè)計(jì)的依據(jù)詳細(xì)設(shè)計(jì)確定應(yīng)該怎樣具體地實(shí)現(xiàn)各個(gè)軟件元素,得到對(duì)目標(biāo)系統(tǒng)的精確描述要覆蓋總體設(shè)計(jì)的全部?jī)?nèi)容,同時(shí)作為指導(dǎo)程序設(shè)計(jì)的依據(jù)第三頁(yè),共八十九頁(yè),2022年,8月28日總體設(shè)計(jì)的具體任務(wù)制定規(guī)范系統(tǒng)命名規(guī)范,模塊命名規(guī)范,構(gòu)件命名規(guī)范,變量命名規(guī)范,以及數(shù)據(jù)庫(kù)中的表名、字段名、索引名、試圖名、存儲(chǔ)過程名、觸發(fā)器名等總體結(jié)構(gòu)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)通常采用軟件結(jié)構(gòu)圖的橫向表示功能分解,縱向表示功能的層次調(diào)用第四頁(yè),共八十九頁(yè),2022年,8月28日處理方式設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)文件設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量設(shè)計(jì)文檔設(shè)計(jì)第五頁(yè),共八十九頁(yè),2022年,8月28日評(píng)審總體設(shè)計(jì)可回溯性接口定義是否清晰檢查模塊的內(nèi)聚力風(fēng)險(xiǎn)性實(shí)用性質(zhì)量屬性各種選擇方案限制其他問題第六頁(yè),共八十九頁(yè),2022年,8月28日總體設(shè)計(jì)的過程設(shè)想供選擇的方案根據(jù)需求分析階段的數(shù)據(jù)流程圖中處理邏輯關(guān)系,歸并形成子系統(tǒng)不同的子系統(tǒng)組合產(chǎn)生不同的系統(tǒng)實(shí)現(xiàn)方案材料要求:系統(tǒng)流程圖、組成系統(tǒng)的元素清單、成本/效益分析、實(shí)現(xiàn)這個(gè)方案的進(jìn)度計(jì)劃推薦最佳方案功能分解將復(fù)雜功能分解成簡(jiǎn)單功能,使之對(duì)應(yīng)成一個(gè)模塊只完成一個(gè)適當(dāng)功能,便于實(shí)現(xiàn)第七頁(yè),共八十九頁(yè),2022年,8月28日設(shè)計(jì)軟件結(jié)構(gòu)采用層次圖或結(jié)構(gòu)圖描述模塊之間調(diào)用的關(guān)系數(shù)據(jù)設(shè)計(jì)包括數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、文件設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)制定測(cè)試計(jì)劃針對(duì)軟件結(jié)構(gòu)的測(cè)試和集成測(cè)試書寫文檔總體設(shè)計(jì)規(guī)格說明書用戶手冊(cè)測(cè)試計(jì)劃詳細(xì)的實(shí)現(xiàn)計(jì)劃第八頁(yè),共八十九頁(yè),2022年,8月28日設(shè)計(jì)過程的一般模型第九頁(yè),共八十九頁(yè),2022年,8月28日設(shè)計(jì)原則原則一,多樣化設(shè)計(jì)原則二,設(shè)計(jì)對(duì)于分析模型應(yīng)該是可跟蹤的原則三,設(shè)計(jì)不應(yīng)該從頭做起原則四,軟件設(shè)計(jì)應(yīng)該盡可能縮短軟件和現(xiàn)實(shí)世界的距離原則五,設(shè)計(jì)應(yīng)該表現(xiàn)出一致性和規(guī)范性原則六,設(shè)計(jì)的易修改性原則七,容錯(cuò)性設(shè)計(jì)原則八,設(shè)計(jì)的粒度要適當(dāng)原則九,在設(shè)計(jì)時(shí)就開始評(píng)估軟件的質(zhì)量原則十,要復(fù)審設(shè)計(jì),減少設(shè)計(jì)引入的錯(cuò)誤第十頁(yè),共八十九頁(yè),2022年,8月28日影響軟件設(shè)計(jì)的因素共同設(shè)計(jì)用戶界面文化問題并發(fā)性第十一頁(yè),共八十九頁(yè),2022年,8月28日軟件設(shè)計(jì)的概念模塊一個(gè)軟件系統(tǒng)根據(jù)其功能分解成許多較小的程序單元模塊的基本屬性功能-模塊要完成的任務(wù)邏輯–

描述模塊為了完成任務(wù),模塊內(nèi)部怎么做狀態(tài)–

使用該模塊時(shí)的環(huán)境和條件第十二頁(yè),共八十九頁(yè),2022年,8月28日模塊化定義即把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,將多個(gè)模塊組織起來實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。模塊規(guī)模的確定標(biāo)準(zhǔn)模塊應(yīng)該是高內(nèi)聚的模塊應(yīng)該是松散耦合的第十三頁(yè),共八十九頁(yè),2022年,8月28日第十四頁(yè),共八十九頁(yè),2022年,8月28日模塊獨(dú)立性“模塊獨(dú)立”是模塊化、抽象、逐步求精和信息隱藏等概念的直接結(jié)果,也是完成有效的模塊設(shè)計(jì)的基本標(biāo)準(zhǔn)。模塊獨(dú)立性原則的兩個(gè)定性標(biāo)準(zhǔn)度量耦合-衡量模塊之間彼此依賴的緊密程度內(nèi)聚-衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度第十五頁(yè),共八十九頁(yè),2022年,8月28日耦合–

模塊間相互關(guān)聯(lián)的程度關(guān)聯(lián)程度的決定因素一個(gè)模塊對(duì)另一個(gè)模塊的訪問模塊間傳遞的數(shù)據(jù)量一個(gè)模塊傳遞給另一個(gè)模塊的控制信息模塊間接口的復(fù)雜程度第十六頁(yè),共八十九頁(yè),2022年,8月28日耦合的分類內(nèi)容耦合-一個(gè)模塊直接參考另一個(gè)模塊的內(nèi)容例子結(jié)論-堅(jiān)決避免使用內(nèi)容耦合

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:test");

stmt=con.createStatement();

rs=stmt.executeQuery("selectareano,areafangxiang,areasell,endtimefromlandInformation");

while(rs.next())

{

…第十七頁(yè),共八十九頁(yè),2022年,8月28日公共耦合-多個(gè)模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境分類松散公共耦合:一個(gè)模塊只是往公共數(shù)據(jù)環(huán)境里傳送數(shù)據(jù),而另一個(gè)模塊只是從公共數(shù)據(jù)環(huán)境中取數(shù)據(jù)緊密公共耦合:兩個(gè)模塊都向公共數(shù)據(jù)環(huán)境中送數(shù)據(jù),同時(shí)也都從公共數(shù)據(jù)環(huán)境中取數(shù)據(jù)例子動(dòng)態(tài)并發(fā)程序的執(zhí)行結(jié)論-限制使用公共耦合第十八頁(yè),共八十九頁(yè),2022年,8月28日外部耦合–

兩個(gè)模塊都訪問同一個(gè)全局簡(jiǎn)單公共變量,而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),且不是通過參數(shù)表傳遞該全局變量的信息例子結(jié)論:限制使用外部耦合while(gloableT==0){ifx>25thenModuleA();elseModuleB();}第十九頁(yè),共八十九頁(yè),2022年,8月28日控制耦合–

模塊A向模塊B傳遞一個(gè)控制信息例子把一個(gè)數(shù)組名作為參數(shù)傳遞給另一個(gè)模塊時(shí),就形成了參數(shù)以傳址的形式進(jìn)行傳遞,降低模塊的獨(dú)立性。結(jié)論:少用控制耦合第二十頁(yè),共八十九頁(yè),2022年,8月28日數(shù)據(jù)結(jié)構(gòu)耦合–

一個(gè)模塊調(diào)用另一個(gè)模塊時(shí)傳遞了整個(gè)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)耦合–

兩個(gè)模塊之間傳遞的是數(shù)據(jù)項(xiàng)結(jié)論:盡量使用數(shù)據(jù)耦合。第二十一頁(yè),共八十九頁(yè),2022年,8月28日非直接耦合–

兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全通過主模塊的控制和調(diào)用來實(shí)現(xiàn)例子If(x)thenmodelAelsemodelB結(jié)論:獨(dú)立性最強(qiáng)的耦合第二十二頁(yè),共八十九頁(yè),2022年,8月28日內(nèi)容耦合公共耦合外部耦合控制耦合數(shù)據(jù)結(jié)構(gòu)耦合數(shù)據(jù)耦合非直接耦合高低弱強(qiáng)模塊耦合性模塊獨(dú)立性第二十三頁(yè),共八十九頁(yè),2022年,8月28日耦合的類型第二十四頁(yè),共八十九頁(yè),2022年,8月28日如何降低模塊間的耦合根據(jù)系統(tǒng)的特點(diǎn),選擇恰當(dāng)?shù)鸟詈项愋徒档湍K接口的復(fù)雜性把模塊之間的通信信息放在緩沖區(qū)中軟件設(shè)計(jì)的目標(biāo)是降低模塊間的耦合程度,設(shè)計(jì)時(shí)遵循的原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制使用公共耦合,堅(jiān)決不用內(nèi)容耦合。第二十五頁(yè),共八十九頁(yè),2022年,8月28日

內(nèi)聚巧合內(nèi)聚–

一個(gè)模塊執(zhí)行多個(gè)完全互不相關(guān)的動(dòng)作例子為了節(jié)省空間,將多個(gè)模塊中重復(fù)出現(xiàn)的語句提取出來,組成一個(gè)新的模塊程度:低內(nèi)聚第二十六頁(yè),共八十九頁(yè),2022年,8月28日邏輯內(nèi)聚–

一個(gè)模塊執(zhí)行一系列相關(guān)動(dòng)作例子程序執(zhí)行的邏輯類似,并共用一部分代碼,接口參數(shù)為了區(qū)分執(zhí)行過程而顯得非常復(fù)雜。程度:低內(nèi)聚第二十七頁(yè),共八十九頁(yè),2022年,8月28日時(shí)間內(nèi)聚–

一個(gè)模塊內(nèi)部的多個(gè)任務(wù)是與時(shí)間有關(guān)例子:程序的初始化過程程度:低內(nèi)聚

publicvoidinit(ServletConfigconfig)throwsServletException {moni_num_in=0; moni_num_end=0;rBundle=ResourceBundle.getBundle("immserver.servletConfig"); transportType=rBundle.getString("TRANSPORT_TYPE");

……}第二十八頁(yè),共八十九頁(yè),2022年,8月28日過程內(nèi)聚–

模塊執(zhí)行的若干動(dòng)作之間有順序關(guān)系例子驗(yàn)證用戶登錄信息If合法提取用戶個(gè)性化信息Else

拒絕登錄程度:中等程度內(nèi)聚第二十九頁(yè),共八十九頁(yè),2022年,8月28日通信內(nèi)聚–

模塊執(zhí)行的若干動(dòng)作之間有順序關(guān)系,并且所有動(dòng)作是在相同的數(shù)據(jù)上執(zhí)行。例子讀取文件記錄重新計(jì)算文件記錄將文件記錄進(jìn)行輸出程度:中等程度內(nèi)聚第三十頁(yè),共八十九頁(yè),2022年,8月28日信息內(nèi)聚–

一個(gè)模塊中執(zhí)行一系列動(dòng)作,每個(gè)動(dòng)作都有自己的入口點(diǎn)和處理代碼,所有的動(dòng)作都作用在相同的數(shù)據(jù)結(jié)構(gòu)上。例子程度:高內(nèi)聚第三十一頁(yè),共八十九頁(yè),2022年,8月28日功能內(nèi)聚–

一個(gè)模塊中各個(gè)部分都是完成某一具體功能必不可少的組成部分。例子成功標(biāo)志用戶身份驗(yàn)證(用戶名,用戶密碼){

驗(yàn)證過程;

…return成功標(biāo)志;}程度:高內(nèi)聚第三十二頁(yè),共八十九頁(yè),2022年,8月28日巧合內(nèi)聚邏輯內(nèi)聚時(shí)間內(nèi)聚過程內(nèi)聚通信內(nèi)聚信息內(nèi)聚功能內(nèi)聚低高弱強(qiáng)模塊內(nèi)聚性模塊獨(dú)立性第三十三頁(yè),共八十九頁(yè),2022年,8月28日練習(xí)1軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是

A。兩個(gè)模塊之間的耦合方式中,B耦合的耦合程度最高,

C耦合的耦合度最低。一個(gè)模塊內(nèi)部的內(nèi)聚種類中

D內(nèi)聚的內(nèi)聚程度最高,

E內(nèi)聚的內(nèi)聚度最低。A:①低內(nèi)聚低耦合

②低內(nèi)聚高耦合

③高內(nèi)聚低耦合

④高內(nèi)聚高耦合B:①數(shù)據(jù)

②非直接

③控制

④內(nèi)容C:①數(shù)據(jù)

②非直接

③控制

④內(nèi)容D:①偶然

②邏輯

③功能

④過程E:①偶然

②邏輯

③功能

④過程

第三十四頁(yè),共八十九頁(yè),2022年,8月28日練習(xí)2軟件設(shè)計(jì)中劃分程序模塊通常遵循的原則是要使各模塊間的耦合性盡可能

A。三種可能的模塊耦合是

B

。例如,一個(gè)模塊直接引用另一模塊中的數(shù)據(jù)。

C

。例如,一個(gè)模塊把開關(guān)量作為參數(shù)傳遞給另一模塊。

D

。例如,一個(gè)模塊把一個(gè)數(shù)值量作為參數(shù)傳遞給另一模塊。其中

E的耦合性最強(qiáng)。A:

①?gòu)?qiáng)

②適中

③弱

B~E:①公共耦合

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

③邏輯耦合

④外部耦合

⑤內(nèi)容耦合

⑥控制耦合

第三十五頁(yè),共八十九頁(yè),2022年,8月28日練習(xí)3模塊內(nèi)聚度用于衡量模塊內(nèi)部各成分之間彼此結(jié)合的緊密程度1、一組語句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間把這些語句放在一個(gè)模塊中,該模塊的內(nèi)聚度是

A的。2、將幾個(gè)邏輯上相似的成分放在一個(gè)模塊中,該模塊的內(nèi)聚度是

B的。3、模塊中所有成分引用共同的數(shù)據(jù),該模塊的內(nèi)聚度是

C

的。4、模塊中所有成分結(jié)合起來完成一項(xiàng)任務(wù),該模塊的內(nèi)聚度是

D的。A~E:①功能性

②邏輯性③通信性④過程性

⑤偶然性

⑥瞬時(shí)性第三十六頁(yè),共八十九頁(yè),2022年,8月28日抽象定義抽出事務(wù)的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。Wasserman提出的幾種抽象方法功能分解法面向數(shù)據(jù)的分解法面向事件的分解法由外向內(nèi)的設(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì)第三十七頁(yè),共八十九頁(yè),2022年,8月28日信息隱藏含義一個(gè)模塊中所包含的信息,不允許其他不需要這些信息的模塊使用局部化把一些關(guān)系密切的軟件元素物理地彼此靠近放置在一個(gè)局部的環(huán)境當(dāng)中。第三十八頁(yè),共八十九頁(yè),2022年,8月28日軟件體系結(jié)構(gòu)風(fēng)格(模式)管道和過濾器(數(shù)據(jù)流模型)該體系結(jié)構(gòu)被用于當(dāng)輸入數(shù)據(jù)被通過一系列計(jì)算或操縱構(gòu)件變換為輸出數(shù)據(jù)的情形。第三十九頁(yè),共八十九頁(yè),2022年,8月28日例子一個(gè)機(jī)構(gòu)給其客戶開出帳單。每星期將付款與帳單核對(duì)一次,若賬單已經(jīng)支付,則開出收據(jù),若在一個(gè)規(guī)定的時(shí)間內(nèi)尚未支付,則給出一個(gè)催款單。第四十頁(yè),共八十九頁(yè),2022年,8月28日面向?qū)ο笮枨罂梢酝ㄟ^對(duì)象以及它們的抽象類型組織起來。隱式請(qǐng)求隱式請(qǐng)求設(shè)計(jì)模型是事件驅(qū)動(dòng)的。面向數(shù)據(jù)流的設(shè)計(jì)將系統(tǒng)按層次劃分,每一層都為上一層提供服務(wù)。過程控制將過程輸出維持在某個(gè)指定值的范圍之內(nèi)。客戶機(jī)/服務(wù)器第四十一頁(yè),共八十九頁(yè),2022年,8月28日程序結(jié)構(gòu)程序結(jié)構(gòu)反映軟件結(jié)構(gòu)中的模塊劃分情況,它通常是樹狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu),其中蘊(yùn)含了程序控制上的層次關(guān)系。第四十二頁(yè),共八十九頁(yè),2022年,8月28日程序結(jié)構(gòu)分類樹狀結(jié)構(gòu)整個(gè)樹狀結(jié)構(gòu)只有一個(gè)根模塊任何一個(gè)非根模塊,只有一個(gè)調(diào)用模塊,而且同一層模塊之間不發(fā)生聯(lián)系第四十三頁(yè),共八十九頁(yè),2022年,8月28日網(wǎng)狀結(jié)構(gòu)任意兩個(gè)模塊之間都可以有雙向的關(guān)系,不存在上級(jí)模塊和下屬模塊的關(guān)系第四十四頁(yè),共八十九頁(yè),2022年,8月28日表示軟件結(jié)構(gòu)的圖形軟件層次圖第四十五頁(yè),共八十九頁(yè),2022年,8月28日軟件結(jié)構(gòu)圖第四十六頁(yè),共八十九頁(yè),2022年,8月28日數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)的原則用于軟件的系統(tǒng)化方法也適用于數(shù)據(jù)要確定所有數(shù)據(jù)結(jié)構(gòu),以及在每種數(shù)據(jù)結(jié)構(gòu)上實(shí)施的操作應(yīng)該建立一個(gè)數(shù)據(jù)字典,用它來定義數(shù)據(jù)和軟件的設(shè)計(jì)底層數(shù)據(jù)設(shè)計(jì)的決策應(yīng)該推遲到設(shè)計(jì)過程的后期進(jìn)行,在數(shù)據(jù)設(shè)計(jì)中也可以使用自頂向下、逐步細(xì)化的方法數(shù)據(jù)設(shè)計(jì)時(shí)應(yīng)遵從信息隱藏原則應(yīng)當(dāng)創(chuàng)建一個(gè)存放數(shù)據(jù)結(jié)構(gòu)和相關(guān)操作的庫(kù)軟件設(shè)計(jì)和程序設(shè)計(jì)語言應(yīng)當(dāng)支持抽象數(shù)據(jù)類型的定義和實(shí)現(xiàn)第四十七頁(yè),共八十九頁(yè),2022年,8月28日數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)原則盡量使用簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí)要注意數(shù)據(jù)之間的關(guān)系為了加強(qiáng)數(shù)據(jù)設(shè)計(jì)的可復(fù)用性,應(yīng)該針對(duì)常用的數(shù)據(jù)結(jié)構(gòu)和復(fù)雜的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)抽象類型盡量使用經(jīng)典數(shù)據(jù)結(jié)構(gòu)在確定數(shù)據(jù)結(jié)構(gòu)時(shí)一般先考慮靜態(tài)結(jié)構(gòu)對(duì)于復(fù)雜數(shù)據(jù)結(jié)構(gòu),應(yīng)給出圖形和文字描述,以便于理解第四十八頁(yè),共八十九頁(yè),2022年,8月28日文件設(shè)計(jì)定義:指對(duì)數(shù)據(jù)存儲(chǔ)文件的設(shè)計(jì)。文件的邏輯設(shè)計(jì)整理必需的數(shù)據(jù)元素分析數(shù)據(jù)間的關(guān)系確定文件記錄的內(nèi)容文件的物理設(shè)計(jì)理解文件的特性確定文件物理組織結(jié)構(gòu)確定文件的存儲(chǔ)介質(zhì)確定文件的記錄格式估計(jì)記錄的存取時(shí)間估計(jì)文件的存儲(chǔ)量第四十九頁(yè),共八十九頁(yè),2022年,8月28日數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟邏輯設(shè)計(jì)–

創(chuàng)建E-R圖物理設(shè)計(jì)–

按照第三范式設(shè)計(jì)表結(jié)構(gòu)安全性設(shè)計(jì)用戶只能通過賬號(hào)登錄應(yīng)用軟件,通過應(yīng)用軟件訪問數(shù)據(jù)庫(kù)用戶賬號(hào)的密碼進(jìn)行加密處理。確保在任何地方不出現(xiàn)密碼的銘文表示確定每個(gè)角色對(duì)數(shù)據(jù)庫(kù)訪問的權(quán)限。性能優(yōu)化優(yōu)化表結(jié)構(gòu)本身優(yōu)化數(shù)據(jù)庫(kù)的環(huán)境參數(shù)第五十頁(yè),共八十九頁(yè),2022年,8月28日第一范式(1NF)在關(guān)系模式R中的每一個(gè)具體關(guān)系r中,如果每個(gè)屬性值都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。第二范式(2NF)如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個(gè)候選關(guān)鍵字,則稱關(guān)系R是屬于第二范式的。第三范式(3NF)如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對(duì)任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。第五十一頁(yè),共八十九頁(yè),2022年,8月28日PowerDesign9使用方法安裝認(rèn)識(shí)環(huán)境練習(xí)建立邏輯模型(CDM)建立物理模型(PDM)生成SQL文件,同時(shí)生成數(shù)據(jù)庫(kù)第五十二頁(yè),共八十九頁(yè),2022年,8月28日第五十三頁(yè),共八十九頁(yè),2022年,8月28日第五十四頁(yè),共八十九頁(yè),2022年,8月28日練習(xí)第五十五頁(yè),共八十九頁(yè),2022年,8月28日步驟建立實(shí)體圖(Entity)填寫屬性(Attributes)建立聯(lián)系(Relationship)定義概念模型屬性Model->ModelProperties…創(chuàng)建概念模型的域Model->Domains…檢查CDMTools->CheckModel…由CDM生成PDMTools->GeneratenewPhysicalDataModel第五十六頁(yè),共八十九頁(yè),2022年,8月28日觀察標(biāo)識(shí)符與聯(lián)系的轉(zhuǎn)換利用PDM創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)Access空數(shù)據(jù)庫(kù)(test.mdb)配置數(shù)據(jù)源創(chuàng)建數(shù)據(jù)庫(kù),同時(shí)生成SQL文件Database->GenerateDatabase選擇ODBCgeneration選項(xiàng)檢查Access數(shù)據(jù)庫(kù)(test.mdb)第五十七頁(yè),共八十九頁(yè),2022年,8月28日結(jié)構(gòu)化設(shè)計(jì)方法數(shù)據(jù)流的類型交換流:可劃分為明顯的3個(gè)部分:邏輯輸入、中心變換、輸出數(shù)據(jù)。整個(gè)的數(shù)據(jù)流動(dòng)以一種順序的方式并沿一條或很少的幾條“直線”路徑進(jìn)行。如果一部分?jǐn)?shù)據(jù)流圖體現(xiàn)了這些特征,這就是變換流。第五十八頁(yè),共八十九頁(yè),2022年,8月28日事務(wù)流一個(gè)數(shù)據(jù)數(shù)據(jù)流經(jīng)過某個(gè)加工后,有若干個(gè)平行的數(shù)據(jù)流流出,將這種變換稱為事物流。事務(wù)流的特征是數(shù)據(jù)沿某輸入路徑流動(dòng),該路徑將外部信息轉(zhuǎn)換成事務(wù),事務(wù)被估值,根據(jù)其值,啟動(dòng)沿很多動(dòng)作路徑之一的流。其中發(fā)射出多條動(dòng)作路徑的信息流中心被稱為事務(wù)中心。

第五十九頁(yè),共八十九頁(yè),2022年,8月28日設(shè)計(jì)過程

流程圖類型區(qū)分事物中心和數(shù)據(jù)接受路徑區(qū)分輸入和輸出分支”事物“”變換“映射成事物結(jié)構(gòu)映射成變換結(jié)構(gòu)用啟發(fā)式設(shè)計(jì)規(guī)則精化軟件結(jié)構(gòu)導(dǎo)出接口描述和全程數(shù)據(jù)結(jié)構(gòu)詳細(xì)設(shè)計(jì)數(shù)據(jù)流程圖復(fù)查第六十頁(yè),共八十九頁(yè),2022年,8月28日變換分析變換分方法的步驟重畫數(shù)據(jù)流圖在數(shù)據(jù)流程圖上區(qū)分系統(tǒng)的邏輯輸入、邏輯輸出和中心變換部分設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層設(shè)計(jì)軟件結(jié)構(gòu)的第二層第六十一頁(yè),共八十九頁(yè),2022年,8月28日變換型數(shù)據(jù)流程圖轉(zhuǎn)化為軟件結(jié)構(gòu)圖第六十二頁(yè),共八十九頁(yè),2022年,8月28日例子步驟1:評(píng)審和精化軟件的數(shù)據(jù)流圖。第六十三頁(yè),共八十九頁(yè),2022年,8月28日第六十四頁(yè),共八十九頁(yè),2022年,8月28日第六十五頁(yè),共八十九頁(yè),2022年,8月28日步驟2:確定DFD含有變換流還是事務(wù)流步驟3:刻畫輸入和輸出流的邊界,隔離變換中心。輸入流被描述成信息從外部形式變換為內(nèi)部信息的路徑。輸出流是信息從內(nèi)部形式變換為外部形式的路徑。第六十六頁(yè),共八十九頁(yè),2022年,8月28日第六十七頁(yè),共八十九頁(yè),2022年,8月28日步驟4:完成軟件結(jié)構(gòu)的頂層模塊和第一層結(jié)構(gòu)圖第六十八頁(yè),共八十九頁(yè),2022年,8月28日步驟5:完成軟件結(jié)構(gòu)的第二層結(jié)構(gòu)轉(zhuǎn)化第六十九頁(yè),共八十九頁(yè),2022年,8月28日完成軟件結(jié)構(gòu)的第一次迭代第七十頁(yè),共八十九頁(yè),2022年,8月28日步驟6:用提高軟件質(zhì)量的啟發(fā)信息,精化第一次迭代得到的程序結(jié)構(gòu)第七十一頁(yè),共八十九頁(yè),2022年,8月28日事務(wù)分析事務(wù)分析方法的具體步驟重畫數(shù)據(jù)流圖確定事務(wù)流和變換流標(biāo)識(shí)事務(wù)中心、事務(wù)接收路徑和事務(wù)處理路徑設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層設(shè)計(jì)軟件結(jié)構(gòu)的第二層第七十二頁(yè),共八十九頁(yè),2022年,8月28日具有邊界的用戶交互子系統(tǒng)的第2層DFD步驟1:評(píng)審和精化軟件的數(shù)據(jù)流圖步驟2:確定DFD含有變換流還是事務(wù)流特征。步驟3:標(biāo)識(shí)事務(wù)中心和每條動(dòng)作路徑上的流特征。軟件結(jié)構(gòu)第一層圖軟件結(jié)構(gòu)第二層圖第七十三頁(yè),共八十九頁(yè),2022年,8月28日事務(wù)映射過程步驟4:將DFD映射到一個(gè)適合于進(jìn)行事務(wù)處理的程序結(jié)構(gòu)上第七十四頁(yè),共八十九頁(yè),2022年,8月28日用戶交互子系統(tǒng)的第一層軟件結(jié)構(gòu)圖第七十五頁(yè),共八十九頁(yè),2022年,8月28日用戶交互子系統(tǒng)的第一次迭代軟件結(jié)構(gòu)圖步驟5:完成第2層結(jié)構(gòu)化并精化每條動(dòng)作路徑結(jié)構(gòu)第七十六頁(yè),共八十九頁(yè),2022年,8月28日練習(xí)已知某系統(tǒng)的需求分析給出的系統(tǒng)數(shù)據(jù)流圖如下請(qǐng)用SD方法劃出對(duì)應(yīng)的SC(軟件結(jié)構(gòu)圖)第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論