freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件危機(jī)與軟件工程要點(diǎn)匯編(編輯修改稿)

2025-05-10 02:02 本頁面
 

【文章內(nèi)容簡介】 用來實(shí)現(xiàn)的,這就是非直接耦合。這種耦合的模塊獨(dú)立性最強(qiáng)。實(shí)際上,開始時兩個模塊之間的耦合不只是一種類型,而是多種類型的混合。這就要求設(shè)計人員進(jìn)行分析、比較,逐步加以改進(jìn),以提高模塊的獨(dú)立性。模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其模塊獨(dú)立性就越弱。一個模塊內(nèi)部各個元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高,相對地,它與其它模塊之間的耦合性就會減低,而模塊獨(dú)立性就越強(qiáng)。因此,模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)是高內(nèi)聚低耦合的模塊。 4)結(jié)構(gòu)分類:順序模塊(不中斷)、增量模塊(中斷)、并行模塊5.設(shè)計準(zhǔn)則模塊設(shè)計時應(yīng):降低偶合;提高內(nèi)聚;增強(qiáng)模塊之間的獨(dú)立性 6. 結(jié)構(gòu)化設(shè)計方法(Structured Design, SD)從系統(tǒng)設(shè)計的角度出發(fā),軟件設(shè)計方法可以分為三大類。第一類是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計,稱為面向數(shù)據(jù)流的設(shè)計或者過程驅(qū)動的設(shè)計,以結(jié)構(gòu)化設(shè)計方法為代表。第二類是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,稱為面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計或者數(shù)據(jù)驅(qū)動的設(shè)計,以LCP(程序邏輯構(gòu)造)方法、Jackson系統(tǒng)開發(fā)方法和數(shù)據(jù)結(jié)構(gòu)化系統(tǒng)開發(fā)(DSSD)方法為代表。第三類設(shè)計方法即面向?qū)ο蟮脑O(shè)計。結(jié)構(gòu)化設(shè)計方法是基于模塊化、自頂向下細(xì)化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)基礎(chǔ)上發(fā)展起來的。該方法實(shí)施的要點(diǎn)是:① 建立數(shù)據(jù)流的類型。② 指明流的邊界。③ 將數(shù)據(jù)流圖映射到程序結(jié)構(gòu)。④ 用“因子化”方法定義控制的層次結(jié)構(gòu)。⑤ 用設(shè)計測量和一些啟發(fā)式規(guī)則對結(jié)構(gòu)進(jìn)行細(xì)化。(1) 在系統(tǒng)結(jié)構(gòu)圖(SC)中的模塊在系統(tǒng)結(jié)構(gòu)圖中不能再分解的底層模塊為原子模塊。如果一個軟件系統(tǒng)的全部實(shí)際加工(數(shù)據(jù)計算或處理)都由底層的原子模塊來完成,而其它所有非原子模塊僅僅執(zhí)行控制或協(xié)調(diào)功能,這樣的系統(tǒng)就是完全因子分解的系統(tǒng)。如果系統(tǒng)結(jié)構(gòu)圖是完全因子分解的,就是最好的系統(tǒng)。一般地,在系統(tǒng)結(jié)構(gòu)圖中有4種類型的模塊:167。 傳入模塊 :從下屬模塊取得數(shù)據(jù),經(jīng)過某些處理,再將其傳送給上級模塊。167。 傳出模塊 :從上級模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其傳送給下屬模塊。167。 變換模塊 :即加工模塊。它從上級模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其它形式,再傳送回上級模塊。大多數(shù)計算模塊(原子模塊)屬于這一類。167。 協(xié)調(diào)模塊 :對所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。 在系統(tǒng)的輸入/輸出部分或數(shù)據(jù)加工部分可以找到這樣的模塊。在一個好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。在實(shí)際系統(tǒng)中,有些模塊屬于上述某一類型,還有一些模塊是上述各種類型的組合。 系統(tǒng)結(jié)構(gòu)圖的四種模塊類型(2) 變換流與變換型系統(tǒng)結(jié)構(gòu)變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。這三步反映了變換型問題數(shù)據(jù)流的基本思想。其中,變換數(shù)據(jù)是數(shù)據(jù)處理過程的核心工作,而取得數(shù)據(jù)只不過是為它做準(zhǔn)備,給出數(shù)據(jù)則是對變換后的數(shù)據(jù)進(jìn)行后處理工作。 變換型數(shù)據(jù)流,相應(yīng)于取得數(shù)據(jù)、變換數(shù)據(jù)、給出數(shù)據(jù),系統(tǒng)的結(jié)構(gòu)圖由輸入、中心變換和輸出等三部分組成。 變換型的系統(tǒng)結(jié)構(gòu)圖 事務(wù)型數(shù)據(jù)處理問題(3) 事務(wù)流與事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)型數(shù)據(jù)處理問題的工作機(jī)理是接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。我們把完成選擇分派任務(wù)的部分叫做事務(wù)處理中心?;蚍峙刹考?。其中,輸入數(shù)據(jù)流在事務(wù)中心T處做出選擇,激活某一種事務(wù)處理加工。D1─D4 是并列的供選擇的事務(wù)處理加工。事務(wù)型數(shù)據(jù)流圖所對應(yīng)的系統(tǒng)結(jié)構(gòu)圖就是事務(wù)型系統(tǒng)結(jié)構(gòu)圖。 事務(wù)型系統(tǒng)結(jié)構(gòu)圖在事務(wù)型系統(tǒng)結(jié)構(gòu)圖中,事務(wù)中心模塊按所接受的事務(wù)的類型,選擇某一個事務(wù)處理模塊執(zhí)行。各個事務(wù)處理模塊是并列的,依賴于一定的選擇條件,分別完成不同的事務(wù)處理工作。每個事務(wù)處理模塊可能要調(diào)用若干個操作模塊,而操作模塊又可能調(diào)用若干個細(xì)節(jié)模塊。不同的事務(wù)處理模塊可以共享一些操作模塊。同樣,不同的操作模塊又可以共享一些細(xì)節(jié)模塊。事務(wù)型系統(tǒng)結(jié)構(gòu)圖在數(shù)據(jù)處理中經(jīng)常遇到,但是更多的是變換型與事務(wù)型系統(tǒng)結(jié)構(gòu)圖的結(jié)合。例如,變換型系統(tǒng)結(jié)構(gòu)中的某個變換模塊本身又具有事務(wù)型的特點(diǎn)。(4) 變換映射變換映射是體系結(jié)構(gòu)設(shè)計的一種策略。運(yùn)用變換映射方法建立初始的變換型系統(tǒng)結(jié)構(gòu)圖,然后對它做進(jìn)一步的改進(jìn),最后得到系統(tǒng)的最終結(jié)構(gòu)圖。(5) 事務(wù)映射在很多應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理。這種數(shù)據(jù)流就叫做事務(wù)。與變換映射類似,事務(wù)映射也是從分析數(shù)據(jù)流圖開始,自頂向下,逐步分解,建立系統(tǒng)結(jié)構(gòu)圖。所不同的是由數(shù)據(jù)流圖映射成的系統(tǒng)結(jié)構(gòu)圖不同。(6) 注意“黑箱”技術(shù)的使用。在設(shè)計當(dāng)前模塊時, 先把這個模塊的所有下層模塊定義成“黑箱”,并在系統(tǒng)設(shè)計中利用它們,暫時不考慮它們的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)方法。在這一步定義好的“黑箱”,由于已確定了它的功能和輸入、輸出,在下一步就可以對它們進(jìn)行設(shè)計和加工。這樣,又會導(dǎo)致更多的“黑箱”。最后,全部“黑箱”的內(nèi)容和結(jié)構(gòu)應(yīng)完全被確定。這就是我們所說的自頂向下,逐步求精的過程。使用黑箱技術(shù)的主要好處是使設(shè)計人員可以只關(guān)心當(dāng)前的有關(guān)問題,暫時不必考慮進(jìn)一步的瑣碎的次要的細(xì)節(jié),待進(jìn)一步分解時才去關(guān)心它們的內(nèi)部細(xì)節(jié)與結(jié)構(gòu)。6. Jackson系統(tǒng)開發(fā)方法Jackson方法是一種典型的面向數(shù)據(jù)結(jié)構(gòu)的分析與設(shè)計方法。早期的Jackson方法用于小系統(tǒng)的設(shè)計,稱之為Jackson結(jié)構(gòu)程序設(shè)計方法,簡稱JSP方法。它是按輸入、輸出和內(nèi)部信息的數(shù)據(jù)結(jié)構(gòu)進(jìn)行軟件設(shè)計的,即把數(shù)據(jù)結(jié)構(gòu)的描述映射成程序結(jié)構(gòu)描述。若數(shù)據(jù)結(jié)構(gòu)有重復(fù)性,則對應(yīng)程序一定有循環(huán)控制結(jié)構(gòu);若數(shù)據(jù)結(jié)構(gòu)具有選擇性,則對應(yīng)程序一定需要有判定控制結(jié)構(gòu),以此揭示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)之間的內(nèi)在關(guān)系,設(shè)計出反映數(shù)據(jù)結(jié)構(gòu)的程序結(jié)構(gòu)。JSP方法的的三步曲是信息 → 數(shù)據(jù)結(jié)構(gòu) → 程序結(jié)構(gòu),這三步曲減少了設(shè)計決策上的盲目性。但是,當(dāng)把JSP方法用于大系統(tǒng)設(shè)計時,就會出現(xiàn)大量復(fù)雜的難以對付的結(jié)構(gòu)沖突。因此,即Jackson系統(tǒng)開發(fā)方法。(1) JSD方法的步驟Jackson系統(tǒng)開發(fā)方法把分析的重點(diǎn)放在構(gòu)造與系統(tǒng)相關(guān)聯(lián)的現(xiàn)實(shí)世界,并建立現(xiàn)實(shí)世界的信息域的模型上。它實(shí)際上是支持軟件分析與設(shè)計的一組連續(xù)的技術(shù)步驟。而且,JSD方法的最終目標(biāo)是生成軟件的過程性描述,沒有特別考慮程序模塊化結(jié)構(gòu),模塊只是作為過程的副產(chǎn)品而出現(xiàn),沒有特別強(qiáng)調(diào)模塊獨(dú)立性。使用JSD方法的步驟如下:① 實(shí)體動作分析:從問題的簡單描述中,選出軟件系統(tǒng)要產(chǎn)生和運(yùn)用的實(shí)體(人、物或組織),以及現(xiàn)實(shí)世界作用于實(shí)體上的動作(事件)。實(shí)體從名詞中選出,動作從動詞中選出。當(dāng)然,只有與問題求解直接有關(guān)的實(shí)體和動作才能被選出做進(jìn)一步的分析。② 實(shí)體結(jié)構(gòu)分析:把作用于實(shí)體的動作或由實(shí)體執(zhí)行的動作,按時間發(fā)生的先后次序排序,并用一個層狀的Jackson結(jié)構(gòu)圖表示。 數(shù)據(jù)結(jié)構(gòu)組合表示③ 定義初始模型:把實(shí)體和動作表示成一個過程性的模型,定義模型與現(xiàn)實(shí)世界的聯(lián)系。模型系統(tǒng)的規(guī)格說明可用系統(tǒng)規(guī)格說明圖SSD來表示。④ 功能描述:詳細(xì)說明與已定義的動作相對應(yīng)的功能。⑤ 決定系統(tǒng)時間特性:對進(jìn)程調(diào)度特性進(jìn)行評價和說明。⑥ 實(shí)現(xiàn):設(shè)計組成系統(tǒng)的硬件和軟件。JSD方法的前三步屬于需求分析階段,后三步屬于軟件設(shè)計階段。(2) Jackson程序設(shè)計方法JSPJSP的本質(zhì)就是“問題應(yīng)當(dāng)被分解為可以用三種結(jié)構(gòu)形式表示的構(gòu)件的層次結(jié)構(gòu)。” Jackson所說的“結(jié)構(gòu)形式”就是指順序、選擇和重復(fù),實(shí)際上,它們就是過程性構(gòu)造,并成為結(jié)構(gòu)化程序設(shè)計方法基礎(chǔ)。① 數(shù)據(jù)結(jié)構(gòu)表示法Jackson提出的數(shù)據(jù)結(jié)構(gòu)表示有三種基本的構(gòu)造類型。圖(a)是順序結(jié)構(gòu),即數(shù)據(jù)結(jié)構(gòu)A由B、C、D三個成分組成且按B、C、D順序排列。圖(b)是選擇結(jié)構(gòu),即數(shù)據(jù)結(jié)構(gòu)A或者由B組成,或者由C組成,二者必具其一??蛇x擇的數(shù)據(jù)(子結(jié)構(gòu)或數(shù)據(jù)項(xiàng))加“176?!北硎?。在圖(c)中表示的是重復(fù)結(jié)構(gòu),即數(shù)據(jù)結(jié)構(gòu)A由多個B子結(jié)構(gòu)組成,子結(jié)構(gòu)用“*”加以標(biāo)記。 Jackson數(shù)據(jù)結(jié)構(gòu)圖三種基本結(jié)構(gòu)可以組合,形成更復(fù)雜的結(jié)構(gòu)體系。這種數(shù)據(jù)結(jié)構(gòu)圖可以同樣方便地應(yīng)用于輸入、輸出和數(shù)據(jù)庫結(jié)構(gòu)。最后,利用Jackson給出的三種圖解來表示程序或進(jìn)程的執(zhí)行邏輯。這種圖解類似于程序設(shè)計語言,實(shí)際上它是一種偽碼表示。 三種基本控制結(jié)構(gòu)的圖解(3) 結(jié)構(gòu)沖突Jackson把結(jié)構(gòu)沖突定義為三種類型。① 順序沖突順序沖突是指在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中,輸入數(shù)據(jù)與輸出數(shù)據(jù)的順序沖突。② 邊界沖突在輸入與輸出數(shù)據(jù)結(jié)構(gòu)中,雖然輸入數(shù)據(jù)與輸出數(shù)據(jù)的順序相同,但分解不一樣。③ 多重穿插沖突在輸入與輸出數(shù)據(jù)結(jié)構(gòu)中,輸入數(shù)據(jù)與輸出數(shù)據(jù)的順序相同,而且處于同一程序段中,就象繩索穿繞一樣。這些數(shù)據(jù)并行運(yùn)行,同時在輸入文件中重疊在一起。為了解決上述的結(jié)構(gòu)沖突,Jackson提出了定義中間數(shù)據(jù)結(jié)構(gòu)來解決沖突的方法。它可歸納成以下4點(diǎn):167。 利用數(shù)據(jù)結(jié)構(gòu)圖來定義輸入數(shù)據(jù)結(jié)構(gòu)的特性;167。 將輸入數(shù)據(jù)結(jié)構(gòu)的元素分解,構(gòu)造成中間數(shù)據(jù)結(jié)構(gòu);167。 描述輸出數(shù)據(jù)結(jié)構(gòu)的特性;167。 根據(jù)中間數(shù)據(jù)結(jié)構(gòu),構(gòu)造輸出數(shù)據(jù)結(jié)構(gòu).7. 數(shù)據(jù)設(shè)計和文件設(shè)計的原則(1) 數(shù)據(jù)設(shè)計的原則:① 為在需求分析階段所確定的數(shù)據(jù)對象選擇邏輯表示,需要對不同結(jié)構(gòu)進(jìn)行算法分析,以便選擇一個最有效的設(shè)計方案。② 確定對邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包),以便限制或確定各個數(shù)據(jù)設(shè)計決策的影響范圍。無論采取什么樣的設(shè)計方法,如果數(shù)據(jù)設(shè)計得好,往往能產(chǎn)生很好的軟件系統(tǒng)結(jié)構(gòu),具有很強(qiáng)的模塊獨(dú)立性和較低的程序復(fù)雜性。(2) 文件設(shè)計的過程文件設(shè)計指數(shù)據(jù)存儲文件設(shè)計,其主要工作就是根據(jù)使用要求、處理方式、存儲的信息量、數(shù)據(jù)的活動性,以及所能提供的設(shè)備條件等,來確定文件類別,選擇文件媒體,決定文件組織方法,設(shè)計文件記錄格式,并估算文件的容量。文件設(shè)計的過程主要分為兩個階段。第一個階段是文件的邏輯設(shè)計,主要在概要設(shè)計階段實(shí)施。8. 過程設(shè)計從軟件開發(fā)的工程化觀點(diǎn)來看,在使用程序設(shè)計語言編制程序以前,需要對所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá),使之成為編碼的依據(jù)。這就是過程設(shè)計的任務(wù)。過程設(shè)計也叫做詳細(xì)設(shè)計或程序設(shè)計,它不同于編碼或編程。在過程設(shè)計階段,要決定各個模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。前者涉及所開發(fā)項(xiàng)目的具體要求和對每個模塊規(guī)定的功能。以及算法的設(shè)計和評價,后者需要給出適當(dāng)?shù)乃惴枋?,為此?yīng)提供過程設(shè)計的表達(dá)工具。表達(dá)過程規(guī)格說明的工具叫做詳細(xì)設(shè)計工具,它可以分為三類:圖形工具、表格工具和語言工具。(1) 程序流程圖程序流程圖獨(dú)立于任何一種程序設(shè)計語言,比較直觀、清晰,易于學(xué)習(xí)掌握。但流程圖也存在一些嚴(yán)重的缺點(diǎn)。例如流程圖所使用的符號不夠規(guī)范,常常使用一些習(xí)慣性用法。特別是表示程序控制流程的箭頭可以不受任何約束,隨意轉(zhuǎn)移控制。這些現(xiàn)象顯然是與軟件工程化的要求相背離的。為了消除這些缺點(diǎn),應(yīng)對流程圖所使用的符號做出嚴(yán)格的定義,不允許人們隨心所欲地畫出各種不規(guī)范的流程圖。例如,為使用流程圖描述結(jié)構(gòu)化程序。 流程圖的基本控制結(jié)構(gòu)任何復(fù)雜的程序流程圖都應(yīng)由這五種基本控制結(jié)構(gòu)組合或嵌套而成。作為上述五種控制結(jié)構(gòu)相互組合和嵌套的實(shí)例。圖中增加了一些虛線構(gòu)成的框,目的是便于理解控制結(jié)構(gòu)的嵌套關(guān)系。顯然,這個流程圖所描述的程序是結(jié)構(gòu)化的。 嵌套構(gòu)成的流程圖實(shí)例(2) NS圖 Nassi和Shneiderman 提出了一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,叫做盒圖,也叫做NS圖。為表示五種基本控制結(jié)構(gòu),在NS圖中規(guī)定了五種圖形構(gòu)件。 NS圖的五種基本控制結(jié)構(gòu)(3) PADPAD是Problem Analysis Diagram的縮寫,它是日本日立公司提出,由程序流程圖演化來的,用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。現(xiàn)在已為ISO認(rèn)可。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用。 PAD的基本控制結(jié)構(gòu)(4) 判定表當(dāng)算法中包含多重嵌套的條件選擇時,用程序流程圖、NS圖或PAD都不易清楚地描述。然而,判定表卻能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動作之間的對應(yīng)關(guān)系。為了能適應(yīng)判定表?xiàng)l件取值只能是“T”和“F”的情形,對原圖稍微做了些改動,把多分支判斷改為兩分支判斷,但整個圖邏輯沒有改變。 不包含多分支結(jié)構(gòu)的流程圖實(shí)例。在表的右上半部分中列出所有條件,“T”表示該條件取值為真,“F”表示該條件取值為假,空白表示這個條件無論取何值對動作的選擇不產(chǎn)生影響。在判定表右下半部分中列出所有的處理,畫“Y”表示要做這個動作,空白表示不做這個動作。判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定條件取值組合相對應(yīng)的動作。 反映程序邏輯的判定表 判定表的優(yōu)點(diǎn)是能夠簡潔,無二義性地描述所有的處理規(guī)則。但判定表表示的是靜態(tài)邏輯,是在某種條件取值組合情況下可能的結(jié)果,它不能表達(dá)加工的順序,也不能表達(dá)循環(huán)結(jié)構(gòu),因此判定表不能成為一種通用的設(shè)計工具。(5) PDL ( Program Design Language )PDL是一種用于描述功能模塊的算法設(shè)計和加工細(xì)節(jié)的語言。稱為設(shè)計程序用語言。它是一種偽碼。一般地,偽碼的語法規(guī)則分為“外語法”和“內(nèi)語法”。外語法應(yīng)當(dāng)符合一般程序設(shè)計語言常用語句的語法規(guī)則;而內(nèi)語法可以用英語中一些簡單的句子、短語和通用的數(shù)學(xué)符號,來描述程序應(yīng)執(zhí)行的功能。PDL就是這樣一種偽碼。它具有嚴(yán)格的關(guān)鍵字外語法,用于定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),同時它的表示實(shí)際操作和條件的內(nèi)語法又是靈活自由的,可使用自然語言的詞匯。下面舉一個例子,來看PDL的使用。  PROCEDURE spellcheck IS 查找錯拼的單詞 BEGIN split document into single words 把整個文檔分離成單詞 lood up wo
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1