山东建筑大学商学院电子商务专业
《Java面向对象程序设计语言》课程设计(实验)指导书
一、对学生的基本要求:
1、理论联系实际、严肃认真、实事求是的科学态度和勇于探索的创新精神。
2、运用所学基础理论与专业知识分析和解决实际问题,培养独立思考完成任务的能力。
3、运用Java面向对象程序设计方法、标准与规范开发小型应用软件系统。
二、设计的要求及内容及要求:
应用Java面向对象程序设计语言开发小型应用软件系统。可以从给定的选题中选择一个课题或自拟课题(自拟课题需经指导教师批准),完成系统分析、设计和开发。
具体要求如下:
(1) 针对你所选择的系统进行需求分析,写出系统的功能要求,设计的应用程序应具有的功能要素。
(2) 程序代码应符合教学中应该具有的规范要求,类名、方法名,属性名称应与设计中实际的应用含义相符,程序中具有相应的注释。
(3) 程序的界面要合理、美观。
(4) 每人最终提交一个可行的应用软件程序和规范的课程设计说明书。说明书应严格按照说明书的要求,格式清晰、规整。并提交所设计程序的电子文档。
三、设计进度:
1、17周周一~周二:选题,系统的需求分析。分析并规划你所设计的系统应达到的功能,满足什么样的要求。
2、17周周二~周四:系统设计。分析要达到你所要求的功能需要编写什么类,规划类的层次结构,设定好类明、方法名、属性名;规划你所设计的系统应具有什么样的界面布局。查阅资料帮助自己规划好你的系统。
3、17周周五~18周周二:程序设计。根据自己所规划的程序进行具体代码设计,代码设计要符合程序设计的规范要求,注意程序的编写格式。
4、18周周三:程序测试。对自己所规划的程序进行测试,看是否有异常及程序Bug出现,并进行调试修正程序代码。
5、18周周三:编写课程设计说明书。按照本指导书要求格式编写程序设计报告(见附件)。 6、18周周四上午交所设计程序的电子文档,和课程设计说明书的电子文档。
7、18周周四~周五:成绩评定。等待指导老师提问答辩。
四、选题
根据自己的爱好从以下题目中选择一个题目进行设计。
1、设计题目:学籍管理系统
设计目的:设计一个学籍管理系统,保存所有学生信息。
第1页
设计要求:学籍管理系统一般包括学生的基本信息,如,学号、姓名、班级、籍贯、联系电话、学生成绩等;能够添加、查找、删除学生信息等功能;程序执行时候,需要从文件中导入数据,程序推出后再将数据保存到文件中。
2、设计题目:出版物管理
设计目的:对出版物书籍、CD或者磁带进行管理。
设计要求:使用图形界面的方式,对书籍、CD或者磁带的基本信息进行管理。
书籍界面包括:书籍的名称、书籍的价格、书籍的出版社、书籍的作者、书籍的ISBN、及书籍的出版日期等;可以通过选择菜单来进行书籍信息的添加、修改和删除等,所有的书籍信息会显示在一个列表组件中,当某本书籍的信息改变时,列表中会相应的进行改变。
CD界面包括:CD的名称、CD的价格、CD的出版社、CD的演唱者、CD的发行者、CD的ISRC等;可以通过选择菜单进行CD信息的添加、修改和删除,所有CD信息会显示在一个列表组件中,当某张CD的信息改变时,列表中会相应的进行改变。
磁带界面包括:磁带的名称、磁带的价格、磁带的出版社、磁带的演唱者、磁带的ISRC等;可以通过选择菜单进行磁带信息的添加、修改和删除,所有磁带信息会显示在一个列表组件中,某张磁带的信息改变时,列表中信息会相应的进行改变。
3、设计题目:Java程序编辑器
设计目的:设计一个Java程序编辑器,能够进行简单的文字处理。
设计要求:类似一个Windows系统的记事本,能够实现打开、保存文件;查找、替换字符串;定时自动更新文件,并创建备份文件;将Java的关键字以不同颜色或不同字体显示。
4、设计题目:设置日期时间属性
设计目的:设计类似Windows系统中“设置日期时间属性”的窗口及功能,综合运用各种组件、日期类、日历类、线程等内容。
设计要求:设计类似Windows系统中“设置日期时间属性”的窗口及功能,设计相似界面,实现日期和时间的多种运算和显示,保证运算正确性。
5、设计题目:交通信号灯的线程设计
设计目的:使用多线程设计,同步机制设计一个交通信号灯。
设计要求:设计线程;设计路口信号灯示意图界面;进一步将两个方向的信号灯分成3种车道灯:左转、直行和右转;根据车流量进行时间的模糊控制。
6、设计题目:聊天程序
设计目的:图形界面与Socket通信及输入/输出流的综合运用。
设计要求:设计一个图形界面,以Socket通信机制实现类似QQ的网络聊天程序,该聊天程序最少可以达到两个人聊天,并可以保存聊天的内容。
7、银行贷款多种还款方式的计算
设计目的:图形界面与算法设计。
设计要求:设计一个图形界面,在界面上能够实现的实际贷款和还款的一般规则(参照教材P409)。
第2页
8、日历组件
设计目的:图形界面与算法设计。
设计要求:自定义一个日历组件:显示当月日历、当前日期、上/下日历等,界面样子参照教材P409。
9、地址薄管理器
设计目的:图形界面与输入/输出流和文件操作。
设计要求:设计一个存储朋友电子邮件地址及电话号码的地址薄应用程序,界面自行设计(也可参照教材P411)。
(1)设计一个人员类,成员变量包括类别、姓名、电话号码和邮件地址等,成员方法包括插入、移动、删除、更改类别等。所有人员信息保存在以对象为单位的记录文件中,以对象流实现数据读取和保存功能。
(2)设计图形用户界面,在此界面上可实现针对朋友电子邮件和电话号码的各种操作(可参照教材P411)。
(3)添加主菜单和快捷菜单,实现插入、删除、移动等功能,快捷菜单会根据当前组件自动执行不同对象的插入、删除、移动等操作。
10、搜索文件
设计目的:图形界面与输入/输出流和文件操作。
设计要求:参照Window的资源管理器,给特定搜索文件名的部分字符,在制定的范围内搜索文件,显示搜索结果的文件名列表、文件路径及文件属性。
其他选题,需征求指导教师同意,由指导教师根据拟定的题目难度给予相应的评分标准。
五、考核内容及分值分配
1、课程设计说明书。(30分)
1)正文:(手写课程设计报告4页以上)(20分)
(1)、概述
包括项目背景、编写目的、软件定义、开发环境、所用的知识等内容。
(2)、功能说明
问题陈述、需完成的功能。
(3)、程序类说明
定义的类、接口等的名称,并将其在程序中起到的作用进行简要说明,并根据面向对象程序设计的原则画出类的层次关系图。
(4)、软件系统测试说明
对你所设计的软件进行使用测试,列举该软件出现的问题和不完善的地方。
(5)、用户使用说明
将所设计的软件能够达到的功能进行描述。
第3页
2)结束语:(5分)
写出完成本课程设计的心得,有哪些收获。软件还需要哪些改进。
3)参考文献:按照要求格式写出你所参考的文献资料。(5分)
2、开发的应用软件系统(60分)
1)程序代码的格式(10分)
代码格式是否规范,是否有相应的注视,程序类名、方法名、属性名是否具有可读性。
2)程序界面设计(10分)
界面设计布局是否合理美观,操作是否简单方便。
3)程序功能(40分)
程序功能是否达到了你所选系统的要求。基本满足可得24~28分;完全满足可得28~32分;完全满足并能够进行相应的异常处理可得32~40分;如果在此基础上还能进行相应创新可根据创新的程度进行适当加分。
3、答辩及课程设计说明书资料归档规范性(10分)
注:每个学生都要独立完成一个题目,如发现雷同者,对所有雷同学生按照不及格处理。
附件:说明书(论文)格式(可以参照论文范例)
2.说明书(或论文)结构及要求
(1) 封面(由商学院统一发课程设计封面纸)
(2)任务书(由指导教师填写)
(3)目录
以上内容由指导教师统一下发。
(4)正文:(4页课程设计报告纸以上)
1)、概述
2)、功能说明
3)、程序类说明
4)、软件系统测试说明
5)、用户使用说明
(5)结束语
(6)参考文献(资料)
参考文献必须是学生在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序排列。各类文献的书写格式如下:
a.图书类的参考文献
序号 作者名·书名·(版次)·出版单位,出版年:引用部分起止页码。
b.翻译图书类的参考文献
序号 作者名·书名·译者·(版次)出版单位,出版年:引用部分起止页码。
c.期刊类的参考文献
第4页
序号 作者名·文集名·期刊名·年,卷(期):引用部分起止页码。
(7)附件
可以根据说明需要将设计界面及相关其他材料附在此处,也可以没有。
第5页
第二篇:Java与面向对象程序设计课程设计
Java与面向对象程序设计课程设计
题目:
1.网页爬虫 (至多4人一组,每班至多3组)
开发一个网页爬虫程序,该程序能够根据用户所输入的一组关键词,在Internet上找到所有包含这一组关键词的网页,爬虫程序把找到的符合条件的网页放到一个后台数据库中。最后做一个Web页面的管理平台,该平台能够对爬虫的行为进行管理,也可以对爬虫所获取的信息进行查询。
说明:
A. 可以使用你熟悉的数据库。
B. Web页面的管理平台用JSP实现,要求有增加、修改、删除、查询主题的功能。
C. 网上有很多开源的爬虫项目,可以在你的设计中调用它们的库或程序。
2.Java算法演示系统 (至多4人一组,每班至多3组)
使用Java语言实现三个算法,并使用Web页面接受用户输入和展示算法运行的结果。 实现的算法如下:
A. 表达式求值(例如:输入“3+5/(5-3)”,输出5.5)
B. 堆排序(这个不用说了)
C. KMP算法进行字符串查找
算法的输入输出界面可以自己设计,但是要以能够展现算法的功能为准。Web页面要求用JSP来做。
3.基于Java的哈夫曼编码译码系统 (至多3个人一组,每个班3组)
使用Java语言实现哈夫曼算法,对英文文章进行编码和译码。输入输出界面要求使用Web页面,用JSP实现。
编码表请自己到网上去查找26个英文字母在文章中出现的概率,或者是参考统计学的书。
测试的文章在本文档所附的文本文件中。
4.Hibernate数据库访问层应用 (至多3个人一组,每个班3组)
使用Hibernate作为数据库访问层,开发一个日记本程序。 要求:
A. 数据采用Access
B. 构建Application类型的程序
C. 主要功能有:日记列表、新建日记、删除日记、查找日记、锁定/解锁日记本。
5.Java画图板 (至多3个人一组,每个班3组)
使用Java语言,开发一个画图程序,该程序里预先设置了三种曲线的方程,用户选择一种曲线的类型,再输入参数,程序就在画图板上画出该函数的图像。
要求:
A. 三种曲线为二次函数(f(x) = ax2+bx+c)、对数函数(f(x) = lnx)和正弦函数(f(x) = asin(bx + c) + d)。
B. 选择完函数类型后,输入相应的参数就能在画面上产生相应的图像。
C. 坐标系为直角坐标系,坐标系的原点和单位长度可以改变。
D. 可以在画板上画多条曲线。
请各班长填写好分组表格之后返回给我。
课程设计需要提交的东西如下:
A.打印版的课程设计报告(每个组共提交一份)
B.每个班刻一张光盘,里面包含每个组的课程设计报告电子版和源代码。
课程设计需要答辩,时间安排在课程设计结束的那一周的周四和周
五。具体时间和地点到时会再通知。
答辩需要带上以下东西:
A.打印版的课程设计报告
B.用U盘带上程序源代码和可运行版的程序。
另外提醒同学们,课程设计报告一定要严格按照我所给出的“广东工业大学课程设计报告模板”去做,否则会导致课程设计不能通过。