软件工程瀑布模型学习指南
软件工程瀑布模型学习指南
一、瀑布模型核心概念
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