面向对象程序设计选题详细要求.docx
- 文档编号:7363095
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:26
- 大小:33.37KB
面向对象程序设计选题详细要求.docx
《面向对象程序设计选题详细要求.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计选题详细要求.docx(26页珍藏版)》请在冰豆网上搜索。
面向对象程序设计选题详细要求
第一部分概述
(一)课程设计的性质、目的
《面向对象程序设计》是网络工程专业本科学生的一门专业必修课。
本课程设计在学生学习Java语言基础、熟悉使用Eclipse集成开发环境的基础上,对面向对象程序设计和Windows程序设计进行系统的设计,从而提高学生的综合实践能力,同时也为后续学习打下坚实的基础。
(二)设计要求
根据给定的选题,设计实现一个比较完整的软件系统,可以从以下工作进行考虑:
1、明确设计目标:
确定所设计实现的系统应该具备哪些功能。
2、界面设计(选作做):
根据对系统功能的分析,确定使用的控件或方法,进行界面设计,使系统功能齐全,界面简洁大方,可交互性强。
3、关键技术(必做):
明确使用哪些关键技术解决问题。
4、数据库设计(必做):
必要情况下,对需要后台数据管理的系统进行分析,详细设计数据库和相关数据表,并对数据表中的字段进行合理设计,考虑表之间的关系。
5、代码设计(必做):
用OOP的编程思想(包括类、接口、泛型、继承等),灵活使用设计模式进行代码编写,调试运行从而实现系统的目标功能。
(三)设计报告格式(详见附件)
包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。
设计报告一般包括以下几个方面的内容:
1、课程设计封面(包括设计内容名称、实验人和实验时间)
2、设计目的和要求
3、设计的软硬件说明
4、设计过程和内容,主要包括详细设计和关键的功能代码。
5、结果及分析,主要描述系统实现后完成的功能及分析。
6、设计心得总结
(四)硬件环境要求
PC机一台。
(五)软件环境要求
JDK1.5及以上版本
Eclipse3.4及以上版本
根据系统的功能要求,需要数据库管理系统的需要自行安装MySQL或SqlServler或其它相关的数据库管理系统
文档处理软件
(六)Eclipse使用步骤
Eclipse集成开发工具可以为开发人员提供便利的开发调试平台,开发人员可利用其开发Java应用程序、JavaApplet程序和服务器端的应用程序。
本课程设计的主要任务是开发Java应用程序。
开发Java应用程序的实现步骤如下描述:
(1)启动“Eclipse。
(2)设置workspace。
(3)新建“JavaProjejct”。
(4)在“src”目录下新建java类文件。
(5)在主方法中编写相应的测试代码,启动程序的运行。
(6)选择“Run”菜单项,运行调试程序代码,获取最后结果。
第二部分选题实例
选题一文本编辑器
1、设计目的
(1)熟练掌握GUI开发步骤和Java语言的基本知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握菜单、工具栏及常用控件的使用
(4)掌握JTextArea组件的使用
(5)掌握通用对话框的使用
2、功能要求
(1)能够实现类似于Windows平台下提供的“记事本”程序的功能。
(2)能够对文本文件和rtf文件的新建、打开、保存、另存的操作。
(3)能够选择字体并设置字体的大小、颜色。
能够对文本串查找、替换。
(4)如果可能的话,尽量实现打印预览功能。
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)详细设计每一模块的接口,设计用户界面
(3)根据分析设计,编写程序代码,调试完成既定目标。
(4)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java语言程序设计方面的参考资料
JavaAPI文档
软件工程的参考资料
选题二相册管理器
1、设计目的
(1)熟练掌握GUI的开发过程和Java语言的基本知识
(2)掌握面向对象程序开发的基本思路和方法
(3)学习图形开发的基本知识
(4)掌握常用控件的使用
2、功能要求
能对所打开目录下的照片进行分类管理,可以实现浏览照片、编辑照片等功能。
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)详细设计每一模块的接口,设计用户界面
(3)根据分析设计,编写程序代码,调试完成既定目标。
(4)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
软件工程的参考资料
选题三画图板的实现
1、设计目的
(1)熟练掌握GUI程序开发方法和Java语言的基本知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握图形开发的基本知识
(4)掌握菜单、工具栏及常用控件的使用
2、功能要求
(1)模拟mspaint的基本能力,能由鼠标控制绘制直线、矩形、椭圆,并能控制线条的粗细和颜色。
(2)能填充矩形和椭圆。
(3)能通过参数使图形旋转某个角度。
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)详细设计每一模块的接口,设计用户界面
(3)根据分析设计,编写程序代码,调试完成既定目标。
(4)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
软件工程的参考资料
选题四模拟资源管理器
1、设计目的
(1)熟练掌握GUI程序设计方法和Java语言的基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握菜单、工具栏和常用控件的使用
2、功能要求
模拟Windows资源管理器,实现以下功能
(1)实现文件和目录的新建、复制、剪切、删除、重命名操作
(2)以树状结构显示磁盘上的文件和目录
(3)可以以不同的查看方式显示当前目录下的子目录和文件
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)模拟Windows资源管理器,设计用户界面
(4)根据分析设计,编写程序代码,调试完成既定目标。
(5)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
5、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
选题五通讯录管理
1、设计目的
(1)熟练掌握GUI程序设计和Java语言的基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握文件流的基本知识
(4)利用所学知识实现文件的存取操作
(5)掌握菜单、工具栏等控件的使用
2、功能要求
通讯录管理系统的目的是为自己建立一个电子通讯录,主要包括联系人的姓名,单位,电话,E-mail等重要信息。
所要实现的主要功能有:
(1)在通讯录中添加新的联系人记录
(2)以指定的格式显示全部的记录
(3)根据姓名查找联系人的信息
(4)新增联系人的记录信息要保存到文件
(5)根据姓名删除联系人的记录信息
(6)按姓名由大到小的顺序排序
(7)备份联系人通讯录,实现通讯录文件的复制
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)根据分析,画出系统流程图
(3)详细设计各功能的接口,设计用户界面
(4)根据分析设计,编写程序代码,调试完成既定目标。
(5)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
软件工程的参考资料
选题六小学数学学习测试系统
1、设计目的
(1)熟练掌握Java语言基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握菜单和常用控件的使用
2、功能描述
实现一个简单的小学数据学习系统,使得小朋友通过此系统可经认识数字,进行20以内的加减法运算。
系统可以从识字学习、平时测试、模拟考试等方面进行设计,时间允许,可以添加语音效果。
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)确定每一模块采用的算法,采用流程图描述各功能模块的详细过程
(3)设计图形用户界面
(4)根据分析设计,编写程序代码,调试完成既定目标。
(5)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
软件工程的参考资料
选题七高校学籍管理系统
、设计方法和基本原理:
1、功能要求
要求完成以下功能:
1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。
2)能够将指定的信息从文件中删除。
3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。
4)可以统计全部学生的总成绩,及其在班上的排名。
5)能够统计各科的平均成绩及及格率。
6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
7)如果检索不到相应的信息应提示用户。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
a)写出需求分析(做什么)
b)分析系统中的各个实体之间的关系及其属性和行为;
c)根据问题描述,设计系统的类层次;
d)完成类层次中各个类的描述(包括属性和方法);
e)完成类中各个成员函数的定义;
f)用户界面的设计
g)分析系统功能模块(系统流程图)
h)代码编写
i)功能调试;
j)完成系统总结报告以及系统使用说明书。
四、报告:
包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。
选题八简易计算机器的实现
1、设计目的
(1)熟练掌握GUI开发过程和Java语言的基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握常用组件的使用
2、功能要求
(1)模拟Windows平台下的“calc”计算机器的功能
(2)实现简单的四则运算
(3)根据情况可添加科学计算机器的实现功能
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)根据分析设计界面,编写程序代码,调试完成既定目标。
(3)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
JavaAPI文档
选题九比赛成绩统计系统
1、设计目的
(1)熟练掌握Java语言的基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)掌握基本控件的使用
(4)熟练数据库编程操作或是文件的输入输出操作
2、功能要求
设计一个比赛成绩统计系统,功能要求:
(1)输入每个选手的数据,包括编号、姓名、各个评委的成绩
(2)根据评委成绩,计算出总成绩和平均成绩(去掉最高分,去掉最低分)
(3)可以通过菜单项执行,建议菜单项:
输入选手数据、评委打分、成绩排序(按平均分)、数据查询、退出系统。
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)详细设计每一模块的接口,设计界面
(3)确定每一模块采用的算法,采用流程图描述各功能模块的详细过程
(4)根据分析设计,编写程序代码,调试完成既定目标。
(5)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
软件工程的参考资料
数据库编程方面的参考书。
选题十航空订票管理系统
1、设计目的
(1)熟练掌握GUI程序的开发方法和Java语言的基础知识
(2)掌握面向对象程序开发的基本思路和方法
(3)熟悉JDBC数据库开发基本知识
(4)利用所学知识进行简单的数据库应用程序设计
(5)掌握常用控件的使用
2、功能要求
不同的角色登录系统能做不同的工作
(1)客户:
实现注册用户、登录系统、修改个人信息、查看航班信息、订票等功能。
(2)管理员:
录入或修改航班信息、查看订单信息
3、解决方案
(1)首先进行需求分析,划分功能模块
(2)确定数据结构,设计数据库
(3)详细设计每一模块的接口,设计用户界面
(4)根据分析设计,编写程序代码,调试完成既定目标。
(5)完成设计报告任务书,写出实现整个系统的分析、设计、编码的过程,并作课程设计总结。
4、参考资料建议
Java程序设计方面的参考书
数据库编程方面的参考书
JavaAPI文档
软件工程的参考资料
选题十一设计一个Database类
问题描述
设计一个Database类。
Database类是一个表的集合,而表又由行和列组成。
例如,下面的雇员信息表包含三个记录,每个记录有四个字段(Employee、Name、Department和Boss)。
雇员
姓名
部门
部门经理
111-11-1234
Cruz
ACC
Warder
213-44-5649
Johnston
MIS
Michaels
321-88-7895
Tom
FIN
Bearskin
基本要求
能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。
测试数据
可以选取高校人员(教师、学生、职工等)数据库作为测试数据
实现提示
Database类的公有接口包含如下数据成员:
•创建一个表。
•通过增加或删除字段修改表结构。
•删除一个表。
•在表中增加一个记录。
•从表中删除记录。
•用适当的查询语言从一个或多个表中查找信息。
选做内容
高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;然后完成上面操作。
选题十二有理数运算
问题描述
有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。
在JAVA中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。
对有理数的各种操作都可以用重载运算符来实现。
基本要求
定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。
写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
重载插入(<<)和提取(>>)运算符,使得对有理数可以直接输入输出。
设有理数输入格式为:
整数1整数2//整数1为分子,整数2为分母
有理数输出格式为:
分子/分母
测试数据
在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。
实现提示
设有两个有理数a/b和c/d,则有:
(1)有理数相加分子=a*d+b*c;分母=b*d
(2)有理数相减分子=a*d-b*c;分母=b*d
(3)有理数相乘分子=a*c;分母=b*d
(4)有理数相除分子=a*d;分母=b*c
优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。
对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。
选题十三时钟
1.通讯录管理
问题描述
编写一个简单的通讯录管理程序。
通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。
基本要求
程序应提供的基本管理功能有:
1)添加:
即增加一个人的记录到通信录中
2)显示:
即在屏幕上显示所有通信录中的人员信息,应能分屏显示。
3)存储:
即将通讯录信息保存在一个文件中。
4)装入:
即将文件中的信息读入程序。
5)查询:
可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。
6)修改:
可修改一个人的除姓名外其它信息。
7)为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。
这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。
虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。
8)
测试数据
程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。
实现提示
程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。
选题十四商品销售统计
问题描述
编写商品销售统计程序,商品的信息有:
商品的名称,计量单位(重量或件),单价。
所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。
客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。
基本要求
程序分为两个部分:
第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。
程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。
第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。
此时。
程序计算出应付钱款数并显示。
测试数据
程序应输入不少于10种商品的信息,并进行模拟运行。
实现提示
本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。
选做内容
程序在营业结束时统计每种商品的销售量,销售金额及总营业额。
因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。
注意,商品类的数据成员应增加有商品的销售量和销售金额。
总营业额是所有商品的营业额之和,可用静态数据成员实现。
或可由原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。
选题十五研究生初试录取
问题描述
研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。
国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。
编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。
基本要求
程序运行时首先要求输入:
考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。
这些原始数据应保存到一个文件中。
然后输入:
录取的总分要求,各课程的最低分数要求。
输出要求:
过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。
测试数据
程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。
实现提示
可定义一个考生类存放有关信息和实现相应的操作。
分数线数据(总分要求和各门课程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接访问。
选做内容
初试合格的考生应经过复试才能决定是否录取,复试成绩合格(大于给定分值)可以录取,否则被淘汰。
而录取的顺序假设是按照专业基础课和复试成绩的平均值来确定的(因为这涉及到是计划内还是委培问题)。
因此,应首先输入初试合格考生的复试成绩及复试的合格线分数,然后按上面要求排序输出并标明被淘汰的学生。
选题十六足球联赛积分
问题描述
足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。
试编程序统计最近一轮比赛后,各队积分及排名。
基本要求
设积分表结构如下:
队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。
积分表放在正文文件中。
最近一轮的结果从键盘输入,其形式为:
主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。
程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。
测试数据
可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。
实现提示
定义一个球队类,每个球队是均是此类的对象。
由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。
每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。
选做内容
篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。
若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。
选题十七银行账户管理程序
问题描述
设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:
开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。
基本要求
程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。
测试数据
程序应输入不少于10人的账户信息,应考虑到人员同名的情况。
实现提示
可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。
选做内容
在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。
选题十八电煤气管理系统
问题描述
设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
基本要求
●实现对用户信息的录入
●实现水电煤气数据的录入
●计算并查询用户应缴费用
●查询未缴纳费用名单
测试数据
可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。
实现提示
●用户基本信息类,教工用户信息类,学生用户信息类
●收费标准类,该类存储水电煤气标准单位的收费标准,如:
煤气,1.0元/立方米;
●不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 选题 详细 要求
![提示](https://static.bdocx.com/images/bang_tan.gif)