- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《面向对象程序设计》课程设计任务及指导书.doc
《面向对象程序设计》
课程设计
任务与指导书
绍兴文理学院计算机系
《面向对象程序设计》课程设计指导书
设计任务与目的
《》是一门实践性较强的软件基础课程, 第2-3周 详细设计、编写程序、调试分析、准备测试数据等? 第4周 完成课程设计1,撰写相应报告 第5周 明确课题二要求,学习基本的windows Forms程序设计基础知识,掌握基本的windows绘图知识 第6-7周 逐步添加并完善各类,完成一个功能较为完整的游戏类程序 第8-9周 完成报告,参加答辩
备注:
指导教师:戴振中
上机地点:理工楼303(理论课地点另定)
周二(2-9周)下午1:30~4:30
考核
课程设计的成绩分为:优秀、良好、中等、及格,不及格五个等级,不及格者不得取得相应学分。总成绩=平时成绩*30%+答辩*40%+设计报告*30%
课题一.简单教学管理系统
一、问题描述
作为一个实用的教务系统,必须能管理教学过程中的各个环节(课程设置、选课和成绩登录等),并且协调各方面的人员(系统管理员、教师、学生等),本次设计以此为背景,实现一个简单的信息管理系统来模拟教务管理系统。
二、基本要求
提供控制台的图形界面,允许用户以3种不同的身份登陆教务系统,使用菜单选择所需功能,进行相关的操作:
系统管理员:管理现有课程、学期课程、教师及学生信息,并对这些信息进行相应的查询、添加、删除等操作
教师:管理本人的学期课程,查询选修所任课程的学生列表,并给学生打分等
学生:查询学期课程和选课情况,选择或删除选修课程,查询已修课程成绩等
要求学生用面向对象的思想对系统进行分析,设计所需类并实现,调试通过,基本数据信息存放到文件中。
三、测试数据
系统可采用如下的图形界面:
用户登录初始界面
2.登录后(以系统管理员为例)
3.选择相应功能(以教师管理为例)
其余功能类似,学生可根据自己的理解增加其他的相关功能,考核时可酌情加分:如
课程信息中还可增加前导课程的信息,学生选择某门课时,必须保证前导课已修;否则给出相应提示性信息
开课时受班级人数限制,超过指定人数不能选课;
某个学生已选的课程上课的时间不能冲突;
学生每学期所选课程学分数不能超过30学分……
四、实现提示
1、设计思路
采用面向对象程序设计思想开发比较大型的软件,一般需要在两个层面上进行抽象:
(一)将某类实体的“数据+行为”封装抽象,作为独立的整体与外部进行交互。
在该系统中,比较明显存在的抽象实体主要是如下五类:
(1)系统管理员:管理教师、学生、课程(学期课程)信息,主要是新记录的增加、现有记录的删除、修改和各种查询。作为管理员不应该涉及其他角色的具体工作,比如某门课程成绩的登陆工作等;(如何进行权限管理?)
(2)教师:负责教师本人的日常工作,如个人信息(帐户、姓名、密码等)的维护,开展学期课程教学(在本系统中主要体现在将某课程与教师绑定),所授学科成绩的登陆等等
(3)学生:进行学生相关信息的维护,如个人信息(帐户、姓名、密码等),课程信息以及成绩信息(包括已选课程、在选课程---已选但未取得成绩的课程)等
思考:上述三个类之间具有一些共同的数据成员和操作,如基本信息(帐户、姓名、密码)及基本操作(记录的增加、删除、修改、查询)等,怎样用OOP中的继承和多态等特性来提高编程效率并降低编程复杂度?
(4)课程: 这个实体比较简单,只需要保持课程号、课程名及学分信息即可,该类跟其他实体的交互主要体现在它的相关类“学期课程”上
(5)学期课程:即本学期某个教师开设某门课程,它可由课程派生而来,与某个教师绑定。学生选课/退课以及某门课程的成绩具体应着眼到学期课程上,教师可主动增/减学期课程,系统管理员则从整体管理。
注意:除了以上比较明显的各个实体之外,应该还有各实体类相应的“容器”类,来存放该类的所有实例,以便在运行期进行添加、查找、删除、更新及其他相关操作
(二)在系统实现时,数据访问层、中间层和用户接口层也必须有比较鲜明的分割,以进一步去除类间的耦合性。
在本系统中,这三层分别负责如下功能:
(1)用户接口层(UI):负责显示各层菜单及子功能包括菜单间的切换;接收用户输入,将用户输入转换成对下层(中间层)的调用;接受下层的执行结果回显给用户,也就是说与控制台直接交互的代码均在该层的类中实现
(2)业务逻辑层(BLL):负责对用户接口的各种调用作出响应,将计算结果返回给上层,在需要时调用下层(数据访问层)来读取各实体的数据
(3)数据访问层(DAL):负责真正与各类数据打交道,例如,从文件中读取管理员、教师、学生以及课程的相关信息,供上层调用;在实体执行某些修改时,将新的信息保存到文件中去。
在系统设计时,应该将各层之间的功能分割用不同类将其体现出来,尽量使各层的类
文档评论(0)