软件工程课程设计----作业提交系统
软件工程课程设计-学生信息管理系统

学年设计课程名称:学年设计(论文)(软件工程)实验项目:学生信息管理系统姓名:XXX专业:计算机科学与技术班级:XXX班学号:XXXX指导教师:XXX计算机科学与技术学院实验教学中心目录一、需求分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 1二、可行性分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11.问题┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 12.项目目标┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 23.运行环境┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 24.开发风险┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25. 经济可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 26.技术可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 27.法律可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 28.总体分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3三、系统功能分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统功能的划分┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.系统模块┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3四、数据描述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.数据流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 43.数据字典┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 54.E-R图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 85.用例图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11五、总体设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 111、基本设计概念和处理流程┄┄┄┄┄┄┄┄┄ 112、软件结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 113、数据结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 13六、详细设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 141.模块设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 142.改密码┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 163.浏览┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17七、功能介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17八、关键代码展示┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 20九、心得体会┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25一、需求分析现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。
作业提交软件java课程设计

作业提交软件java课程设计一、课程目标知识目标:1. 让学生掌握Java语言面向对象编程的基本原理和方法;2. 使学生了解作业提交软件的功能需求、模块划分及其设计思路;3. 帮助学生掌握Java异常处理、文件操作等关键技术。
技能目标:1. 培养学生运用Java语言进行实际项目开发的能力;2. 提高学生分析问题、解决问题的能力,能够独立完成作业提交软件的设计与实现;3. 培养学生团队协作、沟通表达的能力,能够在项目开发中发挥积极作用。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动学习的习惯;2. 培养学生面对挑战时勇于尝试、不断调整心态,形成积极向上的学习态度;3. 引导学生关注软件在实际生活中的应用,提高其社会责任感。
课程性质分析:本课程为实践性较强的课程设计,旨在通过实际项目开发,让学生将所学Java 编程知识运用到实际中,提高其编程能力和项目实践经验。
学生特点分析:学生已具备一定的Java编程基础,具有较强的学习能力和探索精神。
在此阶段,学生需要更多的实践机会和挑战性任务,以提高自己的编程水平。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的实际操作能力;2. 设计具有挑战性的项目任务,引导学生主动探究、解决问题;3. 注重团队协作,培养学生的沟通能力和团队精神。
二、教学内容1. Java面向对象编程基础:复习Java类与对象、继承、多态、接口等基本概念,巩固学生面向对象编程的思想。
教材章节:第3章 类与对象、第4章 继承与多态、第5章 接口与实现2. 软件需求分析:介绍作业提交软件的功能需求,分析系统模块划分和功能描述。
教材章节:第1章 软件工程概述、第2章 需求分析3. Java异常处理:学习异常处理机制,掌握try-catch-finally结构,以及如何自定义异常。
教材章节:第7章 异常处理4. Java文件操作:学习文件读写、文件属性操作等,为作业提交软件实现文件上传下载功能打下基础。
作业提交系统界面设计

作业提交系统界面设计1管理员添加用户的界面与编码代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=3%><!--#include file="../localhost.asp"--><!--#include file="show_error.asp"--><!--#include file="../purview.asp"--><%response.expires=0%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>添加管理组成员</title><link href="../eric.css" rel="stylesheet" type="text/css"></head><body><form name="add_manager" method="post"action="admin_check.asp?action=add_manager"><table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01"><tr><td width="120" class="white_bold_blue">添加管理组成员</td><td width="240" class="white_bold_blue"> </td><td width="212" class="white_bold_blue">说明:</td></tr><td>用户名:</td><td><input name="username" type="text" class="input_text_01" id="username" size="20" maxlength="20"></td><td>请使用英文1-20</td></tr><tr><td>密码:</td><td><input name="password" type="password" class="input_text_01"id="password" size="20" maxlength="20"></td><td>8-20位的密码</td></tr><tr><td>确认密码:</td><td><input name="passwordq" type="password" class="input_text_01"id="passwordq" size="20" maxlength="20"></td><td>再输入一遍密码,以确认</td></tr><tr><td>教师名:</td><td><input name="teacher_name" type="text" class="input_text_01"id="teacher_name" size="20" maxlength="20"></td><td> </td></tr><tr><td>权限:</td><td><select name="purview" id="purview"><option value="2">普通教师</option><option value="3">系统管理员</option></select></td><td class="red_12pt_font">当前系统设定权限后不可更改,请慎重</td></tr><tr><td>备注:</td><td> <textarea name="remark" cols="30" rows="3"class="input_textarea_01" id="remark"></textarea></td><td>可以不填</td></tr><tr><td colspan="3" class="center"><input type="submit" name="Submit" value="提交"> <input type="reset" name="Submit2" value="重置"></td></tr></table></body></html>2 用户管理界面代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=3%><!--#include file="../localhost.asp"--><!--#include file="conn.asp"--><!--#include file="../lockip.asp"--><!--#include file="show_error.asp"--><!--#include file="../purview.asp"--><%response.expires=0%><SCRIPT language=javascript>//确认窗口function ConfirmDel(id){url="show_detail_info.asp?action=del_manager&id="+idif(confirm("确定要删除该账号吗?删除将不能恢复!所有该教师布置的作业和学生上传的作业将删除!以及相关学生的注册信息。
作业提交与批改系统的设计与实现

摘要随着网络高速地融入当今现代人的生活,学校对网络技术的应用也在不断地提高。
学校的教学任务十分复杂,工作也很繁琐,在教学任务中,作业的批改也是一个很重要的环节。
为了提高老师工作效率,减轻教师的工作强度,提高作业批改的灵活性的,作业提交与批改系统诞生可以说是事在必行的。
该系统采用B/S结构,以浏览器方式登陆系统,用作为开发语言,数据库则使用Microsoft SQL Server 2010实现。
作业提交与批改包括了学生子系统、教师子系统、管理员子系统三大模块,该系统主要完成学生,教师,管理员的登陆,作业的提交,批改等功能,具有操作简单、界面友善、灵活性好、系统安全性高、运行稳定等特点。
本文简要介绍了作业提交与批改系统的开发背景与意义,着重阐述了该系统的设计实现过程与该系统数据库的设计实现过程;从系统的需求分析、模块设计、数据库设计到系统实现等各个环节都进行了详尽的分析和描述。
关键词:作业上传;作业批改;系统实现;SQL ServerAbstractWith the high-speed network melting into modern life, the application of network technology at school also constantly improve. The teaching mission of the school is very complicated, and work is also very tedious, in the task of teaching, the homework correct is also a very important link. In order to improve the teacher's work efficiency, reduce the intensity of the work of teachers, improve homework correcting flexibility, assignment submission and correction system can be said to have no choice but to the birth of. The system uses the B/S structure, to browser landing system, using as a development language, database using Microsoft SQL Server 2010. Job submission and correction includes student subsystem, teacher subsystem, the administrator subsystem three big modules, the system mainly completes the student, teacher, administrator login, job submission, correcting function, has the advantages of simple operation, friendly interface, good flexibility, the system safe, stable operation and high.This paper briefly introduces the development background and significance of the job submission and correction system, and elaborates the design and system realization process and this system database design realization process; from the system of needs analysis, module design, database design and system realization and so on each link has carried on the detailed analysis and description.Keywords: Homework uploading; homework system; SQL Server目录1 绪论 (1)1.1 开发背景 (1)1.2 研究意义 (1)1.3 系统设计思想 (2)2 可行性分析 (4)2.1问题描述 (4)2.2 可行性分析研究 (5)2.2.1 技术可行性 (5)2.2.2 经济可行性 (5)2.2.3 操作可行性 (5)2.3结论意见 (5)3 需求分析 (7)3.1用户需求分析 (7)3.2系统功能的需求分析 (7)3.3性能需求分析 (7)4 概要设计 (8)4.1系统总体结构设计 (8)4.2功能设计 (8)4.2.1登陆子系统功能设计 (9)4.2.2学生子系统功能设计 (9)4.2.3教师子系统功能设计 (9)4.2.4管理员子系统功能设计 (10)4.3数据库设计 (11)4.3.1 概念结构设计 (11)4.3.2逻辑结构设计 (11)4.3.3物理结构设计 (14)4.3.4数据字典 (17)5 详细设计 (18)5.1 登陆界面 (18)5.2学生注册界面 (19)5.3作业上传界面 (21)5.4作业批改界面 (21)5.5认证学生注册信息 (22)5.6教师管理 (23)5.7作业发布管理 (25)5.8修改密码 (26)6 软件测试 (27)6.1概念和意义 (27)6.2 特性 (27)6.3重要性 (28)6.4 本系统测试描述 (28)6.5系统测试效果 (28)7 用户使用说明书 (32)7.1 系统运行环境 (32)7.2 系统操作说明 (32)7.2.1管理员登录 (32)7.2.2教师登录 (34)7.2.3学生登录 (36)8结论 (38)参考文献 (40)致谢 (41)附录 (42)外文原文 (52)外文译文 (65)1 绪论1.1 开发背景随着计算机技术的快速发展,信息化成为传统产业提高工作效率和企业竞争力的重要途径,并且人们也不再满足于建立各种静态地发布信息系统,更多的时候需要能与用户进行交互,并能提供后台的数据库管理和控制等服务的系统。
软件工程课程设计---作业提交系统[29页].doc
![软件工程课程设计---作业提交系统[29页].doc](https://img.taocdn.com/s3/m/e7a2f266af45b307e9719717.png)
软件工程实验报告题目:作业提交系统摘要作业提交系统2.0是基于b/s结构,在IIS平台上使用ASP与Microsoft SQL 2000开发的,主要目的是解决学校机房管理上机作业的问题。
因为传统的对学生作业管理是在服务器上建立一个FTP服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传,然后学生将作业上传到服务器里对应的班级文件夹下面,传统方式无法解决的问题有:不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。
而这套系统正是出于这个目的,为了解决上面的问题而设计的。
系统对于复杂的问题都采用程序的方式解决了。
系统分了管理员、教师、学生用户,管理员须要的操作只是添加专业,添加班级,添加管理员或教师用户都是通过网页的形式展示出来。
而教师无须向以前那样,只需要发布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。
下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。
学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先上传后下节课再下载回来接着做。
系统用程序的方式解决了那些非常复杂的操作,比如对文件夹的创建等,所有的角色只需要简单的几步操作就可以完成,非常简单实用。
第一章绪论1.1 问题定义解决传统的FTP服务器不能够满足作业上传的要求下:1.教师发布作业必须到服务器上建立文件夹2.教师发布作业由在黑板上写的形式改为在网页上写再发布3.教师不能对作业进行限制如大小,类型,过期时间4.教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载5.教师无法发布成绩改为通过网页发布成绩6.学生一次未完成的作业可以先上传再下载,完成之后再上传。
作业提交及管理系统的设计与实现

【 键 词 】 S .E ;数 据 库 ; 管理 系统 关 :A PN T
O 引言 、
文 档 作 业 提 交 如 后 台数 据 库 .并 自动 将 学 生 的 基本 信 息一 并 提
随 着计 算 机 技 术 的 不 断 发 展 .越 来 越 多 的 专 业 技 术 都 与 计 交 人 数 据 库 中 .完 成 电 子 作 业 的 提交 。 算 机技 术 紧 密 相关 。 为 了适 应 这 一 发展 的 需 要 .越 来 越 多 的 高 3 电 子 作 业 管 理 模 块 : 此模 块 主 要 功 能 是 针 对 教 师 用 户 ) 校 教师 要 求 学 生 的作 业 以 电子 文 档 的形 式 予 以 提 交 。 但 是 由 于 按 授 课 类 别 、学 生 班级 或学 生 学 号 等 信 息查 看 提 交 信 息 .并 可
20 0 8年第 1 期 1
福
建
电
脑
15 3
作业提 交及 管理 系统 的设计 与ห้องสมุดไป่ตู้现
陈庆 荣
(西 安 航 空技 术 高等 专 科 学校 计 算机 工程 系 陕 西 西 安 7 0 7 10 7)
【 摘
要】:随着现代教 育技术地 不断发展 ,高等 院校 中越 来越 多的 学生作 业都要 以电子 文档的形式提 交给教 师。但
l 、系统 的设 计 思 路
按 授 课类 别 、 学 生 班级 或学 号 等 类别 将 电 子作 业 按 提 交 文 档 类 型 导 出 至 教 师 本 地 机 ,进 行 批 改 查看 操 作 。此 模 块 还 应 包 括 对
自 己授 课 类 别 的 已 提 交 电 子 作 业 信 息 进 行 不 同 类 别 查 询 的 功
软件工程课程设计报告_基于web在线作业提交批改系统

软件工程课程设计基于web在线作业提交批改系统目录1. 基于web的江苏大学软件工程系作业提交系统课程设计概述 (5)1.1 课程设计的目的 (5)1.2 课程设计的任务 (5)1.3 课程设计采取的基本原理和主要技术方法 (5)1.4 开发阶段任务及角色分工 (5)2. 可行性研究 (6)2.1 编写目的 (6)2.1.1 目的 (6)2.1.2 预期的读者 (6)2.2 问题定义 (6)2.2.1 开展该工程的原因 (6)2.2.2 该工程的基本目标 (6)2.2.3 经济目标 (6)2.3 可行性研究的方法及评价度 (7)2.3.1 可行性研究所采用的方法 (7)2.3.2 评价尺度 (7)2.4 工作产品 (7)2.4.1 设计目标 (8)2.4.2 设计及约束条件 (8)2.4.3 产品工作原理 (8)2.4.4 产品系统流程图 (8)2.4.5 数据流图 (8)2.4.6 数据词典 (9)2.4.7 产品的功能 (11)2.4.8 技术方面的可行性 (12)2.5 投资及收益分析 (12)2.5.1 市场分析 (12)2.6.2 投资估计 (12)2.6 社会因素方面的可行性 (12)2.6.1 技术 (12)2.6.2 使用方面的可行性 (13)2.7 产品可检测性 (13)2.7.1 检测标准 (13)2.7.2 检测的方法 (14)2.8 可行性综合分析 (14)2.9 可行性结论 (14)3. 需求分析 (14)3.1 任务概述 (14)3.1.1 目标........................................................................................... 错误!未定义书签。
3.1.2 运行环境 (14)3.1.3 条件和限制............................................................................... 错误!未定义书签。
网络作业提交系统设计

网络作业提交系统设计作者:李洋来源:《电脑知识与技术》2009年第32期摘要:网络作业提交系统实现了管理员发布管理公告、教师管理、学生管理;老师在线发布作业、批改作业、网络答疑;学生做作业、查看作业信息、提出疑问的功能。
网络作业提交系统中按照以学习者为中心的远程学习理论,融入学生对网络作业的反馈、老师对学生作业的个别评析,更好调动学生学习的主动性和积极性。
关键词:网络作业;B/S;个别评价中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)32-8931-02Elementary Exploring the Submitting System of Internet WorkLI Yang(Zhenjiang Vocational College of Mechanical&Electrical Technology, Zhenjiang 212016, China)Abstract: Network submission system carries out the functions that include administrators to release Management Announcement,teachers Management,students Management,teachers releasing works on lines,correcting works,Network Q&A,Students homework,viewing work information,putting forward questions.According to learner-centered distance learning theory,Network submission system puts students' feedback to network,teachers’ assessments of individual students' work in order to motivate students' initiative and enthusiasm.Key words: network; B/S; individual assessments随着网络技术的发展与网络的普及,网络教学成为当前的一个教育热点,如何更好、更多地开发基于网络的教学资源成为教育工作者应该考虑的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业提交系统1、引言1.1 问题定义解决传统的FTP服务器不能够满足作业上传的要求下:1.教师发布作业必须到服务器上建立文件夹2.教师发布作业由在黑板上写的形式改为在网页上写再发布3.教师不能对作业进行限制如大小,类型,过期时间4.教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载5.教师无法发布成绩改为通过网页发布成绩6.学生一次未完成的作业可以先上传再下载,完成之后再上传。
7.学生上传作业只须点一个按钮,无须选择要上传的目录2、开发环境2.1 Visual Studio 2005概述Visual Studio.2008是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual 都可以提供近乎完美的解决方案。
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 2008 Professional、Windows98和Windows Millennium Edition(Me)的机器上。
3、需求分析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.12.要求系统支持Microsoft SQL Server数据库<> 限制条件1.教师不可以进入管理员页面,还有学生页面;2.管理员也不可以进行学生和教师页面;3.每个学生登录进入之后只能看到自己班级的作业,不可以看到别的班级的作业;4.每个教师登录只对自己发布的作业进行管理不可以对别的教师发布的作业进行管理;5.当学生注册时输入的学号必需与选定的班级匹配;6.不同的用户使用修改密码都只能修改自己的密码,无法修改他人的;7.不同的用户使用个人数据功能时也是只可以看到自己的信息不可以看到他们的信息;8.学生上传作业的类型,大小,时间等,受到教师发布作业的约束。
<> 数据流图总数据图:细化后数据流图:图 2<> 数据字典<> E-R图Array图34、系统设计4.1 总体设计4.1.1 系统功能体系图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、主要功能模块界面及编码实现5.1 系统运行资源管理图5.2 登录界面及编码屏幕切换编码:<SCRIPT language=JavaScript type=text/javascript>if (self != top) {top.location = self.location;}function switchSysBar() {if (switchPoint.innerHTML == '<') {switchPoint.innerHTML = '>'document.getElementById("frmTitle").style.display = "none";}else {switchPoint.innerHTML = '<'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=0name=nagFrame></IFRAME></TD><TD class=td2><TABLE border=0 cellSpacing=0 cellPadding=0 height="100%"><TBODY><TR><TD onclick=switchSysBar()><FONTclass=switchbarfont><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><SPAN id=switchPoint class=navPoint title=关闭/打开左栏><</SPAN> <BR><BR><BR><BR><BR><BR><BR><BR>屏幕切换</FONT></TD></TR></TBODY></TABLE></TD><TD style="WIDTH: 100%"><IFRAME id=mainFrame class=iframe2src="login.aspx"" frameBorder=0 name=mainFramescrolling=yes></IFRAME></TD></TR></TBODY></TABLE><SCRIPT language=JavaScript type=text/javascript>if (window.screen.width < '1024') { switchSysBar() }</SCRIPT>5.3 管理员添加用户界面及编码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_i d.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.4教师发布修改作业界面及编码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,TextBo x1.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 (mandName == "Select"){int iIndex = Convert.ToInt16(mandArgument);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.5教师批量下载作业界面及编码protected void Button2_Click(object sender, EventArgs e){hello();string strtxtPath = strFileUploadPath;string strzipPath = strFileUploadPath+"\\free.zip";System.Diagnostics.Process Process1 = new System.Diagnostic s.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";//设置压缩方式为.zipProcess1.StartInfo.Arguments = " a -afzip " + strzipPath + " " + strtxtPath;//// 3Process1.Start();if (Process1.HasExited){int iExitCode = Process1.ExitCode;if (iExitCode == 0){Response.Write(iExitCode.ToString() + " 正常完成");}else{Response.Write(iExitCode.ToString() + " 有错完成");}}5.6学生上传作业界面及编码private void hello(){strFileUploadPath = string.Format("D: \\work\\{0}\\", title );string ID = Request.QueryString["ID"].ToString();SqlConnection conn = new SqlConnection(@"server=(local)\SQL EXPRESS;database=homework;Trusted_Connection=True");conn.Open();SqlCommand cmd = new SqlCommand(string.Format("select * f rom 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();}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", iFileSiz eLimit / 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.SelectedVal ue;//组合成物理路径string strFilePhysicalPath = strFileUploadPa th + strFileName;Response.Clear();Response.ContentType = "application/octet-str eam";Response.AddHeader("Content-Disposition", "att achment;FileName=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding .UTF8));Response.WriteFile(strFilePhysicalPath);Response.End();5.7数据库类编码hello();//判断用户是否选择了文件if (FileUpload.HasFile){//调用自定义方法判断文件类型是否符合要求if (IsAllowableFileType()){//调用自定义方法判断文件大小是否符合要求if (IsAllowableFileSize()){if (FileUpload.HasFile){strFileUploadPath = string. Format("D: \\work\\{0}\\", title);string filename = FileUplo ad.FileName;string filenewname = Sessi on["ID"].ToString();string fileext = Path.GetE xtension(filename);string strFileName = Serve r.MapPath(filenewname + fileext);FileUpload.SaveAs(strFileUplo adPath + filenewname + fileext);SqlConnection conn = new SqlConnection(@"server=(local)\SQLEXPRESS;database=homework;Trusted_Connection= True");conn.Open();SqlCommand cmd1 = new Sql Command(string.Format("select * from student where username='{0}'", Sessi on["username"].ToString()), conn);SqlDataReader read1 = cmd1 .ExecuteReader();read1.Read();string stuid = read1["stui d"].ToString();string stuname = read1["st uname"].ToString();read1.Close();SqlCommand cmd2 = new Sql Command(string.Format("select * from teacher where teaname='{0}'", teache r), conn);SqlDataReader read2 = cmd2 .ExecuteReader();read2.Read();string teaid = read2["teai d"].ToString();string teaname = read2["te aname"].ToString();read2.Close();SqlCommand cmd3 = new Sql Command(string.Format("insert into homework(title,stuname,teaname,stuid,teaid ,mark) values ('{0}','{1}','{2}','{3}','{4}','0')", title, stuname, teanam e, 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>"));}6、实验心得经过小组的共同的努力,作业提交系统终于完成了,实现了需求分析的基本功能,基本满足了作业上传及批量下载的需求,开发过程中一开始一直在实现界面的优化,发现后续工作一团糟,只能全部重来,然后将问题弄清楚,明白了需求分析才知道什么事设计主体,然后按照需求分析一步步完成,当有不会时,尽量查更多的书,也有网上搜索,是在解决不掉的,也就只能放弃这个功能,对于批量下载,一开始很难实现,然后才知道asp中也有一个类能实现,可是都是英文的,花了相当一段时间才看明白了,现在基本能实现了,软件工程的分析对开发一个系统影响很大。