电子科技大学 软件开发环境 实验报告

合集下载

电子科技大学C++程序设计实验报告

电子科技大学C++程序设计实验报告

实验报告课程名称:c++程序设计学院专业:计算机科学与工程计算机科学与技术学生姓名:***学号:***********指导教师:丘志杰杨浩淼实验地点:主楼 A2-412实验一:一、实验目的:学习VC++开发环境的基本使用方式,包括项目的创建、文件的添加、程序的编译、运行和调试等。

二、实验内容:熟悉VC++开发环境,实现编译器输出helloworld,在给出的程序computer sale 中找出一个以上的bug。

三、实验原理:1) helloworld输出代码:#include <iostream>using namespace std;int main(){cout<<" Hello C++ "<<endl;return 0;}2) computer sale 源代码:#include "iostream"using namespace std;struct Computer{char model[20];int total;}computers[100];int modelCount = 0;void list();void enterWarehouse();void outWarehouse();void input(struct Computer &computer);int find(char* model);int main(){int action;do{cout<<"-----------菜单-----------"<<endl;cout<<"1)查看库存"<<endl;cout<<"2)电脑入库"<<endl;cout<<"3)售出"<<endl;cout<<"4)退出程序"<<endl;cin>>action;switch(action){case 1:list();break;case 2:enterWarehouse();break;case 3:outWarehouse();break;case 4:return 0;default:cout<<"您输入了错误的菜单项,请重新选择!";}}while(1);}void list(){cout<<"-------库存-------"<<endl;cout<<"型号\t"<<"数量"<<endl;for(int i=0;i<modelCount;i++){cout<<computers[i].model<<"\t"<<computers[i].total<<endl;}cout<<"-------库存-------"<<endl;}void enterWarehouse(){struct Computer computer;input(computer);int i = find(computer.model);if(i == modelCount){strcpy(computers[i].model , computer.model);computers[i].total = computer.total;modelCount++;}else{computers[i].total += computer.total;}}void outWarehouse(){struct Computer computer;input(computer);int i = find(computer.model);if (i==0) {cout<<"型号错误!"<<endl;}else{computers[i].total -= computer.total;}}void input(struct Computer &computer){cout<<"型号:";cin>>computer.model;cout<<"数量:";cin>>computer.total;}int find(char* model){int i;for(i=0;i<modelCount;i++){if(strcmp(computers[i].model,model) == 0){break;}}return i;}四、实验数据及结果分析:(vc编译)1)2)对于第二个找bug程序,其实有很多不合理的地方,比如这段:int i = find(computer.model);if (i==0) {cout<<"型号错误!"<<endl;}else{computers[i].total -= computer.total;}调用find函数,其实只要i不为零则就型号错误,而find函数的返回值其实就是i,显然不合情理。

软件开发实验报告

软件开发实验报告

软件开发实验报告软件开发实验报告一、引言在当今信息化社会,软件开发成为了推动科技进步和社会发展的重要手段。

本次实验旨在通过开发一个简单的软件项目,探索软件开发的基本流程和技术。

二、需求分析在软件开发的第一阶段,我们需要明确软件的需求和目标。

本次实验的软件项目是一个个人任务管理工具,旨在帮助用户高效地管理个人任务和时间。

三、设计与规划在需求分析的基础上,我们开始进行软件的设计和规划。

首先,我们确定了软件的基本功能模块,包括任务添加、任务查看、任务编辑和任务删除等。

然后,我们进行了软件的界面设计,力求简洁直观,提供良好的用户体验。

最后,我们制定了详细的开发计划,明确了每个开发阶段的任务和时间节点。

四、开发与测试在设计与规划完成后,我们进入了软件的开发与测试阶段。

根据开发计划,我们采用敏捷开发的方式,将整个开发过程分为若干个迭代周期。

每个迭代周期内,我们先进行功能开发,然后进行单元测试和集成测试,确保软件的质量和稳定性。

五、问题与解决在开发过程中,我们遇到了一些问题,例如界面设计与实现的不一致、功能模块的交互问题等。

为了解决这些问题,我们进行了团队讨论和合作,通过不断优化和调整,最终找到了合适的解决方案。

六、用户反馈与优化在软件开发完成后,我们邀请了一些用户进行试用,并收集他们的反馈和建议。

根据用户的反馈,我们对软件进行了一些优化和改进,提升了软件的易用性和功能完整性。

七、总结与展望通过本次实验,我们深入了解了软件开发的基本流程和技术,提高了团队合作和问题解决的能力。

同时,我们也认识到软件开发是一个复杂而庞大的系统工程,需要不断学习和实践。

未来,我们将继续深入研究软件开发领域,探索更多创新的方法和技术,为社会发展做出更大的贡献。

八、致谢在此,我们要感谢实验指导老师的悉心指导和帮助,以及团队成员的辛勤付出和合作精神。

没有你们的支持和帮助,我们无法完成这个软件开发实验。

谢谢大家!以上就是本次软件开发实验的实验报告,通过这次实验,我们不仅学到了软件开发的基本流程和技术,还提升了团队合作和问题解决的能力。

开发环境建立实验报告

开发环境建立实验报告

一、实验目的1. 掌握开发环境的搭建流程。

2. 熟悉常用开发工具的使用方法。

3. 提高编程实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:IntelliJ IDEA4. 数据库:MySQL5. 网络环境:稳定网络连接三、实验内容1. 开发环境搭建2. 编写Java程序3. 连接数据库4. 测试程序功能四、实验步骤1. 开发环境搭建(1)下载并安装Java开发包(JDK)1)访问Oracle官网,下载适用于Windows操作系统的JDK版本。

2)双击下载的安装包,按照提示进行安装。

3)安装完成后,在系统环境变量中配置JDK的bin目录。

(2)下载并安装IntelliJ IDEA1)访问IntelliJ IDEA官网,下载免费版或社区版。

2)双击下载的安装包,按照提示进行安装。

3)安装完成后,启动IntelliJ IDEA。

(3)配置MySQL数据库1)下载并安装MySQL数据库。

2)运行MySQL安装程序,按照提示进行安装。

3)安装完成后,配置MySQL环境变量。

2. 编写Java程序(1)创建Java项目1)在IntelliJ IDEA中,选择“File” -> “New” -> “Project”。

2)选择“Java” -> “Maven” -> “Next”。

3)输入项目名称、项目位置等信息,点击“Finish”。

(2)编写Java代码1)在项目目录下,创建一个名为“src”的文件夹。

2)在“src”文件夹下,创建一个名为“com”的包。

3)在“com”包下,创建一个名为“main”的文件夹。

4)在“main”文件夹下,创建一个名为“java”的文件夹。

5)在“java”文件夹下,创建一个名为“HelloWorld”的类。

6)在HelloWorld类中,编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```(3)运行Java程序1)在HelloWorld类上,右键点击“Run”。

电子科技大学-UML实验报告讲解

电子科技大学-UML实验报告讲解

软件工程专业类课程实验报告课程名称:系统分析与设计(含UML)学院:信息与软件工程学院专业:嵌入式系统学生姓名:XXXXXX学号:201222XXXXX指导教师:周XXXX评分:日期:2014年11 月12 日目录目录 (2)实验1 (3)1.1实验名称 (3)1.2实验时间和地点 (3)1.3实验内容和目的 (3)1.4实验环境 (4)1.5实验步骤及实验结果 (4)1.6实验结论、心得体会和改进建议 (7)实验2 (8)2.1实验名称 (8)2.2实验时间和地点 (8)2.3实验内容和目的 (8)2.4实验环境 (9)2.5实验步骤及实验结果 (9)2.6实验结论、心得体会和改进建议 (13)实验3 (14)3.1实验名称 (14)3.2实验时间和地点 (14)3.3实验内容和目的 (14)3.4实验环境 (15)3.5实验步骤及实验结果 (15)3.6实验结论、心得体会和改进建议 (20)实验4 (21)4.1实验名称 (21)4.2实验时间和地点 (21)4.3实验内容和目的 (21)4.4实验环境 (22)4.5实验步骤及实验结果 (22)4.6实验结论、心得体会和改进建议 (27)实验5 (28)5.1实验名称 (28)5.2实验时间和地点 (28)5.3实验内容和目的 (28)5.4实验环境 (28)5.5实验步骤及实验结果 (29)5.6实验结论、心得体会和改进建议 (46)电子科技大学实验报告实验11.1实验名称用例图、活动图的创建1.2实验时间和地点实验时间:2014-10-12实验地点:信息与软件工程学院实验中心1.3实验内容和目的实验内容:1.3.1开发一个网上书店系统。

顾客注册后可以登录系统,搜索图书信息,管理自己的购物车,填写和管理自己的订单,管理自己的个人信息。

管理员需要处理订单和管理图书。

(1)请创建该系统的用例图,并完成“搜索图书”的用例规约。

(2)请创建“搜索图书”的活动图1.3.2开发一个在线考试系统。

c语言程序开发环境实验报告

c语言程序开发环境实验报告

实验报告:C语言程序开发环境一、实验目的本次实验旨在让学生熟悉C语言程序开发环境,掌握常用的C语言编译器和集成开发环境(IDE)的使用方法,以便能够进行C语言程序的编写、调试和运行。

二、实验内容1. 下载并安装C语言编译器和IDE;2. 熟悉IDE的基本界面和功能;3. 创建一个简单的C语言程序,并进行编译、调试和运行。

三、实验步骤1. 下载并安装C语言编译器和IDE根据实验要求,选择合适的C语言编译器和IDE进行下载和安装。

常用的C语言编译器有GCC、Clang等,常用的IDE有Code::Blocks、Eclipse CDT等。

2. 熟悉IDE的基本界面和功能打开安装好的IDE,熟悉其基本界面和功能。

通常,IDE界面分为代码编辑区、编译和运行按钮、调试工具等。

了解每个功能的作用,掌握常用的快捷键操作。

3. 创建一个简单的C语言程序在IDE中创建一个新的C语言项目,然后创建一个C源文件。

在该源文件中编写一个简单的C语言程序,如输出"Hello, World!"。

4. 编译、调试和运行程序使用IDE提供的编译按钮编译源代码。

如果有错误提示,根据提示进行修改,直到成功编译通过。

然后,使用IDE提供的调试功能对程序进行调试。

设置断点,逐步执行程序,观察变量的值和程序流程,确保程序的正确性。

最后,点击运行按钮运行程序,观察程序的输出结果是否符合预期。

四、实验总结通过本次实验,我成功下载并安装了C语言编译器和IDE,并且熟悉了IDE的基本界面和功能。

我创建了一个简单的C语言程序,并通过编译、调试和运行验证了程序的正确性。

这次实验让我更加熟悉了C语言程序开发环境,为以后的C语言编程打下了基础。

电子科技大学软件开发环境实验报告

电子科技大学软件开发环境实验报告

计算机专业类课程实验报告课程名称:软件开发环境学院:计算机科学与工程专业:计算机科学与技术学生姓名:孙健学号:2010060030016指导教师:胡成华日期:2012年12月3日电子科技大学实验报告实验一代码清单2解释:先把3赋值给i(dword ptr [i]),cmp指令则是比较i(dword ptr[i])和3的大小,jie比较结果是相等,就跳转到01291382地址处,完成程序运行。

代码清单3和2类似,不同的是jge指令时第一个操作数大于或第二个操作数时跳转.代码清单4的反汇编代码,当执行到jne时,jne是如果第一个操作数和第二个操作数不相等时,就跳转至指令地址。

2.3 if/else语句的反汇编反汇编里面的判断语句和源码的是相反的编写代码清单7,并给出其反汇编代码首先mov指令把3赋值给dword ptr [i],cmp比较3和1EH(30)的大小,jle指令3小于30 跳转到411394h,在继续比较14H,3也小于20,在跳转到004113A3h 在比较3小于5,符合要求,mov指令把6赋值给dword ptr[i],跳转至4113D7.if-else分支用的都是反比,先进行比较根据结果进行跳转。

根据对代码清单9的分析,总结出for循环的反汇编代码规律先赋初值,根据cmp来进行判断,看是否应该跳出循环,如果不跳出则利用add 或sub指令进行重新赋值,知道跳出循环为止。

代码清单10 首先先把0赋值给dword ptr [i];,把0赋值给dword ptr[j];,cmp指令比较dword ptr [i]和0AH(10)的大小,通过jge指令,如果i的值大于或等于10就跳转至4113A6H,执行地址00411392处、地址00411395处、地址00411398处的机器码。

这三条指令的含义是对j做加1运算,同理,041139B,041139E,04113A1对i做加一运算。

代码清单11首先先把0赋值给dword ptr [i];,把0赋值给dword ptr[j];041138C,041138F,0411392三条地址指令对j进行加一运算,0411395,0411398,041139B对i进行加一运算,到地址041139E处,cmp 指令比较i与0AH(10)的大小,jl不大于就回跳到41138C的地址,继续执行循环.计算机专业类课程实验报告课程名称:软件开发环境学院:计算机科学与工程学院专业:计算机科学与技术学生姓名:孙健学号:2010060030016指导教师:胡成华日期:2012年12月8日电子科技大学实验报告实验二代码清单2的反汇编解释:保存ebp,将esp放入ebp中,此时ebp和esp相同,把esp往上移动一个范围0C0H;等于在栈中空出一片空间来存局部变量。

java开发环境实验报告

java开发环境实验报告

java开发环境实验报告Java开发环境实验报告引言:在计算机科学领域,Java是一种广泛使用的编程语言。

它的跨平台特性和丰富的类库使得Java成为许多开发人员的首选。

为了进行Java开发,我们需要搭建一个合适的开发环境。

本实验报告将介绍如何搭建Java开发环境,并讨论一些常用的开发工具和技术。

一、Java开发环境搭建1. JDK安装Java开发需要安装Java Development Kit(JDK)。

我们可以从Oracle官方网站下载适用于我们操作系统的JDK版本,并按照安装向导进行安装。

安装完成后,我们需要设置环境变量,包括JAVA_HOME和PATH。

2. 集成开发环境(IDE)选择Java开发可以使用多种集成开发环境,如Eclipse、IntelliJ IDEA和NetBeans等。

这些IDE提供了代码编辑、调试和项目管理等功能。

根据个人喜好和项目需求,我们可以选择一个适合自己的IDE。

3. 构建工具选择为了管理项目的依赖和构建过程,我们可以选择使用构建工具,如Apache Maven和Gradle。

这些工具可以自动下载和管理项目所需的库文件,并提供一致的构建过程。

二、常用的Java开发工具和技术1. 版本控制系统在团队开发中,版本控制系统是必不可少的工具。

Git是目前最流行的版本控制系统之一。

通过使用Git,我们可以轻松地管理代码的版本、合并代码和解决冲突。

2. 调试工具调试是开发过程中常见的任务。

IDE通常提供了强大的调试功能,如断点设置、变量监视和堆栈跟踪等。

这些功能可以帮助我们快速定位和修复代码中的错误。

3. 单元测试框架单元测试是保证代码质量的重要手段。

JUnit是Java中最常用的单元测试框架之一。

它提供了一系列的断言方法和测试运行器,使得编写和运行单元测试变得简单而高效。

4. 代码质量工具为了确保代码的质量和一致性,我们可以使用代码质量工具。

例如,FindBugs可以帮助我们发现潜在的bug和性能问题,而Checkstyle可以强制执行代码风格规范。

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

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

电子科技大学通信与信息工程学院标准实验报告(实验)课程名称软件技术基础实验电子科技大学教务处制表电子科技大学实验报告一、实验室名称:校公共机房二、实验项目名称:查找与排序三、实验学时:4学时四、实验原理:使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。

通过上机练习掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等方法、过程和实际应用。

五、实验目的:1.熟练掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等算法方法并实现。

2.掌握课程平台使用方法。

六、实验内容:ex5_1:查找设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。

//第一题#include <stdio.h>#define maxnum 20typedef struct{int data[maxnum];int length;}list_type;void create(list_type *l){l->length=8;l->data[0]=3;l->data[1]=10;l->data[2]=13;l->data[3]=17;l->data[4]=40;l->data[5]=43;l->data[6]=50;l->data[7]=70;}void shunxucz(list_type *l,int a1,int a2){int i,flag=0;printf("-----------------------------------------------\n");printf("顺序查找法:\n");for(i=0;i<l->length;i++){if(a1==l->data[i]){printf("%d是第%d个元素\n",a1,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a1);flag=0;for(i=0;i<l->length;i++){if(a2==l->data[i]){printf("%d是第%d个元素\n",a2,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a2);}void erfencz(list_type *l,int a1,int a2){printf("-----------------------------------------------\n");printf("二分查找法:\n");int low,h,m,flag=0,i;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a1){printf("%d是第%d个元素\n",a1,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a1);flag=0;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a2){printf("%d是第%d个元素\n",a2,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a2);}int main(){int flag1=43,flag2=5;list_type list,list1,list2;create(&list);create(&list1);create(&list2);shunxucz(&list1,flag1,flag2);erfencz(&list1,flag1,flag2);printf("-----------------------------------------------\n");}ex5_2:排序1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)编写快速排序函数5)在主程序中输入一组数据元素(513,87,512,61,908,170,897,275,653,462),分别调用4种排序函数,输出每趟排序结果。

电子科技大学Linux实验 (2)

电子科技大学Linux实验 (2)

电子科技大学实验报告学生姓名:李学号:2016 指导教师:李林实验地点:主楼A2-412 实验时间:2016.11.23一、实验室名称:Linux环境高级编程实验室二、实验项目名称:插件框架实验三、实验学时:4学时四、实验目的:学习在Linux环境下插件框架的开发的使用,掌握如何开发一个高效有用的插件框架。

五、实验内容:●版本1:开发一个程序,向屏幕打印“Hello World”;在不重新编译链接原程序的前提下,将打印的文字改为“Hello China”●版本2:同时要打印“Hello World”,打印“Hello China”,甚至同时打印未来才会增加的其他打印信息,打印未来的这些信息,也不能重新编译链接原程序●版本3:版本2是同时调用所有插件的打印功能,现在要求一次只调用一种功能版本4:在版本3中,插件导出了Print、GetID、Help三个函数,主程序需要使用多个容器分别保存这些函数地址。

六、实验步骤:版本一:function.cpp#include <iostream>using namespace std;extern "C" void Print(){cout << "Hello lifeng" << endl;}main.cpp#include <dlfcn.h>#include <iostream>using namespace std;int main(){void *handle = dlopen("./function.so", RTLD_LAZY);if(handle == 0) {cout << "dlopen error" << endl;return 0;}typedef void (*FUNC_PRINT)();FUNC_PRINT dl_print = (FUNC_PRINT)dlsym(handle, "Print");if(dl_print == 0){cout << "dlsym error" << endl;return 0;}(dl_print)();dlclose(handle);return 0;}运行结果截图:版本二:f1.cpp#include <iostream>using namespace std;//输出文件需要用extern “C”修饰,这样才能被标准C语言调用extern "C" void print(){cout<<"lifeng "<<endl;}f2.cpp#include <iostream>using namespace std;extern "C" void print(){cout<<"hello lifeng"<<endl;}main.cpp#ifndef CPLUGINENUMERATOR_H#define CPLUGINENUMERATOR_H#include <vector>#include <string>#include <dirent.h>#include <dlfcn.h>#include <iostream>#include <string.h>using namespace std;bool getPluginNames(vector<string>& v_plugin){//打开动态链接库的存放目录,返回目录的索引结构DIR* dir=opendir("./plugin");if(dir==0)return false;for(;;){//返回一个direent结构体,结构体中包含了索引节点号和文件名struct dirent* p=readdir(dir);if(p==0)break;//Linux文件目录下第一个为“.”表示当前目录,需要筛掉if(strcmp(p->d_name,".")==0)continue;if(strcmp(p->d_name,"..")==0)continue;string str="./plugin/";//动态链接库的存放目录str+=p->d_name;//现在str为绝对路径v_plugin.push_back(str);//将绝对路径保存入向量}closedir(dir);return true;}int main(){vector<string> v_plugin;if(!getPluginNames(v_plugin)){cout<<"获取动态链接库名失败"<<endl;return 0;}for(int i=0;i<v_plugin.size();i++){void* handle=dlopen(v_plugin[i].c_str(),RTLD_LAZY);//打开动态链接库if(handle==0){cout<<"打开动态链接库出错"<<endl;return 0;}typedef void(*P_print)();P_print p_print=(P_print)dlsym(handle,"print");//映射动态链接库函数if(p_print==0){cout<<"映射动态链接库函数失败"<<endl;return 0;}(p_print)();dlclose(handle);}return 0;}#endif运行结果截图:七、总结及心得体会:本次实验,学习在Linux系统下插件的开发和使用,实验过程中遇到很多困难,但在同学的帮助下解决了大部分困难,多交流也是很重要的学习方法。

电子科技大学实验报告可编辑

电子科技大学实验报告可编辑

电 子 科 技 大 学实 验 报 告一、 实验室名称: 电子技术综合实验室二、 实验项目名称:现代电子技术综合实验三、 实验学时: 40四、 实验目的与任务:1、 熟悉系统设计与实现原理2、 掌握KEIL C51的基本使用方法3、 熟悉SMART SOPC 实验箱的应用4、 连接电路,编程调试,实现各部分的功能5、 完成系统软件的编写与调试五、 实验器材1、 PC 机一台2、 示波器、SMART SOPC 实验箱一套六、 实验原理、步骤及内容(一)试验要求1、程序开始后:当只有第1个发光二极管亮时,同时第1个数码管显示数字1,其余显示”-”;持续0.5秒之后,只有第2个发光二极管亮,电子科技大学实验报告【最新资料,WORD 文档,可编辑修改】同时第2个数码管显示数字2,其余显示”-”;再过0.5秒,只有第3个发光二极管亮,同时第3个数码管显示数字3,其余显示”-”;……;间隔0.5秒后,只有第8个发光二极管亮,同时第8个数码管显示数字8,其余显示”-”。

此后进入循环状态。

循环过程中,按按键进入任务2。

2、停止任务1中发光二极管显示,数码管的第1、2位显示学号最后二位,第4、5位显示电机转速(初始转速30)。

第7、8位实现秒表功能,从5.0开始倒计时,计时到0.0后程序自动进入任务3.3、数码管的第1、2位显示电机转速,第3、4 、5、6位显示”-”, 第7、8位显示二位电压值(0.0~2.4V),增减调节电压值,电机转速(初始转速30)能够跟随电压增减以10倍变化量(0~24),进行加减速变化。

按按键进入任务1。

(二)实验内容1、硬件设计PDIP40封装80C51引脚布局图SmartSOPC相配套的基于8051单片机的Quick51核心板2、各部分硬件原理数码管动态扫描原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

软件开发实训报告

软件开发实训报告

软件开发实训报告本人在大学期间参加了一项软件开发实训,本文将分享我在实训过程中的体验和收获。

实训背景在准备毕业前夕,学校要求我们进行一项实训,目的是让我们在实践中掌握软件开发的核心技能,为日后的职业发展打下坚实的基础。

实训内容我们的实训项目是一个线上购物商城,需要完成前端UI设计、后端开发以及数据库设计等工作。

我们分为若干个小组,每个小组负责一个或多个模块的开发,大家需要协同工作才能完成整个项目。

实训过程在实训的过程中,我们遇到了一些挑战。

首先,项目涉及的领域比较广泛,有些成员并不擅长某些技术,有些人可能会因为一些原因缺席,需要其他成员顶上去。

其次,在完成整个项目中,需要不断进行信息交流和协调,特别是在前后端调试时,这是一个比较耗时的工作。

此外,我们还需要在紧张的期限内完成每个里程碑任务。

最后,在项目上线前,需要进行多次测试和修复漏洞,确保程序的运行稳定性和安全性。

实训收获经过一段时间的紧张工作,我们最终成功地完成了整个项目。

在这个过程中,我们不仅学会了如何采用所学习的技术来开发软件,而且也发现了许多软实力方面的技能。

例如:团队协作、问题解决、自我管理以及沟通技巧等。

具体来说:- 团队协作:我们在实践中体会到了团队合作的重要性。

每个人都可以发挥自己的特长,同时也需要配合其他成员的工作,让项目顺利地前进。

- 问题解决:在项目实施过程中,我们遇到了许多的技术问题,例如:前后端接口调试、数据库操作以及版本控制等问题。

针对这些问题,我们需要不断学习和尝试解决方案来克服它们。

- 自我管理:在实践中,我们学会了如何更好地管理自己的时间、精力和资源。

例如:分配任务、优化工作流程、自我约束等。

- 沟通技巧:在团队协作和问题解决中,我们要面对许多的沟通和交流问题,例如:如何清楚地表达自己的想法、如何理解他人的话语等。

因此,我们需要学会如何有效地沟通和处理团队内部的矛盾。

总结通过实践,我深刻地认识到软件开发实训的重要性。

软件技术技术实验报告

软件技术技术实验报告

电子科技大学通信学院标准实验报告(实验)课程名称软件技术基础实验名称软件技术基础设计学生姓名雷宏伟学号2015010910001指导老师孟中楼电子科技大学教务处制表一、实验室名称:基础实验大楼506二、项目名称:顺序表三、实验学时:4学时四、设计目的:通过建立顺序表,熟悉顺序表的建立,在顺序表中插入,删除元素等用法。

五、设计原理:六、设计内容:1)首先创建一个顺序表:从键盘读入一组整数(长度小于等于11),按输入顺序放入顺序表,输入以-1结束(注意-1不放到顺序表内);将创建好的顺序表元素依次输出到屏幕上。

2)在已创建好的顺序表中插入一个元素:从键盘读入需插入的元素值和插入位置,调用插入函数完成插入操作;然后将顺序表元素依次输出到屏幕上。

3)在已创建好的顺序表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作;然后将顺序表元素依次输出到屏幕上。

4)删除顺序表中元素值为负数的所有元素,然后将顺序表元素依次输出到屏幕上。

七、实验器材(设备、元器件):计算机,vc实验平台八、测试步骤:1)编写语句2)运行测试3)查看结果九、测试数据及结果分析:十、设计与测试结论:十一、总结及心得体会:通过实验深刻了解了顺序表的用法,并实现了顺序表的插入,元素的删除等功能。

十二、对本实验过程及方法、手段的改进建议:1)对于程序编写生疏了,由于原先用的是vs,首次用vc不太习惯,应多加练习,对于顺序表掌握还不够完全,课余应多交流。

2)第四个内容刚开始不能运行,后来改进后成功。

报告评分:指导教师签字:。

电子科技大学Linux实验 (3)

电子科技大学Linux实验 (3)

电子科技大学实验报告学生姓名:李学号:2016 指导教师:李林实验地点:主楼A2-412 实验时间:2016年11月9日一、实验室名称:Linux环境高级编程实验室二、实验项目名称:Linux编程环境搭建与使用三、实验学时:4学时四、实验目的:通过本次实验,熟悉并掌握VMWare下一些基本命令的使用,包括如何修改自己的主机名,如何对普通用户的权限进行修改等,VMWare中网络的配置,以及一些工具包的安装和这些工具的使用。

五、实验内容:本次实验的主要内容有:1.VMWare的一些基本配置2.APT命令的使用,用APT安装软件3.用过vi命令对文件进行编辑4.学习make命令的使用,通过make命令对C++源程序进行编译运行5.了解gdb,对程序进行断点调试六、实验步骤:1.VMWare网络配置修改主机名:网络配置:(以下图片是在实验室做的拍的图片,其他的是在自己电脑上截的图)修改/etc/network/interfaces文件,如图:使用apt-get install vim命令下载安装vim插件实例。

利用命令sudo apt-get install g++完成对g++的安装,3.Make的使用Make对源文件进行编译,其中相应的代码放入在文件夹sy/make下面.4.Gdb的使用首先查看有没有gdb,如果没有需要进行安装,然后输入g++ -g -o test.cpp对源程序进行编译生成可执行文件自己编写一个多进程的程序,通过截图和文字,说明如何调试多进程。

相关的代码部分截图:运行gdb对断点进行调试调用step命令运行情况:然后利用(gdb) continue退出运行。

七、总结及心得体会:在本次实验中知道了一些在liunx条件下的编程基本知识和几种常见的运行指令,了解到了在linux上的编程和在window上面的差异,了解了在如何在linux上装软件,我对linux编程有所了解。

报告评分:指导教师签字:。

开发环境搭建实验报告(3篇)

开发环境搭建实验报告(3篇)

第1篇实验名称:开发环境搭建实验目的:1. 掌握开发环境的搭建流程。

2. 熟悉常用的开发工具和版本控制工具。

3. 提高软件开发的实践能力。

实验时间:2022年X月X日实验地点:个人电脑实验器材:1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse IDE4. 版本控制工具:Git实验内容:1. 开发环境的搭建2. 编写简单的Java程序3. 使用Git进行版本控制实验步骤:一、开发环境的搭建1. 安装Java开发工具包(JDK)(1)下载JDK安装包:进入Oracle官网,选择适合自己操作系统的JDK版本进行下载。

(2)安装JDK:双击下载的安装包,按照提示进行安装。

(3)配置环境变量:在系统属性中,点击“环境变量”按钮,在“系统变量”中,找到“Path”变量,点击“编辑”,在变量值中添加JDK安装路径下的bin目录,如C:\Program Files\Java\jdk1.8.0_241\bin。

2. 安装Eclipse IDE(1)下载Eclipse安装包:进入Eclipse官网,选择适合自己的Eclipse版本进行下载。

(2)安装Eclipse:双击下载的安装包,按照提示进行安装。

3. 安装Git(1)下载Git安装包:进入Git官网,选择适合自己的Git版本进行下载。

(2)安装Git:双击下载的安装包,按照提示进行安装。

(3)配置Git:打开Git Bash,执行以下命令:```$ git config --global "你的名字"$ git config --global user.email "你的邮箱"```二、编写简单的Java程序1. 打开Eclipse IDE,创建一个新的Java项目。

2. 在项目中创建一个新的Java类,命名为“HelloWorld”。

3. 编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```4. 运行程序,查看输出结果。

电子科技大学 软件开发环境 实验报告

电子科技大学 软件开发环境 实验报告
int findPosition(const char &) const; //返回字符在arrayTree[]中的位置
int isEqual(const char *s) const; //判断s是否存在于编码系统中,若存在则返回s在编码系统中的位置,否则返回-1
void reverse(char arr[]);
void insert(const char&, const double&); //插入结点
void createHuffmanTree(); //创建哈夫曼树
void createHuffmanCode(); //创建哈夫曼编码
void writeCodeToFile(const char *);//将Huffman编码写入到词频表文件当中
六、实验器材(设备、元器件):
PC机,vs 2008软件平台。
七、实验数据及结果分析:
代码见附件。
huffmanForC
文件中函数列表如下:
///统计词频时用于查找是否已经记录过,记录过的话返回下标,没有则返回0
int isInNode(int value)
//获取文件词频,记录在Node huffmanNode[260]的节点数组当中
int swap(int data)
/*进行文件的解压*/
void uncompress_file(char* file1,char* file2)
//主函数
int main(int argc, char **argv)
函数关系调用图:
向下箭头为顺序依次调用,斜线为函数内调用
输入-c argv[2] argv[3]
(4)根据编码表信息再次逐字节的的读取带压缩文件并且压缩文件。

软件小组实验报告汇总

软件小组实验报告汇总
说明:同一用户可以拥有顾客就餐管理,顾客住宿管理,数据库信息管理,帐号信息。管理中一个或多个权限,如果拥有全部权限,则个该用户就事系统管理员。
3.帐号信息管理
帐号信息管理员管理软件的用户,对用户进行增删,设定权限等。
报告评分:
指导教师签字:
电子科技大学
实验报告三
成员姓名:学号:指导教师:肖逸飞
实验地点:主楼A2-412实验时间:2015.11.8

备注
statetime
int
×
0
状态计时
delmark
int
×
0
删除标记
other1
varchar

保留1
other2
varchar

保留2
4.客户类型表
[customertype]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
id
varchar
×
客户类型编号
c_type
varchar
×
客户类型
在概要设计中,我们将项目分成几个模块,每人分别完成所需模块的设计。
我进行系统模块、输入处理及系统处理和帐号信息管理的模块开发。
1.系统模块(总控模块)
该系统模块按照输入——>处理——>输出的流程进行工作。
2.输入处理及系统处理
用户在进入系统时,需要输入用户名和密码。输入处理就是根据用户输入的用户名及密码进行判断该用户的合法性。如果口令有效则进行权限判断,以控制该用户的行为,如果口令无效,则提示出错。
×
房间类型编号
r_no
varchar
×

电子科技大学实验报告

电子科技大学实验报告
五、实验内容:
(一)用WinDLX模拟器执行求阶乘程序fact.s。
这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。
(二)用WinDLX模拟器执行程序gcm.s。
该程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。
该程序中调用了input.s中的输入子程序。
(三)用WinDLX模拟器执行求素数程序prim.s。
这个程序计算若干个整数的素数。
六、实验器材(设备、元器件):
PC微机一台
七、实验步骤及操作:
1.双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File菜单中的Reset all菜单项,弹出一个“Reset DLX”对话框。然后点击窗口中的“确认”按钮即可。
1.2.选择File/Load Code or Data,按如下步骤操作,可将fact.s和input.s这两个程序装入主存:
◆点击fact.s
◆点击select按钮
◆点击input.s
◆点击select按钮
◆点击load按钮
3.点击主窗口中的Execution开始运行。
4.程序gcm.s和prim.s的运行过程同上。
八、实验数据及结果分析:
九、实验结论:
十、总结及心得体会:
十一、对本实验过程及方法、手段的改进建议:
报告评分:
指导教师签字:
电子科技大学
实验报告
学生姓名:
学号:
一、实验室名称:计算机学院计算心
二、实验项目名称:熟悉WinDLX的使用
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六、实验器材(设备、元器件):
PC机,vs 2008软件平台。
七、实验数据及结果分析:
代码见附件。
huffmanForC
文件中函数列表如下:
///统计词频时用于查找是否已经记录过,记录过的话返回下标,没有则返回0
int isInNode(int value)
//获取文件词频,记录在Node huffmanNode[260]的节点数组当中
C:\>test.exe–c uncompress_filename compress_filename
上述命令中,test.exe是程序名,-c表示要进行压缩。uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。用户可以通过如下命令进行解压:
获取argv[2]文件中的词频信息
根据词频信息建立Huffan树
获取Huffman编码
将argv[2]文件使用编码压缩成argv[3]
将编码信息写入编码表文件,以备解压使用
输入 -u argv[2] argv[3]
从词频表当中读取编码信息
将argv[2]文件解压为argv[3]文件
代码见附件。
上面操作实现了将file.txt 压缩成out.txt (同时生成了默认词频表文件dic.txt),然后实现了解压缩功能。
//n值由全局变量count值来确定,该函数主要用来初始化Huffman树的所有节点信息
void createHufmanTree(Node * huffmanTree)
/*字符编码,从构建好的Huffman树当中读取每个叶子节点的huffman编码, 并将叶子节点的信息放入到code[]中*/
HCode * getHuffmanCode(Node * huffmanTree,HCode *HC,int code[])
C:\>test.exe–u compress_filename uncompress_filename
上述命令中,-u表示要执行解压命令。compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。
提示:在实现test.exe程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。
void calWeight(char *file)
/*得到待压缩文件的总字节数,权值为几就代表着有多少个字节*/
int getSumBytes()
//获取压缩后文件的总bit数
int getSumBits()
//建立huffman树 根据huffman树的特性,具有n个节点的huffman树的具有2n-1个节点
指导书试验原理部分较多,在这里就不做粘贴复制了。
四、实验目的:
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。
5、实验内容:
本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩:
实验文件列表:file.txt 为源文件,out.txt 为压缩文件,out1.txt 为解压出来的文件
int swap(int data)
/*进行文件的解压*/
void uncompress_file(char* file1,char* file2)
//主函数
int main(int argc, char **argv)
函数关系调用图:
向下箭头为顺序依次调用 ,斜线为函数内调用
输入-c argv[2] argv[3]
电 子 科 技 大 学
实 验 报 告
学生姓名:郭小明学 号:
一、实验室名称:主楼A2-412
二、实验项目名称:
软件开发环境试验-----Huffman编码实验
3、实验原理:
2.1 分割函数的三项原则
分割函数的三项原则包括:与其写注释,不如写函数;重复就是罪恶;函数不要超过50行至70行。
关于分割函数三原则的具体含义,请见教材和课堂教学PPT关于电话本的内容。这里不再赘述。
C++版本的程序,需要给出类关系图。
实验报告的评分标准,包括以下几个方面:
实验报告是否规范
实验报告内容是否详实
实验报告中是否包含了函数调用图、流程图、类图以及它们的文字说明
实验报告中的代码注释是否达到要求
程序是否正确无误
程序是否严格按照分函数的原则编写
C++版本的程序类关系的耦合度如何
程序实现是否考虑了大文件情况
2.2 Huffman编码的基本原理
本实验要求使用Huffman编码算法,实现对文件的压缩和解压。因此,我们首先介绍huffman的编码算法。
Huffman编码是一种可变长编码方式,是由美国数学家David Huffman创立的,是二叉树的一种特殊转化形式。编码的基本原理是:将使用次数多的代码转换成长度较短的编码,而使用次数少的代码则可以使用较长的编码,并且保持编码的唯一可解性。
本实验要求实现两个版本的test.exe程序,一是C语言版本的,二是C++版本的。对这两个版本的要求如下:
对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系图以及它们的文字说明等内容;
对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码中注释的比例要占到总行数的20%;
/*
将编码表写入默认文件当中,并在结尾存入叶子节点数(count)与压缩后文件的总bit数
1111000 27
...........
...........
#sum_bit##count#
*/
void freToFile(int code[],HCode *HC)
//由于词频表是按照字符串方式存储的叶子节点信息,读取出来的字符串需要转换成int值再使用
int powmy(int a,int b)
/*从编码表文件读取相应信息以用来解压文件,读取信息包括编码和叶子信息*/
HCode* freFromFile(int code[],HCode *HC)
/*压缩文件*/
void compress_file(char* file1,char*file2)
/*用于在解压的时候将读取到的ASCII码转换为二进制数*/
相关文档
最新文档