太原理工大学软件开发环境与工具实验报告.docx
《太原理工大学软件开发环境与工具实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件开发环境与工具实验报告.docx(61页珍藏版)》请在冰豆网上搜索。
太原理工大学软件开发环境与工具实验报告
本科实验报告
课程名称:
软件开发环境与工具
实验项目:
实验一、CASE工具PowerDesigner的使用
实验二、熟悉SQL语言
实验三、利用Axure制作网页原型
实验四、利用VisualStudio开发windows控制台应用程序
实验五、利用VisualStudio2010开发WindowsForm应用程序
实验六、利用VisualStudio2010进行Web应用程序设计
实验地点:
逸夫楼501
专业班级:
软件1415班学号:
2014005960
学生姓名:
朱伟
指导教师:
李君婵
2016年12月15日
实验一CASE工具PowerDesiner的使用
一、实验目的
安装PowerDesiner,并了解掌握PowerDesiner的主要功能和使用方法。
二、实验设备与环境
HP笔记本计算机+PowerDesiner
三、实验要求
1.安装PowerDesiner。
2.了解CDM的主要设计元素和设计过程。
3.熟悉模型转换工具的使用。
4.熟悉PDM的主要设计元素和设计过程。
5.了解设计报告的生成方法。
四、实验内容
设计学生住宿管理的CDM、PDM(PDM模型包括:
1、通过CDM模型生成;2、直接建立)。
1.学生管理
(1)建立班级、院、专业的CDM、PDM模型;
(2)建立学生信息的CDM、PDM模型,包括学号、姓名、院、专业、性别、年级、班级、出生年月、籍贯、住宿费、押金、录入日期及宿舍编号等内容。
2.宿舍管理
建立宿舍信息的CDM、PDM模型,包括有宿舍编号、宿舍名称、宿舍电话、应住人数、录入日期等栏目。
3.对学生管理、宿舍管理、班级、院、专业实体(或表)之间建立联系。
五、实验步骤
1.运行PowerDesiner安装文件。
2.按照安装向导,安装PowerDesiner。
3.安装成功之后,进入PowerDesiner的CDM设计界面,了解CDM的主要设计元素和设计过程。
4.分析住宿管理的需求,分析其中应含有的实体及其属性,建立实体联系,设计住宿管理的CDM。
5.检测CDM,并进行模型转换,生成PDM。
6.优化PDM。
7.生成设计报告。
8.生成数据库创建脚本。
实验结束后,整理实验报告。
6、实验过程和结果
1、根据要求,运用case工具powerdesigner制作的学生住宿管理的CDM如下图:
2、检测CDM:
3、转换工具转化后的学生宿舍管理的PDM如下图:
4、生成设计报告:
5、生成数据库创建脚本:
7、思考题:
1、CDM和PDM有什么区别?
CDM是概念模型,用于数据库的概念结构设计阶段,表现数据库的逻辑结构。
类似于数据库中的E-R图,CDM独立于DBMS与应用软件。
PDM是物理模型,表现数据库的物理结构。
PDM提供操作PDM与智能商务PDM,前者用于OLTP(联机事务处理)的物理结构设计,后者用于OLAP(联机分析处理)的物理结构设计。
2、如何使用PDM生成创建数据库对象的脚本?
在PowerDesigner的主窗体中,选择“Database”->“GenerateDatabase”命令启动生成数据库的工具。
然后设置产生数据库的一般脚本设置,脚本存放的位置。
8、实验心得:
通过本次实验,基本掌握了PowerDesigner的使用,并且了解到怎么使用PowerDesigner建立CDM和PDM图,也学会了CDM如何转化成PDM、生成报告、以及生成数据库文件等等。
刚开始做的时候,因为不熟悉,在定义主键的时候弹出错误提示框“Thisdataitemisalreadyused……”后来通过XX才将这个问题解决。
在页面上右击,选择Modeloptions,打开Modeloptions窗口,在左侧树结构里第一个ModelSettings里找到DataItem,去掉UniqueCode的选项就可以正常。
从这次项目设计的过程中,我能够深刻认识到今后一定要全面思考问题。
在今后的学习工作中,要多接触各类项目,分析其建模、关系以及架构设计,并学会不同项目设计的流程。
实验二熟悉SQL语言
一、实验目的
学习简单SQL语句的使用,为后续学习和实验奠定基础。
二、实验设备与环境
HP笔记本计算机+MicrosoftSQLServer
三、实验要求
编写简单的SQL语句,实现实验要求,掌握SELECT、INSERT、UPDATE、DELETE等语句的用法。
四、实验步骤:
1.打开企业管理器。
2.将教师提供的数据文件恢复成SM数据库。
3.打开SQLServer查询分析器。
4.选择SM数据库。
5.按照要求,在查询分析器中输入SQL语句,并执行,检查执行结果。
6.保存正确执行的SQL语句。
7.实验结束后,整理实验报告。
五、实验过程和结果:
1.编写一条SELECT语句,从表Student中查询满足条件:
性别为女并且班级编号为030001的记录。
select*fromstudentwhereCLno='030001'andSSex='女'
2.编写一条SELECT语句,从表Course中查询满足条件:
课程名称为‘计算机网络’的记录,每条记录只显示’课程编号’、’课程名称’、’课程介绍’3列。
selectCno,Cname,CInfofromcoursewhereCName='计算机网络'
3.编写一条SELECT语句,从表Student中查询满足条件:
姓名为’张强’、’赵丽’、‘周红’、’刘宏’的学生的记录,并将结果存入自动生成的表’Student3’中。
select*intostudent3fromstudentwhereSnameIN('张强','赵丽','周红','刘宏')
4.编写一条SELECT语句,从表Teacher中查询满足条件:
TTcode列为空的记录并且DNO为’0005’的记录。
select*fromteacherwhereTTcodeisnullandDNO='0005'
5.编写一条SELECT语句,从表Teacher和表TC中查询数据:
显示教师与其讲授课程的基本信息。
select*fromteachera,tcbwherea.tno=b.tno
6.向表Student中添加数据:
姓名:
李梅,出生日期:
1986-9-2,学号:
03011,班级编号:
030006。
insertintostudent(Sname,Sbir,SNo,CLno)values('李梅','1986-09-02','03011','030006')
7.删除数据表’Student’中计算机专业的男学生的信息。
DeletefromstudentwhereSSex='男'
8.修改数据表’Student’中李刚的性别为男。
updatestudentsetSsex='男'whereSname='李刚'
6、思考题:
如何对查询结果进行排序?
应当使用OrderBy语句对结果进行排序。
如:
查询SC表中的所有字段,在结果中显示所有及格学生的记录,并按学号降序排序。
代码如下:
Select*fromscwherescore>=60orderbySnodesc.
7、实验心得:
通过本次实验,基本学会了使用SQL语言,掌握了SQL对数据进行操作的方法,掌握了用SQL创建各种查询的方法,学会利用已有的数据资源,使用SQL语句进行数据定义、数据更新及各种查询操作。
现在学到的还只是一些基础性的知识,还应该更加努力,争取学到更深入、更专业的知识。
实验三利用Axure制作网页原型
一、实验目的:
安装Axure,熟悉Axure的开发环境与主要功能。
熟练掌握Axure页面设计常用组件、页面间跳转、变量设置、动态面板等用法。
二、实验设备与环境:
HP笔记本计算机+AxureRPPro7.0
三、实验要求:
1、安装Axure。
2、熟悉Axure开发环境与熟悉常用组件。
掌握利用Axure进行原型设计的方法。
四、实验步骤:
1、安装Axure;
2、运行Axure;
3、设计XX主页面,相关设计素材见实验指导压缩包;
4、设计教务系统相关页面;
5、生成原型,并使用浏览器检查原型系统。
五、实验过程和结果:
1、设计实现如图所示的XX主界面原型.
(1)将图片和文本框以及提交按钮拖入主窗体,并且设置他们的交互行为,为他们添加当鼠标单击时打开另一个链接的用例:
(2)发布预览,在浏览器页面的显示效果如下:
2、设计实现如图所示的教务系统中系统登录、主界面、查询等页面原型
(1)系统登录页面:
a、将素材添加到主窗体中。
b、设置页面交互样式为当页面载入时,设置焦点在账号对应的文本框中。
c、在重设按钮上添加当鼠标单击时账号和密码所对应的文本框内容为空,即清空文本框。
d、添加一个隐藏的动态面板,用来实现账号密码输入错误时的交互行文。
e、在登录按钮上设置一系列当鼠标单击时的交互行为,默认设置的账号为:
zhuwei2014005960,密码为:
2014005960.当账号和密码错误时,分别给出不同的提示,只有当账号密码正确时才会跳转到系统主页面。
①当账号和密码为空时点击登录按钮:
②当只输入了账号,而没有输入密码点击登录按钮时:
③当只输入了密码,而没有输入账号点击登录按钮时:
④当账号和密码都输入,但输入的账号不是“zhuwei2014005960”而点击登录按钮时:
⑤当输入的账号为“zhuwei2014005960”,但是密码不是“2014005960”而点击登录按钮时:
⑥当输入的账号为“zhuwei2014005960”,但是密码是“2014005960”而点击登录按钮时跳转到系统主页面:
(2)系统主页面:
将我需留意下面的内容设置成动态面板,当点击我需留意右边的向上的小箭头时,则会隐藏动态面板,将右边概览以下的整体内容设置为动态面板,当单击左侧的向左的箭头时,整个动态面板向左移动。
当点击右上方的注销按钮时则会跳转到登录页面。
(3)查询页面:
六、思考题
1、利用Axure可以进行哪些类型软件的原型设计?
AxureRP是一套专门为网站或应用程序所设计的快速原型设计工具,可以让应用网站策划人员或网站功能界面设计师更加快速方便的建立WebAP和Website的线框图、流程图、原型和规格。
2、Axure通过那些方式实现页面或窗体的动态交互?
打开Axure,建立你想要设置交互动画的部件,选中并给该部件重命名,点击“部件交互和注释”窗口选择你想用的触发用例;在弹出的窗口,选择触发事件动作——组织动作——配置动作——点击确定,这时候交互窗口就会出现你设置的动画了,点击预览即可查看效果
3、简述场景、用例、事件之间的关系?
在Axure中,事件可以包含很多用例(case),用例,又可以包含很多动作(action)。
不同的用例,比如case1、case2是不会同时发生的,他们都有自己各自发生的条件。
一般来说,我们可以指派Condition(条件)来让Axure RP自动判断应该执行哪个用例。
所以,在AxureRP中,在一个部件的属性区域的一个事件(例如OnClick或者OnMouseEnter,就类似一个真实事件中的事件)在双击事件后打开的用例编辑器(CaseEditor)中,我们可以添加用例。
对于每个case,在用例编辑器的AddAction(添加动作)步骤中,我们可以看到很多现成的动作可以添加。
7、实验心得:
通过本次实验,基本学会了用Axure设计原型,学会了动态面板的使用,以及设置一些动态交互,刚开始的时候也不怎么会操作,后来从网上找到了视频学习了才开始熟练,也知道了怎么将组件、事件、动作组合起来而达到交互设计的效果。
通过这次实验,也知道了设计页面也不是一件简单的事,需要准确的把握像素,对于这款软件的使用,也只是掌握了冰山一角,今后还应该多多练习,多多实践,争取做到对这款软件的熟练运用。
实验四利用VisualStudio开发Windows控制台应用程序
一、实验目的
安装VisualStudio2010,熟悉VisualStudio2010开发环境。
熟练掌握C#的语法、语句结构,并能进行控制台应用程序的编写。
二、实验设备与环境
HP笔记本计算机+VisualStudio2010
三、实验要求
1.安装VisualStudio2010。
2.熟悉掌握C#的语法、语句结构。
3.掌握控制台应用程序的设计方法。
四、实验步骤
1.运行VisualStudio2010安装文件。
2.按照安装向导说明,完成安装。
3.打开Visualstudio2010,进入IDE,熟悉编程环境。
4.按照要求完成实验内容。
五、实验过程和结果
利用VisualStudio2010开发环境,采用C#语言实现以下控制台应用程序。
1、编写控制台程序:
输入矩形的长和宽,输出矩形的面积和周长。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication4._1
{
classProgram
{
staticvoidMain(string[]args)
{
inta,b;
Console.WriteLine("请输入长方形的长:
");
a=int.Parse(Console.ReadLine());
Console.WriteLine("请输入长方形的宽:
");
b=int.Parse(Console.ReadLine());
ints,l;
s=a*b;
l=2*a+2*b;
Console.WriteLine("长方形的面积为:
{0}",s);
Console.WriteLine("长方形的周长为:
{0}",l);
}
}
}
2、编写控制台应用程序,输入正整数n,输出s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的计算结果。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication4._2
{
classProgram
{
staticvoidMain(string[]args)
{
intn,m=0;
longsum=0;
Console.WriteLine("请输入一个正整数:
");
n=int.Parse(Console.ReadLine());
for(inti=1;i<=n;i++)
{
m+=i;
sum+=m;
}
Console.WriteLine("Sum={0}",sum);
}
}
}
3、编写控制台应用程序,输出所有这样的三位数:
这个三位数本身恰好等于其每个数字的立方和(例153=13+53+33)。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication4._3
{
classProgram
{
staticvoidMain(string[]args)
{
inti,a,b,c,count=0;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
Console.WriteLine("N={0}",i);
count++;
}
}
Console.WriteLine("\n这样的数字共有:
{0}位。
",count);
}
}
}
六、思考题
1、VisualStudio2010可以开发哪些类型的应用程序?
VisualStudio2010可以编写控制台应用程序、Windows应用程序、ASP.NETWeb应用程序、ASP.NETWeb服务器应用程序等。
下面主要介绍控制台应用程序、Windows应用程序和ASP.NETWeb应用程序。
2、VisualStudio2010中怎样展开或折叠代码块?
选中代码后,按两次ctrl+m即可展开或者折叠代码块
3、命名空间的作用是什么?
如何定义或引入命名空间?
(1)命名空间的作用:
命名空间通过把类放入命名空间,这样既可以把相关的类组织起来,使应用程序能方便地使用和管理,并可以避免命名冲突。
(2)方法一:
直接定位命名空间的位置,在该方法中任何一个命名空间都可以在程序代码中直接使用。
方法二:
使用using关键字,能够引用给定的命名空间或创建命名空间的别名。
4、简述标识符命名规范。
(1)只能使用字母(包括大写、小写)、数字和下划线(“_”)这三类字符组成。
(2)必须以字母、下划线(“_”)或@开始。
(3)VisualC#的标识符是大小写敏感的,因此必须严格区分大小写。
(4)标识符不能使用C#中预定义的关键字名,但以@符号开头的标识符,允许使用关键字作为标识符
(5)标识符不可与VisualC#中的类库名相同。
7、实验心得:
通过本次实验,学会了Visual Studio2010的基本使用方法。
尽管在编程过程中遇到很多不同的问题,但最终都一一化解,让我认识到只有多多练习才能写好程序。
通过编写大量的C#语言开始熟悉。
可以更加快速的编译程序。
通过学习和不断的编写程序,逐渐掌握了C#语言的主要思想。
使编写程序更加快速,并且正确率也不断提高。
实验五利用VisualStudio2010开发WindowsForm应用程序
一、实验目的
熟悉VisualStudio2010,掌握常用控件的属性、事件,并熟练进行Windows窗体应用程序的编写。
1.熟练掌握C#窗体和各种常用控件的属性、方法和事件。
2.掌握C#中使用各种常用控件设计界面的方法。
3.掌握C#中窗体事件处理机制。
二、实验设备与环境
HP笔记本计算机+VisualStudio2010
三、实验内容
熟悉利用C#进行Windows窗体应用程序的设计方法,了解Windows窗体应用程序的组成。
四、实验步骤
1.进入C#窗体应用程序设计环境。
2.熟悉Windows窗体程序开发环境。
3.从工具箱中选择合适的控件,进行界面设计。
4.根据要求,添加相应的事件代码,完成实践内容。
五、实验过程和结果
1.创建一个Windows窗体应用程序,向其中添加一个窗体,实现用户登录(输入用户名和口令,假设正确的用户名/口令为zy1001_2/10011002),并给出相应的提示信息。
规定用户错误输入不超过3次。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceWindowsFormsApplication5._1
{
publicpartialclassForm1:
Form
{
inti=1;
publicForm1()
{
InitializeComponent();//初始化组件
}
privatevoidForm1_Load(objectsender,EventArgse)
{
}
privatevoidlabel1_Click(objectsender,EventArgse)
{
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(i<4)
{
if(textBox1.Text=="zhuwei"&&textBox2.Text=="2014005960")
{
this.Visible=false;
Form2frm2=newForm2();//首先将另一个窗口Form2实例
frm2.Show();//打开窗口
}
else
{
this.label3.Visible=true;
this.label3.Text="密码输入错误"+i+"次";
i++;
}
}
else
{
this.label3.Text="密码输入错误次数过多";
}
}
privatevoidlabel3_Click_1(objectsender,EventArgse)
{
}
}
}
2.设计一个窗体,实现将学生完整信息的添加到sm数据库中,(sm数据库为实验2中教师所提供的数据库),要求使用Command类的ExecuteNonQuery()方法和操作DataSet数据集两种方法来实现.
(1)登录界面
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceWindowsFormsApplication5._2
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
//数据库连接字符串(引号中的字符串为之前复制的那段字符)
//Datasource=服务器名,Initialcatalog=数据库名,UserId=sql