做平團(tuán)的網(wǎng)站巨量引擎廣告投放平臺登錄入口
-
項(xiàng)目背景
隨著高校招生規(guī)模的不斷擴(kuò)大,學(xué)生選課需求日益增長。為提高選課效率,降低學(xué)生選課壓力,本項(xiàng)目旨在開發(fā)一款校園選課助手軟件。 -
項(xiàng)目目標(biāo):開發(fā)一款具有以下特點(diǎn)的校園選課助手軟件:
易用性:界面簡潔,操作簡便,便于學(xué)生快速上手。
功能性:滿足學(xué)生選課、退課、查詢課程信息等需求。
高效性:提高選課速度,減少學(xué)生選課時(shí)間。
可靠性:確保軟件穩(wěn)定運(yùn)行,降低故障率。 -
項(xiàng)目范圍
本項(xiàng)目涉及以下方面:
軟件開發(fā):包括需求分析、設(shè)計(jì)、編碼、測試和部署等環(huán)節(jié)。
技術(shù)支持:為軟件提供持續(xù)的技術(shù)維護(hù)和升級。 -
需求分析
4.1 功能需求
用戶注冊與登錄:用戶需注冊賬號并登錄,方可使用選課功能。
課程查詢:用戶可按課程名稱、課程代碼、教師姓名等條件查詢課程信息。
選課:用戶可根據(jù)個(gè)人需求選擇課程,并加入選課列表。
退課:用戶可從選課列表中移除已選課程。
個(gè)人中心:用戶可查看已選課程、課程表、成績等信息。
4.2非功能需求
界面友好:界面設(shè)計(jì)簡潔、美觀,操作簡便。
響應(yīng)速度:系統(tǒng)響應(yīng)速度快,滿足大量用戶同時(shí)訪問。
數(shù)據(jù)安全:確保用戶數(shù)據(jù)和課程數(shù)據(jù)的安全。 -
系統(tǒng)設(shè)計(jì)
5.1 架構(gòu)設(shè)計(jì)
采用前后端分離的架構(gòu),前端負(fù)責(zé)展示界面和交互,后端負(fù)責(zé)數(shù)據(jù)處理和業(yè)務(wù)邏輯。5.2 技術(shù)選型
前端:HTML5、CSS3、JavaScript、Ajax
后端:Spring MVC、Mybatis、Redis、RabbitMQ、MySQL、Elasticsearch
數(shù)據(jù)庫:MySQL、Elasticsearch5.3 界面設(shè)計(jì)
根據(jù)需求分析,設(shè)計(jì)以下界面:
登錄界面
注冊界面
課程查詢界面
選課界面
退課界面
個(gè)人中心界面5.4 數(shù)據(jù)庫設(shè)計(jì)
MySQL設(shè)計(jì)以下數(shù)據(jù)庫表:
用戶表:包含用戶ID、用戶名、密碼、手機(jī)號等信息。
CREATE TABLE `t_user` (`id` bigint(20) NOT NULL COMMENT '用戶ID,手機(jī)號碼',`nickname` varchar(255) NOT NULL,`password` varchar(32) DEFAULT NULL COMMENT 'MD5(MD5(pass明文+固定salt)+salt)',`salt` varchar(10) DEFAULT NULL,`head` varchar(128) DEFAULT NULL COMMENT '頭像',`register_date` datetime DEFAULT NULL COMMENT '注冊時(shí)間',`last_login_date` datetime DEFAULT NULL COMMENT '最后一次登錄時(shí)間',`login_count` int(11) DEFAULT '0' COMMENT '登錄次數(shù)',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
課程表:包含課程名稱、課程代碼、教師姓名、學(xué)分、課時(shí)、余量等信息。
CREATE TABLE `t_course` (`course_name` varchar(16) DEFAULT NULL COMMENT '課程名稱',`course_id` varchar(20) NOT NULL COMMENT '課程代碼',`course_teacher` varchar(20) NOT NULL COMMENT '授課老師',`course_detail` longtext COMMENT '課程詳情',`course_attribute` int(11) DEFAULT '0' COMMENT '課程屬性,0必修',`course_price` decimal(10,2) DEFAULT '0.00' COMMENT '學(xué)分',`course_stock` int(11) DEFAULT '0' COMMENT '庫存,-1表示沒有限制',PRIMARY KEY (`course_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;
選課表:包含選課ID、用戶ID、課程ID、選課狀態(tài)等信息。
CREATE TABLE `t_order` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '選課ID',`user_id` bigint(20) DEFAULT NULL COMMENT '用戶ID',`goods_id` bigint(20) DEFAULT NULL COMMENT '課程ID',`order_channel` tinyint(4) DEFAULT '0' COMMENT '1 pc,2 android, 3 ios',`status` tinyint(4) DEFAULT '0' COMMENT '訂單狀態(tài),0新建未確認(rèn),1已確認(rèn)',`create_date` datetime DEFAULT NULL COMMENT '訂單創(chuàng)建時(shí)間',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=64912 DEFAULT CHARSET=utf8mb4;
Elasticsearch設(shè)計(jì)索引表:
PUT /classes
{"mappings": {"properties": {"id": {"type": "keyword"},"name":{"type": "text","analyzer": "ik_max_word"},"teacher_name":{"type": "keyword"},"score":{"type": "integer",},"time":{"type": "integer"}}}
}