1.1物件導向介紹
(1)產生背景:為解決軟體開發低效率問題,提出軟體工程的思想和方法
(2)計算機包含的六大要素:硬體、軟體、人員、資料庫、文件和過程
(3)軟體的定義:由系統軟體、支撐軟體和應用軟體組成的軟體系統。軟體是使用者與硬體之間的介面,是計算機系統設計的重要依據
○1系統軟體:管理資源和控制程式執行。功能是排程、監控和維護計算機系統,如windows、linux、unix等
○2支撐軟體:語言處理系統、編譯程式和資料庫管理系統
○3應用軟體:如word、excel、qq等
(4)軟硬體區別:
○1表現形式:硬有形;軟無形
○2生產方式:硬是裝置製造;軟是設計開發
○3要求:硬允許誤差;軟不允許
○4維護:硬會壞、舊;軟理論上不會
(5)軟體工程:研究如何系統的、規範化的、可定量的過程化方法開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。基礎是過程,過程是構建工作產品時執行一系列活動、動作和任務的集合
(6)5種軟體工程過程框架(迭代應用):溝通、策劃、建模、構建、部署
(7)軟體開發的3個正交檢視:
○1軟體系統中資料轉換的功能檢視
○2系統結構以及與之相關的資料的靜態檢視
○3軟體系統中事務順序或過程的動態檢視
(8)兩大基本的軟體開發方法:結構化方法、物件導向方法
(9)結構化方法3大弱點:
○1系統的分析、設計模型以及實現隨系統功能變化而變化
○2建立的模型發生改變就需要進行模型變換工作
○3基本上不存在動態檢視(資料流圖(dfd)分功能檢視和靜態檢視)
(10)兩個公式:
○1面向過程結構化程式公式:面向過程程式 = 演算法 + 資料結構
○2物件導向程式公式:物件導向程式 =(物件+物件+…)+ 訊息
(11)物件導向程式設計的兩個任務:
○1決定把哪些資料和函式封裝在一起,形成物件
○2怎樣向物件傳遞訊息,完成所需任務
(12)物件:是一件事、乙個實體或名詞。物件是對問題域中某些事物的抽象。靜態特徵(屬性)、動態特徵(操作)
(13)類:具有相同屬性和操作的一組物件的集合,為屬於該類的全部物件提供統一的抽象描述
(14)類與物件的關係:類是物件的抽象定義,物件是類的例項
(15)封裝:用於分析模型,在物件中放置資料,同時將操作應用於資料
(16)資訊隱藏:比封裝更進一步,使得物件不可能以任何方式訪問另一物件資料,除非呼叫操作
(17)繼承:實現一般化和特殊化的一種機制
○1超類:兩個類通過繼承機制進行關聯,更一般化的類
○2子類:另乙個相關的、更特殊化的類
繼承規則:子類通常會繼承超類的所有特性、子類的定義通常至少包括乙個不是從超類派生出的細節
(18)多型:相同的訊息被傳送到不同類物件的可能性,每乙個類物件都會以不同但合理的方式響應訊息
(1)開發:指軟體生命週期,即分析、設計和實現。本質是識別和組織應用領域的概念
(2)工作原理:建立物件,把物件連線在一起,讓它們彼此傳送訊息,相互協作
(3)方**:表示法(如何描述設計模型:uml)、過程(為產生設計模型需要做什麼:up)和技術(如何將模型運用到特定的問題型別中:啟發式法和規程)
(4)物件導向建模包含的元素概念框架:抽象、封裝、模組化、層次、分類、並行、穩定、可重用和可擴充套件性
(1)uml:中文名為統一建模語言。是一種建模語言,一種用來物件導向開發系統的產品進行視覺化說明和編制文件的建模方法
(2)uml設計動機:讓開發者用統一和視覺化的方式完成專案的前期需求和設計文件
(3)uml五個階段:需求分析階段、分析階段、技術階段、構造階段、測試階段
(1)建模工具(case工具)具備的功能:畫圖、積累、導航、多使用者支援、產生**、逆轉、整合、覆蓋模型的所有抽象層、模型互換
(2)常用的建模工具:rational rose、powerdesiginer、visio
UML 物件導向分析與設計
物件導向方法以其超越傳統方法的技術先進性越來越得到更多的重視,但技術的先進性不能完全代表一種新生事物的最後成功,還要看它是否能得到有效的推廣。統一建模語言 uml 的產生為這種推廣規定了一致的表示,諸多開發過程模型為技術的應用提供了巨集觀的指導。uml 1.模型驅動的開發,回憶一年多前的一次開發 2...
UML物件導向分析與設計解析
本節向大家向大家介紹一下uml物件導向分析與設計,主要分布個步驟向大家介紹,相信通過本節的介紹你對uml物件導向分析與設計一定會有明確的認識。下面是詳細介紹。uml物件導向分析與設計 前言就uml本身來說,它只是一種交流工具,它作為一種標準化交流符號,在ooa d過程中開發人員間甚至開發人員與客戶之...
基於UML的物件導向分析與設計
摘要 本文以例項的方式,展示了如果使用uml進行物件導向的分析與設計。本文將假設讀者對uml 物件導向等領域的基本內容已了然於胸,所以將不會過多闡述,而將重點放在應用過程上。本文的目的是通過乙個完整的例項,展現基於uml的ooa d過程的乙個簡化模式,幫助朋友們更好的認識uml在ooa d中起的作用...