天天看點

UML面向對象分析與模組化-【1】面向對象技術概述

一、軟體開發方法

常見的軟體開發方法有面向過程的開發方法,面向資料結構的開發方法和面向對象的開發方法。其中面向過程的開發方法也稱為面向功能的軟體開發方法或面向資料流的軟體開發方法。結構化方法強調過程抽象和功能子產品化。它一般利用圖形表達使用者需求,使用的手段有資料流圖、資料字典、結構化語言、判定表及判定樹等。面向資料結構的開發方法适合于求解算法依賴于問題描述的資料結構之類的情況。這種方法最适合在完成了軟體結構設計之後,用它來設計每個子產品的處理過程。它根據問題的資料結構定義一組映射,把問題的資料結構轉換為問題求解的程式結構。面向對象開發方法思想是:對問題空間進行自然分割,以更接近人類思維的方式建立問題域模型,以便對客觀實體進行結構模拟和行為模拟,進而使設計出的軟體盡可能直接地描述現實世界,構造出子產品話的,可重用的,維護性好的軟體,同時限定軟體的複雜性和降低開發維護費用。它是通過面向對象的分析(OOA)、面向對象的設計(OOD)和面向對象的程式設計(OOP)等過程,将現實世界的問題空間平滑地過渡到軟體空間的一種軟體開發過程。目前,典型的面向對象的開發方法是UML和統一開發過程(RUP)。

二、軟體生命周期

軟體生命周期是指軟體從立項、功能确定、設計,到開發成功投入使用,并在使用過程中不斷地修改、增補和完善,直至被新的需要所替代而停止該軟體的使用的全過程。

階段

研究問題

給出的标準和文檔

問題定義

問題是什麼

目标和規模報告書

可行性研究

有可行的方法嗎

高層邏輯模型、資料流圖、成本效益分析

需求分析

系統做什麼

邏輯模型、資料流圖、資料字典、算法描述

總體設計

如何解決問題

系統流程圖、系統結構層次圖

詳細設計

怎樣具體實作

編碼規格說明、HIPO圖或PDL

編碼和單元測試

給出正确的程式子產品

源程式清單、單元測試方案和結果

綜合測試

給出符合要求的軟體

綜合測試方案和結果、一直的軟體配置

維護

持久地滿足使用者需要

完整地維護記錄、文檔、軟體新版本

三、軟體開發模型

軟體開發模型是從軟體項目需求定義直至軟體經使用後廢棄為止,跨越整個生存期的系統開發、運作和維護所實施的全部過程、活動和任務的結構架構。分為:瀑布模型、原型模型、螺旋模型、增量模型和噴泉(疊代)模型。

四、面向對象方法的特點

面向對象的方法學可以概括為下列方程:OO=Object+Classes+Inheritance+Communication with Messages 也就是說面向對象就是既使用類和繼承等機制,而且對象之間僅能通過傳遞消息實作彼此通信。

五、面向對象分析(OOA)

面向對象分析的關鍵,是識别出問題域内的對象,并分析它們互相間的關系,最終建立起問題域的簡潔、精确、可了解的正确模型。分析就是抽取和整理使用者需求并建立問題域精确模型的過程。基本步驟有 問題域分析、發現和定義對象和類、識别對象的外部聯系、建立系統的靜态結構模型和建立系統的動态行為模型。

六、面向對象設計(OOD)

面向對象設計是把分析階段的需求轉變成符合成本和品質要求的、抽象的系統實作方案過程。細分為系統設計和對象設計。設計準則包括 子產品化、抽象、資訊隐藏、弱耦合、強内聚和可重用。設計過程包括 設計對象和類、設計系統結構、設計問題域子系統、設計人-機互動子系統、設計任務管理子系統、設計資料管理子系統和設計優化。

七、面向對象方法和工具

面向對象方法主要有 Booch、Jacobson、Coad-Yourdon、James Rumbauth開發方法。已發展成目前最流行的系統分析方法和軟體開發技術,并且已經逐漸統一、融合形成UML語言。

    參考文獻:

    [1] 唐學忠等著. UML面向對象分析與模組化. 電子工業出版社. 2008

    [2] 蔡敏等著. UML基礎與ROSE模組化教程. 人民郵電出版社. 2006

    [3] Carlo Ghezzi等著. 施平安譯. 軟體工程基礎(第2版) 清華大學出版社. 2003

    [4] 參考網站:

繼續閱讀