隨筆0907

okiqiiii發表於2024-09-07

自我評估

💼專業知識和能力:
1.掌握C、Python、Java等程式語言

2.能夠熟練運用Spark、Hadoop等大資料處理工具

💡興趣方向:
1.資料庫的搭建與應用

2.資料分析方面

3.機器學習、深度學習,如神經協同過濾等

✏️程式碼量:
目前:5000行左右

目標:希望努力突破自我,寫出上萬行的經驗

📖自我反思:
1.平時寫程式碼還是太少了,應該多實踐

2.我對資料結構與演算法還不夠熟悉,應主動訓練

3.總的來說應該勇於實踐,利用好課餘時間鍛鍊自己的能力

⭐學習期望:
1.初次接觸軟體工程實踐,對其中的團隊配合、溝通等較為生疏,希望能得到鍛鍊

2.瞭解軟體開發過程,以此熟悉以後的工作狀況等

3.在與同學們共同開發時提高自己的程式設計、創新等能力

軟體工程學習指南

1. 課程概述

目標: 掌握軟體工程的基本概念、流程和工具,能夠設計、開發和維護軟體專案。

內容:

  • 軟體工程基礎
  • 軟體開發生命週期
  • 專案管理
  • 需求分析
  • 設計與架構
  • 編碼與實現
  • 測試與質量保證
  • 維護與演進

2. 基礎概念

2.1 軟體工程簡介

  • 定義: 軟體工程是應用工程原理和技術來設計、開發和維護軟體系統的學科。
  • 目標: 提高軟體質量,降低開發成本和維護難度。

2.2 軟體開發生命週期 (SDLC)

  • 階段:
    1. 需求分析
    2. 系統設計
    3. 實現(編碼)
    4. 測試
    5. 部署
    6. 維護

2.3 軟體開發模型

  • 瀑布模型: 順序進行各個階段。
  • 迭代模型: 重複進行開發和測試。
  • 敏捷模型: 快速迭代,強調團隊合作和靈活應對變化。

3. 專案管理

3.1 計劃與估算

  • 工作分解結構 (WBS): 將專案任務分解成可管理的部分。
  • 進度計劃: 制定時間表,設定里程碑。
  • 資源管理: 分配人力和物力資源。

3.2 風險管理

  • 識別風險: 確定潛在的專案風險。
  • 評估風險: 評估風險的影響和可能性。
  • 應對風險: 制定應對策略。

4. 需求分析

4.1 需求收集

  • 方法: 調研、訪談、問卷、觀察。
  • 工具: 需求文件、使用者故事。

4.2 需求建模

  • 圖表: 用例圖、資料流圖、狀態圖。
  • 文件: 需求規格說明書(SRS)。

5. 設計與架構

5.1 系統設計

  • 設計原則: 模組化、封裝、抽象。
  • 設計模式: 單例模式、觀察者模式、工廠模式。

5.2 軟體架構

  • 架構風格: 分層架構、客戶端-伺服器架構、微服務架構。
  • 圖表: 類圖、時序圖、元件圖。

6. 編碼與實現

6.1 程式設計實踐

  • 編碼規範: 程式碼風格、命名規則。
  • 工具: 版本控制(Git)、整合開發環境(IDE)。

6.2 程式碼審查

  • 目的: 提高程式碼質量、發現潛在問題。
  • 方法: 同行審查、自動化工具。

7. 測試與質量保證

7.1 測試型別

  • 單元測試: 測試單個模組或元件。
  • 整合測試: 測試模組之間的互動。
  • 系統測試: 測試整個系統的功能。
  • 驗收測試: 驗證系統是否滿足需求。

7.2 測試工具

  • 自動化測試: 使用工具進行自動化測試(如JUnit、Selenium)。

8. 維護與演進

8.1 維護型別

  • 糾錯: 修復缺陷。
  • 增強: 新增新功能或改進現有功能。
  • 適應: 修改以適應新的環境或技術。

8.2 演進過程

  • 版本管理: 跟蹤和管理軟體版本。
  • 文件維護: 更新專案文件和使用者手冊。

9. 參考資料

  • 書籍:
    • 《軟體工程:實踐者的研究方法》 - Roger S. Pressman
    • 《設計模式:可複用物件導向軟體的基礎》 - Erich Gamma 等
  • 線上資源:
    • Coursera、edX、Udacity 上的軟體工程課程
    • GitHub 上的開源專案

指南評估

🔧選取工具:
-chatgpt

⚡點評:
優點
1.輔以參考資料書籍推薦與線上學習課程,擴充了課外學習的空間
2.理論學習指引條例明晰,作為指南簡潔利落
缺點
1.只是注重理論上的學習指南,並沒有強調軟體工程最重要的實踐部分
2.推薦過於全面,重點不清晰