课程设计报告

课程设计报告
课程设计报告

《数据结构》课程设计报告

设计题目:__哈夫曼树编码译码

姓名:______胡明号___________

学号:______211011008________

专业:_______嵌入式软件______

院系:_计算机科学与技术学院___

班级:________1003____________

指导教师:_____高秀梅_________

2012年 3 月 20 日

摘要

哈夫曼编/译器设计:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求这发送端通过一个编码系统对待传数据预先编码,在发送端将传来的数据进行译码(复原)。对于双工信道。每端都需要一个完整的编译码系统。本程序将为这样的信息收发站写一个哈夫曼的编译码系统。

哈夫曼编码/译码程序运行步骤:

字查找,从英文文章中识别出字符,并把字符插入到一棵二叉排序树中。

哈夫曼树中序遍历,是为了把英文文章中的不重复的字符保存起来。

哈夫曼编码,在已经构造好的霍夫曼树中从每个叶子结点出发追溯到树根,逆向找出霍夫曼树中叶子结点的编码,规定:树中每个结点的左分支标上0,右分支标上1。

哈夫曼译码利用霍夫曼树实现对产生的编码文件的译码,译码过程为:从根结点出发,按二进制位串的0或1进入左分支或右分支,当到达叶子结点时译出该叶子对应的单词或标点符号,若该编码文件尚未结束,则回到根结点继续进行上述过程。

运行环境:windows XP 语言环境:简体中文软件大小:51 KB 编写工具: Microsoft Visual studio 2008

Abstract

Information : Huffman coding used in communication can greatly improve the channel utilization, reduced transmission time, and lower transmission costs. However, this requires that the sender through a coding system for pre-treatment data-coding, the transmitter will be sent for decoding data (recovery). For dual-channel. Each side needs a complete encryption system. This procedure will this information hubs Huffman was one of the encryption system.

Hoffmann code for coding procedures to run the steps and :

word from english in the words and punctuation marks;and insert the words, and punctuation marks a second sort of a tree. the traversal order hoffmann, to english articles do not repeat the words and punctuation marks.

Hoffmann tree in order to traverse;keep the code has been constructed in hoffmann good hafman tree leaves from the start dates back to tabulate the roots;

Hoffmann decoding;hafman the implementation of the code to the coding, coding procedures for : from start to tabulate the roots of binary of 0 or 1 to the left or right, a subdivision of a branch is to tabulate the leaves of the leaves translate the words or punctuation marks, if the code file is not finished but is to tabulate the process of continuing. all the code, coding procedures are in the file.

目录

一、问题描述 (4)

二、需求分析 (4)

三、概要设计 (5)

四、数据结构设计 (7)

五、算法设计 (7)

六、程序测试与实现 (9)

七、调试分析 (12)

八、心得体会 (12)

一、问题描述

1、题目内容:

利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。试写一个哈夫曼编/译码系统。

2、基本要求:

一个完整的系统应具有以下功能:

(1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件中。

(2)编码。利用已建好的哈夫曼树对文件中的正文进行编码,然后将结果存入文件中。

(3)译码。利用已建好的哈夫曼树将文件中的代码进行译码,结果存入文件中。

(4)完成数据测试,要求编码字符不低于15个,编码文件的长度不低于50个字符。

(5) 计算平均编码长度。

二、需求分析

一个完整的系统应具有以下功能:

1、初始化(Initialization)。从终端读入字符集大小n,以及n个

字符和n个权值,建立赫夫曼树。

①对赫夫曼树初始化。

②根据书本算法,对树进行从叶子到根的逆向求每个字符的赫

夫曼编码。

③更新赫夫曼树。

2、编码(Encoding)。利用已建好的哈夫曼树正文进行编码。

①将终端输入须要编码的语句逐字在已建好的赫夫曼树中查

找。

②当在树中找到相匹配字符时,将该字符对应的赫夫曼编码同

意保存。

③最后将数组中的编码在终端输出。

3、译码(Decoding)。利用已建好的哈夫曼树将文件中的代码进

行译码。

①获取须要译码的编码组。

②将编码逐一读入,并在赫夫曼中根据左‘0’右‘1’去查找

字符。

③将译好的语句在终端输出。

三、概要设计

操作集合:

void Select(int cur, int &r1, int &r2); nodes[1 ~ cur]中选择双亲为,权值最小的两个结点r1,r2

void CreatHuffmanTree(char ch[], int w[], int n);

public:

HuffmanTree(char ch[], int w[], int n);由字符,权值和字符个数构造哈夫曼树

virtual ~HuffmanTree(); 析构函数

string Encode(char ch); 编码

LinkList Decode(string strCode); 译码

本程序主要用到了三个算法。

(1)哈夫曼编码;

在初始化过程中间,要用输入的字符和权值建立哈夫曼树并求得哈夫曼编码。先将输入的字符和权值存放到一个结构体数组中,建立哈夫

曼树,将计算所得的哈夫曼编码存储到另一个结构体数组中。(2)串的匹配;

在编码过程中间,要对已经编码过的代码译码,可利用循环,将代码中的与哈夫曼编码的长度相同的串与这个哈夫曼编码比较,如果相等

就回显。

(3)二叉树的遍历

在印哈夫曼树(T)的中,因为哈夫曼树也是二叉树,所以就要利用二叉树的

先序遍历将哈夫曼树输出。

四、数据结构设计

struct Node

{ char data; // 节点数据域为字符型

Node *next;

Node(){ next = NULL;};

Node(char item, Node *link = NULL){ data = item; next = link;};

}

struct HuffmanTreeNode

{

int weight;

unsigned int parent, leftChild, rightChild; // 双亲,左右孩子域

HuffmanTreeNode();

HuffmanTreeNode(int w, int p = 0, int lChild = 0, int rChild = 0);

}

五、算法设计

1、算法分析(必须要用语言进行描述)

构造树:

初始化:每个字符就是一个结点,字符的频度就是结点的权:

1、将结点按频度从小到大排序;

2、选取频度最小的两个结点,以它们为儿子,构造出一个新的结点;

新结点的权值就是它两个儿子的权值之和;

构造之后,从原来的结点序列里删除刚才选出的那两个结点,但同时将

新生成的结点加进去;

3、如果结点序列里只剩下一个结点,表示构造完毕,退出。

否则回到第一步。

编码:

编码:

可以假定,对某个结点而言,其左孩子在当前阶段的编码为0,右孩子的编

码为1。这样就可以通过”树的遍历“的方式来生成字长—编码对照表

来到这里,基本上艰苦的已经完成了,对某个具体的字符串编码和解码就只

是简单的“查表—替换”的工作了。

解码:

解码也是个简单的查表、替换过程。如果利用该种编码发送字符串,则它

的”字宁含—编码侧应表也必须发送过去,不然对方是不知道怎么解码的。

对给出的一串编码,从左向右,将编码组合起来并查表.

2、算法流程图

六、程序测试与实现

1、函数之间的调用关系

2、主程序

int main(void)

{

char *ch;

int *w,n,i;

cout<<"输入字符集中字符的个数:"<>n;

ch=new char[n];

w=new int[n];

cout<<"输入字符集中的字符:"<

for(i=0;i

cin>>ch[i];

cout<<"输入字符集中的字符的权值:"<

cin>>w[i];

HuffmanTree hmTree(ch, w, n);

string strText,strCode;

cout<<"请输入要编码的字符串";

cin>>strText;

cout << "文本串" << strText.c_str()<< "编码为:"; for (int pos = 0; pos < strText.length(); pos++) {

string strTmp = hmTree.Encode(strText[pos]);

cout << strTmp.c_str();

}

cout << endl;

system("PAUSE");

cout<<"请输入要译码的二进制串";

cin>>strCode;

cout << "编码串" << strCode.c_str()<< "译码为:"; LinkList lkText = hmTree.Decode(strCode);

lkText.Traverse();

system("PAUSE");

return 0;

}

3、测试数据

字符集中字符个数:15

字符集中的字符:a,b,c,d,e,f,g,h,i,j,k,l,m,n,o

权值:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

要编码的字符串:abcdefghijklmno

4、测试结果

0011100011110011011010110110010101010111100111011110 七、调试分析

1.链表中的结点变量是通过指针变量来访问的。因为在C++语言中是用P—>来表示P所指的变量,又由于结点类型是一个结构类型,因此可用P—> data和P—>next分别表示结点的数据域变量和指针域变量。指针变量的值要么为空(NULL),不指向任何结点;要么其值为非空,即它的值是一个结点的存储地址。注意,当P为空值时,则它不指向任何结点,此时不能通过P 来访问结点,否则会引起程序错误。

八、心得体会

通过这次数据结构课程设计,使我对软件的界面设计有了一个比

较深刻的了解,对各种内部排序方法的性能有了清晰的认识,使我感觉

到到,一个优秀的软件,不仅仅是可以运行的,更应该具有人性化的界

面,协调的布局,合理的结构,良好的性能和一定的容错性一个人要完

成所有的工作是非常困难和耗时的.在以后的学习中我会更加注意各个方面的能力的协调发展,选择一两门技术进行深入研究,成为一个

可以统筹全局.又有一定技术专长的优秀的程序开发人员.

通过这次实验我也着实又感受了一次编程的乐趣,从中也学到了不少知识。虽然都说“程序=数据结构+算法”,但我在学习运用数

据结构编程之前,并没能深刻体会到这一点,直到这次课设实践。现在编程感觉完全不同了。在编写一个程序之前,自己能够综合考各种因素,首先选取自己需要的数据结构,是树还是图或是别的什么?然后选定一种或几种存储结构来具体的决定后面的函数的主要风格。最后在编写每一个函数之前,可以仔细斟酌比对,挑选出最适合当前状况的算法。这样,即使在完整的程序还没有写出来之前,自己心中已经有了明确的原图了。这样无形中就提高了自己编写的程序的质量。另外,我还体会到深刻理解数据结构的重要性。只有真正理解这样定义数据类型的好处,才能用好这样一种数据结构。了解典型数据结构的性质是非常有用的,它往往是编写程序的关键。我以前对递归算法一直很害怕,总是看不明白究竟这递归是怎么进行的。在这次实验中我终于克服了这一障碍,一次次单步执行书中递归函数的例子,并一遍遍在心中自己默默的走,终于弄明白了,真的是功夫不负有心人啊!同时我还根据自己的理解写出了类似的递归函数实现了新的功能,真是受益良多啊!在这次实验中,我对参数的调用也进行了很多种尝试,己经能够相对准确的选择合适的参数形式来实现函数之间的数据传输交互了。

Java计算器课程设计报告 - 副本

JAVA课程设计 小型计算器 学生姓名: 指导教师:李明江 系别:计算机科学系 专业:计算机科学与技术 年级:2008 应用2班 提交时间:2010年 12 月 22日学号:

目录 一概述 (3) 二总体方案设计 (4) 三详细设计 (6) 四程序的调试与运行结果说明.. 10 五课程设计总结 (19) 六附录...... 错误!未定义书签。

一设计任务书 1.程序具备的功能: (1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮; (2)完成整数、实数的四则运算(加、减、乘、除); (3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。 2.课程设计的主要设计思想 对于此计算器程序,首先要设计其GUI 界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。 文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel 中,添加到整体布局的CENTER,界面设计

完成。 布局设计好后再添加按钮事件。对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。 在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。 二总体方案设计 1.界面设计 界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用到awt 中的BorderLayout和GridLayout布局管理方

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

课程设计报告模板)

课程设计报告模板()

————————————————————————————————作者: ————————————————————————————————日期: ?

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

数据库课程设计报告:学生成绩管理系统

《数据库系统原理》课程设计报告 学生成绩管理系统 设计成员 所在专业 所在班级 指导教师 提交时间

目录 卷首语:读书笔记 (4) 1、课程设计的目的 (6) 2、课题组成员的设计任务 (7) 3、学生信息管理系统概述 (8) 4、系统需求分析 (10) 5、数据库设计 (12) 6、系统模块详细设计 (17) 7、课程设计设计总结 (21) 8、程序源代码 (22) 参考文献 (50)

学生信息管理系统 班级:制作成员:指导教师:

卷首语: I、读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet 模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。 网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web 技术的人也可以熟悉运用。 开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。 在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪

数据库系统原理与应用课程设计成果报告模板 - 副本

课程设计成果报告 文字格式要求 主标题:三号字、居中、宋体、加黒,段后为自动。 正文:全文宋体、小四号字、段前段后0、行间距1.5,首行缩进2个字符(包括各级标题)。 编码:采用中式“一、二、三、…(一)(二)(三)…1.2.3.…(1)(2)(3)…①②③…”编码形式,不得采用自动生成格式。其中“一、(一)”做为标题,加黒,单独成行。“1.(1)”可以做标题,也可以不做标题,如果做标题,需单独成行,做还是不做标题,均不需要加黒。 图表:图表文字及说明等均采用五号宋体。表格要有表头(表头包括表号、表名),表头在表的上面并居中加黑。图要有图号、图名,在图的下面并居中,不需加黒。 公式:采用公式编辑器编写,要规范,必要时要编号,编号要写在公式的尾部。 装订:A4纸打印,加封面,左侧装订。 封面:封面装订,也可以粘贴在学生“课程设计”的档案袋表面。 图纸要求 2号图纸、1:100的比例、说明、标题栏等方面的要求 折叠图纸的要求。

河南工程学院 《数据库系统原理与应用》课程设计 成果报告 XX系统设计与开发 学生学号: 学生姓名: 专业班级: 学院:计算机学院 专业课程:数据库系统原理与应用 指导教师:李华 年月日

课程设计指导教师评分表

目录 一、需求分析 (1) 二、概念结构设计 (1) 三、逻辑结构设计 (1) 四、数据库的物理设计 (1) 五、数据库设计实现及运行 (1) (一)数据库的创建 (1) (二)数据表的创建 (2) (三)视图的创建 (2) (四)存储过程的定义实现 (2) (五)触发器的定义实现 (2) (六)自行设计各模块中所涉及的操作语句 (2) 1.插入数据操作 (2) 2.删除数据操作 (2) 3.修改数据操作 (3) 六、系统详细设计及实现 (3) 七、设计总结及心得体会 (3) (写完课程设计成果报告后更新一下目录页码,方法:在目录上右击,选择更新域,选择只更新页码) (格式:小四号宋体字,1.5倍行间距)

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

数据库课程设计报告

《数据库类课程设计》 系统开发报告 学号:111007133 姓名:邢小迪 题目:企业员工薪资管理 指导教师:王红梅 提交时间:2013年6月01日 计算机科学与应用系

目录 一绪论 二员工薪资管理系统概述 (1) 现状分析 (1) 系统目标 (2) 系统特点 (3) 三员工薪资管理系统数据库设计 (3) 需求分析 (3) 数据库物理结构分析 (4) 数据库概念结构设计 (6) 数据库逻辑结构设计 (9) 四员工薪资管理系统数据库功能模块的创建 (12) 五总结 (21) 体会 (21) 参考文献 (22)

一绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。 此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二员工薪资管理系统概述 1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设

电力电子技术课程设计任务书_副本

《电力电子技术》 课程设计报告 ( 2019 – 2020 年度第二学期) 姓名: 系部: 班级: 学号: 指导教师: 设计时间: 成绩: 日期:2020 年月日

任务书 一、设计内容 三相桥式全控整流电路设计 二、目的与任务 主要目的:本课程设计属于《电力电子技术》课程的延续,通过设计实践,进一步学习掌握《电力电子技术》,更进一步的掌握和了解他三相桥式全控整流电路。通过设计基本技能的训练,培养学生具备一定的工程实践能力。通过反复调试、训练、便于学生掌握规范系统的电子电力方面的知识,同时也提高了学生的动手能力。 1. 进一步的掌握和了解三相桥式全控整流电路 2. 交流侧变压器的保护 3. 电路元器件的参数确定 4.仿真电路的调试输出波形 主要任务: 每位同学独立完成整流电路的设计 1. 确定元器件的技术参数; 2. 电路原理图的绘制 3. 元器件的选择 4. 电路的保护环节 5. 仿真调试环节 6. 每人撰写一份课程设计报告。 三、主要内容 1参数计算 三相桥式全控整流电路要求输入交流电源:三相380V 10% 、f=50Hz交流电压,U2=100V,或者120V,140V自选,R=5Ω,L=0.5H. 为阻感性负载。 1).写出三相桥式全控整流电路阻感性负载的移相范围,并计算出直流电压的变化范围 2).计算α=60°时,负载两端电压和电流,晶闸管平均电流和有效电流。

3).画出α=60°时,负载两端 d U 和晶闸管两端 1 VT U 波形。 4).分析纯电阻负载和大电感负载以及加续流二极管电路的区别。 5).晶闸管的型号选择。 2.设计内容 (1)三相全控整流电路设计 (2)保护电路的设计 (3)触发电路的选择设计 (4)三相桥式全控整流电路的仿真调试,仿真结果及其分析 (5)设计总结 (6)参考文献 四、进度计划 五、设计成果要求 1变压器容量的选择,保护环节 2晶闸管型号的选择 3仿真电路的输出波形分析 六、考核方式 每人提交一份课程设计报告。 其他要求 1.课程设计报告格式,封面填写用宋体四号。正文用小四号宋体,首行缩进2 个字符,行间距用固定值20磅。全文的段落格式要一致。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

课程设计报告【模板】

模拟电子技术课程设计报告设计题目:直流稳压电源设计 专业电子信息科学与技术 班级电信092 学号 200916022230 学生姓名夏惜 指导教师王瑞 设计时间2010-2011学年上学期 教师评分 2010年月日

昆明理工大学津桥学院模拟电子技术课程设计 目录 1.概述 (2) 1.1直流稳压电源设计目的 (2) 1.2课程设计的组成部分 (2) 2.直流稳压电源设计的内容 (4) 2.1变压电路设计 (4) 2.2整流电路设计 (4) 2.3滤波电路设计 (8) 2.4稳压电路设计 (9) 2.5总电路设计 (10) 3.总结 (12) 3.1所遇到的问题,你是怎样解决这些问题的12 3.3体会收获及建议 (12) 3.4参考资料(书、论文、网络资料) (13) 4.教师评语 (13) 5.成绩 (13)

昆明理工大学津桥学院模拟电子技术课程设计 1.概述 电源是各种电子、电器设备工作的动力,是自动化不可或缺的组成部分,直流稳压电源是应用极为广泛的一种电源。直流稳压电源是常用的电子设备,它能保证在电网电压波动或负载发生变化时,输出稳定的电压。一个低纹波、高精度的稳压源在仪器仪表、工业控制及测量领域中有着重要的实际应用价值。 直流稳压电源通常由变压器、整流电路、滤波电路、稳压控制电路所组成,具有体积小,重量轻,性能稳定可等优点,电压从零起连续可调,可串联或关联使用,直流输出纹波小,稳定度高,稳压稳流自动转换、限流式过短路保护和自动恢复功能,是大专院校、工业企业、科研单位及电子维修人员理想的直流稳压电源。适用于电子仪器设备、电器维修、实验室、电解电镀、测试、测量设备、工厂电器设备配套使用。几乎所有的电子设备都需要有稳压的电压供给,才能使其处于良好的工作状态。家用电器中的电视机、音响、电脑尤其是这样。电网电压时高时低,电子设备本身耗供电造成不稳定因家。解决这个不稳定因素的办法是在电子设备的前端进行稳压。 直流稳压电源广泛应用于国防、科研、大专院校、实验室、工矿企业、电解、电镀、充电设备等的直流供电。 1.1直流稳压电源设计目的 (1)、学习直流稳压电源的设计方法; (2)、研究直流稳压电源的设计方案; (3)、掌握直流稳压电源的稳压系数和内阻测试方法。 1.2课程设计的组成部分 1.2.1 设计原理

Oracle数据库课程设计报告

课程设计报告书

目录 第1章引言 (3) 第2章概要设计 (5) 2.1系统需求分析 (5) 2.2系统结构设计 (5) 2.3系统功能模块 (6) 第3章数据库分析 (7) 3.1 数据库总体设计 (7) 3.2 数据表设计 (7) 3.3 数据库的创建 (8) 3.4存储过程和触发器 (10) 第4章详细设计及测试 (12) 4.1 系统界面 (12) 4.2 主要代码设计 (15) 4.3 功能整体链接测试 (18) 第5章课程设计心得 (19)

第1章引言 1.设计目的 使用VC,C++,C#等作为前台开发工具,使用Oracle作为后台数据库,所设计的管理系统应包含输入输出、查询、插入、修改、删除等基本功能。根据题目的基本需求,设计系统界面、数据库、编写程序(Oracle),并写出课程设计报告 1、阅读资料:每个人必须提前阅读教材有关Oracle、VC、C++、C#应用方面的内容以及其它相关书籍。 2、需求分析:题目要求达到的功能,所提供的原始数据,需要输出的数据及样式等。 3、数据库的设计:根据要求设计数据库的结构,包括:表、数据完整性、关系、视图。 4、数据库的安全性设计:登录用户、数据库用户、数据库角色、命令许可等方面 涉及到数据的所有操作要求采用存储过程的方式进行。 2.设计要求 1.选好题目:先分组,每组两个人(或单独完成),必须确保每题有两组人员选做,班长将本班同学的选题情况汇总后于16周之前交。 2.独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝,否则不管是抄袭还是被抄袭,雷同的全部直接评定为不及格。 3.做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。 4.根据编程实现的结果,按课程设计报告的撰写规范完成数据库系统课程设计报告(课程设计报告中必须有相关原理分析、程序设计、程序实现和程序调试等内容);课程设计报告的具体要求如下: 1)课设报告按照规定用A4纸张进行排版打印,否则要求返工; 2)课设报告的内容顺序如下:封面—任务书—中文摘要—目录—正文—附录; 3)正文不少于4000字,正文部分至少包含以下内容,并可大致作如下安排 1.引言(包括设计目的、要求、设计环境、同组人员及分工等内容)

并行计算课程设计报告

并行计算与多核多线程技术 课程报告 专业 班级 学号 姓名 成绩___________________ 年月日

课程报告要求 手写内容:设计目的、意义,设计分析,方案分析,功能模块实现,最终结果分析,设计体会等。 允许打印内容:设计原理图等图形、图片,电路图,源程序。硬件类的设计,要有最终设计的照片图;软件类设计,要有各个功能模块实现的界面图、输入输出界面图等。 评价 理论基础 实践效果(正确度/加速比) 难度 工作量 独立性

目录 1. 设计目的、意义(功能描述) (1) 2. 方案分析(解决方案) (1) 3. 设计分析 (1) 3.1 串行算法设计 (1) 3.2 并行算法设计 (1) 3.3 理论加速比分析 (2) 4. 功能模块实现与最终结果分析 (2) 4.1 基于OpenMP的并行算法实现 (2) 4.1.1 主要功能模块与实现方法 (2) 4.1.2 实验加速比分析 (3) 4.2 基于MPI的并行算法实现 (3) 4.2.1 主要功能模块与实现方法 (3) 4.2.2 实验加速比分析 (4) 4.3 基于Java的并行算法实现 (4) 4.3.1 主要功能模块与实现方法 (4) 4.3.2 实验加速比分析 (5) 4.4 基于Windows API的并行算法实现 (5) 4.4.1 主要功能模块与实现方法 (5) 4.4.2 实验加速比分析 (6) 4.5 基于.net的并行算法实现 (6) 4.5.1 主要功能模块与实现方法 (6) 4.5.2 实验加速比分析 (6) 4.6并行计算技术在实际系统中的应用 (6) 4.6.1 主要功能模块与实现方法 (6) 4.6.2 实验加速比分析 (7) 5. 设计体会 (7) 6. 附录 (9) 6.1 基于OpenMP的并行程序设计 (9) 6.1.1 代码及注释 (9) 6.1.2 执行结果截图 (11) 6.1.3 遇到的问题及解决方案 (12) 6.2 基于MPI的并行程序设计 (12)

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

课程设计报告(模板)

《地震勘探课程设计》 报告 院系 班级 学生 学号 指导教师 完成日期2014年3月12日 长江大学工程技术学院

目录 一、课程设计目的 (3) 二、课程设计的容 (3) 三、课程设计原理 (3) 四、工区数据 (4) 五、课程设计步骤 (5) 1、建立工区 (5) 2、资料加载 (8) 3、层位标定和层位追踪 (10) 4、断层解释 (13) 5、构造图绘制 (14) 六、心得体会 (15)

一、课程设计目的 地震勘探解释课程设计是我们勘查技术与工程专业和资源勘查工程专业教学中的一个重要的实践性训练环节,通过上机实际操作,训练我们对地震资料进行常规构造解释的实际能力,最终使我们达到:学会利用地震解释软件来进行地震数据的加载,地震层位的标定,地震层位的追踪对比,在地震资料上分析和解释各种断层,以及地震构造图的编制方法。同时,还要学会综合地震地质资料对构造解释结果进行分析,进而对含油气有利地带进行评价和预测,最终编制成果报告。 二、课程设计的容 本次课程设计是理论联系实际的具体表现,是培养学生分析问题、解决问题能力的一个必不可少的环节,主要分为两部分:一、通过对地震资料解释软件Discovery的使用,追踪解释层位数据;二、通过surfer软件学习成图。使学生对地震常用的解释软件有一个初步的认识,能为毕业后从事地震勘探工作奠定良好的基础。地震解释课程设计是勘查技术与工程专业教学中的一个重要的实践性训练环节。通过实验主要训练学生对地震资料进行常规构造解释的实际能力,具体要使学生达到: 1.了解人机联作的基本知识; 2.初步学会地震解释软件的操作流程(工区建立、资料加载、合成记录制作、层位标定、层位追踪、断层解释、断点组合); 3. 进一步巩固和掌握地震资料解释的基本功; 4.初步学会地震成果的地质分析; 5.初步学会编写地震资料解释文字报告;

数据库课程设计报告

数据库课程设计 --JIA服装销售系统 指导老师:索剑 系名:计算机科学系 学号:111405128 姓名:薛文科 班级:11计算机1班

目录 第一章绪论 (3) 1.1课题简介 (3) 1.2设计目的 (3) 1.3设计内容 (3) 1.4系统实验要求 (3) 第二章需求分析 (3) 2.1 系统基本功能 (3) 2.2 权限划分 (4) 2.3 系统运作流程 (4) 2.4 数据字典 (5) 第三章概念结构设计 (7) 3.1 概念结构设计的方法与步骤 (7) 3.1.1 概念结构设计的方法 (7) 3.1.2概念结构设计的步骤 (7) 3.2 数据抽象与局部视图设计 (8) 3.3视图的集成 (9) 第四章逻辑结构设计 (10) 4.1 E-R图向关系模型的转换 (10) 4.2数据模型的优化 (11) 4.3 数据库的结构 (11) 第五章数据库物理设计 (11) 5.1 存储结构设计 (11) 5.2 存储路径设计 (11) 5.3数据存放位置 (11) 第六章数据库的实施 (12) 6.1表的建立与数据的载入 (12) 6.2触发器的设计 (12) 第七章系统效果图 (13) 第八章总结 (15)

第一章绪论 1.1课题简介 随着时代的发展,计算系软件和系统的成熟,服装的销售管理对于服装企业是一个很重要的问题,如何能有效的管理好自己企业销售的服装和统计出比较收欢迎的服装对于企业的盈利起着至关重要的作用,而建立一个服装销售系统就是一个很好的办法。本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套服装销售系统,在下面的各章中,我将以这服装销售为例,谈谈其开发过程和所涉及到的问题。 1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 实践和巩固在课堂教学中学习的关于SQL Server的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解服装销售的构造以及企业管理的信息。通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与报刊订阅系统执行相同的操作。需求分析阶段就是要研究我所作的服装销售系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的六张表结合在一起完成一个总关系表。最后就是要运行和实施数据库。要把查询结果与过程抓几张图。 1.4系统实验要求 建立两个用户:管理员,经理 管理员:负责进行库存的查询,客户的查询,生成出库单和入库单。 经理:负责审核通过出库单和入库单。 第二章需求分析 2.1 系统基本功能 本系统有以下的功能模块: (1)登录功能:登录系统为身份验证登录。分为管理员和经理。不同的用户对于系统有不同的操作权限。 (2)客户管理功能:对客户的基本信息进行管理,可以对客户的信息进行增,删,查,改。(3)库存的查询功能:可以查看库存里面衣服的详细信息。 (4)货物出库功能对库存里面的衣服进行出库 (5)货物入库功能:对库存里面的衣服进行增加

办公室日常信息管理系统数据库课程设计报告[1] - 副本

办公室日常信息管理系统 1.需求分析: 1.1业务流程分析: 系统管理员的功能包括如下几个方面:文件信息管理、考勤信息管理、会议记录管理、通知公告管理 办公管理系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询的操作上,包括通知公告信息,文件信息。 文件信息:文件编号,文件名称,文件类型,存储位置 考勤信息:员工编号,时间,姓名,性别,出勤情况 会议记录:会议编号,会议时间,参会人,记录人,会议内容 通知公告:公告编号,内容,通知人,公告时间 用户管理:用户以合法身份登入系统后,管理员可以进行系统用户的添加,密码的修改操作。 文件信息管理:办公室管理员可以在文件信息管理模块对办公室线路信息进行管理。管理员首先建立办公室文件信息数据库,输入原始的文件信息,当有新的文件需要添加或者需要对已有的文件信息进行修改,删除的时候,管理员就可以进行相应的操作。管理员也可以通过本模块查询到所有需要查询的文件的详细信息。 考勤信息管理:管理员可以在考勤信息管理模块实现对考勤信息的管理。管理员首先应该建立考勤信息数据库,输入原始的数据信息,当有新的考勤信息的时候或者管理员需要修改某个考勤的相关信息以及想要删除某个考勤信息的时候,就可以完成相应的操作。管理员也可以在整个数据库中查寻相关考勤信息。 会议记录管理:管理员可以在会议记录管理模块实现对会议记录信息的管理。管理员根据相应的会议记录来设置相应的会议记录详细信息。当有新的会议记录添加的时候,要把相应的会议记录信息添加到数据库中,管理员还可以对某条会议记录信息进行修改,删除和查询操作。 通知公告管理:管理员可以在通知公告管理模块实现对通知公告信息的管

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

数据库课程设计报告

数据库课程设计教学管理系统

前言 (4) 前言 (4) 相关技术介绍 (4) 第一章需求分析 (4) 1.1 任务概述 (5) 1.1.1 目标 (5) 1.1.2 运行环境 (5) 1.2 数据流图 (5) 1.3 数据字典 (6) 1.4 系统流程分析 (6) 第二章概念结构设计 (7) 第三章逻辑结构设计 (8) 3.1 逻辑结构设计 (8) 3.2 规范化处理 (10) 第四章数据库物理设计 (11) 4.1 索引表 (10) 4.2 系统配置 (11) 4.3 视图 (11) 第五章数据库的实施 (11) 5.1 创建数据库及数据库对象 (11) 5.2 完整性约束创建 (13) 5.3 数据库的维护及备份 (14) 5.3.1 维护 (14) 5.3.2 检测并改善数据库性能 (14) 5.3.3 备份 (14) 第六章前台用户界面 (14) 第七章结论与体会 (17) 参考文献

0、前言 0.1引言 数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行环境。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。 为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我按照以上几点开发了学生选课管理系统数据库。 0.2相关技术介绍 0.2.1MYSQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在WEB 应用方面MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不

相关文档
最新文档