《Web项目实训》软件工程系实训报告Word文档格式.docx
《《Web项目实训》软件工程系实训报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《《Web项目实训》软件工程系实训报告Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
4.程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。
5.设计小结。
三、实训项目的开发环境和所使用的技术
使用C#核心技术,利用VisualStudio2010集成开发环境完成实训项目,界面友好,代码的可维护性较好,有必要的注释和相应的文档。
四、实训地点、日程、分组情况
实训地点:
2栋301机房
分组情况:
日程:
第一阶段:
1.班级分组,选定课题,查阅相关资料半天
2.划分模块、小组成员分工半天
3利用CASE工具进行系统设计和分析,并编制源程序3天
第二阶段:
上机调试,修改、调试、完善系统1天
第三阶段:
撰写、上交课程设计报告,上交课程设计作品源程序(每人一份)1天
实训成绩
评语
Web实训报告
郑陶
2010180073
摘要:
一、实训目的
二、内容功能的设计与实现
2.1功能设计:
系统模块
系统流程:
1、学生功能:
网上选课
成绩查询
密码修改
2、教师功能
成绩录入
密码修改
3、教务管理员功能
用户管理
课程信息管理
修改密码(包括学生、教师的密码修改)
2.2代码实现:
CodeBLL.cs(位置:
~\App_Code\BLL\)
usingSystem;
usingSystem.Web;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.Services;
usingSystem.Web.Services.Protocols;
usingCodeDataComponentTableAdapters;
publicclassCodeBLL
{
#region私有字段
SysCodeTableAdapter_codeTableAdapter=null;
#endregion
#region属性
protectedSysCodeTableAdapterAdapter
{
get
//如果_codeTableAdapter为空则创建
if(_codeTableAdapter==null)
_codeTableAdapter=newSysCodeTableAdapter();
}
return_codeTableAdapter;
#region构造器
publicCodeBLL()
}
#region方法
///<
summary>
///根据编码类型获得编码
/summary>
paramname="
codeType"
>
<
/param>
returns>
/returns>
publicCodeDataComponent.SysCodeDataTableGetCodeByCodeType(stringcodeType)
returnAdapter.GetCodeByCodeType(codeType);
}
CourseBLL.cs(位置:
usingSystem.Collections.Generic;
usingSystem.Linq;
///<
///CourseBLL的摘要说明
publicclassCourseBLL
publicCourseBLL()
//
//TODO:
在此处添加构造函数逻辑
//添加新课程,除课程简介外,其余均不能为空。
成功返回1,丢失信息返回-1,异常返回0
publicintCreateCourse(stringcouName,intcouPeriod,intcouPoint,stringcouInfo)
{
//判断是否有不符合要求的值
if(couName==null)
return-1;
else
//调用DAL层完成此功能
CourseDALcdal=newCourseDAL();
returncdal.CreateCourse(couName,couPeriod,couPoint,couInfo);
//获取课程信息,返回课程列表。
publicList<
Course>
GetAllCourse()
returncdal.GetAllCourses();
//根据课程ID更新课程信息,除课程简介外,其他均不为空。
成功返回1,丢失信息返回-1,更新异常返回0.
publicintupdateCourseByID(intcouID,stringcouName,intcouPeriod,intcouPoint,stringcouInfo)
//课程信息中除课程简介外不能有空值
if(couName=="
"
)
else
CourseDALcdal=newCourseDAL();
returncdal.UpdateCourseByID(couID,couName,couPeriod,couPoint,couInfo);
//根据课程ID号删除课程,删除成功返回1,删除出现异常返回0.
publicintDeleteCourseByID(intcouID)
returncdal.DeleteCourseByID(couID);
//教师选课,选课成功返回1,课程已被选择返回-1,没有找到相关课程返回-2
publicintTeacherSeletctCourse(stringteacherID,intcourseID)
if(teacherID=="
return0;
returncdal.TeacherSelectCourse(teacherID,courseID);
//教室去校选课,取消选课成功返回1,不成功返回其他
publicintTeacherUnSelectCourse(stringteacherID,intcourseID)
returncdal.TeacherUnSelectCourse(teacherID,courseID);
//取消所有可以选择课程的列表
GetCoursesCanSelect()
returncdal.GetCoursesCanSelect();
//获取所有教师以选择课程的列表
GetTeacherSelectCourse(stringteacherID)
returncdal.GetTeacherSelectCourse(teacherID);
//学生选课,成功返回1,课程已选返回-1,没有成功返回其他
publicintStudentSelectCourse(stringstudentID,intcourseID)
if(studentID=="
returncdal.StudentSelectCourse(studentID,courseID);
//学生取消选课,成功返回1,失败返回其他
publicintStudentUnselectCourse(stringstudentID,intcourseID)
returncdal.StudentUnselectCourse(studentID,courseID);
//获取此学生所有已选课程的列表
GetStudentSelectCourse(stringstudentID)
returncdal.GetStudentSelectCourse(studentID);
//获取此学生所有为选课程的列表
GetStudentNotSelectCourse(stringstudentID)
returncdal.GetStudentNotSelectCourse(studentID);
MarkingBLL.cs(位置:
usingSystem.Configuration;
usingSystem.Web.Security;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingMarkingDataComponentTableAdapters;
///MarkingBLL的摘要说明
publicclassMarkingBLL
StudentSelectCourseTableAdapter_studentSelectCourseTableAdapter=null;
protectedStudentSelectCourseTableAdapterAdapter
if(_studentSelectCourseTableAdapter==null)
_studentSelectCourseTableAdapter=newStudentSelectCourseTableAdapter();
return_studentSelectCourseTableAdapter;
publicMarkingBLL()
///根据课程ID获得选修此课程的人员等相关其他信息
courseID"
课程ID<
publicMarkingDataComponent.StudentSelectCourseDataTableGetMarkingTableByCourse(intcourseID)
returnAdapter.GetMarkingByCourse(courseID);
///根据学生ID获得此学生选修的所有课程及成绩等相关信息
studentID"
学生ID<
publicMarkingDataComponent.StudentSelectCourseDataTableGetMarkingTableByStudent(stringstudentID)
//因为在数据库中学生ID列的类型为System.Guid,因此下面创建此对象
System.GuidgidStudent=newGuid(studentID);
returnAdapter.GetMarkingByStudent(gidStudent);
///生成单条录入成绩的SQL语句
score"
分数<
note"
备注<
publicstringMakeMarkingRecord(stringstudentID,stringcourseID,intscore,stringnote)
stringmarkingSql="
UPDATEStudentSelectCourseSET成绩="
+score+"
备注='
+note+"
'
WHERE学生ID='
+studentID+"
AND课程ID="
+courseID;
returnmarkingSql;
Course.cs(位置:
~\App_Code\DAL\)
///课程类
publicclassCourse
privateint_id;
privatestring_name;
privateint_period;
privateint_periodID;
privateint_point;
privateint_pointID;
privatestring_info;
privatestring_teacher;
privatestring_teacherName;
///课程ID
publicintID
get{return_id;
///课程名称
publicstringName
get{return_name;
set{_name=value;
///学时
publicintPeriod
get{return_period;
set{_period=value;
///学时ID
publicintPeriodID
get{return_periodID;
set{_periodID=value;
///学分
publicintPoint
get{return_point;
set{_point=value;
///学分ID
publicintPointID
get{return_pointID;
set{_pointID=value;
///课程简介
publicstringInfo
get{return_info;
set{_info=value;
///任课教师ID
publicstringTeacher
get{return_teacher;
set{_teacher=value;
///任课教师姓名
publicstringTeacherName
get{return_teacherName;
set{_teacherName=value;
///默认构造器
publicCourse()
///自定义构造器,用于已有ID的课程
id"
name"
课程名<
period"
学时<
point"
学分<
info"
课程简介<
任课教师<
publicCourse(intid,stringname,intperiodID,intperiod,intpointID,intpoint,stringinfo,stringteacher,stringteacherName)
this._id=id;
this.Name=name;
this.PeriodID=periodID;
this.Period=period;
this.PointID=pointID;
this.Point=point;
this.Info=info;
this.Teacher=teacher;
this.TeacherName=TeacherName;
///自定义构造器,无ID,用于添加新课程
publicCourse(stringname,intperiodID,intpointID,stringinfo)
CourseDAL.cs(位置:
///此类主要实现课程相关的业务逻辑层,如课程的CRUD(添加、读取、更新和删除)方法等
/summar