北京理工大学《Java程序设计》课程设计要求

jinxuliang2 发表于   2014/11/20 11:41:29,阅读次数: 4605

北京理工大学计算机学院《Java程序设计》课程设计的具体要求及模板

Java语言程序设计》课程设计要求

题目选择:

在教学PPT的各讲PPT中,己经列出了一些课程设计题目供同学们选择,你也可以自选一个题目,只要是使用Java为主要编程语言开发的,不管是桌面应用还是网站还是Android应用均可。

请同学们“量力而行”,在一个月左右的时间内完成全部开发工作。

要求程序必须是一个“功能比较完整”的程序,“真正做点事”。

成绩判定:

Java程序设计》课程成绩评定规则:

1 课程设计:40%

2 期末开卷考试:60%

教师依据程序实现水平的高低、提交的文档优劣判定课程设计成绩。

程序与文档的提交:

提交内容

1 可以编译通过的Java源码(以Eclipse项目的方式提交)

2 可以执行的.class文件、Jar文件或.apk安装包。

3 一个详细的开发文件,按照提供的文档模板编写。

提交方法

将所有文件压缩打包,格式为:

姓名_学号_班级.rar(或.zip

然后发送到邮箱:jinxuliang@bit.edu.cn,如压缩包大于20M,请使用移动硬盘直接到办公室交给教师。

因学生人数较多,为避免邮件丢失或教师忙中出错,给成绩评定带来麻烦,请大家尽可能地将多位同学的作业打包到同一个文件中集中交给教师。

开发文档需要一份纸质打印版,可直接送到教师办公室。

文档中务必写清楚姓名、学号、班别及联系方式!

不要重复提交新版本。教师收到的即视为最终版本,不理会版本更新请求。

提交时间:

       结课后第5周周日,逾期不再接收作业。

=========================================

课程设计文档模板

注:

此模板为参考模板,同学们可以在此基础上定制自己的文档。

 

北京理工大学计算机学院

Java程序设计》课程设计模板

 

                   班级_________________学号___________________姓名______________

 

1 程序的运行环境、安装步骤

         1运行环境:例如JDK 1.6 / 1.7

         2程序的组成部份:指可以运行的程序包容哪几个文件,比如有几个jar文件,是否需要其他的支持文件(比如第3方的组件库)等

         3安装步骤:如何在一台“干净”的计算机上运行你的程序?

         示例:

1)  安装JRE 1.7

         2)将程序jar文件复制到计算机上

         3)在资源管理器中双击XXX,运行程序

2 程序开发平台

         1)代码行数:XXXX

         2)开发环境:Eclipse for Java Developer 4.2+ADT 20.0.3Visual studio 2012 Ultimate

3 程序功能说明:

         给出屏幕截图或UML用例图,底下给出文字说明。

4 程序算法说明及面向对象实现技术方案

1)对用到的算法的说明,简要介绍其算法步骤、时间空间复杂度等

2)数据结构和算法的面向对象实现

l  程序中设计了哪几个类,类之间有何关系:继承、组合、实现某接口……

l  你将这些类划分成了多少个包?

l  你的程序包容几个jar包?

l  ……

推荐使用UML类图、包图和组件图描述你的程序架构。

5 技术亮点、关键点及其解决方案

展示出你开发的程序中最精彩得意的亮点,在开发中你遇到了哪些技术困难,又是如何解决的……

举例如下:

l  本程序的亮点:

我写的程序支持语言输入!

我写的程序比流行的XXXX更多,强在……

l  本程序的技术关键点

我采用了多线程技术以提升程序的性能

我使用Sqlite来保存数据

我应用了MVC模式来设计整个程序的架构

我在开发过程中大规模地使用了单元测试

……

l  遇到的技术难点及对应的解决方案:

处理非法表达式的问题

问题描述:当用户输入“()”时,这个表达式合法,但算法陷入了死循环       

最终的解决方案:……

 

6 简要开发过程

XXXX      查找资料确定要使用的算法与数据结构

XXXX      完成系统设计

XXXX  进行XXX功能开发

XXXX      XXX功能开发完成,进入测试阶段

……

XXXX      对程序进行集成测试

XXXX  程序开发工作完毕,编写及整理文档

7 个人小结及建议(可选)

         经过一个学期的理论与技术课堂学习和完成课程设计,你有何感悟?对本课程有哪些建议?……

============================================================

典型课程设计题目

说明:以下课程设计题目仅为示例,不少内容超出了本学期所讲授的内容,请同学们依据自己的具体情况进行取舍。

2014版的PPT中所列的课程设计题目,则基本上使用本学期所介绍的内容能够完成。

鼓励同学们依据自己的实际水平自拟题目。

一、四则运算计算器

基本功能

概述

能解析一个由“加减乘除”四种运算所构成的数学表达式,并计算出结果。

         例如:

         程序接收表达式:1.5+3*(10.2-9.2)+5/2

         程序输出计算结果:7

要求:

1.         支持运算符优先级:先乘除后加减

2.         支持多重嵌套的括号

3.         同时支持针对整数和浮点数的运算,只要输入的数字在Java语言能处理的范围之内,不对用户输入数字的位数做出限制。

4.         本程序为拥有可视界面的GUI应用,运行于Android手机。

5.         具备足够的健壮性,当用户输入非法的表达式时,能给出提示信息并继续工作。

扩充功能

1.         支持算法的动态替换或扩充:比如可以使用前序算法换掉中序算法。

2.         支持数学函数(如使用三角函数等)

3.         支持更多的计算功能:比如乘方、开方运算,支持十六进制、二进制等

4.         更多的数字表达方式:比如支持使用科学计数法表示的数字

5.         支持特别大的数(超过longdouble所能处理范围)的四则运算。

6.         支持两种以上界面(比如标准型与科学型计算器)的动态切换

7.         支持通过插件扩充计算器的功能。

同学们可依据自己的能力,扩充实现其他的功能。

二、文件资源管理器

基本功能

克隆Windows资源管理器。

实现以下基本操作:

1 文件:复制、移动、删除和改名

2 文件夹:创建、删除和改名

3 查看详细信息:

1)文件的大小、创建时间等信息

2)文件夹的容量、包容文件和子文件夹数量等信息

3)磁盘可用空间

5 打开或运行指定的文件

6 按文件名搜索文件(支持通配符)

扩充功能

1 支持排序和批量删除

2 支持列表或网格两种显示模式

3 支持文本文件内容的搜索

4 能搜索特定种类的文件(比如图片、Word文档、影片等)

5 能搜索大文件(比如搜索大于100M的文件)

6 桌面版能同时运行于WindowsLinux

7 手机版能支持手机间通过蓝牙或Socket直传文件

8 ……

三、网络文件服务器

基本功能需求

1 服务端监听特定端口,支持多个客户端的连接请求

2 客户端可提取服务端可下载的文件清单,之后,任选其中一个下载

3 客户端可将本地文件上传到服务端,上传之后,此文件成为服务端可下载文件清单中的一员,要求客户端在上传前设定此文件的下载说明

4 服务端可以随时获取文件下载的统计信息:

1)某文件共有多少人下载,当前正有多少人下载

2)文件占用多少空间

3)下载量最大的文件是……

4)最新上传的文件是……

5 服务端可对上传的文件进行控制:

(1)       删除

(2)       改名

(3)       修改文件的附加说明信息

(4)       限制最大上传的文件大小

(5)       限制连接数

扩充功能需求

1 支持FTP协议所定义的常用命令

2 支持断点续传

3 其他你所设想的功能

 

四、文件型数据库

基本需求

一、以单个文件为存储介质,实现以下基本的关系数据库功能:

1 创建并初始化文件存储结构:

 

  Create 新文件名 字段名(数据类型),字段名(数据类型),……

 

2 使用select命令显示及查询数据

 

  1select * from 文件名:显示文件中所有的数据记录

  2select field1,field2,…  from 文件名:提取文件中所有的数据记录,仅显示指定字段

3select [*|字段列表] from 文件名 where 字段名=特定值 [and|or|not] 字段名=特定值:查找特定的记录并显示

4select * from 文件名 orderby 字段名列表:按指定字段名列表排序

 

3 使用delete命令删除记录

 

  delete from 文件名 where 删除条件

 

4 使用update命令更新记录

 

  update 字段名=新值 字段名=新值 where 记录筛选条件

 

5删除文件功能:

 

drop 文件名

 

二、提供一个控件台界面,用户可以手工输入以上命令验证数据存取功能

三、将你的数据库转换为一个jar

四、编写一个简单的示例程序,展示一个标准的Java应用程序如何使用你的文件型数据库完成“增、删、改、查”功能。

扩充需求(可选)

一、支持更多的数据查询功能:

1)数据分组查询

2)数据排序

3)支持表达式解析

4)……

二、支持多文件查询

 将上述基本命令(select\delete\update)功能扩充到支持多个文件,例如,支持在多个文件中查找特定的记录

 

三、将你的数据库程序移植到Android环境中,使得Android应用也能使用它来存储信息

四、支持面向对象数据库的基本功能

1 支持以下基本命令

 

1create 文件名 for 类名

指定一个Java类名,使用反射技术读取其所有字段,并创建一个文件用于存储这种类型的对象,出于简化目的,暂定一种文件存储一种类型的对象。

 

2findObject  from 文件名 where 对象查找条件

在指定的文件中查找满足条件的对象

 

3delete  from 文件名 where 对象查找条件

在指定的文件中查找对象,找到后将其从文件中删除。

 

4update 对象字段=新值,…… where对象筛选条件

在指定的文件中查找对象,找到后用新值更新对应的字段。

 

2 编写一个示例程序,使用你的文件型对象数据库进行增、删、改、查

 

 


附件清单



评论于: