文章目录

  • 一、目的与要求
  • 二、综合实践任务
  • 三、总体设计
  • 四、详细设计
  • 1. 数据库设计
  • 2. 界面设计
  • 五、实习总结
  • 六、项目地址


一、目的与要求

(1)熟悉项目开发流程,从需求分析到设计实现,最后测试部署;
(2)提高Linux环境下的编码能力,熟悉Linux环境及配置;
(3)掌握Linux下MySQL数据库的安装部署,以及使用C语言连接MySQL数据库;
(4)掌握Linux下使用C语言图形库GTK+设计程序图形界面。

二、综合实践任务

(1)建立MySQL数据库服务器。
(2)在数据库上建立课程、教师、学生、选课表。
(3)实现课程、教师、学生信息输入。
(4)实现学生选课功能。
(5)*用GTK+构件实现Xwindow界面。

三、总体设计

(1)展示层:通过C语言和GTK+实现系统所有界面以及界面之间相互跳转;

(2)业务逻辑层

①学生登录:可以查看已选课程以及选课、退选操作;

②教师登录:可以查看所教课程,并为选课同学登记成绩;

③管理员登陆:可以对学生、教师、课程进行管理;

(3)数据层:使用MySQL数据库,并建立student、teacher、course、sc四张表。

学生选课系统软件工程基于mysqljava_MySQL

四、详细设计

1. 数据库设计

student表:sno、sname、sex、password

teacher表:tno、tname、tsex、password

course表:cno、cname、tno

sc表:sno、cno、grade

学生选课系统软件工程基于mysqljava_mysql_02

2. 界面设计

主页:可以选择登录或注册
登陆界面:输入用户名和密码进行登录
注册界面:输入用户名,昵称,密码,性别进行注册
学生界面:显示学生已选课程
学生选课界面:学生可以选择未选过的课程
教师界面:显示所教课程
教师登记成绩界面:教师给选择本门课程的学生登记成绩
管理员界面:可以选择学生管理、教师管理、课程管理
学生管理界面:管理员可以添加、删除、修改学生信息
教师管理界面:管理员可以添加、删除、修改教师信息
课程管理界面:管理员可以添加、删除、修改课程信息

五、实习总结

本周实习,可以说是完全从0到1,第一次用C语言操作MySQL数据库,第一次使用GTK+图形库进行界面开发,好在有在Linux下开发的经验,通过CLion集成开发环境远程连接Linux虚拟机,大大提高了开发效率,这也是第一次用C语言进行一次完整的项目开发,第一次使用cmake工具,通过其管理动态共享库,以及项目编译都较为方便,比起自己编写Makefile更为方便简单。同时也学会了连接数据库时通过新建用户进行连接,以前都是直接通过数据库的root用户连接,存在一定的数据库安全隐患。

由于时间较短,界面设计的比较粗糙,业务逻辑上也存在一定的缺陷,比如可以加入课程搜索过滤功能,以及数据库安全性有待提高,可以将密码进行加密后存入数据库,而不是直接明文存放用户密码。以后有时间会继续完善系统,本次实习圆满成功,收获满满。

六、项目地址

学生选课系统软件工程基于mysqljava_MySQL_03