学生注册系统源代码打印版.docx
- 文档编号:14620084
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:81
- 大小:69.95KB
学生注册系统源代码打印版.docx
《学生注册系统源代码打印版.docx》由会员分享,可在线阅读,更多相关《学生注册系统源代码打印版.docx(81页珍藏版)》请在冰点文库上搜索。
学生注册系统源代码打印版
学生注册系统需求规范
为大学开发一个学生注册系统(SRS)。
这个系统可以使学生在线注册每个学期的课程,也可以用于跟踪学生的学习进展,直到其获得学位。
当学生被大学录取后,学生通过SRS建立学习计划,即确定满足特定学位所需要的课程,并选择一名导师。
SRS检验所提出的学习计划是否满足该生所需获得的学位的要求。
一旦建立了学习计划,则在以后每个学期注册期间,学生都可以在线查看课程计划,选择要选修的课程,如果课程由多名教授讲授,则还可以指定听课时间(每周星期几,每天什么时间听课)。
SRS要参考学生所完成课程的成绩单(学生可随时查看自己的成绩单),检验学生是否满足所申请课程必要的预修条件:
(a)所要求的预修课程已经满足;
(b)课程满足该学生学习计划要求之一;
(c)每个课程尚有空位,则学生可以参加听课。
学生最迟可以在学期的第一个星期决定退出所选的课程。
学生注册系统UML图
//Course.java-Chapter14,Java5version.
//AMODELclass.
importjava.util.ArrayList;
importjava.util.Collection;
publicclassCourse{
//------------
//Attributes.
//------------
privateStringcourseNo;
privateStringcourseName;
privatedoublecredits;
privateArrayList
privateArrayList
//----------------
//Constructor(s).
//----------------
publicCourse(StringcNo,StringcName,doublecredits){
setCourseNo(cNo);
setCourseName(cName);
setCredits(credits);
//Notethatwe'reinstantiatingemptysupportCollection(s).
offeredAsSection=newArrayList
prerequisites=newArrayList
}
//------------------
//Accessormethods.
//------------------
publicvoidsetCourseNo(StringcNo){
courseNo=cNo;
}
publicStringgetCourseNo(){
returncourseNo;
}
publicvoidsetCourseName(StringcName){
courseName=cName;
}
publicStringgetCourseName(){
returncourseName;
}
publicvoidsetCredits(doublec){
credits=c;
}
publicdoublegetCredits(){
returncredits;
}
//-----------------------------
//Miscellaneousothermethods.
//-----------------------------
publicvoiddisplay(){
System.out.println("CourseInformation:
");
System.out.println("\tCourseNo.:
"+getCourseNo());
System.out.println("\tCourseName:
"+getCourseName());
System.out.println("\tCredits:
"+getCredits());
System.out.println("\tPrerequisiteCourses:
");
for(Coursec:
prerequisites){
System.out.println("\t\t"+c.toString());
}
//Noteuseofprintvs.printlninnextlineofcode.
System.out.print("\tOfferedAsSection(s):
");
for(Sections:
offeredAsSection){
System.out.print(s.getSectionNo()+"");
}
//Finishwithablankline.
System.out.println();
}
publicStringtoString(){
returngetCourseNo()+":
"+getCourseName();
}
publicvoidaddPrerequisite(Coursec){
prerequisites.add(c);
}
publicbooleanhasPrerequisites(){
if(prerequisites.size()>0)returntrue;
elsereturnfalse;
}
publicCollection
returnprerequisites;
}
publicSectionscheduleSection(charday,Stringtime,Stringroom,
intcapacity){
//CreateanewSection(notethecreativewayin
//whichweareassigningasectionnumber)...
Sections=newSection(offeredAsSection.size()+1,
day,time,this,room,capacity);
//...andthenrememberit!
addSection(s);
returns;
}
publicvoidaddSection(Sections){
offeredAsSection.add(s);
}
}
//EnrollmentStatus.java-Chapter14,Java5version.
//ASUPPORTenum.
//UsedbytheSectionclasstorepresentvariouspossibleoutcomesof
//anattempttoenrollbyaStudent.
publicenumEnrollmentStatus{
//Enumeratethevaluesthattheenumcanassume.
success("Enrollmentsuccessful!
:
o)"),
secFull("Enrollmentfailed;sectionwasfull.:
op"),
prereq("Enrollmentfailed;prerequisitesnotsatisfied.:
op"),
prevEnroll("Enrollmentfailed;previouslyenrolled.:
op");
//Thisrepresentsthevalueofanenuminstance.
privatefinalStringvalue;
//A"constructor"ofsorts(usedabove).
EnrollmentStatus(Stringvalue){
this.value=value;
}
//Accessorforthevalueofanenuminstance.
publicStringvalue(){
returnvalue;
}
}
//Person.java-Chapter14,Java5version.
//AMODELclass.
//Wearemakingthisclassabstractbecausewedonotwishforit
//tobeinstantiated.
publicabstractclassPerson{
//------------
//Attributes.
//------------
privateStringname;
privateStringssn;
//----------------
//Constructor(s).
//----------------
publicPerson(Stringname,Stringssn){
this.setName(name);
this.setSsn(ssn);
}
publicPerson(){
this.setName("?
");
this.setSsn("?
?
?
-?
?
-?
?
?
?
");
}
//------------------
//Accessormethods.
//------------------
publicvoidsetName(Stringn){
name=n;
}
publicStringgetName(){
returnname;
}
publicvoidsetSsn(Strings){
ssn=s;
}
publicStringgetSsn(){
returnssn;
}
//-----------------------------
//Miscellaneousothermethods.
//-----------------------------
//We'llleteachsubclassdeterminehowitwishestobe
//representedasaStringvalue.
publicabstractStringtoString();
publicvoiddisplay(){
System.out.println("PersonInformation:
");
System.out.println("\tName:
"+this.getName());
System.out.println("\tSoc.SecurityNo.:
"+this.getSsn());
}
}
//Professor.java-Chapter14,Java5version.
//AMODELclass.
importjava.util.ArrayList;
publicclassProfessorextendsPerson{
//------------
//Attributes.
//------------
privateStringtitle;
privateStringdepartment;
privateArrayList
//----------------
//Constructor(s).
//----------------
publicProfessor(Stringname,Stringssn,Stringtitle,Stringdept){
//Reusetheparentconstructorwithtwoarguments.
super(name,ssn);
setTitle(title);
setDepartment(dept);
//Notethatwe'reinstantiatingemptysupportCollection(s).
teaches=newArrayList
}
//----------------
//Accessormethods.
//----------------
publicvoidsetTitle(Stringtitle){
this.title=title;
}
publicStringgetTitle(){
returntitle;
}
publicvoidsetDepartment(Stringdept){
department=dept;
}
publicStringgetDepartment(){
returndepartment;
}
//-----------------------------
//Miscellaneousothermethods.
//-----------------------------
publicvoiddisplay(){
//First,let'sdisplaythegenericPersoninfo.
super.display();
//Then,displayProfessor-specificinfo.
System.out.println("Professor-SpecificInformation:
");
System.out.println("\tTitle:
"+getTitle());
System.out.println("\tTeachesforDept.:
"+getDepartment());
displayTeachingAssignments();
//Finishwithablankline.
System.out.println();
}
//Weareforcedtoprogramthismethodbecauseitisspecified
//asanabstractmethodinourparentclass(Person);failingto
//dosowouldrendertheProfessorclassabstract,aswell.
//
//ForaProfessor,wewishtoreturnaStringasfollows:
//
//JosephineBlow(AssociateProfessor,Math)
publicStringtoString(){
returngetName()+"("+getTitle()+","+
getDepartment()+")";
}
publicvoiddisplayTeachingAssignments(){
System.out.println("TeachingAssignmentsfor"+getName()+":
");
//We'llstepthroughtheteachesArrayList,processing
//Sectionobjectsoneatatime.
if(teaches.size()==0){
System.out.println("\t(none)");
}
elsefor(Sections:
teaches){
//NotehowwecallupontheSectionobjecttodo
//alotoftheworkforus!
System.out.println("\tCourseNo.:
"+
s.getRepresentedCourse().getCourseNo());
System.out.println("\tSectionNo.:
"+
s.getSectionNo());
System.out.println("\tCourseName:
"+
s.getRepresentedCourse().getCourseName());
System.out.println("\tDayandTime:
"+
s.getDayOfWeek()+"-"+
s.getTimeOfDay());
System.out.println("\t-----");
}
}
publicvoidagreeToTeach(Sections){
teaches.add(s);
//Weneedtolinkthisbidirectionally.
s.setInstructor(this);
}
}
//ScheduleOfClasses.java-Chapter14,Java5version.
//AMODELclass.
importjava.util.ArrayList;
importjava.util.HashMap;
publicclassScheduleOfClasses{
//Attributes.
privateStringsemester;
//ThisHashMapstoresSectionobjectreferences,usingaStringconcatenationofcourseno.
//andsectionno.asthekey,e.g.,"MATH101-1".
privateHashMap
//Constructor(s).
publicScheduleOfClasses(Stringsemester){
setSemester(semester);
//Notethatwe'reinstantiatingemptysupportCollection(s).
sectionsOffered=newHashMap
}
//Accessormethods.
publicvoidsetSemester(Stringsemester){
this.semester=semester;
}
publicStringgetSemester(){
returnsemester;
}
publicHashMap
returnsectionsOffered;
}
//Miscellaneousothermethods.
publicvoiddisplay(){
System.out.println("ScheduleofClassesfor"+getSemester());
System.out.println();
//IteratethroughallthevaluesintheHashMap.
for(Sections:
sectionsOffered.values()){
s.display();
System.out.println();
}
}
publicvoidaddSection(Sections){
//Weformulateakeybyconcatenatingthecourseno.
//andsectionno.,separatedbyahyphen.
Stringkey=s.getRepresentedCourse().getCourseNo()+
"-"+s.getSectionNo();
sectionsOffered.put(key,s);
//BidirectionallylinktheScheduleOfClassesbacktotheSection.
s.setOfferedIn(this);
}
//Thefullsectionnumberisaconcatenationofthecourseno.andsectionno.,separated
//byahyphen;e.g.,"ART101-1".
publicSectionfindSection(StringfullSectionNo){
returnsectionsOffered.get(fullSectionNo);
}
publicbooleanisEmpty(){
if(sectionsOffered.size()==0)returntrue;
elsereturnfalse;
}
}
//Section.java-Chapter14,Java5version.
//AMODELclass.
importjava.util.ArrayList;
importjava.util.HashMap;
publicclassSec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 注册 系统 源代码 打印