版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第 3 章需求分析與軟件設計項目開發(fā)綜述(前期準備與立項)1)提出開發(fā)要求:新系統(tǒng)的意義,業(yè)務、管理方面2)可行性論證與立項:分析投入產(chǎn)出比3)項目建設的組織與管理:成立開發(fā)小組4)開發(fā)的步驟:分析、設計、實現(xiàn)本章主要內(nèi)容3.1 應用軟件與系統(tǒng)之間的關系3.1.1 信息系統(tǒng)的兩個部分3.1.2 應用軟件目標和系統(tǒng)目標之間的關系3.1.3 可行性研究3.2 應用軟件需求分析與設計的主要目的與任務3.2.1 軟件需求分析的目的與主要任務3.2.2 軟件設計的目的與主要任務3.3 軟件需求分析3.3.1 軟件需求分析所關心的問題3.3.2 軟件需求分析的基本步驟3.3.3 軟件需求分析的方法與軟件輔
2、助工具3.4 軟件設計3.4.1 軟件設計過程 3.4.2 數(shù)據(jù)設計3.4.3 體系結(jié)構(gòu)設計 3.4.4 接口設計 3.4.5 過程設計 3.4.6 代碼設計和設計規(guī)范 分析: 做什么設計: 怎么做本章提要如何建立符合業(yè)務要求和管理要求的信息系統(tǒng)?軟件開發(fā)包括需求分析、軟件設計和軟件實現(xiàn)3個部分;用輔助軟件來完成需求分析和軟件設計工作;信息系統(tǒng)子系統(tǒng)功能由應用軟件實現(xiàn);可行性分析:新系統(tǒng)的意義,為什么建該系統(tǒng)?需求分析:新系統(tǒng)做什么? 需要調(diào)查分析關于系統(tǒng)開發(fā),本章的幾個觀點:3.1 應用軟件與系統(tǒng)之間的關系3.1.1 信息系統(tǒng)的兩個部分3.1.2 應用軟件目標和系統(tǒng)目標之間的關系3.1.3
3、可行性研究3.1 應用軟件與系統(tǒng)之間的關系3.1.1 信息系統(tǒng)的兩個部分功能部分基礎部分功能部分(*)軟件系統(tǒng):計算機系統(tǒng)軟件硬件系統(tǒng):計算機硬件、網(wǎng)絡組織制度:組織機構(gòu)、人員分工、管理方法、規(guī)章制度管理信息系統(tǒng)各功能子系統(tǒng)基礎部分數(shù)據(jù)存儲:數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)按物理結(jié)構(gòu)分系統(tǒng)的功能部分 是針對各項業(yè)務進行計算機處理的業(yè)務信息系統(tǒng);必須建立在系統(tǒng)基礎部分之上;它的功能主要由應用軟件來實現(xiàn)。 是系統(tǒng)功能部分的主體;是系統(tǒng)的核心。基礎部分和功能部分都需要分析和設計! 系統(tǒng)的基礎部分和功能部分會隨著用戶的需求不同和業(yè)務的不同而有所不同,其復雜程度也不一樣。在開發(fā)過程中必須對應用軟件進行詳細的需求分
4、析和軟件設計,以便為軟件的實現(xiàn)建立良好的基礎。3.1.2 應用軟件目標和系統(tǒng)目標之間的關系 從計算機系統(tǒng)的一般開發(fā)流程來看系統(tǒng)目標與軟件目標之間的關系:軟件目標是系統(tǒng)目標的主要組成部分軟件目標必須與整個管理信息系統(tǒng)的目標保持一致計算機系統(tǒng)開發(fā)流程應用軟件由上圖可知:一個計算機系統(tǒng)的開發(fā)在應用軟件開發(fā)之前,需要開展以下三個方面的工作:(1)系統(tǒng)的問題定義與目標制定基于生產(chǎn)和市場需要基于改善勞動條件、提高產(chǎn)品質(zhì)量、提高經(jīng)濟效益等方面適應技術進步、提高社會效益等方面 (2)初步可行性論證 (見下節(jié))系統(tǒng)建設條件是否具備成功的可能性有多大從技術進步、社會效益、經(jīng)濟效益看是否值得 (3)系統(tǒng)定義和分析(
5、*主要任務見 下頁) 即:依據(jù)系統(tǒng)總目標,定義系統(tǒng)的詳細目標、模型、功能、性能和界面確定系統(tǒng)與環(huán)境的界面確定硬件、軟件功能的合理分擔進行多種方案設計,提出建議方案對方案進行可行性論證制定開發(fā)進度計劃和投資計劃 由以上3方面工作產(chǎn)生系統(tǒng)規(guī)格說明書格式與內(nèi)容參見教材附錄1 (P206)3.1.3 可行性研究對分析提出方案進行可行性論證,用最小的代價,在盡可能短的時間內(nèi),確定該系統(tǒng)或軟件項目是否能夠開發(fā),是否值得開發(fā)。如果值得去開發(fā),是否有能力解決它。 可行性研究就是一次大大簡化了的系統(tǒng)分析和設計的過程。可行性研究主要內(nèi)容包括四個方面經(jīng)濟可行性技術可行性運行可行性(組織、進度安排)法律可行性(有否侵
6、權、破壞等其他責任)格式與內(nèi)容參見教材附錄2 3.2 應用軟件需求分析與設計的主要目的與任務3.2.1 軟件需求分析的目的與主要任務什么是軟件需求指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。軟件需求分析具體需要完成的任務(2)明確系統(tǒng)做什么?建立分析模型如何描述系統(tǒng)?形成需求分析報告用戶和開發(fā)者共同明確完整準確清晰一致表達需求分析報告軟件需求分析的目的了解用戶要解決的問題和達到的目標;軟件設計人員與用戶之間全面溝通,建立系統(tǒng)的邏輯模型軟件需求分析主要解決的是系統(tǒng) “做什么”的問題,分析系統(tǒng)必須具備哪些功能。為系統(tǒng)建設提供明確的目標,為系統(tǒng)設計提供足夠的設計依據(jù)。 3.2.2
7、軟件設計的目的與主要任務軟件設計的主要任務確定系統(tǒng)“怎樣做”主要任務在需求分析的基礎上,分析、理解軟件需求規(guī)格說明書,據(jù)此形成一個具體的軟件設計方案,并轉(zhuǎn)換為軟件設計文檔。(軟件設計文檔包括:軟件概要設計說明書、軟件詳細設計說明書、數(shù)據(jù)庫設計說明書。 )需求分析報告理解需求規(guī)格說明書系統(tǒng)怎么做?完成軟件設計軟件設計報告進行系統(tǒng)物理模型設計軟件設計的具體工作總體設計和詳細設計功能 設計接口設計如界面數(shù)據(jù)存儲設計如數(shù)據(jù)庫設計、數(shù)據(jù)結(jié)構(gòu)設計等計算機處理過程設計如輸入、處理流程、輸出設計等代碼設計和設計規(guī)范的制定形成軟件設計規(guī)格說明書 軟件設計的主要目的建立系統(tǒng)的物理模型系統(tǒng)”怎么做”為系統(tǒng)的功能實現(xiàn)
8、和具體實施提供足夠的依據(jù)。分析三大階段設計實現(xiàn)復習:3.3 軟件需求分析3.3 軟件需求分析3.3.1 軟件需求分析所關心的問題3.3.2 軟件需求分析的基本步驟3.3.3 軟件需求分析的方法與軟件輔助工具3.3.1 軟件需求分析所關心的問題以系統(tǒng)的觀點需求分析不僅僅只關心系統(tǒng)的軟件部分,實際上還要關心整個目標系統(tǒng)所涉及的問題。系統(tǒng)要解決的問題及其目標是什么問題的規(guī)模有多大系統(tǒng)是否有解決方案如果方案可行,那么應該如何組織、計劃和實施該系統(tǒng)。 軟件需求分析所關心的問題 系統(tǒng)服務于什么樣的行業(yè)?需要解決的問題是什么?系統(tǒng)需要處理哪些信息? 系統(tǒng)需要具備哪些功能? 系統(tǒng)需要什么樣的運行環(huán)境? 如何組
9、織系統(tǒng)的開發(fā)?系統(tǒng)投資多少?系統(tǒng)是否值得開發(fā)?需求分析的基本內(nèi)容功能需求性能需求(響應時間、)運行需求數(shù)據(jù)要求安全保密要求用戶界面要求可靠性要求成本消耗與開發(fā)進度要求其他預期要求 需求分析的4個基本步驟調(diào)查研究獲取需求(關心需求基本內(nèi)容)分析建模建立系統(tǒng)邏輯模型(DFDDD加工分析)需求描述形成需求分析文檔需求驗證(評審)以文檔為主要依據(jù)驗證需求 3.3.2 軟件需求分析的基本步驟需求的獲取通常采用如下方法建立由用戶、分析員、領域?qū)<医M成的聯(lián)合分析小組,由分析員承擔主要的分析任務。調(diào)查研究。這是獲取需求的最主要的方法。分析問題和確認需求。調(diào)查研究的主要途徑市場調(diào)查市場有無類似系統(tǒng)訪問用戶和用戶
10、領域?qū)<耀@取資料、信息考察現(xiàn)場(跟班作業(yè)) 操作環(huán)境、過程、要求、業(yè)務流程使用各種圖形工具描述 組織機構(gòu)圖、業(yè)務流程圖、系統(tǒng)流程圖 需求分析第一步:調(diào)查研究、獲取需求需求分析第二步:分析建模常用分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(簡稱SA)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法邏輯構(gòu)造法(簡稱LCP)面向?qū)ο蟮姆椒ǎê喎QOOA)分析建模必須達到的主要目標描述用戶的需求()建立軟件設計的基礎定義可用于軟件確認的依據(jù) 需求分析第三步:需求描述遵循規(guī)范建立標準或模板國際標準國家標準行業(yè)標準企業(yè)標準小組標準 需求規(guī)格說明書格式與內(nèi)容參見教材附錄3描述清晰、一致、完整、無二義的描述 需求來源需求內(nèi)容主要關注功
11、能需求、數(shù)據(jù)要求、用戶界面需求記錄需求變更需求分析第四步:需求驗證需求驗證的必要性需求易變性需求分析報告存在問題(二義性)需求驗證的4個方面驗證需求的一致性 所有需求必須是一致的,任何一條需求都不能和其他需求相混淆、相矛盾。驗證需求的完整性需求必須是完整的,規(guī)格說明書必須包括用戶需要的每一個功能或性能。驗證需求的現(xiàn)實性指定的需求應該是用現(xiàn)有的技術和方法可以實現(xiàn)的。驗證需求的有效性驗證需求確實能解決用戶面對的實際問題。 例 一個企業(yè)的材料檢驗入庫業(yè)務流程 例 一個企業(yè)的材料檢驗入庫的系統(tǒng)流程供應商供貨清單登記貨物檢驗記錄庫存帳記錄貨物明細帳檢驗記錄入庫明細帳產(chǎn)生貨物檢驗報告檢驗報告更新貨物庫存帳
12、貨物入庫單產(chǎn)生貨物庫存報表庫存報表產(chǎn)生貨物入庫日報表入庫日報表系統(tǒng)流程圖,描述計算機事務處理中從數(shù)據(jù)輸入到獲得輸出為止,各個處理工序的邏輯過程(不反映人工操作那部分)3.3.3 軟件需求分析的方法與軟件輔助工具結(jié)構(gòu)化分析方法Structured Analysis在20世紀70年代中期由E.Yourdon等人倡導的一種面向數(shù)據(jù)流的分析方法。主要思想用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關系,運用“抽象-分解”的基本手段,自頂向下(TOP-DOWN),逐層分解,直到找到滿足功能需要的所有細節(jié)為止。T.DeMarco的定義結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、判定表或判定樹等工具
13、,來建立一種新的、稱為結(jié)構(gòu)化說明書的目標文檔。結(jié)構(gòu)化分析模型結(jié)構(gòu)化分析模型-由一組模型構(gòu)成信息(或數(shù)據(jù))模型功能模型行為模型Pressman的描述信息(或數(shù)據(jù))模型DD +ERD功能模型DFD+加工規(guī)格說明行為模型STD+控制規(guī)格說明注意:在“加工規(guī)格說明”中實際上也隱含了一些行為。結(jié)構(gòu)化分析的基本步驟 具體步驟從問題出發(fā),畫出頂層DFD,確定系統(tǒng)邊界;由頂向下按功能逐層分解,根據(jù)分析需要畫出各層DFD;當不再分解時,建立DD;對加工(處理)進行描述Pspec ;建立E-R圖、控制流圖CFD、控制說明Cspec和狀態(tài)遷移圖STD等為分析作補充;沿DFD回溯:從最終的輸出數(shù)據(jù)流出發(fā),審查輸入/輸
14、出的合理性、一致性、完整性;修改完善需求規(guī)格說明書。 外部實體,主要加工內(nèi)容,數(shù)據(jù)來源與去處等。DFD的4個基本要素外部實體:人員數(shù)據(jù)流:加工數(shù)據(jù)及流向處理或加工:對數(shù)據(jù)流的處理數(shù)據(jù)存儲 :對數(shù)據(jù)流加工中需要訪問的數(shù)據(jù)集合。外部實體處理名稱處理編號 文件名稱編號使用軟件工具來輔助完成 DFD的繪制 Sybase公司的S-Designor5.1中的ProcessAnalyst 的基本功能能輔助完成系統(tǒng)功能模型的建立 能對各級DFD(分層)進行定義和描述外部實體數(shù)據(jù)流數(shù)據(jù)存儲處理或加工能把建立的模型生成rtf格式的文檔,為需求分析報告的形成建立了基礎 。S-Designor5.1的ProcessA
15、nalyst工具演示 課堂演示工具的安裝與使用外部實體定義與描述數(shù)據(jù)流定義與描述數(shù)據(jù)存儲定義與描述處理定義與描述TITLE定義與描述生成模型的rtf格式文檔主要演示界面1用于建立外部實體用于建立功能處理用于建立數(shù)據(jù)存儲用于建立數(shù)據(jù)流數(shù)據(jù)存儲外部實體加工、處理數(shù)據(jù)流Title主要演示界面2主要演示界面3主要演示界面4主要演示界面5主要演示界面6主要演示界面7主要演示界面8【Edit】|【 Add Title】主要演示界面9:生成“報告”前要設置字體【例 3-1】簡單倉庫管理信息系統(tǒng)(SMSTORE) 假定某百貨商場需要開發(fā)一個簡單的倉庫管理信息系統(tǒng)(簡稱SMSTORE)。該倉庫管理信息系統(tǒng)的業(yè)務
16、主要包括入庫和出庫。 該系統(tǒng)要求對每天發(fā)生的每一筆入庫或出庫的貨物明細進行記錄,并及時更新庫存帳。入庫業(yè)務由倉庫入庫人員辦理,出庫業(yè)務由出庫人員辦理。 辦理入庫業(yè)務的過程是:入庫人員根據(jù)開具的入庫單所列貨物,逐一查找?guī)齑鎺け局杏袩o該項帳冊。如果有,則按入庫單所列各項登記入庫明細,并更新相應貨物的庫存帳;如果沒有,則需要由系統(tǒng)給出“倉庫中無此貨物”的信息。入庫人員每天工作結(jié)束時完成一份入庫日報。 辦理出庫業(yè)務的過程是:出庫人員根據(jù)開具的出庫單所列貨物,逐一查找?guī)齑鎺け局杏袩o該項帳冊。如果有且?guī)齑鎺け局械呢浳锏臄?shù)量是足夠的,那么按出庫單所列各項登記出庫明細帳并更新相應貨物的庫存帳;如果沒有或數(shù)量不
17、夠則需要由系統(tǒng)給出“倉庫中無此貨物”或“庫存不夠”的信息。出庫人員每天工作結(jié)束時完成一份出庫日報。 倉庫主任隨時查看庫存并完成當前的庫存報表。 要求用S-Designor5.1的ProcessAnalyst工具畫出該系統(tǒng)的DFD。解: 結(jié)果如圖所示。其中處理3的分層如后圖所示。解 上圖處理3的分層圖。文件外部實體更一般的DFD的分層示例數(shù)據(jù)詞典DD及其示例數(shù)據(jù)詞典把(軟件系統(tǒng)中包含的)數(shù)據(jù)精確地、嚴格地定義并以字典式順序?qū)⑺鼈兘M織成詞條,使得用戶、分析員和開發(fā)人員有共同的理解。其作用就是對軟件中的每個數(shù)據(jù)規(guī)定一個定義條目,以保持數(shù)據(jù)在系統(tǒng)中的一致性。DD中可以描述的數(shù)據(jù)(3種)只含一個數(shù)據(jù)的數(shù)
18、據(jù)項(或數(shù)據(jù)元素);由多個相關數(shù)據(jù)項組成的數(shù)據(jù)流;數(shù)據(jù)文件或數(shù)據(jù)存儲。由數(shù)據(jù)元素組成數(shù)據(jù)的方式(3種)順序:即以確定次序連接兩個或更多的分量;選擇:即從兩個或更多的分量中選擇其中一個;重復:即把選定的分量重復0次或多次。數(shù)據(jù)詞典的詞條中應包含以下信息: 名稱 別名或編號 組成或組織結(jié)構(gòu)的描述 類型、長度、取值范圍等 何處使用:使用該詞條的是哪個加工例3-2 假定討論的對象是前例中描述的SMSTORE系統(tǒng) 該系統(tǒng)的入庫單格式如下表所示。庫存帳包括貨物代號、貨物名稱、類型、規(guī)格、款式、數(shù)量、單價、單位、供應商名稱等基本信息,每個貨物一頁帳。每發(fā)生一筆入出庫業(yè)務都需要對庫存帳更新。假定貨物為服裝,其
19、規(guī)格一般分為XXL、XL、L、M、S等5種。請用數(shù)據(jù)詞典的組織和說明方法給出例 3-1中數(shù)據(jù)流“入庫單”和數(shù)據(jù)項“規(guī)格”的詞條。 XX商場入庫單入庫單號: 入庫日期: 年 月 日貨物代號貨物名稱類型款式規(guī)格數(shù)量單位單價供應商名稱入庫人員: 倉庫主任:解: “入庫單”和“規(guī)格”詞條如下表所示。 數(shù)據(jù)流名:入庫單別名:無組織結(jié)構(gòu)的描述:入庫單=入庫單號+入庫日期+1貨物代號+貨物名稱+類型+款式+規(guī)格+數(shù)量+單位+單價+供應商名稱3+入庫人員+倉庫主任組成:按入庫單號從小到大排列何處使用:由入庫人員產(chǎn)生,由處理1“辦理入庫”接受備注:組織結(jié)構(gòu)的描述中的1和3代表花括號內(nèi)的部分重復的下界和上界數(shù)據(jù)項
20、名:規(guī)格定義:指服裝的尺寸大小類型:字符類型長度:3取值范圍:XXL、XL、L、M、S處理描述或加工說明處理描述或加工說明說明DFD中的數(shù)據(jù)加工的加工細節(jié)。描述了數(shù)據(jù)加工的輸入、加工邏輯、以及產(chǎn)生的輸出。指明加工(功能)的約束和限制,與加工相關的性能要求,以及影響加工的實現(xiàn)方式的設計約束。必須注意主要目的是要表達“做什么”,而不是“怎樣做”。應描述數(shù)據(jù)加工的策略而不是實現(xiàn)加工的細節(jié)。處理描述是以后軟件的功能設計和程序設計建立基礎。 一個處理描述或加工說明的模板處理名稱: 處理編號: .接收的輸入: 數(shù)據(jù)流名或編號、數(shù)據(jù)存儲名或編號產(chǎn)生的輸出: 數(shù)據(jù)流名或編號、數(shù)據(jù)存儲名或編號處理描述: 處理策
21、略/加工邏輯 通常用結(jié)構(gòu)化語言、判定表或判定樹等工具來描述 。激發(fā)條件: 什么條件下執(zhí)行該處理發(fā)生的頻度 :次/小時、次/天、次/周、次/月例3-4 處理描述請分析例3-1描述的問題并利用結(jié)構(gòu)化語言描述圖3-19中處理編號為1、處理名稱為“辦理入庫”的處理。處理名稱: 辦理入庫處理編號: 1接收的輸入: 入庫單產(chǎn)生的輸出: “倉庫中無此貨物”的提示信息訪問的數(shù)據(jù)存儲:庫存帳處理描述: (1)接受入庫單;(2)對于入庫單上所列每一項貨物,做 按貨物查找?guī)齑鎺ぃ?如果庫存帳中有此貨物, 則 按入庫單所列各項登記入庫明細; 更新相應貨物的庫存帳; 否則 給出“倉庫中無此貨物”的信息。激發(fā)條件: 當接
22、受到入庫單時就執(zhí)行該處理發(fā)生的頻度 :15次/天 判定表或判斷樹 判定表采用表格化的形式,適用于表達含有復雜判斷的處理邏輯。判定樹,它是判定表的圖形表示 【例3-5】 某公司為推銷人員制訂了獎勵辦法,把獎金與推銷金額及預收貨款的數(shù)額掛鉤。凡每周推銷金額不超過10000元,按預收貨款是否超過50,分別獎勵推銷額的6或4。反之,若推銷金額超過10000元,則按預收貨款是否超過50,分別獎勵推銷額的8或5。對于月薪低于1000元的推銷員,分別另發(fā)鼓勵獎300、200和500、300元。試分別采用判定表和判定樹為“計算獎金”加工寫出加工說明。 判斷表條件/動作推銷獎金策略1234條件推銷金額10000
23、100001000010000預收貨款%50%50%50%50%動作置獎金率為%8%6%5%4%置獎金額=獎金率推銷金額如果推銷員月薪低于1000元另加獎金額500300300200判斷樹數(shù)據(jù)建模數(shù)據(jù)建模數(shù)據(jù)建模就是建立E-R圖(對實體分析)。建立E-R圖的過程就是數(shù)據(jù)分析的過程,是需求分析過程中不可或缺的部分。E-R圖有時也稱信息模型(IM)或概念數(shù)據(jù)模型(CDM)。實體E (Entity)之間通常有聯(lián)系R(Relationship)。實體E不是數(shù)據(jù)流圖DFD中的外部實體,而是數(shù)據(jù)存儲。 E-R圖的建立可以借助于軟件工具來實現(xiàn),例如Sybase 公司的S-Designor5.1中的DataA
24、rchitect。 【例3-6】 給出下列學生選課系統(tǒng)E-R圖在學生選課系統(tǒng)中有兩個實體:學生和課程。學生有學號、姓名、性別、年齡等屬性,課程有課程號、課程名稱等屬性。請根據(jù)下列描述分別給出E-R圖。 一個學生只能選一門課程。 一個學生可以選多門課程。 一個學生可以選多門課程,一門課程也可以由多個學生選。 解 用S-Designor5.1的DataArchitect工具建立的E-R圖分別如圖3-27、圖3-28圖3-29所示。 【例3-7】 給出SMSTORE系統(tǒng)中的E-R圖在例3-1描述的SMSTORE系統(tǒng)中有3個數(shù)據(jù)存儲(實體):入庫明細帳、出庫明細帳、庫存帳。假定入庫明細帳有屬性(數(shù)據(jù)項
25、):入庫單號、入庫日期、貨物代號、貨物名稱、數(shù)量;出庫明細帳有屬性:出庫單號、出庫日期、貨物代號、貨物名稱、數(shù)量;庫存帳有屬性:貨物代號、貨物名稱、數(shù)量、單價、供應商名稱。請根據(jù)下列庫存帳、入庫明細帳、出庫明細帳之間的聯(lián)系給出E-R圖。 一筆庫存帳可對應多筆入庫明細帳; 一筆庫存帳可對應多筆出庫明細帳; 入庫明細帳和出庫明細帳之間沒有聯(lián)系。 解: 根據(jù)如上描述,經(jīng)簡單分析,可以很容易得到一個E-R模型,并可以同樣用S-Designor DataArchitect繪制如圖3-30所示,其中加下橫線的屬性為實體的關鍵標識。 【例 3- 8】 E-R模型中的依賴改變上例入庫明細帳、出庫明細帳、庫存帳
26、之間的實體聯(lián)系,改變后的聯(lián)系是:入庫明細帳和出庫明細帳依賴于庫存帳。請利用S-Designor 對E-R的擴充功能,對改變聯(lián)系后的實體重新構(gòu)建E-R模型。解 圖3-31 是重新構(gòu)造的E-R模型,其中空心三角形箭頭所指方向為依賴方向。對“依賴”與“繼承”的說明:有實體Ent1:AABBCC有實體Ent2:DDEEFFEnt1依賴Ent2,則Ent2不變, Ent1:Ent1繼承Ent2,則Ent2不變, Ent1:變換后Ent1:DDAABBCCEnt1:AABBCCDDEEFF形成需求分析報告 GB9385-88計算機軟件需求說明編制指南附錄3需求分析規(guī)格說明書參考提綱。根據(jù)圖3-6 結(jié)構(gòu)化分
27、析模型,并從軟件功能的角度給出一個需求分析報告的簡化的框架:問題和任務描述,有時可能需要給出組織機構(gòu)圖、業(yè)務流程圖、系統(tǒng)流程圖等;功能描述,需要給出一套分層的數(shù)據(jù)流圖;數(shù)據(jù)描述,需要給出數(shù)據(jù)字典、ER圖等;處理邏輯描述,需要用結(jié)構(gòu)化語言、或判定樹或判定表并采用統(tǒng)一模板的方式描述;用戶界面描述,如屏幕格式、報表格式、菜單格式、操作順序等;其他設計約束。 .調(diào)查組織機構(gòu)總體情況熟悉業(yè)務活動明確用戶需求確定系統(tǒng)邊界用戶 數(shù)據(jù)庫 設計人員.DDDDDFD軟件設計圖 需求分析過程需求分析小結(jié)3.4 軟件設計3.4.1 軟件設計過程軟件開發(fā)三大階段需求分析軟件實現(xiàn)軟件設計1:做什么3:具體做2:怎么做邏輯
28、模型模型實現(xiàn)物理模型軟件設計的4個基本過程數(shù)據(jù)設計主要任務是將實體關系圖(ERD)中描述的對象和關系以及數(shù)據(jù)詞典中描述的詳細數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)庫結(jié)構(gòu)的定義。體系結(jié)構(gòu)設計主要任務是定義軟件系統(tǒng)各主要成份的功能及其之間的關系(模塊的劃分)。接口設計主要任務是根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。過程設計(詳細設計)主要任務是把結(jié)構(gòu)成分轉(zhuǎn)換成軟件的過程性描述。軟件設計過程 分析模型與設計模型的對應關系軟件設計與軟件質(zhì)量好設計的3個特征:能夠?qū)崿F(xiàn)分析模型中的所有清晰的需求,而且能夠適應用戶的所有隱含的需求;設計對于后續(xù)所有工作應該是可讀的和可理解的指南;
29、從實現(xiàn)的觀點看,設計應該提供完整的軟件描述,包括數(shù)據(jù)來源、功能、行為等。3.4.2 數(shù)據(jù)設計主要任務是:將實體關系圖(ERD)中描述的對象和關系以及數(shù)據(jù)詞典中描述的詳細數(shù)據(jù)內(nèi)容,轉(zhuǎn)化為數(shù)據(jù)庫結(jié)構(gòu)的定義。重點討論ERD到數(shù)據(jù)庫關系模型的轉(zhuǎn)化及數(shù)據(jù)庫結(jié)構(gòu)的SQL表示。例 3- 9 數(shù)據(jù)設計請用S-Designor5.1的數(shù)據(jù)建模工具DataArchitect把例3-7所建立的E-R模型(CDM)轉(zhuǎn)換為關系模型(PDM)。 注意:EN_GOODSNO是多余的 而GOODSNO是需要的不同ERD的數(shù)據(jù)設計重新構(gòu)造E-R模型并從重新構(gòu)造的E-R模型生成關系模型。 例 3- 10對下列ERD轉(zhuǎn)換為關系模型
30、并給出SQL描述問題:1.該關系模型對應的ERD是何樣?2.關系E2中為何有GOODSNO且為關鍵字?對應的ER圖是P82圖3.29SQL腳本如下%=% Database name: MODEL_6 % DBMS name: Sybase SQL Anywhere % Created on: 2006-7-9 17:05 % =create table E1( GOODSNO char(10) not null, GOODSNAME char(10), STORE_QUANTITY char(10), GOODS_PRICE char(10), GOODS_SUPPLIER char(10),
31、 primary key (GOODSNO);create table E2( STORE_IN_NO char(8) not null, GOODSNO char(10) not null, STORE_IN_DATE date, STORE_IN_QUANTITY integer, primary key (STORE_IN_NO, GOODSNO);create table E3( STORE_OUT_NO char(8) not null, GOODSNO char(10) not null, STORE_OUT_DATE date , STORE_OUT_QUANTITY integ
32、er , primary key (STORE_OUT_NO, GOODSNO);alter table E2 add foreign key FK_E2_RELATION_E1 (GOODSNO) references E1 (GOODSNO) on update restrict on delete restrict;alter table E3 add foreign key FK_E3_RELATION_E1 (GOODSNO) references E1 (GOODSNO) on update restrict on delete restrict;3.4.3 體系結(jié)構(gòu)設計主要任務是
33、定義軟件系統(tǒng)各主要成份的功能及其之間的關系。重點討論軟件功能及其與DFD之間的關系,以及功能結(jié)構(gòu)設計。所謂的軟件體系結(jié)構(gòu)可以簡單地認為就是軟件的功能結(jié)構(gòu),這種結(jié)構(gòu)可以用HC圖進行描述。所謂功能結(jié)構(gòu)圖就是按功能從屬關系畫成的圖表。功能結(jié)構(gòu)圖中各層功能都與DFD中的處理有對應關系。模塊化設計分解模塊獨立性:內(nèi)聚高、耦合低常用模塊類型:1)數(shù)據(jù)表維護模塊2)數(shù)據(jù)導入/導出(上傳/下載)3)系統(tǒng)管理(代碼、用戶權限)4)查詢模塊5)統(tǒng)計與報表6)幫助模塊例 軟件結(jié)構(gòu)設計示例 可從DFD轉(zhuǎn)換而來XX系統(tǒng)1231112132122323133例 一個企業(yè)的銷售管理系統(tǒng)的功能結(jié)構(gòu)圖 3.4.4 接口設計主要
34、任務是根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。重點討論功能模塊的數(shù)據(jù)關系,以及用戶界面設計。接口設計表達各功能之間的數(shù)據(jù)關系、交互關系??梢圆捎脭?shù)據(jù)關系圖來表示模塊之間的接口。(圖3.38)可以通過軟件結(jié)構(gòu)圖描述模塊之間的交互機制(圖3.39-42) 。從DFD獲取的數(shù)據(jù)關系圖根據(jù)圖3-19獲取的 “辦理入庫”、“辦理出庫”、“產(chǎn)生入庫日報”、“產(chǎn)生當前庫存報”、“產(chǎn)生出庫日報”5個功能模塊的數(shù)據(jù)關系。 輸入入庫單辦理入庫入庫明細記錄輸入出庫單辦理出庫出庫明細記錄庫存帳出庫明細報告出庫明細報告產(chǎn)生入庫日報產(chǎn)生出庫日報產(chǎn)生當前庫存報告庫存報告模塊之間
35、的交互機制軟件結(jié)構(gòu)圖需要標示出模塊之間的調(diào)用關系、數(shù)據(jù)傳遞方向、傳遞數(shù)據(jù)的名稱和方向等,如下圖所示。 界面設計接口設計的另一個方面是用戶與系統(tǒng)之間的交互設計,主要表現(xiàn)在功能模塊與用戶交互的輸入與輸出界面方面。輸入輸出界面設計的依據(jù)仍然是用戶需求需要與用戶共同協(xié)商征求用戶的意見取得用戶的同意設計還必須考慮開發(fā)工具是否有足夠的支持。模塊的輸入與輸出界面設計菜單輸入格式輸出格式操作界面等例 界面設計-菜單 例 界面設計:輸入+操作界面例 界面設計:輸出+操作界面界面設計特別指出輸入格式、輸出格式、操作界面等方面的設計需要考慮用戶的業(yè)務與過程單據(jù)格式格式在界面中的位置錄入的習慣操作的方便性字體大小美觀
36、程度等 作為輸入設計的一個重要方面,在用戶與系統(tǒng)交互的過程中,還應該考慮輸入數(shù)據(jù)的合法性檢查 3.4.5 過程設計主要任務是把結(jié)構(gòu)成分轉(zhuǎn)換成軟件的過程性描述重點討論功能模塊的數(shù)據(jù)處理流程和處理過程細節(jié)具體的任務 確定各個模塊的算法;確定各個模塊內(nèi)部使用的數(shù)據(jù)結(jié)構(gòu);確定各個模塊接口的細節(jié); 編寫詳細設計說明書; 過程設計結(jié)束時,需要對過程設計說明書進行復審,形成正式文檔,作為下一階段(實現(xiàn)階段)的依據(jù)。過程設計的目的為編碼階段的工作提供足夠的依據(jù),使其能夠根據(jù)過程描述,快速地完成程序的編碼任務也為測試工作打下基礎 算法算法(algorithms)用計算機解一個問題的精確而有效的方法。實際上,算法是能被機械
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB51T 1175-2010 飼料中苯乙醇胺A的測定高效液相色譜法
- DB51T 1040-2010 水稻優(yōu)化定拋栽培技術規(guī)程
- 耐熱不銹鋼項目立項申請報告
- 煙度計生產(chǎn)加工項目可行性研究報告
- 心電圖 課程設計
- 2024年鄉(xiāng)村振興戰(zhàn)略下土地經(jīng)營權轉(zhuǎn)讓合同范本3篇
- 2024-2030年智能手環(huán)公司技術改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年新版中國液化氣取暖器項目可行性研究報告
- 2024-2030年撰寫:中國心益膠囊項目風險評估報告
- 2024-2030年撰寫:中國復合水泥袋制袋機行業(yè)發(fā)展趨勢及競爭調(diào)研分析報告
- 4 古代詩歌四首《 觀滄海》教學設計
- 2024農(nóng)村機井轉(zhuǎn)讓合同范本
- 2024公路工程危險性較大工程安全專項施工方案編制導則
- 2024-2030年中國巨菌草市場需求規(guī)模及未來發(fā)展戰(zhàn)略研究報告
- 人教版高一上學期化學(必修一)《第四章物質(zhì)結(jié)構(gòu)元素周期律》單元測試卷-帶答案
- 四年級上冊道德與法治全冊教案
- 2024至2030年中國文具市場發(fā)展預測及投資策略分析報告
- 《供應鏈管理》期末考試復習題庫(含答案)
- 中建一局勞務分包合同范本
- 天津市河北區(qū)2023-2024學年高一上學期1月期末化學試題(解析版)
- 中考模擬作文“獨享、分享、共享”寫作指導及范文賞析
評論
0/150
提交評論