it項目開發(fā)與管理資源_第1頁
已閱讀1頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、,項目一 辦公自動化系統(tǒng)開發(fā)與管理 單元三 系統(tǒng)設計,IT項目開發(fā)與管理,IT項目開發(fā)與管理 第2版,書名:IT項目開發(fā)與管理 第2版書號:978-7-111-46908-7作者:蘇寶莉 劉賢鋒 主編出版社:機械工業(yè)出版社,學習如何編寫多套技術解決方案。學習如何分析及對比技術解決方案的優(yōu)缺點。學習軟件設計模式、面向對象設計設計方法。學習如何編寫概要設計說明書。學習如何分析及對比技術解決定方案所確定的范圍。學習如何編寫

2、詳細設計說明書和數據庫設計說明書。學習如何細化功能及接口。掌握設計工具的使用。學習如何在 USDM 平臺中簽入設計階段文檔,IT項目開發(fā)與管理,學習目標,能編寫多套技術解決方案。分析總結對比各個技術解決方案間的優(yōu)缺點。能編寫系統(tǒng)概要設計說明書??筛鶕夹g解決方案來確定開發(fā)所需要的環(huán)境等。能編寫系統(tǒng)詳細設計說明書。能編寫數據庫設計說明書。能夠熟練使用 USDM 平臺的設計工具。能夠在 USDM 平臺中簽入設計階段文檔,

3、IT項目開發(fā)與管理,技能目標,任務一:編制技術解決方案,IT項目開發(fā)與管理,學習如何編寫多套技術解決方案。學習如何分析及對比技術解決方案的優(yōu)缺點。,IT項目開發(fā)與管理,知識目標,技能目標,能編寫多套技術解決方案。分析總結對比各個技術解決方案間的優(yōu)缺點。,,,任務導入,技術解決方案是要根據系統(tǒng)分析的要求和組織的實際情況,來對新系統(tǒng)的總體結構形式和可利用的資源進行大致的設計 ,是宏觀上的規(guī)劃 。技術解決方案將會影響到用戶或自身對項目投放

4、的成本、效果、性能、法律問題等。編寫多套的可選擇性的技術解決方案,可更好地讓自己及用戶選擇合適的技術解決方案來實現項目目標,從而降低成本及風險。,IT項目開發(fā)與管理,,IT項目開發(fā)與管理,,技術解決方案選擇的標準(1)開發(fā)、制造、購買、維護與支持等活動的成本。性能。產品組件的復雜性與產品相關生命周期過程。對產品運行、使用條件、運行模式、環(huán)境,以及產品相關的生命周期過程的變化的適應性。產品擴展與升級。技術限制。對構建方法與

5、資料的敏感性。用戶解決問題或達到目標所需的條件或能力。,,IT項目開發(fā)與管理,,技術解決方案選擇的標準(2)風險。需求與技術的演變。處理的復雜程度。最終用戶與操作人員的能力和限制。中間件或外購組件的特性。,,IT項目開發(fā)與管理,,技術解決方案編寫要素系統(tǒng)所采用的架構方式系統(tǒng)對外部接口的要求。明確所使用或引入的技術系統(tǒng)擴展性及系統(tǒng)維護性。,P87:OA 系統(tǒng)項目技術解決方案,提出了兩種技術解決方案。分別是: 方案1

6、:C++ + 自主中間件 + MySQL, 屬于三層C/S結構方式。  方案2:Java + Tomcat + MySQL, 屬于三層B/S結構方式。,IT項目開發(fā)與管理,方案優(yōu)缺點比較 經過與甲方的協商和評估,最終選定方案2,主要是考慮到甲方的運行環(huán)境是要求覆蓋總部和下屬4個分部(散落在郊縣,通過寬帶接入),并且維護的方便和既有習慣的考慮。并且,經過優(yōu)化可獲得較好的速度和效率的提升,可彌補其不足。,IT項目開

7、發(fā)與管理,學生模仿試做,小組設計人員編寫多套符合要求的技術解決方案,然后由小組內部對其進行評審,根據選擇標準選擇出一套最合適項目的技術解決方案。開討論會,每個小組派出一名組員陳述小組的技術解決方案及解釋為什么選擇該技術解決方案。,IT項目開發(fā)與管理,通過完成本任務,能夠技術解決方案將會影響到用戶或自身對項目投放的成本、效果、性能、法律問題等。所以編寫多套可選擇性的技術解決方案,可讓自己或客戶能選擇更合適的技術解決方案來實現項目目標從

8、而降低成本及風險。,IT項目開發(fā)與管理,總結提高,任務二:編寫概要設計說明書,IT項目開發(fā)與管理,學習如何編寫概要設計說明書。學習如何分析及對比技術解決定方案所定的范圍。,IT項目開發(fā)與管理,知識目標,技能目標,能編寫系統(tǒng)概要設計說明書??筛鶕夹g解決方案來確定開發(fā)所需要的環(huán)境等。,,,任務導入,IT項目開發(fā)與管理,確定了技術解決方案,則進入概要設計部分。,,IT項目開發(fā)與管理,,一、軟件設計需求分析階段解決了“做什么”的問題,

9、多數系統(tǒng)開發(fā)在完成需求分析之后,還要進行重要的一步——軟件設計,才能進入到真正的開發(fā)階段。系統(tǒng)設計是把需求轉化為軟件系統(tǒng)的最重要的環(huán)節(jié),系統(tǒng)設計的優(yōu)劣在根本上決定了軟件系統(tǒng)質量的好壞。所以設計階段主要是解決“怎么做”的問題。設計階段主要涉及總體設計(概要設計)、詳細設計、數據庫設計和用戶界面設計等活動。其中,總體設計(概要設計)確定軟件的結構以及各組成成分(子系統(tǒng)或模塊)之間的相互關系;詳細設計確定模塊內部的算法和數據結構,產生描述

10、各模塊程序過程的詳細文檔。,,IT項目開發(fā)與管理,,二、軟件設計原則功能分解是指把大而復雜的問題分解成若干個簡單的小問題,然后逐個解決。系統(tǒng)設計中,將一個復雜的大系統(tǒng)分解成若干個相對簡單的較小部分,稱為子系統(tǒng)。子系統(tǒng)是一個定義明確的軟件組件,它向其他子系統(tǒng)提供多種服務。一個服務是一組有著共同目標的相關操作,這些提供給其他子系統(tǒng)的操作形成了子系統(tǒng)接口。子系統(tǒng)接口只對外部提供操作的名稱、參數、類型和返回值等,而對操作的實現進行了封

11、裝。因此在接口不變的情況下,子系統(tǒng)內部實現的修改對外部調用影響很小,從而增加了系統(tǒng)的可維護性。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合1.耦合度按從強到弱的順序分類耦合度是表示兩個子系統(tǒng)之間的關聯程度。當一個子系統(tǒng)發(fā)生變化時對另一個子系統(tǒng)的影響很小,則稱它們是松散耦合的;反之,如果影響很大時,則稱它們是緊密耦合的。顯然,耦合越低越好。(1)內容耦合 當一個模塊直接修改或操作另一個模塊的數據,或者直接轉入另一個模塊

12、時,就發(fā)生了內容耦合。此時,被修改的模塊完全依賴于修改它的模塊。(2)公共耦合 兩個以上的模塊共同引用一個全局數據項就稱為公共耦合。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合(3)外部耦合 一組模塊都訪問全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。(4)控制耦合 一個模塊在界面上傳遞一個信號(如開關值、標志量等)控制另一個模塊,接收信號的模塊的動作根據信號值進行調整

13、,稱為控制耦合。(5)標記耦合 模塊間通過參數傳遞復雜的內部數據結構, 稱為標記耦合。此數據結構的變化將使相關的模塊發(fā)生變化。 (6)數據耦合 模塊間通過參數傳遞基本類型的數據,稱為數據耦合。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合(7)非直接耦合 模塊間沒有信息傳遞時,屬于非直接耦合。耦合度和模塊獨立性之間的關系如圖 1-3-1 所示。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合2.內聚按強

14、度從低到高分類內聚性是子系統(tǒng)內部的相關程度。當子系統(tǒng)中彼此相關的多個對象執(zhí)行類似的任務時,則認為該子系統(tǒng)是高內聚的;反之, 當子系統(tǒng)內的多個對象彼此不相關時,則認為是低內聚的。 顯然,內聚越高越好。(1) 巧合內聚(偶然內聚) 如果一個模塊的各成分之間毫無關系,則稱為巧合內聚。(2) 邏輯內聚 幾個邏輯上相關的功能被放在同一模塊中,則稱為邏輯內聚。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合2.內聚按強度從低到高分

15、類(3)時間內聚(經典內聚) 如果一個模塊完成的功能必須在同一時間內執(zhí)行(如系統(tǒng)初始化),但這些功能只是因為時間因素關聯在一起,則稱為時間內聚。(4)過程內聚 如果一個模塊內部的處理成分是相關的,而且這些處理必須以特定的次序執(zhí)行,則稱為過程內聚。(5)通信內聚 如果一個模塊的所有成分都操作同一數據集或生成同一數據集,則稱為通信內聚。(6)信息內聚(順序內聚) 如果一個模塊的各個成分和同一個功能密切相關,而且一個成分的輸出作為另一

16、個成分的輸入,則稱為信息內聚。,,IT項目開發(fā)與管理,,二、軟件設計原則高內聚與低耦合2.內聚按強度從低到高分類(7)功能內聚 模塊的所有成分對于完成單一的功能都是必需的,則稱為功能內聚。內聚性和模塊獨立性之間的關系如下圖。系統(tǒng)設計的目標是劃分子系統(tǒng)并使子系統(tǒng)之間是高內聚、低耦合的,從而提高軟件的可理解性和可維護性。,設計準則(高內聚、低耦合)(1)提高模塊獨立性(2)模塊規(guī)模適中(分層)(3)深度、寬度、扇出和

17、扇入適當:頂層高扇出,中間扇出少,底層高扇入。,IT項目開發(fā)與管理,IT項目開發(fā)與管理,,,,IT項目開發(fā)與管理,,IT項目開發(fā)與管理,,軟件復用 所謂復用就是利用某些已開發(fā)的,對建立新系統(tǒng)有用的軟件元素來生成新的軟件系統(tǒng)。將具有一定集成度并可以重復使用的軟件組成單元稱為軟構件,軟件復用是直接使用已有的軟構件通過可組裝或合理地修改生成新的系統(tǒng),如下圖所示為利用軟構件進行應用軟件開發(fā)的過程。,,IT項目開發(fā)與管理,,設計模式 設

18、計模式( Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。毫無疑問,設計模式于己于他人于系統(tǒng)都是多贏的;設計模式使代碼編制真正工程化;設計模式是軟件工程的基石脈絡,如同大廈的結構一樣。1.設計框架可復用面向對象軟件系統(tǒng)一般劃分為兩大類:應用程序工具箱和框架(Framework)。Java 的 API 屬于工具箱;

19、而框架是構成一類特定軟件可復用設計的一組相 互協作的類, EJB( EnterpriseJavaBeans)是 Java 應用于企業(yè)計算的框架。框架強調設計復用,因此框架設計中必然要使用設計模式。,,IT項目開發(fā)與管理,,設計模式2.基本模式設計模式分為三種類型,共 23 種。(1) 創(chuàng)建型模式: 單例模式、抽象工廠模式、建造者模式、工廠模式和原型模式。(2)結構型模式: 適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享

20、元模式和代理模式。(3)行為型模式: 模版方法模式、命令模式、迭代器模式和觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態(tài)模式、策略模式、職責鏈模式和訪問者模式。,,IT項目開發(fā)與管理,,三、總體設計總體設計的基本概念總體設計又稱為概要設計,即確定系統(tǒng)的具體實現方案、給出軟件的模塊結構、編寫總體設計說明書。在早期有模塊化方法、功能分解方法;在 20 世紀 60 年代后期提出了面向數據流和面向數據結構的設計方法;近年來又提出面向

21、對象的設計方法等。1.總體設計的三個主要任務(1)將系統(tǒng)劃分為物理元素,即程序、文件、數據庫和文檔等(2)設計軟件結構,即將需求規(guī)格轉換為體系結構,劃分出程序的模塊組成、模塊間的相互關系。確定系統(tǒng)的數據結構、文件結構、數據庫模式,確定測試方法與策略。(3)編寫總體設計說明書、用戶手冊、測試計劃,選用相關的軟件工具來描述軟件結構。,,IT項目開發(fā)與管理,,三、總體設計2.總體設計的過程 (1)設計供選擇的方案。(2)選取一

22、組合理的方案(3)推薦最佳實施方案。(4)功能分解。(5)軟件結構設計。(6)數據庫設計。(7)制訂測試計劃。(8)編寫概要設計文檔。 (9)審查與復審概要設計文檔。 P98 總體設計說明書格式,,IT項目開發(fā)與管理,,三、總體設計體系結構設計對于大型復雜系統(tǒng)而言,軟件體系結構設計顯得尤為重要,它的好壞往往會成為一個系統(tǒng)設計成敗的關鍵。體系結構設計是軟件設計的第一個階段,該階段側重于系統(tǒng)宏觀結構的設計,而

23、不關心模塊的內部算法。軟件系統(tǒng)從第一個模塊劃分開始便有了體系結構,有效的軟件體系結構及其明確的描述和設計已經成為軟件工程領域的一個重要方面。,,IT項目開發(fā)與管理,,常見的體系結構(1)倉庫模型 各子系統(tǒng)共享中央數據庫中的數據——共享容器模型。各子系統(tǒng)可以有自己的數據庫,子系統(tǒng)之間通過消息傳遞實現數據交換。,,IT項目開發(fā)與管理,,常見的體系結構(2)客戶機/服務器模型 C/S 結構是一種分布式模型,采用發(fā)請求、得

24、結果的模式。其中客戶機主要向服務器發(fā)出請求(數據請求、 網頁請求、文件傳輸請求等),服務器則響應客戶機的請求,并進行相應的操作,將結果回傳給客戶機,客戶機再將格式化后的結果呈現給用戶,如圖所示。,,IT項目開發(fā)與管理,,常見的體系結構(3)分布式對象結構“對象( Object)”—提供服務的系統(tǒng)組件( SystemComponent)。每個對象在邏輯上是平等的,它們可以互相為對方提供所需的服務。提供服務的對象就是服務器,而提出

25、服務請求的對象就是用戶,如圖所示。,,IT項目開發(fā)與管理,,常見的體系結構(4)抽象機模型 又稱為分層模型,通常用于建立子系統(tǒng)的接口模型。每層提供一組服務,每層定義一個抽象機。典型的例子就是 ISO/OSI開放系統(tǒng)互連參考模型,如圖所示。,,IT項目開發(fā)與管理,,常見的體系結構(5)控制模型 考慮子系統(tǒng)之間的控制流,控制方式分為集中式控制和事件驅動系統(tǒng)兩種,如圖 1-3-8 和圖 1-3-9 所示。,,IT項目開發(fā)與管

26、理,,常見的體系結構(6)模型-視圖-控制器結構(MVC) 在模型-視圖-控制器結構中,子系統(tǒng)被劃分成模型、視圖和控制器三種類型,其中:1)模型( Model)。代表應用領域中的業(yè)務實體和業(yè)務規(guī)則,其對象的變化通過事件處理通知給視圖和控制器。,2)視圖(View)。代表用戶界面對象,它將模型中的數據以用戶需要的格式展示出來。3)控制器(Control)。負責管理與用戶的交互控制。,這是一個組件模型,它將應用程序的不同功能單元(

27、稱為服務) 通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構建在各種各樣的系統(tǒng)中的服務可以使用一種統(tǒng)一和通用的方式進行交互。它可以根據需求通過網絡對松散耦合的粗粒度,應用組件進行分布式部署、組合和使用。服務層是 SOA 的基礎,可以直接被應用調用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。,IT項目開發(fā)與管理,,常見的體系結構(7)面向服務架

28、構(SOA)(1),SOA 是一種粗粒度、松耦合服務架構,服務之間通過簡單、 精確定義接口進行通信,不涉及底層編程接口和通信模型。 SOA 可以看作是 B/S 模型、 XML(標準通用標記語言的子集) /Web Service 技術之后的自然延伸。SOA 將能夠幫助軟件工程師們站在一個新的高度,理解企業(yè)級架構中的各種組件的開發(fā)、部署形式,它將幫助企業(yè)系統(tǒng)架構者以更迅速、更可靠、更具重用性架構整個業(yè)務系統(tǒng)。較之以往,以SOA架構

29、的系統(tǒng)能夠更加從容地面對業(yè)務的急劇變化。,IT項目開發(fā)與管理,,常見的體系結構(7)面向服務架構(SOA)(2),,IT項目開發(fā)與管理,,三、總體設計總體設計的工具1.層次圖(圖 1-3-11),,IT項目開發(fā)與管理,,三、總體設計總體設計的工具2.HIPO 圖HIPO圖(Hierarchy Plus Input/Processing/Output)圖是美國IBM公司70年代發(fā)展起來的表示軟件系統(tǒng)結構的工具。它既可以描述軟

30、件總的模塊層次結構--H圖(層次圖),又可以描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況--IPO圖。HIPO圖以模塊分解的層次性以及模塊內部輸入、處理、輸出三大基本部分為基礎建立的。 它是表示軟件系統(tǒng)結構的工具。HIPO圖以模塊分解的層次性以及模塊內部輸入、處理、輸出三大基本部分為基礎建立的。,,IT項目開發(fā)與管理,,三、總體設計總體設計的工具2.HIPO 圖(圖 1-3-12),,IT項目開發(fā)與管理,,三、總體設計

31、總體設計的工具3.結構圖(圖 1-3-13),,IT項目開發(fā)與管理,,四、案例 P102【例 1-3-2】 廣電 OA 系統(tǒng)項目概要設計說明書。,學生模仿試做,小組設計人員編寫概要設計說明書,然后由小組內部對其進行評審。開討論會,每個小組派出一個組員陳述自己小組的概要設計說明書。,IT項目開發(fā)與管理,通過完成本任務,能夠概要設計部分,做了幾件重要的事情:( 1)設計規(guī)則 設計規(guī)則實際是描述了設計以及后續(xù)編碼實施的約定。

32、在設計規(guī)則中,明確了詳細設計必須遵循的條例以及制訂編碼規(guī)范。(2)設計組件的劃分 設計組件的劃分包括子系統(tǒng)的構成以及它們之間的接口描述。它們是編碼實施中工程劃分的基礎。本案例的子系統(tǒng)僅被劃分為三個,用戶端(IE 瀏覽器支持)、服務器和后臺數據庫三個子系統(tǒng)。因此,在后來的編碼實施時,項目經理在 USDM 平臺中創(chuàng)建兩個工程組件以及數據庫設計文件(用 USDM 平臺的設計管理工具創(chuàng)建的數據庫文件db.wjsj),以管理代碼的開發(fā)和維護。由

33、于團隊的組成原因,兩個工程組件的編碼組長都是一個人,即由項目經理兼任。,IT項目開發(fā)與管理,總結提高,通過完成本任務,能夠概要設計部分,做了幾件重要的事情:按照漸進式生命周期的特點,組件內容的劃分是分若干次迭代實施的。每次均可以發(fā)布一個可運行版本。本案例中,分成三次迭代:①公告欄;②公文流轉;③廣電業(yè)務。(3)其他 其他設計內容包括為實現需求規(guī)格包中的非功能需求、質量屬性需求、環(huán)境需求等進行的設計。在本案例中,有性能、安全性和環(huán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論