软件工程第一次团队作业
航班信息管理系统:项目报告
本项目报告详细阐述了本项目(航班信息管理系统)的需求分析、功能设计、技术实现及开发过程。系统的所有环节,包括UI设计(使用Adobe XD进行概念设计)、前端开发、后端开发以及数据库调试,均由我独立完成。
一、面向用户分析
航班信息管理系统主要面向以下用户群体:
- 系统管理员: 负责系统中航班数据、旅客信息和用户账户的增删改查等维护工作,确保数据的准确性和时效性。同时,也需要查看系统的整体运营统计数据。
- 普通用户/旅客: 主要需求是查询航班信息,如航班时刻、起降地等。此外,还应具备用户注册、登录等基本功能,以及(在此版本中简化的)订单管理功能。
二、预期用户数量
考虑到航班信息管理系统的专业性,初期用户群体主要为小型航空公司、票务代理或相关机构的内部管理人员,预计数量在5-10人。若系统的航班查询功能对公众开放,普通用户/旅客数量则有望达到数百至数千人,具体视推广情况而定。
三、功能性需求
-
用户管理
- 用户注册(用户名、密码)。
- 用户登录与登出。
- 获取用户信息(不含密码)。
-
航班信息管理 (管理员核心功能)
- 添加新的航班记录,包括航班号、出发地、目的地、日期等信息。
- 修改现有航班信息。
- 删除航班信息。
- 按条件(出发地、目的地、航班号)查询航班信息。
- 展示所有航班信息列表。
-
订单/旅客信息管理
- 创建旅客订单(基础信息录入,关联航班)。
- 展示所有订单/旅客信息列表。
-
数据看板 (Dashboard)
- 统计并展示系统内的用户总数、航班总数、订单总数等核心数据。
四、技术需求
-
前端技术
- 采用 Next.js (React) 框架进行开发,确保单页应用的流畅体验和良好的开发效率。
- 使用 TypeScript 进行类型检查,提升代码健壮性。
- 界面组件库采用 Ant Design,提供丰富美观的UI元素。
- 使用 Tailwind CSS 进行原子化CSS样式编写,实现灵活高效的样式定制。
-
后端技术
- 同样基于 Next.js (API Routes) 构建后端服务,实现前后端一体化开发。
- 使用 TypeScript 进行后端逻辑开发。
-
数据库
- 采用 SQLite 轻量级数据库,通过 better-sqlite3 库进行数据交互与管理。
-
性能要求
- 系统应能快速响应用户操作,保证数据查询和管理的效率。在高并发场景下(未来若扩展)应能保持稳定。
-
安全性
- 保障用户账户信息(如密码)的安全存储(当前版本为简单存储,实际部署需加强加密)。
- 防止未授权的数据访问和操作。
五、系统的真实性、可用性及价值
-
真实性
- 系统管理真实的航班信息(如航班号、起降地、时间等),可导入或录入实际运营数据。
- 旅客信息也基于真实需求设计(如姓名、证件号、座位号等)。
- 用户数据基于模拟的真实用户信息。
-
可用性
- 系统界面基于 Ant Design 构建,风格统一,操作直观。
- 通过侧边栏导航,用户可快速定位到所需功能模块。
- 系统设计力求简洁易用,管理员用户经过简单熟悉即可上手操作。
-
价值
- 对管理员:提供一个集中管理航班、旅客和用户信息的平台,提高数据管理效率和准确性。
- 对普通用户/旅客:提供便捷的航班信息查询途径(未来可扩展订票、改签等服务)。
- 对小型航空业务相关方:助力其业务信息化管理,降低人工操作成本,提升服务水平。
个人任务计划
一、任务分解
由于本项目由我一人独立完成,任务分解主要围绕开发流程进行:
| 任务阶段 | 描述 |
|---|---|
| 需求分析 | 分析用户需求,确定系统核心功能模块。 |
| 系统设计 | 设计系统整体架构,包括数据库表结构设计、API接口设计等。 |
| UI设计 | (使用Adobe XD概念设计)规划系统界面布局和用户交互流程。 |
| 前端开发 | 开发用户界面,实现用户交互功能,包括各管理页面和图表展示。 |
| 后端开发 | 实现系统后端API接口逻辑,处理业务流程和数据校验。 |
| 数据库开发与调试 | 创建数据库表,编写数据库操作逻辑,并进行数据初始化与调试。 |
| 测试 | 对系统各功能模块进行测试,确保功能正常运行且无明显缺陷。 |
| 部署与维护 | (若需)将系统部署到服务器,进行日常维护和可能的更新。 |
二、分工
| 成员姓名 | 角色 | 负责任务 |
|---|---|---|
| OokukiooO | 全栈开发者/项目负责人 | 需求分析、系统设计、UI设计(Adobe XD)、前端开发、后端开发、数据库开发与调试、测试、文档编写及项目管理。 |
三、时间安排表 (预估)
考虑到是独立开发,时间安排会更灵活,以下为一个大致的预估时间表:
| 任务阶段 | 开始时间 | 结束时间 | 负责人 |
|---|---|---|---|
| 需求分析与系统设计 | 2025-04-01 | 2025-04-07 | OokukiooO |
| UI设计 (Adobe XD) | 2025-04-08 | 2025-04-12 | OokukiooO |
| 数据库开发与调试 | 2025-04-10 | 2025-04-15 | OokukiooO |
| 后端开发 | 2025-04-13 | 2025-04-27 | OokukiooO |
| 前端开发 | 2025-04-20 | 2025-05-10 | OokukiooO |
| 测试与优化 | 2025-05-11 | 2025-05-18 | OokukiooO |
| 文档编写与总结 | 2025-05-19 | 2025-05-22 | OokukiooO |
| 部署与维护 | 2025-05-23 | 持续 | OokukiooO |
(注:由于是个人项目,部分阶段会有重叠,实际开发时间可能会根据具体情况调整。)
四、GitHub链接
https://github.com/OokukiooO/flight_info_management
五、码云团队项目issue截图:
由于是个人独立完成的项目,未使用团队协作平台的Issue跟踪功能。
个人完成情况及感想
- OokukiooO (全栈开发者/项目负责人)
- 完成情况:
- 完成了项目的全部需求分析、系统架构设计和数据库结构设计。
- 独立使用Adobe XD完成了核心页面的UI概念设计。
- 独立完成了所有前端页面的开发,包括用户登录/注册、数据看板、航班查询、航班管理(增删改)、订单管理等模块。
- 独立完成了所有后端API接口的开发,实现了用户认证、数据增删改查等核心业务逻辑。
- 独立完成了SQLite数据库的配置、初始化及所有数据操作逻辑的编写与调试。
- 对各个功能模块进行了基本的功能测试和联调测试。
- 编写了本项目的技术报告。
- 感想:
作为本项目的唯一开发者,我独立承担了从需求分析、UI/UX设计、前后端开发到数据库调试的全部工作。这个过程极大地锻炼了我的全栈开发能力和项目管理能力。
在技术选型上,Next.js结合TypeScript为项目提供了高效的开发体验和较好的代码质量保障;Ant Design组件库则大大加速了前端页面的构建,并保证了UI的专业性和一致性。SQLite作为轻量级数据库,非常适合此类中小型项目,简化了部署和维护。
最大的挑战在于时间和精力的分配,需要合理规划各个模块的开发顺序和优先级。同时,独立解决开发过程中遇到的各种技术难题,也让我对相关技术的理解更加深入。虽然没有团队协作,但也让我对项目的每一个细节都有了全面的掌控。通过这个项目,我不仅提升了技术硬实力,也增强了独立完成复杂任务的信心。
- 完成情况:

浙公网安备 33010602011771号