软件工程第一次团队作业

航班信息管理系统:项目报告

本项目报告详细阐述了本项目(航班信息管理系统)的需求分析、功能设计、技术实现及开发过程。系统的所有环节,包括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作为轻量级数据库,非常适合此类中小型项目,简化了部署和维护。
      最大的挑战在于时间和精力的分配,需要合理规划各个模块的开发顺序和优先级。同时,独立解决开发过程中遇到的各种技术难题,也让我对相关技术的理解更加深入。虽然没有团队协作,但也让我对项目的每一个细节都有了全面的掌控。通过这个项目,我不仅提升了技术硬实力,也增强了独立完成复杂任务的信心。
posted @ 2025-05-22 01:07  terran##  阅读(58)  评论(0)    收藏  举报