103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2501_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | 软件工程实践团队作业——团队组建与实践选题 |
| 这个作业的目标 | 项目整体计划安排、需求分析与原型设计、难点分析、确定组员分工 |
| 其他参考文献 | 无 |
第一阶段:需求分析与设计
目标: 明确需求,完成系统蓝图设计。
任务:
需求细化: 基于NA框架,与“客户”(同学、老师)深入沟通,细化所有功能点,编写详细的需求规格说明书。
技术选型: 确定前后端技术栈(如:Spring Boot + Vue.js)、数据库(MySQL)。
系统设计: 设计数据库ER图、表结构;绘制关键功能的系统架构图和API接口文档。
原型设计: 绘制主要页面的线框图或高保真原型,再次确认交互逻辑。
第二阶段:核心基础模块开发
目标: 搭建系统骨架,实现登录认证和基础数据管理。
任务:
项目框架搭建: 初始化前后端项目,配置开发环境。
用户管理与权限控制: 实现基于角色的用户登录、注册、权限验证(学生/教师/管理员)。
管理员后台基础功能: 完成对“用户”、“课程”、“班级”等基础数据的增删改查(CRUD)功能。
数据库实现与测试: 建立数据库,并对核心模块进行单元测试和接口联调。
第三阶段:核心业务功能开发
目标: 实现学生和教师的核心业务功能。
任务:
学生域功能: 实现选课、退课、个人课表查询、成绩查询。
教师域功能: 实现授课课程查询、成绩录入与修改。
前端页面开发: 完成学生和教师相关的主要功能页面,并与后端对接。
集成测试: 对“选课-退课-成绩录入-查询”等核心流程进行端到端测试。
第四阶段:性能优化
目标:进行系统优化。
任务:
性能与压力测试: 模拟选课高峰期的高并发场景,优化系统性能,解决潜在的卡顿和崩溃问题。
UI/UX优化: 优化界面和交互,提升用户体验。
第五阶段:部署试运行与收尾
目标: 部署上线,收集反馈,完成项目。
任务:
部署上线: 将系统部署到服务器,进行小范围(如一个班级或宿舍)试用。
用户培训与反馈收集: 编写用户手册,收集试用用户的反馈,修复发现的Bug。
项目验收与总结: 整理项目文档、源代码和总结报告,进行项目答辩。
高并发与性能瓶颈(最核心的挑战)
难点描述: 选课开始的那一刻,系统可能会面临短时间内海量学生同时抢课的请求,这属于典型的“高并发”场景。如果处理不当,极易导致服务器崩溃、数据库锁死、页面卡顿或报错,直接重现传统系统的核心痛点。
具体挑战:
数据库压力: “选课”操作涉及查询余量、检查冲突、扣减余量、写入学生选课记录等多个数据库操作,在高并发下容易发生数据脏读、幻读和更新丢失。
资源竞争: 热门课程的名额成为“秒杀”商品,如何保证在超卖的同时,公平地处理大量请求,是巨大挑战。
数据一致性与事务管理
难点描述: 核心业务逻辑,如“选课/退课”,必须是原子性的。例如,选课必须同时完成“扣减课程名额”和“增加学生选课记录”两个操作,一个成功一个失败会导致数据混乱。
具体挑战:
分布式事务: 如果系统采用微服务架构(如拆分为用户服务、课程服务、选课服务),保证跨服务的数据一致性将变得复杂。
业务逻辑一致性: 退课时,不仅要删除记录,还要恢复课程名额,并可能触发等待队列(如果有的话)。
数据库设计
难点描述: 数据库是所有功能的基础,糟糕的设计会导致后期查询缓慢、难以扩展。
具体挑战:
表结构关系复杂: 用户、角色、课程、班级、课表、成绩等实体间存在复杂的多对多关系(如一个学生选多门课,一门课被多个学生选)。
范式与冗余的平衡: 过度遵循范式会导致多表关联查询,影响性能;过度冗余又会引入数据不一致风险。需要在查询效率和维护成本间做出权衡。
1、蔡雨晞:项目经理 / 后端开发 (PM & Backend)
职责:
负责项目进度规划、任务分配与团队协调,主持日常站会。
主导后端架构设计,负责用户认证、权限控制等核心模块的开发。
负责数据库的设计与优化。
2、黄秋玥:前端开发组长 (Frontend Lead)
职责:
负责前端技术选型和项目架构搭建。
主导开发所有用户界面,确保与后端API的顺畅对接。
优化前端性能与用户体验,解决浏览器兼容性问题。
3、季煜晟:后端开发 / DevOps工程师 (Backend & DevOps)
职责:
协助项目经理完成后端业务逻辑开发,如选课、成绩管理等核心功能模块。
负责项目的部署、运维与监控。
负责压力测试和性能优化,重点解决高并发选课难题。
4、叶润升:UI/UX设计师 / 测试工程师 (UI/UX & Test)
职责:
负责产品原型设计、界面视觉设计和交互设计。
制定测试计划,编写测试用例。
执行功能测试、集成测试和用户体验测试,提交Bug并跟踪修复。
5、张青青:全能后备 / 产品助理 (Flex & Product)
职责:
作为团队后备力量,根据项目需要支援前端或后端的开发工作。
负责产品需求文档的撰写与维护,与用户沟通,明确需求细节。
负责项目文档的整理(如部署手册、用户手册)、会议记录和对外沟通。
| 学号姓名 | 工作内容 | 贡献度 |
|---|---|---|
| 102300402黄秋玥 | 撰写博客、界面原型设计ppt | 20% |
| 102300401蔡雨晞 | 需求分析ppt、两个评审表 | 20% |
| 102300307张青青 | 需求规格说明书 | 20% |
| 102300315季煜晟 | 演讲答辩 | 20% |
| 102300331叶润升 | 界面原型设计 | 20% |