软件工程实验报告

时间:2024.4.13

软件工程实验报告

题目:作业提交系统

学院:计算机科学与技术学院

专业:07级计算机科学与技术

队名:桃园2203

小组成员:陈钦(E10714016)

           方彬(E10714088)

             曹春阳(E10714078)

              夏志菁(E10714084)

指导教师:韩莉

完成日期:20##-12-8

成绩:

摘要

作业提交系统2.0是基于b/s结构,在IIS平台上使用ASP与Microsoft SQL 2000开发的,主要目的是解决学校机房管理上机作业的问题。因为传统的对学生作业管理是在服务器上建立一个FTP服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传,然后学生将作业上传到服务器里对应的班级文件夹下面,传统方式无法解决的问题有:不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。而这套系统正是出于这个目的,为了解决上面的问题而设计的。系统对于复杂的问题都采用程序的方式解决了。系统分了管理员、教师、学生用户,管理员须要的操作只是添加专业,添加班级,添加管理员或教师用户都是通过网页的形式展示出来。而教师无须向以前那样,只需要发布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先上传后下节课再下载回来接着做。系统用程序的方式解决了那些非常复杂的操作,比如对文件夹的创建等,所有的角色只需要简单的几步操作就可以完成,非常简单实用。

第一章 绪论

1.1 问题定义

解决传统的FTP服务器不能够满足作业上传的要求下:

1.教师发布作业必须到服务器上建立文件夹

2.教师发布作业由在黑板上写的形式改为在网页上写再发布

3.教师不能对作业进行限制如大小,类型,过期时间

4.教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载

5.教师无法发布成绩改为通过网页发布成绩

6.学生一次未完成的作业可以先上传再下载,完成之后再上传。

7.学生上传作业只须点一个按钮,无须选择要上传的目录

1.2 小组成员分工

在系统的四人开发小组中,每个人都有各自的模块,分工协作,具体有模块设计、代码实现、软件测试、编写文档,各分担一项。

第二章 开发环境

2.1  Visual Studio 2005概述

Visual Studio.2008是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET都可以提供近乎完美的解决方案。VisuaStudio.2008提供了包括设计、编码、编译调试、数据库连接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。

2.2  C# 简介

C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以使各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用程序调用。

2.3  ASP简介

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

2.4  Server SQL Microsoft简介

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

第三章 需求分析

3.1 可行性分析

系统是基于b/s结构,在IIS平台上使用ASP与Microsoft SQL 2008开发的,主要使用本地计算机进行测试和使用,完全可以运行。

3.2  产品需求规格说明

    <>目标

解决学生上传作业问题,教师可以将新作业传到该系统上,也可以在次系统上下载学生上传的作业,并将成绩上传供学生查看。

<>用户的特点

用户是机房管理员,对计算机技术比较了解,学校教师专业教师能很快熟悉系统的使用方法,非专业教师也能很快掌握,学校学生能很快学会使用系统。

<>基本功能

1.不同用户登录进入不同的界面

2.学生作业的查看

3.学生作业成绩的查看

4.学生作业上传

5.教师布置作业

6.教师删除作业

7.教师修改作业

8.教师发布成绩

9.教师修改成绩

10.教师下载作业

11.管理员添加教师用户

12.管理员添加学生用户

13.个人资料的查看

14.个人密码的修改

<>假定与约束

    1.如果压缩文件夹的功能不能解决,那么只有教师到服务器拷贝文件夹

    2.如果学校觉得系统不能满足学生作业上传的需要,那么将不能放在机房,

供学生使用

    3.如果遇到一些技术问题无法解决,那么将会加大系统的开发周期

    4.如果此系统在离开学期之前都无法开发成功,那么也不能提供给机房使用

5.不同用户登录进入不同的界面

6.管理员添加教师用户

7.管理员添加学生用户

8.个人资料的查看

9.个人密码的修改

<>对性能的规定

   1.要求系统支持Microsoft .NET Framework 1.1

   2.要求系统支持Microsoft SQL Server数据库

<>限制条件

1.教师不可以进入管理员页面,还有学生页面;

2.管理员也不可以进行学生和教师页面;

3.每个学生登录进入之后只能看到自己班级的作业,不可以看到别的班级的作业;

4.每个教师登录只对自己发布的作业进行管理不可以对别的教师发布的作业进行管理;

5.当学生注册时输入的学号必需与选定的班级匹配;

6.不同的用户使用修改密码都只能修改自己的密码,无法修改他人的;

7.不同的用户使用个人数据功能时也是只可以看到自己的信息不可以看到他们的信息;

8.学生上传作业的类型,大小,时间等,受到教师发布作业的约束。

    

<>数据流图

总数据图:

   

细化后数据流图:

 

     <>数据字典

      

<>  E-R

第四章 系统设计

4.1 总体设计

  4.1.1系统功能体系图

4.1.2系统设计的基本原则

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

4.1.3功能模块设计

  在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序和管理员管理程序,教师管理程序部分主要实现学生信息的添加、所交班级信息的添加 、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。管理员具有系统的完全权限,管理员具有添加和删除教师的权限。

系统主要功能模块具体描述如下:

<>学生模块

  主要包括学生管理,主要功能:查看教师布置的作业,并下载作业,完成作业后提交到服务器,以及修改学生自己的基本情况等。

<>教师模块

  主要包括搜索作业模块,布置作业模块,管理作业模块,,查看成绩模块,统计作业递交情况模块,修改资料模块。搜索作业模块,主要功能:搜索教师自己所布置的作业学生递交情况。

<>布置作业模块

  主要功能:教师编辑所布置的作业,向学生发布作业,以及指明是否允许学生上传作业。

<>管理作业模块

   主要功能:下载作业,评阅作业,给学生打分,以及删除本次作业。

<>修改资料模块

   主要功能:修改教师自己的基本信息情况。

<>管理员模块

  主要包括教师管理,学生管理,系统配置管理,主要功能:增加,修改,删除教师用户,配置系统参数,配置上传文件类型。

4.2 数据库设计

4.2.1数据库图

4.2.2数据库的约束与关系

管理员表与其它表无关系只是为了存放管理员的帐号与密码等数据

教师表里的ID字段为主键用于存放老师的ID

学生表与教师表之间存在着外键约束,如果学生表里教师代号字段的值与教师表里面的学号代号值关键。

作业表也是最重要的一个表它同时与二个表存在着外键约束,teaname字段与教师的代号之间相关联。

4.3  特殊功能的原理

4.3.1管理员添加教师管理员的原理

管理员可以添加教师用户,教师用户必须由管理员添加,每次当管理员添加教师用户时就会在网站目录下的一个专门用于存放上传作业的目录(up)的根目录下以教师的姓名为目录名新建一个根目录。用于教师布置作业之后,学生上传作业的存放目录。

4.3.2教师发布修改作业的原理

老师发布作业之后可以修改作业,而且二个功能都是使用的一个界面来完成,通过传递的一个参数来判断用户的操作是发布作业还是修改作业,如果是修改作业而取得一个ID值将数据库里的内容绑定到用户界面。

4.3.3教师发布修改成绩的原理

   教师发布成绩或修改成绩的原理和教师发布修改作业的原理大至一样,都是使用一个页面来完成的,通过一个参数来判断用户的操作是发布还是修改。

4.3.4教师批量下载作业的原理

   教师批量下载作业是将学生上传后的作业全部打包成一个zip的压缩文件,然后从服务器上下载。

4.3.5学生上传下载作业的原理

   学生上传作业的时候,首先应该选择上传哪个教师哪一次的作业。

第五章 主要功能模块界面及编码实现

5.1 系统运行资源管理图

5.2 登录界面及编码

屏幕切换编码:

<SCRIPT language=JavaScript type=text/javascript>

    if (self != top) {

        top.location = self.location;

    }

    function switchSysBar() {

        if (switchPoint.innerHTML == '&lt;') {

            switchPoint.innerHTML = '&gt;'

            document.getElementById("frmTitle").style.display = "none";

        }

        else {

            switchPoint.innerHTML = '&lt;'

            document.getElementById("frmTitle").style.display = "block";

        }

    }

    function changeMainFrameSrc(url) {

        //alert(url);

        document.getElementById("mainFrame").src = url;

    }

</SCRIPT>

<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" height="100%">

  <TBODY>

  <TR>

    <TD id=frmTitle height="100%" vAlign=center noWrap align=middle><IFRAME

      id=nagFrame class=iframe1 src="nag.htm" frameBorder=0

      name=nagFrame></IFRAME></TD>

    <TD class=td2>

      <TABLE border=0 cellSpacing=0 cellPadding=0 height="100%">

        <TBODY>

        <TR>

          <TD onclick=switchSysBar()><FONT

            class=switchbarfont><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><SPAN

            id=switchPoint class=navPoint title=关闭/打开左栏>&lt;</SPAN>

            <BR><BR><BR><BR><BR><BR><BR><BR>屏幕切换 </FONT></TD></TR></TBODY></TABLE></TD>

    <TD style="WIDTH: 100%"><IFRAME id=mainFrame class=iframe2

      src="login.aspx"" frameBorder=0 name=mainFrame

      scrolling=yes></IFRAME></TD></TR></TBODY></TABLE>

<SCRIPT language=JavaScript type=text/javascript>

    if (window.screen.width < '1024') { switchSysBar() }

</SCRIPT>

5.4 管理员添加用户界面及编码

protected void b_register_Click(object sender, EventArgs e)

    {

        string user = "";

        string scmd="";

        if (r_admin.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 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 into 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.GetType(), "", string.Format("<script>alert('请输入用户名!');</script>"));

        }

        else if (t_name.Text.ToString() == "")

        {

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('请输入姓名!');</script>"));

        }

        else

        {

            string sconn = @"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection=True";

            SqlConnection conn = new SqlConnection(sconn);

            conn.Open();

            SqlCommand cmd = new SqlCommand(scmd, conn);

            cmd.ExecuteNonQuery();

            conn.Close();

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('添加成功!');</script>"));

            Response.Redirect("admin.aspx");

        }

5.5 教师发布修改作业界面及编码

protected void Page_Load(object sender, EventArgs e)

    {

        if (Session["username"] == null)

        {

            Response.Redirect("menus.htm");

        }

        else{ teachername = Session["username"].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 = 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.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.ToString(),teachername,TextBox1.Text.ToString());

            SqlCommand cmd = new SqlCommand(scmd,conn);

            cmd.ExecuteNonQuery();

            conn.Close();

            Directory.CreateDirectory(path);

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('添加成功!');</script>"));

        }

        else

        {

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('已经有该作业文档,请重新命名!');</script>"));

        }

    }

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

    {

        if (e.CommandName == "Select")

        {

            int iIndex = Convert.ToInt16(e.CommandArgument);

            string title = GridView1.DataKeys[iIndex].Value.ToString();

            Response.Redirect(string.Format("showwork.aspx?title={0}", title));

        }

    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        int iIndex = Convert.ToInt16(e.RowIndex);

        string ID = GridView1.DataKeys[iIndex].Value.ToString();

        string sconn = @"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection=True";

        SqlConnection conn = 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("<script>alert('删除成功!');</script>"));

}

5.6 教师批量下载作业界面及编码

 protected void Button2_Click(object sender, EventArgs e)
    {
        hello();
        string strtxtPath = strFileUploadPath;
        string strzipPath =  strFileUploadPath+"\\free.zip";
        System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
        Process1.StartInfo.FileName = "Winrar.exe";
        Process1.StartInfo.CreateNoWindow = true;

        ////压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)
        ////到c:\freezip\free.rar
       // strzipPath = "C: \\freezip\\free";//设置压缩方式为 .zip
        Process1.StartInfo.Arguments = " a -afzip " + strzipPath + " " + strtxtPath;

        //// 3

        Process1.Start();
        if (Process1.HasExited)
        {
            int iExitCode = Process1.ExitCode;
            if (iExitCode == 0)
            {
                Response.Write(iExitCode.ToString() + " 正常完成");
            }
            else
            {
                Response.Write(iExitCode.ToString() + " 有错完成");
            }
        }
            

5.7 学生上传作业界面及编码

private void hello()
    {
        strFileUploadPath = string.Format("D: \\work\\{0}\\", title);
        string ID = Request.QueryString["ID"].ToString();
        SqlConnection conn = new SqlConnection(@"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection=True");
        conn.Open();
        SqlCommand cmd = new SqlCommand(string.Format("select * from work where ID={0}", ID), conn);
        SqlDataReader read = cmd.ExecuteReader();
        read.Read();
        teacher = read["teaname"].ToString();
        title = read["title"].ToString();
        conn.Close();
    }

private void InitFileList()
    {
        hello();
        strFileUploadPath = string.Format("D: \\work\\{0}\\", title);
        //组合成物理路径 file:///D:\homework\pic\
       //string strFilePath = Server.MapPath(strFileUploadPath);
        //读取文件夹下所有文件
        FileInfo[] arrFiles = new DirectoryInfo(strFileUploadPath).GetFiles();
        //把文件名逐一添加到列表框控件控件
        foreach (FileInfo fi in arrFiles)
            lb_FileList.Items.Add(fi.Name);
    }
 private void InitUploadLimit()
    {
    
        //从config中读取上传文件类型限制并根据逗号分割成字符串数组
        string[] arrFileTypeLimit = ConfigurationManager.AppSettings["FileTypeLimit"].ToString().Split(',');
        //从config中读取上传文件大小限制
        double iFileSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FileSizeLimit"]);
        //遍历字符串数组把所有项加入项目编号控件
        for (int i = 0; i < arrFileTypeLimit.Length; i++)
            bl_FileTypeLimit.Items.Add(arrFileTypeLimit[i].ToString());
        //把文件大小限制赋值给标签
        lab_FileSizeLimit.Text = string.Format("{0:f2} M", iFileSizeLimit / 1024);
    }
  hello();
        strFileUploadPath = string.Format("D: \\work\\{0}\\", title);
        int itemNo = (Int16)(lb_FileList.Items.Count - 1);

        do
        {
            ListItem item;
            item = lb_FileList.Items[itemNo];
            if (lb_FileList.Items[itemNo].Selected)
            {
                string strFileName = lb_FileList.SelectedValue;
                //组合成物理路径
                string strFilePhysicalPath = strFileUploadPath + strFileName;
                Response.Clear();
                Response.ContentType = "application/octet-stream";
                Response.AddHeader("Content-Disposition", "attachment;FileName=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
                Response.WriteFile(strFilePhysicalPath);
                Response.End();
  

5.8 数据库类编码

hello();
        //判断用户是否选择了文件
        if (FileUpload.HasFile)
        {
            //调用自定义方法判断文件类型是否符合要求
            if (IsAllowableFileType())
            {
                //调用自定义方法判断文件大小是否符合要求
                if (IsAllowableFileSize())
                {
                   
                     
                     if (FileUpload.HasFile)
                     {
                         strFileUploadPath = string.Format("D: \\work\\{0}\\", title);
                         string filename = FileUpload.FileName;
                         string filenewname = Session["ID"].ToString();
                         string fileext = Path.GetExtension(filename);
                         string strFileName = Server.MapPath(filenewname + fileext);
                         FileUpload.SaveAs(strFileUploadPath + filenewname + fileext);
                         SqlConnection conn = new SqlConnection(@"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection=True");
                         conn.Open();
                         SqlCommand cmd1 = new SqlCommand(string.Format("select * from student where username='{0}'", Session["username"].ToString()), conn);
                         SqlDataReader read1 = cmd1.ExecuteReader();
                         read1.Read();
                         string stuid = read1["stuid"].ToString();
                         string stuname = read1["stuname"].ToString();
                         read1.Close();
                         SqlCommand cmd2 = new SqlCommand(string.Format("select * from teacher where teaname='{0}'", teacher), conn);
                         SqlDataReader read2 = cmd2.ExecuteReader();
                         read2.Read();
                         string teaid = read2["teaid"].ToString();
                         string teaname = read2["teaname"].ToString();
                         read2.Close();
                         SqlCommand cmd3 = new SqlCommand(string.Format("insert into homework(title,stuname,teaname,stuid,teaid,mark) values ('{0}','{1}','{2}','{3}','{4}','0')", title, stuname, teaname, stuid, teaid), conn);
                         cmd3.ExecuteNonQuery();
                         conn.Close();
                         lb_FileList.Items.Add(filenewname + fileext);
                         //更新文件夹信息
                         InitFolderInfo();
                         //调用自定义方法显示提示
                         ShowMessageBox("文件成功上传");
                     }
                     else
                     {
                         //调用自定义方法显示提示
                         ShowMessageBox("文件大小不符合要求,请参看上传限制");
                     }
            }
            else
            {
                //调用自定义方法显示提示
                ShowMessageBox("文件类型不符合要求,请参看上传限制");
            }
        }
       

 5.9其他功能

protected void btnSubmit_Click(object sender, EventArgs e)

    {

        string user = Session["user"].ToString();

         string sconn = @"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection=True";

        SqlConnection conn = new SqlConnection(sconn);

        conn.Open();

        SqlCommand cmd = new SqlCommand(string.Format("update {0} set password='{1}' where (username='{2}')", user,txtPwd.Text.ToString(), txtName.Text.ToString()),conn);

        cmd.ExecuteNonQuery();

        conn.Close();

        Page.ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script>alert('修改成功!');</script>"));

}

第六章 实验心得

经过小组的共同的努力,作业提交系统终于完成了,实现了需求分析的基本功能,基本满足了作业上传及批量下载的需求,开发过程中一开始一直在实现界面的优化,发现后续工作一团糟,只能全部重来,然后将问题弄清楚,明白了需求分析才知道什么事设计主体,然后按照需求分析一步步完成,当有不会时,尽量查更多的书,也有网上搜索,是在解决不掉的,也就只能放弃这个功能,对于批量下载,一开始很难实现,然后才知道asp中也有一个类能实现,可是都是英文的,花了相当一段时间才看明白了,现在基本能实现了,软件工程的分析对开发一个系统影响很大。本系统是针对本次软件工程实验而设计的,实现了学生作业的上传与下载,及教师发布作业,发布成绩,在线打包压缩等功能,系统已经进行了测试,基本功能都成功了,但是因为初次开发,在系统中难免存在着各种问题,这些我们会在以后

的时间进行更正。在开发本系统的过程中,要查询翻阅大量的参考文献以及网上搜索资料,培养了我们调查研究、查阅中外文献资料,运用国家标准、行业规范、手册、图册等资料的能力。通过对本系统的开发,提高了我们团队合作的意识、分析解决实际问题的能力。最主要的是提高了我们的自学能力,因为开发本系统中使用了Microsoft Visual Studio .NET 2008开发平台与Microsoft SQL Server工具进行数据库的设计,采用ASP语言进行开发,而这些以前都没有学过,因此,通过这次实验,把所学的理论知识与实际应用联系了起来,为我们今后走向社会打下了坚实的基础。

第七章 参考文献

参考书籍:

[1] 郑人杰等.实用软件工程(第二版) [M].北京:清华大学出版社,2004

[2] 朱晔.ASP.NET第一步 [M].北京:清华大学出版社,2007

 [3] 尚俊杰.asp程序设计 [M].北京:清华大学出版社/北京交通大学出版社,2004

 [4] 高屹等.网络应用程序设计教程 [M].北京:机械工业出版社,2008

 [5] 微软公司.SQL Server 2000数据库程序设计 [M].北京:高等教育出版社,2004

更多相关推荐:
软件工程实验报告实验二

实验报告课程名称:软件工程实验项目:实验二面向对象分析及面向对象设计实验仪器:个人电脑系别:计算机科学与技术系专业:计算机科学与技术组长姓名:小组成员:实验日期:20XX-5-151实验内容对航空客运订票系统,…

软件工程课程设计实验报告

重庆邮电大学软件工程课程设计实验报告网上选课系统姓名雷雷学号专业计算机科学与技术班级0410801指导老师邹洋教室S331A时间一实验题目网上选课系统主要功能描述系统首先维护校内所有课程的信息课程分为研究生本科...

电大 软件工程实验报告1

大学图书馆图书信息管理系统实验报告学校宁波广播电视大学班级10春计算机科学与技术姓名学号一编写目的根据需求调研分析报告定义系统功能和系统数据流图通过编写需求分析规格说明书让开发人员能够根据需求规格说明书来开发项...

软件工程实验报告

实验一一实验室名称综合实验楼二试验项目名称图书管理系统三实验目的1了解和使用甘特图系统流程图线性时间图来描绘系统开发流程和进度2学会使用visio绘制常用的流程图四实验内容图书管管理系统更便于对图书进行分类和管...

软件工程实验报告模板

软件工程实验报告实验题目:实验室设备管理系统1、系统简介:每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家…

20xx级本科《软件工程实验》报告_(1)

20xx级本科软件工程实验报告共11页第1页实验一项目开发的准备工作实验学时实验类型验证性一目的与任务目的确定课题组织组员合理分工熟悉软件开发环境培养团队精神任务学习软件开发小组的组织和管理合理分工将项目开发各...

软件工程实验报告asas

软件工程实验报告班级学号姓名实验一软件需求分析实验项目名称软件需求分析实验目的1根据所选定题目进行需求分析工作2通过实例掌握结构化数据流分析技术3进行业务需求分析用户需求功能需求非功能需求分析4写出需求规格说明...

软件工程实验报告最终版

合肥师范学院实验报告册20xx20xx学年第一学期系别实验课程专业班级姓名计算机科学与技术系软件工程计算机科学与技术20xx级计算机应用马军福董国运李思贤学号10104110241010411008101041...

软件工程实验报告

实用软件工程实验报告题目黑体三号专业软件工程班级姓名学号指导教师杨柯成绩月摘要随着计算机技术的飞速发展计算机在企业管理中应用的普及利用计算机实现企业人事管理势在必行本系统是针对企业的人事管理而进行开发的基于C语...

软件工程实验报告

软件工程实验报告,内容附图。

软件工程实验报告

中南大学软件工程实验报告院系信息科学与工程学院专业计科1204学号姓名实验1需求分析实验任务书1阅读办公自动化烟站管理项目用户需求说明书以及用户需求规格说明书理解用户需求说明书和用户需求规格说明书里的内容组织方...

软件工程实验报告

软件工程实验报告指导老师吴卿软件工程实验报告设计者顾加平电话05735701077准考证号04820xx00288EMAILjiapingboy163com报到序号307指导老师吴卿实验题目图书管理系统子系统一...

软件工程实验报告(17篇)