第一篇:数据库课程设计--学校教学
武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
学校教学管理系统一总论
1.1系统开发的背景
目前国内学校教学设备自动化管理水平不是很高。大多数学校设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。某些使用设备管理系统学校,对设备的跟踪信息即使能体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校设备管理信息化仍处于较低水平。
本信息系统合理的借鉴国际领先的设备管理思想并结合国内学校设备管理现状,可以完全能满足国内学校设备管理的需要。并通过对各行业设备管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业设备管理信息系统。本系统将会提高学校的办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高学校的现代化管理水平。实时报警功能对学校的安全生产更是不可忽视。1.2系统开发的意义和目的
在现代化的教育技术模式下,计算机已经广泛应用于学校的教育管理,给传统的教学方式带来了重大的革命。如何有效进行作业管理是摆在我们面前的一个新的课题。本文在研究目前国内外作业管理情况的基础上,从学校的实际需求出发,采用当前较为流行的B/S(浏览器/服务器)结构和ASP动态网页开发技术,基于WindowsXP Professional操作系统和SQL数据库,设计并实现了一个功能较为完善的小型作业管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了管理员发布管理公告、教师管理、设置学院、班级、课程;老师在线发布作业、批改作业、网上答疑;学生无组件上传作业、查看作业信息、提出疑问的功能。重点对系统设计过程作了相应描述,同时也对系统需要改进的地方做了总结。
本系统经过测试,运行效果稳定,操作方便、快捷。不仅适用于普通学校的作业管理,也适用于网络远程教学,能较好地解决作业管理混乱的状况。1.3.1系统的主要功能:
教师管理、学生管理、班级管理、宿舍管理、教材管理、课程管理、活动管理、教师武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
绩效管理、学生考勤管理、工资管理、教学收款管理。
二结构设计
2.1管理系统概述
教学管理系统是专门针对中学教学规范化管理,提高教学质量而设计和编制的功能齐备的应用软件。系统集数据编辑、处理、储存、统计、查阅和专业表册输出于一体,支持局域网内联机操作而无须专门的服务器,从而达到有效运用校园网络平台,充分实现数据共享之目的。其友好的系统界面、纯中文的功能按扭、职责分明的权限管理、善解人意的人机对话以及图文并茂的操作指南,构成了本系统“通俗易懂、操作简单、录入快速、统计精确、查询简便、管理规范”的六大特点,非常适合普通(特别是同时开设高、初中)中学的教学数据和人力资源管理工作,并能较大程度地提高工作效率和降低教学成本。
系统分主程序与客户端,即可在局域网中运行,也可单机使用(单机使用无须安装客户端程序)。系统包括学籍管理、成绩管理、教师管理和统计分析四大模块,各模块均含高、初中部份。其中,学籍管理包括学生相关信息以及评语生成与编改等;成绩管理包括升考成绩、入学成绩、学期成绩和会考成绩,学期成绩等。2.2 技术可行性分析
在高等教育教学改革不断深入的形势下,实行开放式实验教学十分必要。预约式的开放实验教学模式是校园信息化平台基础之上的开放式实验教学管理模式之一,它具有时间安排灵活和具体指导时针对性强等特点。该系统改变了传统的以班为单位的实验教学模式,学生可以根据自己的兴趣和实际情况选修自己感兴趣的实验。这不仅调动了学生的积极性,还培养了学生的创造性,而这正是当前实验教学改革的目的所在。本系统的开发就是要满足全校开放式实验教学管理的需求。
系统采用B/S结构,后台选择SQL Server 2000作为数据库,应用ASP技术来实现的实验教学管理系统,针对系统的应用现状、设计目标、需求以及可行性等方面进行了细致的分析,并着重进行了系统的总体设计、数据库设计,还针对实验项目、预约设置、学生信息、成绩、公告和教师信息等内容,提出了一种管理方法和系统的实现方法。
三系统软件的结构设计
3.1 结构设计
结合教育部本科教学评估指标体系,从系统的设计层次、设计思想、系统的主要结构、武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
功能、开发平台的选择、数据库的设计方法和层次等几个方面进行分析,给出了基于B/S结构的本科教学评估信息管理系统的总体设计方案和实现方法.3.2各部门对教学管理系统的要求: 学生处:管理各院系班级学生的基本情况 教务处:掌握学生各门课程的成绩情况 计财处:管理学生每学期的学费收缴情况 各院系:登录本院系学生各门课程的成绩 3.3E-R模型转换为关系模型
经过转换得到5个关系:
Department(dept_id,deparment,phone,director,no_class)Student(student_id,class_id,name,gender,birthday,address,zip_code,householder)Class(class_id,dept_id,class,abbreviation,monitor,levels,enroll_data,no_student)Course(course_id,course,period,practice_period,credit)Grade(student_id,course_id,grade)3.4专业代码
由五位数字构成:1-2位为院系,3位为本科或专科(本科1,专科2),4-5位为专业,如: 01101汉语言文学专业 02101数学与应用数学专业 03101 旅游管理专业 03201 旅游管理专业 3.4.1公共基础课程
由“ G+5位数字”构成:第1-2位为课程开出院系,第3位为本科或专科(本科1,专科2),第4-5位为课程。(如果该门课程分段,则在第6位表示段序)。公共基础课采取全院统一编码。
3.4.2教育类课程
由“ J+5位数字”构成:1-2位为课程开出院系,3位为本科或专科(本科1,专科2),4-5位为课程。(如果该门课程分段,则在第6位表示段序)。武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
3.4.3专业课程
由7位数字构成:1-2位为院系,3位为本科或专科(本科1,专科2),4-5位为专业,6-7位为课程。
如: 0110101 语言学概论 0310101 旅游学概论 0320101 旅游学概论
注:课程包括本专业的所有课程;由于本学期要对我院的专科教学计划进行修订,在教学计划修订未最后确定前,请各院系教学计划研制人员先确定专科专业的课程名称,以便课程编码。3.4.4公共选修课
由“X+5位数字构成”,1—2位代表课程类别,3—5位为课程。公选课的课程类别共分7类,01为人文社会科学类,02为理工类、03为艺术类、04为体育类、05为教育心理类、06为经济与管理类、07为语言类。
如:X01001 中国历史与文化 X02001 数学建模 3.4.5班级编码
由7位数字构成,1-2位为院系,3位为本科或专科,4-5位为专业,6-7位为级别(入学年份的后两位)8-9位为班级编号。
如:汉语言文学专业本科2004级一班的编码为:011010401 旅游管理专业本科2004级二班的编码为: 032010402 3.4.6教室编码
教室编码,主要对本院系管理的所有教室、实验室、语音室、机房、多媒体教室、学生创作室、学生画室、学生练琴房、形体室、体育场地区划进行编码。
教室编码由7位数字构成:1-2位为院系,第3-7位为目前的教室门牌号(其中第3位为教室所在地的拼音缩写:J-教学楼;S-实验楼;T-为体育系操场区划或场地)
如:文学院的某一教室编码为:01J2033 化学系的某一实验教室编码为:09S4022 体育系的某一操场区域编码为:15T0001 3.4.7界面设计 武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
三系统实施
4.1系统设计
根据本系统的需求,并结合实际教师管理的情况,本系 统应具有如下功能模块:
4.1.1 用户类型
本系统的用户分为两类:教师类用户和管理员 类用户。教师类用户作为系统的普通用户,它包括当前系统中所有的教师信息,其用户名为教师的姓名,密码 为教师的编号,该类用户只能对自己的信息进行浏览,而不能浏览和查找其他教师的信息,也不能对自己和他 人的信息进行修改。管理员类用户作为系统的高级用户,在实际中可以为教务人事管理人员,他们有特定的权 限对系统中的所有教师信息进行浏览、查找,并进行管理,而且可以使用相应的报表功能。
4.1.2信息查看和浏览模块
对于教师用户而言,只能浏览自身的基本信息、授课信息、工资信息和科研信 息,但是不能对这些信息进行修改。对于管理员用户而言,不仅可以查看所有的教师信息,而且 可以武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
按逐条记录浏览。4.1.3查找模块
此部分功能只对管理员开放。如果浏览部分所提 供的浏览方式不能满足管理员的要求,那么管理员可以在现有的信息中进行查找,以便找到满足 条件的教师信息。在该模块中可以对教师基本信息的所有字段进行精确或者模糊查找。4.1.4教师基 本信息管理模块
此部分功能只对管理员开放。如果教师的基本信息改变,那么管理员可以根据具 体的情况,对教师进行管理,可以执行添加、删除、或者修改基本信息的操作。同时,管理员还 可以生成有关该教师的基本信息的报表。4.1.5教师授课信息管理模块
此部分功能只对 管理员开放。如果教师的授课信息改变,那么管理员可以根据情况对当前该教师的授课内容进行 添加、删除、或者修改操作。4.1.6教师工资信息管理模块
此部分功能只对管理员开放。如果教师的工资信息改变,那么管理员可以根据情况对当前该教师的工资信息进行添加、删除、或者修改操作。4.1.7教师科研信息管理模块
此部分功能只对管理员开放。如果教师 的科研信息改变,那么管理员可以根据情况对当前该教师的科研信息进行添加、删除、或者修改 操作。
4.2表结构(图2-4到)
武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
(2-4)Departme
(2-5)Class
武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
(2-6)Student
(2-7)Tuition
(2-8)Course
武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
(2-9)Grade
4.3查询视图(3-1)
(3-1)
(3-2)“显示表”对话匡 武汉理工大学华夏学院《数据库原理与应用》课程设计说明书
(3-3)查询所需的字段
(3-3)
四结论
教学资源库在教学实践中普遍存在的一些问题,通过对教学一线的教师的调查分析,结合多年来开发教学资源管理系统的实践经验,就教学资源库管理系统的现状、应具备的功能模块等方面提出了初步的设想,在资源库元数据的整合方面提出了资源管理、资源整合一体化的新思路,为建设一个规范、实用、好用而操作简单、管理方便、功能齐全的教学资源库管理系统提供一种尝试。
第二篇:数据库课程设计
数据库课程设计
第一章 引言
开发的意义
设计应用系统的任务及目标 设计开发及运行的软硬件环境
第二章 系统分析与设计
系统需求分析
数据库概念结构设计 数据库逻辑结构设计 数据库物理结构设计 系统总体结构设计
第三章 系统开发及实现
设计开发采用的技术及设计效果
第四章 总结
第三篇:数据库课程设计
需求分析
在银行业务模拟中用随机函数产生随机数,求客户在银行的平均时间,客户来到银行后加入两个队列,客户办理的业务有两种,一是取款和贷款,二是存款和还款。概要设计
typedef struct service { int num;//客户号 string type;//到达或离开 int beginTime;int endTime;int money;//正数为存款,负数为取款 struct service* next;}service;typedef struct //队列 { service* head;service* rear;}queue;int total;//初始时银行现存资金总额 int closeTime;//营业结束时间
int arriveTime;//两个到达事件之间的间隔上限 int dealTime;//客户交易的时间上限 int dealMoney=5000;//交易额上限 int currentTime=0;//当前时间 int totalTime=0;//客户逗留总时间 int counter=0;//客户总数 int number=1;//初始客户序列号 int currentTimeOfDeal=0;int theArriveTime=0;queue eq;//事件队列 queue fq;//队列一
queue sq;//对列二 //初始化三个队列 service* temped;int Time;void push(queue &q,int a)// 插入元素a为Q的新的队尾元素 void pop(queue &q)// 若队列不空,出对列函数 service* front(queue &q)//返回队首元素 service* back(queue &q)//返回队尾元素
service* searchAndDel(queue &q,int m)//在对列中寻找可处理元素 bool state=1;//用于判断是否有窗口在处理
void arrive()//“到达”函数 随机产生顾客,进入队列一产生到达事件 进入事件队列
void putMoney()//存款函数 void getMoney()//取款函数
void findAndDeal()//在对列中寻找可处理元素,对其进行处理 运行环境
Window XP Visual C++ 开发工具和编程语言
Visual C++ C++ 详细设计
1.队列的链式表示和实现 typedef struct service { int num;//客户号
string type;//到达或离开 int beginTime;int endTime;int money;//正数为存款,负数为取款 struct service* next;}service;typedef struct //队列 { service* head;service* rear;}queue;2.插入一个元素为队尾元素 void push(queue &q,int a){ service* p=new service;p->money=a;p->next=NULL;if(q.head==NULL)//列队为空,初始化 { q.head=p;q.rear=p;} else //队列不为空,插入元素a { q.rear->next=p;q.rear=q.rear->next;} } 3.返回函数
service* front(queue &q)//返回队首元素 { return q.head;} service* back(queue &q)//返回队尾元素 { return q.rear;} 4.在对列中寻找可处理元素
service* searchAndDel(queue &q,int m){ service* sign=q.head;//标记头节点 service* p;while(q.head!=NULL){ if((-(q.head->money)) { p=q.head;q.head=q.head->next;//首节点后移一位,返回原首节点 return p;} } if((-(q.head->money))>m)//队首元素不能被处理 { if(q.head==q.rear){ } return NULL;else //首节点移到队列尾部 { q.rear->next=q.head;q.rear=q.rear->next;q.head=q.head->next;q.rear->next=NULL;} } if(q.head==sign)//队列循环一周时停止 return NULL;} return NULL;} 5.到达函数 void arrive()//到达“函数 随机产生顾客,进入队列一产生到达事件 进入事件队列 { push(fq,(rand()%(2*dealMoney)-dealMoney));//随机产生顾客加入第一队列 back(fq)->beginTime=currentTime;back(fq)->num=number;push(eq,(back(fq)->money));//将产生事件加入事件队列 back(eq)->beginTime=currentTime;back(eq)->type=”到达“;back(eq)->num=number;++number;} 6存款函数 void putMoney(){ total+=front(fq)->money;//更新资金总额 push(eq,front(fq)->money);//加入事件队列 离开 back(eq)->type=”离开“;back(eq)->num=front(fq)->num;back(eq)->endTime=(front(fq)->beginTime+rand()%dealTime+1);++counter;//更新客户总数 totalTime+=(back(eq)->endTime-front(fq)->beginTime);//更新逗留时间 pop(fq);//删除第一队列第一个业务 currentTimeOfDeal=back(eq)->endTime;state=0;} 7取款函数 void getMoney()//取款函数 { if((-fq.head->money)>total)//资金短缺 加入第二队列 { push(sq,front(fq)->money);back(sq)->beginTime=front(fq)->beginTime;back(sq)->num=front(fq)->num;pop(fq);6 } else { total=total+back(fq)->money;push(eq,front(fq)->money);//加入事件队列离开 back(eq)->type=”离开“;back(eq)->num=front(fq)->num;back(eq)->endTime=(front(fq)->beginTime+rand()%dealTime+1);back(eq)->beginTime=0;currentTimeOfDeal=back(eq)->endTime;++counter;//更新客户总数 totalTime+=(back(eq)->endTime-back(fq)->beginTime);//更新逗留时间 pop(fq);//删除第一队列第一个业务 state=0;} } 8.在对列中寻找可处理元素,对其进行处理 void findAndDeal(){ while((temped=searchAndDel(sq,total))&&NULL!=temped)//查找可处理取款 { total+=temped->money; totail=total+temped->money;push(eq,temped->money);//加入事件队列训 离开 back(eq)->type=”离开“;back(eq)->num=temped->num;randomTemp=rand()%dealTime+1; //更 新资 金总额 7 back(eq)->endTime=currentTime+randomTemp;currentTimeOfDeal+=randomTemp;++counter;//更新客户总数 totalTime+=(back(eq)->endTime-temped->beginTime);//更新逗留时间 delete temped;//删除节点 temped=NULL;} state=0;} 9 主函数 int main(){ int m;cin>>m;if(m=111111){ cout<<”欢迎进入系统< srand(time(NULL));//初始化随机函数 cout<<”输入银行的初始存款:n“;cin>>total;cout<<”输入银行的营业时间:n“;cin>>closeTime;8 cout<<”输入最大到达时间间隔:n“;cin>>arriveTime;cout<<”输入最大的处理时间:n“;cin>>dealTime;theArriveTime+=rand()%arriveTime+1;//首次到达时间 while(currentTime } cout< } if(state==1&&fq.head!=NULL){ } if(fq.head->money>=0){ } else getMoney();putMoney();findAndDeal();arrive();theArriveTime+=rand()%arriveTime+1;9 <<”事件类型“<<”tt“ <<” 时间“<<”t“ <<” 处理金额“< } cout<<”未处理客户:“<<”“< < < cout< } } cout<<”银行当前余额:"< 在用随即函数rand产生随机数的时候,对其初始化用srand(time(NULL),为了使得产生的随机数是整数要在后面加一 测试结果 如图一所示为输入密码进入系统后 图一输入密码进入系统后 如图二为输入银行的初始存款,营业时间,两个到达事件的最大间隔,客户交易的最大时间 图二输入各项信息后 如图三所示产生的客户信息 图三 客户的信息(到达时间和离开时间,平均在的时间) 参考文献 [1] 吴文虎,程序设计基础(第二版),北京,清华大学出版社 [2] 谭浩强,C语言程序设计,北京,清华大学出版社 [3] 边肇祺,模式识别(第二版),北京:清华大学出版社 [4] 李永忠,几种小波变换的图像处理技术,西北民族学院学报,自然科学版 [5] 严蔚敏,吴伟民,米宁,数据结构题集(c语言版),清华大学出版社 心得体会 转眼之间,来到大学已经一年半的时间了,对程序的学习也有了初步的认识,在大一的时候学习了程序设计,大二紧接着又学了数据结构,在这次的课程设计中,遇到了一些问题,通过老师和同学的帮助得到了解决,并且对程序设计的认识又提高了一个层次,在以后的学习中,对经常出现的问题会更加注意。 这次的课程设计给了我很大的帮助,在过程中学到了很多的知识,对程序的规范性以及有效性更加的重视。在以后编程序的过程中会更加注意程序的完善性,使程序的功能更加的齐全,而这也是作为一个程序设计师必须要具备的。认识到只有多多的练习才能更好的运用所学习的知识。在大学里要充分的利用各种资源,提高自己的水平。 数据库课程设计心得体会 一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。 课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。 数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。 在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。 这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。 通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。 在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。 当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。 我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。 知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。 本次课程设计,使我对《数据结构》这门课程有了更深入理解。《数据结构》是一门实践性较强课程,为了学好这门课程,必须在掌握理论知识同时,加强上机实践。 我课程设计题目是线索二叉树运算。刚开始做这个程序时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间帮助最终基本解决问题。 在本课程设计中,我明白了理论与实际应用相结合重要性,并提高了自己组织数据及编写大型程序能力。培养了基本、良好程序设计技能以及合作能力。这次课程设计同样提高了我综合运用所学知识能力。并对VC有了更深入了解。《数据结构》是一门实践性很强课程,上机实习是对学生全面综合素质进行训练一种最基本方法,是与课堂听讲、自学和练习相辅相成、必不可少一个教学环节。 上机实习一方面能使书本上知识变“活”,起到深化理解和灵活掌握教学内容目;另一方面,上机实习是对学生软件设计综合能力训练,包括问题分析,总体结构设计,程序设计基本技能和技巧训练。此外,还有更重要一点是:机器是比任何教师更严厉检查者。因此,在“数据结构”学习过程中,必须严格按照老师要求,主动地、积极地、认真地做好每一个实验,以不断提高自己编程能力与专业素质。 通过这段时间课程设计,我认识到数据结构是一门比较难课程。需要多花时间上机练习。这次程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计基本技能,提高了我适应实际,实践编程能力。总来说,这次课程设计让我获益匪浅,对数据结构也有了进一步理解和认识。 两个星期时间非常快就过去了,这两个星期不敢说自己有多大进步,获得了多少知识,但起码是了解了项目开发部分过程。虽说上过数据库上过管理信息系统等相关课程,但是没有亲身经历过相关设计工作细节。这次实习证实提供了一个很好机会。 通过这次课程设计发现这其中需要很多知识我们没有接触过,去图书馆查资料时候发现我们前边所学到仅仅是皮毛,还有很多需要我们掌握东西我们根本不知道。同时也发现有很多已经学过东西我们没有理解到位,不能灵活运用于实际,不能很好用来解决问题,这就需要我们不断大量实践,通过不断自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用东西。从各种文档阅读到开始需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统设计开发过程。很多东西书上写很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统时候才发现其中难度。经常做到后面突然就发现自己一开始设计有问题,然后又回去翻工,在各种反复中不断完善自己想法。 我想有这样问题不止我一个,事后想想是一开始着手做时候下手过于轻快,或者说是根本不了解自己要做这个系统是给谁用。因为没有事先做过仔细用户调查,不知道整个业务流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免,不然会给后来工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后课程设计要特别注意这一块设计。 按照要求,我们做是机票预订系统。说实话,我对这个是一无所知,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计下场我已经尝过了,结果就是出来一个四不像设计方案,没有什么实际用处。没有前期调查,仅从指导书上那几条要求着手是不够。 在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们生活经验,根据可行性研究结果和客户要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言规范性以及我们在编程时要有严谨态度,同时在写程序时如有一定量注释,既增加了程序可读性,也可以使自己在读程序时更容易。 我们学习并应用了SQL语言,对数据库创建、修改、删除方法有了一定了解,通过导入表和删除表、更改表学会了对于表一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价一般过程,为毕业设计打下基础。 很多事情不是想象中那么简单,它涉及到各种实体、属性、数据流程、数据处理等等。很多时候感觉后面设计根本无法继续,感觉像是被前面做各种图限制了。在做关系模型转换时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。 物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引部分,对一些比较经常使用搜索列,外键上建立索引,这样可以明显加快检索速度,最后别忘记重要安全性设置,限制用户访问权限,新建用户并和数据库用户做相应映射。 不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难事在你尝试之后你可能会发现原来她并没有你以前觉得那样,自己也是可以。如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我最大感想! 以上基本是这次实习体会了,设计进行非常艰难,编码非常不容易,才发现做一个项目最重要不在于如何实现,而是实现之前需求分析和模块设计。创新很难,有些流行系统其实现并不难,难在于对市场分析和准确定位。设计,是一个任重道远过程。 在我看来,数据库课程设计主要目标是利用课程中学到数据库知识和技术较好开发设计出数据库应用系统,去解决各行各业信息化处理要求。通过这次课程设计,可以巩固我们对数据库基本原理和基础理论理解,掌握数据库应用系统设计开发基本方法,进一步提高我们综合运用所学知识能力。 当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块分工。每个人都有自己模块设计,而且写出来代码要求可以实现相应模块功能,得到理想效果。当每个人都把自己分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中奥秘。 我所负责是数据库备份和还原还有一些界面实现。还记得自己刚接触html时候,觉得很感兴趣,所以有一段时间几乎到了痴迷程度。然而Php 是我刚接触不久一种编程语言。不过觉得它功能真很强大,可以开发出很多大型系统。但是在做备份和还原时候,要考虑东西还是很多。当我遇到错误时候,感到很受打击。值得欣慰是,在同学帮助和大量参考书查阅下,我把自己模块做好了。这就是我收获最大地方。而且,我明白了遇到困难永不放弃重要性,我知道了团队合作重要性,我领悟了只有坚持不懈才会取得胜利。知识获得是无止境,只要你想学,只要你行动,没有什么会难倒我们。回首这一个多星期课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们不懈帮助,谢谢学校给了我们这一次实践机会,也谢谢组员们关怀。这些美好回忆美好东西将永远伴随着我。 时间真的如轮一样在飞转,一周的实训又一次即将结束,可是,感觉仿佛只过去了一天。实训结束也意味着这个学期也将结束。不管时间多么的飞快,这周短暂的VB程序设计实训同样让我们收益不少。首先,不说我们学到了多少专业知识,也不说我们学到了多少专业技能。在这样零下1度的天气中实训,着实是锻炼我们的意志力。人都有惰性,这是无可厚非的事实。在寒冷的'天气里,赖床就更是常有的事。因为要实训,我们很多平常经常迟到的同志不得不早起。就说实训的第一天,外面飘着白雪,早上,手机的闹铃已经响过第二遍了。 我们宿舍的几个姐妹还躲在被窝里无动于衷。可是,当一个姐们突然说了一句,“这周要实训”时,我们都‘呼啦’爬了起来,以惊人的速度洗漱好,急忙赶到教室。不管平时多么懒散的同学,这次实训都表现的异样的认真。这应该算是实训赋给我们的特别礼物吧!实训的目的无非就是训练我们的操作能力,以及提高我们的专业技能。实践出真知,这是不变的真理。毫无疑问,这次VB程序设计实训让我们每一位同学都在不同程度上提高了编程技能。编程是我们的专业课程,可是,在老师平时上课的时候,班上大部分同学都以怠慢的态度对待。所以,对这门课程学的泛泛的。 实训前,如果要我们做一个管理系统,我想班上能完成任务的同学应该寥寥无几。在实训前,我们常抱怨,编程有多么的难。一个学期的学习,我们居然都不能完全的做出一个管理系统来。而这次短短的实训,却让我们学会了做管理系统。没错,就是短短的几天,我们每位同学都完成了一个自己做的管理系统。这说明,编程它本身不是很难,而在于你是不是真正的学习了。这次实训让我深刻的明白,你的态度决定一切。就以我自己的经历来说,一个学期的学习还没没短短一周学到的多。这是为什么?主导因素就是态度。在平日的学习中,我抱着不以为然的态度,以懒散的心态对待这门课程。所以,一个学期下来,我的编程学的一塌糊涂。而这次实训,就像是一场实战,必须认真对待。而这几天踏踏实实的学习,将我平日落下的学习全都补救过来了。真的非常感谢这次实训。通过这次实训,我的编程技能确比之前实提高了不少。 更重要的是,在这次实训中,让我明白:学习或生活中发现了自己的不足,就要及时改进。不管是在学习中,还是在生活中,有不懂的没关系。而,如果不懂,也不去问,就是一件很悲哀的事情。这次实训中,我遇到了很多不懂的问题,但是,这些不懂最后都被我弄懂了。因为遇到不懂的不会做的我及时主动询问了周围的同学。同学不懂的,我又询问了老师。不要认为问别人是一件让人很羞耻的事情。不懂就问,不但不会让你蒙羞,反而能显示你的真实与谦虚。 总之,这次实训我又有不少新收获。 最后,还要感谢这次实训期间周围同学的热情帮助和老师的热心讲解与指导。 数据库课程设计任务书 一.课程设计目的1.通过本设计,加深学生对数据库基础理论和基本知识的理解,培养学生运用所学理论知识对数据库进行组织、管理和使用的能力,使学生初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。 2.掌握数据库应用系统的整个设计过程(包括需求分析、概念结构设计、逻辑结构设计与物理设计与实施),提高运用数据库解决实际问题的能力。 二.基本要求 本课程设计要求学生熟练掌握相关数据库的基础知识,独立完成设计任务,并完成课程设计报告。 1.数据库设计 1)需求分析,根据系统需求,查找相关资料,对数据进行分析,画出系统数据流图,并编写数据词典。 2)概念结构设计:在需求分析的基础上,设计E-R模型,详细描述实体的属性和实体之间的联系,消除不必要的冗余。注意:实体、属性和联系的划分与确定。 3)逻辑结构设计:实现E-R图向关系模型的转换。 Ø 分析在所描述的关系模型中,存在那些函数依赖? Ø 分析各关系模式所满足的范式,并将所有关系模式转换为满足第三范式的关系模型,优化数据模型。 Ø 分析描述的关系模型中,存在那些完整性要求;并指出关系模型中各关系模式的主键、候选键、外键。 Ø 分析描述的关系模型中,需要定义那些用户视图?并说明其作用; Ø 使用SQL语句定义关系模型(包括用户视图);1 Ø 有哪些常见的查询操作?设计查询并用SQL语言实现之。5 2.数据库应用系统开发 按照设计的数据库,开发相应的数据库管理系统,至少能实现如下功能: 1)基本信息的管理,包括数据的增、删、更新。 2)信息的查询:提供各种查询方式,包括精确查询,模糊查询和区间查询。 3)基本信息的统计,最好能以统计图方式显示。 4)数据库的备份和恢复。 5)用户的权限管理等。 三.课程设计报告结构 1.需求分析 1.1 用户需求:系统现状,要解决的主要问题,达到的具体指标等。 1.2 业务流程分析:描述系统的业务流程,画出规范的业务流程图。 1.3 信息需求分析 1.3.1 资料收集:业务流程中用到的相关单据票证帐簿报表报告等资料,画出格式,最好是填有具体内容的表格等。 1.3.2 事项分析:分析资料中标题、表头等中各栏目名,列出所有事项,作为数据项;分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。 1.4 功能需求分析:改进完善业务流程图,分析用户需要系统完成哪些任务,逐层分解,画出功能层次图。 2.(数据库)概念(模型)设计 写出由基本项构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性,并确定主实体的主标识,画出ERD(不少于三个主实体,两个联系和24个属性);用原则4检查改正错误;对其中复杂的多元联系进行分析,必要则改进。 3.(数据库)逻辑(模型)设计 3.1 一般逻辑模型设计:写出由ERD导出一般关系模型的四条原则,列出数据库初步构思的关系框架(二维表的表头)[与具体DBMS无关],并检查优化改进之。 3.2 具体逻辑模型设计:按所用的DBMS要求,设计表(文件)的具体结构,在关系框架下补充字段类型、长度、小数位数等行。 3.3 视图设计: 4.数据库物理设计与数据库保护设计 4.1 设计索引:在表(文件)的具体结构关系框架下补充字段索引行或在框架外补充索引说明,指出索引字段或索引表达式、索引类型。 4.2 设计表间关系:列出父表与子表的关联索引,指出要建立的表间关系的类型。 4.3 完整性设计:列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。 4.4 在有多个用户操作时,考虑用户授权与安全性控制。 5.处理功能设计(注意:此时系统未实现,设计结构都是写出或画出的,而不能是系统运行生成的) 5.1 主控模块设计:包括系统环境初始化、欢迎画面、用户身份验证、主控表单或菜单、告别画面、系统退出的环境恢复等功能。 5.2 子模块设计:按系统业务要求设计各项业务模块和系统管理模块,要能完成系统业务和系统管理功能。 5.3 查询设计:常用的查询。 6.数据库应用系统的实现 6.1 数据库及其表结构的建立:建立数据库描述文件及用命令定义并建立其数据库表),注意完整性、索引与永久关联的实现,并附打印出的源模式(CREATE TABLE命令)与作为命令执行结果的数据库表结构及其关联图、参照完整性表。 6.2 数据输入:录入数据,并打印出的各表的内容。 6.3 模块实现:用视窗菜单和/或程序编辑器实现各模块,调试正确后打印实现的系统输出结果。建议先实现输入模块,再实现其他子模块,然后实现主控模块。最好建立项目,用项目管理器来管理整个系统。打印出实现结果(表单、源程序)。写出实现的经过与体会。查询语句。 7.数据库应用系统运行 7.1 写出系统操作使用的简要说明。 7.2 按使用说明运行系统并打印出运行结果(至少有两个查询结果和两个报表输出结果)。 7.3 系统评价:采用的有特色的技术与技巧;成功之处与主要特点;系统会改进完善之处和进一步工作的打算。 四.课程设计成绩评定 设计报告70%,答辩或系统演示30%。最终成绩按照五级评定:优、良、中、及格、不及格。 课程设计应用系统程序应独立完成,程序功能完整,设计方法合理,用户界面较好,系统运行正常。 如果发现并确定为抄袭,则双方成绩为不及格。 1.设计报告评分标准 等级 评定标准 优秀 1.问题描述准确; 2.解决方案很有说服力; 3.系统功能和使用说明有价值,并通过答辩和演示; 4.结束语深刻,很有说服力; 5.按时完成,报告格式,版面整洁、语言规范等; 良好 1.问题描述正确; 2.解决方案良好; 3.系统功能和使用说明正确,清晰; 4.结束语较深刻,有说服力; 5.按时完成,报告格式,版面整洁、语言通顺等; 中等 1.问题描述基本正确; 2.解决方案基本可行; 3.系统功能和使用说明基本正确、清晰; 4.结束语较深刻; 5.按时完成,报告格式,版面整洁、语言通顺等; 及格 1.问题描述不完整; 2.解决方案不完整; 3.系统功能和使用说明不完整; 4.结束语不深刻,无说服力; 5.按时完成,报告格式,版面整洁、语言不规范等; 不及格 1.问题描述没有; 2.解决方案没有; 3.系统功能和使用说明没有; 4.结束语没有; 5.未按时完成等; 2.答辩或系统演示的评分标准 等级 评定标准 优秀 1.答辩或系统演示过程中,思路清晰,论点正确; 2.对设计方案理解深入,问题回答正确。 良好 1.答辩或系统演示过程中,思路清晰,论点基本正确; 2.对设计方案理解较深入,主要问题回答基本正确。 中等 1.答辩或系统演示过程中,思路比较清晰、论点有个别错误,分析不够深入; 2.对设计方案理解一般,个别问题回答不正确。 及格 1.答辩或系统演示过程中,思路不清晰,论点有错误; 2.主要问题经启发能回答,但分析较为肤浅。 不及格 1.答辩或系统演示过程中,主要问题阐述不清,对设计内容缺乏了解,概念模糊; 2.问题基本回答不出。 五.进度安排 六.提交内容 电子版:每位同学建一文件夹,文件夹的名字以“学号+姓名”的形式命名。然后将自己完成的课设报告一份、实现系统的源码一份(以Eclipse工程组织)、Tomcat上的应用发布一份(webapps下的文件夹形式或WAR包)、其他文件(如:数据库创建脚本、系统使用说明等)放于该文件夹。由学委统一收集后上交并刻盘。 七.参考文献 附件: 学生学籍管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 学生基本情况数据表,学生成绩数据表,课程表,代码表等。 2.主要功能模块 1)实现学生基本情况的录入、修改、删除等基本操作。 2)对学生基本信息提供灵活的查询方式。 3)完成一个班级的学期选课功能。 4)实现学生成绩的录入、修改、删除等基本操作。 5)能方便的对学生的个学期成绩进行查询。 6)具有成绩统计、排名等功能。 7)具有留级、休学等特殊情况的处理功能。 8)能输出常用的各种报表。 9)具有数据备份和数据恢复功能。 三、设计要求 学生成绩表的设计,要考虑到不同年级的教学计划的变化情况。 对于新生班级,应该首先进行基本情况录入、选课、然后才能进行成绩录入。 图书管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1. 要的数据表 图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表,代码表等。 2. 功能模块 1)图书基本情况的录入、修改、删除等基本操作。 2)办理借书卡模块。 3)实现借书功能。 4)实现还书功能。 5)能方便的对图书进行查询。 6)对超期的情况能自动给出提示信息。 7)具有数据备份和数据恢复功能。 三、设计要求 图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。 银行储蓄系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1. 主要的数据表 定期存款单,活期存款帐,存款类别代码表等。 2. 功能模块 1)实现储户开户登记。 2)办理定期存款帐。 3)办理定期取款手续。 4)办理活期存款帐 5)办理活期取款手续。 6)实现利息计算。 7)输出明细表。 8)具有数据备份和数据恢复功能。 三、设计要求 要进行实际调研,系统功能在实现时参照实际的储蓄系统的功能。同时要考虑银行系统数据的安全与保密工作。数据要有加密功能。 设备管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1. 主要数据表 设备明细帐表,设备使用单位代码表,国家标准设备分类表等。 2. 功能模块 1)实现设备的录入、删除、修改等基本操作。 2)实现国家标准设备代码的维护。 3)能够对设备进行方便的检索。 4)实现设备折旧计算。 5)能够输出设备分类明细表。 6)具有数据备份和数据恢复功能。 三、设计要求 具体设备编码参考国家统一编码方法,功能实现也要考虑通用性。 医院药品进销存系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1. 主要的数据表 药品分类代码表,药品库存表,供货商信息表,采购信息表等。 2. 功能模块 1)新药品的入库。 2)过期药品的出库登记、处理记录。 3)药品库存检索。 4)供货商信息检索。 5)药品采购记录管理。 6)药品用药说明信息管理。 7)输出相应的数据报表。 8)具有数据备份和数据恢复功能。 三、设计要求 具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法。 英语学习助手 一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 英语分级单词表,常用单词例句表,短文分级表等。 2. 功能模块 1)实现英语单词的录入、修改、删除等基本操作。 2)实现常用英语单词例句的录入、修改、删除等基本操作。 3)实现英语单词检索、翻译等。 4)常用英语单词例句检索。 5)根据难度随机生成一份单词测试题目。 6)能够检索出短文极其翻译对照表。 7)具有数据备份和数据恢复功能。 三、设计要求 系统要考虑实用性,尽量实现英汉互译。英语单词和短语可以考虑加上声音。 大学生就业咨询系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1. 主要数据表 用人单位基本信息表,专业信息表,地区代码表等 2. 功能模块 1)对用人单位的基本信息进行录入、修改、删除等。 2)实现毕业生专业信息的维护。 3)定时发布用人单位的毕业生需求信息。 4)方便的实现对人才需求信息的检索。 5)对用人单位的级别能够自动进行变更。 6)能够对历年的毕业需求信息进行统计、分析。 7)具有数据备份和数据恢复功能。 三、设计要求 方便毕业生进行就业信息检索,可考虑将就业信息在网上进行发布。 教务辅助管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 教师基本信息表,课程表,教室资源表等 2.功能模块 1)对上课教师基本信息进行管理。 2)对全院开设的课程进行管理。 3)录入教师基本上课信息。 4)实现自动排课功能。 5)计算工作量 6)能够进行各种数据统计。 7)能够输出相应的报表。 8)具有数据备份和数据恢复功能。 数据库课程设计任务书 一.课程设计目的1.通过本设计,加深学生对数据库基础理论和基本知识的理解,培养学生运用所学理论知识对数据库进行组织、管理和使用的能力,使学生初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。 2.掌握数据库应用系统的整个设计过程(包括需求分析、概念结构设计、逻辑结构设计与物理设计与实施),提高运用数据库解决实际问题的能力。 二.基本要求 本课程设计要求学生熟练掌握相关数据库的基础知识,独立完成设计任务,并完成课程设计报告。 1.数据库设计 1)需求分析,根据系统需求,查找相关资料,对数据进行分析,画出系统数据流图,并编写数据词典。 2)概念结构设计:在需求分析的基础上,设计E-R模型,详细描述实体的属性和实体之间的联系,消除不必要的冗余。注意:实体、属性和联系的划分与确定。 3)逻辑结构设计:实现E-R图向关系模型的转换。 Ø 分析在所描述的关系模型中,存在那些函数依赖? Ø 分析各关系模式所满足的范式,并将所有关系模式转换为满足第三范式的关系模型,优化数据模型。 Ø 分析描述的关系模型中,存在那些完整性要求;并指出关系模型中各关系模式的主键、候选键、外键。 Ø 分析描述的关系模型中,需要定义那些用户视图?并说明其作用; Ø 使用SQL语句定义关系模型(包括用户视图);1 Ø 有哪些常见的查询操作?设计查询并用SQL语言实现之。5 2.数据库应用系统开发 按照设计的数据库,开发相应的数据库管理系统,至少能实现如下功能: 1)基本信息的管理,包括数据的增、删、更新。 2)信息的查询:提供各种查询方式,包括精确查询,模糊查询和区间查询。 3)基本信息的统计,最好能以统计图方式显示。 4)数据库的备份和恢复。 5)用户的权限管理等。 三.课程设计报告结构 1.需求分析 1.1 用户需求:系统现状,要解决的主要问题,达到的具体指标等。 1.2 业务流程分析:描述系统的业务流程,画出规范的业务流程图。 1.3 信息需求分析 1.3.1 资料收集:业务流程中用到的相关单据票证帐簿报表报告等资料,画出格式,最好是填有具体内容的表格等。 1.3.2 事项分析:分析资料中标题、表头等中各栏目名,列出所有事项,作为数据项;分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。 1.4 功能需求分析:改进完善业务流程图,分析用户需要系统完成哪些任务,逐层分解,画出功能层次图。 2.(数据库)概念(模型)设计 写出由基本项构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性,并确定主实体的主标识,画出ERD(不少于三个主实体,两个联系和24个属性);用原则4检查改正错误;对其中复杂的多元联系进行分析,必要则改进。 3.(数据库)逻辑(模型)设计 3.1 一般逻辑模型设计:写出由ERD导出一般关系模型的四条原则,列出数据库初步构思的关系框架(二维表的表头)[与具体DBMS无关],并检查优化改进之。 3.2 具体逻辑模型设计:按所用的DBMS要求,设计表(文件)的具体结构,在关系框架下补充字段类型、长度、小数位数等行。 3.3 视图设计: 4.数据库物理设计与数据库保护设计 4.1 设计索引:在表(文件)的具体结构关系框架下补充字段索引行或在框架外补充索引说明,指出索引字段或索引表达式、索引类型。 4.2 设计表间关系:列出父表与子表的关联索引,指出要建立的表间关系的类型。 4.3 完整性设计:列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。 4.4 在有多个用户操作时,考虑用户授权与安全性控制。 5.处理功能设计(注意:此时系统未实现,设计结构都是写出或画出的,而不能是系统运行生成的) 5.1 主控模块设计:包括系统环境初始化、欢迎画面、用户身份验证、主控表单或菜单、告别画面、系统退出的环境恢复等功能。 5.2 子模块设计:按系统业务要求设计各项业务模块和系统管理模块,要能完成系统业务和系统管理功能。 5.3 查询设计:常用的查询。 6.数据库应用系统的实现 6.1 数据库及其表结构的建立:建立数据库描述文件及用命令定义并建立其数据库表),注意完整性、索引与永久关联的实现,并附打印出的源模式(CREATE TABLE命令)与作为命令执行结果的数据库表结构及其关联图、参照完整性表。 6.2 数据输入:录入数据,并打印出的各表的内容。 6.3 模块实现:用视窗菜单和/或程序编辑器实现各模块,调试正确后打印实现的系统输出结果。建议先实现输入模块,再实现其他子模块,然后实现主控模块。最好建立项目,用项目管理器来管理整个系统。打印出实现结果(表单、源程序)。写出实现的经过与体会。查询语句。 7.数据库应用系统运行 7.1 写出系统操作使用的简要说明。 7.2 按使用说明运行系统并打印出运行结果(至少有两个查询结果和两个报表输出结果)。 7.3 系统评价:采用的有特色的技术与技巧;成功之处与主要特点;系统会改进完善之处和进一步工作的打算。 四.课程设计成绩评定 设计报告70%,答辩或系统演示30%。最终成绩按照五级评定:优、良、中、及格、不及格。 课程设计应用系统程序应独立完成,程序功能完整,设计方法合理,用户界面较好,系统运行正常。 如果发现并确定为抄袭,则双方成绩为不及格。 1.设计报告评分标准 等级 评定标准 优秀 1.问题描述准确; 2.解决方案很有说服力; 3.系统功能和使用说明有价值,并通过答辩和演示; 4.结束语深刻,很有说服力; 5.按时完成,报告格式,版面整洁、语言规范等; 良好 1.问题描述正确; 2.解决方案良好; 3.系统功能和使用说明正确,清晰; 4.结束语较深刻,有说服力; 5.按时完成,报告格式,版面整洁、语言通顺等; 中等 1.问题描述基本正确; 2.解决方案基本可行; 3.系统功能和使用说明基本正确、清晰; 4.结束语较深刻; 5.按时完成,报告格式,版面整洁、语言通顺等; 及格 1.问题描述不完整; 2.解决方案不完整; 3.系统功能和使用说明不完整; 4.结束语不深刻,无说服力; 5.按时完成,报告格式,版面整洁、语言不规范等; 不及格 1.问题描述没有; 2.解决方案没有; 3.系统功能和使用说明没有; 4.结束语没有; 5.未按时完成等; 2.答辩或系统演示的评分标准 等级 评定标准 优秀 1.答辩或系统演示过程中,思路清晰,论点正确; 2.对设计方案理解深入,问题回答正确。 良好 1.答辩或系统演示过程中,思路清晰,论点基本正确; 2.对设计方案理解较深入,主要问题回答基本正确。 中等 1.答辩或系统演示过程中,思路比较清晰、论点有个别错误,分析不够深入; 2.对设计方案理解一般,个别问题回答不正确。 及格 1.答辩或系统演示过程中,思路不清晰,论点有错误; 2.主要问题经启发能回答,但分析较为肤浅。 不及格 1.答辩或系统演示过程中,主要问题阐述不清,对设计内容缺乏了解,概念模糊; 2.问题基本回答不出。 五.进度安排 六.提交内容 电子版:每位同学建一文件夹,文件夹的名字以“学号+姓名”的形式命名。然后将自己完成的课设报告一份、实现系统的源码一份(以Eclipse工程组织)、Tomcat上的应用发布一份(webapps下的文件夹形式或WAR包)、其他文件(如:数据库创建脚本、系统使用说明等)放于该文件夹。由学委统一收集后上交并刻盘。 七.参考文献 附件: 学生学籍管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 学生基本情况数据表,学生成绩数据表,课程表,代码表等。 2.主要功能模块 1)实现学生基本情况的录入、修改、删除等基本操作。 2)对学生基本信息提供灵活的查询方式。 3)完成一个班级的学期选课功能。 4)实现学生成绩的录入、修改、删除等基本操作。 5)能方便的对学生的个学期成绩进行查询。 6)具有成绩统计、排名等功能。 7)具有留级、休学等特殊情况的处理功能。 8)能输出常用的各种报表。 9)具有数据备份和数据恢复功能。 三、设计要求 学生成绩表的设计,要考虑到不同年级的教学计划的变化情况。 对于新生班级,应该首先进行基本情况录入、选课、然后才能进行成绩录入。 图书管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.要的数据表 图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表,代码表等。 2.功能模块 1)图书基本情况的录入、修改、删除等基本操作。 2)办理借书卡模块。 3)实现借书功能。 4)实现还书功能。 5)能方便的对图书进行查询。 6)对超期的情况能自动给出提示信息。 7)具有数据备份和数据恢复功能。 三、设计要求 图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。 银行储蓄系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 定期存款单,活期存款帐,存款类别代码表等。 2.功能模块 1)实现储户开户登记。 2)办理定期存款帐。 3)办理定期取款手续。 4)办理活期存款帐 5)办理活期取款手续。 6)实现利息计算。 7)输出明细表。 8)具有数据备份和数据恢复功能。 三、设计要求 要进行实际调研,系统功能在实现时参照实际的储蓄系统的功能。同时要考虑银行系统数据的安全与保密工作。数据要有加密功能。 设备管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要数据表 设备明细帐表,设备使用单位代码表,国家标准设备分类表等。 2.功能模块 1)实现设备的录入、删除、修改等基本操作。 2)实现国家标准设备代码的维护。 3)能够对设备进行方便的检索。 4)实现设备折旧计算。 5)能够输出设备分类明细表。 6)具有数据备份和数据恢复功能。 三、设计要求 具体设备编码参考国家统一编码方法,功能实现也要考虑通用性。 医院药品进销存系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 药品分类代码表,药品库存表,供货商信息表,采购信息表等。 2.功能模块 1)新药品的入库。 2)过期药品的出库登记、处理记录。 3)药品库存检索。 4)供货商信息检索。 5)药品采购记录管理。 6)药品用药说明信息管理。 7)输出相应的数据报表。 8)具有数据备份和数据恢复功能。 三、设计要求 具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法。 英语学习助手 一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 英语分级单词表,常用单词例句表,短文分级表等。 2. 功能模块 1)实现英语单词的录入、修改、删除等基本操作。 2)实现常用英语单词例句的录入、修改、删除等基本操作。 3)实现英语单词检索、翻译等。 4)常用英语单词例句检索。 5)根据难度随机生成一份单词测试题目。 6)能够检索出短文极其翻译对照表。 7)具有数据备份和数据恢复功能。 三、设计要求 系统要考虑实用性,尽量实现英汉互译。英语单词和短语可以考虑加上声音。 大学生就业咨询系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要数据表 用人单位基本信息表,专业信息表,地区代码表等 2.功能模块 1)对用人单位的基本信息进行录入、修改、删除等。 2)实现毕业生专业信息的维护。 3)定时发布用人单位的毕业生需求信息。 4)方便的实现对人才需求信息的检索。 5)对用人单位的级别能够自动进行变更。 6)能够对历年的毕业需求信息进行统计、分析。 7)具有数据备份和数据恢复功能。 三、设计要求 方便毕业生进行就业信息检索,可考虑将就业信息在网上进行发布。 教务辅助管理系统一、设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。 二、设计内容 1.主要的数据表 教师基本信息表,课程表,教室资源表等 2.功能模块 1)对上课教师基本信息进行管理。 2)对全院开设的课程进行管理。 3)录入教师基本上课信息。 4)实现自动排课功能。 5)计算工作量 6)能够进行各种数据统计。 7)能够输出相应的报表。 8)具有数据备份和数据恢复功能。第四篇:数据库课程设计心得体会
第五篇:数据库课程设计任务书