软件工程课程设计3997183.docx

上传人:赵** 文档编号:5320571 上传时间:2022-01-01 格式:DOCX 页数:26 大小:496.93KB
返回 下载 相关 举报
软件工程课程设计3997183.docx_第1页
第1页 / 共26页
软件工程课程设计3997183.docx_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《软件工程课程设计3997183.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计3997183.docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程实验报告题目:作业提交系统学院:计算机科学与技术学院专业:07级计算机科学与技术队名:桃园2203小组成员:陈钦(E10714016) 方彬(E10714088) 曹春阳(E10714078) 夏志菁(E10714084)指导教师:韩莉完成日期:2009-12-8成绩:摘要作业提交系统2.0是基于b/s结构,在IIS平台上使用ASP与Microsoft SQL 2000开发的,主要目的是解决学校机房管理上机作业的问题。因为传统的对学生作业管理是在服务器上建立一个FTP服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传,然后学生将作业上传到服务器里对应的班级文件夹下面,传统方

2、式无法解决的问题有:不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。而这套系统正是出于这个目的,为了解决上面的问题而设计的。系统对于复杂的问题都采用程序的方式解决了。系统分了管理员、教师、学生用户,管理员须要的操作只是添加专业,添加班级,添加管理员或教师用户都是通过网页的形式展示出来。而教师无须向以前那样,只需要发布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。下载作业也只须要点一下就会

3、将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先上传后下节课再下载回来接着做。系统用程序的方式解决了那些非常复杂的操作,比如对文件夹的创建等,所有的角色只需要简单的几步操作就可以完成,非常简单实用。第一章 绪论1.1 问题定义解决传统的FTP服务器不能够满足作业上传的要求下:1教师发布作业必须到服务器上建立文件夹2教师发布作业由在黑板上写的形式改为在网页上写再发布3教师不能对作业进行限制如大小,类型,过期时间4教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可

4、以下载5教师无法发布成绩改为通过网页发布成绩6学生一次未完成的作业可以先上传再下载,完成之后再上传。7学生上传作业只须点一个按钮,无须选择要上传的目录1.2 小组成员分工在系统的四人开发小组中,每个人都有各自的模块,分工协作,具体有模块设计、代码实现、软件测试、编写文档,各分担一项。第二章 开发环境2.1 Visual Studio 2005概述Visual Studio.2008是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET都可以提供近乎完美的解决方案。VisuaStudio.2008提供了包括设计、编码、编译调试、数据

5、库连接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。2.2 C# 简介C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以使各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用程序调用。2.3 ASP简介 ASP是Active Server Pag

6、e的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。2.4 Server SQL Microsoft简介Microsoft SQL Server 2008是一个高性能的客户端/服务器结构的

7、关系数据库管理系统(RDBMS,Relational Database Management System)。SQL Server 2008是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 20008 Server上基于intel处理器的网络。可以把SQL Server 2008作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2008 Professional、Windows98和W

8、indows Millennium Edition(Me)的机器上。第三章 需求分析3.1 可行性分析系统是基于b/s结构,在IIS平台上使用ASP与Microsoft SQL 2008开发的,主要使用本地计算机进行测试和使用,完全可以运行。3.2 产品需求规格说明 目标解决学生上传作业问题,教师可以将新作业传到该系统上,也可以在次系统上下载学生上传的作业,并将成绩上传供学生查看。 用户的特点用户是机房管理员,对计算机技术比较了解,学校教师专业教师能很快熟悉系统的使用方法,非专业教师也能很快掌握,学校学生能很快学会使用系统。 基本功能1不同用户登录进入不同的界面2学生作业的查看3学生作业成绩的

9、查看4学生作业上传5教师布置作业6教师删除作业7教师修改作业8教师发布成绩9教师修改成绩10教师下载作业11管理员添加教师用户12管理员添加学生用户13个人资料的查看14个人密码的修改 假定与约束 1如果压缩文件夹的功能不能解决,那么只有教师到服务器拷贝文件夹 2如果学校觉得系统不能满足学生作业上传的需要,那么将不能放在机房,供学生使用 3如果遇到一些技术问题无法解决,那么将会加大系统的开发周期 4如果此系统在离开学期之前都无法开发成功,那么也不能提供给机房使用5不同用户登录进入不同的界面6管理员添加教师用户7管理员添加学生用户8个人资料的查看9个人密码的修改 对性能的规定 1要求系统支持Mi

10、crosoft .NET Framework 1.1 2要求系统支持Microsoft SQL Server数据库 限制条件1教师不可以进入管理员页面,还有学生页面;2管理员也不可以进行学生和教师页面;3每个学生登录进入之后只能看到自己班级的作业,不可以看到别的班级的作业;4每个教师登录只对自己发布的作业进行管理不可以对别的教师发布的作业进行管理;5当学生注册时输入的学号必需与选定的班级匹配;6不同的用户使用修改密码都只能修改自己的密码,无法修改他人的;7不同的用户使用个人数据功能时也是只可以看到自己的信息不可以看到他们的信息;8学生上传作业的类型,大小,时间等,受到教师发布作业的约束。 数据

11、流图总数据图: 细化后数据流图: 数据字典名字:教师开课信息别名:描述:教师开的教学课程和网络课程定义:信息=教师信息+开课班级信息位置:网络硬盘名字:学生选课信息别名:描述:学生选了某一门课程才能登陆到该课程班级定义:信息=学生信息+教师信息+开课班级信息位置:网络硬盘 名字:成绩别名:分数描述:学生作业批改的结果供学生和学校参考定义:成绩=0数字100 位置:网络硬盘 E-R图第四章 系统设计4.1 总体设计作业提交系统注册登录密码找回学生用户登录教师用户登录管理员用户登录查看成绩打包下载作业发布修改作业添加班级添加用户数据库管理上传作业下载作业查看作业发布修改成绩删除作业添加专业通用模板

12、修改密码查看个人资料注销系统 4.1.1 系统功能体系图4.1.2 系统设计的基本原则 本系统的目标是在Internet/Intranet上来实现网上作业提交,可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。系统采用了模块化的设计方法:选择了面向对象的、易于扩展的ASP编程语言环境使用Microsoft server 2008做为数据库平台。本系统整体上可划分为若干个功能模块。系统安全可靠也是一个重要的设计原则。本系统的配置是采用WindowsXP作为网络操作系统, Microsoft

13、 server 2008作为数据库服务器。所以操作系统WindowsXP的安全防护机制及数据库Microsoft server 2008的安全机制是本系统采用的安全防护方式。4.1.3 功能模块设计 在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序和管理员管理程序,教师管理程序部分主要实现学生信息的添加、所交班级信息的添加 、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。管理员具有系统的完全权限,管理员具有添加和删除教师的权限。系统主要功能模块具体描述如下: 学生模块 主要包括学生管理,主要功能:查看教师布置的作业,并下载作业,完成

14、作业后提交到服务器,以及修改学生自己的基本情况等。 教师模块 主要包括搜索作业模块,布置作业模块,管理作业模块,查看成绩模块,统计作业递交情况模块,修改资料模块。搜索作业模块,主要功能:搜索教师自己所布置的作业学生递交情况。 布置作业模块 主要功能:教师编辑所布置的作业,向学生发布作业,以及指明是否允许学生上传作业。 管理作业模块 主要功能:下载作业,评阅作业,给学生打分,以及删除本次作业。 修改资料模块 主要功能:修改教师自己的基本信息情况。 管理员模块 主要包括教师管理,学生管理,系统配置管理,主要功能:增加,修改,删除教师用户,配置系统参数,配置上传文件类型。4.2 数据库设计4.2.1

15、 数据库图4.2.2 数据库的约束与关系管理员表与其它表无关系只是为了存放管理员的帐号与密码等数据教师表里的ID字段为主键用于存放老师的ID学生表与教师表之间存在着外键约束,如果学生表里教师代号字段的值与教师表里面的学号代号值关键。作业表也是最重要的一个表它同时与二个表存在着外键约束,teaname字段与教师的代号之间相关联。4.3 特殊功能的原理4.3.1 管理员添加教师管理员的原理管理员可以添加教师用户,教师用户必须由管理员添加,每次当管理员添加教师用户时就会在网站目录下的一个专门用于存放上传作业的目录(up)的根目录下以教师的姓名为目录名新建一个根目录。用于教师布置作业之后,学生上传作业

16、的存放目录。4.3.2 教师发布修改作业的原理老师发布作业之后可以修改作业,而且二个功能都是使用的一个界面来完成,通过传递的一个参数来判断用户的操作是发布作业还是修改作业,如果是修改作业而取得一个ID值将数据库里的内容绑定到用户界面。4.3.3 教师发布修改成绩的原理 教师发布成绩或修改成绩的原理和教师发布修改作业的原理大至一样,都是使用一个页面来完成的,通过一个参数来判断用户的操作是发布还是修改。4.3.4 教师批量下载作业的原理 教师批量下载作业是将学生上传后的作业全部打包成一个zip的压缩文件,然后从服务器上下载。4.3.5 学生上传下载作业的原理 学生上传作业的时候,首先应该选择上传哪

17、个教师哪一次的作业。第五章 主要功能模块界面及编码实现5.1 系统运行资源管理图5.2 登录界面及编码屏幕切换编码: if (self != top) top.location = self.location; function switchSysBar() if (switchPoint.innerHTML = <) switchPoint.innerHTML = > document.getElementById(frmTitle).style.display = none; else switchPoint.innerHTML = < document.getEleme

18、ntById(frmTitle).style.display = block; function changeMainFrameSrc(url) /alert(url); document.getElementById(mainFrame).src = url; < 屏幕切换 if (window.screen.width 1024) switchSysBar() 5.4 管理员添加用户界面及编码protected void b_register_Click(object sender, EventArgs e) string user = ; string scmd=; if (r_a

19、dmin.Checked = true) user = admin; scmd = string.Format(insert into admin(username,adminid,password,name) values (0,1,2,3);,t_username.Text.ToString(),t_id.Text.ToString(),t_id.Text.ToString(),t_name.Text.ToString(); else if (r_student.Checked = true) user = student; scmd = string.Format(insert into

20、 student(username,stuid,password,stuname,sex,grade,class) values (0,1,2,3,4,5,6);,t_username.Text.ToString(), t_id.Text.ToString(), t_id.Text.ToString(), t_name.Text.ToString(),t_sex.Text.ToString(), t_grade.Text.ToString(), t_class.Text.ToString(); else user = teacher; scmd = string.Format(insert i

21、nto teacher(username,teaid,password,teaname,sex,fuction) values (0,1,2,3,4,5);,t_username.Text.ToString(), t_id.Text.ToString(), t_id.Text.ToString(),t_name.Text.ToString(),t_sex.Text.ToString(), t_fuction.Text.ToString(); if (t_id.Text.ToString() = ) Page.ClientScript.RegisterStartupScript(Page.Get

22、Type(), , string.Format(alert(请输入用户名!);); else if (t_name.Text.ToString() = ) Page.ClientScript.RegisterStartupScript(Page.GetType(), , string.Format(alert(请输入姓名!);); else string sconn = server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True; SqlConnection conn = new SqlConnection(sconn)

23、; conn.Open(); SqlCommand cmd = new SqlCommand(scmd, conn); cmd.ExecuteNonQuery(); conn.Close(); Page.ClientScript.RegisterStartupScript(Page.GetType(), , string.Format(alert(添加成功!);); Response.Redirect(admin.aspx); 5.5 教师发布修改作业界面及编码protected void Page_Load(object sender, EventArgs e) if (Sessionuse

24、rname = null) Response.Redirect(menus.htm); else teachername = Sessionusername.ToString(); SetBind(); private void SetBind() DataSet ds = new DataSet(); string sconn = server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True; SqlConnection conn = new SqlConnection(sconn); SqlDataAdapter da

25、 = new SqlDataAdapter(string.Format(select ID,title,num,conten from work where teaname=0, teachername), conn); da.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); conn.Close(); protected void b_addhomework_Click(object sender, EventArgs e) string path = string.Format(/work/0,t_addhomework.

26、Text.ToString();/目录在E盘 if (!Directory.Exists(path) string sconn = server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True; SqlConnection conn = new SqlConnection(sconn); conn.Open(); string scmd=string.Format(insert work(title,teaname,num,conten) values(0,1,0,2),t_addhomework.Text.ToStrin

27、g(),teachername,TextBox1.Text.ToString(); SqlCommand cmd = new SqlCommand(scmd,conn); cmd.ExecuteNonQuery(); conn.Close(); Directory.CreateDirectory(path); Page.ClientScript.RegisterStartupScript(Page.GetType(), , string.Format(alert(添加成功!);); else Page.ClientScript.RegisterStartupScript(Page.GetTyp

28、e(), , string.Format(alert(已经有该作业文档,请重新命名!);); protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = Select) int iIndex = Convert.ToInt16(e.CommandArgument); string title = GridView1.DataKeysiIndex.Value.ToString(); Response.Redirect(string.Format(showwor

29、k.aspx?title=0, title); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) int iIndex = Convert.ToInt16(e.RowIndex); string ID = GridView1.DataKeysiIndex.Value.ToString(); string sconn = server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True; SqlConnection con

30、n = new SqlConnection(sconn); string scmd = string.Format(delete from work where title=0,ID); conn.Open(); SqlCommand cmd = new SqlCommand(scmd, conn); cmd.ExecuteNonQuery(); conn.Close(); SetBind(); Page.ClientScript.RegisterStartupScript(Page.GetType(), , string.Format(alert(删除成功!););5.6 教师批量下载作业界

31、面及编码protectedvoidButton2_Click(objectsender,EventArgse)hello();stringstrtxtPath=strFileUploadPath;stringstrzipPath=strFileUploadPath+free.zip;System.Diagnostics.ProcessProcess1=newSystem.Diagnostics.Process();Process1.StartInfo.FileName=Winrar.exe;Process1.StartInfo.CreateNoWindow=true;/压缩c:freezipf

32、ree.txt(即文件夹及其下文件freezipfree.txt)/到c:freezipfree.rar/strzipPath=C:freezipfree;/设置压缩方式为.zipProcess1.StartInfo.Arguments=a-afzip+strzipPath+strtxtPath;/3Process1.Start();if(Process1.HasExited)intiExitCode=Process1.ExitCode;if(iExitCode=0)Response.Write(iExitCode.ToString()+正常完成);elseResponse.Write(iEx

33、itCode.ToString()+有错完成);5.7 学生上传作业界面及编码privatevoidhello()strFileUploadPath=string.Format(D:work0,title);stringID=Request.QueryStringID.ToString();SqlConnectionconn=newSqlConnection(server=(local)SQLEXPRESS;database=homework;Trusted_Connection=True);conn.Open();SqlCommandcmd=newSqlCommand(string.Form

34、at(select*fromworkwhereID=0,ID),conn);SqlDataReaderread=cmd.ExecuteReader();read.Read();teacher=readteaname.ToString();title=readtitle.ToString();conn.Close();privatevoidInitFileList()hello();strFileUploadPath=string.Format(D:work0,title);/组合成物理路径file:/D:homeworkpic/stringstrFilePath=Server.MapPath(

35、strFileUploadPath);/读取文件夹下所有文件FileInfoarrFiles=newDirectoryInfo(strFileUploadPath).GetFiles();/把文件名逐一添加到列表框控件控件foreach(FileInfofiinarrFiles)lb_FileList.Items.Add(fi.Name);privatevoidInitUploadLimit()/从config中读取上传文件类型限制并根据逗号分割成字符串数组stringarrFileTypeLimit=ConfigurationManager.AppSettingsFileTypeLimit.

36、ToString().Split(,);/从config中读取上传文件大小限制doubleiFileSizeLimit=Convert.ToInt32(ConfigurationManager.AppSettingsFileSizeLimit);/遍历字符串数组把所有项加入项目编号控件for(inti=0;iarrFileTypeLimit.Length;i+)bl_FileTypeLimit.Items.Add(arrFileTypeLimiti.ToString();/把文件大小限制赋值给标签lab_FileSizeLimit.Text=string.Format(0:f2M,iFileSizeLimit/1024);hello();strFileUploadPath=string.Format(D:work0,title);intitemNo=(Int16)(lb_FileList.Items.Count-1);

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

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁