面向對象分析與設計_第1頁
面向對象分析與設計_第2頁
面向對象分析與設計_第3頁
面向對象分析與設計_第4頁
面向對象分析與設計_第5頁
已閱讀5頁,還剩82頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

面向對象分析與設計第1頁,共87頁,2023年,2月20日,星期二本章重點面向對象方法產生和發展

1面向對象方法的基本概念

2統一建模語言

3面向對象設計

5面向對象分析和設計案例6面向對象分析4第2頁,共87頁,2023年,2月20日,星期二11.1面向對象方法的形成與發展

11.1.1面向對象方法的發展史20世紀60年代末,Simula67語言。

70年代到80年代,Smalltalk語言。80年代中期到90年代,C++,ObjectPascal、Java等。

80年代后,Booch提出的Booch方法;Jacobson提出的OOSE方法;Rumbaugh提出的OMT方法。90年代中期,統一建模語言(UnifiedModelingLanguage,UML)

第3頁,共87頁,2023年,2月20日,星期二11.1面向對象方法的形成與發展(續)

11.1.2面向對象方法的基本原理

OO方法強調從“問題域”到“實現域”的映射應采用一種直接和自然的映射方法,使實現域保持了問題域的本來面目,沒有對問題域造成扭曲。這是OO方法最突出的優點。OO方法以對象為中心,強調對象是對客觀事物的正確抽象,是構成軟件系統的基本單位。對象是由屬性和服務組成的。將具有相同屬性和服務的對象歸為一類,類是這些對象的抽象描述。通過繼承機制簡化了對系統的構造和描述。通過消息實現了對象的動態聯系。通過關聯實現對象的靜態聯系。第4頁,共87頁,2023年,2月20日,星期二11.2面向對象方法的主要概念11.2.1對象1、對象對象是系統中用來描述客觀事物的一個實體,一個對象由一組屬性和對這組屬性進行操作的一組服務構成。2、屬性屬性是用來描述對象靜態特征的一個數據項。3、服務服務是用來描述對象動態特征的一個操作序列。第5頁,共87頁,2023年,2月20日,星期二11.2面向對象方法的主要概念(續)

11.2.2類類是指具有相同屬性和服務的一組相似對象的集合。11.2.3封裝封裝(Encapsulation)是指通過對象將屬性和服務組合起來,構成一個不可分割的獨立的系統單位,并盡可能隱蔽其內部細節。11.2.4繼承繼承(Inheritance)是指特殊類的對象可自動地擁有其一般類定義的全部屬性與服務。第6頁,共87頁,2023年,2月20日,星期二11.2面向對象方法的主要概念(續)

11.2.5消息消息(Message)是指向對象發出的服務請求。11.2.6關系一般-特殊關系又稱作繼承關系或“is-a-kind-of”關系。關聯關系關聯(Association)表示一個對象了解其它對象的程度。第7頁,共87頁,2023年,2月20日,星期二11.2面向對象方法的主要概念(續)

整體-部分關系整體-部分關系又稱作組合關系或“is-a-part-of”關系。行為依賴關系行為依賴關系描述對象之間的動態聯系,即:若一個對象在執行自己的服務時,需要向另外的一個對象發送消息請求它的某種服務,則稱這兩個對象之間存在著行為依賴關系。11.2.7多態性對象的多態性(Polymorphism)是指在一般類中定義的屬性或服務被特殊類繼承之后,可以具有不同的數據類型或表現出不同的行為。第8頁,共87頁,2023年,2月20日,星期二11.2面向對象方法的主要概念(續)

11.2.8永久對象

永久對象(PersistentObject),就是其生存期可以超越程序的執行時間而長期存在的對象。11.2.9主動對象1、被動對象對象的每一個服務只有在一條消息的驅動下才被執行,這樣的對象稱為被動對象(PassiveObject)。2、主動對象主動對象(ActiveObject)就是至少有一個服務不需要接收消息就能主動執行(稱為主動服務)的對象。第9頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML11.3.1UML的發展與作用

(一)UML發展史1995年10月同在美國Rational軟件公司工作的G.Booch和J.Rumbaugh把他們各自提出的Booch方法和OMT方法結合起來,形成一種統一方法,即UM(UnifiedMethod)0.8。OOSE的提出者I.Jacobson也加入了這一行列,經過三人的密切合作,于1996年6月和10月先后發布了二義性較少的UML0.9和0.91版本。1997年1月,他們推出了UML1.0版,并提交到對象管理組織(ObjectManagementGroup,OMG)作為初步的提案申請。第10頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

1997年9月1日提出了UML1.1,并作為最終提案提交到OMG,該提案在1997年11月被OMG正式采納為OO建模的標準語言。OMG平臺技術委員會批準成立UML修訂任務組,先后制定改進版本,包括:UML1.2、UML1.3、UML1.4。并將UMLl.3作為其最終草案,于1999年6月提交給OMG組織委員會和平臺技術委員會,并獲得批準。目前最高版本是UML2.0第11頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(二)UML的主要作用作為一種建模語言,UML定義了建立系統模型所需的概念及其標準的可視化圖形表示符號。但是它并不介紹如何進行系統建模。因此,UML并不是一種面向對象建模方法和過程。UML是一種建模語言,而不是一種程序設計語言。UML是一個可擴展的建模語言。第12頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

11.3.2面向對象分析和設計的UML模型結構

UML將OOA&D要建立的系統模型劃分為系統功能視圖、系統靜態視圖和系統動態視圖。第13頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(一)功能視圖功能視圖用于展現一個系統應具有的功能集合。UML用例圖(UseCaseDiagram)來描述。(二)靜態視圖靜態視圖也成為邏輯視圖,用于展現系統的靜態結構,揭示系統內部的組成元素及其它們之間的關系。UML用“類圖”和“對象圖”來描述。(三)動態視圖

動態視圖用于展現系統的動態行為特征。UML用序列圖(SequenceDiagram)、狀態圖(StateDiagram)、協作圖(CollaborationDiagram)和活動圖(ActivityDiagram)來描述。第14頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

11.3.3功能視圖的概念和表示方法用例圖基本的模型元素包括用例(UseCase)、角色(Actor)和用例關系。用例圖中的主要模型元素及其表示符號第15頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(一)角色

“角色”是指在系統邊界以外與系統進行信息交互的有關事物。(二)用例

“用例”是指從系統外部各個角色的角度觀察,系統應支持哪些功能,一個用例提供對應系統對外部提供的一項功能,它是對系統功能的宏觀描述。(三)用例關系擴展(Extends)關系使用(Uses)關系第16頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(四)用例圖示例

第17頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

11.3.4靜態視圖的概念和表示方法(一)類和對象的表示1、類和對象表示的符號

類和對象都用長方形表示,長方形分成上、中、下三個區域來分別表示類和對象的名字、類的屬性和服務。第18頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、屬性類的屬性用來描述該類的所有對象所具有的靜態特征,對象的屬性用來描述該對象所有的屬性值。UML描述屬性的語法格式為:[可見性]屬性名:屬性類型名[=初值{性質串}]3、服務類的服務說明了該類能做些什么。每種服務定義的標準語法格式為:[可見性]服務名(參數表):返回值類型[{性質串}]第19頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

4、類定義示例

第20頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(二)繼承關系的表示1、繼承關系表示的符號繼承關系用一條帶空心三角形的直線表示,空心三角形緊挨父類。第21頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2.多態子類也可以把本來在父類中定義的屬性和服務重新進行定義,來達到“名字相同,語義不同”的目的。“多態”是在屬性或服務的“性質串”中來說明的。3.抽象類所謂“抽象類”是指沒有具體對象的類。抽象類一般只作為父類,用于描述其子類的公共屬性和服務。抽象類通常都具有抽象服務。抽象服務僅僅用來指定某個類的所有子類應具有哪些行為,但并不指定具體的實現方式。抽象服務的表示方法是在抽象服務標記后跟隨一個性質串{抽象性=Abstract}。第22頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

4、多繼承及其抽象類表示法示例

第23頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(三)關聯關系表示1、關聯關系表示的符號

一般的關聯關系采用一條直線來表示,該直線連接了具有關聯關系的兩個類或對象。第24頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、關聯名稱使用關聯名稱可更清晰地說明該關聯關系的含義和目的。3、角色名角色名用于規定某個類在關聯關系中所起的作用。4、多重性多重性用于說明關聯關系中某類對象的數量關系,即該類的多少個對象可以與另一個類的一個對象相關聯。5、導向性導向性用于說明兩個類的關聯是單向的,導向性采用實線箭頭表示,即只有箭頭所指方向上才有這種關聯關系。第25頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

6、關聯類

“關聯類”用來表示關聯關系本身所擁有的特征。7、多元關聯客觀世界中,有時多個事物之間存在某種聯系。第26頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(四)整體-部分關系表示對象間的整體-部分關系是關聯關系的特例。UML中表示整體-部分關系的符號與關聯關系類似,只是在指向整體對象的一端增加了一個小菱形。如果是聚合關系,則小菱形是空心的,如果是組成關系,則小菱形是實心的。第27頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(五)包的概念及其表示1、包的概念包(Package)是一種組合機制,把各種各樣的模型元素通過內在的語義連成一個整體就形成一個包。構成包的模型元素稱為包的內容。2、包的表示

“包”的圖形表示符號類似文件夾,由兩個長方形組成,小長方形位于大長方形的左上角。第28頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

3、包間關系依賴關系如果包A引用了包B的類或類的服務,則稱B依賴A。依賴關系用一條帶箭頭的虛線表示。繼承關系,如果包B內的某個類是包A某個類的子類,則包A和B構成了繼承關系,包間繼承關系的表示符號同類間的繼承關系一樣。第29頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

4、包的示例第30頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

11.3.5動態視圖的概念和表示方法(一)狀態圖狀態圖用于描述一個對象所能達到的所有狀態以及引起狀態變化的事件,用于對類所描述事物的補充說明。1、狀態的表示一個對象的狀態由一個初始狀態、若干個中間狀態和零到多個終止狀態組成。第31頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、狀態轉移表示對象狀態間的轉換用一條帶箭頭的線表示,線上要標注引起狀態轉換的條件。轉移條件的語法格式為:事件名(參數表)[守衛條件][‘/’動作表達式][‘^’發送子句]第32頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

3.狀態圖示例第33頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(二)序列圖序列圖是用來反映對象之間行為依賴關系的模型之一,它側重于描述為完成一個功能,隨著時間的流逝對象之間的交互方式。1、消息的表示一般來說消息可以分為普通消息、同步消息和異步消息三種。第34頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、消息協議

[條件]服務名(參數表)3、序列圖示例第35頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(三)協作圖協作圖是用來反映對象之間行為依賴關系的另一種模型。它側重于描述為完成一個功能,從空間的角度,對象的鏈接(關聯的實例)以及鏈接對象間的交互。1、消息標簽[前綴‘/’][守衛條件][消息序列號][并發消息別名][循環子句][條件子句][:]消息名(參數表)第36頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、協作圖示例打印文件協作圖第37頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

(四)活動圖活動圖是另一種用來描述交互的模型,主要描述完成一項功能要執行的動作、動作順序和動作所產生的結果。1、活動圖基本的建模元素及其表示符號

第38頁,共87頁,2023年,2月20日,星期二11.3統一建模語言UML(續)

2、活動圖示例

第39頁,共87頁,2023年,2月20日,星期二11.4面向對象分析11.4.1、概述1、主要任務系統分析的主要任務是對擬建系統所涉及的領域進行全面而深入的理解和認識,從而確定系統要解決的問題以及要達到的目標,并對該問題域進行清晰、完整、準確和詳細的認識和描述,以便為后續的系統設計提供清晰準確的設計依據。2、最終目標系統分析的其最終目標是產生綜合描述問題域特征的文檔。第40頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

3、系統分析方法結構化方法數據驅動方法OOA方法Booch方法OMT方法OOSE方法統一過程RUP(RationalUnifiedProcess)第41頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.2面向對象分析的任務OOA的基本任務是:運用OO方法,對擬建信息系統所涉及的領域和要解決的領域問題進行分析和理解,正確認識問題域中的事物及其事物間的關系,確定為解決領域問題信息系統應具備的功能和其它方面的要求。在此基礎上,勾畫出擬建系統的邏輯模型來反映系統的靜態和動態結構。對系統靜態結構的認識和描述,主要是利用抽象、分類、繼承、組合以及封裝等原則來實現三種映射,對系統動態結構的認識和描述,必須從系統要完成的功能出發,既要搞明白對象的行為方式,又要認識清楚構成系統基本部件的交互和協作過程。最終建立相關模型來刻畫系統的動態結構。第42頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.3面向對象分析的過程模型第43頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.4確定系統目標和范圍

學習和掌握領域背景常用的途徑包括資料閱讀、調查、訪談、實地考查和操作、請教領域專家等。確定系統范圍在領域中哪些領域問題可以借助信息系統來加以解決,進而確定問題域,即系統范圍。確定系統目標確定問題域中的每個問題要解決到什么程度,即信息系統要達到的目標,制定目標時,一要盡可能量化,二要適度,既不能過高,也不能過低。第44頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.5需求獲取和定義第45頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(一)需求調研需求調研要采取全面而有序和逐步引入細節的策略。(二)建立用例模型1、識別系統角色誰是使用系統主要功能的人?誰需要借助系統完成日常工作?誰來維護、管理系統,以保證系統正常運行?系統控制和使用的硬件設備有哪些?系統需要與哪些其它系統進行交換?哪些人、系統和設備需要系統的輸出的結果?第46頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

2、發現用例及其關系角色的日常工作是什么?這些日常工作能用系統來完成嗎?角色需要維護或使用系統存儲的某種信息嗎?系統中發生的事件需要通知角色嗎?或者角色需要通知系統某事件嗎?這些事件的作用是什么?為簡化角色的日常工作,或提高其工作效率,系統還能做什么?系統需要的輸入/輸出信息是什么?這些信息從哪兒來到哪兒去?系統開發要解決的主要問題是什么?第47頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

3、描述用例用例名稱全系統范圍內唯一的表示這個用例并且能反映出它的角色和它所描述的功能。其書寫格式是:角色名.用例名。用例目標用例的最終任務是什么?通過該用例能得到什么樣的結果?行為描述用自然語言分別描述角色的行為和系統行為。控制語句在一些較為復雜的交互活動中往往含有循環或條件分支。此時需要在用例中使用一些控制語句。第48頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(三)確定系統的非功能性需求系統的非功能性需求主要包括系統的環境需求、質量需求、用戶界面需求和資源需求四個方面。(四)需求復審與確認開發商要與用戶一起以該文檔為依據,進行第一次需求復審和確認,以確定文檔的內容是否真實地反映了用戶的功能性和非功能性需求。第49頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.6劃分系統主題主題的概念主題是指在語義上有密切聯系的系統模型元素的集合。劃分主題的方法按功能自頂向下劃分系統的高層主題按功能自頂向下劃分系統的高層主題主題的表示采用UML“包”的概念建立主題圖。第50頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.7系統靜態模型的建立(一)建立靜態模型的過程1、類圖的層次對象層特征層關系層第51頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

2、類圖建立過程的三項活動發現對象和類發現屬性和服務發現對象和類的關系第52頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

3、識別對象和類建立類圖的過程

第53頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(二)發現對象和類1、確定對象候選空間從問題域角度出發,反復閱讀相關文檔,篩選出屬于系統范圍內的名詞或名詞短語,建立初步的候選對象空間。2、審查和篩選對象逐個檢查候選對象,以舍棄無用的和精簡剩余的對象。3、對象分類確定系統所需要的類,建立類圖的對象層。第54頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(三)發現屬性1、確定屬性的候選空間主要工作是在研究當前的問題域和系統功能基礎上,找出每一類對象應有的屬性。確定屬性候選空間的目標是盡可能全面地發現屬性,寧多勿缺。2、屬性的審查和篩選舍棄一些不必要的屬性,簡化系統模型。第55頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(四)發現服務1、確定服務的候選空間主要工作是在研究當前的問題域和系統功能基礎上,找出每一類對象應有的服務。確定服務候選空間的目標是盡可能全面地發現服務,寧多勿缺。2、服務的審查和調整對所發現的每個對象的每個服務逐個進行審查,舍棄無用的服務,并通過分解或合并來提高服務的獨立性。第56頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(五)識別繼承關系1.確定繼承關系的候選空間識別現有類的繼承關系按自頂向下的演繹法,把現有的類細化成更具體的類。按自底向上的歸納法,抽象出現有類的共同特征形成其父類。第57頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

2.繼承關系的審查和調整繼承關系是否符合領域的分類體系或分類常識?繼承關系是否在問題空間內?繼承關系對滿足系統功能有無作用?在用具體的OOPL來實際實現“多繼承”時,可能會存在OOPL不支持多繼承、“命名沖突”、破壞系統清晰性和造成實現的復雜等問題。3.調整對象層和特征層對類圖中的對象層和特征層做某些調整,包括增加、刪除、合并或分開某些類,以及增、刪某些屬性和服務或把它們移到其它類中。第58頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(六)識別和定義關聯關系發現關聯關系識別并定義關聯關系的屬性和服務分析關聯關系的多重性定義關聯關系的含義多元關聯關系處理調整對象層和特征層

第59頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

(七)識別和定義整體-部分關系確定整體-部分關系候選空間整體-部分關系的審查和篩選再分析復雜的對象類分析整體-部分關系是聚合還是組成調整對象層和特征層第60頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.8系統動態模型的建立確定并描述角色與系統的交互方式確定并描述參與完成用例功能的對象及其交互過程確定并描述對象類的狀態及其狀態轉移確定并描述對象類服務的執行過程第61頁,共87頁,2023年,2月20日,星期二11.4面向對象分析(續)

11.4.9分析結果的詳細說明系統總體說明對整個系統作一些必要的說明。主題說明簡要地說明每個主題描述一組什么事物,或解決一個什么問題。類描述模板包括類的整體說明、與其它類的關系說明、屬性說明和服務說明四部分內容。第62頁,共87頁,2023年,2月20日,星期二11.5面向對象設計11.5.1概述OOD是在OOA的基礎上繼續運用OO方法解決軟件生命周期設計階段的問題,產生一個滿足用戶需求的,并且依賴一個具體的OOPL可以實現的方案模型。11.5.2面向對象設計原則

(一)模塊化原則對象就是構成系統的基本模塊。對象作為模塊,與結構化技術中所敘述的“模塊”不同,它是把數據和操作數據的方法緊密結合在一起所構成的模塊。第63頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(二)抽象原則從許多事物中舍棄個別的、非本質的特征,提取出共同的、本質性的特征稱為抽象。抽象是人類控制復雜性的有效思維武器之一。抽象是OO方法中使用最廣泛的原則。(三)信息隱蔽原則信息隱蔽是通過封裝來實現的。封裝的信息隱蔽作用反映了事物的相對對立性,隱藏了對象內容的實現細節,只保留了有限的接口與外部發生聯系。第64頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

(四)對象的獨立性原則衡量對象的對立性的兩個指標是對象的耦合和內聚。耦合交互耦合繼承耦合組合耦合關聯耦合內聚服務內聚類內聚第65頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

(五)可重用原則直接復用間接復用通過繼承復用通過組合復用第66頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

11.5.3面向對象設計過程與方法(一)問題域進一步設計需求的調整與確認對OOA模型的調整針對具體的OOPL的調整增加一般類以提供共同協議重用已有類為實現永久對象所做的調整完善對象內部細節定義實現系統應創建的對象實例提高性能修改或補充OOA其它模型建立OOD與OOA的映射關系第67頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

(二)人機交互設計人機交互設計策略人機交互設計過程分析和描述用戶分析和描述人機交互的內容和過程輸入和輸出的組織設計人機交互類第68頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

(三)數據管理設計1、針對RDBMS的數據管理設計策略第69頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

2.針對RDBMS的數據管理設計方法(1)對象在數據庫中的存儲

對象的規范化關系型數據庫必須滿足一定的規范化目標,其規范化程度的高低是由范式來衡量的。數據庫邏輯設計經過對象的規范化,得到了一個符合數據庫設計要求的類圖。第70頁,共87頁,2023年,2月20日,星期二11.5面向對象設計(續)

(2)數據管理類的設計

針對每個永久對象類,分別設計“對象保存”和“對象服務”服務。在數據管理類中只設計一個“對象保存”和一個“對象恢復”服務,供所有永久對象的類使用。(四)任務管理設計1、分析系統并發性、確定并發任務系統固有的并發要求為改善性能而增加并發任務協調并發任務的任務2、確定完成并發任務的控制流第71頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例11.6.1領域分析,確定系統的目標和范圍1、開發背景

信息革命帶來了全球范圍市場競爭的日益加劇,對傳統的辦公教學和生活方式產生了巨大的沖擊。如何利用校園網資源,開發高校學籍管理系統成為一項非常迫切的任務。2、目的和意義

為了提高效率,節省人力,加快高校的信息化發展速度,為此開發學籍管理系統軟件,以達到協同高效辦公的目的。第72頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例3、范圍學籍管理系統主要為教務處學籍管理人員、各學院學籍管理員進行學籍管理以及為學生提供必要的服務。11.6.2需求獲取,建立系統的功能視圖(一)識別和定義系統角色學籍管理系統包括教務處學籍管理員、各學院學籍管理員、學生、系統管理員、招生系統和成績管理系統等六種系統角色。第73頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

(二)分析角色和系統的交互過程,識別系統用例1、教務處學籍管理員班級管理、學生管理和畢業管理。2、二級院學籍管理員二級院學籍管理員負責協助教務處學籍管理員完成日常管理工作。3、學生用戶學生通過系統可查詢自己的基本信息、獎懲信息和學籍異動信息,進行注冊,以及提出休學和復學申請。4、系統管理員系統管理員主要負責系統用戶和數據管理。第74頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

(三)劃分系統主題第75頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

(四)建立系統的用例模型圖1、系統角色和系統主題

第76頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

2、學生管理主題第77頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

(五)描述用例模型圖的每個用例用例名:教務處學籍管理院.新生分班用例目標:分專業按一定的分班原則(包括人數平均、性別平衡、地域平衡、成績平衡)將插入到相應專業班級中,并按姓名拼音序為學生編制學號(班級號+兩位流水碼)。輸入分班原則及其優先級;按分班原則將每個學生插入一個班級將每個班級按學生姓名拼音序進行排序;為每個學生編制學號;按班級屏幕輸出班級學生名單;手動調整分班結果;存儲分班結果;新生分班用例描述第78頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

11.6.3發現對象和類,建立系統靜態模型視圖(一)OOA階段1、發現對象和類對象類包括:學生、班級、學生統計成績、學生獎勵信息、學生懲處信息、學籍異動信息、學生注冊信息、畢業生、新生。2、定義類屬性和服務(1)學生:主要的屬性包括學號、姓名、性別、出生年月、政治面貌、入學時間、學籍狀態等。主要的服務包括查詢信息、注冊、休學申請、復學申請、獲獎、受懲處、學籍異動、調整班級、成績統計等。第79頁,共87頁,2023年,2月20日,星期二11.6面向對象分析與設計案例(續)

(2)班級:主要的屬性包括班級編號、名稱、所屬專業、建立日期等。主要的服務包括創建班級、刪除班級等。(3)統計成績結果:主要的屬性包括學號、學年學期、實得學分、應得學分、成績績點、不及格課程門數等。主要的服務包括獲得統計成績、查詢統計成績等。(4)學生獎勵信息:主要的屬性包括學號、獎勵時間、獎勵名稱、獎勵級別和獎勵原因等

溫馨提示

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

評論

0/150

提交評論