關鍵字:面向對象 結構化方法
2、1:對于項目開發來說,一般的軟件公司都會只做某一個或某幾個行業的某些領域的應用。不會打一槍換一個陣地。對于有項目經驗積累的行業,除了一些系統框架性的功能,如根據權限限制的菜單生成,和極為底層的與業務無關的功能,如讀配置文件來連接數據庫,其他功能很難重用。這使得即使采用面向對象分析方法,但面向對象的繼承、多態等能夠有力支持重用的特點根本就沒有用上。倒是函數重載用得較多。
2、2:對于開發數據庫管理應用的項目來說,我覺得在使用結構化方法時以數據為中心組織模塊是很自然的想法。這時再使用JAVA編程,那么使用結構化方法定義出來的接口和使用面向對象定義出來的接口基本相同?梢詤⒖迹骸皀otes_svr52\CDMA事業部\軟件工程論壇”中的一篇文檔 ''CSDN:獨孤木專欄:UML OOAD and RUP''。
2、3:開發產品系列時對重用的需求應該遠比開發項目要強烈。這種情況下使用面向對象方法進行系統設計應該會比使用結構化方法效果要好的多。
以C和C++為例,C最多可以做到不完全的封裝,繼承和多態是無法做到的。假設有個系統,如果使用繼承和多態能比較簡潔地使它有良好的可擴展性的話,用C要達到同樣的目的肯定要復雜得多。此時,面向對象方法和結構化方法比較——不僅僅是技術上的原因,我認為更是技術管理上的原因——使得面向對象方法更為優秀。任何將“分而治之”貫徹得更好的技術和方法,如果能達到同樣的系統功能性能移植性等的要求,必然代替其他方法。純技術上的優勢,我覺得相對于技術管理的優勢,并不是主要的:
2、3、1:“在許多情況下,從繼承不會獲得任何實際利益。然而,在大型項目里,‘不用繼承’的政策的結果將是不易理解的不夠靈活的系統”[P638,《C++程序設計語言》]。
2、3、2:“面向對象技術包含了很多方法學上的進步!嫦驅ο髴迷谡麄開發周期中,但是真正的獲益只有在后續開發、擴展和維護活動中才能體現出來。Coggin 說:‘面向對象技術不會加快首次或第二次的開發,產品族中第五個項目的開發才會異乎尋常的迅速!盵P130,《人月神話》]。
2、3、3:個人認為,公司的文檔中將函數定義和說明寫在文檔中,確實比不上JDK那種有清晰的類層次的可以單獨存在的幫助系統。
3、我對軟件過程和軟件工程并不是很熟悉,最多只能說聽說過概念,對于一個概念在實際工作中的意義,我總有一種模模糊糊、懵懵懂懂、感覺好像是但又抓不準的感覺。但在我以前的工作中,我自認還算一直努力地想改進我參與的項目的開發過程。在我的看法中,技術管理和開發過程管理是不同的。開發過程管理更多地和項目管理結合在一起,而技術管理更多地指研發流程、制度以及文檔規范等。我知道有些公司的項目經理可以不懂技術,但我所知道的擔任技術管理干部的人沒有不懂技術的。任何一個分析方法,都是要應用到開發過程的每一個階段,對開發過程的每一個階段的每一個成員的思路都有影響。所以我認為一種分析方法如果相對另外一種分析方法而言更優秀的話,那么它必須改善技術管理。很多優秀技術一旦提供,就會發現它對開發過程的某些個或某一方面的技術管理的問題的改善提供了核心的作用。
4、我以前對測試不太關心,覺得測試是很簡單的事情。直到我工作后發現當時所在公司的測試經理的桌面上擺了一排測試方面的書,才在大驚之余覺得有必要對測試的重要性和地位重新認識。但坦白的說,我覺得我在測試方面的了解仍僅限于運行程序。我覺得一種系統分析方法或技術如果優秀的話,應該能對測試提供更多種且更有效的測試方法和規范。
如果你沒聽過UML,容我在此做個解釋。這三個字就是U Must Learn的縮寫,指的就.是你一定得學(you must learn),如果有下一句,應該是You Must Pay。這是幾個大師.級的人物,為了要把學術理論順利轉化成現金,所想出來的好點子;镜南敕ㄊ,.如果可以弄出一套理論,讓全世界想要學軟件開發的人都得要來學習,那他們光賣這.套理論的教育訓練、認證、顧問咨詢、以及難用的開發工具,就可以讓公司上市,變成億萬富翁。.開玩笑的。
這是三位對象導向軟件工程界的大師(Grady Booch, James Rumbaugh, Ivar Jacobson),.為了濟世救人所整合出來的一種模型語言,稱為Unified Modeling Language。算是把.三個人的東西,切成小塊以后煮一煮,放在碗里面用湯匙攪一攪,整合成一個大雜燴…
嗯,不是,是把三個人的理論去蕪存菁,所整理出來的結果。
UML主要的目的,在于讓所有進行系統分析設計的工程師,可以有一個共同的圖形化.語言,來描述他們所想要建立的系統。至于讓公司上市,以及讓所有學習UML的工程.師,可以有比較顯赫的履歷表,則算是產品附加價值,不算是主要的目的。
因為這個語言,現在正流行,算是當紅炸子雞,所以許多軟件公司,莫不努力地往這.個方向發展,期望引進UML,可以為軟件開發,帶來前所未有的助益。很多人的想法,.當然還是圍繞著可以做出被重復使用(reuse)的軟件組件,以加速系統開發為核心。
吉娜:布魯斯,老板問我什么是UML?他說他到研討會里聽到,超人公司已經在采用.這個東西了,聽說有非常好的成果。他覺得我們所有的工程師也應該學習這種新的skill,.這到底是什么東西?
布魯斯:這是幾個對象導向分析設計界的大師,所共同建立的新的Modeling Language。
吉娜:Modeling language是什么東西?算了,我不需要知道這些detail。既然老板已經.說需要引進這種新的趨勢,這就是我們今年的目標。你先找一些人去上課,然后回來.我們拿幾個項目開始試試這種新的方法。
既然這只是一種語言,其實并沒有好壞的問題。這就像中文是否比英文優秀一樣,每個.人會有不同的看法。只要在使用的時候,它可以發揮它的用處,可以讓看到文件的每個.人,都很清楚了解你想描述的模型,我覺得它就發揮了這個模型的功用。
然而大師或是大師的徒子徒孫們,不會光把UML這三個字從頭到尾念一遍就了事,他們.除了介紹這個語言,還會講其它的理論。這些話,就跟著UML的推廣,跟著被信眾們奉.為圭臬,當作是神諭。例如引進UML的團隊,通常會采用Use Case Driven的OOAD(對.象導向分析設計),也通常會想要采用大師建議的開發流程:RUP(Rational Unified .Process),來開發項目。
文章來源于領測軟件測試網 http://www.kjueaiud.com/