📐 软件设计与体系结构 · 项目式教学

三维目标知识模块 · 项目载体 · 能力目标 智能购物系统 商品识别 · 移动支付 · 数字营销 · 地图导购 · 智能客服等五大子系统
⚡ 路径分组任务 + AI辅助 + 自主调试 📘 课前 学习通《项目任务单》 | 👥 课中 授课演示+分组实践 | 📤 课后 作业提交+师生企闭环评价
任务一 项目规划与需求分析
📋 教学要求
  • 项目启动:组建团队,确定子系统
  • 需求获取:利用用户访谈、文档分析等方式获取原始需求
  • 需求分析:绘制用例图、活动图,编写用例规约
  • 质量属性定义:识别关键的非功能需求(并发量、响应时间、安全性、可维护性)
🎯 教学重点
清晰界定系统边界。
⚠️ 教学难点
关注功能、非功能需求对架构的约束,注意先定架构约束,再定技术。
📎 代码示例涵盖 系统登录模块 短信验证码功能
🔗 查看代码示例
任务二 系统设计
📐 教学要求
  • 架构设计:确定架构风格(分层、微服务、事件驱动等)。绘制包图、构件图、部署图
  • 详细设计:类级别的设计,绘制类图、顺序图、状态图,应用设计模式优化局部设计
  • 接口设计:定义模块间API、通信协议(RESTful、RPC、Message Queue)
🎯 教学重点
从逻辑视图、进程视图、开发视图、物理视图(4+1视图)等多个角度描述系统。
⚠️ 教学难点
通过画架构图掌握背后的架构权衡。确保类图、时序图与最终的架构风格一致,避免设计文档与代码脱节。
📎 代码示例涵盖 购物商城模块 智能推荐功能 购物车功能
🔗 查看代码示例
任务三 系统编码开发
💻 教学要求
  • 环境搭建:配置IDE、版本控制(Git)、依赖管理、框架集成
  • 核心功能实现:按照设计阶段定义的接口和类进行编码
  • 包结构管理:按照分层架构或模块化思想组织代码包
🎯 教学重点
代码与设计的一致性,强制要求代码的包结构、类名必须与设计文档对应。制定统一代码规范(命名、注释、日志)。
⚠️ 教学难点
运用设计原则审查代码。
📎 代码示例涵盖 商品识别模块 二维码识别模块
🔗 查看代码示例
任务四 代码测试与优化
🧪 教学要求
  • 模块接口测试和集成逻辑验证
  • 质量属性测试
  • 架构重构:针对测试中发现的设计缺陷进行微调,做好里程碑评审,运用设计模式进行代码重构
🎯 教学重点
遵循设计阶段定义的接口契约。
⚠️ 教学难点
如何定位是代码逻辑问题、数据库设计问题还是架构设计问题。
📎 代码示例涵盖 移动支付模块 地图导购模块
🔗 查看代码示例
任务五 项目交付与展示
🚀 教学要求
  • 准备试运行环境,梳理展示流程
  • 讲解项目背景、架构图、核心难点解决方案
  • 文档归档:撰写用户手册、部署手册,完善设计文档
  • 项目总结:总结项目过程中的经验教训
🎯 教学重点
熟练运用打包工具与打包方法,系统脱离开发环境。
⚠️ 教学难点
项目切换体系架构解决方案。
📎 代码示例涵盖 数字人直播 智能问答
🔗 查看代码示例
⚙️ 分组任务提交:每个任务模块可以通过学习通平台提交源代码,也可以提交 GitHub / GitLab 或其它代码仓库的有效链接。
三维架构:知识模块(设计/编码/测试) · 项目载体(智能购物系统) · 能力目标(分析/设计/实现/交付)
《软件设计与体系结构》 · 项目式教学分组任务