版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件工程第4章設計工程1復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則軟件體系結構設計部件級設計技術設計規(guī)約與設計評審2復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則軟件體系結構設計部件級設計技術設計規(guī)約與設計評審3復旦大學計算機科學與工程系軟件工程課程軟件設計工程概述軟件需求分析解決“做什么”的問題,軟件設計過程則解決“怎么做”的問題軟件設計是把軟件需求變換成軟件表示的過程,它主要包含兩個階段:軟件體系結構設計階段和部件級設計對比:早期的軟件設計局限于數(shù)據(jù)結構和算法層面上,抽象層次比較低4復旦大學計算機科學與工程系軟件工程課程為什么要進行軟件系統(tǒng)設計軟件系統(tǒng)實現(xiàn)的高層方案軟件系統(tǒng)越來越復雜,需要將其劃分為若干部分分而治之—模塊化不同的小組或開發(fā)者負責不同的部分然后在系統(tǒng)層面上進行集成負責不同部分的開發(fā)者對于其它模塊需要了解的信息越少越好—抽象與信息隱藏這些部分之間還需要定義清晰、明確的接口—接口設計5復旦大學計算機科學與工程系軟件工程課程軟件系統(tǒng)設計的重要性軟件系統(tǒng)設計是開發(fā)者之間的分工和合作和基礎設計方案是決定系統(tǒng)質(zhì)量的主要因素設計方案可以借鑒成熟的設計經(jīng)驗設計方案完成后需要經(jīng)過質(zhì)量分析和評審好的設計方案不僅能很好地支持當前需求的實現(xiàn),而且能減小未來的系統(tǒng)維護(理解、修改、擴展)成本6復旦大學計算機科學與工程系軟件工程課程軟件設計的任務在軟件分析模型中的需求信息(數(shù)據(jù)、功能和行為)基礎上,產(chǎn)生軟件系統(tǒng)各個層次上的設計方案7復旦大學計算機科學與工程系軟件工程課程數(shù)據(jù)/類設計:將分析-類模型變換成類的實現(xiàn)和軟件實現(xiàn)所需要的數(shù)據(jù)結構體系結構設計:體系結構設計定義了軟件的主要結構元素以及相互之間的關系接口設計:接口設計描述了軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件同人之間如何通信部件級設計:部件級設計將軟件體系結構的結構性元素變換為對軟件部件的過程性描述8復旦大學計算機科學與工程系軟件工程課程設計任務1—數(shù)據(jù)/類設計基礎:在類和CRC中定義的數(shù)據(jù)對象和關系(實體及實體關系)以及數(shù)據(jù)字典中描述的詳細數(shù)據(jù)內(nèi)容(詳細信息)數(shù)據(jù)設計的過程為在需求分析階段所確定的數(shù)據(jù)對象選擇邏輯表示確定對邏輯數(shù)據(jù)結構所必需的那些操作的程序模塊9復旦大學計算機科學與工程系軟件工程課程設計任務2—體系結構設計定義軟件的整體結構:軟件部件、外部可見的屬性和它們之間的關系體系結構設計:可以從系統(tǒng)規(guī)約、分析模型和分析模型中定義的子系統(tǒng)的交互導出10復旦大學計算機科學與工程系軟件工程課程設計任務3—接口設計接口設計主要包括三個方面UI:用戶和計算機間的接口(界面)和外部系統(tǒng)、設備、網(wǎng)絡或信息生產(chǎn)者和消費者(比如外部實體)之間的接口外部系統(tǒng)接口:銀行網(wǎng)上支付接口設備接口:讀卡器、掃描槍、傳感器接口信息接口:需要導入/導出的數(shù)據(jù)接口設計軟件內(nèi)部各個部件間的接口11復旦大學計算機科學與工程系軟件工程課程設計任務4—部件級設計部件級設計完整地描述每個軟件部件的內(nèi)部細節(jié)部件整體的處理和執(zhí)行流程部件內(nèi)本地數(shù)據(jù)對象的數(shù)據(jù)結構部件內(nèi)處理過程的算法從類為基礎的模型、流模型、行為模型中得到的信息是部件設計的基礎12復旦大學計算機科學與工程系軟件工程課程軟件設計的(質(zhì)量)目標滿足用戶需求必須實現(xiàn)分析模型中所有的顯式需求必須滿足用戶希望的所有隱式需求可讀、可理解:設計必須是可讀、可理解的,使得將來易于編程、易于測試、易于維護全面性:應從實現(xiàn)角度出發(fā),給出與數(shù)據(jù)、功能、行為相關的軟件全貌13復旦大學計算機科學與工程系軟件工程課程衡量設計的技術原則-1分層的設計結構:從而建立軟件系統(tǒng)的分層控制結構模塊化:從邏輯上將軟件劃分為完成特定功能或子功能的部件數(shù)據(jù)與過程:設計既包含數(shù)據(jù)抽象,也包含過程抽象14復旦大學計算機科學與工程系軟件工程課程衡量設計的技術原則-2高內(nèi)聚:建立具有獨立功能特征的模塊低耦合:盡量降低模塊與外部環(huán)境之間的接口復雜度系統(tǒng)化/方法化:設計應能根據(jù)軟件需求分析獲取的信息,建立可驅(qū)動、可重復的方法15復旦大學計算機科學與工程系軟件工程課程軟件設計的過程-1制定設計規(guī)范通過閱讀系統(tǒng)需求說明書確定設計目標以及這些目標的優(yōu)先順序設計方法:結構化、面向?qū)ο蟆O計文檔的編制標準基本的實現(xiàn)規(guī)范:代碼的信息形式、與硬件及操作系統(tǒng)的接口規(guī)約、命名規(guī)則16復旦大學計算機科學與工程系軟件工程課程軟件設計的過程-2迭代展開、不斷細化的系統(tǒng)設計體系結構和接口設計數(shù)據(jù)/類設計部件級(過程)設計編寫設計文檔設計評審17復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則
軟件體系結構設計部件級設計技術設計規(guī)約與設計評審18復旦大學計算機科學與工程系軟件工程課程軟件設計的基本原則抽象:考慮高層問題時忽略低層細節(jié)逐步求精:不斷接近問題的完整解模塊化:將系統(tǒng)劃分為相對獨立但又有所關聯(lián)的多個部分信息隱藏:對其它模塊隱藏內(nèi)部細節(jié)模塊獨立:模塊功能相對獨立—高內(nèi)聚/低耦合19復旦大學計算機科學與工程系軟件工程課程抽象控制復雜性的基本策略抽象過程:從特殊到一般的過程,上層概念是下層概念的抽象,下層概念是上層概念的精化和細化軟件開發(fā)過程的每一步都是對較高一級抽象的解作一次具體化的描述與實現(xiàn)無關的需求—考慮特定實現(xiàn)技術的設計、將每個模塊逐一編碼實現(xiàn)……20復旦大學計算機科學與工程系軟件工程課程過程抽象與數(shù)據(jù)抽象過程抽象:功能角度的抽象使用者將功能體作為單個功能看待這些功能實際上是由一系列更低級的功能或代碼來實現(xiàn)的過程抽象例:函數(shù)、功能性的類/對象數(shù)據(jù)抽象定義數(shù)據(jù)類型和施加于該類型對象的操作限定了對象的取值范圍,只能通過這些操作修改和觀察數(shù)據(jù)例如面向?qū)ο蟮膒erson類封裝實際年齡,public接口上開放的是轉(zhuǎn)換為老年/中年/青年/少年…后的年齡段信息21復旦大學計算機科學與工程系軟件工程課程逐步求精把問題的求解過程分解成若干步驟或階段,每步都比上步更精化,更接近問題的解法常與分層抽象的思想相結合抽象使得設計者能夠描述過程和數(shù)據(jù)而忽略低層的細節(jié)求精有助于設計者在設計過程中揭示低層的細節(jié)高層抽象將在下層不斷精化,最終得到軟件實現(xiàn)22復旦大學計算機科學與工程系軟件工程課程模塊化(分解)按照設計原則將系統(tǒng)劃分為若干個較小的模塊相互獨立但又相互關聯(lián)實際上是系統(tǒng)分解和抽象的過程模塊是相對獨立的程序體是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募蠁为毭?,并且可以通過名字來訪問例如:類、過程、函數(shù)、子程序、宏等23復旦大學計算機科學與工程系軟件工程課程通過模塊化降低開發(fā)復雜度C(x):問題x的復雜性E(x):解決問題x所需工作量對于兩個問題p1和p2:1)如果C(p1)>C(p2)那么E(p1)>E(p2) 問題越復雜解決問題所需要的花費更多2)C(p1+p2)>C(p1)+C(p2)因此E(p1+p2)>E(p1)+E(p2)將復雜問題分解成可以多個子問題分別解決會更加容易(模塊化思想的依據(jù))24復旦大學計算機科學與工程系軟件工程課程模塊化例:智能灌溉總體設計:將系統(tǒng)劃分為傳感器、灌溉決策和灌溉設備控制三個模塊,定義好相互之間的數(shù)據(jù)和控制接口傳感器模塊:接受傳感器收集的溫度、濕度、土壤等各種數(shù)據(jù)灌溉決策:根據(jù)種植經(jīng)驗和收集到的數(shù)據(jù)判斷灌溉決策灌溉設備控制:根據(jù)決策控制灌溉設備進行灌溉降低整體復雜度:可以分而治之而且可以由具備不同專業(yè)知識的開發(fā)者分別承擔25復旦大學計算機科學與工程系軟件工程課程誤區(qū):無限制地進行模塊化分?如果我們無限制地劃分軟件,開發(fā)它所需的工作量會變得小到可以忽略?結論:NO模塊數(shù)量增加時,只是使各個子模塊的工作量之和有所減小
然而開發(fā)工作量還有很大一部分來自于模塊間的接口和集成除了技術上的接口和集成,還包括人與人之間的溝通集成和溝通的開銷到了一定程度就會成為開發(fā)工作量的主要部分26復旦大學計算機科學與工程系軟件工程課程結論:適度的模塊化模塊數(shù)增加時,模塊間的關系也隨之增加,接口和集成的工作量也隨之增加結論:尋找最佳模塊化程度平衡點27復旦大學計算機科學與工程系軟件工程課程信息隱藏每個模塊都盡量對其他模塊隱藏自己的內(nèi)部實現(xiàn)細節(jié)模塊內(nèi)部的數(shù)據(jù)和過程不允許其它不需要這些信息的模塊使用定義和實施對模塊的過程細節(jié)和局部數(shù)據(jù)結構的存取限制典型的信息隱藏:面向?qū)ο蟮脑L問控制符信息隱藏是實現(xiàn)抽象/模塊化機制的基本支撐28復旦大學計算機科學與工程系軟件工程課程模塊獨立(高內(nèi)聚/低耦合)模塊獨立是模塊化的根本要求模塊完成獨立的功能:明確可辨識高內(nèi)聚:內(nèi)部結構緊密低耦合:模塊間關聯(lián)和依賴程度盡可能小,與其他模塊的接口簡單符合信息隱蔽和信息局部化原則29復旦大學計算機科學與工程系軟件工程課程模塊獨立的重要性模塊的開發(fā)者專注于某一個相對獨立的部分不用過多關心其他模塊修改和bug影響的范圍被局部化單個模塊更容易復用獨立的模塊更易于維護和測試30復旦大學計算機科學與工程系軟件工程課程模塊獨立性的指標內(nèi)聚度與耦合度內(nèi)聚(cohesion):一個模塊內(nèi)部各個元素彼此結合的緊密程度
—盡量高耦合(coupling):模塊之間相互關聯(lián)的程度
—盡量低31復旦大學計算機科學與工程系軟件工程課程內(nèi)聚度的七個層次-1巧合內(nèi)聚(偶然內(nèi)聚):將幾個模塊中的相同程序代碼段獨立出來建立的模塊(無明顯獨立性)邏輯內(nèi)聚:完成一組邏輯相關任務的模塊,由控制型參數(shù)來確定執(zhí)行哪一種功能時間內(nèi)聚:模塊中的多個任務必須在一段時間內(nèi)先后執(zhí)行(無明確的過程約束)32復旦大學計算機科學與工程系軟件工程課程內(nèi)聚度的七個層次-2過程內(nèi)聚:模塊內(nèi)的多個任務必須按指定的過程執(zhí)行通信內(nèi)聚:模塊內(nèi)所有處理元素都集中在某個數(shù)據(jù)結構的一塊區(qū)域中(例如對課程進行選、退課和查詢)順序內(nèi)聚:指一個模塊完成多個功能,這些功能又必須順序執(zhí)行(更加單一的過程內(nèi)聚)功能內(nèi)聚:指一個模塊中各個部分都是為完成一項具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的(單個功能)33復旦大學計算機科學與工程系軟件工程課程耦合度的七個層次-1內(nèi)容耦合:一個模塊可以直接訪問另一個模塊的內(nèi)部數(shù)據(jù)或內(nèi)部功能公共耦合:多個模塊共同訪問某些公共數(shù)據(jù)元素外部耦合:多個模塊間需要遵循同樣的外部約束,例如通信協(xié)議、數(shù)據(jù)格式等34復旦大學計算機科學與工程系軟件工程課程耦合度的七個層次-2控制耦合:模塊間的交互參數(shù)包含控制信息,可影響另一個模塊的執(zhí)行邏輯標記耦合:模塊間傳遞特定的數(shù)據(jù)結構數(shù)據(jù)耦合:模塊間僅傳遞簡單數(shù)據(jù)非直接耦合:兩個模塊可以相對獨立工作35復旦大學計算機科學與工程系軟件工程課程模塊獨立性:高內(nèi)聚低耦合模塊獨立性的模塊:高內(nèi)聚低耦合的模塊
一個模塊內(nèi)部各個元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其模塊獨立性就越弱36復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則軟件體系結構設計部件級設計技術設計規(guī)約與設計評審37復旦大學計算機科學與工程系軟件工程課程軟件體系結構設計軟件體系結構關注系統(tǒng)的一個或多個結構,包含軟件部件、部件對外可見的屬性以及部件間的關系
體系結構的作用方便利益相關人員的交流有利于系統(tǒng)設計的前期決策可傳遞、易于理解的系統(tǒng)級抽象38復旦大學計算機科學與工程系軟件工程課程39復旦大學計算機科學與工程系軟件工程課程體系結構發(fā)展過程-1單主機結構界面、數(shù)據(jù)和程序集中在單臺主機上不需要考慮多用戶并發(fā)操作的問題C/S(Client/Server)結構常見的服務器端體現(xiàn)為關系數(shù)據(jù)庫客戶端負責顯示和業(yè)務邏輯處理在部署和擴展性方面存在不足:系統(tǒng)升級需要一一更新所有客戶端40復旦大學計算機科學與工程系軟件工程課程體系結構發(fā)展過程-2B/S(Browser/Server)結構瘦客戶端:瀏覽器或客戶端程序(Applet等)三層結構客戶端:處理用戶接口和用戶請求Web服務器端:處理Web服務和運行業(yè)務代碼數(shù)據(jù)端:關系型數(shù)據(jù)庫和其他后端數(shù)據(jù)資源新的發(fā)展:多層結構Web服務器分離為Web端和業(yè)務服務端(例如J2EE應用服務器)41復旦大學計算機科學與工程系軟件工程課程軟件體系結構風格體系結構風格定義了一系列系統(tǒng)的結構組織的模式,它是對一類具有相似結構的系統(tǒng)體系結構的抽象一些實現(xiàn)系統(tǒng)所需的功能的部件連接各個部件,負責部件間通信和協(xié)作的連接器定義部件之間怎樣整合的系統(tǒng)約束使設計者能夠理解整個系統(tǒng)屬性并分析已知屬性的語義模型42復旦大學計算機科學與工程系軟件工程課程數(shù)據(jù)為中心體系結構一些數(shù)據(jù)(比如一個文件或者數(shù)據(jù)庫)保存在整個結構的中心,并且被其他部件頻繁地使用、添加、刪除、或者修改43復旦大學計算機科學與工程系軟件工程課程數(shù)據(jù)流風格的體系結構又稱管道/過濾器體系結構風格這種結構適用于輸入數(shù)據(jù)被一系列的計算或者處理部件變換成輸出數(shù)據(jù)。44復旦大學計算機科學與工程系軟件工程課程調(diào)用和返回風格的體系結構這種風格使一個軟件設計者設計出非常容易修改和擴充的體系結構主程序/子程序風格體系結構遠程過程調(diào)用風格的體系結構
45復旦大學計算機科學與工程系軟件工程課程在這里要了解幾個概念:程序結構的深度:程序結構的層次數(shù)稱為結構的深度。結構的深度在一定意義上反映了程序結構的規(guī)模和復雜程度。程序結構的寬度:層次結構中同一層模塊的最大模塊個數(shù)稱為結構的寬度。模塊的扇入和扇出:扇出表示一個模塊直接調(diào)用(或控制)的其它模塊數(shù)目。扇入則定義為調(diào)用(或控制)一個給定模塊的模塊個數(shù)。多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊。46復旦大學計算機科學與工程系軟件工程課程面向?qū)ο箫L格的體系結構系統(tǒng)部件封裝數(shù)據(jù)和操作數(shù)據(jù)的方法部件之間的交互和協(xié)調(diào)通過消息來傳遞47復旦大學計算機科學與工程系軟件工程課程層次式風格的體系結構在這種結構中,定義不同的層次,每層都完成了相對外層更靠近機器指令的操作48復旦大學計算機科學與工程系軟件工程課程評估可選的體系結構對于同一個軟件需求,由于各種設計方法的原理不同,會導出不同的軟件結構。同一問題的不同軟件結構:49復旦大學計算機科學與工程系軟件工程課程ATAM(architecturetrade-offanalysismethod)1) 定義應用場景(scenarios):通過usecase圖來從用戶的角度表現(xiàn)系統(tǒng)。2) 得出需求、約束和環(huán)境描述:這是需求工程的一部分,用以確定所有客戶方關心的問題都被列出。3) 描述能處理上述情境和需求的體系結構風格。4) 單獨地評價系統(tǒng)的各項性能。針對體系結構設計的性能包括:可靠性,性能、安全性,可維護性,靈活性,可測試性,可移植性,可重用性和互操作性等。50復旦大學計算機科學與工程系軟件工程課程ATAM(architecturetrade-offanalysismethod)5) 針對不同的架構形式,評價第4步提到的這些性能的敏感程度??梢酝ㄟ^這樣的方法來評價:在整個架構中做一些小的變更,分析并確定上訴性能有沒有很敏感的變化。那些在體系結構改動中受到較大影響的性能被稱為敏感點(sensitivepoint)。6) 通過第5步的敏感度分析來評價第三步中提出的那些體系結構。SEI描述的方法如下:當一個架構的敏感點被確定,我們需要找到在系統(tǒng)中最需要權衡利弊的因素(trade-offpoint)。權衡因素就是指改變架構中的這項內(nèi)容系統(tǒng)的很多性能就會發(fā)生敏感的變化。比如說,一個client-server結構的系統(tǒng)的表現(xiàn)性能和系統(tǒng)中server的數(shù)量是息息相關的(比如增加server的數(shù)量,一定程度上系統(tǒng)的表現(xiàn)性能就會提高)……這樣的話,server的數(shù)量就是這個架構中的平衡點。51復旦大學計算機科學與工程系軟件工程課程在進行軟件體系結構設計時,可以參考如下規(guī)則:(1) 改進軟件結構提高模塊獨立性(2) 模塊適當?shù)纳疃取挾?、扇出和扇?3) 模塊判斷作用范圍應在其控制作用范圍內(nèi)(4) 力爭降低模塊接口的復雜度(5) 設計單入口單出口的模塊(6) 模塊功能應該是可以預測的模塊大小適中(7) 一般一個模塊包含的語句在30~50條左右較好。(8) 一個設計好的軟件結構,通常頂層扇出比較高,中層扇出比較少,底層有高扇入。52復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則軟件體系結構設計部件級設計技術
設計規(guī)約與設計評審53復旦大學計算機科學與工程系軟件工程課程部件級設計技術在結構化分析和設計方法時部件往往被稱為模塊在面向?qū)ο蠓治龊驮O計時部件被稱為類,在基于構件的開發(fā)方法中,部件被稱為構件。54復旦大學計算機科學與工程系軟件工程課程部件級設計技術在部件級設計階段,主要完成如下工作:為每個部件確定采用的算法,選擇某種適當?shù)墓ぞ弑磉_算法的過程,編寫部件的詳細過程性描述;確定每一部件內(nèi)部使用的數(shù)據(jù)結構;在部件級設計結束時,應該把上述結果寫入部件級設計說明書,并且通過復審形成正式文檔,作為下一階段(編碼階段)的工作依據(jù)。
55復旦大學計算機科學與工程系軟件工程課程結構化程序設計方法一種較為流行的定義是:“如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這三種基本控制結構進行連結,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的”。隨著面向?qū)ο蠛蛙浖陀玫刃碌能浖_發(fā)方法和技術的發(fā)展,更現(xiàn)實、更有效的開發(fā)途徑可能是自頂向下和自底向上兩種方法有機的結合。56復旦大學計算機科學與工程系軟件工程課程圖形表示法程序流程圖
N-S圖
PAD
57復旦大學計算機科學與工程系軟件工程課程程序流程圖程序流程圖獨立于任何一種程序設計語言,比較直觀、清晰、易于學習掌握為使用流程圖描述結構化程序,必須限制流程圖只能使用五種基本控制結構58復旦大學計算機科學與工程系軟件工程課程控制結構相互組合和嵌套的實例59復旦大學計算機科學與工程系軟件工程課程N-S圖Nassi和Shneiderman
提出了一種符合結構化程序設計原則的圖形描述工具,叫做盒圖,也叫做N-S圖五種基本控制結構60復旦大學計算機科學與工程系軟件工程課程控制結構相互組合和嵌套的實例61復旦大學計算機科學與工程系軟件工程課程PADPAD是ProblemAnalysisDiagram的縮寫,由程序流程圖演化而來五種基本控制結構62復旦大學計算機科學與工程系軟件工程課程PAD實例63復旦大學計算機科學與工程系軟件工程課程判定表當算法中包含多重嵌套的條件選擇時,用程序流程圖、N-S圖或PAD都不易清楚地描述。然而,判定表卻能清晰地表達復雜的條件組合與應做動作之間的對應關系。圖4-11的例子,把多分支判斷改為兩分支判斷64復旦大學計算機科學與工程系軟件工程課程不包含多分支結構的流程圖實例65復旦大學計算機科學與工程系軟件工程課程反映程序邏輯的判定表66復旦大學計算機科學與工程系軟件工程課程判定表的優(yōu)點是能夠簡潔,無二義性地描述所有的處理規(guī)則。但判定表表示的是靜態(tài)邏輯,是在某種條件取值組合情況下可能的結果,它不能表達加工的順序,也不能表達循環(huán)結構67復旦大學計算機科學與工程系軟件工程課程設計性語言PDLPDL(ProgramDesignLanguage)是一種用于描述功能部件的算法設計和處理細節(jié)的語言,稱為設計性語言。它是一種偽碼。一般地,偽碼的語法規(guī)則分為“外語法”和“內(nèi)語法”外語法應當符合一般程序設計語言常用語句的語法規(guī)則;內(nèi)語法可以用英語中一些簡單的句子、短語和通用的數(shù)學符號,來描述程序應執(zhí)行的功能68復旦大學計算機科學與工程系軟件工程課程PDL的使用實例PROCEDURE
spellcheck
IS
查找錯拼的單詞
BEGIN
splitdocumentintosinglewords
把整個文檔分離成單詞
loodupwordsindictionary
在字典中查這些單詞
displaywordswhicharenotindictionary
顯示字典中查不到的單詞
createanewdictionary 造一新字典
END
spellcheck69復旦大學計算機科學與工程系軟件工程課程PDL特點1. 有固定的關鍵字外語法,提供全部結構化控制結構、數(shù)據(jù)說明和部件特征。屬于外語法的關鍵字是有限的詞匯集,它們能對PDL正文進行結構分割,使之變得易于理解。為了區(qū)別關鍵字,規(guī)定關鍵字一律大寫,其它單詞一律小寫。2. 內(nèi)語法使用自然語言來描述處理特性。內(nèi)語法比較靈活,只要寫清楚就可以,不必考慮語法錯,以利于人們可把主要精力放在描述算法的邏輯上。3. 有數(shù)據(jù)說明機制,包括簡單的(如標量和數(shù)組)與復雜的(如鏈表和層次結構)的數(shù)據(jù)結構。4. 有子程序定義與調(diào)用機制,用以表達各種方式的接口說明。70復旦大學計算機科學與工程系軟件工程課程內(nèi)容摘要軟件設計工程概述軟件設計原則軟件體系結構設計部件級設計技術設計規(guī)約與設計評審71復旦大學計算機科學與工程系軟件工程課程設計規(guī)約Ⅰ.工作范圍A.系統(tǒng)目標B.運行環(huán)境C.主要軟件需求D.設計約束∕限制Ⅱ.體系結構設計A.數(shù)據(jù)流與控制流復審B.導出的程序結構C.功能與程序交叉索引Ⅲ.數(shù)據(jù)設計A.數(shù)據(jù)對象與形成的數(shù)據(jù)結構B.文件和數(shù)據(jù)庫結構ⅰ文件的邏輯結構
ⅱ文件邏輯記錄描述ⅲ訪問方式C.全局數(shù)據(jù)D.文件∕數(shù)據(jù)與程序交叉索引Ⅳ.接口設計A.人機界面規(guī)格說明B.人機界面設計規(guī)則C.外部接口設計ⅰ外部數(shù)據(jù)接口ⅱ外部系統(tǒng)或設備接口D.內(nèi)部接口設計規(guī)則72復旦大學計算機科學與工程系軟件工程課程Ⅴ.各部件的過程設計A.處理與算法描述B.接口描述C.設計語言(或其它)描述D.使用的部件E.內(nèi)部程序邏輯描述F.注釋∕約束∕限制Ⅵ.運行設計A.運行部件組合B.運行控制規(guī)則C.運行時間安排Ⅶ.出錯處理設計A.出錯處理信息B.出錯處理對策ⅰ設置后備ⅱ性能降級?;謴秃驮賳英?安全保密設計Ⅸ.需求∕設計交叉索引Ⅹ.測試部分A.測試方針B.集成策略C.特殊考慮Ⅺ.特殊注解Ⅻ.附錄73復旦大學計算機科學與工程系軟件工程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年朔州職業(yè)技術學院單招職業(yè)技能考試模擬測試卷附答案解析
- 2026四川綿陽市游仙區(qū)司法局招聘社區(qū)矯正專職社會工作者1人備考題庫及一套參考答案詳解
- 2026年南昌理工學院單招職業(yè)技能考試題庫附答案解析
- 2025年杭州醫(yī)學院單招職業(yè)適應性測試題庫帶答案解析
- 2025年吉安職業(yè)技術學院單招職業(yè)傾向性測試題庫帶答案解析
- 2025年江西司法警官職業(yè)學院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2025年深圳職業(yè)技術大學單招職業(yè)適應性測試題庫附答案解析
- 2024年羅城仫佬族自治縣招教考試備考題庫附答案解析
- 2025年陜西省建筑工程總公司職工大學單招職業(yè)技能考試模擬測試卷帶答案解析
- 2025年湖南科技職業(yè)學院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 精準定位式漏水檢測方案
- 2023氣管插管意外拔管的不良事件分析及改進措施
- 2023自動啟閉噴水滅火系統(tǒng)技術規(guī)程
- 架線弧垂計算表(應力弧垂插值計算)
- 工廠驗收測試(FAT)
- 市醫(yī)療保險高值藥品使用申請表
- 認知障礙患者進食問題評估與護理
- 高職單招數(shù)學試題及答案
- 基礎化學(本科)PPT完整全套教學課件
- 玻璃幕墻分項工程質(zhì)量驗收記錄表
- 設備安裝施工方案(完整常用版)
評論
0/150
提交評論