從貪吃蛇來談對OO軟體開發的過程

2021-05-22 19:52:55 字數 1514 閱讀 5474

以前在課本上看到過:oo開發的基本過程有:

1.物件導向分析物件導向分析(ooa)!

2.物件導向設計(ood)!

3.物件導向程式設計(oop)!

4.物件導向測試(oot)!

5.物件導向維護(oosm)!

以貪吃蛇遊戲來談談這幾個過程:

1.物件導向分析:

從巨集觀的角度概括這個系統該做什麼!把客觀的事物抽象成類!形成乙個模糊的需求模型!具體怎麼實現不用管!在貪吃

蛇中,我們知道遊戲的任務就是蛇吃豆,必須要有蛇和豆的這兩個類!(如果你的抽象能力更好的話,應該抽象出乙個管

理層,來控制這個遊戲過程,而讓蛇和豆減少一些負擔!)

2.物件導向設計:

根據物件導向ooa形成的的需求模型,開始對每一部分來進行具體的設計,包括類的方法和一些資料,類的設計可能會涉及

到繼承與派生,也包括演算法的設計!在設計階段並不拘泥於某一門具體的語言!對於貪吃蛇,我們就要去分別設計蛇和豆

兩個類,他們有什麼方法,比如蛇有吃豆的方法(當然,如果你設計了乙個管理的類來控制遊戲過程,就不用把它放在蛇

的類裡了!)

3.物件導向程式設計:

這部分就是用某一門具體的程式語言,去實現整個系統!比如(c++,c#)!這一部分也許是和大家目前聯絡就密切了!

4.物件導向測試:

我們做好了軟體之後,必須進行相應的測試,來發現軟體中所存在的bug!就好像網路遊戲中的內測!比如我們的小蛇可能

吃了豆後身體並沒有變長!

5.物件導向維護:

沒有哪乙個軟體是一次完成,用不需要修改的!因為使用者和市場的需求是時刻在變化的,我們必須去改變軟體的功能,去

完善我們的作品!比如我們的小蛇,哪天,可能你想多增加幾種小豆,讓我們的小蛇吃了不同的豆後有不同的反應!

一般來說:前兩個過程應該在軟體開發中佔據絕大部分,差不多60%-70%!但是就現在的狀況來看,基本沒有哪個公司能達

到這個標準,大多數都在30%-40%,而把大部分時間放在了oop上!

並不是軟體開發商不想去按照標準去做,而是很難做到,首先,在開發的過程中很難劃清前兩者和oop的聯絡!它們兩個部

分總是糾纏在一起,讓很多人難以具體區分開來!第二點也是最重要的一點,很多公司很難正確分析好使用者想要實現的作

用,比如石油公司找軟體公司來做個軟體,石油公司有很多技術和東西都是軟體公司的分析師不能理解的!也就導致了用

戶的要求和實際作品的偏差,老師和我們說,乙個分析師,能把使用者的需求的30%-50%理解出來,就說明他是個天才了!但

有時候恰恰相反,並不是軟體公司分析不出來,而是使用者不知道如何表述,比如乙個從來不使用計算機的企業,突然提出

要辦公自動化!他們自己都不知道怎麼才叫自動化,更別提讓軟體公司懂了!

但是我們必須是始終明確,在一款軟體的開發過程中,ooa和ood才是最最重要的地方,而oop只是小小的一部分!

這也是程式設計師和系統分析師的工資區別!

我自己還只是大一的學生,沒有開發過任何大型的程式,所以只是結合者老師上課講的東西,和自己的一些經驗來談談我的認識,如果**有錯誤,希望大家指出來,讓我了解一下!謝謝啦!

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...

貪吃蛇(改進)

該程式分成3個檔案 第乙個檔案 fang.cs using system using system.collections.generic using system.text using system.windows.forms using system.drawing namespace snak...

貪吃蛇遊戲

include include include include include 使用當前時間做種子 enum dir 列舉型別enum dir 圍牆 class fencef 定義物件 畫框框 void fence initfence 顯示框框 void fence outputf int snak...