文章出處

一、軟件開發經歷的生命周期:

①軟件分析 ②軟件設計 ③軟件編碼 ④ 軟件測試 ⑤ 軟件部署 ⑥軟件維護 

二、為了提高軟件開發效率,降低軟件開發成本,一個優良的軟件系統應該具備以下特點:

① 可重用性 ② 可擴展性 ③ 可維護性

三、系統結構是指系統由多個子系統組成,以及子系統由多個更小的子系統組成的結構

軟件中的子系統具有以下特點:

① 結構穩定性 ②可擴展性 ③內聚性 ④可組合性 ⑤松耦性

四、目前在軟件開發領域有兩種主流的開發方法:結構化開發和面向對象開發

1、結構化開發是一種比較傳統的開發方法,隨著軟件開發的逐步發展,面向對象的編程語言以及面向對象的設計理論應運而生,Java語言就是一種純面向對象的編程語言

結構化開發簡介:

 

結構化設計是屬于自頂向下的設計。在進行結構化編程時,程序的主體是方法,方法是最小的功能模塊。

舉例說明結構化開發過程,圖1-4顯示了一個按照功能劃分的畫板panel系統的結構。

包括4個功能模塊:選擇形狀模塊、畫長方形模塊、畫圓模塊和畫直線模塊。圖1-5為選擇形狀模塊的數據流圖

結構化開發弊端:

①自頂向下地按照功能來劃分軟件模塊

②軟件系統中最小的子系統是方法

2、面向對象軟件開發方法簡介

把軟件系統看成各種對象的集合,對象就是最小的子系統,一組相關的對象能夠組合成更復雜的子系統。

優點:

① 把軟件系統看成是各種對象的集合,更接近人類的自然思維方式

② 系統結構穩定

③ 提高軟件的可維護性、可重用性、可擴展性

五、對象模型

1、自底向上的抽象

2、自頂向下的分解

3、UML可視化建模語言

4、Rational Rose 可視化建模工具

六、面向對象開發中的核心思想和概念

問題領域、對象、屬性、狀態、行為、方法、實現

對象是對問題領域中事物的抽象。對象特征:

1.萬物皆為對象

2.每個對象都是唯一的

3.對象具有屬性和行為

4.對象具有狀態

5.對象都屬于某個類

七、類、類型

類是一組具有相同屬性和行為的對象的抽象。類及類的關系構成了對象模型的主要內容

八、消息、服務

每個對象都具有特定的功能,相對于其他對象而言,它的功能就是為其他對象提供的服務。例如電視機具有的功能包括:開機、關機、選擇頻道、調節音量和播放VCD等。遙控器為了獲得電視機的服務,需要向電視機提出獲得特定服務的請求,提出請求的過程被稱為發送消息

九、接口

在現實世界中,接口也是實體,比如電源插口、洗衣機上的按鈕和電燈的開關。而在面向對象范疇中,接口是一個抽象的概念,是指系統對外提供的所有服務。

在Java語言中,接口有兩種意思:

1、指系統對外提供的所有服務,在對象中表現為public類型的方法的聲明

2、指用interface關鍵字定義的實實在在的接口,也稱為接口類型。用于描述系統對外提供的所有服務,更加清晰地把系統的實現細節與接口分離

十、封裝、透明

封裝是指隱藏對象的屬性和實現細節。

兩個原則:

1、把盡可能多的東西藏起來,對外提供簡捷的接口

2、把所有的屬性藏起來

十一、抽象

抽象是一種由具體到抽象、由復雜到簡潔的思維方式。在面向對象的開發過程中,抽象體現在以下方面

1、從問題領域的事物到軟件模型中對象的抽象

2、從對象到類的抽象

3、從子類到父類的抽象

十二、繼承、擴展、覆蓋

在父類和子類之間同時存在著繼承和擴展關系。子類繼承了父類的屬性和方法,同時,子類中還可以擴展出新的屬性和方法,并且還可以覆蓋父類中方法的實現方式。覆蓋也是專業術語,是指在子類中重新實現父類中的方法。

注:

子類只能繼承父類的部分屬性和方法,父類中用private修飾的屬性和方法對子類是透明的。

目前在Java領域比較流行的架構軟件包括:

① J2EE

② Struts

③ JSF

④ Spring

十三、組合

組合是一種用多個簡單子系統來組裝出復雜系統的有效手段。個人計算機系統就是一個典型的組合系統。它由主機、鍵盤、鼠標、顯示器、和外圍設備打印機等組成。而主機由處理器、內存、一個或多個硬盤、顯卡、網卡和聲卡等組成。

十四、多態、動態綁定

十五、UML語言簡介

十六、類之間的關系

十七、關聯、依賴、聚集、泛化、實現

關聯:指的是類之間的特定對應關系,在UML中用帶實線的箭頭表示

依賴:指的是類之間的調用關系

聚集:指的是整體與部分之間的關系

泛化:指的是類之間的繼承關系

實現:指的是類與接口之間的關系

小結:

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()