工程实践项目学生信息管理系统.docx
《工程实践项目学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《工程实践项目学生信息管理系统.docx(12页珍藏版)》请在冰点文库上搜索。
工程实践项目学生信息管理系统
工程实践项目
(一)
------学生信息管理系统
一、系统需要实现功能
1、能够使用户登录,并注册、浏览、修改、查询用户基本信息
2、能够够使用户注册、浏览、修改、查询学生基本信息
3、能够够使用户注册、浏览、修改、查询学生成绩基本信息
二、功能实现模块
1、用户ORM管理模块------用户数据各种操作功能
2、学生ORM管理模块------学生各种操作功能
3、学生ORM成绩管理模块------学生成绩各种操作功能
4、用户逻辑控制管理模块------控制用户的各种操作功能
5、学生逻辑控制管理模块------控制学生的各种操作功能
6、学生成绩逻辑控制管理模块------控制学生成绩的各种操作功能
三、系统架构
四、实现方法
1、创建系统用户数据类(javaBean):
User
2、创建系统学生数据类(javaBean):
Student
3、创建系统学生成绩数据类(javaBean):
Grade
4、创建用户操作数据ORM类:
UserDAO
5、创建学生操作数据ORM类:
StudentDAO
6、创建学生成绩操作数据ORM类:
StuGradeDAO
7、创建控制层操作数据类:
StudentData
8、创建显示层操作数据(Jsp页面):
*.jsp页面
五、数据库表
1、用户信息表:
USER_INFO
2、学生信息表:
STUDENT_INFO
3、学生成绩表:
GRADE_INFO
六、实现步骤
(一)创建数据库student(名)
1、创建数据库表
USER_INFO表
STUDENT_INFO表
GRADE_INFO表
2、测试所创建的数据库表
用3条SQL语句:
测试表USER_INFO:
INSERTINTOUSER_INFO(ID,NAME,USERNAME,PASSWORD)VALUES(17,'姓名','username','password')
测试表STUDENT_INFO:
INSERTINTOSTUDENT_INFO(ID,IDENTIFY,NAME,SEX,BIRTH_DAY,ADDRESS,TELPHONE,MEM)VALUES(1,'0000000000000000','name','F','1980-2-9','address','telphone','mem')
测试表GRADE_INFO:
INSERTINTOGRADE_INFO(ID,IDENTIFY,NAME,GRADE,INTERNET,WIN_CE,C,JAVA)VALUES(1,'10101010101010','name','2G',88,99,67,90)
(二)创建工程和类包名
创建工程文件:
jsfmvcdemo
创建包名:
pojo、dao
1、创建javaBeans类
1)在包pojo下创建User类:
属性:
privateStringusername=null;
privateStringpassword=null;
privateIntegerid;
privateStringname=null;
privateStringnewPassword=null;
方法:
setX/getX
2)在包pojo下创建Student类:
属性:
privateStringidentify=null;
privateStringname=null;
privateStringsex=null;
privateStringbirthday=null;
privateStringaddress=null;
privateStringtelephone=null;
privateStringmem=null;
privateIntegerid=null;
privateintnum=0;
方法:
setX/getX
3)在包pojo下创建Grade类:
属性:
privateIntegerid=null;
privateStringidentify=null;
privateStringname=null;
privateStringgrade=null;
privatefloatinternet;
privatefloatwince;
privatefloatc;
privatefloatjava;
方法:
setX/getX
2、创建系统功能接口
在dao包下定义创建3个接口:
1)IUser//需要inportpojo.*;
抽象方法:
publicIntegeraddUser(Useruser)throwsException;
publicbooleanchangePassword(Stringusername,StringoldPass,StringnewPass)throwsException;
publicIntegergetUserId()throwsException;
publicUserlogIn(Stringusername,Stringpassword)throwsException;
publicvoidlogout();
2)IStudent//需要inportpojo.*;
抽象方法:
publicIntegeraddStudent(Studentstudent)throwsException;
publicStudent[]getAllStudents()throwsException;
publicStudent[]getByTimeSearch(StringstartTime,StringendTime)throwsException;
publicStudentgetStuByIdentify(Stringidentify)throwsException;
publicStudentgetStudent(intid)throwsException;
publicStudent[]getStudentByIdentify(Stringidentify)throwsException;
publicStudent[]getStudentByName(Stringname)throwsException;
publicStudent[]getStudentByNameSex(Stringname,Stringsex)throwsException;
publicStudent[]getStudentByTelephone(Stringtelephone)throwsException;
3)IGrade//需要inportpojo.*;
publicIntegeraddGrade(GradenewGrade)throwsException;
publicGrade[]getAllGrades()throwsException;
publicGrade[]getGradeByIdentify(Stringidentify)throwsException;
publicGradesearchGrade(Stringidentify)throwsException;
3、创建实现接口的访问数据库类DBAccess类
在包dao下创建DBAccess类,impoertpojo.*;
要求实现三个接口:
IUser、IStudent、IGrade
publicclassDBAccessimplementsIUser,IStudent,IGrade{…}
4、在包dao下创建类StudentData,包装DBAccess类的所有方法
publicclassStudentData{…}
类StudentData是一个比较复杂的javaBean,因此所需要的属性均需一对setX/getX方法
1)创建WebModule上下文,在创建过程选择Tomcat5.0应用服务器,并同时选择JSF架构,并且
importjava.util.*;
importjavax.faces.model.*;
importjavax.faces.context.*;
importjavax.faces.application.*;
importjavax.naming.*;
注意:
创建WebModule时一定要选择JSF,否则上面几个包将不会出现包选项列表中,会报错。
1)属性:
下列属性是用来和Jsp页面交互信息的
DataModelstudentsModel;//用来将所有学生数据交给Jsp页面
DataModeluserModel;//用来将所有用户数据交给Jsp页面
DataModelgradesModel;//用来将所有学生成绩数据交给Jsp页面
DBAccessoperationDB;//用其所有ORM方法访问数据库
StudentnewStudent=newStudent();//一个需要注册的新学生对象
StudentcurrentStudent=null;//正在操作的当前学生对象
GradecurrentGrade=null;//正在操作的当前学生成绩对象
Student[]students=null;//存放所有当前正在操作的当前学生对象
Grade[]grades=null;//存放所有当前正在操作的当前学生成绩对象
UsernewUser=newUser();//一个需要注册的新用户对象
UsercurrentUser=null;//用来代表当前用户
User[]users=null;//存放所有用户对象
privateStringgrade=newString();
privateStringstudent=newString();
privateStringuser=newString();
privateStringusername=newString();//用户名
privateStringpassword=newString();//密码
privateIntegerstudentCount;
privateIntegergradeCount;
privateListstudentList=null;//学生对象列表
privateListgradeList=null;//学生成绩对象列表
privateIntegerstudentId;//学生ID对象
privateIntegeruserId;//用户ID对象
privateIntegergradeId;//学生成绩ID对象
privateInteger[]userIdx;
privateStringname;
privateStringsex;
privateStringss=null;
privateStringstartTime=null;//起始时间
privateStringendTime=null;//结束时间
privateStringidentify=null;
privateStringtelephone=null;
privateStringchOK=null;
privateStudentchStudent=null;
privateGradenewGrade=newGrade();//学生成绩对象
2)所有属性对应的setX/getX方法
3)不带参数但需要返回String类型的方法,用作事件控制驱动
(三)测试类实现功能
在包dao下创建类Test,其中包含main()函数。
5、分别测试DBAccess类实现的每个方法。
测试方法是对每一个方法编写一个测试方法,例如zaiDBAccess中编写的方法是addStudent(Students),那么在测试类Test中相应的测试方法为
publicvoidtestAddStudent(){。
。
。
}
6、分别测试StudentData类的每个方法
测试方法的编写同5
(四)创建Jsp页面
要求用JSF技术实现jsp页面的编写。
需要编写的页面有:
7、创建步骤
1)创建WebModule上下文,将所有创建的jsp页面存放到其下的WEB-Info目录下
2)创建每个jsp页面时。
需要选择JSF选项。
3)配置faces-config.xml文件,用来控制交互业务逻辑。
3)做好每一个页面进行测试。
8、
七、项目评估