南邮软件工程实验三

合集下载

南邮操作系统实验三

南邮操作系统实验三

南邮操作系统实验三实验报告( 2014/ 2015 学年第一学期)课程名称操作系统教程实验名称页面调度算法的模拟实现实验时间2014 年12 月 3 日指导单位计算机软件学院指导教师徐鹤学生姓名楚灵翔班级学号B12040731 学院(系) 计算机学院专业软件工程实验报告实验名称页面调度算法的模拟实现指导教师徐鹤实验类型上机实验学时 2 实验时间2014.12.3一、实验目的和要求1、模拟实现页面调度算法中的FIFO、LRU和OPT算法2、进程的页面请求序列,即一系列页面号(页面号用整数表示,用空格作为分隔符),用来模拟待换入的页面;3、输出要求:显示缺页的总次数和缺页中断率二、实验环境(实验设备)VMware Workstation,Ubuntu三、实验过程描述#define n 12#define m 3int page[n]; //保存需要访问的页面int i,j,q,mem[m]={0},List[m][n],sum;char flag,f[n];void Init();void FIFO();void LRU();void main(){cout<<"*********************实验***********************"<<endl;< bdsfid="127" p=""></endl;<> cout<<" ┏━━━━━━━━━━━━━━━━━━━━━━━┓"<<endl;< bdsfid="129" p=""></endl;<>cout<<" ┃页面调度算法的模拟实现┃"<<endl;< bdsfid="131" p=""></endl;<>cout<<" ┠───────────────────────┨"<<endl;< bdsfid="133" p=""></endl;<>cout<<" ┃先进先出算法FIFO ┃"<<endl;< bdsfid="135" p=""></endl;<>cout<<" ┃最近追少使用算法LRU ┃"<<endl;< bdsfid="137" p=""></endl;<>cout<<" ┗━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl;< bdsfid="139" p=""></endl;<>cout<<" 请输入页面访问序列:\n"<<" ";for(i=0;i<n;i++)< bdsfid="142" p=""></n;i++)<>cin>>page[i];cout<<endl;< bdsfid="145" p=""></endl;<>FIFO();Init();LRU();}void Init() //初始化函数{sum=0; //初始化计算缺页次数的变量for(int i=0;i<m;i++)< bdsfid="153" p=""></m;i++)<>mem[i]=0;for(i=0;i<m;i++)< bdsfid="156" p=""></m;i++)<>for(j=0;j<n;j++)< bdsfid="158" p=""></n;j++)<>List[i][j]=0;}void FIFO(){for(i=0;i<="">{q=0;while((page[i]!=mem[q])&&(q!=m))q++;if(q==m)flag='*'; //缺页,则置标志flag为'*' elseflag=' ';if(flag=='*'){for(j=m-1;j>0;j--) //淘汰最先调入的页面调入当前访问的mem[j]=mem[j-1];mem[0]=page[i];}for(j=0;j<m;j++)< bdsfid="178" p=""></m;j++)<>List[j][i]=mem[j];f[i]=flag;}cout<<" 0代表为空,*代表有缺页:\n";cout<<endl;< bdsfid="184" p=""></endl;<>cout<<"-----------FIFO算法结果------------"<<endl;< bdsfid="186" p=""></endl;<>for(i=0;i<m;i++)< bdsfid="188" p=""></m;i++)<>{for(j=0;j<n;j++)< bdsfid="191" p=""></n;j++)<>cout<<list[i][j]<<" ";<="" bdsfid="193" p=""></list[i][j]<<"> cout<<endl;}< bdsfid="195" p=""></endl;}<>for(i=0;i<n;i++)< bdsfid="197" p=""></n;i++)<>{if(f[i]=='*')sum++;cout<<f[i]<<" ";<="" bdsfid="202" p=""></f[i]<<">}cout<<"\n-----------------------------------"<<endl;<bdsfid="205" p=""></endl;<>cout<<"缺页次数是:"<<sum<<"缺页率是:"<<<endl;<="" bdsfid="207" p=""></sum<<"缺页率是:"<}void LRU(){for(i=0;i<="">{q=0;while((page[i]!=mem[q])&&(q!=m))q++;if(q==m)flag='*'; //缺页,则置标志flag为'*'elseflag=' ';for(j=q;j>0;j--)mem[j]=mem[j-1];mem[0]=page[i];for(j=0;j<m;j++)< bdsfid="225" p=""></m;j++)<>List[j][i]=mem[j];f[i]=flag;}cout<<endl;< bdsfid="229" p=""></endl;<>cout<<"------------LRU算法结果------------"<<endl;< bdsfid="231" p=""></endl;<>for(i=0;i<m;i++)< bdsfid="233" p=""></m;i++)<>{for(j=0;j<n;j++)< bdsfid="236" p=""></n;j++)<>cout<<list[i][j]<<" ";<="" bdsfid="238" p=""></list[i][j]<<"> cout<<endl;< bdsfid="240" p=""></endl;<>}for(i=0;i<n;i++)< bdsfid="243" p=""></n;i++)<>{if(f[i]=='*')sum++;cout<<f[i]<<" ";}<="" bdsfid="248" p=""></f[i]<<">cout<<endl;< bdsfid="250" p=""></endl;<>cout<<"-----------------------------------"<<endl;<bdsfid="252" p=""></endl;<>cout<<"缺页次数是:"<<sum<<"缺页率是:"<<<=""></sum<<"缺页率是:"<实验结果:四、实验小结(包括问题和解决方法、心得体会、意见与建议等)通过本次实验,我对于页面调度算法有了更加深刻的认识。

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

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

软件设计报告( 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。

返回主界面,在命令窗口“Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1( )A+5*B=9 22 3532 70 10855 118 136A-B+I=4 10 178 41 7213 70 137A.*B=4 24 6048 225 468140 624 0A*B=192 228 84738 873 3061284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(‘待显示字符串’);(2)在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3)使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。

南邮计算机网络实验报告

南邮计算机网络实验报告
发送方的IP地址(Sender IP address):
192.168.65.254(192.168.65.254)
目标的MAC地址(Target MAC address:):
vmware_c0:00:01(00:50:50:c0:00:01)
目标的IP地址(Target IP address:):
在主机B中增加对A特定网络的路由项:
route add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 1
设置好,用ping命令测试主机AB之间连通性,如用特定网络效果是一样的,AB之间可以通信。
9、如果将主机AB的IP设在同一网络中,则不需要设置路由,并可以直接通信,这就是直接交付。本次试验中,我们试着用了一下这种方法。
Micro-St_09:8e:c2
(44:8a:5b:09:8e:c2)
第二行数据链路层:
Destination(目的地址):_Broadcast(ff:ff:ff:ff:ff:ff)_________(这是个MAC地址,这个MAC地址是一个广播地址,就是局域网中的所有计算机都会接收这个数据帧)Source(源地址):Micro-St_09:8e:c2(44:8a:5b:09:8e:c2)帧中封装的协议类型:ARP(0x0806)(这个是ARP协议的类型编号。)Trailer:是协议中填充的数据,为了保证帧最少有64字节。
实验总结
实验成绩
实验名称
实验三使用Wireshark工具抓取数据包并进行分析
实验目的
1、掌握Wireshark工具的安装和使用方法
2、理解TCP/IP协议栈中IP、TCP、UDP等协议的数据结构
3、掌握ICMP协议的类型和代码

南邮 软件工程-Unit_03-0_结构化分析和设计方法

南邮 软件工程-Unit_03-0_结构化分析和设计方法
6
结构化分析

数据流图:建立功能模型

问题提出
可行性研究


提供了功能建模机制也提供了信息流建模机制 是系统逻辑功能的图形表示,没有任何具体的物理元素 描绘了信息在软件中流动和被处理的情况 描绘“做什么”而不考虑“怎样做” 正方形(或立方体):表示数据的源点或终点 圆形(或圆角矩形):代表变换数据的处理 开口矩形(或两条平行横线):代表数据存储 箭头:表示数据流,即特定数据的流动方向
结构化编程
15
结构化分析

数据字典(Data Dictionary,DD)

问题提出
可行性研究
结构化分析
1) 数据流词条的描述 数据流名: 说明:简要介绍作用即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。
结构化设计

结构化编程

详细设计:模块内部的具体设计
28
结构化设计

问题提出

基本思想:自顶向下的模块化设计方法 描述方式:软件结构图 设计方法:(面向数据流的方法)

可行性研究
结构化分析

DFD映射 变换流→变换分析法 事务流→事务分析法
结构化设计
结构化编程
29
结构化设计

软件结构图
结构化分析和设计方法
王传栋 南京邮电大学计算机学院
传统视角的软件生命周期

问题定义 可行性研究 结构化分析 结构化设计 结构化的程序设计 测试 运行和维护
2
问题定义

任务:

问题提出

南京邮电大学Java实验分析报告三

南京邮电大学Java实验分析报告三

南京邮电大学Java实验报告三————————————————————————————————作者:————————————————————————————————日期:实验报告(2015/2016学年第一学期)课程名称JA V A语言程序设计实验名称流处理程序设计实验时间2015 年12 月25 日指导单位计算机学院软件工程系指导教师邓玉龙学生姓名李健琅班级学号B14070427 学院(系) 物联网专业网络工程实验报告实验名称流处理程序设计指导教师邓玉龙实验类型设计实验学时 2 实验时间2015-12-25 一、实验目的和任务要求学生能在学习和理解课堂学习内容中JA V A流编程理论的基础上,学习并逐步掌握JA V A流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。

二、实验环境(实验设备)PC微型计算机系统,Microsoft Windows操作系统,,SUN Java Development Kit开发工具包,NetBeans开发工具。

三、实验原理及内容(包括操作过程、结果分析等)实验内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。

实验源程序:(1)写入文本程序:import java.io.*;import java.util.Scanner;public class Write {public static void main(String args[]) {File f=new File("test.txt"); //创建文本文件对象FileWriter fw; //字符输出流对象Scanner in = new Scanner(System.in); //准备从键盘输入字符串System.out.print("请输入文本字符:"); //键盘输入提示String s = in.nextLine(); //从键盘输入文本字符串try{fw=new FileWriter(f); //创建字符输出流对象fw.write(s + "\n"); //写字符串到文件fw.close(); //关闭字符输出流System.out.println("写文本文件完毕");}catch (IOException e) {System.out.println("写文件错误!");}}}(2)读取文本程序:import java.io.*;import java.util.Scanner;public class Read {public static void main(String args[]){File f;FileReader fr; //字符/输入流对象BufferedReader br; //字符输入缓冲流Scanner in =new Scanner(System.in); //准备从键盘输入字符串System.out.print("请输入要读入的文件名:"); //键盘输入提示String s=in.nextLine(); //从键盘输入文件名try{f =new File(s); //创建文件对象fr =new FileReader(f); //创建字符输入流对象br =new BufferedReader(fr); //字符输入流接入到输入缓冲流String str; //变量s存放读入的文本行System.out.println("读出的文本文件为:");while(true){str=br.readLine(); //从文本文件读入一行if(str == null) break; //读入结束System.out.println(str); //输出显示读入的文本}fr.close();br.close();}catch (IOException e) {System.out.println("您所要读写的文件不存在!");//显示错误信息}}}实验结果:四、实验小结(包括问题和解决方法、心得体会等)通过本次实验,让我学会了用Java语言进行文本文件的读写,并且加强了自己对Java语言的运用编程能力,真正理解了关于流处理的一些知识内容。

南邮信息综合实验报告-实验三

南邮信息综合实验报告-实验三

通信与信息工程学院2016/2017学年第一学期信息技术综合实验报告专业广播电视工程学生班级B130114学生学号B13011413学生姓名陈超实验一电视节目制作一、实验目的学习非线性编辑系统的操作使用,掌握非线性系统节目编辑流程,熟悉编辑软件的功能及应用。

了解大洋资源管理器主要功能,掌握故事板文件和项目文件的创建,掌握素材的选中,素材的排序、复制、粘贴、删除、移动、导入、导出,以及素材创建的基本方法。

二、实验内容1、素材的导入和管理及采集(1)练习在项目窗口中导入素材文件;(2)熟悉素材的管理;(3)熟悉素材的采集方法。

2、编辑影片(1)练习在“时间线”窗口中添加、删除素材的方法;(2)练习在“时间线”窗口中处理素材的方法。

三、实验步骤打开premiere软件,新建项目“1316”。

1、制作倒计时片头新建一个序列,在视频轨道内添加五个数字的字幕,将每个数字时间设置为1秒,从5到1倒序排放。

新建字幕,设计背景。

新添时钟式擦除的效果,设置时间为5秒。

2、插入图片或视频作为内容点击“文件”、“导入”,将节目素材导入Premiere软件,从项目面板中拉出节目素材,使用对齐功能紧贴在倒计时之后。

3、制作字幕新建一个字幕。

设置为滚动播放,选择开始于屏幕外,结束于屏幕外。

新添文本框,输入标题“28-304”与正文部分“B130111413”、“B13011416”的文字。

效果如下图。

四、实验小结通过此次实验,我们学会了如何使用Premeire软件制作视频,重点掌握了包括开头倒计时、视频图像等素材插入以及结尾字幕等基本操作;在动手制作简短视频的同时,也极大地激发起对于对非线性系统节目编辑的兴趣与实践能力。

实验二 TS码流离线分析一、实验目的在了解MPEG-2 TS码流复用原理之后,利用码流分析软件观察实际MPEG-2码流结构。

二、实验内容利用码流分析软件观察实际MPEG-2码流结构,查看码流的SI信息、PID分配使用情况、带宽使用情况及特定PID包数据。

软件工程形考三实验

软件工程形考三实验

软件工程形考三实验实验目的本实验旨在通过设计和实现一个软件项目,加深对软件工程理论和实践的应用,提高软件项目设计与开发的能力。

实验内容1. 确定软件项目的需求和目标,并进行需求分析和概要设计。

2. 根据需求和设计编写代码,完成软件项目的详细设计与实现。

3. 进行软件项目的测试,修复bug并进行性能优化。

4. 完成软件项目的文档撰写,包括实验报告和用户手册等。

实验步骤需求分析与概要设计,根据软件项目的需求,进行需求分析与概要设计。

对于此次实验,我们假设软件项目是一个在线购物系统,具备以下功能:用户注册与登录商品浏览与搜索购物车管理订单管理支付与配送在需求分析阶段,分析每个功能的详细需求和用户交互流程,并进行概要设计,确定系统的整体架构和各个模块的关系与功能。

详细设计与实现根据概要设计的结果,进行详细设计与编码实现。

在这个阶段,需要确定每个功能的具体实现方式,设计数据库、界面和业务逻辑等。

在编码实现过程中,要注意编码规范、模块化设计和代码可重用性。

测试与优化完成软件项目的实现后,进行测试。

测试需要分别对每个功能进行单元测试和整体集成测试,发现bug并进行修复。

对软件的性能进行评估,进行性能优化,保证系统能够稳定可靠地运行。

文档撰写,完成软件项目的文档撰写工作。

包括实验报告、用户手册和技术文档等。

实验报告应包括需求分析、详细设计、实现过程和测试结果等内容,用户手册应该详细说明软件的功能和使用方法,技术文档则对系统的架构和实现进行详细说明。

实验通过本次实验,我们深入理解了软件工程的理论和实践,掌握了软件项目的设计与开发流程。

在实践中,我们遇到了各种问题和挑战,但通过团队合作和不断学习,最终成功完成了软件项目的开发。

尽管还有很多不足和改进的地方,但这次实验对我们的软件工程能力提升有着极大的帮助。

参考资料1. 软件工程导论,张海藩,高教出版社2. 软件项目管理实践,曹健,电子工业出版社。

软件工程形考三实验

软件工程形考三实验

软件工程形考三实验软件工程形考三实验实验背景软件工程是现代软件开发过程中的一门重要学科,其涉及到软件的设计、开发、测试、维护等方面。

为了全面了解和掌握软件工程的基本知识和技能,培养学生的软件开发能力,软件工程面向对象课程通常会设置一系列实验。

实验目的本次实验旨在帮助学生理解软件工程的基本理论和实践技能,在实际项目中应用所学的知识,通过团队合作完成一个小型软件项目。

实验要求实验要求学生以小组为单位,完成一个小型软件项目,项目的主题和功能要求由教师提供。

每个小组需要按照软件工程的规范进行需求分析、设计、编码、测试等工作,并提交相应的文档和代码。

实验步骤1. 需求分析根据教师提供的项目主题和功能要求,小组成员需要分析用户需求,明确软件的功能需求和非功能需求,并将其记录在需求分析文档中。

在需求分析过程中,需要与教师和用户充分沟通,确保对需求的理解准确。

2. 系统设计在系统设计阶段,小组成员需要根据需求分析结果,设计软件的体系结构、模块划分和接口设计。

可以使用UML图等工具进行系统设计,将设计结果记录在系统设计文档中。

3. 编码实现根据系统设计文档,小组成员需要编写代码实现软件的各个功能模块。

在编码过程中,需要遵循编码规范,保持代码的可读性和可维护性。

4. 单元测试在完成代码编写后,小组成员需要进行单元测试,验证代码的正确性。

可以使用单元测试框架进行测试,并记录测试结果和测试覆盖率等指标。

5. 系统测试在整个软件开发过程完成后,小组成员需要对整个系统进行测试。

可以进行功能测试、性能测试、压力测试等,确保软件能够满足用户的需求。

测试结果需要记录在系统测试文档中。

6. 文档编写在以上各阶段完成后,小组成员需要根据实际开发情况撰写相应的文档,包括需求分析文档、系统设计文档、单元测试文档、系统测试文档等。

文档需要按照Markdown格式编写,以方便阅读和分享。

实验评估本次实验将根据小组提交的文档和代码进行评估。

评估的主要内容包括需求分析的完整性、系统设计的合理性、代码的规范性、测试结果的准确性等。

南邮软件工程报告

南邮软件工程报告

实验报告课程名:软件工程与数据库概论任课教师:胥备专业:信息工程学号:14130130姓名:马一鸣二○一六至二○一七年度第 2 学期南京邮电大学通达学院实验报告一实验名称:SQL语言的应用指导教师:胥备实验类型:验证实验学时:4*2实验时间:2017.4.18一、实验目的和要求1、练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器;2、掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。

二、实验环境(实验设备)硬件:个人计算机;软件:MS SQL SERVER环境。

三、实验原理及内容1.创建实验数据库数据库名称:M14130112;操作步骤:Create DataBase M14130112;2.打开刚刚创建的数据库操作步骤:Use M141301123.在查询分析器中要完成的实验内容1.建立如下表,并插入数据:说明:应为表建立主键、其他完整性约束可自己添加;表中数据也可以自己设计课程课use M14130112;create table s(sno char(20) not null unique,sname char(20),age int,sex char(1),primary key(sno));create table c(cno char(20),cname char(20),chour int,credit int,ctype char(20),primary key(cno));create table sc(sno char(20),cno char(20) ,grade int,primary key(sno,cno),foreign key(sno) references s(sno),foreign key(cno) references c(cno));insert into s values('S1','WANG',20,'M');insert into s values('S2','LIU',19,'F');insert into s values('S3','CHEN',22,'M');insert into s values('S4','WU',19,'M');insert into s values('S5','LI',21,'F');insert into c values('C2','MATHS',64,4,'基础'); insert into c values('C4','PHYSICS',48,3,'基础'); insert into c values('C3','C',32,2,'专业基础'); insert into c values('C1','DB',48,3,'专业'); insert into c values('C5','OS',32,2,'专业'); insert into sc values('S1','C2',89);insert into sc values('S2','C1',70);insert into sc values('S3','C2',NULL);insert into sc values('S1','C5',80);insert into sc values('S4','C3',NULL);insert into sc values('S5','C4',78);insert into sc values('S2','C4',79);2.对以上数据完成以下功能:(1)把基础课的学分提高1学分,学时提高8学时;update cset credit=credit+1,chour=chour+8where ctype='基础';(2)把MATH课的非空成绩提高10%;update scset grade=grade *1.1where grade is not null and o in(select cno from c where cname ='MATHS');(3)当所有学生不选修PHYSICS课程时,删除相应数据;delete from c where cname='PHYSICS' and cno not in(select cno from sc) ;(4)LIU同学因病退学,删除相应数据。

南邮软件工程课程设计实验报告-教务管理系统

南邮软件工程课程设计实验报告-教务管理系统

南京邮电大学实验报告课程名称:软件工程课题名称教务系统课程设计专业:广播电视工程学生姓名:陈超班级学号:B13011413指导教师:范山岗日期:2015 年12 月25 日实验面象对象软件设计一、实验目的用面象对象方法设计实用软件,掌握需求分析方法,掌握掌握UML设计方法。

二、实验性质验证、设计实验。

三、实验要求1、选定题目编写需求分析说明2、学习Rational Rose环境3、学习通过Rational Rose绘制各类框图的方法。

四、环境简介1、 Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。

见图1-1。

图1-1:Rose界面浏览器:用于在模型中迅速漫游。

文档工具:用于查看或更新模型元素的文档。

工具栏:用于迅速访问常用命令。

框图窗口:用于显示和编辑一个或几个UML框图。

日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。

在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等。

浏览器中包含四个视图:Use Case 视图、Logical视图、Component视图和Deployment视图。

点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。

1.3框图窗口在框图窗口中,我们可以浏览模型中的一个或几个UML框图。

改变框图中的元素时,Rose自动更新浏览器。

同样用浏览器改变元素时,Rose自动更新相应框图。

这样,Rose就可以保证模型的一致性。

五、实验步骤1、编写需求分析说明书对系统需求进行初步的整理与分析,是后续建模和设计工作的基础。

需求分析说明书详情请见附录。

2、用UML语言对系统进行分析与建模(OOA)2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。

用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。

南邮数据结构实验报告

南邮数据结构实验报告

南邮数据结构实验报告实验目的,通过本次实验,我们旨在加深对数据结构的理解,掌握数据结构的基本操作和算法设计能力,提高对数据结构的应用能力和实际问题的解决能力。

一、实验内容。

1. 实验一,线性表的基本操作。

本次实验中,我们首先学习了线性表的基本概念和操作,包括插入、删除、查找等操作,并通过实际编程操作来加深对线性表的理解。

2. 实验二,栈和队列的应用。

在实验二中,我们通过实际编程操作来学习栈和队列的应用,包括中缀表达式转换为后缀表达式、栈的应用、队列的应用等内容。

3. 实验三,树和二叉树的基本操作。

实验三中,我们学习了树和二叉树的基本概念和操作,包括树的遍历、二叉树的建立和遍历等内容,并通过实际编程操作来加深对树和二叉树的理解。

4. 实验四,图的基本操作。

最后,我们学习了图的基本概念和操作,包括图的存储结构、图的遍历等内容,并通过实际编程操作来加深对图的理解。

二、实验过程。

在实验过程中,我们首先对实验内容进行了深入的学习和理解,掌握了数据结构的基本概念和操作方法。

然后,我们通过实际编程操作来加深对数据结构的理解,并通过调试和修改程序来提高对数据结构的应用能力和实际问题的解决能力。

在实验过程中,我们遇到了一些问题,但通过不懈的努力和团队合作,最终顺利完成了实验任务。

三、实验结果与分析。

通过本次实验,我们深入理解了数据结构的基本概念和操作方法,掌握了线性表、栈、队列、树、二叉树和图的基本操作,并通过实际编程操作加深了对数据结构的理解。

同时,我们也提高了对数据结构的应用能力和实际问题的解决能力,为今后的学习和工作打下了坚实的基础。

四、实验总结。

通过本次实验,我们不仅加深了对数据结构的理解,还提高了对数据结构的应用能力和实际问题的解决能力。

在今后的学习和工作中,我们将继续努力,不断提升自己的专业能力,为将来的发展打下坚实的基础。

以上就是本次实验的报告内容,谢谢!。

南邮软件工程实验三_自动化测试

南邮软件工程实验三_自动化测试
将脚本保存为test.py
打开一个cmd,cd到test.php所在的目录,执行python test.py命令,即自动进行登陆的测试。
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
要做好自动化测试,要大胆地尝试,学会在网上搜索各种相关的资料,并且善于总结。通常比较先进的东西,网上的资料都不多。
defsetUp(self):
#初始化测试平台
desired_caps={}
desired_caps['device'] ='android'
desired_caps['platformName']='Android' #测试平台
desired_caps['browserName']=''
desired_caps['version']='4.2.2'#系统版本
fromlib2to3.tests.supportimportdriver
#设置路径信息
PATH=lambdap:os.path.abspath(
os.path.join(os.path.dirname(__file__),p)
)
globaldriver
classLoginAndroidTests(unittest.TestCase):
二、打开安卓模拟器
打开安卓模拟器,安装一个yy语音的app。
二、编写自动化测试脚本python语言
#-*- coding: UTF-8 -*-
#导入常用的包
importos
importtime
importunittest
fromseleniumimportwebdriver

南京邮电大学离散数学_实验三求主析取及主合取范式

南京邮电大学离散数学_实验三求主析取及主合取范式
printf("盖住关系为:");
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
if(A[j]%A[i]==0)
{
for(k=i+1;k<j;k++)
if(A[k]%A[i]==0&&A[j]%A[k]==0)
count++;
if(!count)
printf("<%d,%d>,",A[i],A[j]);
实实验报告20152016学年第一学期课程名称离散数学实验名称偏序关系中盖住关系的求取以及格论中有补格的判定实验时间2015年12月1日指导单位计算机科学与技术系指导教师罗卫兰学生姓名张清浩班级学号b14040922学院系计算机学院软件学院专业软件工程实实验报告实验名称偏序关系中盖住关系的求取以及格论中有补格的判定指导教师罗卫兰实验类型实验学时4实验时间12月1日一实验目的和要求输入一整数根据它所有的因子在偏序关系为整除关系的前提下求出盖住关系以及有补格的判断
指导教师
罗卫兰
实验类型
实验学时
4
实验时间
12月1日
一、实验目的和要求
输入一整数,根据它所有的因子,在偏序关系为整除关系的前提下,求出盖住关系,以及有补格的判断。
二、实验环境(实验设备)
三、实验原理及内容
#include<stdio.h>
int A[20]={0};
int N=0;
void yinzi(int m)
}
count=0;
}
putchar('\n');

南邮软件工程报告

南邮软件工程报告

实验报告课程名:软件工程与数据库概论任课教师:胥备专业:信息工程学号:姓名:马一鸣二○一六至二○一七年度第 2 学期南京邮电大学通达学院实验报告一实验名称:SQL语言的应用指导教师:胥备实验类型:验证实验学时:4*2实验时间:一、实验目的和要求1、练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器;2、掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。

二、实验环境(实验设备)硬件:个人计算机;软件:MS SQL SERVER环境。

三、实验原理及内容1.创建实验数据库数据库名称:M;操作步骤:Create DataBase M;2.打开刚刚创建的数据库操作步骤:Use M3.在查询分析器中要完成的实验内容1.建立如下表,并插入数据:说明:应为表建立主键、其他完整性约束可自己添加;表中数据也可以自己设计课程create table s(sno char(20) not null unique,sname char(20),age int,sex char(1),primary key(sno));create table c(cno char(20),cname char(20),chour int,credit int,ctype char(20),primary key(cno));create table sc(sno char(20),cno char(20) ,grade int,primary key(sno,cno),foreign key(sno) references s(sno),foreign key(cno) references c(cno));insert into s values('S1','WANG',20,'M');insert into s values('S2','LIU',19,'F');insert into s values('S3','CHEN',22,'M');insert into s values('S4','WU',19,'M');insert into s values('S5','LI',21,'F');insert into c values('C2','MATHS',64,4,'基础');insert into c values('C4','PHYSICS',48,3,'基础'); insert into c values('C3','C',32,2,'专业基础');insert into c values('C1','DB',48,3,'专业');insert into c values('C5','OS',32,2,'专业');insert into sc values('S1','C2',89);insert into sc values('S2','C1',70);insert into sc values('S3','C2',NULL);insert into sc values('S1','C5',80);insert into sc values('S4','C3',NULL);insert into sc values('S5','C4',78);insert into sc values('S2','C4',79);2.对以上数据完成以下功能:(1)把基础课的学分提高1学分,学时提高8学时;update cset credit=credit+1,chour=chour+8where ctype='基础';(2)把MATH课的非空成绩提高10%;update scset grade=grade *1.1where grade is not null and o in(select cno from c where cname ='MATHS');(3)当所有学生不选修PHYSICS课程时,删除相应数据;delete from c where cname='PHYSICS' and cno not in (select cno from sc) ;(4) LIU同学因病退学,删除相应数据。

南邮大数据编程实训报告

南邮大数据编程实训报告

一、实训背景随着信息技术的飞速发展,大数据已成为国家战略资源。

为了培养适应时代需求的大数据技术人才,南京邮电大学(以下简称“南邮”)开设了大数据编程实训课程。

本次实训旨在通过实践操作,使学生掌握大数据技术的基本原理和编程技能,提高解决实际问题的能力。

二、实训目标1. 理解大数据的基本概念、技术架构和发展趋势。

2. 掌握Hadoop、Spark等大数据处理框架的使用方法。

3. 熟悉大数据编程语言,如Java、Scala等。

4. 能够运用大数据技术解决实际问题,提高编程能力。

三、实训内容本次实训主要分为以下几个部分:1. 大数据概述- 学习大数据的基本概念、技术架构和发展趋势。

- 了解大数据在各个领域的应用。

2. Hadoop生态圈- 学习Hadoop分布式文件系统(HDFS)的基本原理和使用方法。

- 掌握Hadoop MapReduce编程模型,实现数据的分布式处理。

- 熟悉Hadoop生态圈中的其他组件,如Hive、HBase、YARN等。

3. Spark编程- 学习Spark的基本原理和使用方法。

- 掌握Spark的核心编程模型,如Spark SQL、Spark Streaming等。

- 实践Spark与Hadoop生态圈的整合。

4. 数据挖掘与分析- 学习数据挖掘的基本方法,如聚类、分类、关联规则等。

- 掌握数据可视化工具,如ECharts、D3.js等。

- 实现数据挖掘与分析项目。

5. 项目实践- 根据实际需求,选择合适的大数据技术栈,完成项目实践。

- 项目实践包括需求分析、设计、开发、测试、部署等环节。

四、实训过程1. 阶段一:理论学习- 通过课堂讲授、自学等方式,掌握大数据相关理论知识。

2. 阶段二:实验操作- 在实验室内,按照实训指导书的要求,进行实验操作。

- 针对实验过程中遇到的问题,与同学和老师进行讨论。

3. 阶段三:项目实践- 根据项目需求,选择合适的大数据技术栈。

- 在老师的指导下,完成项目实践。

南京邮电大学软件工程实验报告

南京邮电大学软件工程实验报告

AU痒慮£并实验报告(2015 / 2016 学年第二学期)课程名称软件开发技术基础学生班级学号实验报告一、实验目的和要求1. 综合运用所学的软件开发方法,用结构化、面向对象的建模工具对给定需求2. 分析其中的数据存储需求,进行数据库的设计与实现。

3. 进行功能分析与总体设计,构建系统的分析模型,书写主要文档。

、实验环境(实验设备)硬件:微机软件:Ofice,UML等三、实验原理及容1、理解需求进行数据建模1)绘制概念模型ER图。

2)将第1步得到的ER模型,转换为DB的关系模型。

STUDENTSNQ SNAMJESEX CLASS_NO,DEPARTMENT_NOCOURSE (CNO, CNAME, CREDIT, CREDIT_HOUR, CPNO, TNO) TEACHER (TNO, TNAME, TITLE, SEX)SC (SNO, CNO, GRADE)ADMIN (ANO, ANAME, SEX)2、对需求进行用例建模1)绘制系统的用例图。

2)特殊用例,要进行用例详述3、对数据进行DFD建模建模中分别以系统角色学生、教师和教务员绘制分层DFD图顶层数据流图:学生管理系统一层数据流图:学性绽计信息字生信岂ir爭主佢一見睬毘信息空空克体澹■«r(管理鞍俺J 选猱侶履遷谋统it心b-__________涅锂丟“;三匸若咗基丰诗玮學生取盘管理学生模块数据流图: 管理学生模块数据流图:选课管理与成绩管理模块数据流图:邈傑倍息M三金扌二三一•学兰或強逐计信息----- ►或我咎息4、在第3步骤的基础上,绘制系统的体系结构图:5、绘制系统的对象模型,完成:1) “类图”,可以针对不同的业务场景分别绘制;在学生选课情况下,各个类之间的关系如下图所示:2) 特殊的业务类,根据需要绘制“状态图” 教师录入成绩的状态图如下图所示:披嘶勒毘文歎务处/ I J 够生—*■+i或3)特殊的业务场景,根据需要绘制“顺序图”教师成绩管理顺序图如下:T四、实验小结本次实验设计了整个系统的运作过程及各个细节。

南邮软件工程实验三

南邮软件工程实验三
book2=new Book("The Gate",11.99);
}
protected void tearDown() throws Exception {
super.tearDown();
book1=null;
book2=null;
}
public void testEqualsObject(){
assertFalse(book2.equals(book1));
protected long lborderB=0;
protected long lborderC=0;
//构造函数
public tttt(long lborderA, long lborderB, long lborderC) {
this.lborderA = lborderA;
this.lborderB = lborderB;
isTriangle=true;
}
}
return isTriangle;
}
/**
*判断三角形类型
*只有两条边相等的三角形返回字符串“等腰三角形”;
*三边均相等的三角形返回字符串“等边三角形”
*三边均不等的三角形返回字符串“不等边三角形”
*
*/
public static String getType(tttt triangle){
String strType="不是三角形";
//判断是否是三角形
if(isTriangle(triangle)){
//判断是否是等边三角形
if(triangle.lborderA==triangle.lborderB
&&triangle.lborderA==triangle.lborderC

实验三 软件工程项目计划

实验三 软件工程项目计划

实验三软件项目计划1、实验目的要求和注意事项目的要求:各小组确定所做课题后根据课程时间要求及课题内容要求完成项目计划,形成项目进度表。

2、实验主要内容1)确定小组课题,明确课程任务2)对选定的课题进行可行性分析2)根据课程时间安排,确定小组进度3)根据小组成员情况进行任务分配,明确系统资源4)利用CASE工具实现项目计划3、实验仪器设备微机:每人一台;4、实验步骤1)开小组会议2)讨论并确定小组课题3)根据课题要求分配任务4)根据前期调研进行可行性分析5)安排工作进度6)利用工具实现项目进度表、甘特图及资料分配表7)形成项目计划5、项目计划参考样例可行性分析(研究)报告(FAR)说明:l.《可行性分析(研究)报告》(FAR)是项目初期策划的结果,它分析了项目的要求、目标和环境;提出了几种可供选择的方案;并从技术、经济和法律各方面进行了可行性分析。

可作为项目决策的依据。

2.FAR也可以作为项目建议书、投标书等文件的基础。

可行性分析报告的正文格式如下:1 引言本章分为以下几条。

1.1标识本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号和发行号。

1.2背景说明项目在什么条件下提出,提出者的要求、目标、实现环境和限制条件。

1.3项目概述本条应简述本文档适用的项目和软件的用途,它应描述项目和软件的一般特性;概述项目开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;列出其他有关的文档。

1.4文档概述本条应概述本文档的用途和内容,并描述与其使用有关的保密性和私密性的要求。

2引用文件本章应列出本文档引用的所有文档的编号、标题、修订版本和日期,本章也应标识不能通过正常的供货渠道获得的所有文档的来源。

3可行性分析的前提3.1项目的要求3.2项目的目标3.3项目的环境、条件、假定和限制3.4进行可行性分析的方法4可选的方案4.1 原有方案的优缺点、局限性及存在的问题4.2可重用的系统,与要求之间的差距4.3可选择的系统方案14.4可选择的系统方案24.5选择最终方案的准则5所建议的系统5.1对所建议的系统的说明5.2数据流程和处理流程5.3与原系统的比较(若有原系统)5.4影响(或要求)5.4.1设备5.4.2软件5.4.3运行5.4.4开发5.4.5环境5.4.6经费5.5局限性6经济可行性(成本----效益分析)6.1投资包括基本建设投资(如开发环境、设备、软件和资料等),其他一次性和非一次性投资(如技术管理费、培训费、管理费、人员工资、奖金和差旅费等)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
){
strType="不等边三角形";
}
//三角形既非三边全部相等,又非全部不等,只能是部分相等即等腰三角形
else{
strType="等腰三角形";
}
}
return strType;
}
}
package .njupt;
import junit.framework.TestCase;
public class aaaa extends TestCase {
String strType="不是三角形";
//判断是否是三角形
iHale Waihona Puke (isTriangle(triangle)){
//判断是否是等边三角形
if(triangle.lborderA==triangle.lborderB
&&triangle.lborderA==triangle.lborderC
&&triangle.lborderB==triangle.lborderC
private Book book1;
private Book book2;
public BookTest(String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
book1=new Book("ES",12.99);
){
strType="等边三角形";
}
//判断是否是不等边三角形
else if(triangle.lborderA!=triangle.lborderB
&&triangle.lborderA!=triangle.lborderC
&&triangle.lborderB!=triangle.lborderC
isTriangle=true;
}
}
return isTriangle;
}
/**
*判断三角形类型
*只有两条边相等的三角形返回字符串“等腰三角形”;
*三边均相等的三角形返回字符串“等边三角形”
*三边均不等的三角形返回字符串“不等边三角形”
*
*/
public static String getType(tttt triangle){
}
protected void tearDown() throws Exception {
super.tearDown();
t1=null;
t2=null;
}
public void testGetType() {
assertFalse(t1.isTriangle(t1));
assertTrue(t2.isTriangle(t2));
book2=new Book("The Gate",11.99);
}
protected void tearDown() throws Exception {
super.tearDown();
book1=null;
book2=null;
}
public void testEqualsObject(){
assertFalse(book2.equals(book1));
实验报告
(2015/2016学年第一学期)
课程名称
软件工程(双语)
实验名称
Software Unit Test
实验时间
2015

12

10

指导单位
计算机学院软件工程系
指导教师
陈云芳
学生姓名
钱颖
班级学号
B13040906
学院(系)
计算机学院
专业
软件工程
实验报告
实验名称
Software Unit Test
) {
//判断两边之和大于第三边
if((triangle.lborderA<(triangle.lborderB+triangle.lborderC))
&&(triangle.lborderB<(triangle.lborderA+triangle.lborderC))
&&(triangle.lborderC<(triangle.lborderA+triangle.lborderB))){
private tttt t1,t2;
public aaaa(String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
t1=new tttt(1,2,4);
t2=new tttt(3,4,5);
五、指导教师评语
成绩
批阅人
日期
this.lborderC = lborderC;
}
/**
*判断是否是三角形
*是返回true,不是返回false
*/
public static boolean isTriangle(tttt triangle){
boolean isTriangle=false;
//判断边界,大于0小于0或等于Long.MAX_VALUE,出界返回false
this.title=title;
}
}
补充任务:为Triangle类编写测试用例。
实验代码:
package .njupt;
/**
* This is Triangle class
*
*/
public class tttt {
//定义三角形的三边
protected long lborderA=0;
指导教师
陈云芳
实验类型
验证
实验学时
2
实验时间
2015.12.10
一、实验目的和要求
实验目的:对JAVA单元测试有初步了解,学会使用Junit编写自己的测试用例,并对被测试类进行测试。
二、实验环境(实验设备)
Eclipse
三、实验原理及内容
实验内容:
1.阅读理解Junit的工作机制。
2.eclipse环境下的单元测试。
}
return false;
}
public double getPrice(){
return price;
}
public void setPrice(double price){
this.price=price;
}
public String getTitle(){
return title;
}
public void setTitle(String title){
protected long lborderB=0;
protected long lborderC=0;
//构造函数
public tttt(long lborderA, long lborderB, long lborderC) {
this.lborderA = lborderA;
this.lborderB = lborderB;
}
}
实验截图:
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过这次实验,我对JUnit有了更深的了解。它是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确。Junit测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的。Junit单元测试主要是来测试程序的结果和自己期望的值是否相等,测试类要继承TestCast类,而TestCast类又继承于Assert类。这次实验让我对代码的又有了更深的理解,收益匪浅。
assertTrue(book1.equals(book1));
}
}
package .njupt;
public class Book {
private String title;
private double price;
publicBook(String title,double price){
3.利用Junit编写测试用例,并对被测试类进行相关功能测试。
A)验证Book类的equals方法。
B)设计Triangle类的测试用例,并进行测试。
实验截图:
实验报告
实验代码:
package .njupt;
import junit.framework.TestCase;
public class BookTest extends TestCase {
this.title=title;
this.price=price;
}
public boolean equals(Object object){
if(object instanceof Book){
Book book=(Book)object;
return getTitle().equals(book.getTitle())&&getPrice()==book.getPrice();
if ((triangle.lborderA>0&&triangle.lborderA<=Long.MAX_VALUE/2)
&&(triangle.lborderB>0&&triangle.lborderB<=Long.MAX_VALUE/2)
相关文档
最新文档