搜档网
当前位置:搜档网 › 软件基础实验报告

软件基础实验报告

软件基础实验报告
软件基础实验报告

XX大学

软件技术基础

实验报告

姓名:xx

班级:自动化1105

学号:xx

成绩:

2013年11月05 日

实验一 vc++6.0基本环境与应用

实验题目:熟悉vc++6.0的实验环境

实验目的:掌握建立vc工程的方法,并学会编写简单的vc程序。

实验内容:

1,熟悉vc++界面。

启动VC++ 6.0中文版以后,屏幕上显示如图所示的开发环境。开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口及状态栏组成。每个窗口左上角均有最小化、最大化(还原)和关闭按钮。各类窗口相互独立,可进行打开、关闭、移动、极大、极小化控制以及改变窗口大小。

2 建立MFC应用程序

建一个VC++的MFC应用程序的过程可分为5个步骤:

(1)创建项目

使用Files菜单下的“New”项,会弹出一个New的对话框,选中Projects 选项卡,对话框会列出一系列可以创建的项目类型(见图4.),下列出部分常用类型:

ATL COM AppWizard(创建ATL应用程序)

Custom AppWizard(创建自定义的应用程序)

Database Project(创建数据库)

DevStudio Add-in Wizard(创建自定义宏)

ISAPI Extension Wizard(创建Internet服务器或过滤器)

Makefile(创建Make文件)

MFC AppWizard(dll)(创建MFC动态链接库)

MFC AppWizard(exe)(创建MFC可执行程序)

MFC AxtiveX ControlWizard(创建MFC控件程序)

Win32 Dynamic Link Library(创建Win32动态链接库)

Win32 Application(创建Win32程序)

Win32 Console Application(创建Win32控制台程序)

(2)点选要创建的项目类型,然后在右边的Location框中输入要保存的路径,在Project Name框中输入项目的名字,点击OK,会弹出创建项目向导,可以根据提示选取要创建的项目的细节。最后点Finish按钮。VC++会列出一个将要创建的项目的信息,这时点OK按钮VC++就会自动创建该项目的界面窗口、对话框等的编码文件。

(3) 编制程序

在按需求建立项目之后,应添加资源,设置资源属性,定义类文件,编写函数代码,以及响应事件时所要执行的代码。编码时可以直接点击项目工作区的相应项目进行编辑。在类视图下可以点击类跳转到源文件相应的行编辑类以及其成员信息。或在资源视图下直接双击相应对象编辑。

(4)保存项目

当创建项目时,VC++会自动生成项目文件。在增加代码时要经常保存项目。保存项目应选File菜单上的Save命令进行保存。有时编码程序时可能会同时改动多个文件这时应注意将改动的文件分别保存或者用File菜单上的Save all 命令保存。

(5)建立程序

建立程序包括:编译,链接和运行程序。这行操作可以在快捷栏上用快捷按钮完成。向项目增加代码时,可以建立程序来检查错误和修改代码。

编译(Compile)编译是将单个文件生成*.obj文件供链使用同时以检查程序有无错误。可以单击快捷栏上的编译按钮进行编译。

链接(Build)链接是将程序连接生成*.exe文件,以便直接运行。可以单击快捷栏上的链接按钮进行链接。

执行(Execute)执行是运行工程查看结果。可以单击快捷栏上的执行按钮执行程序。

visual C++文件后缀名释义

[1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度)。

[2] .BMP:位图资源文件。

[3] .BSC:浏览信息文件。由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。可在project options里去掉Generate Browse Info File,这样可加快编译进度。

[4] .C:用C语言编写的源代码文件。

[5] .CLW:ClassWizard生成的存放类信息的文件。

[6] .CNT:用来定义帮助文件中“Contents”的结构。

[7] .CPP或.CXX:用C++语言编写的源代码文件。

[8] .CUR:光标资源文件。

[9] .DEF:模块定义文件,供生成动态链接库使用。

[10] .DLG:定义对话框资源的独立文件。对于VC工程非必需,因VC一般把对话框资源放在.RC文件中。

[11] .DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

[12] .DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中,与.dsp相似。

[13] .EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编

译 DLL时才会生成,记录了DLL文件中的一些信息。

[14] .H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类

型,声明变量、函数、结构和类。

[15] .HLP:Windows帮助文件。

[16] .HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它

资源之间ID值的对应关系。

[17] .HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件

的生成过程。

[18] .HPG:生成帮助的文件的工程。

[19] .ICO:图标资源文件。

[20] .ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

[21] .INI:配置文件。

[22] .LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成

EXE文件。

[23] .LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。

[24] .MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何

建立一个工程。

[25] .MAP:由LINK工具生成的文本文件,包含被连接程序的某些信息,执

行文

件的映像信息记录文件。

[26] .MDP:旧版本的项目文件,相当于.dsp。

[27] .NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、

WizardBar和Component Gallery使用的信息,编译工程后会自动生成。当自动完成功能出问题时可删除此文件。

[28] .OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。

[29] .ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。

[30] .OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。

[31] .OPT:VC开发环境自动生成的存放WorkSpace中各种选项的文件。工

程关于开发环境的参数文件。

[32] .PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种

文件。

[33] .PCH:预编译头文件,较大,由编译器在建立工程时自动生成,其中

存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

[34] .PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

实验二线性表的运算

实验题目:线性表的生成、插入和删除等运算

实验目的:掌握线性表的顺序存储结构和链式存储结构及它们在计算机中的实现方法。

实验内容:分别建立一个顺序表和单链表,实现其生成、插入、删除、查找和定位的程序。

(1)按指定长度和输入的相应长度的字符串建立一个顺序表和一个单链表。(2)在指定位置插入一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入所插元素和位置“F,1”,则插入的结构为“FABCD”。

(3)删除指定位置的一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入删除位置“1”,则删除的结果为“BCD”。

实验要求:

(1)将程序输入计算机,编译运行。

(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。

实验报告要求:

(1)将程序输入计算机,编译运行。

(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。

实验原理:

1、顺序表的生成、插入和删除运算:

顺序表是一种线性表,主要表现形式为一维数组,一旦声明其长度,就不可改变,中间也不允许插入或删除。

2、单链表的生成、插入、和删除运算:

链表有好几种,单链表、循环链表;双向链表。链表能够根据需要变化表的长度,随时插入、删除、添加节点。链表节点由数据域和指针域构成。每一个节点的指针域总是指向下一个节点,如果没有下一个节点,就为空。

1、把附录中的源程序复制到工作空间中,编译出现了一些错误,首先标准化式这

样便于检查程序的结构,以及流程。

2、顺序表程序的debug:”for”循环中应该输出10个数,把5改成10 ,此外,

加上一些必要的“{}”。

单链表的建立和插入程序,首先要更正单链表的节点结构体(信息域和指针域)。其次最后在屏幕上显示的链表信息总是把最后一个节点漏掉,这是由于

“while(q->next!=NULL)”有问题,但是我找不出怎么改,只好在

while(q->next!=NULL)后面添加“cout<data;q=q->next;”把最后一个节点显示出来。

3、总结:C++语言我确实不懂,调一个程序比自己写一个程序要难一些。

正确的程序:

1、顺序表的建立代码

#include

#include

void main()

{

int i;

struct seqlist

{

int a[10];

int n;

};

typedef struct seqlist *pseqlist;

pseqlist p;

p=(pseqlist)malloc(sizeof(struct seqlist));

p->n=0;

for( i=0;i<10;i++)

{

cin>>p->a[i];

p->n=(p->n)+1;

}

for( i=0;i<10;i++)

{

cout<a[i]<

}

cout<<"list length is:"<n; }

运行结果如图

2、单链表的生成、插入、和删除运算:#include

#include

void main()

{

typedef struct node

{

int data;

struct node * next;

}listnode;

typedef listnode *linklist;

listnode * p;

linklist head,q;

head=(listnode *)malloc(sizeof(listnode));/*生成头结点*/

head->data=10;

head->next=NULL;

p=(listnode *)malloc(sizeof(listnode));/*生成第一个要插入的新结点*/

p->data=20;

p->next=NULL;

q=head;

while(q->next!=NULL)

{

q=q->next;

}

q->next=p; p=(listnode *)malloc(sizeof(listnode));

p->data=30;

p->next=NULL;

q=head;

while(q->next!=NULL)

{

q=q->next;

}

q->next=p; p=(listnode *)malloc(sizeof(listnode));/* p->data=40;

p->next=NULL;

q=head;

while(q->next!=NULL)

{

q=q->next;

}

q->next=p; q=head;

do

{

cout<data;

cout<<" ";

q=q->next;

}

while(q->next!=NULL);

cout<data;

cout<<" ";

q=q->next;

}

运行结果如图

实验3 查找算法

实验题目:二分查找算法

实验目的:掌握二分查找算法的基本原理,使用vc++6.0语言编写程序。

实验内容:

(1)查找的概念

查找又称检索,简单讲就是查找表。一个查找过程,就是对于给定的元素K,找出表中关键字值等于的记录。查找成功,确定其关键字值等于K的记录存在;查找失败,确定关键字为K的记录不在表中。

(2)二分查找算法的基本原理

如果顺序查找表的元素按照关键字的值有序存放,那么可利用高效的二分查找来完成查询。条件假定元素按关键字的值升序排列,将给定的数据与有序表中间位置的元素做比较,若两者相等则查找成功;若前者小于后者则在中间位置左边的元素中继续查找;若前者大于后者则在中间位置右边的元素中继续查找。不断重复这一过程直到查找成功,或者直到查找区间缩小为一个元素时却仍未找到目标,则查找失败。

(3)给出一组有序数列,对其中某个数进行二分查找,建立一个.cpp程序。

实验步骤:

①设置查找区间初值,设下界low = 0,设上界high = length-1。

②若low≤high则计算中间位置mid = (low +high)/2。

③若key

若key>data[mid],则设low = mid+1并继续执行步骤②;

若key=data[mid]则查找成功,返回目标元素位置mid+1(位置从1计数)。

④若当low=high时,key!=data[mid]则查找失败,返回0。

实验结果

二分法查找数据源程序:

#include"stdio.h"

#include

#include

int a[10];

int BinSearch(int key,int length)

{

int low, high, mid;

low = 0;

high =length-1;

while (low <= high)

{

mid = (low + high) / 2;

if(key==a[mid])

{

return mid;

} //查找成功

else

{

if(key

{

high = mid-1;

} //继续在前半区间进行查找 else

{

low = mid + 1;

}

} //继续在后半区间进行查找

}

return 0; //不存在待查元素}

void main(void)

{

int i,k=0,r;

cout<<"请输入一个要查找的数字:";

cin>>k;

for(i=0;i<10;i++)

{

a[i]=i;

}

r=BinSearch(k,10);

if(r!=0)

{

cout<

cout<<"查找成功!";

}

else

{

cout<<"查找失败";

}

}

运行结果如图

实验总结和心得:

这次试验,我们简单的了解查找算法,学会了最基本最简单的的查找算法,想要真正掌握查找算法,还需要自己多多练习才行!

实验4 排序算法

实验题目:三种简单排序算法的原理

实验目的:掌握插入排序、选择排序和起泡排序算法的工作原理

实验内容:用vc++6.0建立三个程序,实现三种排序算法。

1.排序的概念

排序是计算机内经常进行的一种操作,其目的是将一组同类型的记录序列调整为按照元素关键字有序的记录序列。例如将学生记录按学号排序,将课程记录按课程编码排序。

排序的形式化定义为:假设含n个记录的序列为{ R1, R2,…,Rn },其相应的关键字序列为{ K1, K2,…,Kn }。这些关键字相互之间可以进行比较,即在它们之间存在着这样一个关系Kp1≤Kp2≤…≤Kpn,按此固有关系将最初的记录序列重新排列为{ Rp1, Rp2, …,Rpn }的操作称作排序。

2.插入排序的原理

插入排序方法的基本思想是:将记录分为有序和无序两个序列,假定当插入第k个记录时,前面的R1,R2,…,Rk-1已经排好序,而后面的Rk,Rk+1,…,Rn仍然无序。

这时用Rk的关键字与Rk-1的关键字进行比较,若Rk小于Rk-1则将Rk-1向后移动一个单元;再用Rk与Rk-2比较,若Rk小于Rk-2则将Rk-2向后移动一个单元,依次比较下去,直到找到插入位置即将Rk插入。初始状态可以认为有序序列为{R1}。

3.选择排序的原理

选择排序的基本思想是:将记录分为有序和无序两个序列,假定第k趟排序时,前面的R1,R2,…,Rk-1已经排好序,而后面的Rk,Rk+1,…,Rn仍然无序,则选择Rk到Rn中的关键字最小的记录与Rk交换,交换后有序序列增加了第k 个记录。当第n-1趟选择执行完,待排序记录只剩下1个,就不用再选了。在初始状态可以认为有序序列为空。

4.起泡排序的原理

起泡排序的基本思路是:第一趟排序对全部记录R1,R2,…,Rn自左向右顺次两两比较,若Rk大于Rk+1则交换Rk和Rk+1( k=1, 2,…, n-1)。

第一趟排序完成后Rn成为序列中最大记录。

第二趟排序对序列前n-1个记录采用同样的比较和交换方法,第二趟排序完成后Rn-1成为序列中仅比Rn小的次大的记录。

第三趟排序对序列前n-2个记录采用同样处理方法。如此做下去,最多做n-1趟排序,整个序列就排序完成。

实验结果

1、插入法排序代码及结果:

#include"stdio.h"

#include

#include

int a[10],b[10];

void insertSort()

{

int i,j; int temp;

b[0]=a[0];

for(i=1;i<10;i++)

{

temp=a[i];

for(j=i;j>0;j--)

{

if(temp

{

b[j]=b[j-1];

b[j-1]=temp;

}

else

{

b[j]=temp;

break;

}

}

}

}

void main(void)

{

int i;

cout<<"请输入十个数字:";

for(i=0;i<10;i++)

{

cin>>a[i];

}

insertSort();

for(i=0;i<10;i++)

{

cout<

cout<<" ";

}

cout<<"\n";

}

运行结果如图

2、选择排序代码及结果:

#include"stdio.h"

#include

#include

int a[10],b[10];

void insertSort()

{

int i,j,k; /* 按升序进行选择排序*/ int max;

max=a[0];

for(i=0;i<10;i++)

{

for(j=0;j<(10-i);j++)

{

if(max>a[i])

{

max=a[i];

k=i;

}

}

b[i]=max;

for(j=k;j<(9-i);j++)

{

a[j]=a[j+1];

}

}

}

void main(void)

{

int i;

cout<<"请输入十个数字:";

for(i=0;i<10;i++)

{

cin>>a[i];

}

insertSort();

for(i=0;i<10;i++)

{

cout<

cout<<" ";

}

cout<<"\n";

}

运行结果如图

重庆邮电大学-软件技术基础--实验报告(耿道渠)

《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果:

四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。

五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include #include #include #include #define MAXSIZE 20 using namespace std; int num; typedef struct { string student_number; string name; string tel; string home_phone; int id; } TEL; void shuaxin(TEL *); void delet(TEL *);

软件设计过程实验报告

软件开发过程 实验一软件需求分析 一、目的和意义 对本书第二和三章的内容做进一步的掌握,写出软件需求规格说明书。为下面的实习奠定基础。 二、实习内容 xx、确定软件题目(学生可自己拟定,也可在本书附录2中选择); 2、分析软件需求以及人工模式下的工作流程; 3、编写需求规格说明书(需求规格说明书的编写要求参见本节模板参考); 4、完成形式:以文档的形式完成软件的需求规格说明书。纸张型号为A4。 三、实习指导 xx、在磁盘上建立一个软件工程实习文件夹,以自己的姓名命名。 2、提交文档的格式如下: 第一页的格式为: 软件名称:文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写时间 审核时间 批准时间 开发单位 第二页之后的内容为: ●编写目的:阐明编写该文档的目的,指出读者对象 ●项目背景:项目的委托单位、开发单位、该软件系统与其他系统的关系。

●参考资料 软件需求规格说明的书写原则 ①任务概述:软硬件环境、条件和限制(软件的使用条件和限制)。 ②数据描述:输入数据、输出数据、数据库设计和建立数据词典。 ③功能需求:功能划分和功能描述 ④性能需求:数据精度、时间特性、适应性(操作方式、与其他软件的接口、开 发计划变化时,软件应具有的适应能力。)。 ⑤运行要求:用户界面、硬件接口(如:连接打印机)、软件接口(如:是否为 其他项目的子项目)、故障处理。 ⑥其他需求:可使用性、安全保密性、可维护性、可移植性等。 ●模板参考 第一页: 软件名称:教务管理软件文档编号 xxxxxx 版本号 Ver xx.xx 文档名称:需求规格说明书 项目名称:课表编排系统 项目负责人:屈艳 编写: 组 第二页之后的内容: 编写目的:编写该文档是为了分析人工状态下课表编排的工作流程,把人工模式抽象为可在计算机上处理的自动模式。便于开发小组成员对系统整体功能的认识。 项目背景:高校的课表编排一直是一个烦琐的工作,为了解决这个问题,某某高校教务处委托我们开发该软件。该软件是高校教务软件的一个子系统。该子系统与专业规划子系统和教师管理软件有一定的关系。 参 实用软件工程(第二版)北京:清华大学出版社,xxxxxx7 任务概述: 硬件环境:CPU的型号为PentiumIII以上,内存25xxM ,及其兼容机

软件工程实验报告

实验一 一、实验室名称 综合实验楼 二、试验项目名称 图书管理系统 三、实验目的 1.了解和使用甘特图,系统流程图,线性时间图来描绘系统开发流程和进度 2.学会使用visio绘制常用的流程图。 四、实验内容 图书管管理系统更便于对图书进行分类和管理,对借阅者进行时间限定,使得借书的效益更高更安全。提高工作效益,便于操作,能有效地对数据进行更新、查询,并能在一定程度上实现了自动化。图书管管理系统的主要功能为:书目管理、借阅证管理、借还图书、查询、缴费。书目管理主要是针对管理员身份而言的(比如新增书目,删除书目等等);借阅证管理分为五部分:注册、补发、挂失、暂停、注销;借还图书:借书、还书;查询:图书查询、借阅时间缴费主要是计算超期罚款并交纳费用。 五、试验方案分析与设计 整理分析图书管理流程以及每个用户的权限。对功能进行整合。 六、实验器材(设备,元器件) 台式电脑 七、实验步骤 1.对图书管理系统进行分析,整合用户权限和操作 2.根据用户操作流程画出系统流程图 3.对系统做出概要分析,拟定开发流程 4.绘制出甘特图 5.绘制线性时间图 八、实验数据记结果分析

系统流程图: 甘特图: 线性时间图: 九、实验结论 成功绘制出图书管理系统的系统流程图,甘特图,线性时间图。 十、实验总结 对系统流程的理解直接决定业务逻辑的正确与否,错误的系统流程将导致系统开发逻辑设计不合理。甘特图和线性时间图能直观的展示出系统开发的进度,有利于监督项目开发,调整开发进度。

实验二 一、实验室名称 电子楼512 二、试验项目名称 需求分析 三、实验目的 1.学会如何根据客户的需求整合需求分析报告 2.了解和使用IDEF1X图和UML类图对系统做出概要设计 3.学会使用visio绘制IDEF1X图和UML类图 四、实验内容 1、请从下面的描述中找出绘制数据流图的四种成分并用Visio绘制数据流图。 某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。 (1) 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2) 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 2、有一简单选课系统,用文字描述如下,试用IDEF1X图和UML类图描述该系统的信息模型,并用Visio绘制该IDEF1X图和UML类图。 1)基本描述:在该系统中,有学院、教师、课程、学生等实体,他们的属性分别是:学院:学院编号、学院名称、地址、联系电话、院长等基本属性; 教师:教师编号、姓名、性别、年龄、职称、所在学院等属性; 课程:课程编号、课程名称、课程性质(必修/选修)、学分、开课学院等属性; 学生:学号、姓名、性别、年龄、入学时间、学院等属性。

软件项目管理课程设计实验报告精

软件项目管理课程设计报告 学院: 专业: 班级: 学号: 姓名: 指导教师: 时间:2013年 1月 目录 1、项目概述 (1) 2、工作任务 (Statement Of Work,SOW书 (1) (一整体要求 (1) (二系统逻辑模型 (2) (三系统功能描述 (3) (四应达到的技术指标和参数 .................................... 3 3、项目进度计划 .. (4) (一分解项目工作 (4) (二项目工作关系表 (5) (三项目甘特图 (6) (四网络进度计划图 (7) (五里程碑计划 ................................................ 9 4、项目规模成本估算 . (9)

(一分解项目工作 (9) (二项目规模估算表 (11) (三计算开发成本 (12) (四计算管理、质量成本 (12) (五直接成本 (12) (六计算间接成本 (12) (七计算总估算成本 (12) (八项目报价 ................................................. 13 5. 项目质量计划 .. (13) (一项目质量保证组织 (13) (二质量目标 (14) (三质量策略 (15) (四质量保证活动 (15) (五质量控制活动 (17) (六质量保证的报告途径 (17) (七记录的收集、维护和保存 ................................... 17 6、软件项目团队 . (17) (一团队组织及职责 (18) (二项目的沟通计划 ........................................... 19 7、软件项目配置管理计划 .. (19) 学校内部职工工资系统项目管理书 1、项目概述 假设学校共有教职工约 1000人, 10个行政部门和 8个系部。每个月 20日前各部门(包括系、部要将出勤情况上报人事处, 23日前人事处将出勤工资、奖金及扣款清单送财务处。财务处于每月月底将教职工的工资表做好并将数据送银行。每月初(3日前将工

南京邮电大学软件设计实验报告

软件设计报告 ( 2014 / 2015 学年第二学期) 课程名称软件设计 指导老师赵江实习时间第十八周学生姓名学号 ____学院______专业

软件设计 课程编号:B0465011C 适用专业: 班级: 一、所涉及的课程及知识点 涉及的课程:第6学期之前的专业基础课程。 知识点:专业基础课程中所学的知识点。 二、目的与任务 目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。 任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容 题目1:如果给出两个矩阵?? ??? ?????=136782078451220124A ,????? ?????=087654321B ,执行下面的矩阵运算命令。 (1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *?和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序: function [ ] = EXP1() A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,0]; I=eye(3); disp('A+5*B='); disp(A+5*B); disp('A-B+I=') disp(A-B+I); disp('A.*B='); disp(A.*B) disp('A*B='); disp(A*B); End 实验过程与结果 打开matlab ,在命令窗口“Command Window ”中键入edit,启动程序编辑器。输入完整程序后利用save as 储存为M 文件,文件名为EXP1。返回主界面,

软件工程 实验报告

v1.0 可编辑可修改 院系:计算机科学学院 专业:计算机科学与技术 年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日

聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加

电子科技大学软件技术基础实验报告4

电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表

电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:二叉树和哈夫曼树 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握二叉树的建立、插入删除,遍历等方法和过程,掌握递归函数在二叉树建立,遍历中的应用,掌握哈夫曼树的最小路径和建立过程。 五、实验目的: 1.熟练二叉树和哈夫曼树的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成所有函数,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 下面建立该二叉树并展示输出结果: #include #include typedef struct bnode

{ int data; struct bnode *lc,*rc; }; struct bnode* create() { struct bnode *tree=NULL; char ch; ch=getchar(); if(ch=='_') tree=NULL; else { tree=(struct bnode *)malloc(sizeof(struct bnode)); tree->data=ch; tree->lc=create(); tree->rc=create(); } return tree; } //先序遍历(根左右)--递归 int preorder(struct bnode *root) { putchar(root->data); if(root->lc!=NULL) preorder(root->lc); if(root->rc!=NULL) preorder(root->rc); } //中序遍历--递归 int inorder(struct bnode *root) { if(root->lc!=NULL) inorder(root->lc); putchar(root->data); if(root->rc!=NULL) inorder(root->rc); } //后序遍历--递归 int postorder(struct bnode *root) { if(root->lc!=NULL) postorder(root->lc); if(root->rc!=NULL)

软件工程实验报告(总)

信息工程学院 软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft V isio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

计算机软件技术基础实验报告Word版

计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

软件工程实验报告_学生成绩管理系统

软件工程实验报告 学生成绩管理系统的设计与实现 学生姓名 学号 班级 成绩 指导教师 年月日

目录 1 课题描述 (3) 2 可行性研究 (4) 2.1 编写目的 (4) 2.2 项目背景 (4) 2.3 定义(术语) (4) 2.4 数据流程和处理流程 (4) 2.5 可行性分析的前提 (5) 2.6 可行性分析 (5) 3 需求分析 (7) 3.1 学生成绩管理系统功能需求 (7) 3.2 学生成绩管理系统性能要求 (8) 3.3 数据流图 (8) 3.4 数据字典 (9) 3.5 学生信息管理系统逻辑结构图 (12) 3.6 用户信息实体关系图 (12) 4 概要设计 (13) 4.1 编写目的 (13) 4.2 项目背景 (13) 4.3 任务概述 (13) 4.4 总体设计 (13) 4.5接口设计 (17) 4.6数据结构设计 (17) 5 详细设计 (19) 5.1 系统程序流程图 (19) 5.2 界面设计 (21) 5.3 程序界面截图 (22) 5.4 程序源代码 (27) 6 软件测试 (58) 7 总结 (62)

1 课题描述 随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。可以说它适用于每一所高校,因此很有开发价值。我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。 主要功能有三方面: 管理员,登陆,进入系统,可以进行管理员操作,进行学生信息、教师信息、课程信息的编辑、查询、删除、修改、添加、打印等操作。 学生,登陆,进入系统,可以进行查询、修改、打印等操作。 教师,登陆,进入系统,可以进行查询、学生成绩录入、修改、打印等操作。 软件系统目标: (1)本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行修改、删除,规定各种权限。 (2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。 (3)本系统操作方便、灵活、简单。 (4)本系统可高效、快速的查询到学生的基本信息。

软件技术基础实验报告

《计算机软件技术基础》实验报告 专业_____________ 年级_____________ 学号_____________ 学生姓名_____________ 指导老师_____________ 南华大学计算机学院编

【实验报告】

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 必做: 1.一个线性表有n个元素(n

《软件课程设计》实验报告

编号:()字号 《软件课程设计》报告 班姓学级:名:号: 指导老师: 职称: 计算机科学与技术学院 二〇〇八年月

专业年级: 学生姓名: 任务下达日期: 课程设计日期: 课程设计题目:面向过程 一.需求分析 设计任务:软件课程设计任务书 题目七: 1.将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7 个“基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。如,罗马数据LXXXVII 表示10 进 制的87。 2.将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用 “基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。 主要界面为:

输入1或2可以选择功能。 输出的形式 如上所示:当输入大写或小写的阿拉伯字母时。 程序能计算出十进制。 程序所能达到的功能 测试的数据:当输入mvii罗马数字时输出十进制 1007 当输入十进制数4535 时相应输出MMMMDXXXV。 二.概要设计 程序中主要在开头用了一个死循环来实现功能的不断循环。通过exit函数退出程序。 主程序的流程以及各程序模块之间的层次(调用)关系。

Convert1() Break; >switch(n) Default; 三.详细设计 实现概要设计中定义的数据类型和操作。以增加程序的可读性,关键算法部分 画出程序流程图。 主函数的流程图如右图示: Switch() Cin>>n Convert1() Break; Case1: Case2:; Convert2(); Break; Default; Exit(1); While(1) Main() Return 0; Main->jiemina->while(1)- Convert2() Break; Exit()

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

《计算机应用基础》实验报告本1

(封面) 上海建桥学院《计算机应用基础》 实验报告本 20 11 年3月15 日

2010-2011学年第一学期《计算机应用基础》实验目录

上海建桥学院实验报告 课程名称:计算机应用基础实验类型:验证/ 设计/ 综合 实验名称:文字处理软件的使用 系别:艺术系专业:视觉传达班级:三班学号:10B05060324 姓名:顾雯茵 同组人姓名: 指导老师:实验地点: 实验日期:2011年 3 月15 日 实验报告日期:2011年3月15日 报告退发( 订正、重做): 成绩:指导教师(签字):_________________________ 一、实验名称:文字处理软件的使用 二、实验目的: 1.掌握字体、段落格式、首字下沉、中文版式、分栏的设置; 2.掌握查找与替换、项目符号和编号、边框和底纹的设置; 3.掌握表格插入和设置; 4.掌握图片、图形、艺术字、文本框的插入、编辑及混排设置; 5.掌握公式、水印、页眉和页脚的插入及编辑方法; 6.掌握页面设置方法。

三、实验环境(所使用的平台和相关软件) (1)中文WindowXP操作系统 (2)中文Word2003应用软件 (3)中文实验配套材料配套 四、实验内容(实验内容的具体描述) 实验(1) 打开配套文件Word-Lx1.doc,按下列要求操作,并将结果以原文件名保存。 (1) 插入标题,内容见样张,其中大字:华文琥珀,72磅,空心,阴影;小字:华文云 彩,60,金色底纹,双行合一。 (2) 正文为小四号,第一段添加蓝色小3号项目符号;其余各行,首行缩进2字符;如 样张分栏,第1栏宽4厘米,间距0.75厘米;文末段落首2字下沉,并设置灰-20% 底纹。 (3) 按样张,对文中相应段落添加绿色、3磅边框线。 (4) 把文中的半角逗号、句号,均改为全角。 (5) 按样张,利用制表位在文末输入相关文字(注意对齐方式,间距自定)。 实验(2) 打开配套文件Word-Lx3.doc,按下列要求操作,并将结果以原文件名保存。 (1) 按样张,将文本标题“网上阅读,日趋流行”转化为艺术字,艺术字式样为艺术字 库中第四行第一列;艺术字字体为楷体、36磅、加粗;艺术字高2.8厘米、宽7.5厘米,形状采用“波形2”;艺术字衬底为加上填充色为“雨后初晴”斜上过渡效果的“流程图:资料带”。 (2) 按样张,将正文各段首行缩进2字符,将第二段(网页成本极为便宜…最大区别还 在于能够“反馈”。)设置成1.7倍行距。 (3) 将正文中所有的“图书馆”都替换为楷体、红色、四号、粗斜、蓝色双下划线。 (4) 按样张,为第一段中的文字“印刷出版物”制作合并字符效果,字体:隶书,字号: 12。 (5) 取消第三段原有的分栏,并将第二、三段按样张分为三栏,其栏宽分别为8字符米、 10字符、14字符。 (6) 将第四、五段加上三维边框,框线的粗细为3磅,颜色为深红,并加上如样张所示 的编号。 (7) 按样张,在文末插入大小为30%的配套图片Examine.wmf。

南京邮电大学软件设计VHDL实验报告

南京邮电大学软件设计VHDL实验报告

通信与信息工程学院 / 年第 2 学期 软件设计实验报告 模块名称VHDL 专业通信工程 学生班级 学生学号 学生姓名 指导教师梅中辉

设计题目 基本课题:04. 2对4译码器 综合课题:18. 奇偶校验器 任务要求 1.基本课题:设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图2。 2. 奇偶校验器系统的功能是对八位二进制数据及其奇偶校验位的输入进行校验,输出正确的奇、偶校验位。ODD_IN 与EVEN_IN 是控制奇校验和偶校验功能输入,IN0到IN7是七位数据及一位校验位数据输入,IN_READY 表示输入数据已经准备好,能够处理,当OUT_REQ 输入表示要求输出数据,CLK 端口用于接收时钟信号,支持系统的时钟上升沿同步。当输出端口OUT_READY 输出信号有效时,表示输出数据已经准备好,能够为下级电路使用,ODD_OUT 与EVEN_OUT 用来输出正确的奇偶校验位。上述控制端口均为高电平有效。 A B Y3 Y2 Y1 Y0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 实验设备 及软件 1. 微型计算机 2. EDA-VHDL 开发软件 同组人员 学号及姓名 11001803 胡雪琪

参考文献 1. 张顺兴 《数字电路与系统设计》东南大学出版社 .8 2. 苗丽华《VHDL 数字电路设计教程》人民邮电出版社 .11 VHDL 课程设计题目及要求(自编资料) 3. VHDL 课程设计题目及要求(自编资料) 4. 杨晓慧 杨永健 《基于FPGA 的EDA/SOPC 技术与VHDL 》 国防工业出版社 .7 5. Peter J. Ashenden 《The VHDL Cookbook 》Dept. Computer Science University of Adelaide South Australia July, 1990 报告内容 一. 实验目的 1.掌握组合逻辑中译码器电路的设计原理。 2.能利用VHDL 语言设计一个2-4译码器。 二. 实验器件 1.微型计算机 2.EDA-VHDL 开发软件 三. 实验名称 2-4译码器 四. 题目要求概述 设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图 五. 系统分析 ○ 1.原理图: 分析:EN=1,Z[0]=Z[1]=Z[2]=Z[3]=1; EN=0,Z[0]=!(!A!B ),Z[1]=!(!AB),Z[2]=!(A!B),Z[3]=!AB ○ 2.设计算法: A B Y3 Y2 Y1 Y0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1

软件设计实验报告

通达学院 2017/2018 学年第 1 学期 课程设计实验报告 模块名称综合软件设计 专业通信工程 学生班级141301 学生学号14130118 学生姓名陈启朋 指导教师王诚

目录 第一章在线考试系统 (1) 1.1 实验目的 (1) 1.2 实验内容 (1) 1.3.1考试登录模块设计 (1) 1.3.2管理员模块设计 (7) 1.4 实验结果 (12) 第二章学生成绩管理系统 (13) 2.1 实验目的 (13) 2.2 实验内容 (13) 2.3 实验过程 (13) 2.3.1学生成绩管理模块设计 (13) 2.3.2 公共模块设计 (18) 2.4 实验结果 (20) 总结 (21) 参考文献 (21)

第一章在线考试系统 1.1 实验目的 通过本次软件设计,使学生掌握并能熟练运用Java和mysql语言编写程序,掌握面向对象的概念,采用C/S结构,设计数据库模型,能够了解和数据库连接的方法。 1.2 实验内容 本次实验的内容是编辑生成试题库,随机生成本次考试试题,提供在先评分并保存结果;同时,管理员可以添加、修改、删除考题和考生用户。 1.3 实验过程 1.3.1考试登录模块设计 主要程序如下: package com.Exam.Index; import java.awt.Insets; import javax.swing.*; import javax.swing.GroupLayout; import https://www.sodocs.net/doc/3816244518.html,youtStyle; import com.Exam.bean.*;

import com.Exam.controller.ControllerFrame; import com.Exam.dao.*; public class MyLand extends javax.swing.JFrame { initComponents(); }@SuppressWarnings("unchecked") private void initComponents() { jTextField3 = new javax.swing.JTextField(); jTextField1 = new javax.swing.JTextField(); jpanel = new MyJPanel(); choicejLabel = new javax.swing.JLabel(); userChoicejComboBox = new javax.swing.JComboBox(); choicejLabel1 = new javax.swing.JLabel(); UserNameTextField = new javax.swing.JTextField(); choicejLabel2 = new javax.swing.JLabel(); PassWordjTextField = new javax.swing.JPasswordField(); enterButton = new javax.swing.JButton(); enterButton.setMargin(new Insets(2, 2, 2, 2)); resButtonjButton = new javax.swing.JButton(); resButtonjButton.setMargin(new Insets(2, 2, 2, 2)); jTextField3.setText("jTextField3"); jTextField1.setText("jTextField1"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); choicejLabel.setText("选择用户:"); userChoicejComboBox.setModel(newjavax.swing.DefaultComboBoxModel(new String[] { "","考生", "管理员" })); setTitle("考试系统"); choicejLabel1.setText("用户名:"); UserNameTextField.setText(""); choicejLabel2.setText(" 密码:"); PassWordjTextField.setText(""); enterButton.setText("登录"); enterButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { enterButtonActionPerformed(evt); } }); resButtonjButton.setText("重置"); resButtonjButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

相关主题