目前軟件開發(fā)的兩種開發(fā)方法:結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法.
- 一. 結(jié)構(gòu)化開發(fā)方法:
1.主張按照功能來分析系統(tǒng)需求,也稱為面向功能程序設(shè)計(jì)
2.結(jié)構(gòu)化程序設(shè)計(jì)首先采用結(jié)構(gòu)化分析方法(Structrued Analysis SA)對(duì)系統(tǒng)進(jìn)行需求分析,然后使用結(jié)構(gòu)化設(shè)計(jì)(Structrued Design SD)方法對(duì)系統(tǒng)進(jìn)行概要設(shè)計(jì),詳細(xì)設(shè)計(jì),最后采用結(jié)構(gòu)化編程(Structrued Program SP)的方式來實(shí)現(xiàn)系統(tǒng)
3.最小程序單元是"函數(shù)",每個(gè)函數(shù)完成一個(gè)功能.
1.從現(xiàn)實(shí)世界中的客觀存在事物出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)構(gòu)造中盡可能地運(yùn)用人類的自然思維方式,強(qiáng)調(diào)以現(xiàn)實(shí)世界中的客觀存在為中心,來思考問題,認(rèn)識(shí)問題,并根據(jù)事物的本質(zhì)特點(diǎn),將它們抽象為系統(tǒng)中的類,作為系統(tǒng)的基本構(gòu)造單元.
2.使用類,對(duì)象,繼承,封裝,消息等基本概念來進(jìn)行程序設(shè)計(jì).
3.區(qū)別于"基于對(duì)象".基于對(duì)象也使用了對(duì)象,但無法利用現(xiàn)有的對(duì)象去產(chǎn)生新的對(duì)象,也就是說不能繼承.比如javascript
4.面向?qū)ο蟮娜齻€(gè)基本特征:
封裝:
將對(duì)象的實(shí)現(xiàn)細(xì)節(jié)隱藏起來,在通過公用的方法來暴露該對(duì)象的功能.java提供private,protected和public三個(gè)訪問控制修飾符實(shí)現(xiàn)良好的封裝
繼承:
提供了extends來讓子類繼承父類.繼承是實(shí)線軟件復(fù)用的重要手段.
多態(tài):
使用繼承關(guān)系來實(shí)現(xiàn)復(fù)用時(shí),子類對(duì)象可以直接賦給父類變量.
5.java中的類主要有兩種結(jié)構(gòu)關(guān)系:
a 一般-特殊:繼承關(guān)系,如人-男人,是一種"is a"的關(guān)系
b 整體-部分:組合關(guān)系,如人-胳膊,是一種"has a"的關(guān)系