信管11级JAVA程序设计课设任务书_第1页
信管11级JAVA程序设计课设任务书_第2页
信管11级JAVA程序设计课设任务书_第3页
信管11级JAVA程序设计课设任务书_第4页
信管11级JAVA程序设计课设任务书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 报 告 课程名称课程名称 JAVA 程序设计程序设计 课题名称课题名称 专专 业业 信息管理与信息系统信息管理与信息系统 班班 级级 信管信管 11 学学 号号 姓姓 名名 指导教师指导教师 李峰、张益星、吴德健李峰、张益星、吴德健 2013 年年 7 月月 1 日日 湖南工程学院 课 程 设 计 任 务 书 课程名称 JAVA 程序设计 课 题 专业班级 信管 11 学生姓名 学 号 指导老师 李峰、张益星、吴德健 审 批 任务书下达日期 2013 年 6 月 17 日 任务完成日期 2013 年 7 月 1 日 一一、设设计计内内容容与与设设计计要要求求 1.1.课程设计目

2、的课程设计目的 全面熟悉、掌握 JAVA 程序设计基本知识,增强对不同的问题运用和灵 活选择合适的数据结构以及 JAVA 程序设计的本领,熟悉编制和调试程序的 技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,增强 JAVA 程序设计概念,熟悉 java 语言编程,养成提供文档资料的习惯和规范 编程的思想,为后继课程的实验以及课程设计打下较扎实的基础。 进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为 后继课程的实验以及课程设计,特别是自学、毕业论文的完成打下扎实的 基础。 2.2.课题题目课题题目 理发师算法问题 N 皇后算法问题 银行家算法问题 页面置换算法问题 磁盘调

3、度算法问题 3 3设计要求设计要求 设计课题题目:按学号顺序(每 15 位学生选择一题)选择相 应题号的课题。换题者不记成绩。 根据自己对应的课题完成以下主要工作:完成系统需求分析: 包括系统设计目的与意义;系统功能需求(系统流程图) ;输入输出的 要求。完成系统总体设计:包括系统功能分析;系统功能模块划分 与设计(系统功能模块图) 。完成系统详细设计:包括需求分析;类 层次图;界面设计与各功能模块实现。系统调试:调试出现的主要 问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。使 用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步 的操作步骤。关键源程序(带注释) 按规定格式

4、完成课程设计报告,将其打印稿(A4 纸)上交给老师 存档。 不得抄袭他人程序、课程设计报告,每个人应体现自己的个性 设计。 二、进度安排 第 18 周 星期三 上午 8:00-12:00 星期四 上午 8:00-12:00 下午 14:30-18:30 课题课题 1 1:理发师算法问题:理发师算法问题 (一)(一) 、课程设计题目:、课程设计题目: 理发师算法问题 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 java 语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问

5、题。 2、基本要求: (1)要求利用面向对象的方法以及 java 的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求): 一个理发店有一个入口和一个出口。理发店内有一个可站 5 位顾客的 站席区、4 个单人沙发、3 个理发师及其专用理发工具、一个收银台。新来 的顾客坐在沙发上等待;

6、没有空沙发时,可在站席区等待;站席区满时,只 能在入口外等待。理发师可从事理发、收银和休息三种活动。 理发店的活动满足下列条件: 1)休息的理发师是坐地自己专用的理发椅上,不会占用顾客的沙发; 2)处理休息状态的理发师可为在沙发上等待时间最长的顾客理发; 3)理发时间长短由理发师决定; 4)在站席区等待时间最长的顾客可坐到空闲的理发上; 5)任何时刻最多只能有一个理发师在收银。 要求:(1)界面友好(2)能实现进程同步和互斥 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)

7、完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; 课题课题 2 2:N N 皇后算法问题皇后算法问题 (一)(一) 、课程设计题目:、课程设计题目: N 皇后算法问题 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 java 语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 java 的编程思想来完成系统的设计; (2)要求在设计的过程中

8、,建立清晰的类层次; (3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求): N 皇后问题是一个经典的问题,在一个 N*N 的棋盘上放置 N 个皇后,每行 一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击) 。 下面是算法的高级伪码描述,这里用一个 N*N 的矩阵来存储棋盘(或用 1 维矩阵保存放置位置。 ) 1) 算法开始, 清空棋盘

9、,当前行设为第一行,当前列设为第一列 2) 在当前行,当前列的位置上判断是否满足条件(即保证经过这一点的 行,列与斜线上都没有两个皇后),若不满足,跳到第 4 步 3) 在当前位置上满足条件的情形:在当前位置放一个皇后,若当前行是 最后一行,记录一个解;若当前行不是最后一行,当前行设为下一行, 当前列 设为当前行的第一个待测位置; 若当前行是最后一行,当前列不是最后一列, 当前列设为下一列;若当前行是最后一行,当前列是最后一列,回溯,即清空 当前行及以下各行的棋盘,然后,当前行设为上一行,当前列设为当前行的下 一个待测位置;以上返回到第 2 步 4) 在当前位置上不满足条件的情形:若当前列不是

10、最后一列,当前列设 为下一列,返回到第 2 步; 若当前列是最后一列了,回溯,即,若当前行已经 是第一行了,算法退出,否则,清空当前行及以下各行的棋盘,然后,当前行 设为上一行,当前列设为当前行的下一个待测位置,返回到第 2 步; 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 课题课题 3 3:银行家

11、算法问题:银行家算法问题 (一)(一) 、课程设计题目:、课程设计题目: 银行家算法问题 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 java 语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 java 的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达

12、到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求): 银行家算法问题能实现 1)进程和资源的种类的设置 2)进程和资源初始 状态的生成 3)用户执行需求 4)给出安全序列和不安全结果 要求: (1)界面友好 (2)能实现进程和资源初始状态的生成 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的

13、定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 课题课题 4 4:页面置换算法问题:页面置换算法问题 (一)(一) 、课程设计题目:、课程设计题目: 页面置换算法问题 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 java 语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 java 的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在

14、系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求): 页面置换算法问题能实现 1)最佳置换算法 2)先进先出算法 3)最近最久 未被使用算法 4)clock 置换算法 要求: (1)界面友好,能自由选择算法 (2)能实现初始页面的设置 (3)随机生成访问页面(包括数量和页面号) 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统

15、中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 课题课题 5 5:磁盘调度算法问题:磁盘调度算法问题 (一)(一) 、课程设计题目:、课程设计题目: 磁盘调度算法问题 (二)(二) 、目的与要求:、目的与要求: 1、目的: (1)要求学生达到熟练掌握 java 语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对

16、象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 java 的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中定义类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理: 1、问题描述(功能要求): 磁盘调度算法问题能实现 1)先来先服务调度 2)SCAN 算法调度 3)最短时 间优先调度 4)循环扫描算法调度 5)NstepSCAN 算法调度。

17、 要求: (1)界面友好,能自由选择算法 (2)能实现初始磁道的设置和磁头移动方向的设置 (3)随机生成访问磁道(包括数量和磁道号) 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 下面是模板,格式相同 内容不同 目 录 1 系统需求分析.1 2 总体设计.1 2.1 总体设计图.1 2.2 各函数之间

18、的调用关系 .2 2.3 数据结构及数据库 .2 3 详细设计.3 3.1 采用 C+语言定义的相关数据类型.3 3.2 各模块的类 C 码算法 .4 3.2.1 CLendOutDlg:OnInitDialog()对话框初始化函数 .4 3.2.2 BEGIN_MESSAGE_MAP(CLendOutDlg, CDialog) .4 3.2.3 CLendOutDlg:CLendOutDlg(CWnd* pParent)数据初始化函数 .4 3.2.4 CLendOutDlg:OnCONFIRM()执行确认按钮的函数 .5 3.2.5 CLendOutDlg:OnCancel()执行取消按钮

19、的函数 .5 4 调试分析及设计体会.6 4.1 程序运行结果 .6 4.1.1 程序设计前先设计各对话框 .6 4.1.2 对话框初始化 .7 4.1.3 借书功能的实现 .8 4.1.4 数据保存到数据库结果 .9 4.2 程序调试中的问题 .10 5 使用说明.11 6 心得体会.12 7 附录.13 7.1 源代码 .13 7.2 参考文献: .15 8 评分表.16 1 1 系统需求分析 利用 C+语言和 access 数据库的相关知识设计与开发一个图书管理系统的 借书模块,具有读者编号、书籍编号的输入功能;可以在数据库中查询和删除所 保存的记录:并具有退出该系统模块的功能。 2 总

20、体设计 2.1 总体设计图 2.2 各函数之间的调用关系 该模块完成了图书管理系统中借书的功能,流程图如图 2.1 所示: 2 目录和所需对话框的设计 对话框中各个按钮与程序相连接 在 access 中创建数据库以保存和查询数据 数据初始化 输入数据并完成传递给消息处理函数增加宏项 对话框初始化 确认按钮函数取消按钮函数 保存数据到 access 数据库 图书馆管理系统 准 备 工 作 借 书 模 块 函 数 调 用 图 2.1 各函数的调用关系 2.3 数据结构及数据库 程序利用 C+语言编写,数据保存到 access 数据库实现数据保存 和查询以及数据库的更新。 Access 数据库中包括

21、七个表分别为 BOOK、BORROW、CLERK、FINE、FINE- HISTORY、HISTORY、READER,各自保存表中菜单下的数据。 3 3 详细设计 3.1 采用 C+语言定义的相关数据类型 (1)CLendOutDlg:CLendOutDlg(CWnd* pParent /*=NULL*/) : CDialog(CLendOutDlg:IDD, pParent) m_strBookID = _T(); m_strReaderID = _T(); (2) void CLendOutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoD

22、ataExchange(pDX); DDX_Text(pDX, IDC_BOOK_ID, m_strBookID); (3) void CLendOutDlg:OnCONFIRM() CWnd *pWnd; m_rsDataSet.m_BOOK_ID =m_strBookID; d. void CLendOutDlg:OnCancel() CDialog:OnCancel(); (4) OOL CLendOutDlg:OnInitDialog() CDialog:OnInitDialog(); return TRUE; 4 4.1.4 数据保存到数据库结果 数据保存到数据库前后的结果显示: 图

23、 4.1 数据库 BORROW 表中的原始数据 图 4.2 结束后数据保存到数据库中的 BORROW 表 5 表 4.1 数据库关键元素表 1 表 4.2 数据库关键元素表 2 4.2 程序调试中的问题 (1)程序设计初期没有在程序中添加初始化函数 BOOL CLendOutDlg:OnInitDialog(),因此输入读者编码和书籍编码后,BORROW 表 中保存该信息,添加了该函数后就可以了。 (2)程序中原来有两个 CLendOutDlg:OnCONFIRM()函数,其中一个是 空的,但是删掉后会出现错误,在 Dialog 的 IDD_LENDOUT 中找到“建立类 向导” ,删掉其中与

24、对话框按钮名称不同的一个即可。 (3) 、CLendOutDlg:OnCONFIRM()函数中原来没有 UpdateData(FALSE); UpdateData(TRUE);就会出现错误,经过老师帮忙找到错误所在,就加上使得程 序能正常运行。 (4)CLendOutDlg:OnCancel()函数只需一条语句,开始的时候用了很多 其他函数,如:DisplayRecord();SetButtonState();SetTextState();但是会出现没有 定义之类的错误,是因为在头文件中根本没有这些函数的定义,所以就会出现 这样的错误。 (5)在消息映射函数中,本应每个空格和按钮只对应一组 O

25、N_BN_CLICKED(IDC_XX, XX),而我的程序全部编完以后,而且 IDC_后面 的是 BUTTON。虽然是这样乱七八糟,但是程序运行完全没有错误,也没有警 告,于是我就把含有 BUTTON 的全部都删掉了;再运行时,就出现了错误。错 误原因及解决方法:原因在于画出的“借书”界面上,读者条码和书籍编码的 属性中的标题没有改。当把界面上所有空格和按钮属性的姓名改为相对应的姓 名时,ON_BN_CLICKED(IDC_XX, XX)只有一组,而且运行无误。 (6)刚开始做了结束模块的框图时按“确定” “取消”按扭不会连接到程 序中,后来在 ClassWizard 中添加就可以了。然后双

26、击按扭就可以出现了。 6 (7)读者编码,书籍编码要定义成数字型,否则,输入字符,特殊符号 都会识别,不符合实际情况。 (8)刚开始没有初始化函数 BOOL CLendOutDlg:OnInitDialog(),以至于 输入读者编码和书籍编码后,BORROW 表中没有该信息,添加了该函数后就 可以了。 (9)程序中原来有两个 confirm 函数,其中一个是空函数,但是删掉后又 有错误,找过之后从“建立类向导”中删掉一个就可以了。 (10)confirm 函数中原来没有 UpdateData(FALSE); UpdateData(TRUE); 就会出现错误,经过老师帮忙找到错误之所在,就加上去

27、了。 (11)cancel 函数只要一句话 CDialog:OnCancel();就可以了。刚开始用 了好多其他函数,如:DisplayRecord();SetButtonState();SetTextState(); 但是会 出现没有定义之类的错误,是因为头文件中根本就没有这些函数,所以就会出 现这样的错误。 5 使用说明 (1)运行程序到系统界面,点击菜单栏中的“系统”按钮,点击“登录”, 输入用户的姓名和密码即可登录该系统。 (2)单击“日常工作”按钮中的“借书”,在相应的位置输入读者的读者 编码和该读者所借书籍的书籍编码,单击“确认”,即可把所输入的数据保存 到 library 数据库中的 BORROW 表中。 7 6 心得体会 开始时候的课程设计完全没有思路,感觉很迷茫,不知道从何做起。幸 好在课设之前李老师给我们做了很详细的指点,记得在大一的时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论