武汉理工大学软件开发工具实验报告

合集下载

《软件开发工具》图像处理与绘图实验报告

《软件开发工具》图像处理与绘图实验报告

《软件开发工具》图像处理与绘图实验报告一、实验目的:1. 掌握基本的图像处理方法;2. 掌握基本的绘图方法。

3. 掌握PIL库、numpy库、matplotlib.pyplot库的基本函数和操作。

二、实验内容:1.打开一幅图片,给图片中随机的添加一些椒盐噪声,显示并保存图片。

2. 选择一幅自己的帅照,将其转换为灰度图后,对其进行二值化。

3.绘制正弦曲线图,要求x轴取值在0到4π之间,以π/2为单位进行显示,图题为“正弦曲线”。

4.自定义规律绘制,绘制你感兴趣的一个数学或物理规律。

三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)1.from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltdef jiaoyan(m,n,img):for i in range(10000):x=np.random.randint(0,m)y=np.random.randint(0,n)img[x,y,:]=255return imgdef main():img=np.array(Image.open('a2.jpg'))m,n,p=img.shapea=jiaoyan(m,n,img)plt.imshow(a)plt.axis('off')plt.show()main()main()运行截图:原图椒盐噪声图2. 源码:from PIL import Imageimg=Image.open('a1.jpg')Limg=img.convert('L')Limg.save('b1.png')b=img.convert('1')b.save('b2.png')运行截图:原图灰度图二值化图3.源码:import numpy as npimport matplotlib.pyplot as pltx=np.arange(0,4*np.pi,0.1)y=np.sin(x)plt.title("正弦曲线")plt.plot(x,y,'k',color='r',linewidth=3,linestyle='-')plt.xticks([0,np.pi/2,np.pi,np.pi*3/2,np.pi*2,np.pi*5/2,np.pi*3,np.pi*7/2,4 *np.pi],[0,r'$\pi/2$',r'$\pi$',r'$3\pi/2$',r'$2\pi$',r'$5\pi/2$',r'$3\pi$',r'$7 \pi/2$',r'$4\pi$'])plt.show()运行截图:正弦曲线4.代码:import numpy as npimport matplotlib.pyplot as pltx=np.arange(0,4*np.pi,0.1)y=np.sin(x)*np.cos(x)plt.title("sin(x)与cos(x)相乘曲线")plt.plot(x,y,'k',color='r',linewidth=3,linestyle='-')plt.xticks([0,np.pi/2,np.pi,np.pi*3/2,np.pi*2,np.pi*5/2,np.pi*3,np.pi*7/2,4 *np.pi],[0,r'$\pi/2$',r'$\pi$',r'$3\pi/2$',r'$2\pi$',r'$5\pi/2$',r'$3\pi$',r'$7 \pi/2$',r'$4\pi$'])plt.show()运行截图:四、实验总结:(实验中遇到的问题及解决方法,心得体会等)问题:(1)Python中进行数字图像处理导入的包理解不清;(2)对代码的运行理解不够清楚;解决方法:(1)向老师请教与同学交流;(2)上网查询相关资料;心得体会:灰度图像和彩色图像的矩阵形式是不同的。

武汉理工大学软件开发工具实验报告

武汉理工大学软件开发工具实验报告

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称软件开发工具开课学院计算机科学与技术学院指导老师姓名张能立学生姓名学生专业班级2014— 2015学年第1学期实验课程名称:软件工具与环境实验项目名称Eclipse平台及程序调试技术实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)1、掌握Eclispe平台的工作台(Workbench)、透视图(Perspectives)、视图(Views)、首选项(Preferences)概念。

2、掌握透视图切换的方法。

3、编写一个简单的Java程序,并能正确运行4、掌握设置断点及调试跟踪程序的方法。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)具体内容:1、启动Eclispe,在Java透视图、Java Debug透视图、MyEclipse Database Explorer透视图以及MyEclipse Java Enterprise透视图之间来回切换,与同学或老师讨论一下这些透视图的作用。

2、编写一个在控制台输出“Hello World!”的程序和一个在控制台输出1+2+3+…+100之和的程序。

3、设置断点,调试1+2+3+…+100之和这个程序,观察循环自变量和求和变量值的变化。

public class HelloWorld {public static void main(String[] args){System.out.println("HelloWorld");}}public class Sum_while {public static void main(String[] args){// TODO Auto-generated method stubint i = 1, n = 100, sum = 0;while(i<n){sum += i;i++;}System.out.println("i="+i);System.out.println("Sum="+sum);}}三、主要仪器设备及耗材PC机,Eclipse开发工具第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)调试正常。

软件开发工具实习报告

软件开发工具实习报告

软件开发工具实习报告一、实习背景和目的作为一名计算机科学专业的学生,我深知软件开发工具在实际开发过程中的重要性。

为了更好地了解和掌握软件开发工具的使用,提高自己的实际动手能力,我参加了为期一个月的软件开发工具实习。

本次实习的主要目的是学习并掌握常用的软件开发工具,如Eclipse、Git、SVN等,了解软件开发流程,提高团队合作能力。

二、实习内容和过程1. Eclipse的使用在实习的第一周,我们主要学习了Eclipse这款集成开发环境(IDE)的使用。

通过实习,我熟练掌握了Eclipse的基本操作,如创建项目、配置环境、编写代码、调试程序等。

同时,我还学会了使用Eclipse插件,以扩展Eclipse的功能,提高开发效率。

2. Git的使用实习的第二周,我们学习了Git这款分布式版本控制工具。

我了解了Git的安装和配置,熟悉了Git的常用命令,如clone、branch、commit、push等。

通过实习,我掌握了如何使用Git进行团队协作开发,解决了代码冲突,并学会了使用GitHub进行代码托管和分享。

3. SVN的使用在实习的第三周,我们学习了SVN(Subversion)这款集中式版本控制工具。

我了解了SVN的安装和配置,熟悉了SVN的常用命令,如checkout、update、commit、revert等。

通过实习,我掌握了如何使用SVN进行团队协作开发,解决了代码冲突,并学会了使用SVN服务器进行代码托管。

4. 软件开发流程实习的第四周,我们学习了软件开发的基本流程,包括需求分析、设计、编码、测试、部署等。

我了解了各个阶段的任务和注意事项,掌握了如何使用软件开发工具进行项目管理。

此外,我还学会了编写技术文档,如需求文档、设计文档、测试报告等。

三、实习收获和反思通过本次实习,我受益匪浅。

首先,我熟练掌握了Eclipse、Git、SVN等软件开发工具的使用,提高了自己的实际动手能力。

其次,我了解了软件开发流程,为以后的工作打下了基础。

软件开发工具实验报告

软件开发工具实验报告

一、实验目的1. 了解并掌握常用的软件开发工具的功能和使用方法。

2. 培养学生在实际项目中运用软件开发工具的能力。

3. 提高学生的团队协作和项目管理水平。

二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#4. 数据库:MySQL三、实验内容1. 创建项目(1)打开Visual Studio 2019,创建一个新的C# Windows Forms Application 项目。

(2)在项目中添加一个新的窗体(Form),命名为“MainForm”。

2. 设计界面(1)在MainForm上添加必要的控件,如Label、TextBox、Button等。

(2)设置控件的属性,如大小、位置、字体等。

3. 编写代码(1)为Button控件添加点击事件处理函数。

(2)在事件处理函数中,实现以下功能:- 从TextBox中获取用户输入的数据。

- 将数据存储到MySQL数据库中。

- 显示成功或失败的消息。

4. 连接数据库(1)在项目中添加MySQL数据库驱动。

(2)配置数据库连接字符串,包括数据库名、用户名、密码等。

(3)在代码中创建数据库连接对象,并使用该对象执行SQL语句。

5. 部署项目(1)在Visual Studio中生成项目。

(2)将生成的可执行文件和数据库文件复制到目标机器上。

(3)在目标机器上运行可执行文件,访问数据库。

四、实验结果与分析1. 实验结果通过以上步骤,成功创建了一个C# Windows Forms Application项目,实现了从界面输入数据、存储到数据库、显示成功或失败消息的功能。

2. 实验分析(1)通过使用Visual Studio 2019,提高了开发效率。

(2)熟悉了C#编程语言,掌握了Windows Forms界面设计。

(3)学会了使用MySQL数据库,实现了数据的存储和查询。

(4)提高了团队协作和项目管理能力。

软件开发工具课程设计报告图书馆管理系统的分析与设计

软件开发工具课程设计报告图书馆管理系统的分析与设计

武汉理工大学华夏学院课程设计报告2011 ~2012 学年第一学期教学单位信息工程系课程名称软件开发工具课程设计题目图书馆管理系统的分析与设计指导教师学生姓名专业班级【课程设计名称】图书馆管理系统的分析与设计【课程设计目的】1.掌握UML建模的基础知识和其应用;2.熟悉Rational Rose环境及功能,能够设计出完整系统。

【课程设计要求】1.对系统功能进行必要的描述;2.绘制系统的主要模型图;3.模型图要有说明性文字解释。

【课程设计内容】1.图书馆管理系统的需求分析;2.图书馆管理系统UML建模。

【课程设计步骤】1: 图书馆管理系统的需求分析图书馆的计算机信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,即将图书馆图书的常规业务,利用计算机技术,进行高效、准确的信息化管理。

其功能需求如下:(1)借阅者可以通过网络查询书籍信息和预定书籍;(2)借阅者能够借阅书籍和还书;(3)图书管理员能够处理借阅者的借阅和还书请求;(4)系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。

2.1系统用例图系统主要参与者包括:(1)借阅者(2)图书馆管理员(3)图书馆管理系统维护者(1)借阅者请求服务的用例图【用例图说明】1)Search for Book:书籍查询用例。

2)Reserve the book:书籍预订用例。

3)Logon the system:登录系统。

用户可以登录系统以便进行借阅信息查询以及预订书籍等操作。

4)Query Info:查询借阅信息。

5)Borrow the book:借阅书籍。

6)Return the book:归还书籍。

7)Return With Fine:还书时交纳罚金。

如果借阅者所借书籍超过借阅期限未还,还书的时候就要交纳一定的罚金。

(2)图书馆管理员处理借书,还书的用例图【用例图说明】1)Get book:书籍归还处理。

武汉理工大学嵌入式应用开发Android实验报告

武汉理工大学嵌入式应用开发Android实验报告

武汉理工大学学生实验报告书实验课程名称《嵌入式应用软件开发》开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级2014 —2015 学年第二学期实验课程名称:嵌入式应用开发第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)实验中出现的错误包括:1.环境变量配置错误。

2.ADT和SDK版本不一致。

3.Eclipse和ADT版本不一致等问题。

可以查看相应文档,查看环境变量该如何配置。

Eclipse和ADT版本的对应等。

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)这里给出实验过程中的一些截图:Figure1 Android Virtual Device Manager Figure2 SDK Manager三、实验小结、建议及体会这次实验让我学习了如何配置Android开发环境,如何使用Android Device Manager来创建模拟器。

同时,让我对Android有了一个简单的认识。

实验课程名称:嵌入式应用开发第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)在运行过程中,发现建立项目刚开始的时候出现错误,过一会儿又消失了,比如R文件中的错误,后来发现原来是这个时候R文件还没有生成,R文件有ADT自己生成,所以会慢一些,刚开始可能有错误。

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)这里给出我们程序的运行结果:三、实验小结、建议及体会这个实验让我对Android开发有了更深的理解,我通过运行Hello World这个例子,在屏幕上显示一个Hello world文本。

这让我体会到Android开发的一般步骤。

实验课程名称:嵌入式应用开发第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)我使用Eclipse的ADT插件创建一个Andriod项目,然后在其中选择合适的Api版本。

武汉理工Java实验报告(二)

武汉理工Java实验报告(二)

武汉理工Java实验报告(二)武汉理工大学学 生 实 验 报 告 书课 程 名 称 JAVA 语言程序设计 开 课 学 院 计算机科学与技术学院 指 导 老 师 学 生 姓 名 专 业 班 级学生学号实验课成绩2017 —2018 学年第一学期实验课程名称: JAVA语言程序设计实验项目名称类和对象实验成绩实验者专业班级组别同组者实验日期2017年10月2日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)1. 编写一个抽象的二维几何体接口Geometricinterface,其中定义求周长和求面积方法,再编写三角形类其实现Geometricinterface接口,有三个边长属性,编写矩形类继承 Geometricinterface接口,有长和宽属性。

要求输入相关属性值后,可以求得相应的周长值和面积值。

附:求三角形面积其中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。

2. 使用面向对象的思想编写计算器,改进第一次试验的第4题,实现加、减、乘、除操作。

其中包括一个运算抽象类Operation和各个运算的实现。

要求:(1)使用封装;(2)使用继承;(3)使用多态。

(4)实现表达式的加、减、乘、除运算。

计算:“3+(5*6-4)”实现思路:1)创建抽象类 Operation及其子运算类;2)利用数据结构堆栈的思想,解析表达式;(选做,如果不能实现可以定义成员变量运算数1(numA)和运算数2(numB))3)编写测试类TestCalc进行验证。

二、实验内容与设计思想1./*几何*/(1)/*三角形类*/public class Triangle implements GeomInterface {double a,b,c;//构造方法Triangle(int x,int y,int z){a=x;b=y;c=z;}//求周长public void perimeter(){System.out.println("三角形的周长为"+(a+b+c));}//求面积public void area(){double p=(a+b+c)/2;double S;S=Math.sqrt(p*(p-a)*(p-b)*(p-c));System.out.println("三角形的面积为"+S); }}(2)长方形类类似三角形类,略。

武汉理工大学软件工程基础试验第五次试验报告

武汉理工大学软件工程基础试验第五次试验报告

实验五UML系统分析与设计----UML建模案例实验5-1 用例图设计实验5-2 类和对象图设计实验5-3 交互图设计实验5-4 状态图设计实验5-5 活动图设计实验5-1用例图设计一、实验目的掌握在EA中用例图的基本用法和使用技巧。

二、实验内容与要求本实验给予某学校的网上选课系统的用例图的设计和实现。

需求描述如下:某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开设的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。

学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。

同样,通过业务层,这些操作结果存入数据库中。

分析:本系统拟用三层模型实现:数据核心层、业务逻辑层和接入层。

其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;而接入层包括用户界面,包括系统登陆界面、管理界面、用户选择界面等。

本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者^^卜而管理员和学生从people 统一派生。

数据库管理系统是另外一个活动者。

系统事件:添加课程事件:(1)管理员选择进入管理界面,用例开始。

(2)系统提示输入管理员密码。

(3)管理员输入密码。

(4)系统验证密码。

(5)A1密码错误(6)进入管理界面,系统显示目前所建立的全部课程信息。

(7)管理员许恩泽添加课程。

(8)系统提示输入新课程信息。

(9)管理员输入信息。

(10)系统验证是否和已有课程冲突。

(11)A2有冲突。

(12)用例结束。

其他事件:A1密码错误(1)系统提示再次输入。

(2)用户确认。

(3)三次错误,拒绝再次访问。

(4)否则进入添加课程事件第6步。

A2有冲突(1)系统提示冲突,显示冲突课程信息。

(2)用户重新输入。

(3)继续验证直到无冲突。

武汉理工matlab实验报告

武汉理工matlab实验报告

学生实验报告书实验课程名称数学软件与数学实验开课学院指导教师姓名学生姓名学生专业班级2012-- 2013学年第二学期实验教学管理基本规范实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。

为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定实验教学管理基本规范。

1、本规范适用于理工科类专业实验课程,文、经、管、计算机类实验课程可根据具体情况参照执行或暂不执行。

2、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。

3、实验报告应由实验预习、实验过程、结果分析三大部分组成。

每部分均在实验成绩中占一定比例。

各部分成绩的观测点、考核目标、所占比例可参考附表执行。

各专业也可以根据具体情况,调整考核内容和评分标准。

4、学生必须在完成实验预习内容的前提下进行实验。

教师要在实验过程中抽查学生预习情况,在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。

5、教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。

在完成所有实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。

6、实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。

实验课程名称:《数学软件与数学实验》4.根据网址为/military/html/784/index.html。

软件需求工程实验一——武汉理工大学邢砚敏

软件需求工程实验一——武汉理工大学邢砚敏

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称软件需求工程开课学院计算机科学与技术学院指导老师姓名岑丽学生姓名邢砚敏学生专业班级软件工程1002班2012 —2013 学年第一学期实验课程名称:软件需求工程实验项目名称软件功能描述与确认实验成绩实验者邢砚敏专业班级软件1002班组别同组者实验日期2012 年10 月 8 日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)软件简介:会声会影x5英文名为Corel VideoStudio Pro x5,是一款高清视频编辑软件,不仅可以符合家庭或个人所需的影片剪辑功能,甚至可以挑战专业级的影片剪辑软件。

该软件具有成批转换功能与捕获格式完整的特点。

Corel 会声会影 Pro 会一步一步指导你完成捕获、编辑和分享视频的过程。

应用程序还提供了一百多种转场、专业的字幕制作功能和创建配乐的简单工具。

用户印象:我曾应用会声会影的x5版本,完成了几个视频的编辑创作,认为是一款很适合我(或者学生、非专业人士等)对视频编辑需求的软件。

我们普通人在日常中所知道的加字幕、加背景音乐等在软件中都能得到很精致的满足,最后也对自己做出来的作品很满意。

总体,认为软件的基本功能齐全,功能划分细致。

认为最好的在于给了比较多比较好视频模板,参考价值非常高。

下面,我将会在本次实验中具体的分析它的各项功能。

实验要求:对会声会影x4进行功能描述(包括功能名称、功能详细描述、功能的分类、功能的争取性与否)二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)1.通过对会声会影的使用,了解部分主要的功能,并使用“帮助”菜单了解功能简介;2.在其官网上查看具体的功能介绍,了解详细的功能,包括功能名称,功能简介等;3.对其提供的功能进行功能分析,然后对其分类;4.判断所介绍功能的正确性;5.进行总结归纳。

三、主要实验工具、仪器设备及耗材计算机,会声会影x4软件,word软件第二部分:实验结果分析(可加页)一、实验结果描述功能名称功能详细描述功能分类功能应用率(相对我)捕获视频从外部设备捕获视频。

软件需求工程实验报告——武汉理工大学

软件需求工程实验报告——武汉理工大学

实验课程名称:
实验项目名称 实验者 同组者 专业班级 实验成绩 组别 实验日期 年 月 日
第一部分:实验分析与设计(可加页)
一、实验内容描述(问题域描述)
三、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等 )
三、主要实验工具、仪器设备及耗材
第二部分:实验结果分析 (可加页)
一、实验结果描述
学生学号
实验课成绩
武汉理工大学
学 生 实 验 报 告 书
实验课程名称 开 课 学 院 指导老师姓名 学 生 姓 名 学生专业班级
软件需求工程 计算机科学与技术学院 岑 丽
201

201
学年 第
学期
实验课程名称:
实验项目名称 实验者 同组者 韩浩 软件功能描述与确认 专业班级 软件 1003 班 实验成绩 组别 实验)
一、实验内容描述(问题域描述) 对已知的熟悉的软件(例 office word)进行功能描述。 (包含功能名称、功能详细描述、功能分类、功能的正确性与否) 用表格或者文档的方式对实验结果进行正确的记录与描述。
二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等 ) QQ 无疑是腾讯公司最成功的产品, 其早已从当初的即时通讯工具演变成如今集空间、 微博、 邮箱、购物、资讯、视频、音乐等功能模块于一身。 对这样一个综合的大平台系统的功能需求分析,抓住它的主要呈现的功能(即时通讯) ,同 时不能忽略其它关联模块。如下是 QQ 登入的主界面和聊天界面。
第二部分:实验结果分析 (可加页)
一、实验结果描述
根据自己的实验情况自己填写
二、实验小结、建议及体会
通过这次的需求实验,我收获颇多。 需求处于软件开发的上游,但整个需求工程贯穿了整个开发过程,一个成功的开 发离不开好的需求过程。需求工程大致包含需求获取、需求分析、需求定义、需求验 证、需求管理等部分,我们需要确定的是系统需求、用户需求、业务需求,需要明晰 功能需求与非功能需求。通过此次实验,我感悟到: 1. 功能需求要分类区分,如此可以更加明晰功能所在部分,确保不遗漏 2. 对于较大的软件系统,要提纲挈领分析,才能条分缕析 3. 从这些功能需求可以预见后期的设计与实现大致所需要做的工作

武汉理工大学软件设计及体系结构实验报告计划总结计划

武汉理工大学软件设计及体系结构实验报告计划总结计划

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称软件设计与体系结构开课学院计算机科学与技术学院指导老师姓名陈明俊学生姓名学生专业班级软件zy13022021 —2021 学年第1 学期实验课程名称:软件设计与体系结构实验工程名称图书管理系统的架构设计实验成绩实验者专业班级软件zy1302 组别同组者实验日期第一局部:实验分析与设计〔可加页〕2021年10月23日一、实验内容描述〔问题域描述〕实验目的:以图书管理系统为例,完成系统的架构设计,了解架构设计的过程和方法。

实验内容:1采用用例驱动的分析方法,分析需求的主要任务,识别系统中的参与者和用例,写出用例的文本,建立用例模型。

根据1的结果,进一步建立领域模型〔类图〕,完成静态模型的建立。

结合某一种具体的框架〔比方Java的JavaEE,Spring等〕设计系统的架构,要求采用分层的架构和MVC模式,用包图表达架构。

根据1,2,3的结果设计各层包含的类,接口及其交互〔类图,顺序图等〕,尽可能在设计中表达OO 的设计原那么,设计模式。

完成图书管理系统的数据库设计。

二、实验设计〔包括实验方案设计,实验手段确实定,实验步骤,实验过程等,用硬件逻辑或者算法描述〕建立领域模型:1、从业务描述中提取名词;2、从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;3、从业务实体集合中抽象业务模型,建立问题域的概念;4、用UML提供的方法和图例进行领域模型设计、确定模型之间的关系。

注:实体之间的关系,主要有泛化、依赖和关联,关联又分了一般关联、聚合、组合等数据库设计:需求分析阶段:综合各个用户的应用需求2.概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、平安性的考虑,在根本表的基础上再建立必要的视图(View),形成数据的外模式物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

软件开发工具实验报告

软件开发工具实验报告
(2)编辑词条的主要功能
用户能够对当前列表的某一个词条信息进行修改,如果用户添加的信息格式正确,则更新到数据库中;若不符合格式,则提供对应的错误提醒。
(3)取消编辑的主要功能
当用户对列表进行操作之后,需要撤销原有的操作时,能够撤除相应的操作,恢复原来的数据。
(4)保存的主要功能
当用户对列表进行操作之后,需要确定操作时,能够将对应操作保存到数据库中,并在界面上提供及时更新。
/schema/beans/spring-beans-3.0.xsd
/schema/context
/schema/context/spring-context-3.0.xsd
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring/spring-action.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
学生学号
实验课成绩
学生实验报告书
实验课程ቤተ መጻሕፍቲ ባይዱ称
软件开发工具
开课学院
计算机科学与技术学院
指导教师姓名
学生姓名
学生专业班级
2015
--
2016
学年

1
学期
实验课程名称:_软件开发工具
实验项目名称
基于框架的Web前端设计
实验成绩
实验者
专业班级
组别
同组者

武汉理工大学工程软件实训心得体会

武汉理工大学工程软件实训心得体会

工程软件软件实习体会本学期开学应教学要求我们开设了工程软件实训,为提高我们的模具设计能力,进一步巩固模具结构及制造工艺方面的知识,提升自学能力。

进行了catia软件和spss数据处理实训。

在catia实训中老师向我们介绍了catia的发源以及发展历程,catia是法国达索公司的产品,大锁公司1981年成立至今已有32年历史,现已成为当今世界最大的CAD/CAM/CAE/PLM软件开发商。

Catia 应用于各大机械领域,设计汽车、航空、船舶、家电等等。

几乎设计制造行业都离不开它,它是全球使用最广泛的3D应用软件之一。

接下来老师向我们介绍了catia的基本操作,进入catia后要先建立一个模块,可以通过“开始”菜单中“机械设计”选项中的“零件设计”,单击即可开始零件的三维建模。

或者通过“文件”开始一个新文件,或者打开一个已有的文件。

要退出的话可以点击“开始”或者“文件”下拉菜单选择退出即可。

Catia的二维作图或三维建模的区域位于屏幕的中央,周边是工具栏,顶部是菜单栏,底部是人机信息交换区。

如果我们做好了一个零件要保存可以单击“文件”中“保存”即可,或者另存为点击“另存为”输入名称即可。

接下来是鼠标的使用,在catia里面鼠标的用处可不小。

左键确定位置、选取图形对象、菜单或图标。

右键可以选择相应菜单。

滚轮的用处不可小觑,按住滚轮,移动鼠标可以拖动图形对象的显示位置,按住滚轮单击左键可进行图形的缩小和放大。

同时按住滚轮和左键可以调整图形的观察方向。

在catia的工作空间右上角有一个罗盘代表元素的三维坐标系,利用罗盘可对元素进行各种移动与旋转操作:线平移、面平移、绕坐标轴转动、自由转动、沿固定视向观察、罗盘附着等。

介绍完基本的操作后,正式进入主题。

首先catia用于三维建模时要先进行草图绘制,草图的绘制对于三维建模有很大作用,可以先把立体的放在平面中,有简到难,想要启动草图绘制器时选择菜单栏“开始”然后“机械设计”中的“草图绘制器”命令,然后选择一个坐标平面或设计元素平面。

武汉理工大学软件工程基础实验第四次实验报告

武汉理工大学软件工程基础实验第四次实验报告
实验课程名称:__软件工程基础实验____
实验项目名称 实 验 者 同 组 者 UML 建模工具的安装与使用 徐强国 专业班级 软件 1602 实验成绩 组 别 2018 年 9 月 28 日
实验日期
第一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及 耗材,实验方案与技术路线等) 一、实验目的 学习使用 EA 开发环境创建模型的一般方法, 理解 EA 界面布局和元素操作的一般技巧。 二、实验内容及要求 1.学会安装、启动和关闭 EA 开发环境 2.使用目标项目(project)的向导创建一个项目。 3. 了解 EA 界面的六大组成部分 (菜单 Menu、 浏览器 Browser、 文档 窗口 Document Window、图窗口 Diagram Window、日值窗口 Log Window 和工具栏。 ) 4. 在浏览器中实现如下操作:增加模型元素(包括角色、用例、类、组件、图等) ; 查看现有模型元素;查看现有模型元素之间的关系;移动模型元素;更名模型元素;访问 元素的详细规范。 5. 分别在图中增加、删除图元素和在浏览器中增加删除图元素格式规范 实验报告过程清晰,内容详实 实验报告结果正确性 实验分析与总结详尽 总得分
2 4 2 2 10
增加类
删除类
更改累的属性、功能、类名
EA 界面六大组成部分: 菜单 Menu、浏览器 Browser、文档 窗口 Document Window、图窗口 Diagram Window、 日值窗口 Log Window 和工具栏。
使用情况
二、小结、建议及体会 徐强国:通过本次实验,我初步了解了 UML 建模工具 EA 并在实际中加以运用。之前使用过的 UML 建模工具都是轻型的在线端的,比如墨刀等。这次使用软件级别的 UML 建模工具明显感觉功能要来 的更加多样、复杂。希望在接下来的实验中可以熟练使用 EA 软件。 成绩评定表: 序号 评分项目 满分 实得分

武汉理工大学软件工程基础实验第三次实验报告

武汉理工大学软件工程基础实验第三次实验报告

2)系统为 Windows10 的 PC 机一台 PC 机上装有 Eclipse
第二部分:实验过程记录(可加页) (包括实验原始数据记录,实验现象记录,实验过程发
现的问题等) 一、 实验原始数据记录
即第一次源代码。 二、 实验过程
一、测试工具的使用 CheckStyle 使用情况:
勾选之后 即可使用 CheckStyle 对代码进行检查
成绩评定表: 序号 1 2 3 4 评分项目 实验报告格式规范 实验报告过程清晰,内容详实 实验报告结果正确性 实验分析与总结详尽 总得分 满分 2 4 2 2 10 实得分
如图 CheckStyle 对代码做了检查 FindBugs 使用情况:
并提出了修改建议。
因本代码中并没有显著的 bug,点击使用后,未提示有 bug。 PMD 使用情况:
三、
性能分析
四、
实验过程当中发现的问题 PMD 安装过程中出现失败,在使用中发现找不到该插件。
第三部分 结果与讨论(可加页)
实验课程名称:__软件工程基础实验____
实验项目名称 实 验者 同 组 者 代码评审与程序性能优化 徐强国 专业班级 吴灿柳 软件 1602 实验成绩 组 别 2018 年 9 月 26 日
实验日期
第一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及 耗材,实验方案与技术路线等) 一、实验目的 使用一下三个工具完成代码评审: -Checkstyle -FindBugs -PMD 二、实验内容及要求 针对“实验一”中所完成的代码,进行代码评审(走查)和性能分析,从时间性能角度对 代码进行优化; (1) 使用一下三个工具完成代码评审: -Checkstyle -FindBugs -PMD (2)选择一个代码性能优化工具,对源代码进行性能分析,给出优化方案; 按 “实验一” 的分组方式, 两人一组, 随机分配另一组的代码作为本组评审和分析的对象, 试验期间不能与原作者进行沟通。 三、实验基本原理和方法 (1) Checkstyle 是一款检查 java 程序代码样式的工具,可 以有效的帮助我们检查 代码以便更好的遵循代码编写标 准,特别适用于小组开发时彼此间的样式规范和统一。 Checkstyle 提供了高可配置性,以便适用于各种代码规 范,所以除了可以使用它提供的 sun 的代码标准外,你也 可以定制自己的标准。 Checkstyle 可以让我们养成书写良好代 码风格的习惯。 使用 checkstyle 的过程中可能需要经常的调整配置文 件,有些 check 过于 严格,可以根据实际情况取消一些代码检查。 (2)Findbugs 是一个在 java 程序中查找 bug 的程序,它查 找 bug 模式的实例,也就是 可能出错的代码实例,注意 Findbugs 是检查 java 字节码,也就是*.class 文件。 其实准确 的说,它是寻找代码缺陷的。很多我们写 的不好的地方,可以优化的地方,它都能检查 出来。例 如:未关闭的数据库连接,缺少必要的 null check,多余 的 null check,多余的 if 后置条件,相同的条件分支,重 复的代码块,错误的使用了"=="等等。而且我们可以 自 己配置检查规则,也可以自己来实现独有的校验规则。 (3)PMD 是一种开源分析 Java 代码错误的工具。与其他 分析工具不同的是,PMD 通 过静态分析获知代码错误。 也就是说,在不运行 Java 程序的情况下报告错误。 PMD 的 核心是 JavaCC 解析器生成器。从根本上看, Java 源代码只是一些普通的文本。不过,为 了让解析器 承认这些普通的文本是合法的 Java 代码,它们必须符合 某种特定的结构要 求。这种结构可以用一种称为 EBNF 的句法元语言表示,通常称为“语法” (Grammar) 。 JavaCC 根据语法要求生成解析器,用于解析用 Java 编程 语言编写的程序。

武汉理工大学《MIS系统软件》实验报告

武汉理工大学《MIS系统软件》实验报告

第二部分:实验过程记录
实验原始记录(包括实验数据记录,实验现象记录,实验过程发现的问题等) (1)实验数据及现象记录(节选) 1. 单字母替换加密方法——恺撒密码
加密方法:把英文字母按字母表的顺序编号作为明文,将密钥定为 m,加密算法为将明文 加上密钥 m,得到密码表,通过相反的过程由密文得到明文。 加密算法运行如下:
} if (k == 2) { printf("请输入密文:\n"); scanf("%s", s2); printf("请输入密钥:\n"); scanf("%d", &m); KaiSa_jiemi(s2, m); printf("以下是对应的明文:\n"); printf("%s", strupr(s2)); printf("\n"); } system("pause"); }
}
最终输入数据及运行结果如下:
除此之外,该程序编写过程中曾出现以下错误:
经过多次调试,发现是由于在输出密文的时候,将循环的 num1 初值赋值错误。 原来的错误赋值是 i,现修改为 i-1,程序运行正确。
二、小结、建议及体会 由于社会的复杂性和某些事物的不可预知性,使得计算机系统的环境往往是不安全的。为 此,必须对其采取“保护”措施,使之变成为一个“安全”环境。 “保护”和“安全”是有不
输入数据及运行结果如下:
3. 转换加密方法 代码: #include<stdio.h> #include<string.h> #define M 100 void Transform_jiami(char str[], int m) { int i, j = 0, t = 0, tag = 0; char s[10][10]; //将明文转换成密文并存储到一个二维数组里 while (1) { i = 0; for (;i < m;i++) { if (t < strlen(str)) { s[i][j] = str[t]; t++; } else { s[i][j] = '#';//将空出的位置用'#'填充, 保证数组 s[]里的数据是 m 行 j+1 列 的矩阵,便于后续输出 tag = 1;//用来标记是否到达最后一列 } } if (tag == 1) break; j++; }

《软件开发工具》函数和代码复实验报告

《软件开发工具》函数和代码复实验报告

《软件开发工具》函数和代码复实验报告一、实验目的:1. 掌握利用基本的程序结构进行程序设计;2. 掌握模块化程序设计的思想;3. 掌握函数的设计和调用;4. 掌握递归函数的设计和使用;5.掌握datetime库、random库的使用。

二、实验内容:1. 七段数码管绘制,要求如下:(1)请编写程序完成基本的七段数码管日期的绘制;(2)拓展程序完成如下图所示的七段数码管日期的绘制,年月日的文字颜色随机产生,并探究turtle.write()的详细用法。

2. 利用递归程序设计思想完成如下图所示的树,并对程序功能进行拓展探究,如考虑生成不对称的树。

3.请采用递归程序设计思想绘制Koch雪花曲线,并对其进行探究。

三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)1.编程思想:以不同格式显示日期和时间是程序中最常用到的功能。

Python提供了一个处理时间的标准函数库datetime,它提供了一系列由简单到复杂的时间处理方法。

Datetime 库可以从系统中获得时间,并以用户选择的格式输出。

源码:from datetime import *2.编程思想:通过turtle库函数绘制七段数据管形式的日期信息。

通过改变数据的颜色来区分数据,这样明显的加大了数据的辨识。

源码:from random import *from datetime import *import turtle as tdef drawGap():t.pu()t.fd(5)def drawLine (draw):drawGap()t.pd() if draw else t.pu()t.fd(40)drawGap()t.rt(90)def drawDigit(b):drawLine (True) if b in [2,3,4,5,6,8,9] else drawLine (False)drawLine (True) if b in [0,1,3,4,5,6,7,8,9] else drawLine (False)drawLine (True) if b in [0,2,3,5,6,8,9] else drawLine (False)drawLine (True) if b in [0,2,6,8] else drawLine (False)t.lt(90)drawLine (True) if b in [0,4,5,6,8,9] else drawLine (False)drawLine (True) if b in [0,2,3,5,6,7,8,9] else drawLine (False)drawLine (True) if b in [0,1,2,3,4,7,8,9] else drawLine (False)t.lt(180)t.pu()t.fd(20)def drawDate(date):for i in date:if i.isdigit():drawDigit(eval(i))else:drawword(i)t.pencolor(random(),random(),random()) def drawword(s):t.pu()t.rt(90)t.fd(50)t.write(s,move=True,font=('Arial','60','normal')) t.fd(-50)t.lt(90)t.fd(20)def main():t.setup(800,350,200,200)t.pu()t.fd(-300)t.pensize(5)t.goto(-370,0)t.pencolor(random(),random(),random())someday=datetime(2021,11,4)drawDate(someday.strftime('%Y年%m月%d日'))t.hideturtle()main()运行截图:4.编程思想:科赫曲线属于分形几何分支,它的绘制过程体现了递归思想,采用turtle.speed()函数增加或减少速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉理工大学学生实验报告书实验课程名称软件开发工具开课学院计算机科学与技术学院指导老师姓名向广利学生姓名学生专业班级软件zy13022015—2016学年第1 学期实验课程名称:软件开发工具</label></div><button class="btnbtn-lgbtn-primary btn-block" type="submit" id="submitButton">登录</button></form></div></body></html>(2)其他源代码(见附件)二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)网页效果:(1)登录页面:(2)用户信息页面:(3)公告页面:(4)实验室页面:(5)仪器设备管理页面:(6)低值品与耗材管理页面:三、实验小结、建议及体会在这次实验中,我学会了如何利用Bootstrap开源框架开发前端,其中学会了不少东西,包括html5、css和javascript的基本语法。

以前觉得页面开发应该很简单,拖拖拉拉控件就行,现在发现并不是那么简单,代码的组织也是非常重要的,好看的页面也是要用心组织代码才能实现的,以后的实验我会继续努力的!实验课程名称:软件开发工具第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)内容:利用MVC框架进行后端设计和开发,内容自定义。

二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等,用硬件逻辑或者算法描述)本次实验开发采用的是J2EE技术。

J2EE提供了更为显著和灵活的安全特性。

J2EE采用Java认证和授权服务,作为其核心的安全性协议和保障。

J2EE采用部署描述的方式,使系统组件的部署员可以灵活地对每个组件Servlet、EJB、JavaBean进行配置,从而实现角色的身份验证。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。

通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

三、主要仪器设备及耗材PC机、JDK8、IntelliJ IDEA第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)文件组织:(2)源代码(附件)二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)实验效果:(1)用户信息数据:数据库中:页面中:(2)实验室信息:数据库中:页面中:(3)数据库中:页面中:(4)低值品和耗材信息:数据库中:页面中三、实验小结、建议及体会通过本次实验,我初探了J2EE开发后台,这段学习过程十分艰难,因为在此期间穿插了各种考试,让我也不能好好的静下心来好好学J2EE,但是最后还是完成了此次实验,这两次的实验,让我觉得有点向大作业,任务量非常的大,但是收获不少,还是很开心的!实验课程名称:软件开发工具第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)第一步,用编辑程序把编制的源程序按照一定的书写格式送到计算机中,编辑程序会根据使用人员的意图对源程序进行增、删或修改。

第二步,把送入的源程序翻译成机器语言,即用编译程序对源程序进行语法检查并将符合语法规则的源程序语句翻译成计算机能识别的“语言”。

如果经编译程序检查,发现有语法错误,那就必须用编辑程序来修改源程序中的语法错误,然后再编译,直至没有语法错误为止。

第三步,使用计算机中的连接程序,把翻译好的计算机语言程序连接起来,并扶植成一个计算机能真正运行的程序。

在连接过程中,一般不会出现连接错误,如果出现了连接错误,说明源程序中存在子程序的调用混乱或参数传递错误等问题。

这时又要用编辑程序对源程序进行修改,再进行编译和连接,如此反复进行,直至没有连接错误为止。

第四步,将修改后的程序进行试算,这时可以假设几个模拟数据去试运行,并把输出结果与手工处理的正确结果相比较。

如有差异,就表明计算机的程序存在有逻辑错误。

如果程序不大,可以用人工方法去模拟计算机对源程序的这几个数据进行修改处理;如果程序比较大,人工模拟显然行不通,这时只能将计算机设置成单步执行的方式,一步步跟踪程序的运行。

一旦找到问题所在,仍然要用编辑程序来修改源程序,接着仍要编译、连接和执行,直至无逻辑错误为止。

也可以在完成后再进行编译。

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。

3.单步调试3.1 step over点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)3.2 step into点击红色箭头指向的按钮,程序向下执行一行。

如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。

3.3 Force step into该按钮在调试的时候能进入任何方法。

3.4 step out如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout 跳出该方法,返回到该方法被调用处的下一行语句。

值得注意的是,该方法已执行完毕。

3.5 Drop frame点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。

只要调用链中还有上级方法,可以跳到其中的任何一个方法。

4. 高级调试4.1 跨断点调试设置多个断点,开启调试。

想移动到下一个断点,点击如下图:程序将运行一个断点到下一个断点之间需要执行的代码。

如果后面代码没有断点,再次点击该按钮将会执行完程序。

4.2 查看断点点击箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。

箭头1指向的是你曾经设置过的断点,箭头2可以设置条件断点(满足某个条件的时候,暂停程序的执行,如 c==97)。

结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

4.3 设置变量值调试开始后,在红箭头指向的区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。

这个功能可以更加快速的检测你的条件语句和循环语句。

三、实验小结、建议及体会通过本次实验,我学会了IDEA的调试功能,以前根本不会对调试那么认真的对待,通过这次实验,实在让我感慨,IDEA的调试功能实在是强大,我算是重新认识了一次IDEA。

以后的实验我会更加认证对待的!实验课程名称:软件开发工具第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。

他是用于单元测试框架体系xUnit的一个实例(用于java语言)。

它包括以下特性:1、用于测试期望结果的断言(Assertion)2、用于共享共同测试数据的测试工具3、用于方便的组织和运行测试的测试套件4、图形和文本的测试运行器二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)(1)前两个实验中使用了Junit框架进行代码测试,测试文件组织如下图:(2)其中AdminServiceImplTest.java的代码如下:package b.service.serviceImpl;import b.domain.Admin;import b.service.AdminService;import b.service.serviceImpl.AdminServiceImpl;import org.junit.Before;import org.junit.Test;public class AdminServiceImplTest{AdminServiceadminService;@Beforepublic void setUp() throws Exception{adminService = new AdminServiceImpl();}@Testpublic void testGetById() throws Exception{Admin admin = adminService.getById("1");System.out.println(admin.getAdmin_id());System.out.println(admin.getPassword());System.out.println(admin.getName());}}(3)对它进行测试,显示测试成功:(4)对其中代码进行修改,我们来看看不成功时的输出:三、实验小结、建议及体会通过本次实验,我学会了Junit测试框架的使用,通过这个框架,测试代码的正确性的确简化了很多,让自己不用在疲于写测试代码,只用使用现有的就行。

通过这4次实验,我收获颇丰,既学到了关于软件开发工具的理论知识,也通过实践接触了这些工具,即使任务量大,但是还是坚持下来了!。

相关文档
最新文档