智能办公系统开发文档

软件需求规格说明书

项目背景

智能办公系统是一款用于办公场所管理的软件,旨在提高工作效率和企业管理水平。

功能需求

  1. 用户登录:用户可以通过用户名和密码进行登录。
  2. 个人信息管理:用户可以查看和修改自己的个人信息。
  3. 会议室管理:管理员可以添加、删除和修改会议室信息,用户可以查询会议室的预订情况并进行预订。
  4. 日程管理:用户可以添加、删除和修改日程,并设置提醒功能。
  5. 文件管理:用户可以上传、下载和分享文件。
  6. 公告管理:管理员可以发布、修改和删除公告,用户可以查看公告。

非功能需求

  1. 安全性:用户信息需要加密存储和传输。
  2. 可靠性:系统需要保证数据不丢失,并能够及时恢复故障。
  3. 可扩展性:系统需要支持未来的扩展和升级。
  4. 易用性:系统需要易于使用和操作。

界面设计

系统界面需要简洁明了,易于理解和操作。需要考虑不同用户的需求和习惯,以及不同设备的适配。

软件概要设计说明书

架构设计

本系统采用B/S结构,前端使用Vue.js框架,后端使用Spring Boot框架。数据库采用MySQL,并使用MyBatis进行数据持久化。系统将会部署到云服务器上。

模块划分

  1. 用户模块:负责用户登录、个人信息管理等功能。
  2. 会议室模块:负责会议室的管理和预订功能。
  3. 日程模块:负责日程的添加、删除和提醒功能。
  4. 文件模块:负责文件的上传、下载和分享功能。
  5. 公告模块:负责公告的发布、修改和删除功能。

接口设计

接口需要满足RESTful规范,以便于前后端交互。接口参数需要合理命名,且需要进行参数校验,防止恶意攻击。

软件详细设计说明书

数据库设计

系统共有五个表:

  1. 用户表(user):存储用户信息,包括用户名、密码、姓名、邮箱等字段。
  2. 会议室表(meeting_room):存储会议室信息,包括会议室名称、容纳人数、位置等字段。
  3. 预订表(booking):存储预订信息,包括预订者、会议室、日期、时间等字段。
  4. 日程表(schedule):存储日程信息,包括标题、内容、时间、提醒等字段。
  5. 文件表(file):存储文件信息,包括文件名、大小、上传者、下载地址等字段。

接口设计

系统共有十个接口:

  1. 用户登录接口:POST /api/login
  2. 用户注册接口:POST /api/register
  3. 个人信息查询接口:GET /api/user/{userId}
  4. 个人信息修改接口:PUT /api/user/{userId}
  5. 会议室查询接口:GET /api/meeting-room/{roomId}
  6. 会议室添加接口:POST /api/meeting-room
  7. 会议室修改接口:PUT /api/meeting-room/{roomId}
  8. 会议室删除接口:DELETE /api/meeting-room/{roomIdi/
  9. 预订查询接口:GET /api/booking/{bookingId}

     
  10. 预订添加接口:POST /api/booking
  11.  

    类设计

    系统共有六个类:

    1. User:用户类,包括用户名、密码、姓名、邮箱等属性。
    2. MeetingRoom:会议室类,包括名称、容纳人数、位置等属性。
    3. Booking:预订类,包括预订者、会议室、日期、时间等属性。
    4. Schedule:日程类,包括标题、内容、时间、提醒等属性。
    5. File:文件类,包括文件名、大小、上传者、下载地址等属性。
    6. RestController:控制器类,负责处理前端请求。

    数据库设计说明书

    用户表(user)

    字段名数据类型长度说明
    id bigint 20 用户ID
    username varchar 50 用户名
    password varchar 50 密码
    name varchar 50 姓名
    email varchar 50 邮箱

    会议室表(meeting_room)

    字段名数据类型长度说明
    id bigint 20 会议室ID
    name varchar 50 会议室名称
    capacity int 11 容纳人数
    location varchar 50 位置

    预订表(booking)

    字段名数据类型长度说明
    id bigint 20 预订ID
    userId bigint 20 预订者ID
    roomId bigint 20 会议室ID
    date date - 预订日期
    startTime time - 开始时间
    endTime time - 结束时间

    日程表(schedule)

    字段名数据类型长度说明
    id bigint 20 日程ID
    userId bigint 20 用户ID
    title varchar 50 标题
    content text - 内容
    date date - 日期
    time time - 时间
    remind int 11 提醒

    文件表(file)

    字段名数据类型长度说明
    id bigint 20 文件ID
    name varchar 50 文件名
    size bigint 20 文件大小
    userId bigint 20 上传者ID
    url varchar 100 下载地址

    项目开发计划

    阶段一:需求分析和设计

    • 确定系统功能和非功能需求。
    • 设计系统架构和模块划分。
    • 设计数据库结构和接口定义。
    • 编写软件需求规格说明书、软件概要设计说明书和软件详细设计说明书。

    阶段二:开发和测试

    • 按照设计文档进行编码。
    • 编写测试用例和测试计划。
    • 进行单元测试和集成测试。
    • 将系统部署到云服务器上进行整体测试。

    阶段三:部署和维护

    • 安装和配置服务器环境。
    • 部署系统到云服务器上。
    • 进行性能测试和安全测试。
    • 对系统进行维护和升级。

    测试计划

    测试类型

    本项目共进行三种测试:

    1. 单元测试:对系统中的各个模块进行测试,验证其功能是否正确。
    2. 集成测试:将各个模块组合起来进行测试,验证不同模块之间的协作

    是否正确。 3. 系统测试:对整个系统进行测试,验证其功能和性能是否符合要求。

    测试内容

    1. 用户登录:测试用户登录功能是否正常,包括用户名密码校验、登录状态维护等。
    2. 个人信息管理:测试用户可以查看和修改个人信息的功能是否正常。
    3. 会议室管理:测试管理员可以添加、删除和修改会议室信息,用户可以查询会议室的预订情况并进行预订功能是否正常。
    4. 日程管理:测试用户可以添加、删除和修改日程,并设置提醒功能是否正常。
    5. 文件管理:测试用户可以上传、下载和分享文件功能是否正常。
    6. 公告管理:测试管理员可以发布、修改和删除公告,用户可以查看公告功能是否正常。
    7. 性能测试:测试系统在高并发情况下的性能表现是否符合要求。
    8. 安全测试:测试系统的安全性是否符合要求。

    测试计划

    1. 单元测试:在开发阶段对每个模块进行单元测试,开发完成后对整体进行一次单元测试。
    2. 集成测试:在开发完各个模块后进行集成测试,确保不同模块之间的协作正常。
    3. 系统测试:在完成整个系统的开发后进行系统测试,确保整个系统的功能和性能符合要求。
    4. 性能测试:在系统测试之前,对系统进行性能测试,确保系统在高并发情况下的表现符合要求。
    5. 安全测试:在系统测试之前,对系统进行安全测试,确保系统的安全性符合要求。

     



posted on 2023-06-11 15:19  摸鱼队  阅读(121)  评论(0)    收藏  举报