![軟件工程3軟件設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/cfa839f20c29aa4910111b7c1f26be53/cfa839f20c29aa4910111b7c1f26be531.gif)
![軟件工程3軟件設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/cfa839f20c29aa4910111b7c1f26be53/cfa839f20c29aa4910111b7c1f26be532.gif)
![軟件工程3軟件設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/cfa839f20c29aa4910111b7c1f26be53/cfa839f20c29aa4910111b7c1f26be533.gif)
![軟件工程3軟件設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/cfa839f20c29aa4910111b7c1f26be53/cfa839f20c29aa4910111b7c1f26be534.gif)
![軟件工程3軟件設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/cfa839f20c29aa4910111b7c1f26be53/cfa839f20c29aa4910111b7c1f26be535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
場景互動(dòng)我們了解了系統(tǒng)構(gòu)成單元(模塊)構(gòu)建的原則,那么如何將其有效地組織在一起,以什么樣的方式組織在一起呢?第一頁,共四十八頁。1.軟件體系結(jié)構(gòu)的設(shè)計(jì)體系結(jié)構(gòu)三要素程序構(gòu)件(模塊)的層次結(jié)構(gòu)構(gòu)件之間交互的方式數(shù)據(jù)的結(jié)構(gòu)第二頁,共四十八頁。構(gòu)建體系結(jié)構(gòu)的目的簡潔建立一個(gè)相對(duì)小的、易于理解的掌握的模型,并描述了系統(tǒng)如何構(gòu)成以及其構(gòu)建如何一起工作。擴(kuò)展在系統(tǒng)能夠保持結(jié)構(gòu)的穩(wěn)定的前提下很容易地?cái)U(kuò)充功能和提升性能;重用系統(tǒng)能夠重用以前的代碼和設(shè)計(jì),從而提高開發(fā)效率;第三頁,共四十八頁。體系結(jié)構(gòu)風(fēng)格(模型)根據(jù)各子系統(tǒng)如何共享數(shù)據(jù)、如何分布、如何相互交互,可開發(fā)更加特定的風(fēng)格(模型)。第四頁,共四十八頁。CatalogueserverVodioserverPictureserverHypertextserverCatalogueFilmclipfilesDigitizedphotographsHypertextwebWide-bandwidthnetwork
Client1Client2Client3Client4Film&Picturelibrarysystem的體系結(jié)構(gòu)(1)客戶機(jī)–
服務(wù)器模型(C/S)第五頁,共四十八頁。描述典型的分布式系統(tǒng)模型合作的雙方都會(huì)利用各自的計(jì)算能力負(fù)責(zé)一定的計(jì)算工作,從而提高整個(gè)系統(tǒng)的能力和效率。組成部分一組功能各自獨(dú)立的服務(wù)器為其他子系統(tǒng)提供服務(wù)。如打印服務(wù)器,文件服務(wù)器,編譯服務(wù)器等。一組客戶機(jī)并發(fā)訪問多個(gè)服務(wù)器提供的服務(wù)?;虼嬖谝恍┛蛻魴C(jī)可并發(fā)執(zhí)行的客戶機(jī)程序。一個(gè)網(wǎng)絡(luò)使得客戶機(jī)能夠訪問服務(wù)器。(1)客戶機(jī)–
服務(wù)器模型(C/S)第六頁,共四十八頁。兩層客戶/服務(wù)器結(jié)構(gòu)系統(tǒng)的邏輯分層分別實(shí)現(xiàn)在不同的物理層(物理機(jī)器)上,通常將這種物理層次上的劃分稱為客戶端程序和服務(wù)器端程序邏輯分層與物理分層的映射胖客戶端結(jié)構(gòu)客戶端負(fù)責(zé)用戶界面和應(yīng)用邏輯部分,工作繁重瘦客戶端結(jié)構(gòu)服務(wù)器端負(fù)責(zé)應(yīng)用邏輯和數(shù)據(jù)訪問部分,客戶端工作簡單常被稱為B/S結(jié)構(gòu)介于兩者之間客戶端增加了對(duì)用戶請(qǐng)求的處理第七頁,共四十八頁。兩層客戶/服務(wù)器結(jié)構(gòu)第八頁,共四十八頁。三層/多層應(yīng)用模型多層模型是兩層C/S模型的擴(kuò)展應(yīng)用邏輯部分被分離出來成為單獨(dú)的一層(或多層)這些中間層由一些完成應(yīng)用業(yè)務(wù)功能的分布式對(duì)象組建構(gòu)成第九頁,共四十八頁。三層客戶/服務(wù)器結(jié)構(gòu)第十頁,共四十八頁。多層客戶/服務(wù)器結(jié)構(gòu)第十一頁,共四十八頁。(2)分層系統(tǒng)模型(抽象機(jī)模型)OSI模型第十二頁,共四十八頁。(2)分層系統(tǒng)模型(抽象機(jī)模型)描述也稱為按服務(wù)進(jìn)行劃分。層是對(duì)模型中不同抽象層次上的邏輯結(jié)構(gòu)進(jìn)行分組的一種特定方式。系統(tǒng)按照層次結(jié)構(gòu)組織,每一層向它的上一層提供服務(wù),同時(shí)又是它的下層的客戶。系統(tǒng)內(nèi)的交互限定在鄰接層之間。除了鄰接層,一個(gè)內(nèi)部層次對(duì)于其他外部層次是隱藏的。鄰接層的關(guān)系并不嚴(yán)格。第十三頁,共四十八頁。使用層有助于解決的問題源碼的變更波及整個(gè)系統(tǒng);應(yīng)用邏輯與用戶界面交織在一起,無法復(fù)用于其他不同界面或分布到其他處理結(jié)點(diǎn)之上;潛在的一般性技術(shù)服務(wù)或業(yè)務(wù)邏輯與更特定于應(yīng)用的邏輯交織在一起,無法被復(fù)用、分布到其他結(jié)點(diǎn)或方便地使用不同實(shí)現(xiàn)進(jìn)行替換;不同關(guān)注領(lǐng)域之間高度耦合,難以為不同開發(fā)者清晰地界定和分配任務(wù)。第十四頁,共四十八頁。信息系統(tǒng)邏輯架構(gòu)中常見的層第十五頁,共四十八頁。ApplicationRDBMS職責(zé):頁面表示邏輯、業(yè)務(wù)邏輯、數(shù)據(jù)訪問邏輯職責(zé):永久保存數(shù)據(jù)、保證數(shù)據(jù)完整性J2EE實(shí)現(xiàn)范式:JSP內(nèi)含Java和JDBC代碼J2EE應(yīng)用體系結(jié)構(gòu)的演進(jìn)(2層)第十六頁,共四十八頁。J2EE應(yīng)用體系結(jié)構(gòu)的演進(jìn)(3層)RDBMSBusinesslogicPresentationlogicJ2EE實(shí)現(xiàn)范式:SunModel1(JSP+JavaBean)職責(zé):頁面顯示+頁面跳轉(zhuǎn)+應(yīng)用控制邏輯職責(zé):核心業(yè)務(wù)操作第十七頁,共四十八頁。J2EE應(yīng)用體系結(jié)構(gòu)的演進(jìn)(4層)RDBMSBusinesslogicControllerViewJ2EE實(shí)現(xiàn)范式:SunModle2(Jsp+Servlet+JavaBean/EJB)職責(zé):頁面顯示職責(zé):頁面跳轉(zhuǎn)+應(yīng)用控制邏輯第十八頁,共四十八頁。J2EE應(yīng)用體系結(jié)構(gòu)的演進(jìn)(5層)RDBMSBusinesslogicDAOControllerView職責(zé):數(shù)據(jù)的CRUD操作+對(duì)象關(guān)系映射職責(zé):核心業(yè)務(wù)操作第十九頁,共四十八頁。J2EE應(yīng)用體系結(jié)構(gòu)的演進(jìn)(6層)VCMMVCFrameworkStruts、JSF、TepestryO/RMapperORMMiddleware:Hibernate、JDO、ApacheOJBDAO模式RDBMSBusinesslogicDAOORMControllerView第二十頁,共四十八頁。功能劃分與層次劃分之間的關(guān)系層次劃分是對(duì)構(gòu)架的橫向分解,功能劃分是對(duì)構(gòu)架的縱向分解。它們之間的關(guān)系,如圖所示。第二十一頁,共四十八頁。歡迎短信(3)基于事件的隱式調(diào)用風(fēng)格第二十二頁,共四十八頁。(3)基于事件的隱式調(diào)用風(fēng)格描述其思想是構(gòu)件不直接調(diào)用一個(gè)過程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件。系統(tǒng)中的其它構(gòu)件中的過程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過程,這樣,一個(gè)事件的觸發(fā)就導(dǎo)致了另一模塊中的過程的調(diào)用。第二十三頁,共四十八頁。(4)數(shù)據(jù)流體系結(jié)構(gòu)(管道和過濾器模型)Unix的Shell程序命令:catfile|grepxyz|sort|uniq>out第二十四頁,共四十八頁。該體系結(jié)構(gòu)被用于當(dāng)輸入數(shù)據(jù)被通過一系列計(jì)算或操縱構(gòu)件變換為輸出數(shù)據(jù)情形。(4)數(shù)據(jù)流體系結(jié)構(gòu)(管道和過濾器模型)第二十五頁,共四十八頁。用戶注冊(cè)功能的實(shí)現(xiàn)(5)數(shù)據(jù)抽象和面向?qū)ο箫L(fēng)格第二十六頁,共四十八頁。(5)數(shù)據(jù)抽象和面向?qū)ο箫L(fēng)格描述這種風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上,數(shù)據(jù)的表示方法和它們的相應(yīng)操作封裝在一個(gè)抽象數(shù)據(jù)類型或?qū)ο笾?。第二十七頁,共四十八頁。?shù)據(jù)設(shè)計(jì)的層次業(yè)務(wù)級(jí)應(yīng)用級(jí)程序構(gòu)件級(jí)2.數(shù)據(jù)設(shè)計(jì)第二十八頁,共四十八頁。數(shù)據(jù)設(shè)計(jì)的內(nèi)容數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)文件的設(shè)計(jì)數(shù)據(jù)庫的設(shè)計(jì)第二十九頁,共四十八頁。數(shù)據(jù)設(shè)計(jì)的原則在數(shù)據(jù)設(shè)計(jì)中也可以使用自頂向下、逐步細(xì)化的方法。底層數(shù)據(jù)設(shè)計(jì)的決策應(yīng)該推遲到設(shè)計(jì)過程的后期進(jìn)行數(shù)據(jù)設(shè)計(jì)時(shí)應(yīng)遵從信息隱藏原則要確定所有數(shù)據(jù)結(jié)構(gòu),以及在每種數(shù)據(jù)結(jié)構(gòu)上實(shí)施的操作應(yīng)當(dāng)創(chuàng)建一個(gè)存放數(shù)據(jù)結(jié)構(gòu)和相關(guān)操作的庫第三十頁,共四十八頁。(1)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)設(shè)原則盡量使用簡單的數(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)給出圖形和文字描述,以便于理解第三十一頁,共四十八頁。(2)文件設(shè)計(jì)文件設(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ǔ)量第三十二頁,共四十八頁。(3)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的基本步驟(1)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)(2)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)(3)數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)第三十三頁,共四十八頁。數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)應(yīng)在系統(tǒng)分析階段進(jìn)行。任務(wù)是根據(jù)用戶需求設(shè)計(jì)數(shù)據(jù)庫的概念數(shù)據(jù)模型(簡稱概念模型)。概念模型是從用戶角度看到的數(shù)據(jù)庫,它可用E-R模型表示。數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)設(shè)計(jì)階段完成的概念模型轉(zhuǎn)換成能被選定的數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型。目前常見的是關(guān)系模型。第三十四頁,共四十八頁。數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)是為數(shù)據(jù)模型在設(shè)備上選定合適的存儲(chǔ)結(jié)構(gòu)和存取方法,以獲得數(shù)據(jù)庫的最佳存取效率。物理結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容包括:①庫文件的組織形式。如選用順序文件組織形式、索引文件組織形式等。②存儲(chǔ)介質(zhì)的分配。例如將易變的、存取頻繁的數(shù)據(jù)存放在高速存儲(chǔ)器上,穩(wěn)定的、存取頻度小的數(shù)據(jù)存放在低速存儲(chǔ)器上。③存取路徑的選擇等。第三十五頁,共四十八頁。將E-R模型轉(zhuǎn)換為關(guān)系模型的一般規(guī)則(1)每一實(shí)體集對(duì)應(yīng)于一個(gè)關(guān)系模式,實(shí)體名作為關(guān)系名,實(shí)體的屬性作為對(duì)應(yīng)關(guān)系的屬性。(2)實(shí)體間的聯(lián)系一般對(duì)應(yīng)一個(gè)關(guān)系,聯(lián)系名作為對(duì)應(yīng)的關(guān)系名,不帶有屬性的聯(lián)系可以去掉。(3)實(shí)體和聯(lián)系中關(guān)鍵字對(duì)應(yīng)的屬性在關(guān)系模式中仍作為關(guān)鍵字。第三十六頁,共四十八頁。重?cái)?shù)數(shù)據(jù)庫操作一對(duì)一為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表每個(gè)表中的主碼也是相關(guān)表中的外碼一對(duì)多為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表關(guān)聯(lián)中“一”這一側(cè)表的主碼是“多”那一側(cè)表的外碼多對(duì)多為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表創(chuàng)建一個(gè)附加的交叉表每個(gè)對(duì)象對(duì)應(yīng)的表的主碼在交叉表中都定義為外碼交叉表的主碼可以是單獨(dú)的特定一列(自動(dòng)生成的代主碼),或者也可能是來自其他表的兩個(gè)外鍵的組合再加上一個(gè)有含義的標(biāo)識(shí)符(如角色、類型)將重?cái)?shù)映射到數(shù)據(jù)庫操作第三十七頁,共四十八頁。根據(jù)規(guī)則,將上圖轉(zhuǎn)換成對(duì)應(yīng)的關(guān)系數(shù)據(jù)模型①學(xué)生(學(xué)號(hào),姓名,性別,出生日期,籍貫)②課程(課程編號(hào),課程名,學(xué)時(shí),學(xué)分,教材名稱)③教師(教師編號(hào),教師姓名,性別,出生日期,職稱,學(xué)歷,工作時(shí)間)④學(xué)習(xí)(學(xué)號(hào),課程編號(hào),成績)⑤教學(xué)(教師編號(hào),課程編號(hào),效果)第三十八頁,共四十八頁。3.用戶界面設(shè)計(jì)界面設(shè)計(jì)設(shè)計(jì)用戶界面就是設(shè)計(jì)輸入輸出,這些輸入輸出是指為了執(zhí)行一個(gè)任務(wù),用戶與計(jì)算機(jī)系統(tǒng)之間進(jìn)行的交互。我們側(cè)重于人和計(jì)算機(jī)交互的界面設(shè)計(jì),即人機(jī)交互界面。人機(jī)交互像是用戶與計(jì)算機(jī)之間的對(duì)話,因此也把用戶界面設(shè)計(jì)稱為對(duì)話設(shè)計(jì)。第三十九頁,共四十八頁。界面設(shè)計(jì)的過程用戶界面設(shè)計(jì)就是設(shè)計(jì)系統(tǒng),應(yīng)在設(shè)計(jì)過程中及早開始考慮用戶界面。遵循一組界面設(shè)計(jì)原則,設(shè)計(jì)任務(wù)需標(biāo)識(shí)界面對(duì)象和動(dòng)作,然后創(chuàng)建屏幕布局,形成用戶界面原型的基礎(chǔ)。第四十頁,共四十八頁。界面設(shè)計(jì)八項(xiàng)黃金規(guī)則盡量保持一致性為熟練用戶提供快捷鍵提供有效反饋設(shè)計(jì)完整的對(duì)話過程提供簡單的錯(cuò)誤處理機(jī)制允許撤銷動(dòng)作提供控制的內(nèi)部軌跡減少短期記憶負(fù)擔(dān)第四十一頁,共四十八頁。(1)盡量保持一致性MicrosoftOffice系列軟件的界面易于記憶,容易學(xué)習(xí)第四十二頁,共四十八頁。(2)為熟練用戶提供快捷鍵AdobePhotoshop中提供的快捷方式減少用戶交互步驟,提高工作效率第四十三頁,共四十八頁。(3)提供有效反饋當(dāng)當(dāng)網(wǎng)配送過程追蹤提供有效的信息反饋,增強(qiáng)用戶的自信感。第四十四頁,共四十八頁。(4)設(shè)計(jì)完整的
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高一化學(xué)人教A版(2019) 下學(xué)期開學(xué)摸底考試卷
- 廣東省汕尾市2024-2025學(xué)年八年級(jí)上學(xué)期期末語文試題(解析版)
- 2025年春江蘇開放大學(xué)大學(xué)英語B(2)作業(yè)答案
- 激發(fā)員工創(chuàng)造力培訓(xùn)體系建立
- 續(xù)約勞動(dòng)合同范本(2篇)
- 維修泵房的合同(2篇)
- 2024-2025學(xué)年遼寧省點(diǎn)石聯(lián)考高二上學(xué)期期末考試英語試卷(解析版)
- 江蘇省蘇州市五中2024-2025學(xué)年高一上學(xué)期12月月考物理試題(解析版)
- 電動(dòng)警用摩托車與現(xiàn)代辦公環(huán)境的融合
- Module 2(單元測試)小學(xué)英語三年級(jí)下冊(cè) 外研版(一起)(含答案)
- 酒店項(xiàng)目精裝修工程施工組織設(shè)計(jì)
- 小學(xué)生研學(xué)旅行展示ppt模板
- (完整版)高標(biāo)準(zhǔn)農(nóng)田建設(shè)施工組織設(shè)計(jì)
- 《思想道德與法治》第一章
- 大學(xué)生職業(yè)生涯規(guī)劃(高職)PPT完整全套教學(xué)課件
- 班組建設(shè)考核制度
- 2023屆廣東省深圳市寶安區(qū)數(shù)學(xué)六年級(jí)第二學(xué)期期末聯(lián)考試題含解析
- 產(chǎn)品銷售保密協(xié)議書
- 收養(yǎng)人撫養(yǎng)教育被收養(yǎng)人能力的證明
- 機(jī)械制圖習(xí)題集第6版習(xí)題及答案
- 創(chuàng)傷嚴(yán)重程度(ISS)評(píng)分表(完整版)
評(píng)論
0/150
提交評(píng)論