数据库课程设计报告

| 收藏本文 下载本文 作者:南华期货

这次小编给大家整理了数据库课程设计报告(共含19篇),供大家阅读参考。同时,但愿您也能像本文投稿人“南华期货”一样,积极向本站投稿分享好文章。

数据库课程设计报告

篇1:数据库课程设计报告

数据库课程设计报告

一 绪论

随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。

此次数据库课程设计的主要设计如下:

原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。

需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。

二 员工薪资管理系统概述

1、现状分析

随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设

的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

2、系统目标

员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:

(1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。

(2)对职工的工资进行计算、修改。可以对职工的工资档案进

行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资及实发金额等。

(3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。

(4)对用户管理功能。一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。

3、系统特点

(1) 本系统使工资管理基本实现了信息化,系统设计的各种查询要求代替了原来了人工查询,即节省了人力,又减轻了员工的工作量,最重要的是由计算机操作,可以提高数据的准确性,避免人为的错误,方便管理。

(2) 本系统设置了系统数据备份功能,定期的系统备份可以在数据库受到意外的或有意的破坏的情况下,系统得以恢复,减少损失。

(3) 本系统的界面设计简洁明了,采用了流行的菜单设计,对于不是计算机专业的管理人员,只需阅读操作说明书,就能方便的使用本系统。

[数据库课程设计报告]

篇2:数据库课程设计心得体会

数据库课程设计心得体会

两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程,虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很好的机会。

通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。

从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的'设计。

按照要求,我们做的是机票预订系统。说实话,我对这个是一无所知的,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处。没有前期的调查,仅从指导书上那几条要求着手是不够的。

在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统,

在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言的规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。

我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。

物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射。

不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的。如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!

以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计。创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位。设计,是一个任重道远的过程。

篇3:数据库课程设计心得

一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。

数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从20XX年才开始设立的。20XX年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。

通过这次模具设计,我在多方面都有所提高。

一、编译工具VisualC++

很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢?因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境VisualC++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。

二、巩固和温习了C语言

在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。

这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。

三、积累了宝贵的经验

我这次课程设计代码中主要使用了链表的循环和遍历这两中操作。循环链表(CircularLinkedList)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。

这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机操作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践操作是很重要的,只有通过上机编程才能充分的了解自己的不足。

四、对以后的学习充满了信心和期待

通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。

篇4:数据库课程设计心得体会

由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我――针对探究型项目――的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。

回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像“范式不太容易用通俗易懂的方式解释”一样,在“让工具用图标表述我的思维”时费了一番力气。

从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:

使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。

使用了新的开发语言(python,actionscript3),因为我一直比较喜欢“学以致用”,而且这样的“数据驱动型”软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。

编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交“可运行的代码”。

实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实“遇到的问题数跟人的能力是成正比的”。

篇5:数据库课程设计心得体会

一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。

数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。

在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。

这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。

通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。

篇6:数据库课程设计心得体会

时间真的如轮一样在飞转,一周的实训又一次即将结束,可是,感觉仿佛只过去了一天。实训结束也意味着这个学期也将结束。不管时间多么的飞快,这周短暂的VB程序设计实训同样让我们收益不少。 首先,不说我们学到了多少专业知识,也不说我们学到了多少专业技能。在这样零下1度的.天气中实训,着实是锻炼我们的意志力。人都有惰性,这是无可厚非的事实。在寒冷的天气里,赖床就更是常有的事。因为要实训,我们很多平常经常迟到的同志不得不早起。就说实训的第一天,外面飘着白雪,早上,手机的闹铃已经响过第二遍了。

我们宿舍的几个姐妹还躲在被窝里无动于衷。可是,当一个姐们突然说了一句,“这周要实训”时,我们都‘呼啦’爬了起来,以惊人的速度洗漱好,急忙赶到教室。不管平时多么懒散的同学,这次实训都表现的异样的认真。这应该算是实训赋给我们的特别礼物吧! 实训的目的无非就是训练我们的操作能力,以及提高我们的专业技能。实践出真知,这是不变的真理。毫无疑问,这次VB程序设计实训让我们每一位同学都在不同程度上提高了编程技能。编程是我们的专业课程,可是,在老师平时上课的时候,班上大部分同学都以怠慢的态度对待。所以,对这门课程学的泛泛的。

实训前,如果要我们做一个管理系统,我想班上能完成任务的同学应该寥寥无几。在实训前,我们常抱怨,编程有多么的难。一个学期的学习,我们居然都不能完全的做出一个管理系统来。而这次短短的实训,却让我们学会了做管理系统。没错,就是短短的几天,我们每位同学都完成了一个自己做的管理系统。这说明,编程它本身不是很难,而在于你是不是真正的学习了。这次实训让我深刻的明白,你的态度决定一切。就以我自己的经历来说,一个学期的学习还没没短短一周学到的多。这是为什么?主导因素就是态度。在平日的学习中,我抱着不以为然的态度,以懒散的心态对待这门课程。所以,一个学期下来,我的编程学的一塌糊涂。而这次实训,就像是一场实战,必须认真对待。而这几天踏踏实实的学习,将我平日落下的学习全都补救过来了。真的非常感谢这次实训。通过这次实训,我的编程技能确比之前实提高了不少。

更重要的是,在这次实训中,让我明白:学习或生活中发现了自己的不足,就要及时改进。不管是在学习中,还是在生活中,有不懂的没关系。而,如果不懂,也不去问,就是一件很悲哀的事情。这次实训中,我遇到了很多不懂的问题,但是,这些不懂最后都被我弄懂了。因为遇到不懂的不会做的我及时主动询问了周围的同学。同学不懂的,我又询问了老师。不要认为问别人是一件让人很羞耻的事情。不懂就问,不但不会让你蒙羞,反而能显示你的真实与谦虚。

总之,这次实训我又有不少新收获。

最后,还要感谢这次实训期间周围同学的热情帮助和老师的热心讲解与指导。

篇7:数据库课程设计心得体会

在这次课程设计中,我们小组设计的是一个仓库管理系统,通过设计这个系统,可以更方便地实现信息的浏览,查询,添加等操作和报表输出等功能,具体包括能实现产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月,年的库存情况;可以查询产品入库情况,出库情况,当前库存情况,可以按出库单,入库单,产品,时间进行查询;虽然这个系统的功能还不是很完善,还有很多功能尚未实现,但这也是我们共同努力的结果,只要有更多的时间,我相信我们能完成的更好。

通过这次将近一个星期的课程设计实训,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对ACCESS20xx的认识,了解了相关的ACCESS的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。由于不会vb编程,很多功能实现起来很困难,但好在access有查询、宏和窗体,特别是宏操作可以将几个操作结合在一起,可以执行多个查询,可以调用多次窗体。例如,在某个窗体中要显示设备代码表信息,所以这个窗体中建立一个子窗体用于设备代码表的显示,我们打开窗体后又对设备代码表进行了跟新,所以窗体中显示的并不是最新数据,我们往往需要及时看到设备代码表跟新后的最新数据,窗体不会自动跟新我们就不会看到最新数据,所以这时候我们就会用一个宏操作在对设备代码表跟新之后关闭窗体在打开窗体,这样窗体就相当于完成了一次跟新操作。又例如,在一个表A中刚刚追加了一条记录,我们要将每次刚刚新添加的记录跟新到另一个表B中,用一个查询是很难完成的,经过认真思考,得到了解决的办法是,需要三个步骤,第一步,在表A中添加标志字段,设置默认值为‘否’。第二步,编写跟新查询将标志字段为‘否’的数据跟新到表B中。第三步,编写跟新查询将表A中标志字段为‘否’的跟新为‘是’。

经过这次课程设计,是我明白团队的力量是最大的,至少三个臭皮匠顶个诸葛亮,何况我们都是充满激情的团队。我想在以后的工作中我一定要做到多思考多与团队交流,遇到难题一定要有必胜的信心

篇8:数据库课程设计心得体会

本次课程设计,使我对《数据结构》这门课程有了更深入理解。《数据结构》是一门实践性较强课程,为了学好这门课程,必须在掌握理论知识同时,加强上机实践。

我课程设计题目是线索二叉树运算。刚开始做这个程序时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间帮助最终基本解决问题。

在本课程设计中,我明白了理论与实际应用相结合重要性,并提高了自己组织数据及编写大型程序能力。培养了基本、良好程序设计技能以及合作能力。这次课程设计同样提高了我综合运用所学知识能力。并对VC有了更深入了解。《数据结构》是一门实践性很强课程,上机实习是对学生全面综合素质进行训练一种最基本方法,是与课堂听讲、自学和练习相辅相成、必不可少一个教学环节。

上机实习一方面能使书本上知识变“活”,起到深化理解和灵活掌握教学内容目;另一方面,上机实习是对学生软件设计综合能力训练,包括问题分析,总体结构设计,程序设计基本技能和技巧训练。此外,还有更重要一点是:机器是比任何教师更严厉检查者。因此,在“数据结构”学习过程中,必须严格按照老师要求,主动地、积极地、认真地做好每一个实验,以不断提高自己编程能力与专业素质。

通过这段时间课程设计,我认识到数据结构是一门比较难课程。需要多花时间上机练习。这次程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计基本技能,提高了我适应实际,实践编程能力。总来说,这次课程设计让我获益匪浅,对数据结构也有了进一步理解和认识。

一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。

数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。

在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。

这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。

通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。

篇9:数据库VB课程设计心得体会

vb程序设计实验心得一:数据库VB课程设计心得体会

数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。

首先,让我的记忆追溯到大二暑假,在老大的指引下 ,我接触到Microsoft 公司的.NET产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.网络是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql serverXX,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。

通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。

来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。

开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了MVC架构,就是你啦。我决定用这个架构,不会,没关系,咱学。Just do it!前期工作准备好后,那么我就得把我暑假学的.网络加以实践。这个时候我更加深入的了解了利用ado.Net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.网络数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。

与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!

我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

(最后,很感激学校给了我们这次动手实践的机会,让我们学生有了一个共同学习,增长见识,开拓视野的机会。也感谢老师们对我们无私忘我的指导,我会以这次课程设计大赛作为对自己的激励,继续学习。毕竟学习就是一个just do it的过程!)我直接从报告上面复制过来的.....所以这段也不删去了.............呵呵。

题目大概是用可视化编程实现一个简单的数据库管理系统我用的是BCB 题目虽然是简单 但也明白了很多以前以为懂的问题代码到没什么 这种题目用BCB的话已经不用几行代码了关键是了解了这些名词Paradox,ADO,BDE,ODBC 一开始拖控件,写几行代码 很快就完成了编译也通过了 但传到同学机器上就是显示不出数据来折腾了我1天 又是发帖子 又是问群里的达人后来明白了我用的Paradox数据库是用BDE引擎的发布软件的时候要把BDE打包于是又学着打包BDE 却发现不到1m的软件如果打包BDE的话就10+m了而且BCB6自带的那个打包软件用的我头晕目眩于是又想不用BDE 所以又折腾了我半天答案是要使用ADO控件( 以前我用的是BDE控件 )而且要用Access数据库了解了这些之后 作业也就完成了总的看来还是很有收获的 幸亏我下了决心这个作业要自己做没有去网上下载 呵呵

vb程序设计实验心得二:vb课设心得体会(1581字)

VB.NET课程是计算机科学与技术本科专业的专业骨干课。本课程主要通过VB.NET论述了面向对象程序设计和组建编程的机理,涉及到控制台界面程序、Windows窗体程序、图形界面编程、数据库、网络应用系统等多方面的内容。内容量大,程序设计复杂、同时VB.NET程序调试是在VS.NET环境下进行,在编程过程中环境会自动为用户生成一些必要代码,以降低编程难度,降低学生的编程负担,但这也带来了一些问题,如:学生对VB.ENT的程序结构把握和了解不全面,对编程机理了解不透彻,学生容易盲目照搬书上代码,不求甚解,似是而非。为了解决这个问题,我们采取了课程设计的方法来加深学生对知识的理解,将书本知识迁移到新的问题解决中,提高学生分析问题和解决问题的能力。

要求学生在学习该课程中,应用每个相对独立的、完整的单元知识解决一个实际项目,设计编写一个小作品;学完整个课程后,完成一个综合性比较强的编程项目,使学生对整个课程内容进行全面的总结、梳理,以项目完成为手段,全面锻炼学生分析问题和解决问题的能力。

一.目的

1.为使学生掌握VB.NET编程、面向对象程序设计思想和组建编程的知识实际技能,除了系统地讲授必要的VB.NET知识,上机练习,做作业外,还应该对学生作较全面的编程技能和分析问题解决问题的能力训练,即作课程设计,以达到如下目的:具体应用和巩固本课程及有关先修课的基础理论和专业知识,了解面向对象程序设计思想,掌握应用VB.NET编程和组建编程程序设计方法,培养学生初步的项目设计能力。

2.独立地根据一定的项目要求,查阅资料,写出项目开发目标,分析开发过程中所用到的课程知识,提出解决方案,编码并上机调试完成系统,培养学生分析问题和解决问题的能力。课程设计是教学过程中的一个重要环节,必须认真对待。

二.要求

在课程设计中要求学生注意培养认真负责,踏实细致的工作作风和保质保量,按时完成任务的习惯。在设计过程中必须做到:

1.在某个教学单元结束后,完成一个教师布置的、或学生自己拟定的、知识覆盖整个章节的,有一定综合性和难度的项目,要求学生描述出要达到的目标、围绕目标,收集资料和素材,复习所需的课程知识,描述问题解决方案、编写程序上机调试,直到项目的完成。最后的成果要有完成的作品和相应的文档。

2.在课程结束后,完成一个大的编程项目,其要求与课程单元的项目差不多,只是综合性更强、难度更大、知识覆盖面更广,工作量更大,以全面促进学生复习和梳理学科教学内容,提升学生分析问题、解决问题和文档的书写和编制。

三、采取的措施

为了保证课程设计能够按照预定的目标和计划进行,我们还采取了以下措施来加强对学生监督和管理。

1.首先讲清楚课程设计的意义,让学生能够自觉积极主动地进行课程设计,发挥学生的主观能动性;

2.在课程设计过程中,教师随时巡视和监督,了解把握和控制课程设计的进展;

3.将学生的作品集中展示、评价、打分,可以让学生在展示的过程中获得成就感、自豪感,学生之间可以相互学习、取长补短,同时在此过程中可以明确标准,自觉地按照标准来调整自己地学习;

4.将课程设计作为学期成绩的一部分记载,大约占10%,必须完成课程设计后才能参加考试,课程设计不过关,即使考得再好,也不能过。

四、取得的效果

通过以上措施,学生全部都完成了自己的项目、将所有的作品通过超链接网页的方式集成在一个作品集中,所有的学生都完成了4~6个小作品,每个作品都反映了学生应用课程的某部分知识解决某个问题的结果,通过完成这些作品,学生巩固、加深了对相关知识的理解,加强了知识之间的联系,促进了知识的迁移和应用。同时学生看到凝聚着自己的心血、汗水、思维和创新的作品,就像一个母亲看到自己呱呱坠地孩子那样充满了喜悦,激发了学生的创造欲望。通过同学之间作品的对比,提供了一个相互学习交流的平台,激发了学生的竞争意识。总之通过课程设计受到了良好的多方面的效果,从考试成绩来看,级本科全部都及格了。

篇10:数据库课程设计的心得体会

在我看来,数据库课程设计主要目标是利用课程中学到数据库知识和技术较好开发设计出数据库应用系统,去解决各行各业信息化处理要求。通过这次课程设计,可以巩固我们对数据库基本原理和基础理论理解,掌握数据库应用系统设计开发基本方法,进一步提高我们综合运用所学知识能力。

当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块分工。每个人都有自己模块设计,而且写出来代码要求可以实现相应模块功能,得到理想效果。当每个人都把自己分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中奥秘。

我所负责是数据库备份和还原还有一些界面实现。还记得自己刚接触html时候,觉得很感兴趣,所以有一段时间几乎到了痴迷程度。然而Php 是我刚接触不久一种编程语言。不过觉得它功能真很强大,可以开发出很多大型系统。但是在做备份和还原时候,要考虑东西还是很多。当我遇到错误时候,感到很受打击。值得欣慰是,在同学帮助和大量参考书查阅下,我把自己模块做好了。这就是我收获最大地方。而且,我明白了遇到困难永不放弃重要性,我知道了团队合作重要性,我领悟了只有坚持不懈才会取得胜利。   知识获得是无止境,只要你想学,只要你行动,没有什么会难倒我们。回首这一个多星期课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们不懈帮助,谢谢学校给了我们这一次实践机会,也谢谢组员们关怀。这些美好回忆美好东西将永远伴随着我。

篇11:交通灯课程设计报告

交通灯课程设计报告

一.前言

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。

二.功能概述

2.1设计任务:交通灯的硬件和软件设计 2.2设计目的

1.进一步熟悉和掌握单片机的结构和工作原理。

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。

三.设计思路

交通灯的变化规律

按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。再转换到状态3,东西方向

绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。

四.硬件介绍

基础知识

交通灯控制器实例主要使用了89C51单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4种工作方式、以及定时器/计数器的变成。

4.1定时器/计数器

定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。

首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。

4.2定时器/计数器的概念

89C51单片机内有两个可编程的定时器/计数器T0、T1。

当定时器/计数器用作“定时器”时,每经过1个机器周期(12个时钟周期),计数器加1。

当定时器/计数器用作“计数器”时,计数器在对应的外部输入管脚(T0为P3.4引脚,T1为P3.5引脚)上每发生一次1到0的跳变时加1。使用“计数器”功能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而下一周期采样为低电平时,计数器加1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所以技术频率最大值只能为时钟周期的1/24。计数器对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。

4.3定时器/计数器的相关寄存器

与定时器/计数器相关的寄存器有定时器/计数器工作方式寄存器(TMOD)、定时器/计数器控制寄存器(TCON)。TCON已经在2.5节受控输出实例中介绍过,

因此,在本例中主要介绍TMOD寄存器。

定时器/计数器工作方式寄存器(TMOD),字节地址89H,不可进行位寻址。 定时器/计数器工作方式寄存器(TMOD)的8位分为两组,高4位控制T1,低4位控制T0。TMOD每一位的功能如下。 GATE:门控位。

GATE=0,仅由运行控制位TRX(X=0,1)=1来启动定时器/计数器运行; GATE=1,由运行控制位TRX(X=0,1)=1和外部中断引脚上的高电平共同来启动定时器/计数器运行。

C/T:定时器模式和计数器模式选择位。 C/T=0,为定时器模式; C/T=1,为计数器模式。

M1、M0:工作方式选择位。M1、M0的4中编码对应4种工作方式,对应关系见表2-10。

4.5定时器/计数器的4种工作方式

定时器/计数器的4种工作方式下的逻辑结构如表所示。

内容需要下载文档才能查看

(1)方式0。

定时器/计数器的工作方式0称为13位定时器/计数器的。它由TLX的低5位和TLX的8位构成13位的计数器,此时TLX的高3位未使用。改工作方式是为了和48系列单片机兼容而设计的一种工作方式,一般情况不使用方式0进行定时/计数。方式0的控制方式与方式1完全相同,下面重点介绍方式1的控制方式 。 (2)方式1

定时器/计数器的工作方式1称为16位定时器/计数器。它由TLX和THX构成,TLX计数溢出向THX进位,THX计数溢出置位TCON中溢出标志位TFX。

篇12:软件工程课程设计报告

课题名称:员工工资管理系统的设计与实践研究

姓 名:学 号:班 级:指导教师:

目 录

1.概述.............................................................. 4

1.1问题的提出................................................... 4

1.1.1 选题背景与意义........................................ 4

1.1.2 开发工具简介........................................... 5

2.可行性分析........................................................ 5

2.1社会可行性................................................... 5

2.2技术可行性................................................... 5

2.3经济可行性................................................... 6

3.需求分析.......................................................... 6

3.1系统业务流程图............................................... 7

3.2 系统的功能划分 .............................................. 7

3.3 系统的功能要求 .............................................. 7

3.4 用户的功能需求: ............................................ 7

3.4.1登陆功能 ............................................... 7

3.4.2 员工信息维护功能....................................... 8

3.4.3 工资信息维护功能....................................... 8

3.4.4查询功能 ............................................... 8

3.4.5计算功能 ............................................... 9

3.4.6打印功能 ............................................... 9

3.4.7退出功能 ............................................... 9

3.5系统的数据需求.............................................. 10

3.5.1 总结出数据信息........................................ 10

3.5.2数据流程图如下 ........................................ 10

3.5.3 数据流图的数据字典.................................... 12

3.6 系统的性能需求 ............................................. 13

4.总体设计......................................................... 13

4.1系统结构的总体设计.......................................... 14

4.2 各个模块的功能描述如下 ..................................... 14

4.2.1 员工基本信息维护模块.................................. 14

4.2.2 工资信息维护模块...................................... 15

4.2.3 查询信息模块.......................................... 15

4.2.4 计算工资模块.......................................... 15

4.2.5 打印模块.............................................. 15

4.2.6 登陆模块.............................................. 15

4.2.7退出模块 .............................................. 16

5.详细设计......................................................... 16

5.1 生成报表 ................................................... 16

5.2 查询模块的详细设计 ......................................... 17

6.测试............................................................. 18

6.1 黑盒测试 ................................................... 18

6.2 白盒测试 ................................................... 18

7. 调试............................................................ 19

8.结 论............................................................ 19

9.参考文献......................................................... 21

1.概述

1.1问题的提出

工资管理系统是一个数据库管理系统,是针对企业的工资管理业务进行计算机处理而开发的应用软件。它提供关于公司老员工及新员工信息和工资有效管理等事务的信息,由于需要添加和修改员工的信息和工资信息、删除离职员工信息和在职员工信息修改以及修改其他一些数据,工资管理系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。企业应用本系统后,可以有效的提高工资管理水平。

1.1.1 选题背景与意义

现代科学的发展,使计算机进入了几乎一切领域,计算机已经是家喻户晓、无人不知了。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机,可以说没有计算机,就没有现代化,计算机知识已经成为当代知识分子结构中不可缺少的一个重要组成部分。随着经济的发展,企业正面向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。

在这种情况下,我们建立一个工资管理系统是必要的,该整个系统操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改等工资管理工作。经过实际使用证明,本文所设计的人事工资管理系统可以满足本单位人事、工资管理方面的需要。

该设计主要介绍了本课题的开发背景,需求分析和功能设计等过程。

1.1.2 开发工具简介

1)pd:PowerDesigner,就是一个容易画出数据流图和生成数据库的逻辑模型和物理模型。该软件很容易实现把数据流图转化成相应的数据库的逻辑模型和物理模型。

2)SOL Server:它是一种关系数据库管理系统,能处理大量的数据和管理众多的并发用户,保证了数据的完整性,并提供许多高级管理和数据分布能力。

3) Visual Studio .NET: 向开发人员提供了用于在操作系统之间和语言之间集成解决方案的工具。开发人员可将现有的业务逻辑方便地转换为可重复使用的 XML Web 服务、封装进程并使它们能够用于任何平台上的应用程序。

2.可行性分析

2.1社会可行性

C/S模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。C/S模式具有专业化程度高、开发手段灵活、运行速度快等特点,但受到维护成本大、适应性弱等问题的影响。本系统利用了C/S模式,符合企事业单位的管理要求,为其实现较为先进的工资管理提供了有利的支持。

2.2技术可行性

使用PowerBuilder开发传统意义上的C/S模式结构的数据库系统,可以利用其提供的许多对于数据库访问与控制的有效机制,开发过程并不是很长且难度适中。我们曾学习了《数据库原理及应用》,掌握了数据库的基本原理及数据库的设计方法,在此基础上我们又深入学习了PowerBuilder的数据库系统开发。

2.3经济可行性

成本:本系统要求的计算机配置不是很高,需要设备购置费用较低,其他设备的购置成本也在承担能力之中。本系统运行费用较低,系统使用方便简洁。

收益:应用本系统能在一定时期内产生明显的收益,此外应用本系统提高了工作效率从而提高了管理水平;节省了人力,减轻了有关人员手工处理的工作负担;即使给管理者提供相应的辅助决策信息。

3.需求分析

需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对 现实问题的.理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。 软件需求一般包含三个层次―业务需求、用户需求和功能需求,还包括非功能需求。业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求:描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。 系统目的是能够用计算机实现对各种工资进行日常管理,如添加、删除、修改员工信息,能够根据员工的等级、职位以及出勤情况、奖金、津贴情况等进行工资的计算,能够使员工、部门方便地查询和统计各种信息,最后能生成报表反馈给员工等。

3.1系统业务流程图

通过对企业原先手工进行员工工资管理业务的情况,可以设计出它的业务流程图,如图4-1所示。

用户登录数据输入工资计算存储数据

工资查询 报表汇总

图3-1

3.2 系统的功能划分

1. 工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。

并且负责设置员工工资的计算公式。

2. 工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。

3. 系统部分:包括添加用户和修改密码。

3.3 系统的功能要求

1. 整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。

2. 开发方法,文档规范化,便于管理,可扩充。

3. 完善的数据输入,维护,输出。

4. 自检性能高,用户误输、错输均有提示。

5. 容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操

作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。

3.4 用户的功能需求:

3.4.1登陆功能

该系统要有登陆功能。管理员要进行员工信息维护或者进行计算员工工资

时,必须首先进行登陆。同理,员工也要先进行登陆才能进行各种查询等操作。

1. 用户权限设置,修改密码。

2. 综合初始系统设置。

3.4.2 员工信息维护功能

该系统要能够添加员工信息、删除员工信息和修改员工信息等功能。 一个单位的员工不是一成不变的,总是在不断地变化,如有的员工被招聘进入公司,这时就要添加员工的基本信息;当员工辞职或者由于其它原因离开公司,这时就要删除员工的基本信息;当员工进行调动时,就要修改员工的基本信息了。

1. 追加员工信息。

2. 删除员工信息。

3. 修改员工信息。

4. 自动更新数据库。

3.4.3 工资信息维护功能

1. 该系统要能够输入员工基本工资:为了方便系统的计算员工的工资,系统应

该能够输入员工基本工资、奖金、津贴等一些工资数据,以计算员工的月工资或者年工资等。

2. 该系统要能够修改员工基本工资:员工的工资不是一成不变的,它会发生变

化,这时就要求能够修改员工的工资等。

3. 该系统要能够删除员工基本工资:当员工由于某种原因离开公司后,由于员

工的基本信息已经删除了,所以也要删除员工的基本工资等信息。

3.4.4查询功能

一个员工或者部门要更好了解自己工资、出勤情况、奖金、津贴等情况,可以进行相关的查询,为了有更好地适应性,查询应该可以根据各种情况进行查询,能够进行单项查询或者按一定的条件范围进行查询,如能够查询单个员工的工资情况,能够查询每个部门的工资情况和月工资的统计情况。

1. 根据员工姓名查询员工的工资情况。

2. 根据员工编号等查询员工的工资情况。

3. 根据员工学历等各种条件组合查询员工的工资情况。

3.4.5计算功能

1. 系统应该能够根据员工的基本工资、员工的出勤情况、资金和津贴情况进行

工资的计算。

2. 系统应该根据能够根据加班的时间、加班的类别等计算出员工所得的津贴工

资。

3. 系统应该能够根据各种员工在公司的工作表现、,计算出给员工的奖金。

4. 系统应该能够计算各个部门的工资情况。

5. 统计功能:为了更好地了解员工的人数情况、员工的工资情况、部门的工资

情况或者发放工资,系统应该能够对各个部门的总工资进行统计。

3.4.6打印功能

每月发放工资时,要求能够打印本月的工资表、随工资发给每个员工的工资条以及一些统计表等,如工资统计表。

1. 打印工资信息。

2. 打印工资条。

3. 打印各种图表。

3.4.7退出功能

员工或管理员可利用退出功能退出系统。

3.5系统的数据需求

3.5.1 总结出数据信息

对上述系统功能需求,可心分析、归纳出其相应必须管理的信息包括员工基本信息、员工的等级信息、员工出勤情况信息、员工津贴信息等,其数据及其属性需求分析如下:

1. 员工基本信息:员工号、员工姓名、性别、工资等级、职称、所在部门、住

址、电话等;

2. 部门信息:部门号,部门名称;

3. 员工考勤信息:员工号、日期、上午、下午、迟到、早退等。

4. 工资等级信息:等级号、等级名称、职位、基本工资;

5. 员工津贴信息:员工号、加班时间、加班类别等。

3.5.2数据流程图如下

0层图如下所示:

3.5.3 数据流图的数据字典

下面介绍一下一些主要的数据流的数据词典。 一、

系统管理数据流数据词典

1. 数据流名称:管理员登陆信息

说明:它的作用是将管理员的ID、密码等让工资管理系统检查,看是否允

许登陆。

数据流来源:管理员 数据流去向:工资管理系统 2. 数据流名称:非法登陆信息

说明:它的作用是把用户的错误登陆信息反馈给用户。 数据流来源:工资管理系统 数据流去向:管理员 3. 数据流名称:查询请求信息

说明:它的作用是把用户要查询的信息提交给工资管理系统,让其显示查询

的信息。

数据流来源:管理员 数据流去向:工资管理系统 4. 数据流名称:添加员工信息

说明:它的作用是把要添加的员工信息提交给工资管理系统,让其处理该信

息。

数据流来源:管理员 数据流去向:工资管理系统 5. 数据流名称:更新员工信息

说明:它的作用是把要更新的员工信息提交给工资管理系统,让其处理该信

息。

数据流来源:管理员 数据流去向:工资管理系统 6. 数据流名称:打印信息

说明:它的作用是让工资管理系统反馈一些打印信息,如工资条、报表等,

以便用户更好地了解相关信息。

数据流来源:工资管理系统 数据流去向:管理员 二、

在用户数据流数据词典

1. 数据流名称: 业绩记录表

说明: 每月执行一次,由各部门主管填写本部门员工的业绩;部门主管和

公司高级管理人员则由总经理指定。

数据流来源:工资管理系统 数据流去向:管理员 2. 数据流名称: 工资标准表

说明:每个职工的各项工资标准,由人事部主管填写。 数据流来源:工资管理系统 数据流去向:管理员

包含结构:员工编号、姓名、基本工资、生活补贴、岗位补贴,还有一些其它的数据词典,在此不一一列出。

3.6 系统的性能需求

1.硬件要求。 设备名称说明:处理器奔腾III以上,256MB。内存256MB,内存越大,速度越快。硬盘40GB以上。

2.软件要求。(1)windows 以上操作系统,IIS服务,配置.net框架。

(2)需要有一个数据库服务器,提供数据库的连接,这里选用

Microsoft SQL Server2000来为数据库提供连接,当然要一台计算机来运行程序.这样就可以了。

4.总体设计

在系统的需求分析阶段,我们已经知道系统“做什么”的问题了,现在我们要进入软件设计的阶段,去解决“怎么做”的问题。在软件设计阶段,它分为根

要设计和详细设计。首先做概要设计,它是将软件的需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计,通过对结构表示进行细化,得到软件的详细的数据结构和算法。

4.1系统结构的总体设计

根据上面对需求的分析,我们可以得到系统的模块层次结构,层次结构如下所示:

4.2 各个模块的功能描述如下 4.2.1 员工基本信息维护模块

本模块的功能是能够完成对员工基本信息的添加、修改、删除操作等进行维护。它包括三个子模块,添加员工信息子模块、修改员工信息子模块和删除员工

信息子模块。

4.2.2 工资信息维护模块

本模块的功能是能够完成工资信息的输入、修改和删除等操作。它也包括两个子模块,输入工资信息子模块、修改工资信息子模块和删除工资信息子模块。

4.2.3 查询信息模块

本模块的功能是能够对单个员工工资信息、员工基本信息情况、部门工资情况、总工资情况等进行单项查询或者一定范围查询、多项查询等。

4.2.4 计算工资模块

本模块的功能是能够计算员工工资的奖金情况、计算员工的津贴情况、计算员工月工资、年工资及进行一些相应的统计计算等。它包括一些子模块,如计算津贴子模块、计算奖金子模块、统计工资子模块等。

4.2.5 打印模块

本模块的功能是能够打印工资条以及一些部门报表、工资报表等,以反馈一些信息给员工。

4.2.6 登陆模块

本模块的功能是:根据员工的登陆时的输入信息,看是否要让该员工登陆系统。

主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。

登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。

4.2.7退出模块

本模块的功能是可以让员工或管理员随时利用该模块退出系统。

5.详细设计

概要设计完成了软件系统的总体设计,规定了各个模块的功能及模块之间的联系,进一步就要考虑实现各个模块规定的功能,这就是要进行详细设计。在详细设计阶段,要决定名个模块的实现算法,并精确地表达这些算法。下面主要实现一些重点模块的算法。

5.1 生成报表

用Jackson系统设计方法设计报表,如下所示:

5.2 查询模块的详细设计

在该模块中,要查询信息,首先要进行登陆,然后输入要查询的信息,如员工号,接着系统连接数据库,在数据库中查找是否有和输入信息相应的信息,如果有,则显示相应的查找结果;如果没有,则提示找不到相应的信息或者提示出错。流程图如下所示:

在完成了详细设计、编码之后,就要进入软件测试阶段了。软件测试是指根据软件开发各阶段的规格说明各程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用途去运行程序,以发现程序错误的过程。软件测试分为黑盒测试和白盒测试。黑盒测试主要看模块的功能是否实现;白盒测试主要对模块内部的检查。

6.1 黑盒测试

黑盒测试主要是为了发现以下几类错误: 1)是否有不正确或遗漏了的功能。

2)在接口上,输入能否正确地接受,能否输出正确的结果。 3)是否有数据结构错误或外部信息访问错误 4)性能上是否能够满足要求 5)是否有初始化或终止性错误

6.2 白盒测试

白盒测试是对软件的过程性细节做细致的检查。 白盒测试主要想对模块进行如下的检查:

1)对程序的模块的所有独立的执行路径至少测试一次

2)对所有的逻辑判定,取”真”与取”假”的两种情况都能至少测试一次; 3)在循环的边界和运行界限内执行循环体; 4)测试内部数据结构的有效性,等等。

因此在对程序进行白盒测试测试时,测试用例要有:条件组合覆盖测试用例和路径测试用例。

在测试完成之后,还要对程序进行调试。 可用下面的几种方法进行调试。

1)强行排错: 可以通过内存全部来排错,也可在程序特定部位设置打印语句来排错。

2)回溯法排错。这是在小程序中常用的一种有效的排错方法。 3)归纳法排错。 它是一种从特殊推断一般的系统化思考方法。 4)演绎法排错软件工程课程设计报告等。

8.结 论

员工工资管理系统是一个典型的信息管理系统,通过软件工程方面的选择课题、需求分析、概要设计、详细设计、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先熟悉员工工资发放管理的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到员工工资管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题。

在我们的共同努力下,我们基本完成了这个系统。由于时间、条件和个人水平的限制,软件相对较简单,如果要将该软件用于具体单位,还需针对单位的实际情况对软件进行进一步的完善。

本软件的特点和优点:

1. 本软件可以工资核算正确无误、快速输出,提高企业的管理水平和管理效率。 2. 可以对工资的各个项目随时作增加和删除。

3. 可以分别查询单个工人每个月的工资,包括工资的各个细节项目。 4. 可以查询各部门以及全公司的员工的工资报表。

本软件需要改进的地方有:

1. 基本工资的设定太笼统,不能满足有些单位的需要。 2. 员工管理部分比较少需要结合人事管理软件使用。

4. 软件的界面美观性方面需要很大的改进。 5. 帮助文档比较简单。

课程设计对一个学生来说是一个非常的重要的学习过程。从对PowerDesigner,软件开发过程的一知半解,到完成这个系统的基本设计,虽然这个系统还存在这样那样的缺点,但是我在专业知识方面学到的东西是非常多的。而设计过程中也遇到了很多的困难,在老师和同学的帮助之下最终我还是克服了困难完成了设计。这个过程更使我学到了面对困难应该持有的积极态度。

总的来说,这次的课程设计是非常有意义的,在我的人生学习的路上起到了一个里程碑的作用,让我有一个质的飞跃!

衷心感谢何老师给予我们这次机会,让我们对软件的开发过程还是对程序的编写步骤都有了更加深刻的认识。

9.参考文献

[1] 杨文龙 《软件工程》,电子工业出版社,

[2] 张国藩,《软件工程》。北京:清华大学出版社,

[3] 郑人杰 殷人昆 陶永雷, 《实用软件件工程》. 清华大学出版社,2001

[4] 萨师煊 王珊,《数据库系统概论》,高等教育出版社2003

[5] 丁宝康,《数据库原理》,经济科学出版社,2000

[6] 林福泉,《SQL Server 中小企业实务应用》,中国铁道出版社,2002

[7] 杨昭,《PowerDesigner对象与控件技术详解》,中国水利水电出版社,2003

[8] 周红芳,《PowerDesigner基础应用与系统开发》,电子工业出版社,

[9] 刘斌 卞慧,《PowerDesigner入门与提高》,中国铁道出版社,2003

[10] 薛华成,《管理信息系统》,清华大学出版社,2002

[11] 汤庸 叶小平汤娜,《数据库理论及应用基础》,清华大学出版社,2004

[12] MSDN - Microstft Developers'NetWork Microstft

Microstft 编著

[13] 谭桂华 魏亮,《Visual C# 高级编程范例》,清华大学出版社

[14] 章立民,《用实例学ASP.NET》,电子工业出版社

篇13:数据库课程设计理论及实践论文

数据库课程设计理论及实践论文

数据库课程是计算机科学及信息技术相关专业方向的核心课程,主要研究数据库系统的基本概念、原理、方法及其应用,包括数据库系统、数据模型、数据库查询语言、关系数据库设计、事务处理等核心内容.通过数据库系统课程的学习,使学生能够正确理解数据库的基本原理,熟练掌握数据库设计方法和应用技术,掌握科学研究的方法和软件开发的基础规律,增强学生实际动手能力和创新能力.

1数据库理论是数据库课程设计的前提

目前,数据库产品市场95%以上都是关系数据库产品.关系数据库理论是数据库设计的基础,掌握关系数据库课程理论是数据库课程设计的前提.数据库课程是研究数据处理技术的一门综合性学科,它是与离散数学、操作系统、数据结构、软件工程、计算机原理等学科及其他应用领域的知识和方法相结合的学科.数据库理论研究的核心内容是数据建模、数据规范化理论、数据库系统、数据库的安全性、完整性、数据恢复技术、模式分解理论和方法.只有掌握了数据库理论才能做好数据库设计[1]22-49.全国大部分院校都将数据库理论和应用作为两门课程开设,一门是数据库系统概论(主讲数据原理),另一门是数据库应用(主讲程序设计).对于绝大多数学习者来讲,学习数据库的最终目的是掌握数据库应用方法和技术,在现有DBMS的基础上二次开发数据库产品,而不是开发新的DBMS,所以大多数高校往往在数据理论之前先开设数据应用课程,如VisualFoxpro6.0、Delphi、Oracle、SQLServer、Access等程序设计课程是关系数据库的产品,它们属于原理的具体应用部分.学习数据库应用课程后,便于掌握和应用数据库理论;反之,也只有学习了数据库理论才能更好地掌握和应用数据库技术.

2数据库设计理论是数据库理论的应用和延伸

2.1数据库理论在数据库设计中的指导应用

按照规范设计的方法,将数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库运行和维护.在数据库设计的每一个阶段,都不同程度地用到了数据库理论与方法,同时对数据库理论进行了丰富的扩充.在概念结构设计中,核心内容是数据建模,即根据实体类型设计E-R(实体-联系)图.在E-R图中要搞清楚哪些是实体,哪些是属性.从理论的角度来说,实体是客观存在的,并可以相互区别的事物,属性是对实体特征的描述,但是它们之间既有必然区别,也有一定联系.实体和属性不是绝对的,如果需要对属性进一步描述,则属性就作为实体,反之,如果不需要对实体进一步描述,则实体也可以作为另一实体的属性.例如,在设计职工档案管理数据库时,实体类型“职工”的属性:档案号,姓名,性别,出生日期,参加工作时间,学历,职称,职务,工资.如果只考虑现在的工资,则工资就是职工实体的属性,但是如果考虑职工的工资历史,则工资就是一个实体.在逻辑结构设计时,用到规范化理论、求极小集和码的方法、模式分解理论和方法.

2.2数据库设计理论是对数据库理论的延伸

数据库设计理论对数据库理论在很多方面进行了延伸和扩展,使得数据库理论更加简捷、方便和直观.在逻辑结构设计中,将概念模型的产品基本E-R图转换为逻辑结构的关系模型,是模式分解理论的直接应用,是在数据库理论基础上的抽象和延伸,实体内和实体间的转换,实体间的每一个实体转换为一个关系,实体内的属性是关系的属性,实体内属性的码就是关系的码.按照关系理论的函数依赖,每一个实体中,码决定每一个属性,而模式分解中,码相同的合并,左右两端的属性合并作为一个分解,从操作方面减少了复杂性,所以设计理论与数据理论完全吻合;数据库实体之间的联系分为一对一、一对多、多对多和多实体之间的联系4种情况,这些转换在逻辑结构设计中都给出了转换规则,也完全满足模式分解理论,在模型优化时,用到极小集方法与设计理论的结合.

3注重数据库设计理论与实践的结合

3.1处理好数据库设计经验和数据库设计理论的关系

数据库设计理论尽管比较完善,按照规范化理论,在函数依赖领域,如果关系满足BCNF,不会存在数据冗余、插入异常、删除异常和更新异常,实际上关系规范化不一定要达到BCNF;如果达到BCNF,不会出现冗余和各种异常,但会出现查询效率降低.这就要根据实际情况综合权衡.下面以规范化后的学生成绩管理系统为例说明.学生成绩管理系统包含下列3个关系:学生(学号,姓名,性别,出生年月);课程(课号,课名,学时,学分);成绩(学号,课号,成绩).我们经常查询“某同学学习某课程的成绩”,这就需要3个关系的连接,如果学生人数较多(数据库较大),可能需要较长时间,但如果是第1范式,则不需要连接,如果是第2范式,可能连接的次数较少,也会减少耗费.在实际应用中,我们可能不需要把关系划分到BCNF,也许只需要达到2NF,甚至1NF,也就是逆规范化,到底规范化到什么程度,要结合实际问题和具体设计经验[2]3-39.

3.2课程实验是数据库课程设计的基础

数据库课程是理论与应用结合较为紧密的一门课程.学习数据库课程的主要目的是为了应用.因此,为了深入浅出地讲授数据库理论,在每一章都设计一些课程实验,以便通过实践验证理论,同时掌握其应用方法,为后续的课程设计打下基础.在大部分教科书中,都是以SQLServer为例,讲授SQL语言、数据的'安全性、完整性.在讲授SQL语言时,可以让学生先建立数据库,结合所学内容对数据库进行查询、插入、删除、修改等实践操作,在实践的过程中真正理解并掌握SQL语言的应用环境.在讲授数据库安全性和完整性时,利用数据库系统的实际应用让学生对系统做数据控制.提高学生对数据库课程的认识,激发学生的学习兴趣和欲望.

3.3课程设计是提升学生综合应用能力的关键

课程设计是课程内容的展示,是对所学知识的延伸,是学生掌握学习内容、方法和技巧的综合体现.数据库设计理论主要是为了指导数据库的应用和实践,通过系统的理论学习和部分单元(如创建用户、创建视图、用户管理、权限管理等)的应用实践训练,充分认识到DBA在数据库系统中的作用.通过课程设计让学生在掌握数据库设计理论的同时掌握数据库课程设计的全过程,可以采取将学生分组的方式,为每组同学拟定相关题目,如学生档案管理系统、财务管理系统、售票管理系统等,设计可以采取集中设计和分散设计相结合的方式,如果条件允许可以集中7~10天时间做课程设计,否则,可以利用周末时间集中设计,学生自己找业余时间,教师加强指导,题目在期中布置,期末老师验收.让每一位同学独立完成或者协助完成数据库设计的过程,同时,使每一组同学进行上机运行并调试,完成所有功能进行程序实现,最后组织设计答辩.教课评价方面,可将学生平时的课程设计和期末考试相结合,作为学期期末成绩.通过课程设计和设计答辩,学生不仅巩固了理论知识,丰富了课程实践,掌握了如何运用理论指导实践应用,也对今后其他课程设计以及毕业设计打下坚实的基础,取得较好的效果.

3.4数据库课程设计的具体内容

数据库设计是在指定的应用环境下,构建最优的数据库逻辑模式和物理结构,建立数据库及其应用系统,满足各种用户的各种需求(信息、管理和操作需求),并能够有效地存储和管理数据.数据库设计要按照需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护各个阶段突出特点严格进行结构设计是与行为设计的有机结合.每一个阶段都有具体的技术要求,教师提出要求让学生深入图书馆、学生管理部门或者企业进行系统调查,通过需求分析设计出数据流图,编写数据字典.概念结构设计是从数据流图和数据字典中提炼出E-R图,对E-R图优化后获得基本E-R图.按照转换规则和DBMS的转换功能将概念结构的产品基本E-R图转换为逻辑结构设计的关系模型.物理结构设计主要根据DBMS的详细特征设计存储结构和存取技术,最后经过优化、评价满足用户的效率要求.数据库实施和运行维护主要考虑代码的编写、调试、试运行和维护,涉及数据转储、安全性、完整性、数据组等问题.整个设计都是在数据库理论的指导下进行[3]181-250.

4结语

数据库课程设计是理论和实践的有机结合,随着计算机应用的深入,数据库应用在社会生活中越来越重要,应用范围也越来越广,如何使数据库理论和设计更好的结合是值得高校教师深入探讨的问题.只有不断的探索数据库课程设计理论,才能在实际应用中得到创新.

篇14:数据库开题报告

1、课题名称

SQL Server 数据库课程网站

2、课题目的

本网站依据开发要求主要应用于网站教学管理,完成对日常的教育工作中教学大纲发布,通知发布、课件发布、作业发布、学生在线自测、在线答题等的数字化管理。开发本系统可比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少极大地节约教学成本,加快查询速度、加强管理以及国家各部门关于信息化的步伐,使各项管理更加规范化。 2.1面向对象

该网站主要面向的对象是所有有需求的用户,本院的学生都可以在其上面下载课件,在线测试和留言。该网站的系统管理员可以进行用户管理,系统信息的维护等工作。老师则拥有权限可以上传课件,上传和发布作业,查看学生提交的作业,查看学生在线考试的分数记录,回答学生留言板的问题。该网站也不排除其他人员对网站的访问,同样可以对该网站自由的访问和操作。

2.2课程背景

随着计算机在中国的广泛普及,数值化管理手段的逐步完善,越来越多的学生逐渐习惯于是用信息化手段进行学习信息,这样也方便的老师使用信息化手段对学生进行管理。而信息化应用在教学管理中的应用是实现教学管理科学化、现代化的关键。因此,该网站为本书店提供了搞笑,准确,快速的管理模式,实现管理规范化、科学化。

3、项目概述

3.1网站需求分析

中国教育历来有重视质量的传统,形成了一整套行之有效的方法,要组织力量进行深入研究并加以发扬光大,形成中国教育的独特优势。同时要积极探索提高教育质量的新思路、新途径。树立科学的质量观,形成评价教育质量的新标准。坚持全面推进素质教育,把“成人”与“成才”作为教育质量的根本标准,职业教育和高等教育要把社会和就业市场的认可程度作为衡量教育质量的重要标准。这个标准要根据各级教育的特点予以细化。深化教育教学改革,推动各级各类教育的培养模式、课程体系、教学内容和教学方法的改革与创新,利用新的方法和技术革新。特别是把教育的信息化作为提高教育质量的新手段,不仅是把硬件系统建立起来,更重要的是要在教学中广泛地应用起来。 3.2网站构架

前台主要包括导航栏(首页、相关新闻、课程标准、电子教案、教学课件、测试题库、课程论坛)、公告栏(包括公告通告、学校要闻、相关新闻、热帖、

后台包括信息管理(包括信息管理、公告管理)、课件管理(包括课件的添加管理、显示管理)、回复管理(帖子的回复管理、删除管理、热帖的显示管理)、管理员管理(查看会员信息、查看留言及回复)、权限管理(管理员增加、管理员修改、管理员删除)。

3.3主要内容及功能:本网站系统功能主要分为五大类:

(1)教学大纲和通知部分:教学大纲单独设计页面。通知和新闻发布部分在要在首页显示,发布通知是管理员的权限。

(2)课件发布系统:管理员可以发布课件,课件管理。老师可以上传课件。学生可以下载网上发布后的课件。

(3)作业发布系统:老师可以上传作业发布,学生可以下载作业,管理员拥有管理作业和删除以前老师发布的作业权利(防止积累过多)。

(4)网上测试系统:在线自测(题目全为选择题),有题库管理系统随机生成,每套题目有50道题目组成,在试卷的管理中随机生成的试卷分等级比如分简单和较难的试题(这些要在生成前学生选择的)

(5)论坛系统学生可以提交问题,然后由老师或者其他同学进行回答。学生对问题进行回复,编辑,删除等操作在管理员对其进行检查后显示,老师可以及时进行解答。

图3-1后台信息管理功能图

(6)实训案例系统:管理员可以发布作品和管理。老师可以上传一些学生的优秀作品,学生可以下载发布出的作品。

本系统性能力易于使用,具体有较高的扩展性和可维护性。这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

4、项目特点

该网站是一个操作使用简单,界面漂亮美观的网站。具有以下特点: (1)简洁美观的操作界面

简单的操作界面能够大大的提高用户的操作速度,从而提高服务效率,使顾客节约一定的时间。因此美观又简单的操作界面使用户感觉舒适,该网站通过专业美工的精心打造,与学校网站具有相同的风格,给用户带来亲切感,从而避免在视觉带来的异样。 (2)科学的管理模式

系统采用科学的管理模式,管理员可以更好的了解用户需要什么,替用户轻松的完成需要整理信息:结构化管理模式,涵盖了新闻管理、电子教案编辑、用户管理、教学课件管理等等,为该网站的电子化管理提供了一套良好的管理模式。 (3)对外的开放性

通过数据库课程网站,比较低的成本实现优质教育教学资源的共享,打破现有的教育教学质量受制于教学资源不足的瓶颈,通过免费为师生提供优质教育教学质量。

(4)信息的整体性

数据库课程包括了教师、学生教材、教学技术手段、教学制度等要素。教学课程建设要考虑完整的课程建设的各个环节,即课堂授课水平、教与学的互动、学生课余的自主学习和实践动手的培养、学业成绩的评价以及教学辅助手段和教学参考书的建设等,要抓住个方面间的关系,关注整体建设而不是局部建设。 (5)师生的互动性

通过建立健全课程网站评价体系,即有效的反馈机制的建设,通过比较校内、校外、甚至国外专家、同行、学生在利用课程网站的建设方案,调查和补充课程

数据库技术的现状及其发展趋势研究开题报告

数据库技术的现状及其发展趋势研究开题报告 专业:信息管理与信息系统 学生:李清学号:092466

一、选题背景及意义:

数据库技术主要研究如何存储、使用和管理数据 ,是计算机技术中发展最快、应用最广的技术之一。作为计算机软件的一个重要分支,数据库技术一直是倍受信息技术界关注的一个重点。尤其是在信息技术高速发展的今天,数据库技术的应用可以说是深入到了各个领域。当前,数据库技术已成为现代计算机信息系统和应用系统开发的核心技术,数据库已成为计算机信息系统和应用系统的组成核心,更是未来“信息高速公路”的支撑技术之一。因此,为了更好的认识和掌握数据库技术的现状及发展趋势,本文对有关数据库发展的文献进行了收集整理,以求在对现有相关理论了解、分析的基础上,对数据库发展进行综合论述,对数据库技术发展的总体态势有比较全面的认识,从而推动数据库技术研究理论的进一步发展。

二、论文综述

1、数据库技术发展历程:许多年以来在数据库技术领域很少有重大的技术创新能够引起人们对整个数据库发展历程的回顾与反思。DB2 9中推出的pureXML技术,对过去数十年来关系型数据库的最基本的数据组织方式进行了重大的创新,第一次让我们对数据库的历史,以及过去支撑其发展壮大的理论基础和外部挑战从新的角度进行审视。 今天我们很少去回顾数据库的历史,对于绝大多数IT技术人员,数据库等同于关系型数据库,数据则和表紧密联系。E-R模型几乎是我们描述世界的唯一方式,SQL语言是数据库信息访问处理的唯一手段。关系型数据库已经成为了一种宗教式的信仰,数据相关的所有理论问题似乎都已经解决。

然而历史的发展总是在我们不经意间产生转折,所有重大技术的产生及发展都有其生存的土壤。40年前数据库的诞生并不是关系型数据库,第一代的数据库第一次实现了数据管理与应用逻辑的分离,采用层次结构来描述数据,是层次型数据库(IMS)。第二代数据库奠基于上世纪70年代E.F Codd博士提出的关系型理论以及SQL语言的发明。实现了数据建模和数据操作处理的标准化,关系型数据库在其后的20多年的时间取得了长足的发展,得到了广泛的应用。技术的演进主要集中在性能、扩展性和安全性等方面的提升,其基本的理论框架和技术理念并没有大的变化。

与之相反,在过去的20多年里,IT产业发生了重大的变化和一系列技术及理念的创新。数据库所生存的外部土壤随着Internet以及在网络环境下IT系统互联互通相互协作的趋势,对信息管理技术提出了新的挑战。

2、国内研究的综述:《移动数据库技术研究综述》《Web数据库技术综述》《Web与数据库技术》《数据库技术发展趋势》

三、论文提纲

(一)数据库技术概论

1、数据库技术概念及类型

2、数据库技术发展历程

3、数据库技术应用

(二)数据库技术发展现状------关系数据库技术仍然是主流

1、发展现状概述

2、Oracle概念及应用

3、Access概念及应用

4、SQL概念及应用

5、DB2概念及应用

6、发展现状总结

(三)数据库技术发展的趋势

1、下一代数据库技术的发展主流―――面向对象的数据库技术与关系数据库技术

2、演绎面向对象数据库技术

3、数据库技术发展的新方向――――非结构化数据库

4、数据库技术发展的又一趋势―――数据库技术与多学科技术的有机结合

5、未来数据库技术及市场发展的两大方向―――数据仓库和电子商务

6、数据库技术的实践性发展―――面向专门应用领域的数据库技术

(四)当代与未来数据库研究的热点―――数据挖掘、知识发现与数据仓库

1、数据挖掘技术

2、数据仓库技术

3、知识发现技术

4、小结

5、结论

四、论文写作进度安排

(一)开题报告:论文题目、系别、专业、年级、姓名、导师

(二)目的意义和国内研究概况

(三)论文的理论依据、研究方法、研究内容

(四)研究结论

(五)预期的结果

(六)进度安排

篇15:数据库实习报告

篇一:数据库实习报告

通过这次在清华it的实习,学到了很多东西。也了解到了软件开发的真正价值。这次的实践让我真切体会到了我们前面所学知识的用处所在。以前总认为所学的知识只是理论上的知识,根本就没有任何作用,但通过这次实习,让我学有所用。而且学到了很多在学校学不到的东西,受益匪浅。

在这个信息时代,信息都是电子化。很多方面根本不在是一些手把手的管理,而是在电脑面前操作一下即可,让我们真正享受到高科技的待遇。在软件开发领域,做一个项目的出发点是提高办事效率。而在项目制作的过程中我们要使一个软件简洁实用,人性化,快捷方便。

这次实习的主要任务是图书管理系统的开发。项目运行的平台是windowsxp,运用系统主要是microsoft visual studioxx,microsoft sql server xx,运用的知识主要有我们学习过的知识数据库技术,以及实习过程中所提及的知识。在软件开发果过程中首先要了解三层结构的的含义及其设计模式思想部署企业级数据库业务系统开发。

三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。

三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。

下面介绍图书管理系统开发技术

一 系统的功能设计

首先对系统进行需求分析,我们必须要知道要做一个系统“用来干什么”,这需要在对用户需求进行充分调研的基础上,深入理解并描述出软件的功能、性能、接口等方面的需求,可以使用uml建模作为需求分析和系统设计的有效方法。图(1)给出了本图书管理系统的功能结构图,其工作流程为:普通用户直接登录主页面,只能浏览、快速查询图书、注册新用户、修改自己的密码以及查看图书的详情,管理员用户除了可以完成普通用户的操作外,还可以进入图书管理模块进行图书添加、修改和删除的操作。

1、系统的功能特点

(1)操作简单、界面友好:插入表格的页面布局,使得图书的录入工作更简便;许多选项包括图书类别、来源等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

(2)即时可见:对图书的处理(包括图书添加、修改、删除)将立即在主页的对应栏目显示出来,达到“即时处理、即时见效”的功能。

(3)功能完善:包括常见网站的图书管理的各个方面:图书新增、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时图书的管理要求。

(4)方便移植:针对不同的图书馆,只需要稍作修改就可以开发出适合本企业特点的网站图书管理系统。

2、系统的详细设计

系统的主要功能是通过几个功能模块来实现的。具体的设计过程

⑴ 系统登录:该模块负责将用户分为普通用户和管理员用户来实现用户权限的管理。

⑵图书类别管理:该模块只有管理员才有的权限,管理员可以对图书的大、小类进行添加、更新、删除等操作。

⑶库存图书浏览:该模块负责分页列出图书馆中所有图书的信息,包括图书名称、作者、出版社,图书状态,每条记录后面都有一个,被做成一个超,点击它们就能跳转页面可以查看的详情如图书封面、图书数量、图书出版年份。

⑷库存图书添加:该模块是图书管理员进行图书的添加,权限仅限管理员,在此页面中的大小类实现了联动作用,点击其大类,小类的下拉列表中就会显示与之对应的小类,从中选择即可。

⑷ 图书快速查询:该模块提供了图书快速查询功能,输入待查找的图书名称可以快速地找到符合条件的图书,并输出查询结果,点击产看详情字样就可以查看图书的详细信息。

⑸编辑系统用户:该模块负责分页罗列注册用户的具体信息,普通用户本人或管理员可以对用户进行删除、修改。非普通用户或系统管理员外不具有对该用户的处理权限,所以不同普通用户进入此页面将显示不同的内容。

⑹修改用户密码:普通用户本人用户录入所需要的内容,包含用户名、真实姓名、权限类型、旧密码及新密密码,点击更改即可修改密码,并写入数据库中保存。

⑺系统名称设置:该模块为管理员权限,管理员可以更改图书系统的名称。普通用户为不可见状态。

⑻系统使用说明:主要是供普通用户和管理员阅读,使之更好地了解本系统的权限以及用法。

[数据库实习报告]

篇16:c++课程设计实践报告

班级:83121

姓名:张弛

学号:1000491

题目一、题目描述: 已知银行整存整取存款不同期限的月息利率(采用复利 方式,即利滚利)分别为 0.63% 期限一年 0.66% 期限二年 月息利率= 0.69% 期限三年

0.75% 期限五年 0.85% 期限八年 要求输入存钱的本金和期限(以整数年为单位) ,求到期时能从银行 得到的利息与本金的合计。 提示:可以用嵌套的 if-else 结构或 switch 结构实现,核心函数 pow(1+月利率,月份)。 请思考年份是四、六、七或八年以上的情况。

设计思路: (一)使用 switch 选择语句 对应年份

(二)明确核心函数 pow 是计算复利的(例如:x 的 n 次方 ) ;由于 是以年为计算期限的,而所给的利率是月利率,所以计算时 应该在年的基础上乘以 12; (三)复利计算就是一种幂运算,I=p*(1+i)^n,本金和利率都是变

动的 (四)在除了 1、2、3、5 和 8 年之外的其他年份中,要注意“就低 不就高”的原则,尤其是在 8 年之后,也是套用期限八年的利率。

附源程序如下: #include #include void main { int years; float capital,sum;

scanf(“%f %d”,&capital,&years); switch(years) { case 1:sum=capital*pow(1+0.63*0.01,12);break; case 2:sum=capital*pow(1+0.66*0.01,24);break; case 3:sum=capital*pow(1+0.69*0.01,36);break;

case 4:sum=capital*pow(1+0.69*0.01,48);break;

case 5:sum=capital*pow(1+0.75*0.01,60);break; case 6:sum=capital*pow(1+0.75*0.01,72);break; case 7:sum=capital*pow(1+0.75*0.01,84);break; case 8:sum=capital*pow(1+0.85*0.01,96);break; default:sum=capital*pow(1+0.85*0.01,12*years); } printf(“%f”,sum); }

题目二、题目描述: 简单计算器。用 switch 语句编写一个程序计算表达式: data1 op data2 的值。其中 op 为运算符+、-、*、/。

设计思路: (一)明确计算器是怎样进行计算的; (二) 细节, 比如很多地方需要分号, 在遇到字符时, 我们应该用 ‘’ , 而不是“” ; (三 Switch 语句主要用于多分支选择,此题有+、-、*、/,这就是 选择。使用 switch 每个 case 对应+ - * /符号 程序涉及到至

少三个量,运算符 op 和两个数字;先让用户输入两个数字和运算符, 两个数字的计算在后面的程序中用 swith 结构运行。 运 行 效 果 截 图 :

附源程序如下:#include int main() { float data1,data2,c;

char op; printf(“请输入表达式中两个数字 data1 和 data2 ”); //打印 scanf(“%f%c%f”,&data1,&op,&data2); //输入

printf(“请输入运算符+、-、*、/ ”);// 打印 switch(op) //switch (){case stick:break;} 这个是个选择结构

如果 OP = stick 则执行这一句 如果没有 则执行 default 后面 的语句 { case '+':c=data1+data2;break; case '-':c=data1-data2;break; case '*':c=data1*data2;break; case '/':c=data1/data2;break; default:printf(“输入错误”);break; } printf(“%f”,c); return 0; } 题目三 题目描述:编写程序,用二分法求方程 2x3-4x2+3x-6=0 在(-10,10) 之间的根。 提示: ① 用 do-while 语句实现。

② 二分法的计算步骤: (1) 准备 计算 f(x)在有根区间[a,b]端点处的值 f(a),f(b) (2) 二分 计算 f(x)在区间中点(a+b)/2 处的值 f[(a+b)/2] (3) 判断若 f[(a+b)/2]=0,则即是根,计算过程结束。 否则,检测: A. 若 f[(a+b)/2]与 f(a)异号, 则根位于区间[a,(a+b)/2]内, 这时以(a+b)/2 代替 b; B. 若 f[(a+b)/2]与 f(a)同号, 则根位于区间[(a+b)/2,b]内, 这时以(a+b)/2 代替 a; 反复执行步骤 2 和 3,直到区间[a,b]长度缩小到允许的误差范围之 内,此时中点(a+b)/2 即为所求的根 设计思路: (一)二分法是指在整个算法中,让计算值无限趋近于根的值,利用 数学知识可知,当了两个点的结果异号时,函数的根就在这两个数之 间,利用二分法可以无限的把根的范围缩小,直到可以确定为止; (二)do-while 是循环语句,先执行一次指定的循环体语句,然后 判别表达式, 当表达式的值为非零 (真) 时, 返回重新执行循环语句, 如此反复,直到表达式的值等于 0(假)为止才结束。 (三)Void main()是声明函数,并且是对主函数的声明。题目所 给的范围是(-10,10) ,因此在声明函数中定义一个 a 和 b 来代替区 间的范围,而用 c 来代指中间指也是最后的结果,在这个程序中 a、b、c 都是随着范围不断变化的变量。如果(-10,10)的范围过大,

就需要循环语句来缩小区间范围, 即 a=c 或 b=c。 当函数值在 (-10,10) 中任意一点取得 0 时,就正是我们所要的结果。循环条件是当区间 a 和 b 的函数值小于精度 0.01。 运行效果截图:

附源程序如下: #include “stdio.h” float f(float x) { float y; y=2*x*x*x-4*x*x+3*x-6; return y; } void main() { float a=-10,b=10,c;

do{c=f((a+b)/2); if(c==0) break; if(c*f(a)>0) a=c; else b=c; } while(f(b)*f(a)<0.01); /*解的精度为 0.01*/ printf(“方程的解是:%f”,c); }

题目四 题目描述:编写程序,给定一个整数 i,请求出另一个整数 j,使 i 和 j 在用 8 位二进制表示时互为逆序。例如:给定 i=3 时,应得到 j=192(3 的二进制为:00000011,192 的二进制为 11000000) 。 提示: ① 十进制整数转换为二进制整数用“除 2 求余”法。 ② 二进制整数转换为十进制整数用“按权相加”法。

设计思路: (一)二进制整数转化为十进制整数用“按权相加”法 (二)二十进制整数转化为二进制整数用“除 2 求余” ,用&转化。

(三)运算符:<<是指左移一位,>>是指右移一位,<<=结合时从右 到左运算, 其中 aa 是指 b 向右移 a 位, 左移一位相当于乘 2 右移 1 位相当于除 2 (四)在交换时,用的是中间法

运行效果截图: 附源程序如下:#include “stdio.h” void main() { int i,j,s=1,a[8]; printf(“请输入一个整数 i: ”); scanf(“%d”,&i); for(j=0;j<8;j++,s<<=1) { a[j]=i & s; } printf(“所得到的 j 为: ”);

printf(“%d ”,(a[0]<<7) | (a[1]<<5) | (a[2]<<3) | (a[3]<<1) | (a[4]>>1) | (a[5]>>3) | (a[6]>>5) | (a[7]>>7)); }

题目五 题目描述:编写程序,抓交通肇事犯。 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没 有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相 同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位 数学家,他说:四位的车号刚好是一个整数的平方。根据以上线索求 出车号。 提示: ① 按照题目的要求,造出一个前两位数相同、后两位数相同且相互 间又不同的整数,然后判断该整数是否是另一个整数的平方。 ② 用穷举法解此题。穷举法是最简单、最常见的一种程序设计方法, 它充分利用了计算机处理的高速特征。穷举法的关键是要确定穷 举的范围,既不能过分扩大穷举的范围,也不能过分缩小穷举的 范围,否则程序的运行效率会很低,或有可能遗漏正确的结果而 产生错误。

设计思路:

(一)11 11

到 11

99

99 11 这样 穷举

判断是否一个

数的平方 则是 将这个数开方

取整 再取平方 是否还是原来的数

(二)此题需要满足三个条件:①前两个数相同,后两个数相同;② 前后两数分别不相同;③这个数是一个整数的平方。需要每个条件都 满足,if 才为真。 (三)主要思路是穷举。穷举是指在适当的范围内举出一个数。 运 行 效 果 截 图 :

附源程序如下: #include void main() { int a,b; for(a=32;a<=99;a++)

{ b=a*a; if(b/1000==b%1000/100 b%100!=(b/1000)*10+b%1000/100) printf(“The license plate is:%d ”,b); } } && b%100/10==b%10 &&

题目六 题 目 描 述 : 从 终 端 输 入 实 数 ex=1+x+x2/2!+x3/3!+?+xn/n!的值。 设计思路: 先输入一个 x 的值; 再设计一个子函数, 计算 1! , 2! , 3! ?n! 的值;之后用 sum 函数,和 pow 函数处理分子,用累加的方式进行分 子计算,并形成等式;最后输出结果。 x , 用 递 推 法 求

附源程序如下:#include “stdio.h” int f(int x,int n) { int i,m=0; for(i=0;i

for(i=0,s=0;f(x,i)<0.001;i++) s+=f(x,i); printf(“其结果为:%d ”,s); }

题目七 题目描述:打印出以下的杨辉三角形(要求打印出 10 行) 。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ?? ?? ??

设计思路: (一)二维数组主要用于处理多行的问题,而且第一行在数组之中是 第 0 行。 (二)杨辉三角有一个明显的特点:每一行的最后一个数字与第一个 数是相同的,此外,下 (三)一行的第二个数是由上一行的第一个数和第二个数相加之和, 以此类推。

定义指针是为了让整个程序不那么复杂。 运行效果截图:

附源程序如下: #include int main(void) { int a[10][10],(*p)[10]=a,i,j; for(i=0;i<10;i++) {

*(*(p+i)+0)=1; *(*(p+i)+i)=1; } for(i=2;i<10;i++) for(j=1;j

题目八 题目描述:找出一个二维数组的“鞍点” ,即该位置上的元素在该行 上最大,在该列上最小。 提示: ① 一个二维数组可能有鞍点也可能没有鞍点,若有鞍点,则只有一 个。

② 准备两组测试数据: (1) 二维数组有鞍点: 9 80 205 90 -60 210 40

96 1 89

-3 101

(2) 二维数组没有鞍点: 9 80 205 90 -60 210 40 1 89

196

-3 101 7

45 54 156

③用 scanf 函数从键盘输入数组各元素的值,检查结果是否正确。如 果已指定了数组的行数和列数,可以在程序中对数组元素赋初值,而 不必用 scanf 函数。请同学们修改程序以实现之。

设计思路: (一) 先找出一行中值最大的元素,然后看它是不是该列中的最小值,由于 一个二维数组最多有一个鞍点,所以如果是则鞍点存在且它就是鞍 点,输出该鞍点;如果不是,则再找下一行的最 大数,以此类推。如果每一行的最大数都不是鞍点,则此数组无鞍点 (二) 在程序中,先令 a[i][0]最大赋值给 maxi,在 for 循环的比较中,把

符合条件的行的最大值赋给 maxi,将每一次比较后的最大的列数赋 值给 maxj,从而找出 i 行最大的那个。 再假设那个数就是鞍点,将最大数和同列的数值相比,如果 maxj 不 是最小的,则不是鞍点,继续找。 (三)引入一个参数 flag=1,若不存在鞍点则 flag 为 0,若存在鞍 点则 flag 依旧为 1

运行效果截图:

附源程序如下:#include “stdio.h” #define S 80 #define T 80 void main() { int m,n,i,j,t,maxh,maxl,flag,a[S][T]; printf(“请输入二维数组的行数 m 和列数 n: ”); scanf(“%d %d”,&m,&n); printf(“请输入二维数组的各个元素: ”);

for(i=0;ia[i][0]) t=a[i][j];maxh=i;maxl=j; } for(i=0;i

a[%d][%d]=%d “,maxh,maxl,a[maxh][maxl]); }

题目九 题目描述:某班期终考试科目为高数 MT、英语 EN 和物理 PH,有 30

个人参加考试。为评定奖学金,要求统计并输出一个表格,表格内容 包括学好、各科分属、总分和平均分,并标出 3 门课均在 90 分以上 者(该栏标志输出为 Y,否则为 N) ,表格形式如下: NO MT EN PH SUM V >90 1 2 3 97 87 92 276 92 92 91 90 273 91 90 81 82 253 84 ...... N Y N

#include ”stdio.h“ void main()

设计思路:由于是对 30 个学生的数据进行输入与统计,所以建立二 维数组, 根据各位置的条件来定义其内容, 第 8 个数据是字符型数据, 所以另设一数组进行存储,最后在将数据整合输出。

附源程序如下:#include ”stdio.h“ void main() { int i,j,sum,flag,a[30][7]; printf(”请输入 30 个考生的三科成绩: “);

for(i=0;i<30;i++) { a[i][0]=i+1; for(sum=0,j=1;j<4;j++) {scanf(”%d“,&a[i][j]); sum+=a[i][j]; if(a[i][j]>90) flag=1; else flag=0; } a[i][4]=sum; a[i][5]=sum/3; if(flag=1) a[i][6]='Y'; else a[i][6]='N';

} printf(”NO MT EN PH SUM V >90 “); for(i=0;i<30;i++) for(j=0;j<6;j++) { printf(”%5d“,a[i][j]); printf(” %c “,a[i][6]); }

}

题目十 题目描述下面是一个 5*5 阶的螺旋方阵,试编程打印出此形式的 n*n (n<10)阶的方阵(顺时针旋进) 。 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 提示:用二维数组实现。

设计思路:定义一个 n*n 维数组存放该方阵,m 为该方阵的圈数,一个大循环中嵌套了

四个小循环,每一圈为一个大循环,第一个小循环按顺序写出第一行的数,第二个小循环按 顺序写出最后一列的数, 第三个小循环按顺序写出最后一行的数, 第四个小循环按顺序写出 第一列的数,再进行第二次大循环,循环完毕后再进行循环输出数组中的 n*n 个数,该螺旋 方阵就出来了。

附源程序如下: #include ”stdio.h“ void main() { int i, j, k = 0, m, n,a[10][10]; printf(”请输入方阵行列数 n(n<10): “); scanf(”%d“,&n); if(n%2==0) m = n / 2; else m = n / 2 + 1; for(i=0;i

k++; a[i][j]=k; } for (j=i+1;j=i;j--) { k++; a[n-i-1][j] =k; } for (j=n-i-2;j>=i+1;j--) { k++; a[j][i]=k; } } for (i=0;i

printf(”%5d“, a[i][j]); printf(” “); } } 附:

实习总结与心得体会

经过 C 语言实习,让我加深了对 C 语言的了解,而不只是单单 的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编 写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理 论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。 不过,通过几天的实习,逐渐积攒了一些经验,有些错误可以很快就 看出来。 这次实习有很大的收获,让我对 C 语言有了更深的认识,平时 在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技 能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣 就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技 能,让我对 C 语言有了浓厚的兴趣和更深层的认识。 C 语言是一个有序的学习, 学了最基本的替换, 然后扩展到循环, 嵌套, 条理很清楚, 不是一个零散的知识, 实际上所有的课程都如此, 不过通过实习我也知道了自己的不足,存在的很多问题。比如自己写 的写的小程序出了问题,不会解决了就叫老师帮忙,但是会养成一种 依赖的心理,碰到问题了个想到的是求助而不是自己独立解决,所以

以后要多多锻炼自己的信心和增加自己的能力, 争取做到老师不在身 边的时候也可以完成一些简单的程序编写与错误排除。 还有自己的基础知识不扎实, 遇到的问题, 没有很好的逻辑思维, 亲自编写一个陌生的程序的时候会有种无法下手的感觉, 找不到突破 口。通过实习,逐渐理清了顺序,对于简单的程序和一些相对比较繁 琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基 础知识掌握了,然后有条不紊的分析,一步一步理解,C 语言还是很 有意思的课程。 自己亲自动手编写程序让我增加了对 C 语言程序开发环境的了 解,在上课的时候老师就讲,学习C 语言最重要的是学习C 语言的 逻辑思维,不管以后从事什么行业,学习C 语言都对自己的职业很 有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的 编程工作可能不用 C 语言,但是拥有扎实的 C 语言基础是对工作很 有用的。 当初在初步接触 C 语言的时候,看着一堆“奇形怪状”的符号, 觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态! 感谢学校安排这次实习和老师的耐心讲解,让我学到了很多知 识,在实习过程中,同学之间的相互探讨,老师的循循善诱,最终让 我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之 间的感情。希望以后还会有更多类似的实习课程,在有限的大学时间 内学到更多的实用技能,为以后的生活和工作打下一个良好的基础。

[c++课程设计实践报告]

篇17:财务管理课程设计报告心得体会

期待了很久的课程设计终于来了,却远远没有想象中的那般轻松。

6000千字的课程设计报告对于我们来说是第一次接触,老师说其实很简单,但真正轮到了我们自己动手,还是有很多困难接踵而至。

从选公司的大海捞针到看着一堆资料的无从着手,再到面对着每章琳琅满目的方法无从选择,慢慢地摸索,互相帮忙着想办法,也是收获颇丰。

经过激烈的讨论,我们最终选择。。。。。。。做我们研究的主要对象。大家开始分工搜索有关的信息,不仅仅是从老师提供的案例找到论文的格式,当然这是最重要的一部分,还要仔细研究。。。。的各种资料。。。。。。真的很感谢我们有一个这样的团队,是大家齐心协力我们才能够成功完成课程设计,谢谢我们组员对我的照顾。

一个星期的时间一眨眼就过去了。说实话,我是感谢这一个星期的课程设计的。尽管很忙碌,但是很充实,充分了解到自身知识的不足和实践的重要性,也学到了很多技巧,增加了小组成员之间的感情,学到了很多课本所无法交给我们的知识。在不知道路在何方的时候,手牵手探索;在迷茫挣扎的时候,会有老师伸出援手、指点迷津;在疲惫痛苦的时候,有成员们相互安慰相互鼓舞。 也许,我们做的财务报告并不是最好的,但是,实实在在的,都是我们每一个人每一字一句辛辛苦苦分析的成果。有了这一个星期的课程设计,让我了解了自己的很多不足,在以后的学习过程中,会针对自己的不足之处,更加努力地提升自己。

篇18:课程设计报告的心得体会

在我看来,通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。

当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。

我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。

知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。

篇19:课程设计报告的心得体会

新的课程理念强调课程设计必须从学生的角度出发,要与学生的经历和经验相联系,所倡导的是以人为本,以学生为主体,关注学生终身可持续发展,注重各种能力和创新意识的培养。在本书中,编者能从理论上向读者阐述数学课堂教学中教育观,引领读者课堂教学设计方案,能从数学课堂中概念教学,命题教学,复习课等教学各环节使读者从中受益非浅,在我十几年的教学生涯中,深深体会到一堂课的成败与课前的教学设计密不可分,如若你课前能做大量的准备工作,对课的重点,难点进行充分的研究,了解课的地位,对教学目标的制定,课堂中的板书,课堂语言严谨性准确性能作准备,大量公开课的成功应归功于课的设计。

数学课堂要生活化,新课程倡导用具体的,有趣的,富有挑战性的素材,引导学生投入数学活动,使课堂教学内容不再空洞,枯燥,拉近数学与现实的距离,让学生感受到数学来源于生活,产生乐于接受的心理。比如:在引入分数时,新课程利用比身高的例子,利用名人姚明的身高作比较,让学生体会到数学的实用性;在讲角的比较大小时,利用学生熟悉的足球射门,来比较谁的进球机会大;在学圆的周长时,教学一开始设计了这样一个问题:两个遥控模型机器人分别沿两种不同形状的赛道进行比赛,一种是边长为4.7米的正方形,另一种是直径为6米的圆形,如果它们同时,同速从一点出发,那么谁先到达原出发点呢 函数的引入时,每个人与他的生日的对应关系,衣服上的纽扣与纽门的对应关系。通过引入生活中的例子,可丰富学生的感性认识,激发学生的学习兴趣。

在数学教学设计中,我们总是在教导学生,学习科学知识的重要性,而形成科学态度,科学精神更重要。所谓科学态度,就是实事求是的态度,所谓科学精神,就是怀疑的,批判的,探索的,创造的精神。可是这种态度和精神不可能离开学科教学,离开学科发展的实际过程单独进行说教。它必须渗透在学科教学的过程之中。教学模式具有多样性,具体如何选择,要根据学生的知识水平,学习动机,学习能力,学习风格和学习态度来选择,也可根据教师的自身的不同的特长,数学素养和教学风格来选择。

对数学教学内容有透彻的理解,又善于用生动的语言表达自己的思想,这样的教师运用讲练结合教学模式往往效果较好,而有的教师洞悉数学思想发展的脉络,又善于启发学生的思维,这样的教师运用引导发现模式就比较适当。如数学概念的教学中,有的用数学的式子来定义,如正比例函数,反比例函数,一次函数,二次函数等;有的通过例举一些式子归纳它们的共性用文字来下定义,如方程等;

数学课堂设计要发挥学生的主体性,在我认为,教师在课堂中,应该更多扮演一种引导者和激发者的角色。激发了学生求知欲望后,教师就应及时地将新课的内容有计划,有层次,由浅入深地展示给学生,并让学生参与新知识建立的过程,促使学生对新知识加以理解和掌握。同时,在教学过程中要有意识地结合教学内容向学生显示”怎样思考"的信息,提高思维能力。

课堂教学结构虽有其比较稳定的活动程序,但决不是固定的,要根据不同的教学任务,教学内容和本班学生的实际情况加以调整,并有机地结合起来。优化教学过程,就要全面考虑教学过程的各因素,使每节课安排的程序成为一个科学有序的组合,每一个环节都成为这个整体的有机组成部分。这些问题是新,旧知识的结合点,教师应帮助学生理解新知,根据学生已有的知识,提出最近发展区之间的问题,以实现知识迁移。

教师要调动学生学习积极性,引导学生打开思路去想问题。本阶段,如在几何直观教学中应引导学生通过动手,动口,动脑加以分析解答,调动多种感官同时参与学习过程,参与探索知识的过程。根据学生的质疑,教师可以把握大量的反馈信息,从而有针对性地进行疏导,释疑,解惑,提高课堂教学的效率。教师尤其要鼓励低差学生质疑,耐心地给予解答。

《数学教学设计》能从数学教学的各个环节,使我们体会到数学设计中应考虑各要素,根据课的内容,学生做好课前设计,为课堂教学提供充分素材,达到课堂教学的目的。

课程设计报告

课程设计开题报告

数据库开题报告

课程设计报告个人心得

机械设计课程设计实习报告

财务管理课程设计报告心得体会

工程测量学课程设计实习报告

设计表现课程设计实习报告

馆藏档案数据库调研报告

教学课程设计

数据库课程设计报告(精选19篇)

欢迎下载DOC格式的数据库课程设计报告,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档