- 項目實踐精解:IT項目的面向對象開發及管理
- 梁震戈 梁立新 王文君著
- 2040字
- 2018-12-28 15:18:22
1.2 面向對象的開發及管理概述
信息化系統的建設雖然重要,但它并不是一項簡單的工作。1995 年,美國斯坦迪申(Standish)咨詢公司對美國365位信息技術高層經理人員管理的8380個項目進行調查研究,得到如下結論:
● 信息技術項目正處于一個混沌的狀態;
● 平均成功率為16%;
● 50%的項目需要補救;
● 34%的項目徹底失??;
● 平均超出時間為222%;
● 實際成本是估計成本的189%;
● 性能與功能只達到要求的61%。
我們從中可以看到,大多數信息化建設項目是以失敗告終的。這其中一個重要原因就是沒有貫徹軟件工程思想和面向對象的開發及管理等原理和方法。接下來我們介紹這些重要概念。
我們知道,軟件工程是研究軟件開發和管理的一門工程科學。這里一是強調開發,二是強調管理。當然,開發中有管理,管理是為了更好地開發。所以,開發和管理是相輔相成的兩個方面。
關于現代軟件工程研究的內容,至今沒有統一的說法??梢哉J為,現代軟件工程研究的內容涵蓋了“軟件開發模型、軟件開發方法、軟件支持過程、軟件管理過程”4個方面,如表1-1所示。
表1-1 現代軟件工程研究的內容

本書就是圍繞這4個方面展開的。在軟件開發模型方面,主要講解目前最流行的一種迭代模型:RUP(Rational Unified Process);在軟件開發方法方面,主要講解面向對象的方法;在軟件支持過程方面,主要講解Rational Rose、Power Designer、MS Project等工具;在軟件管理過程方面,主要講解軟件配置及變更管理、CMM軟件過程管理、項目管理等。
首先我們了解一下面向對象的軟件工程方法論。到目前為止,軟件工程中常用的開發方法主要有兩種:面向過程的方法和面向對象的方法。
1.面向過程的方法
面向過程的方法習慣上被稱為傳統的軟件工程開發方法。面向過程的方法包括面向過程需求分析、面向過程設計、面向過程編程,面向過程測試、面向過程維護及面向過程管理。面向過程的方法又被稱為結構化方法,習慣上叫做結構化分析、結構化設計、結構化編程、結構化測試、結構化維護。
面向過程的方法特點是:程序的基本執行過程主要不是由用戶控制,而是由程序控制,并且按時序進行。面向過程的方法優點是簡單實用,缺點是維護困難。
面向過程的方法開始于20世紀60年代,成熟于70年代,盛行于80年代。該方法的基本特點是強調“自頂向下、逐步求精”,編程實現時強調程序的“單入口和單出口”。這種方法在國內曾經十分流行,大量應用,非常普及。
對于軟件行業來說,某一種方法論往往來自于某一類程序設計語言。面向過程的方法來自于20 世紀60~70 年代流行的面向過程的程序設計語言,如 ALGOL、Pascal、FORTRAN、COBOL.C 語言等,這些語言的特點是:用順序、選擇(if-then-else)、循環(do-while或do-until)這3種基本結構來組織程序編制,實現設計目標。
面向過程的方法已經不能適應目前軟件項目的需要了,一種更好、更強大的軟件工程開發方法是下面要介紹的面向對象的方法。
2.面向對象的方法
面向對象的方法被稱為現代的軟件工程開發方法。面向對象是認識論和方法學的一個基本原則。人對客觀世界的認識和判斷常采用由一般到特殊(演繹法)和由特殊到一般(歸納法)兩種方法,這實際上是對認識判斷的問題域對象進行分解和歸類的過程。
面向對象的方法(Object-Oriented Method,OOM)是一種運用對象、類、消息傳遞、繼承、封裝、聚合、多態性等概念來構造軟件系統的軟件開發方法。
面向對象的方法包括面向對象需求分析、面向對象設計、面向對象編程、面向對象測試、面向對象維護、面向對象管理。面向對象,或者說面向類的方法開始于20世紀80年代,興起于90年代,目前已經走向成熟,并且開始普及。面向對象的方法基本特點是:將對象的屬性和方法(即數據和操作)封裝起來,形成信息系統的基本執行單位,再利用對象的繼承特征,由基本執行單位派生出其他執行單位,從而產生許多新的對象。眾多的離散對象通過事件或消息連接起來,就形成了軟件系統。
面向對象的方法優點是易于設計、開發和維護,缺點是較難掌握。
面向對象的方法來源于20 世紀80 年代初開始流行的面向對象的程序設計語言,如Java、C++等。80年代末,微軟Windows操作系統的出現,使得它產生了爆炸性的效果,大大加速了它的發展進程。
面向對象的方法實質上是面向功能的方法在新形勢下(由功能重用發展到代碼重用)的回歸與再現,是在一種高層次上(代碼級)的新的面向功能的方法論,它設計的“基本功能對象(類或構件)”不僅包括屬性(數據),而且包括與屬性有關的功能(或方法),如增加、修改、移動、放大、縮小、刪除、選擇、計算、查找、排序、打開、關閉、存盤、顯示和打印等;它不但將屬性與功能融為一個整體,而且對象之間可以繼承、派生及通信。因此,面向對象設計是一種新的、復雜的、動態的、高層次的面向功能設計。它的基本單元是對象,對象封裝了與其有關的數據結構及相應層的處理方法,從而實現了由問題空間到解空間的映射。簡而言之,面向對象的方法也是從功能入手的,將功能或方法當做分析、設計、實現的出發點和最終歸宿。
業界流傳的面向方面的方法、面向主體的方法和面向架構的方法,都是面向對象的方法的具體應用。
本書主要以電子政務理論和實踐為例,介紹面向對象的開發和管理。我們首先介紹一些IT項目開發的背景知識。
- 繪制進程圖:可視化D++語言(第1冊)
- PIC單片機C語言非常入門與視頻演練
- AWS Certified SysOps Administrator:Associate Guide
- 中國戰略性新興產業研究與發展:智能制造
- 基于ARM 32位高速嵌入式微控制器
- Hybrid Cloud for Architects
- 悟透AutoCAD 2009完全自學手冊
- 網絡安全與防護
- Google SketchUp for Game Design:Beginner's Guide
- Spatial Analytics with ArcGIS
- Mastering Text Mining with R
- 網絡服務器搭建與管理
- 大數據導論
- Linux Shell Scripting Cookbook(Third Edition)
- 手把手教你學Flash CS3