《Web项目实训》软件工程系实训报告.docx
《《Web项目实训》软件工程系实训报告.docx》由会员分享,可在线阅读,更多相关《《Web项目实训》软件工程系实训报告.docx(44页珍藏版)》请在冰豆网上搜索。
![《Web项目实训》软件工程系实训报告.docx](https://file1.bdocx.com/fileroot1/2022-12/13/55e6fba4-d2a6-4ebc-9258-3f69d03e2ba7/55e6fba4-d2a6-4ebc-9258-3f69d03e2ba71.gif)
《Web项目实训》软件工程系实训报告
技能实训(课程设计)
总结报告
实训项目C#.NETWeb项目实训
系部软件工程系
指导老师项刚
学号2010180073
学生
日期2012-6-21
实训报告撰写注意事项
1、报告内容至少应包括以下项目:
1、具体实训内容;
2、本次实训主要目的;
3、具体日程、实训地点、同组同学、指导老师等;
4、实验操作或技能训练步骤,课程设计还应包括设计任务书、原始参数、计算说明、图纸图表、程序清单等;
5、本次实训的主要收获与体会。
2、其余如报告的具体格式、篇幅等要求,视实训课程的区别由实训任课老师或课程设计指导教师按实训大纲,用《实训指导书》或《课程设计指导书》的形式具体规定。
教务处实训中心制
一、实训名称
《综合教务管理系统》
二、实训项目的目的和功能
本次实训是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。
通过编写一个基于C#.NETWeb的应用系统综合实例,以掌握C#语言编程技巧。
具体要求有以下几点:
1.问题的描述与程序将要实现的具体功能。
2.程序功能实现的具体设计思路或框架,并检查流程设计。
3.代码实现。
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;
}
}
#endregion
#region构造器
publicCodeBLL()
{
}
#endregion
#region方法
///
///根据编码类型获得编码
///
///
///
publicCodeDataComponent.SysCodeDataTableGetCodeByCodeType(stringcodeType)
{
returnAdapter.GetCodeByCodeType(codeType);
}
#endregion
}
CourseBLL.cs(位置:
~\App_Code\BLL\)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
///
///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);
}
}
//获取课程信息,返回课程列表。
publicListGetAllCourse()
{
CourseDALcdal=newCourseDAL();
returncdal.GetAllCourses();
}
//根据课程ID更新课程信息,除课程简介外,其他均不为空。
成功返回1,丢失信息返回-1,更新异常返回0.
publicintupdateCourseByID(intcouID,stringcouName,intcouPeriod,intcouPoint,stringcouInfo)
{
//课程信息中除课程简介外不能有空值
if(couName=="")
{
return-1;
}
else
{
CourseDALcdal=newCourseDAL();
returncdal.UpdateCourseByID(couID,couName,couPeriod,couPoint,couInfo);
}
}
//根据课程ID号删除课程,删除成功返回1,删除出现异常返回0.
publicintDeleteCourseByID(intcouID)
{
CourseDALcdal=newCourseDAL();
returncdal.DeleteCourseByID(couID);
}
//教师选课,选课成功返回1,课程已被选择返回-1,没有找到相关课程返回-2
publicintTeacherSeletctCourse(stringteacherID,intcourseID)
{
if(teacherID=="")
{
return0;
}
else
{
CourseDALcdal=newCourseDAL();
returncdal.TeacherSelectCourse(teacherID,courseID);
}
}
//教室去校选课,取消选课成功返回1,不成功返回其他
publicintTeacherUnSelectCourse(stringteacherID,intcourseID)
{
if(teacherID=="")
{
return0;
}
else
{
CourseDALcdal=newCourseDAL();
returncdal.TeacherUnSelectCourse(teacherID,courseID);
}
}
//取消所有可以选择课程的列表
publicListGetCoursesCanSelect()
{
CourseDALcdal=newCourseDAL();
returncdal.GetCoursesCanSelect();
}
//获取所有教师以选择课程的列表
publicListGetTeacherSelectCourse(stringteacherID)
{
CourseDALcdal=newCourseDAL();
returncdal.GetTeacherSelectCourse(teacherID);
}
//学生选课,成功返回1,课程已选返回-1,没有成功返回其他
publicintStudentSelectCourse(stringstudentID,intcourseID)
{
if(studentID=="")
{
return0;
}
else
{
CourseDALcdal=newCourseDAL();
returncdal.StudentSelectCourse(studentID,courseID);
}
}
//学生取消选课,成功返回1,失败返回其他
publicintStudentUnselectCourse(stringstudentID,intcourseID)
{
if(studentID=="")
{
return0;
}
else
{
CourseDALcdal=newCourseDAL();
returncdal.StudentUnselectCourse(studentID,courseID);
}
}
//获取此学生所有已选课程的列表
publicListGetStudentSelectCourse(stringstudentID)
{
CourseDALcdal=newCourseDAL();
returncdal.GetStudentSelectCourse(studentID);
}
//获取此学生所有为选课程的列表
publicListGetStudentNotSelectCourse(stringstudentID)
{
CourseDALcdal=newCourseDAL();
returncdal.GetStudentNotSelectCourse(studentID);
}
}
MarkingBLL.cs(位置:
~\App_Code\BLL\)
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingMarkingDataComponentTableAdapters;
///
///MarkingBLL的摘要说明
///
publicclassMarkingBLL
{
#region私有字段
StudentSelectCourseTableAdapter_studentSelectCourseTableAdapter=null;
#endregion
#region属性
protectedStudentSelectCourseTableAdapterAdapter
{
get
{
//如果_codeTableAdapter为空则创建
if(_studentSelectCourseTableAdapter==null)
{
_studentSelectCourseTableAdapter=newStudentSelectCourseTableAdapter();
}
return_studentSelectCourseTableAdapter;
}
}
#endregion
#region构造器
publicMarkingBLL()
{
}
#endregion
#region方法
///
///根据课程ID获得选修此课程的人员等相关其他信息
///
///课程ID
///
publicMarkingDataComponent.StudentSelectCourseDataTableGetMarkingTableByCourse(intcourseID)
{
returnAdapter.GetMarkingByCourse(courseID);
}
///
///根据学生ID获得此学生选修的所有课程及成绩等相关信息
///
///学生ID
///
publicMarkingDataComponent.StudentSelectCourseDataTableGetMarkingTableByStudent(stringstudentID)
{
//因为在数据库中学生ID列的类型为System.Guid,因此下面创建此对象
System.GuidgidStudent=newGuid(studentID);
returnAdapter.GetMarkingByStudent(gidStudent);
}
///
///生成单条录入成绩的SQL语句
///
///学生ID
///课程ID
///分数
///备注
///
publicstringMakeMarkingRecord(stringstudentID,stringcourseID,intscore,stringnote)
{
stringmarkingSql="UPDATEStudentSelectCourseSET成绩="+score+",备注='"+note+"'WHERE学生ID='"+studentID+"'AND课程ID="+courseID;
returnmarkingSql;
}
#endregion
}
Course.cs(位置:
~\App_Code\DAL\)
usingSystem;
///
///课程类
///
publicclassCourse
{
#region私有字段
privateint_id;
privatestring_name;
privateint_period;
privateint_periodID;
privateint_point;
privateint_pointID;
privatestring_info;
privatestring_teacher;
privatestring_teacherName;
#endregion
#region属性
///
///课程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;}
}
#endregion
#region构造器
///
///默认构造器
///
publicCourse()
{
}
///
///自定义构造器,用于已有ID的课程
///
///课程ID
///课程名
///学时
///学分
///课程简介
///任课教师
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)
{
this.Name=name;
this.PeriodID=periodID;
this.PointID=pointID;
this.Info=info;
}
#endregion
}
CourseDAL.cs(位置:
~\App_Code\DAL\)
usingSystem;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
usingSystem.Collections.Generic;
///
///此类主要实现课程相关的业务逻辑层,如课程的CRUD(添加、读取、更新和删除)方法等
///