首页 软件工程课程设计报告

软件工程课程设计报告

举报
开通vip

软件工程课程设计报告滨江学院软件工程课程设计报告(2011--2012年度第一学期)课程名称:软件工程课程设计题目:个人电子相册的设计与实现院系:计算机科学与技术系班级:软件工程(3)班学号:20092344914姓名:唐晨暄指导教师:李振宏设计周数:两周日期:2012年4月4日摘要:本系统实现网络相册的的基本功能,包括用户创建影集,修改影集名称,用户的注册和登录,用户图片的上传,数据库图片的播放;管理员管理图片和用户。系统利用.Net平台技术进行开发,实现相册的的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开...

软件工程课程设计报告
滨江学院软件工程课程MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1716162510127_3报告(2011--2012年度第一学期)课程名称:软件工程课程设计题目:个人电子相册的设计与实现院系:计算机科学与技术系班级:软件工程(3)班学号:20092344914姓名:唐晨暄指导教师:李振宏设计周数:两周日期:2012年4月4日摘要:本系统实现网络相册的的基本功能,包括用户创建影集,修改影集名称,用户的注册和登录,用户图片的上传,数据库图片的播放;管理员管理图片和用户。系统利用.Net平台技术进行开发,实现相册的的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 进行了介绍。1、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。二、设计正文1.概述1.1课题题目:个人电子相册的设计与实现1.2系统的主要目标:研究Flash、Flex、Silverlight等富客户端(RichClient)编程技术,了解B/S编程技术发展的未来趋势,掌握一种开发平台,编写出具有更高交互性和网络体验的Web应用程序。1.3系统的开发环境及运行环境:操作系统:Windows7旗舰版建模工具:RationalRose2003数据库系统:Access2007开发工具:VisualStudio2010Web服务器:IIS+ASP.NET2.0平台2.1可行性分析2.1.1系统总体目标电子相册是互联网络的产物,现在电子相册系统已经层出不穷,而本系统是一个区别于现在国内外已经开发出来的电子相册网站系统,它是一个单用户空间而非网站,主要是一个为用户提供的个人相片展示、存放的个人相册空间。这个电子相册的定位是一群朋友共享照片、交流讨论的开放式的个人空间。本系统可以供自己展示、存放照片,可以让拥有正确口令的浏览者浏览该用户的照片以及发表留言,同时拥有正确口令的浏览者也享有用户所有的权利(上传、删除相片等),它在某种程度上是开放式的、自由式的。因此这是一个相对来说安全、私密、开放的和朋友分享、交流的私人电子相册空间。2.1.2技术可行性分析这个电子相册是一种基于B/S 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 的管理系统,它采用目前最有发展前景的c#语言编写,用到了当今先进的技术如Html,CSS+DIV,JavaScript,Mysql等关键技术来实现该系统。开发本系统的VisualStudio2010编程软件、是可以直接在网络上免费下来得来的,其中的Wamp集成环境在Windows平台下集成了Apache、MySQL、PHP服务,无需再另外下载PHP环境和MySQL数据库。这些应用软件是现在常用的网页开发工具,都能够很方便的掌握,并且也学了有关网页开发的课程,实现该电子相册空间的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。2.2需求分析2.2.1总体需求该设计系统要具有实用性,功能完善,界面良好。设计该系统的流程如图3所示。流程设计:程序设计:图2.1程序设计流程图2.2.2功能需求本系统应该具有登录验证、修改密码、创建相册、浏览相片、上传相片、删除相册或相片、等功能,详见图4。图2.2电子相册系统功能结构图3.系统总体设计3.1设计问题域子系统相册系统是实现用户上传照片、用户交流图片以的一个平台,整个电子相册系统有前台和后台两部分,共分为4个模块:用户上传,管理模块,注册登录模块和阅览模块,分别用于完成各自的功能。(1)各模块功能表2-1学生选课系统功能模块表 功能模块 包含子功能模块 功能 管理模块 注册管理子模块 填写信息,进行注册 相册管理子模块 对相册进行管理 相片管理子模块 对相片进行管理 用户上传 用户上传自己的图片 登录 用户用户 阅览模块 查看已经上传的图片3.2设计数据管理子系统(1)数据库表表3-2数据库表 序号 数据库表 数据表存储的内容 1 tb_photo 存储相片的信息 2 tb_type 存储相册的信息 3 admin 存储用户的信息(3)数据库表结构①相册tb_type的详细数据字段:表3-3Student学生用户表 序号 字段名 字段类型 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 备注 1 ID nvarchar(20)notnull 序号 关键字 2 TypeName 文本 相册名字 ②相片tb_photo的详细数据字段:表3-4Teacher教师用户表 序号 字段名 字段类型 说明 备注 1 ID nvarchar(20)notnull 序号 关键字 2 Title 文本 标题 3 Type 数字 所属相册 4 imgPath 文本 图片路径 5 Content 备注 内容 6 Creater 文本 创建者 7 CreatTime 备注 创建时间 ③用户表admin的详细数据字段:表3-7Users管理员表 序号 字段名 字段类型 说明 备注 1 User nvarchar(20)notnull 用户名 关键字 2 Pwd nvarchar(20)notnul 系统管理员密码 3.3设计人机交互子系统(1)用户分类本系统的用户可分为三类:2管理员用户;②普通用户;(2)用户描述①管理员用户的描述:管理员用户在整个选课系统中起到管理和维护的作用,对普通的信息进行管理和维护。②普通用户的描述:普通用户负责试用系统的各项4.1用户注册流程图4.2用户上传图片流程图4.3用户创建相册流程图4.系统实现本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。5.1主要是与数据库连接,提供数据库操作功能,代码如下:publicstaticOleDbConnectioncreateNewCon()//创建并打开一个链接{stringconStr="Provider=Microsoft.Jet.OleDb.4.0;DataSource="+System.AppDomain.CurrentDomain.BaseDirectory+@"\App_Data\photo.mdb";OleDbConnectioncon=newOleDbConnection(conStr);con.Open();returncon;}}5.2所有系统角色用户的基类,完成用户登录验证功能,代码如下:privatevoidLoginCheck(){stringUserID=txtuser.Text.Trim().ToString();stringpwd=txtpassword.Text.Trim().ToString();OleDbConnectioncon=Db.createNewCon();//con.Open();stringSql="Selectuser,pwdfromadminwhereuser='"+UserID+"'andpwd='"+pwd+"'";OleDbCommandcmd=newOleDbCommand(Sql.ToString(),con);//开a始º?验¨¦证¡èOleDbDataReaderread=cmd.ExecuteReader();if(read.Read()){Response.Redirect("Index.aspx");}else{Response.Write("<script>alert('帐¨º号?或¨°密¨¹码?错䨪误¨®!')</script>");}con.Close();}//登录protectedvoidbtnOK_Click(objectsender,EventArgse){LoginCheck();}protectedvoidbtnSi_Click(objectsender,EventArgse){Response.Redirect("resign.aspx");}5.3系统注册页面,代码及运行效果如下:privatevoidAdd(){stringUserID=txtuser.Text.Trim().ToString();stringpwd=txtpassword.Text.Trim().ToString();OleDbConnectioncon=Db.createNewCon();stringSql="insertintoadmin([user],[pwd])"+"values(@user,@pwd)";OleDbCommandcmd=newOleDbCommand(Sql.ToString(),con);cmd.Parameters.AddWithValue("@user",UserID);cmd.Parameters.AddWithValue("@pwd",pwd);intredult=cmd.ExecuteNonQuery();if(redult>0)Response.Redirect("Login.aspx");}protectedvoidbtnqd_Click(objectsender,EventArgse){Add();}}5.4上传读取图片信息代码如下:publicintadd(stringtypename){OleDbConnectioncon=Db.createNewCon();stringsql="insertintotb_type(typeName)"+"values(@typeName)";OleDbCommandcmd=newOleDbCommand(sql);cmd.Connection=con;cmd.Parameters.AddWithValue("@typeName",typename);intcount=cmd.ExecuteNonQuery();returncount;}//新?增?图ª?片?publicintaddpic(stringTitle,inttype,stringimgPath,stringContent,stringCreater,stringcreatTime){OleDbConnectioncon=Db.createNewCon();stringsql="insertintotb_photo(Title,type,imgPath,Content,Creater,creatTime)"+"values(@Title,@type,@imgPath,@Content,@Creater,@creatTime)";OleDbCommandcmd=newOleDbCommand(sql);cmd.Connection=con;cmd.Parameters.AddWithValue("@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);intcount=cmd.ExecuteNonQuery();returncount;}//读¨¢取¨?图ª?片?信?息¡épublicDataSetgetAllPic(){OleDbConnectioncon=Db.createNewCon();OleDbDataAdapterdad=newOleDbDataAdapter();dad.SelectCommand=newOleDbCommand("select*from[tb_photo]orderby[id]DESC",con);DataSetds=newDataSet();dad.Fill(ds,"tb_photo");con.Close();returnds;}publicDataSetgetAllPicToN(){OleDbConnectioncon=Db.createNewCon();OleDbDataAdapterdad=newOleDbDataAdapter();dad.SelectCommand=newOleDbCommand("selecttop10*from[tb_photo]orderby[id]DESC",con);DataSetds=newDataSet();dad.Fill(ds,"tb_photo");con.Close();returnds;}publicDataSetgetAllPicType(){OleDbConnectioncon=Db.createNewCon();OleDbDataAdapterdad=newOleDbDataAdapter();dad.SelectCommand=newOleDbCommand("select*from[tb_type]orderby[id]asc",con);DataSetds=newDataSet();dad.Fill(ds,"tb_type");con.Close();returnds;}publicDataSetgetAllPicTypeById(intid){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand("select*from[tb_type]whereid=@idorderby[id]asc",con);cmd.Parameters.AddWithValue("@id",id);OleDbDataAdapterdad=newOleDbDataAdapter(cmd);DataSetds=newDataSet();dad.Fill(ds,"tb_type");con.Close();returnds;}publicDataSetgetAllPicTypeByType(inttypeId){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand("select*from[tb_photo]wheretype=@typeIdorderby[id]asc",con);cmd.Parameters.AddWithValue("@typeId",typeId);OleDbDataAdapterdad=newOleDbDataAdapter(cmd);DataSetds=newDataSet();dad.Fill(ds,"tb_photo");con.Close();returnds;}publicintGetMaxId(){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand("selectmax(Id)from[tb_photo]",con);intcount=(int)cmd.ExecuteScalar();con.Close();returncount;}publicintGetMinId(){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand("selectmin(Id)from[tb_photo]",con);intcount=(int)cmd.ExecuteScalar();con.Close();returncount;}publicDataSetgetAllPicById(intid){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand("select*from[tb_photo]whereid=@idorderby[id]asc",con);cmd.Parameters.AddWithValue("@id",id);OleDbDataAdapterdad=newOleDbDataAdapter(cmd);DataSetds=newDataSet();dad.Fill(ds,"tb_photo");con.Close();returnds;}publicintgetAllPicCount(){OleDbConnectioncon=Db.createNewCon();OleDbCommandcmd=newOleDbCommand();cmd.Connection=con;cmd.CommandText="selectcount(*)fromtb_photo";intcount=(int)cmd.ExecuteScalar();returncount;}}5.5用户创建相册界面代码及运行效果如下:protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){DataTabledt=newphoto().getAllPicType().Tables[0];this.GridView1.DataSource=dt;this.GridView1.DataBind();}}protectedvoidbtnadd_Click(objectsender,EventArgse){stringtypename=this.TextBox1.Text.ToString();intcount=newphoto().add(typename);if(count>0){Page.RegisterStartupScript(null,"<script>alert('添¬¨ª加¨®成¨¦功|!');</script>");}else{Page.RegisterStartupScript(null,"<script>alert('添¬¨ª加¨®失º¡ì败㨹!');</script>");}}protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor,this.style.backgroundColor='red'");e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");}}5.6用户图片代码及运行效果如下:publicvoiddatabinds(){DataTabledt=newphoto().getAllPicType().Tables[0];this.dropdownlists.DataSource=dt;this.dropdownlists.DataTextField="typeName";this.dropdownlists.DataValueField="id";this.dropdownlists.DataBind();}protectedvoidbtnadd_Click(objectsender,EventArgse){//stringid=newRandom().Next(1,1000).ToString();//将?附?件t传ä?送¨ª到Ì?服¤t务?器¡Â上¦?stringpath=FileUpload1.PostedFile.FileName.ToString();//获?取¨?上¦?传ä?图ª?片?路¡¤径?stringext=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"){stringphototitle=this.txttitle.Text.ToString();stringphotocontent=this.txtcontent.Text.ToString();stringwPath="../upload/"+path;stringsPath=Server.MapPath("../upload/"+path);//设¦¨¨置?图ª?片?保À¡ê存ä?到Ì?服¤t务?器¡Â上¦?路¡¤径?stringsuoPath=Server.MapPath("../suo/")+path;//path="..\\Photo\\"+PhotoID+"."+ext;//保À¡ê存ä?到Ì?数ºy据Y库a中D路¡¤径?FileUpload1.PostedFile.SaveAs(sPath);//保À¡ê存ä?到Ì?服¤t务?器¡ÂstringurlPath=wPath;stringphotoUser="admin";stringtime=DateTime.Now.ToString();inttype=Convert.ToInt32(this.dropdownlists.SelectedValue.ToString());intcount=newphoto().addpic(phototitle,type,path,photocontent,photoUser,time);if(count>0){PictureSlightly.MakeImage(sPath,suoPath,100,100,"hw");this.Page.ClientScript.RegisterStartupScript(this.GetType(),null,"<script>alert('添¬¨ª加¨®成¨¦功|!');</script>");}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(),null,"<script>alert('添¬¨ª加¨®失º¡ì败㨹!');</script>");}}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(),null,"<script>alert('只?能¨¹上¦?传ä?图ª?片?!');</script>");}}}5.7用户查看代码及运行效果如下:protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){id=Request.QueryString["id"];if(id!=null){intnewId=int.Parse(id)-1;if(newId>=newphoto().GetMinId()){this.Repeater1.DataSource=newphoto().getAllPicById(newId).Tables[0];this.Repeater1.DataBind();Response.Redirect("show.aspx?id="+newId);}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(),null,"<script>alert('再¨´无T数ºy据Y可¨¦查¨¦!');</script>");return;}}}//下?一°?张?图ª?片?5.系统测试在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行系统测试,找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。最后找几个其他的同学再对系统进行黑盒子测试,验证系统是否满足用户的功能需求。在测试的过程,特别是在集成测试之后,发现了许多问题及功能缺陷,最后经过修改调试后都解决了。三、课程设计总结或结论1.通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。1.1学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。1.2掌握了自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程。1.3加深掌握了.Net平台的三层架构模式设计。1.4进一步加强和提高软件工程文档的编写能力。2.本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好等。四、参考文献开始程序功能需要页面设计初始化数据库设计条件代码设计代码操作调试发布登录验证注册用户创建相册浏览相片上传相片删除相片删除相册1:“电子相册”系统1.1:用户组件1.2:管理员模块1.3:注册、登录模块1.4:阅览模块开始点击“打开”按钮选择图片添加图片信息点击“确定”按钮回到主窗口结束开始输入用户名、密码验证用户名、密码提示用户登录失败进入相应的用户页面选择相关管理操作安全退出系统验证正确结束是否图4-1系统用户登录流程图开始输入相册名称输入不合法,重新输入提示创建成功是否合法?结束图4-3用户创建相册流程图是否
本文档为【软件工程课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
金水文库
鑫淼网络科技有限公司主要经营:PPT设计 、课件制作,软文策划、合同简历设计、计划书策划案、各类模板等。公司秉着用户至上的原则服务好每一位客户
格式:doc
大小:830KB
软件:Word
页数:0
分类:
上传时间:2020-04-19
浏览量:2