2024-2025-1 20241320 《計算機基礎與程式設計》第8周學習總結

20241320易鑫發表於2024-11-15

2024-2025-1 20241320 《計算機基礎與程式設計》第8周學習總結

作業資訊

|這個作業屬於哪個課程|
https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|這個作業要求在哪裡|
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
|這個作業的目標|
功能設計與物件導向設計

物件導向設計過程
面嚮物件語言三要素
彙編、編譯、解釋、執行
|作業正文|
https://www.cnblogs.com/yixin20060813/p/18548796

教材學習內容總結

一.功能設計
定義:功能設計是按照產品定位的初步要求,在對使用者需求及現有產品進行功能調查分析的基礎上,對所定位產品應具備的目標功能系統進行概念性構建的創造活動。
特點:
側重於系統功能的實現和問題的解決。
強調模組化設計,將系統分解成若干個功能模組。
模組之間的互動透過函式呼叫實現。
二.設計過程:
根據需求找出物件,並抽象每個物件為類。
找出各物件之間的關係,使用組合、繼承、分類、擴充套件等描述這些關係。
為每個物件實體定義要做的事(寫物件方法),以及每個類在不需要有物件實體的情況下要做的事(寫類方法)。
特點:
側重於物件的抽象、封裝、繼承和多型性。
強調以物件為中心進行設計和開發。
有助於提高系統的可重用性、靈活性和擴充套件性。
二者區別
關注點不同:功能設計更注重系統功能的實現和問題的解決,而物件導向設計則更注重物件的抽象、封裝、繼承和多型性。
設計思路不同:功能設計採用模組化設計思路,將系統分解成若干個功能模組;而物件導向設計則採用以物件為中心的設計思路,將系統分解成若干個物件。
互動方式不同:在功能設計中,模組之間的互動透過函式呼叫實現;而在物件導向設計中,物件之間的互動則透過訊息傳送和接收來實現。
綜上所述,功能設計與物件導向設計各有其獨特的知識點和設計理念。在實際應用中,應根據具體需求和場景選擇合適的設計方法,以確保軟體系統的質量和效率。
三.物件導向設計過程

  1. 需求分析和理解
  2. 識別類和物件
  3. 建立類圖
  4. 設計原則的應用
  5. 細化設計
  6. 迭代和驗證
  7. 文件編寫
  8. 持續學習和改進
    四.面嚮物件語言三要素
  9. 封裝(Encapsulation)
  10. 繼承(Inheritance)
  11. 多型(Polymorphism)
    優點:
    提高了系統的靈活性和可擴充套件性。
    允許在不修改現有程式碼的情況下新增新的功能(開閉原則)。
    增強了程式碼的可讀性和可維護性。
    需要注意的是,雖然封裝、繼承和多型是面嚮物件語言的三要素,但不同的面嚮物件語言在實現這些要素時可能會有所不同。例如,一些語言可能提供了更豐富的訪問許可權修飾符或更靈活的繼承機制。因此,在學習和使用不同的面嚮物件語言時,需要仔細瞭解它們的具體實現方式和特點。
    五.彙編、編譯、解釋、執行
    彙編
    定義:
    組合語言是一種低階的、面向硬體的程式語言,它擁有與機器語言相近的指令集,同時允許程式設計師使用助記符來代替機器碼中的二進位制數字。
    特點:
    組合語言編寫的程式需要經過彙編器轉換成機器碼才能在計算機上執行。
    組合語言與機器語言有很高的對應關係,因此執行效率較高。
    組合語言依賴於特定的硬體平臺,因此不同平臺的組合語言有所不同。
    組成:
    彙編指令(機器碼的助記符):如MOV AX,BX。
    偽指令:由編譯器執行。
    其他符號:由編譯器識別,如+、-、*、/。
    暫存器:
    暫存器是CPU中可以儲存資料的器件,一個CPU中有多個暫存器。
    暫存器用於存放運算元和操作結果,以及控制指令的執行。
    編譯
    定義:
    編譯是將高階語言編寫的原始碼轉換成機器碼或中間碼的過程。
    過程:
    編譯過程包括預處理、編譯、彙編和連結等多個階段。
    預處理階段處理宏定義、檔案包含等指令。
    編譯階段將原始碼轉換成中間程式碼或彙編程式碼。
    彙編階段將彙編程式碼轉換成機器碼。
    連結階段將多個目標檔案連結成一個可執行檔案。
    特點:
    編譯型語言通常以其高效能和效率為最大賣點,適用於效能要求高的應用場景。
    編譯型語言在程式執行之前需要進行完整的編譯過程,因此程式啟動速度較快。
    解釋
    定義:
    解釋是在程式執行時由直譯器逐行轉換和執行原始碼的過程。
    特點:
    解釋型語言通常具有更好的靈活性和跨平臺性,因為直譯器可以在不同的平臺上執行。
    解釋型語言的執行速度可能相對較慢,因為每次執行程式時都需要逐行解釋和執行原始碼。
    優勢:
    解釋型語言易於除錯和修改,因為可以立即看到程式碼更改的效果。
    解釋型語言通常具有更豐富的動態特性和內建函式庫。
    執行
    定義:
    執行是程式在計算機上執行並完成特定任務的過程。
    方式:
    無論是編譯型語言還是解釋型語言,最終都需要在計算機上執行以完成特定的任務。
    編譯型語言的可執行檔案可以直接在計算機上執行,而解釋型語言則需要透過直譯器來執行。
    特點:
    執行過程涉及CPU、記憶體、I/O裝置等硬體資源的排程和管理。
    程式的執行效率受到多種因素的影響,包括編譯器或直譯器的效能、硬體資源的配置等。

基於AI的學習

  • 計劃學習時間:1小時

  • 實際學習時間:1小時

  • 改進情況:

(有空多看看現代軟體工程 課件
軟體工程師能力自我評價表
)

參考資料

  • 《電腦科學概論(第七版)》
  • ...

相關文章