校园选课助手【1】-项目团体架构今后开始

打印 上一主题 下一主题

主题 507|帖子 507|积分 1521


  • 项目配景
    随着高校招生规模的不绝扩大,学生选课需求日益增长。为提高选课服从,低沉学生选课压力,本项目旨在开发一款校园选课助手软件。
  • 项目目标:开发一款具有以下特点的校园选课助手软件:
    易用性:界面简便,操作简便,便于学生快速上手。
    功能性:满足学生选课、退课、查询课程信息等需求。
    高效性:提高选课速率,减少学生选课时间。
    可靠性:确保软件稳固运行,低沉故障率。
  • 项目范围
    本项目涉及以下方面:
    软件开发:包罗需求分析、计划、编码、测试和部署等环节。
    技术支持:为软件提供持续的技术维护和升级。
  • 需求分析
    4.1 功能需求
    用户注册与登录:用户需注册账号并登录,方可使用选课功能。
    课程查询:用户可按课程名称、课程代码、教师姓名等条件查询课程信息。
    选课:用户可根据个人需求选择课程,并参加选课列表。
    退课:用户可从选课列表中移除已选课程。
    个人中央:用户可查看已选课程、课程表、效果等信息。

    4.2非功能需求
    界面友好:界面计划简便、美观,操作简便。
    相应速率:系统相应速率快,满足大量用户同时访问。
    数据安全:确保用户数据和课程数据的安全。
  • 系统计划
    5.1 架构计划
    采用前后端分离的架构,前端负责展示界面和交互,后端负责数据处理和业务逻辑。
    5.2 技术选型
    前端:HTML5、CSS3、JavaScript、Ajax
    后端:Spring MVC、Mybatis、Redis、RabbitMQ、MySQL、Elasticsearch
    数据库:MySQL、Elasticsearch
    5.3 界面计划
    根据需求分析,计划以下界面:
    登录界面
    注册界面
    课程查询界面
    选课界面
    退课界面
    个人中央界面
    5.4 数据库计划
MySQL计划以下数据库表:
用户表:包罗用户ID、用户名、密码、手机号等信息。
  1. CREATE TABLE `t_user` (
  2.   `id` bigint(20) NOT NULL COMMENT '用户ID,手机号码',
  3.   `nickname` varchar(255) NOT NULL,
  4.   `password` varchar(32) DEFAULT NULL COMMENT 'MD5(MD5(pass明文+固定salt)+salt)',
  5.   `salt` varchar(10) DEFAULT NULL,
  6.   `head` varchar(128) DEFAULT NULL COMMENT '头像',
  7.   `register_date` datetime DEFAULT NULL COMMENT '注册时间',
  8.   `last_login_date` datetime DEFAULT NULL COMMENT '最后一次登录时间',
  9.   `login_count` int(11) DEFAULT '0' COMMENT '登录次数',
  10.   PRIMARY KEY (`id`)
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
复制代码
课程表:包罗课程名称、课程代码、教师姓名、学分、课时、余量等信息。
  1. CREATE TABLE `t_course` (
  2.   `course_name` varchar(16) DEFAULT NULL COMMENT '课程名称',
  3.   `course_id` varchar(20) NOT NULL COMMENT '课程代码',
  4.   `course_teacher` varchar(20) NOT NULL COMMENT '授课老师',
  5.   `course_detail` longtext COMMENT '课程详情',
  6.   `course_attribute` int(11) DEFAULT '0' COMMENT '课程属性,0必修',
  7.   `course_price` decimal(10,2) DEFAULT '0.00' COMMENT '学分',
  8.   `course_stock` int(11) DEFAULT '0' COMMENT '库存,-1表示没有限制',
  9.   PRIMARY KEY (`course_id`)
  10. ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;
复制代码
选课表:包罗选课ID、用户ID、课程ID、选课状态等信息。
  1. CREATE TABLE `t_order` (
  2.   `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '选课ID',
  3.   `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
  4.   `goods_id` bigint(20) DEFAULT NULL COMMENT '课程ID',
  5.   `order_channel` tinyint(4) DEFAULT '0' COMMENT '1 pc,2 android, 3 ios',
  6.   `status` tinyint(4) DEFAULT '0' COMMENT '订单状态,0新建未确认,1已确认',
  7.   `create_date` datetime DEFAULT NULL COMMENT '订单创建时间',
  8.   PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=64912 DEFAULT CHARSET=utf8mb4;
复制代码
Elasticsearch计划索引表:

  1. PUT /classes
  2. {
  3.   "mappings": {
  4.     "properties": {
  5.       "id": {
  6.         "type": "keyword"
  7.       },
  8.       "name":{
  9.         "type": "text",
  10.         "analyzer": "ik_max_word"
  11.       },
  12.       "teacher_name":{
  13.         "type": "keyword"
  14.       },
  15.       "score":{
  16.         "type": "integer",
  17.       },
  18.       "time":{
  19.         "type": "integer"
  20.       }
  21.     }
  22.   }
  23. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表