軟件工程瀑布模型學習指南
一、瀑布模型核心概念
1.1 定義與特點
瀑布模型是一種經典的軟件開發流程,將項目劃分為順序性的階段,每個階段有明確的輸入和輸出,如同瀑布流水般單向推進。其特點包括:
- 階段間具有明確的順序性和依賴性
- 強調文檔驅動和階段評審
- 適合需求明確、穩定的項目
1.2 六階段記憶法
階段名稱 | 核心問題 | 關鍵產出 |
---|---|---|
可行性研究 | 能不能行? | 可行性報告、成本效益分析 |
需求分析 | 要干嘛? | 需求規格說明書(SRS)、用例圖 |
系統設計 | 咋實現? | 架構設計文檔、數據庫設計、接口規范 |
編碼實現 | 咋寫代碼? | 可運行代碼、單元測試 |
測試驗證 | 檢查是否符合需求 | 測試報告、缺陷清單 |
運行維護 | 如何持續優化? | 用戶手冊、運維文檔、版本更新記錄 |
二、小型項目實踐:待辦事項管理系統
2.1 可行性研究
項目選擇:開發命令行版待辦事項管理系統
分析過程:
- 功能范圍:添加、查看、標記完成、刪除任務
- 技術可行性:Python基礎語法+JSON文件存儲
- 時間成本:預計2-3天
可行性報告(簡化):
# 項目可行性報告
- 目標:開發個人待辦事項管理工具
- 技術可行性:Python基礎語法、文件操作(JSON存儲)
- 時間成本:約2-3天
- 預期價值:學習瀑布模型流程,掌握基礎軟件開發方法
2.2 需求分析
用戶故事:
- 作為用戶,我希望能夠添加新的待辦事項
- 作為用戶,我希望能夠查看所有待辦事項
- 作為用戶,我希望能夠標記待辦事項為已完成
- 作為用戶,我希望能夠刪除待辦事項
- 作為用戶,我希望待辦事項能夠保存到文件中
需求規格說明書(簡化):
# 需求規格說明書
1. 功能需求:- 添加待辦事項(標題、描述、截止日期)- 查看待辦事項列表(支持過濾未完成/已完成)- 標記任務為已完成- 刪除任務- 數據持久化(JSON文件存儲)
2. 非功能需求:- 命令行界面友好- 數據存儲安全- 操作響應迅速
2.3 系統設計
架構設計:
- 三層架構:表現層(CLI)、業務邏輯層(TaskManager)、數據訪問層(Storage)
- 模塊劃分:
task_manager.py
:核心業務邏輯storage.py
:數據存儲與讀取cli.py
:命令行交互界面
數據模型:
class Task:def __init__(self, title, description="", due_date=None, completed=False):self.title