OO第二次博客總結

第五次做業:數組

  度量圖:安全

  

  類圖:多線程

  

  分析:此次做業的主要問題是對電梯請求如何分配給三部電梯,讓他們可以同時工做且不出現問題。這其中涉及到了關於線程安全,數據同步的問題。學習

    但因爲這是多線程的第一次做業,本身之前對多線程沒有一點概念,作這次做業以前查閱了不少資料,但仍是有不少地方並無真正弄明白。這在這次做業中體現的很明顯。從度量圖看,個人程序圈複雜度太大,說明程序代碼質量低且不易維護,其次塊嵌套深度太高,以及參數過多,這都是直接能夠看出來的問題,而後個人類圖也很雜亂無章,沒有設計好。整體來講,本身沒有把握好時間,搞清楚多線程花了好久,設計程序時間不足,致使這徹底就是一個趕時間的程序。測試

  本身的bug:此次因爲沒設計好,功能性測試幾乎都錯了,只過了幾個簡單的例子。線程

  測試任務:可能他也沒有好好設計吧,只要輸入回車,程序就crash,他是由於輸出時用了很奇怪的方式,我幫他改了下,結果和我差很少,功能性測試幾乎不對。設計

 

第六次做業:對象

  度量圖:blog

  類圖:同步

分析:

  此次做業是設計一個文件監控系統,首先對監控做業進行處理,忽略掉非法監控,將合法監控提取出來。至於對文件如何監控,個人辦法是爲所監控的對象創建快照,將其屬性保存下來,而後再等一個掃描週期(個人是50ms)將新的快照與舊的進行對比,發現其改變的屬性,就能夠看是否相應的觸發器,執行相應的任務。

  但我這樣作好像有問題,就是在path-changed的時候,它不響應,我單步運行發現其新的快照集和舊的變得同樣了,也就是50ms這個週期沒有捕捉到這個變化,因此我把時間改成60ms就能夠了。總的來講,此次比上次好,至少弄清楚了多線程的基本思想,也學會了正確進行加鎖同步。

本身的bug:path-changed監控出錯,應該是週期的問題。

測試任務的bug:他的程序不能實現文件安全類功能不完整,不少功能沒有實現,測試起來較爲困難,他在多線程安全處理也不行,有的變化不予響應,且summary與detail會重複記錄。

第七次做業:

  度量圖:

  類圖:

分析:此次是設計一個出租車調度系統,個人實現思想是,先完成地圖導入及出租車初始化的工做。出租車初始化主要就是開一百個線程,讓出租車隨機運行。而後獲取乘客請求進行處理,這部分就按照指導書的要求,挑選符合要求的出租車,進行派單,記錄其運行信息。

此次做業相比前兩次完成的要好,多是本身對多線程有了更進一步的理解,也是一點點在進步吧。

本身的bug:因爲粗心,沒有仔細檢查,有個地方數組越界,crash了。

測試任務的bug:他的程序沒有把路徑記錄完,只記錄了一部分請求記錄,並且對同質請求處理不當。

 

總結:總的來講,本身從不會多線程到慢慢入門,一點點在進步,仍是蠻開心的,不只是做業,週五的OO上機我也學到了不少。反正對待一個學習任務,慢慢去學,不放棄,總會弄清楚的。

相關文章
相關標籤/搜索