四單元總結 OO總結

2022-06-20 09:12:10 字數 1862 閱讀 4082

目錄架構設計總結

對測試演進

課程收穫

改進建議

線上學習體驗

第一次作業

第一次作業按照uml正常的結構來組織,把某些uml中非底層類提取出來構建方法,採用逐層關聯的方式實現內部的層次關係,同時考慮將來的需求,把一些沒有用到的類也提取出來。

第二次作業

和第一次作業差別不大,任然是逐層關聯的方式,每兩層間不可見。區別是這次加了乙個elementdata的分發器,把不同屬性分發到類圖 ,狀態圖,順序圖中。

第三次作業

和前兩次大同小異,加入了異常處理模組。

第一單元

第一單元可以說oo實驗中最難的乙個單元,難點主要在於wf的判斷和字串的解析上,在本單元中

我前兩次作業都是直接採用map的方式,第三次作業為了減少重構,把第二次作業的表示式類直接重用

再加入了加減巢狀等類,結果由於表示式類覆蓋範圍太廣給解析字串造成了很大的麻煩。

第二單元

第二單元我認為是寫得比較輕鬆的乙個單元,本單元我一開始就提取到了排程器,電梯,還有輸入的三個類,後面按照這個順序寫下去,不過第三單元由於分派策略出現問題,我採用的是最短距離的固定策略劃分任務,沒有考慮到多次換乘可能會帶來的巨大開銷,導致丟失了很多效能分。

第三單元

第三單元也是比較輕鬆的乙個單元,這個單元基本架構jml都提供了,除了最後封裝了乙個演算法類之外架構沒有什麼特別值得說的,但是這個單元給我最大的教訓就是要做好充分的測試,不能依賴評測及。這單元由於測試不充分拿了一次零分一次四十五分血虧啊

對於測試的演進可以說是oo最大收穫之一了。本學期中有三次作業促進了我對於測試的理解,第一次是oo的第一單元的第三次作業,這次作業由於我沒有自動對拍&樣例生產導致自己一直在手動構造樣例,效率非常低下,想在想起來當初要是能寫個自動生產樣例的也不至於這麼狼狽。第二次是第二單元的電梯,在研討課上看到同學們的測試**我的充分測試給驚到了,看了看自己的垃圾資料生成器,我暗下決心下一單元一定好好測試。第三次就是第三單元的作業了,第一次沒有測試手動瞎測了一下,結果強測只有45分,有乙個函式寫錯了。第二次作業自己用junit進行了充分的測試,結果強測0分發現自己junit寫錯了,,看到零分的時候整個人都沒了於是從第三次作業我寫了自動化的測試+junit最後再找同學進行了對拍。對於測試也有了更深的認識,對於如何構造邊界資料,如何對拍等方式有了更加深刻的理解,同時對於tdd如何驅動開發高質量軟體有了進一步認識,比如預先設定wf等方式。

oo課程中我收穫了非常。主要來自於對於**架構設計和對於**認識的深入理解。

通過三四單元的學習我對於軟體的設計有了乙個更加巨集大的脈絡,特別是第四單元的學習,給我提供了乙個

全新的認識**的視角,譬如把**構造成乙個狀態轉移圖的方式。我以前接觸的狀態機,都是對於外部的響應,而狀態圖中的狀態變化是依據**的邏輯來構造出來的,反映的是**的結構。這也讓我對於狀態機的描述能力有了更加清晰地認識。

1.我認為第一單元可以去掉效能分的條件,因為是剛開始第一單元的時候如果強調效能分會讓有些同學把關注點放到效能上,而忽視架構。

2.我認為可以再課程早期強調一下同學間合作的重要性,鼓勵同學們互相交流合作搭建自動化評測的方式,不然像某些呆呆社恐同學沒錯,就是我可能到學期末追悔莫及。

3.關於第三單元jml建議給自己搭建形式化評測機的方式,我看到有一位助教哥哥的blog裡面好像有提及,因為感覺第三單元如果只是完成任務的化照葫蘆畫瓢一下就行了,最多封裝幾個演算法。

OO第四單元總結

第一次作業我將umlelement進行分類,新建乙個封裝類uml,用介面和類進行例項化 新建乙個operation類例項化operation元素。在myumlinteraction的初始化,先找到所有的類和介面例項化uml。然後找到所有的方法,例項化operation類,並且將類根據parentid...

OO第四單元總結

從這四個單元來看,除了第三單元對於架構的感受不深,兩外三個單元對架構的要求是比較高的。雖然這三個單元內容主題完全不同,但設計架構的目標是一樣的,就是盡可能地把現實中的邏輯細緻地還原表達出來。所以oo是什麼?j同學在一次研討課上表示oo在他看來就是將資料和方法集中起來封裝,我認為這個表述沒有觸及到oo...

OO第四單元總結

這個單元寫 的時候在面向過程的方便和物件導向的清晰架構中反覆橫跳,導致最後寫出來的東西亂七八糟。第一次作業 第一次作業只涉及到了uml的類圖。定義了myclass myinte ce myoperation三個類,儲存attribute等資訊。我的想法是將一條條資訊即乙個個umlelement分類存...