⑴ java学生选课系统
学生选课系统的设计与实现摘要本文以一个具体的应用系统—学生选课信息系统的设计与实现来说明如何利用UML和EJB组件来设计和构建分布式软件系统平台。UML和组件技术结合使用能提高开发效率,增加系统的易维护性。关键词UML;EJB;实例1引言现在信息管理系统软件的开发,采用组件技术可以提高效率,信息管理系统的分析设计也采用UML来进行。两者的结合可以极大的提高开发效率,保证系统开发的易维护性。本文用UML这种设计方法和EJB这种组件技术来设计和实现一个系统。2系统分析本系统设计为学生通过网页登陆学校网站,进行选课。下面用用例图来说明该系统要实现的功能。2.1用例图2.2系统总体结构图本系统采用三层体系结构,分为表示层,事务处理层,数据存储层。三层结构层次清晰,易维护。图3类图学生选课系统涉及到三个实体类学生,课程,以及学生和课程之间的一个一对多关系类。对每一个类,映射到一张表。学生类和课程类用Container-ManagedEntityBean实现,学生和课程间的一对多关系类,用Bean-ManagedPersistence的EntityBean实现。再设计一个SessionBean对学生选课过程进行控制。页面显示部分用JSP实现。3数据库设计学生表对应学生实体,详细内容如下表1学生表关联表对应学生和课程间的一对多关系,详细内容如下研究开发4实现4.1SessionBean的设计4.1.1定义HomeInterface4.1.2定义{//-----//这是一个基于SessionBean的Remote接口,这个SessionBean是基于//Stateful的SessionBean,用来对特定学生选课的登记过程进行操作//-----------------------------publicStringgetStudentName()throwsRemoteException;publicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tion;publicvoinenroll()throwsRemoteException;publicvoiddeleteStudent()throwsFinderException,RemoteEx-ception;publicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion;}4.1.3Client获取HomeInterface和RemoteInterface的参考方式,我们使用JNDI机制来获取Home接口和Remote接口的对象参考。4.1.4定义回调方法4.1.5实现远程数据库的连接使用JNDI机制,通过数据库的JNDI名称javacomp/env/jdbc/StudentCourseDB来连接后台数据库。4.1.6SessionBean方法实现//定义变量publicStudentHomesHome;publicEnrollHomeeHome;publicStringstudent_id;publicStringname;//回调方法实现publicvoidejbCreate(Stringstudent_id)throwsCreateException{try{Studentstudent=sHome.findByPrimaryKey(student_id);name=student.getName();}catch(ObjectNotFoundExceptione){thrownewCreateException(Student+student_id+notfoundinStudentTBL!);}catch(Exceptione){thrownewEJBException(e.getMessage());}this.student_id=student_id;}//商业方法实现publicvoidenroll(ArrayListcourseItems){Enrollenroll=null;try{enroll=eHome.findByPrimaryKey(student_id);}catch(Exceptione){}try{if(enroll!=null){enroll.replaceCourseItems(courseItems);}else{eHome.create(student_id,courseItems);}}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoinenroll(){try{Enrollenroll=eHome.findByPrimaryKey(student_id);enroll.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}//涉及到对两张表的删除。publicvoiddeleteStudent()throwsFinderException{try{Enrollenroll=eHome.findByPrimaryKey(student_id);Studentstudent=sHome.findByPrimaryKey(student_id);enroll.remove();student.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoiddeleteCourse(Stringcourse_id){PreparedStatementps=null;try{getConnection();StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?andcourse_id=?;ps=con.prepareStatement(deleteStatement);ps.setString(1,student_id);ps.setString(2,course_id);ps.executeUpdate();}catch(Exceptione){thrownewEJBException(e.getMessage());}finally{try{ps.close();con.close();}catch(Exceptione){thrownewEJBException(e.getMessage());}}}4.2EntityBean的设计我们以关联表(EnrollTBL)对应的实体Bean为例进行说明,它涉及到两个表的一对多关系。4.2.1定义Home接口4.2.2定义{//---------------//这是一个基于EntityBean的Remote接口,这个EntityBean是基于//Bean-ManagedPersistence的EntityBean,用来对EnrollTBL表进行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteException;publicStringgetStudent_id()throwsRemoteException;publicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException;}4.2.3变量定义publicStringstudent_id;publicArrayListcourseItems;4.2.4增加数据记录实现publicStringejbCreate(Stringstudent_id,ArrayListcourseItems)throwsCreateException{if(courseItems==null||courseItems.size()==0){thrownewCreateException(ejbCreateexception!);}this.student_id=student_id;try{enroll(courseItems);}catch(Exceptione){thrownewEJBException(ejbCreateexception+e.getMessage());}this.courseItems=courseItems;returnstudent_id;}//根据学生ID,插入课程项。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?);PreparedStatementps=con.prepareStatement(insertStatement);try{//------------//依次将所有的课程项目插入EnrollTBL表//------------------ps.setString(1,this.student_id);for(inti=0;i<courseItems.size();i++){Stringcourse_id=(String)courseItems.get(i);ps.setString(2,course_id);ps.executeUpdate();}}finally{ps.close();}}//根据学生ID,删除课程项privatevoinenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?;PreparedStatementps=con.prepareStatement(deleteStatement);try{ps.setString(1,student_id);ps.executeUpdate();}finally{ps.close();}}5部署和运行5.1部署程序5.1.1部署StudentEntityBean,设置事务属性,生成部署文件。5.1.2同样,再部署其他三个EJB组件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。5.1.3部署web组件5.1.4部署整个应用程序5.2运行启动J2EE服务器,启动数据库服务器,打开浏览器。学生登录,即可选课。6结论组件技术使得复杂的多层结构应用系统开发变得容易。采用组件技术能提高开发人员的效率,降低软件的开发和维护成本,提高软件的质量,控制所构建系统的复杂性。UML设计方法的使用能提高软件设计的效率和保证设计的规范性。参考文献[1]CraigLarman.UML和模式应用-面向对象分析与设计导论[M].北京机械工业出版社,2003.10-100.[2]刘特.J2EEEJB应用编程实例[M].北京清华大学出版社,2003.90-150.[3]GeriSchneider.用例分析技术[M].北京机械工业出版社,2003.1-98.
-----------------------------------------------
谢谢请采纳:
不能发连接啊,请在网络
搜索‘珍惜知识网’点进去就是了[ORDA]
⑵ JAVA学生选修课管理系统
你写的是java学生选修课管理系统
到了要求哪里:1.系统利用C、C++程序设计语言实现。
没救了.
⑶ 我是JAVA初学者,要做个学生选课系统
需求分析→定义实体类→做好相关界面(图形界面或web网页)→根据界面上的功能要求完成功能实现→测试→完成
PS:以上只是一般流程,你的系统降低难度的话就不做网络版,应该还是很简单
补充:思路很简单,先把学生选课需要的功能列出来,再把程序应该处理的事情及功能列出来,根据需要把几个实体类的属性设计出来,就是class Student ,class Course ,class TextCourse,然后按照列出的功能需要改变的属性值来在每一个实体类里提供相应的方法,最后写一个测试类(含有main方法)调用这些方法(相当于使用功能)。
没有看到具体要求,特别细的思路也写不出来(也没那么多时间),将就下吧~汗~
⑷ java编程(学生选课系统)
您需要用简洁明了的文字在这里将问题描述清楚,让回答者更加明确的知道您的难疑
比如您的问题还不能描述清楚,请点击展开“问题补充”,
详细叙述您的疑惑,
并可以插入图片来帮助回答者更明确的清楚你的疑惑,
更有针对性地帮助你。
我们可以针对你的需求提供一份适用于初学者的代码,或学生版/个人版/专业版/企业版
您需要留下Email地址,以便回答者更好的解决你的问题
为获取帮助,您可以发送消息到:六伍柒幺伍六幺五('幺'读yao,一声,'柒'同 '七'),QQ
您还可以通过向我们发起求助的方式主动去寻求我们的帮助。
如果您对回答不甚满意,希望继续对回答者进行追问了解详情时,
可点击回答内容下方的“继续追问”按钮
请您切记为您的问题选择一个最恰当的分类,
因为只有这样,您的问题才能在第一时间内得到正确解答。
交易提醒:预付订金是诈骗
⑸ JAVA是专业限选课吗
是专业限选课。
基于java所写的学生选课管理系统,概述,项目,背景,随着学校的规模不断扩大,学生数量急剧增加,面对庞大的信息量需要有一个学生管理系统来提高学生管理工作的,通过学生选课管理信息系统可以做到信息的规范管理、科学统计和快速_询、修改、增加、删除等,从而实现管理方面的工作量。
目前社会上信息管理系统发展飞快,各个企业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也有了很大的发展,商业化的管理软件也是日益增多。
⑹ 基于JAVA的学生信息管理系统
2、教学管理:教学信息管理模块主要实现各种与教学相关信息的设置和维护的操作,包括以下几方面的内容:院系设置、专业设置、年级设置、班级设置、学期设置、课程开设等 3、学籍管理:学生学籍管理模块主要实现对学生基本信息的设置和维护,提供学生信息的录入和查询页面,并对学生班级更改情况进行维护等,它包括以下几方面的内容:学生基本信息维护和查询、学生增减、批量导入学生信息并自动生成学号。 其中,学生基本信息的录入、维护和查询统计功能是每个学生必须完成的功能,而学生增减和批量导入学生信息并自动生成学号则是有能力的学生可以在时间充裕的前提下进一步完成。 4、成绩管理:学生成绩管理模块主要实现对学生选修课程以及所选课程的成绩信息的设置和维护。 它包括以下几方面的内容:学生选课管理、学生成绩管理两部分。销售管理系统的主要任务是建立、维护客户信息档案、统计、汇总产品信息,进行定单的录入、维护等。要求编写Java GUI程序实现上述功能。 3 课程设计报告书主要内容1 需求分析2 总体设计2.1 设计的总体思想与算法描述 2.2 模块结构图 2.3 各功能模块的功能与处理流程描述 2.4 界面设计 3 各功能模块程序设计 按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句的注释. 4 小结4 课程设计要求 1 按时到机房签到,在指定机位上机。遵守机房纪律。 2 独立完成课程设计任务。指导教师到机位上指导学生和分时段验收学生完成的程序。 3 按时提交打印的课程设计报告书。 5 课程设计参考书 1 许文宪 懂子建. Java程序设计教程与实训 北京:北京大学出版社,2005. 2 辛运帏 .Java程序设计.北京:清华大学出版社, 2004 3 蔡翠平 .Java程序设计.北京:清华大学出版社,2003
⑺ 你好,“求java连接数据库实现学生选课管理系统 ”这个题目,求解答,很急呀,万分感谢了
driver = org.gjt.mm.mysql.Driver//构建外部路劲
url = jdbc:mysql://localhost:3306/users/*数据库名*/?useUnicode=true&characterEncoding=utf8
username = root//用户名
password =8638406//密码
希望对你有帮助
⑻ Java:做一个学生管理系统要做些什么啊
下面是我前不久做的一个系统,你可以参考一下:
课程管理系统确认项目系统建设方案
2008年4月21日星期一
1. 项目背景
随着高校信息化的发展,不论是老师还是学生都有课程上网的需求。课程上网后。一方面会有利于学生经常反复阅读教学计划和教学内容,更好地领会老师教学设计的用意,在一定程度上减轻学生记笔记和听课不能兼顾的问题,另一方面也有利于老师对网上课程内容的不断更新,便于老师改进教学,同时因为课程管理系统提供了方便的教学管理工具,老师教学的效率会大大提高。
2. 功能模块
�8�5 操作员管理
只有系统管理员可以添加操作员,添加成功后便可以访问课程管理系统。添加的操作员具有不同的角色,分为教师与学生两种。
�8�5 课程管理
教师特有权限,可以在互连网上直接对课程进行相应增、删、改操作。
�8�5 学生成绩信息管理
教师特有权限,可以在互连网上直接对学生成绩信息进行相应增、删、改操作。
�8�5 学生成绩查询
学生登录后只能查询自己的成绩信息。
3. 系统特色
�8�5 技术的先进性
采用B/S(JAVA)技术架构、大型SQL数据库技术使得系统在技术上处于绝对领先地位。
�8�5 完善的网络化管理策略
系统充分利用局域网和Intranet的网络化优势,使得学校各教学岗位的教师对学生的管理实现网络化,学生也可通过网络得到与自己相关各项数据。
4. 方案设计
�8�5 软件架构设计
本方案采用MVC三层架构,用户使用浏览器以WEB方式使用系统的各个功能;业务层提供系统的各项功能与服务,包括操作员管理、课程管理、学生成绩信息管理与学生成绩查询;业务层使用持久层组件来实现系统的各种业务数据的持久化。EIS层提供了数据的保存等工作。
�8�5 业务概述
系统管理员添加操作员成功以后,此操作员便可以登陆课程管理系统网站进行相应操作。此时系统将判断登陆的操作员角色,如果为教师,那么他能够对课程信息做相应增、删、改操作。还可以对学生课程信息进行相应增、删、改操作。如果为学生,那么他只能够查询自己的课程成绩信息。
�8�5 关键技术
1) Struts框架:完美的MVC实现,便于日后系统的扩展。
2) Hibernate持久层框架:使用Hibernate技术实现系统数据持久化,同时简化了数据的操作,使业务逻辑更加清晰。
⑼ 请教JAVA问题(学生选课系统)
这也算是一个权限控制
比较简单的 就是你设定2个权限
一个就是普通的学生的
另一个就是管理员的,
根据权限开放给他们相应的功能即可