欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    面向对象程序设计学生选课系统项目设计书Word文件下载.docx

    • 资源ID:18482909       资源大小:272.73KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计学生选课系统项目设计书Word文件下载.docx

    1、一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码.这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私.学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和

    2、修改学生选课的基本信息,浏览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。 本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工

    3、号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、已选人数、课程性质、开课系、课程人数;系信息管理有系号和系名。本文为互联网收集,请勿用作商业用途本文为互联网收集,请勿用作商业用途(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。 (2)教师信息模块完成教师的登陆,然后根据各位教师所在的系不同,教师所教的课程不同,调用所选的课程.其中教师登陆模块的功能是验证登录人员确实是本院

    4、的教师,教师启动本系统后,系统提示输入教师工号和密码,验证后进入主控操作界面。 (3)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统。 (4)系信息管理中学生必需选重所在的系号和系名才能进行选课,否则并不能进行选课.3 场景说明场景1:“选修一门课程 一个名为Fred的学生成功选修了一门课程,事件顺序如下:1. Fred,一名学生,登入SRS2。 他查看本学期的课程表,决定要选修的课程.3。 Fred申请课程“对象入门”的选修资格,课程代码是OBJ101.4。 系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设学生不允许参加学习计划之外

    5、的课程).5。 系统检查他的成绩单,确保他已经修完了先修课程-如果存在的话。6。 确认该门课程有空余选修名额。7. 这门课程被添加到Fred的课程列表中. 从Fred的角度看来,他希望发生这些事情:在登录进入SRS后,从可选课程列表中选择课程OBJ101然后点击“添加”按钮。场景2:“选修一门课程2” 1。 Fred,一名学生,登入SRS 2。 他查看本学期的课程表,决定要选修的课程. 3. Fred申请课程“对象入门的选修资格,课程代码是OBJ101. 4。 系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设学生不允许参加学习计划之外的课程)。 5. 系统检查他的成绩单,检查他

    6、没有修完了先修课程,他不能选修该课程。场景3:“退选一门课程” 1. Fred,一名学生,登入SRS 2. 他查看本学期的课程表,决定要退选的课程。 3。 Fred 退选课程“对象入门”的选修资格,课程代码是OBJ101. 4. 从可选课程列表中选择课程OBJ101然后点击“drop”按钮。三:软件设计文档:1。学生选课系统(SRS)UML图:场景1的界面场景1的协作图:4场景1的时序图:调和测试 在这一节中,我们主要讨论了两个问题,一个是系统的项目文档,另一个是系统的测试,下面我们分别加以说明.作为一个完整的系统,项目文档是其中不可缺少的部分也是相当重要的部分。好的文档能够使用户快速了解并准

    7、确的使用系统的各项功能。减少误操作,减少错误产生的可能,这对用户和开发人员都有很多的好处.查看问题描述的执行概要;类图;数据字典;用例文档;重要场景和对应的消息追溯图。由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确. 四、核心代码操作概念文档我们创建的SRS有以下功能:1,当GUI开始运行,本学期课程表上可用的课程将会被显示.2,在一个学生使用SRS GUI前,他必须登录。登录的动作是填写学号.3,如果学生已经登录,将显示学生的姓名和选修的课程(也就是学生目前的课程表)。4,在登录后,SRS GUI应该允许学

    8、生做以下动作: 从课程表中选择一门课程添加到他的课程表中 从课程表中删除一门课程 保存目前的课表到一个文件 从系统注销基于SRS需求规格说明书的类列表1.Person类:(1)Person类的字段:public abstract class Person private string name; private string ssn;(2)Person类的构造器;public Person(string name, string ssn) this.Name = name; this.Ssn = ssn; (3)Person的Tostring()方法:public abstract overr

    9、ide string ToString();(4)Person类的Display()方法:public virtual void Display() Console。WriteLine(Person Information:);tName:” + this.Name); Console.WriteLine(tSoc.Security No。:” + this.Ssn);2.Student类:(1)Student类继承自Person类:public class Student : Person (2)Student类的字段:private string major; private string

    10、 degree; private Transcript transcript; private ArrayList attends; private string password;(3)Student类的构造器 public Student(string name,string Ssn,string major,string degree):base(name,ssn) this.Major = major;this.Degree = degree;this 。Tanscript=new Tanscript(this);attends=new ArrayList(); (4)Student的

    11、Property:public string Major get return major; set major = value; public string Degree return degree; set degree = value; public Transcript Transcript return transcript; transcript = value; public string Password return password; password = value;(5)Display方法:public override void Display() base.Disp

    12、lay();Student-Specific Information:tMajor: ”+this。Major);tDegree: +this.Degree); DisplayCourseSchedule(); PrintTranscript(); (6)AddSection方法:public void AddSection(Section s) attends。Add(s);(7) DropSection方法: public void DropSection(Section s) Remove(s);Professoer类:(1)Professor类的字段:private string ti

    13、tle; private string department; private ArrayList teaches;(2)AgreeToTeach()方法: public void AgreeToTeach(Section s) teaches.Add(s); s。Instructor = this;Course类:(1)Course类的字段:private string courseNo; private string courseName; private double credits; private ArrayList offeredAsSection; private ArrayLi

    14、st prerequisites;(2)Course类的方法:public void AddPrerequisite(Course c) prerequisites.Add(c);(3)HasPrerequisites方法:public bool HasPrerequisites() if ( prerequisites.Count 0 ) return true; else return false;(4) GetPrerequisites()方法: public IEnumerator GetPrerequisites() return prerequisites.GetEnumerato

    15、r();5.Section类:(1)Section类的字段:private int sectionNo; private char dayOfWeek; private string timeOfDay; private string room; private int seatingCapacity; private Course representedCourse; private ScheduleOfClasses offeredIn; private Professor instructor;(2)Enroll()方法:public int Enroll(Student s) Tran

    16、script transcript = s.Transcript; if (s。IsEnrolledIn(this) | s.IsCurrentlyEnrolledInSimilar(this) | transcript.VerifyCompletion(this。RepresentedCourse) return PREVIOUSLY_ENROLLED; Course c = this.RepresentedCourse; if (c。HasPrerequisites() IEnumerator e = c。GetPrerequisites(); while ( e。MoveNext() )

    17、 Course pre = (Course)e。Current; if (!transcript.VerifyCompletion(pre) return PREREQ_NOT_SATISFIED;ConfirmSeatAvailability() return SECTION_FULL; if ( !enrolledStudents.ContainsKey(s。Ssn) ) enrolledStudents。Add(s。Ssn, s);AddSection(this); return SUCCESSFULLY_ENROLLED; ScheduleOfClasses类:(1) Schedule

    18、OfClasses的字段:private string semester; private Hashtable sectionsOffered;(2)AddSection()方法:public void AddSection(Section s) string key = s。RepresentedCourse。CourseNo+ ” +s。SectionNo; sectionsOffered。Add(key, s); s.OfferedIn = this;7。 TranscriptEntry类:(1)TranscriptEntry的字段:private string grade; priva

    19、te Student student; private Section section;(2) ValidateGrade()方法:public static bool ValidateGrade(string grade) bool outcome = false; if (grade。Equals(F) | grade.Equals(I”) outcome = true;StartsWith(A) | grade.StartsWith(”B) | grade。C”) grade。D”) Length = 1) Length 2) outcome = false; else EndsWith

    20、(+) | grade.EndsWith(-) outcome = false; return outcome;8。 Transcript类:(1)Transcript的字段:private ArrayList transcriptEntries; private Student studentOwner;(2) VerifyCompletion()方法:public bool VerifyCompletion(Course c) for (int i=0; itranscriptEntries.Count; i+) TranscriptEntry te = (TranscriptEntry)

    21、transcriptEntriesi; Section s = te。Section; if ( s。IsSectionOf(c) ) if ( TranscriptEntry.PassingGrade(te。Grade) ) break;五、 心得与体会 通过这几周SRS项目设计,我对面向对象程序设计语言C#和SRS管理系统有了一定的了解,在一定程度上扩展了我的视野,丰富了我的知识,同时也使我学会了如何使用所学的知识去解决一些实际的问题.不过在设计的过程中,我发现自己掌握的知识不够系统,理论知识也不够强化,在将理论投入到实践中时总是出现一些小问题.有 时候通过别人的指点会突然间恍然大悟,所以我觉得自己对知识的理解和熟练程度不够。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解. 团结就是力量,一个项目设计的完成包含着很多人辛勤的汗水。在和别人合作过程中,我学会了耐心的听取别人的意见,并与别人和睦相处.我相信只有通过合作,才能充分发挥自己的优点,有团队精神才能使自己更出色。这次设计为我以后的工作道路奠定了一定的基础。


    注意事项

    本文(面向对象程序设计学生选课系统项目设计书Word文件下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开