Python 面向對象的軟件開發(fā)
很多人在學完了python的class機制之后,遇到一個生產(chǎn)中的問題,還是會懵逼,這其實太正常了,因為任何程序的開發(fā)都是先設計后編程,python的class機制只不過是一種編程方式,如果你硬要拿著class去和你的問題死磕,變得更加懵逼都是分分鐘的事,在以前,軟件的開發(fā)相對簡單,從任務的分析到編寫程序,再到程序的調試,可以由一個人或一個小組去完成。但是隨著軟件規(guī)模的迅速增大,軟件任意面臨的問題十分復雜,需要考慮的因素太多,在一個軟件中所產(chǎn)生的錯誤和隱藏的錯誤、未知的錯誤可能達到驚人的程度,這也不是在設計階段就完全解決的。
所以軟件的開發(fā)其實一整套規(guī)范,我們所學的只是其中的一小部分,一個完整的開發(fā)過程,需要明確每個階段的任務,在保證一個階段正確的前提下再進行下一個階段的工作,稱之為軟件工程
面向對象的軟件工程包括下面幾個部:
1.面向對象分析(objectorientedanalysis,OOA)
軟件工程中的系統(tǒng)分析階段,要求分析員和用戶結合在一起,對用戶的需求做出精確的分析和明確的表述,從大的方面解析軟件系統(tǒng)應該做什么,而不是怎么去做。面向對象的分析要按照面向對象的概念和方法,在對任務的分析中,從客觀存在的事物和事物之間的關系,貴南出有關的對象(對象的‘特征’和‘技能’)以及對象之間的聯(lián)系,并將具有相同屬性和行為的對象用一個類class來標識。
建立一個能反映這是工作情況的需求模型,此時的模型是粗略的。
2面向對象設計(objectorienteddesign,OOD)
根據(jù)面向對象分析階段形成的需求模型,對每一部分分別進行具體的設計。
首先是類的設計,類的設計可能包含多個層次(利用繼承與派生機制)。然后以這些類為基礎提出程序設計的思路和方法,包括對算法的設計。
在設計階段并不牽涉任何一門具體的計算機語言,而是用一種更通用的描述工具(如偽代碼或流程圖)來描述
3面向對象編程(objectorientedprogramming,OOP)
根據(jù)面向對象設計的結果,選擇一種計算機語言把它寫成程序,可以是python
4面向對象測試(objectorientedtest,OOT)
在寫好程序后交給用戶使用前,必須對程序進行嚴格的測試,測試的目的是發(fā)現(xiàn)程序中的錯誤并修正它。
面向對的測試是用面向對象的方法進行測試,以類作為測試的基本單元。
5面向對象維護(objectoriendtedsoftmaintenance,OOSM)
正如對任何產(chǎn)品都需要進行售后服務和維護一樣,軟件在使用時也會出現(xiàn)一些問題,或者軟件商想改進軟件的性能,這就需要修改程序。
由于使用了面向對象的方法開發(fā)程序,使用程序的維護比較容易。
因為對象的封裝性,修改一個對象對其他的對象影響很小,利用面向對象的方法維護程序,大大提高了軟件維護的效率,可擴展性高。
在面向對象方法中,最早發(fā)展的肯定是面向對象編程(OOP),那時OOA和OOD都還沒有發(fā)展起來,因此程序設計者為了寫出面向對象的程序,還必須深入到分析和設計領域,尤其是設計領域,那時的OOP實際上包含了現(xiàn)在的OOD和OOP兩個階段,這對程序設計者要求比較高,許多人感到很難掌握。
現(xiàn)在設計一個大的軟件,是嚴格按照面向對象軟件工程的5個階段進行的,這個5個階段的工作不是由一個人從頭到尾完成的,而是由不同的人分別完成,這樣OOP階段的任務就比較簡單了。程序編寫者只需要根據(jù)OOd提出的思路,用面向對象語言編寫出程序既可。
以上內容為大家介紹了Python面向對象的軟件開發(fā),希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

猜你喜歡LIKE
相關推薦HOT
更多>>
如何使用Pandas處理Excel?
如何使用Pandas處理Excel?做過行政或者人事,或者對此有過了解的小伙伴,一定對下發(fā)各個部分的表有著非常深刻的印象,最常見的就是需要我們將一...詳情>>
2023-11-14 07:43:15
python中np.insert()函數(shù)的使用方法
python中np.insert()函數(shù)的使用方法在numpy數(shù)組操作中,np.append()方法可以在每行每列的最后添加數(shù)據(jù),但其位置是規(guī)定的,那如果想要指定添加...詳情>>
2023-11-14 05:06:13
SVM在python中的原理如何理解?
SVM在python中的原理如何理解?在python中除了編程化的知識點外,對于數(shù)學方法的算法也有所涉及,SVM就是一種很好地體現(xiàn)。我們學習過數(shù)學中的坐...詳情>>
2023-11-14 04:30:04
python處理絕對路徑和相對路徑函數(shù)有哪些?
python處理絕對路徑和相對路徑函數(shù)有哪些?絕對路徑和相對路徑是什么?絕對路徑:從根文件夾開始,Windows系統(tǒng)以盤符(C:)作為根文件夾,OSX或Lin...詳情>>
2023-11-14 03:33:02熱門推薦
如何使用python any()判斷多元素?
沸如何使用Pandas處理Excel?
熱python函數(shù)中的參數(shù)有哪些?
熱python中pygal模塊如何使用?
新Python的excel處理操作
python中doctest庫是什么?
python中series是什么意思
python中np.insert()函數(shù)的使用方法
SVM在python中的原理如何理解?
Python描述符中有哪三種方法?
python處理絕對路徑和相對路徑函數(shù)有哪些?
python單繼承和多繼承如何定義?
python封裝中的私有如何理解?
python模塊引入的三種方式
技術干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學習費用
了解課程價格 -
優(yōu)惠活動
領取優(yōu)惠券 -
學習資源
領3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線