计算机虚拟仪器技术课程设计说明书.doc

上传人:精*** 文档编号:855040 上传时间:2023-09-17 格式:DOC 页数:20 大小:881.28KB
下载 相关 举报
计算机虚拟仪器技术课程设计说明书.doc_第1页
第1页 / 共20页
计算机虚拟仪器技术课程设计说明书.doc_第2页
第2页 / 共20页
计算机虚拟仪器技术课程设计说明书.doc_第3页
第3页 / 共20页
计算机虚拟仪器技术课程设计说明书.doc_第4页
第4页 / 共20页
计算机虚拟仪器技术课程设计说明书.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、计算机虚拟仪器技术课程设计说明书摘要:本系统通过对LabVIEW软件的应用,设计软件结构,实现网络相册的的基本功能,包括用户创建影集,修改影集名称,用户的注册和登录,用户图片的上传,数据库图片的播放;管理员管理图片和用户。系统利用.Net平台技术进行开发,实现相册的的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。目录一.引言1二、设计正文21.概述21.1课题题目21.2系统的主要目标21.3 系统的开发环境及运行环境:22.系统分析22.1 可行性分析22.2 需求分析33.系统总体设计43.1 设计问题域子系统43.2 设计数据

2、管理子系统43.3 设计人机交互子系统54系统流程分析64.1用户注册流程图64.2用户上传图片流程图64.3用户创建相册流程图75.系统实现75.1 主要是与数据库连接,提供数据库操作功能,代码如下:75.2所有系统角色用户的基类,完成用户登录验证功能,75.3 系统注册页面,代码及运行85.4 上传读取图片信息95.5用户创建相册界面代码及运行125.6用户图片代码及运行135.7用户查看代码及运行15三、课程设计总结或结论16参考文献17一.引言通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习

3、和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、设计正文1.概述1.1课题题目:个人电子相册的设计与实现1.2系统的主要目标:研究LabVIEW编程技术,了解B/S编程技术发展的未来趋势,掌握一种开发平台,编写出具有更高交互性和网络体验的Web应用程序。 1.3 系统的开发环境及运行环境:操作系统: Windows 7 旗舰版建模工具: Rational Rose 20

4、03数据库系统:Access 2007开发工具: Visual Studio 2010Web服务器:IIS+ASP.NET 2.0平台2.系统分析2.1 可行性分析2.1.1 系统总体目标电子相册是互联网络的产物,现在电子相册系统已经层出不穷,而本系统是一个区别于现在国内外已经开发出来的电子相册网站系统,它是一个单用户空间而非网站,主要是一个为用户提供的个人相片展示、存放的个人相册空间。这个电子相册的定位是一群朋友共享照片、交流讨论的开放式的个人空间。本系统可以供自己展示、存放照片,可以让拥有正确口令的浏览者浏览该用户的照片以及发表留言,同时拥有正确口令的浏览者也享有用户所有的权利(上传、删除

5、相片等),它在某种程度上是开放式的、自由式的。因此这是一个相对来说安全、私密、开放的和朋友分享、交流的私人电子相册空间。2.1.2 技术可行性分析这个电子相册是一种基于B/S架构的管理系统,它采用目前最有发展前景的c#语言编写,用到了当今先进的技术如Html,CSS+DIV,JavaScript ,Mysql等关键技术来实现该系统。开发本系统的Visual Studio 2010编程软件、是可以直接在网络上免费下来得来的,其中的Wamp集成环境在Windows平台下集成了Apache、MySQL、PHP服务,无需再另外下载PHP环境和MySQL数据库。这些应用软件是现在常用的网页开发工具,都能

6、够很方便的掌握,并且也学了有关网页开发的课程,实现该电子相册空间的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。2.2 需求分析2.2.1 总体需求该设计系统要具有实用性,功能完善,界面良好。设计该系统的流程如图3所示。流程设计: 程序设计:开始程序功能需要页面设计初始化数据库设计条件代码设计代码操作调试发布图2.1 程序设计流程图2.2.2 功能需求本系统应该具有登录验证、修改密码、创建相册、浏览相片、上传相片、删除相册或相片、等功能,详见图4。登录验证注册用户创建相册浏览相片上传相片删除相片删除相册1:“电子相册”系统1.1:用户组件1.2:管理员模块1.3:注册、登录模块1.

7、4:阅览模块图2.2 电子相册系统功能结构图3.系统总体设计3.1 设计问题域子系统相册系统是实现用户上传照片、用户交流图片以的一个平台,整个电子相册系统有前台和后台两部分,共分为4个模块:用户上传,管理模块,注册登录模块和阅览模块,分别用于完成各自的功能。(1)各模块功能表2-1 学生选课系统功能模块表功能模块包含子功能模块功能管理模块注册管理子模块填写信息,进行注册相册管理子模块对相册进行管理相片管理子模块对相片进行管理用户上传用户上传自己的图片登录用户用户阅览模块查看已经上传的图片3.2 设计数据管理子系统(1)数据库表表3-2 数据库表序号数据库表数据表存储的内容1tb_photo存储

8、相片的信息2tb_type存储相册的信息3admin存储用户的信息(3)数据库表结构相册tb_type的详细数据字段:表3-3 Student学生用户表序号字段名字段类型说明备注1IDnvarchar(20)not null序号关键字2TypeName文本相册名字相片tb_photo的详细数据字段:表3-4 Teacher教师用户表序号字段名字段类型说明备注1IDnvarchar(20)not null序号关键字2Title文本标题3Type数字所属相册4imgPath文本图片路径5Content备注内容6Creater文本创建者7CreatTime备注创建时间用户表 admin的详细数据字段

9、:表3-7 Users管理员表序号字段名字段类型说明备注1Usernvarchar(20)not null用户名关键字2Pwdnvarchar(20)not nul系统管理员密码3.3 设计人机交互子系统(1)用户分类本系统的用户可分为三类: 管理员用户;普通用户;(2)用户描述管理员用户的描述:管理员用户在整个选课系统中起到管理和维护的作用,对普通的信息进行管理和维护。普通用户的描述:普通用户负责试用系统的各项4系统流程分析4.1用户注册流程图开始点击“打开”按钮选择图片添加图片信息点击“确定”按钮回到主窗口结束开始输入用户名、密码验证用户名、密码提示用户登录失败进入相应的用户页面选择相关管

10、理操作安全退出系统验证正确结束是否图4-1 系统用户登录流程图4.2用户上传图片流程图4.3用户创建相册流程图开始输入相册名称输入不合法,重新输入提示创建成功是否合法?结束图4-3 用户创建相册流程图是否5.系统实现本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。5.1 主要是与数据库连接,提供数据库操作功能,代码如下:public static OleDbConnection

11、 createNewCon()/创建并打开一个链接 string conStr = Provider=Microsoft.Jet.OleDb.4.0;Data Source= + System.AppDomain.CurrentDomain.BaseDirectory + App_Dataphoto.mdb; OleDbConnection con = new OleDbConnection(conStr); con.Open(); return con; 5.2所有系统角色用户的基类,完成用户登录验证功能,代码如下:private void LoginCheck() string UserI

12、D = txtuser.Text.Trim().ToString(); string pwd = txtpassword.Text.Trim().ToString(); OleDbConnection con = Db.createNewCon(); /con.Open(); string Sql =Select user,pwd from admin where user= + UserID + and pwd= + pwd + ; OleDbCommand cmd = new OleDbCommand(Sql.ToString(), con); /开a始?验证 OleDbDataReade

13、r read = cmd.ExecuteReader(); if (read.Read() Response.Redirect(Index.aspx); else Response.Write(alert(帐号?或密码?错误!); con.Close(); /登录 protected void btnOK_Click(object sender, EventArgs e) LoginCheck(); protected void btnSi_Click(object sender, EventArgs e) Response.Redirect(resign.aspx); 5.3 系统注册页面,

14、代码及运行效果如下: private void Add() string UserID = txtuser.Text.Trim().ToString(); string pwd = txtpassword.Text.Trim().ToString(); OleDbConnection con = Db.createNewCon(); string Sql = insert into admin(user,pwd)+ values(user,pwd); OleDbCommand cmd = new OleDbCommand(Sql.ToString(),con); cmd.Parameters.

15、AddWithValue(user, UserID); cmd.Parameters.AddWithValue(pwd, pwd); int redult = cmd.ExecuteNonQuery(); if (redult 0) Response.Redirect(Login.aspx); protected void btnqd_Click(object sender, EventArgs e) Add(); 5.4 上传读取图片信息代码如下: public int add(string typename) OleDbConnection con = Db.createNewCon();

16、 string sql = insert into tb_type(typeName)+ values(typeName); OleDbCommand cmd = new OleDbCommand(sql); cmd.Connection = con; cmd.Parameters.AddWithValue(typeName, typename); int count = cmd.ExecuteNonQuery(); return count; /新?增?图?片? public int addpic(string Title, int type, string imgPath, string

17、Content, string Creater, string creatTime) OleDbConnection con = Db.createNewCon(); string sql = insert into tb_photo(Title,type,imgPath,Content,Creater,creatTime) + values(Title,type,imgPath,Content,Creater,creatTime); OleDbCommand cmd = new OleDbCommand(sql); cmd.Connection = con; cmd.Parameters.A

18、ddWithValue(Title, Title); cmd.Parameters.AddWithValue(type, type); cmd.Parameters.AddWithValue(imgPath, imgPath); cmd.Parameters.AddWithValue(Content, Content); cmd.Parameters.AddWithValue(Creater, Creater); cmd.Parameters.AddWithValue(creatTime, creatTime); int count = cmd.ExecuteNonQuery(); retur

19、n count; /读取?图?片?信?息 public DataSet getAllPic() OleDbConnection con = Db.createNewCon(); OleDbDataAdapter dad = new OleDbDataAdapter(); dad.SelectCommand = new OleDbCommand(select * from tb_photo order by id DESC, con); DataSet ds = new DataSet(); dad.Fill(ds, tb_photo); con.Close(); return ds; publ

20、ic DataSet getAllPicToN() OleDbConnection con = Db.createNewCon(); OleDbDataAdapter dad = new OleDbDataAdapter(); dad.SelectCommand = new OleDbCommand(select top 10 * from tb_photo order by id DESC, con); DataSet ds = new DataSet(); dad.Fill(ds, tb_photo); con.Close(); return ds; public DataSet getA

21、llPicType() OleDbConnection con = Db.createNewCon(); OleDbDataAdapter dad = new OleDbDataAdapter(); dad.SelectCommand = new OleDbCommand(select * from tb_type order by id asc, con); DataSet ds = new DataSet(); dad.Fill(ds, tb_type); con.Close(); return ds; public DataSet getAllPicTypeById(int id) Ol

22、eDbConnection con = Db.createNewCon(); OleDbCommand cmd = new OleDbCommand(select * from tb_type where id=id order by id asc, con); cmd.Parameters.AddWithValue(id,id); OleDbDataAdapter dad = new OleDbDataAdapter(cmd); DataSet ds = new DataSet(); dad.Fill(ds, tb_type); con.Close(); return ds; public

23、DataSet getAllPicTypeByType(int typeId) OleDbConnection con = Db.createNewCon(); OleDbCommand cmd = new OleDbCommand(select * from tb_photo where type=typeId order by id asc, con); cmd.Parameters.AddWithValue(typeId, typeId); OleDbDataAdapter dad = new OleDbDataAdapter(cmd); DataSet ds = new DataSet

24、(); dad.Fill(ds, tb_photo); con.Close(); return ds; public int GetMaxId() OleDbConnection con = Db.createNewCon(); OleDbCommand cmd = new OleDbCommand(select max(Id) from tb_photo, con); int count = (int)cmd.ExecuteScalar(); con.Close(); return count; public int GetMinId() OleDbConnection con = Db.c

25、reateNewCon(); OleDbCommand cmd = new OleDbCommand(select min(Id) from tb_photo, con); int count = (int)cmd.ExecuteScalar(); con.Close(); return count; public DataSet getAllPicById(int id) OleDbConnection con = Db.createNewCon(); OleDbCommand cmd = new OleDbCommand(select * from tb_photo where id=id

26、 order by id asc, con); cmd.Parameters.AddWithValue(id, id); OleDbDataAdapter dad = new OleDbDataAdapter(cmd); DataSet ds = new DataSet(); dad.Fill(ds, tb_photo); con.Close(); return ds; public int getAllPicCount() OleDbConnection con = Db.createNewCon(); OleDbCommand cmd = new OleDbCommand(); cmd.C

27、onnection =con; cmd.CommandText =select count(*) from tb_photo; int count =(int)cmd.ExecuteScalar(); return count; 5.5用户创建相册界面代码及运行效果如下: protected void Page_Load(object sender, EventArgs e) if(!Page.IsPostBack) DataTable dt = new photo().getAllPicType().Tables0; this.GridView1.DataSource = dt; this.

28、GridView1.DataBind(); protected void btnadd_Click(object sender, EventArgs e) string typename = this.TextBox1.Text.ToString(); int count = new photo().add(typename); if (count 0) Page.RegisterStartupScript(null, alert(添加成功|!);); else Page.RegisterStartupScript(null, alert(添加失败!);); protected void Gr

29、idView1_RowDataBound(object sender, GridViewRowEventArgs e) e.Row.Attributes.Add(onmouseover,currentcolor=this.style.backgroundColor,this.style.backgroundColor=red); e.Row.Attributes.Add(onmouseout, this.style.backgroundColor =currentcolor); 5.6用户图片代码及运行效果如下: public void databinds() DataTable dt = n

30、ew photo().getAllPicType().Tables0; this.dropdownlists.DataSource =dt; this.dropdownlists.DataTextField = typeName; this.dropdownlists.DataValueField = id; this.dropdownlists.DataBind(); protected void btnadd_Click(object sender, EventArgs e) / string id = new Random().Next(1, 1000).ToString(); /将?附

31、?件t传?送到?服t务?器上? string path = FileUpload1.PostedFile.FileName.ToString(); /获?取?上?传?图?片?路径? string ext = path.Substring(path.LastIndexOf(.) + 1); /获?取?图?片?扩?展1名? if (ext.ToLower() = jpg | ext.ToLower() = bmp | ext.ToLower() = gif | ext.ToLower() = png | ext.ToLower() = tif | ext.ToLower() = jpeg) str

32、ing phototitle = this.txttitle.Text.ToString(); string photocontent = this.txtcontent.Text.ToString(); string wPath = ./upload/ + path; string sPath = Server.MapPath(./upload/ + path); /设置?图?片?保存?到?服t务?器上?路径? string suoPath = Server.MapPath(./suo/) + path; / path = .Photo + PhotoID + . + ext; /保存?到?

33、数y据Y库a中D路径? FileUpload1.PostedFile.SaveAs(sPath); /保存?到?服t务?器 string urlPath = wPath; string photoUser = admin; string time = DateTime.Now.ToString(); int type = Convert.ToInt32(this.dropdownlists.SelectedValue.ToString(); int count = new photo().addpic(phototitle, type, path, photocontent, photoUse

34、r, time); if (count 0) PictureSlightly.MakeImage(sPath, suoPath, 100, 100, hw); this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, alert(添加成功|!);); else this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, alert(添加失败!);); else this.Page.ClientScript.RegisterStartupScrip

35、t(this.GetType(), null, alert(只?能上?传?图?片?!);); 5.7用户查看代码及运行效果如下: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) id = Request.QueryStringid; if (id != null) int newId = int.Parse(id) - 1; if (newId = new photo().GetMinId() this.Repeater1.DataSource = new photo().getAllPicById

36、(newId).Tables0; this.Repeater1.DataBind(); Response.Redirect(show.aspx?id= + newId); else this.Page.ClientScript.RegisterStartupScript(this.GetType(), null, alert(再无T数y据Y可查!);); return; /下?一?张?图?片?3. 系统测试在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行系统测试,

37、找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。最后找几个其他的同学再对系统进行黑盒子测试,验证系统是否满足用户的功能需求。在测试的过程,特别是在集成测试之后,发现了许多问题及功能缺陷,最后经过修改调试后都解决了。三、课程设计总结或结论1 通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。11 学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。12 掌握了自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程。13 加深

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922