一个教务管理系统的Demo
Last modified:2013-04-06 23:52:58
***********************************************
系统设计说明书:
1.登陆 |
1.1登录(学生、教师、管理员自动区分) |
1.1.1登陆(根据帐号显示对应页面) |
|
2.管理员 |
2.1学生信息管理 |
2.1.1添加学生信息 |
|
2.1.2 删除学生信息 |
|||
2.1.3 查询学生信息 |
2.1.3.1查所有,根据成绩排序(指定科目) |
||
2.1.3.2根据学号查询 |
|||
2.1.3.3根据姓名查询[一批] |
|||
2.4成绩管理 |
2.2.1成绩录入 |
为选修了指定课程号的学生录入成绩 |
|
2.2.2 成绩修改 |
原理同2.2.1都是更新 |
||
2.2.3 成绩查询 |
按照指定学号查询成绩 |
||
2.5管理员信息管理 |
2.3.1密码修改 |
||
2.3课程管理 |
2.4.1添加课程 |
||
2.4.2删除课程 |
|||
2.4.3 修改课程 |
|||
2.4.4 查询课程 |
|||
2.6公告管理 |
2.5.1发布公告 |
||
2.5.2 修改公告 |
|||
2.5.3 删除公告 |
|||
2.5.4 查看公告 |
2.5.4.1按照条件查看 |
||
2.5.4.2根据内容的关键字进行匹配查看 |
|||
2.2教师信息管理(同学生信息管理) |
|||
3.学生 |
3.1个人信息维护 |
3.1.1个人信息的填写和修改 |
|
3.2 成绩查询 |
3.2.1 查询各科成绩 |
||
3.3密码维护 |
3.3.1密码修改 |
||
3.4签到 |
3.4.1实现每天的签到 |
每天签到、签退各一次,多签提示。 |
|
3.4.2实现每天的签退 |
|||
3.5查看公告(同管理员的查看权限) |
3.5.1按照条件查看 |
||
3.5.2根据内容的关键字进行匹配查看 |
|||
3.6 选课管理 |
3.6.1通过课程号选课 |
||
3.6.2取消选课 |
|||
4.教师 |
4.1个人信息维护(同学生) |
||
4.2成绩管理(同管理员) |
|||
4.3密码维护(同管理员) |
|||
4.4签到(同学生) |
|||
5.注销 |
5.1退出登录 |
退出java虚拟机 |
数据库设计:
1,student(id,pass,name,birthday) 主键:id
2,admin(id,pass)主键:id
3,teacher(id,pass,name,birthday)主键:id
4,Course(id,name,tea_id)主键:id
5,sc(cou_id,stu_id,grade) id + id为主键,参照student和course
6,notice(id,title,content,time)id为主键
7,stuMark(id,arrive,leave) stu_id 和arrive为主键;stu_id参照student
8,teaMark(id,arrive,leave) tea_id 和arrive为主键;tea_id参照teacher
相应的sql语句:
CREATE TABLE student (
id varchar2(10),
pass varchar2(10),
name varchar2(10),
birthday date,
constraint s_pk primary key(id)
);
CREATE TABLE admin (
id varchar2(10),
pass varchar2(10),
constraint a_pk primary key(id)
);
CREATE TABLE teacher (
id varchar2(10),
pass varchar2(10),
name varchar2(10),
birthday date,
constraint t_pk primary key(id)
);
CREATE TABLE course (
id varchar2(10),
name varchar2(20),
tea_id varchar2(10),
constraint c_pk primary key(id),
constraint c_fk foreign key(tea_id) references teacher(id)
);
CREATE TABLE sc (
cou_id varchar2(10),
stu_id varchar2(10),
grade number,
constraint sc_pk primary key(cou_id,stu_id),
constraint sc_fk_1 foreign key(cou_id) references course(id),
constraint sc_fk_2 foreign key(stu_id) references student(id)
);
CREATE TABLE notice (
id varchar2(10),
title varchar2(20),
content varchar2(3999),
time date default sysdate,
constraint n_pk primary key(id)
);
CREATE TABLE stuMark (
id varchar2(10),
arrive date ,
leave date ,
constraint sm_pk primary key(id,arrive),
constraint sm_fk foreign key(id) references student(id)
);
CREATE TABLE TeaMark (
id varchar2(10),
arrive date,
leave date,
constraint tm_pk primary key(id,arrive),
constraint tm_fk foreign key(id) references teacher(id)
);
1.登录
1.1 用户登录
1.1.1登陆(根据帐号显示对应页面)
事件描述:用户在登录界面输入用户名和密码,选择登录用户的类型,点击登录,如果登录成功就跳转到相应的页面,登录失败就提示。
分析:
1, 在文本框内输入用户名和密码;选择登录用户的类型;
2, 查找对应的表,通过getById获得password,验证密码是否一致;
3, 一致则登录成功,提示登录成功,并显示相应的管理页面;
备注:
1, student(stu_id,stu_pass,stu_name,stu_birthday )
2, admin(adm_id,adm_pass )
3, getById()
4, LogView.java,AdmView.java, StuView.java
2.管理员
2.1 学生信息管理
2.1.1添加学生信息
事件描述:在textFiled中输入stu_id、stu_pass、stu_name、stu_birthday,点击提交按钮,将数据封装为一个学生对象,在数据库中检索看有没有学号重复的,如果有就提示,如果没有就插入(并提示)。
分析:
1, 填写数据,生日要特殊处理,输入是将出生年月分开获取,然后整体在dao层中转换为date;
2, 在数据库中通过getById进行检索,如果没有检索到,就添加,如果检索到就提示重复。
备注:
1,boolean add();
2.1.2 删除学生信息
事件描述:在textFiled中输入要删除学生的stu_id,点击删除按钮。
分析:
1, 将stu_id通过getById进行获取,如果获取到就删除,并提示删除学生的信息,如果没有找到就提示没有这个学生。
备注:
1,student delete(student);
2.1.3 查询学生信息
2.1.3.1查所有,根据成绩排序(指定科目)
事件描述:点击查询所有,显示所有学生的信息,并且按照成绩排序;
分析:
1,select * from (
select rownum r,ename,sal from (select * from emp order by sal))
where r between 3(star) and 5(end);
2,点击上一页,下一页,实现翻页效果。
备注:
1,List getSub(int star,int end);
2.1.3.2根据学号查询
事件描述:输入学号,通过getById获取相应的学生信息。
分析:student getById(String id);
2.1.3.3根据姓名查询[一批]
事件描述:输入姓名,通过List getByName()获取相应的学生信息
分析:List getByName();
2.2成绩管理
2.2.1成绩录入
事件描述:选择相应的课程编号;为选择相应课程的学生进行分数的录入;
分析:
1, 查找sc表中的选课信息;获取选择了指定课程id的学生;
2, 如果没有对应的课程号就提示。
备注:
1, sc(course_id,stu_id,grade) course_id+stu_id为主键。
2, List getById(String Course_id)
3, Int Update(sc obj);
4, Course(Course_id,course_name,t_name)
2.2.2 成绩修改
事件描述:获得要修改的课程号course_id、学生号stu_id和新的成绩grade;点击更新;
分析:
1, 将要更新的数据封装为一个sc对象。
2, 更新sc对应在数据库中的那个对象。
备注:
1,int update(sc)
2.2.3 成绩查询
事件描述:输入学生的学号,查询所有的成绩信息;
分析:
1,输入学号,List getGrade(String id)
备注:List getGrade(String id)
2.3管理员信息管理
2.3.1密码修改
事件描述:输入原来的密码,输入两次新的密码,点击修改密码按钮。
分析:如果原来的密码与数据库中的一样并且两次输入的密码也相同就更新数据;
备注:
1,admin getbyId(String id);
2,update();
3,control中的全局id;
2.4课程管理
2.4.1添加课程
事件描述:输入Course_id(课程id),course_name(课程名),t_name(授课老师)
分析:getbyid()先查找又没有相同的记录,如果有就提示已经有相同的记录,如果没有就插入add()
2.4.2删除课程
事件描述:输入要删除课程的课程号,点击删除;
分析:course delete(course);
备注:如果course为空就提示没有这个课程;
2.4.3 修改课程
事件描述:获取输入的Course_id(课程id),course_name(课程名),t_name(授课老师),点击修改
分析:int update(course c)
2.4.4 查询课程
事件描述:getbyid(String course_id);
getsub(int starRow ,int endRow);
2.5公告管理
2.5.1 发布公告
事件描述:输入标题title,内容content,时间time;点击发布按钮;
分析:notice(no,title,content,time)
2.5.2 修改公告
事件描述:int update(notice n)
2.5.3 删除公告
事件描述:notice delete(notice n)
2.5.4查看公告
2.5.4.1按照条件查看
事件描述:
基本流:
备选流:
2.5.4.2根据内容的关键字进行匹配查看
事件描述:notice selectbyname(String title);模糊查找
3.学生
3.1个人信息维护
3.1.1个人信息的填写和修改
事件描述:通过全局的id获取登录用户的信息getById(String id);
int updata(student stu)
基本流:
备选流:
3.2 成绩查询
3.2.1 查询各科成绩
事件描述:List getGrade(String id)
基本流:
备选流:
3.3密码维护
3.3.1密码修改
事件描述:
1,student getbyId(String id);
2,boolean update();
3,control中的全局id;
3.4签到
3.4.1实现每天的签到
事件描述:sign_in(stu_id,arrive,leave) stu_id 和arrive为主键;
分析:1,boolean add(signFrom sign)
3.4.2实现每天的签退
事件描述:int update(signFrom sign)
基本流:
备选流:
3.5查看公告(同管理员的查看权限)
3.6选课管理
3.6.1通过课程号选课
事件描述:boolean add(sc sscc)
3.6.2取消选课
事件描述:sc delete(sc)
4.教师(略)
5.注销
5.1退出登录
事件描述:点击退出登录,退出系统。
分析:也就是退出java虚拟机。
相关类的搭建:
domain:
1,Student
2,Admin
3,Teacher
4,Course
5,SC
6,Notice
7,StuMark
8,TeaMark
------------------------------------------------
Dao:
1,IBaseDao
obj getById(String id)
int add();
int delete(obj);
int Update(obj)
public abstract int add(E e);
public abstract int delete(E e);
public abstract int update(E e);
public abstract E getById(String id);
--------------------------------------------------
2,IStuDao:(StuDaoImpl)
student表特有操作:
List getByName();
3,ITeaDao:(TeaDaoImpl)
List getByName();
4,ICouDao:(CouDaoImpl)
List getSub(int star,int end);
5,ISCDao:(SCDaoImpl)
sc表特有操作:
List getGrade(String stuid)
List getSub(int star,int end);查找多条记录是会使用到
6,INoticeDao:(NoticeDaoImpl)
notice表特有操作:
notice selectbyname(String title);模糊查找
7,IStuMarkDao:(StuMarkImpl)
8,ITeaMarkDao:(TeaMarkImpl)
------------------------------------------------
IServer:
1,<E> E Login(E e):登录
2,<E> boolean add(E e):添加对象
3,<E> E delete(E e):删除一个对象
4,<E> list<E> getSub(E e,int star,int end):分页效果,查询所有
5,<E> E getById(E e,id):通过id查询
6,<E> List<E> getByName(E e):根据学生的姓名查询学生(教师,公告<这里要判断一下> );
7,<E> boolean updatePass(E e,String newpass);修改密码;
8,<E> int update(E e);更新一个对象;
相关推荐
【标题】"教务管理系统demo-java.zip"是一个基于Java编程语言开发的教务管理系统演示版本。这个系统可以作为模板,方便开发者进行二次开发,以适应不同的教务管理需求。 【描述】提到,该系统是使用Java集成开发...
总结来说,“三层架构的教务管理系统”是一个采用VS2010和SQL2008构建的高效、灵活的教育管理平台,通过分离UI、BLL和DAL,实现了良好的模块化设计,使得系统更容易维护和升级。开发者可以根据具体需求,对每一层...
【Java青果教务系统模拟登陆demo】是一个基于Java编程语言实现的教学管理系统登录模拟程序。这个项目的主要目的是演示如何通过编程技术与青果教务系统进行安全交互,从而实现自动登录的功能。在这个过程中,开发者...
这是一个基于Vue2.x和Koa2.0框架构建的学校教务管理系统的示例项目,名为"vue-koa-iview-demo"。该项目利用了现代前端技术和后端框架,为教育机构提供了一种可能的数据管理和操作平台。让我们深入探讨这个项目所涉及...
这个“安卓登录注册相关-一个实现教务系统模拟登录的APP Demo”提供了一个实际的示例,帮助开发者了解如何在安卓环境中实现这样的功能。 首先,登录注册通常涉及以下几个核心组件: 1. 用户界面(UI):这是用户与...
在实际应用中,"DEMO"还有可能与其他教育管理系统集成,如成绩管理系统、教务管理系统,实现数据共享,提高整体的教育信息化水平。同时,未来的发展趋势可能会加入更多的智能化元素,比如个性化推荐、智能排课等,...
列举了15个JavaWeb和JavaSE小项目:有SSM的、SpringBoot+Mybatis的、纯JavaSE+JavaFX的。对初学者非常友好,感兴趣的同学拿去学习。 1、汽车租赁管理demo 2、教务信息查询管理demo ...15、旅游管理系统demo
UPR教务系统模拟登录是针对特定教务管理系统设计的一款应用程序Demo,它的主要功能是帮助用户无需通过网页浏览器,直接在APP中实现对教务系统的安全登录和信息查询。这款APP适用于那些希望便捷访问学校教务信息的...
自己做的学生管理系统。系统简洁实用,每句话都是自己写的,特别适合初学者参考。本人负责任地声明:1、该系统绝对是自己写的。2、该系统绝对能运行!(不能运行的话甘愿受骂!)3、请一定要配置好数据源(最重要!...
结合标签“综合资源”和提供的压缩包文件名称“springboot-vue-demo-master”,深入讲解如何利用Spring Boot和Vue.js这两个主流的开发框架来构建一个简化版的教务系统。 首先,Spring Boot是Java领域的一种微服务...
5. **MySQL数据库**:MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理教务系统中的数据,如学生信息、课程信息、考试成绩等。SQL(结构化查询语言)用于与数据库交互,进行数据的增删改查操作。 6. **...
【标题】"针对武昌首义学院的新版正方教务系统查询后台系统-servlet.zip" 描述了一款基于Java Web技术开发的教务管理系统,主要用于武昌首义学院的教务信息查询。该系统利用了Servlet框架进行构建,同时结合了MySQL...
在这个"idea采用ssm+oracle+crud demo(class-student-teacher)"项目中,开发者使用了这些技术来实现一个简单的教务管理系统,涉及到学生(Student)、班级(Class)和教师(Teacher)三个实体对象的CRUD(创建、...
学生管理系统是教育机构信息化建设的重要组成部分,它能够有效地整合、管理和追踪学生的信息,提高管理效率,减轻教务人员的工作负担。本系统是一个基于Windows Forms(Winform)开发的快速演示应用,其数据库后端...
在学校成绩管理系统中,用户包括学生、教师,管理人员,有学生、教师和管理人员三大角色,教师角色又可细化普通教师和具有管理职能教师,如班主任、年级主任、教务人员等,系统的权限就是系统提供给用户的功能。...
6. **应用场景**:WebMis适用于各种需要快速搭建后台管理系统的场合,如企业内部管理系统、电商平台后台、教育机构的教务系统等。开发者只需要定义好数据模型,系统就能自动生成大部分代码,使开发者能更专注于业务...
随着高校的发展,在教务管理系统中使用的排课模型也变得越来越复杂,针对遗传算法排课中存在的初始解生成不合理及一周多学时课程不好安排的问题,为了避免同一门课程在一周内的不合理上课情况。针对这种情况,给出了...
标题中的“登记管理系统,源代码 纯java实现界面交互”揭示了这是一个使用Java编程语言构建的系统,其主要功能集中在用户界面的交互性上,主要用于数据的登记管理。这个系统可能包括添加新记录、修改现有记录、查找...
总的来说,学生信息选课管理系统结合了Java的后端开发能力和Vue的前端展示技术,构建了一个高效、稳定的选课平台。然而,根据提供的信息,系统可能还需要进一步完善,如增加登录功能、优化用户体验、增强安全措施等...