《软件工程》课程设计-学生管理系统_第1页
《软件工程》课程设计-学生管理系统_第2页
《软件工程》课程设计-学生管理系统_第3页
《软件工程》课程设计-学生管理系统_第4页
《软件工程》课程设计-学生管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件工程》课程设计学生管理系统 系统概述:1、架构分析学生管理是学校管理中不可少的一部分。而基于B/S架构的学生管理系统是方便学校管理。Web展示层的每个页面都可以直接对数据库进行访问,而不用过多的实现数据库连接和操作接口。数据库是系统的最底层。数据访问模块包含在Web展示层中。Web展示层通过数据库访问模块访问数据库。数据库访问模块一般封装数据库的查询、添加、更新、删除等操作,同时还为Web展示层提供访问数据库的接口。两层架构模式的各层功能:层名功能描述Web展示层系统最高层,向用户展示各种界面。用户通过界面对系统进行操作,并实现用户各种操作信息的添加、修改和删除。与数据库直接关联,其数据访问模块封装了对数据库的所有操作。数据库数据库用来存储本系统所有数据。2、主要模块本系统包括5个模块:用户管理模块、班级管理模块、课程管理模块、选课管理模块和成绩管理模块。(1)、用户管理模块:主要功能是对用户属性和权限进行管理,是系统的基础模块。由管理员添加的用户默认密码和用户名称相同,修改密码只能由本人或在数据库中修改完成。(2)、课程管理模块:管理员具有对课程的增加、删除和修改权限。课程分为基础课、专业课和选修课3种类型。课程管理模块制约选课模块。管理员在课程管理中添加课程信息后,学生才能进行选课。分配课程主要是制定该课程的任课教师和授课班级(基础课才需要指定班级)。(3)、选课管理模块:主要功能是删除和统计选课信息,既可对选修课程进行管理,也可统计选修课人数,并根据学生选课时间决定最终选修此课的学生。(4)、成绩管理模块:管理员可以录入和统计学生成绩;学生可以自己查询自己课程的名称、学分、成绩。当学生成绩不及格时,将无法获得本课程的学分。3、主要负责模块:甄边梓:主体框架设计、学生数据库管理模块、选课管理模块、成绩管理模块张彩娟:登录权限验证、数据库与ASP.NET的连接、用户管理模块、课程管理模块系统设计2.1系统需求分析在该系统中主要对学生的基本信息、学生成绩等进行管理,系统主要功能如下:学生信息管理:用来管理学生基本信息,包括查询、添加、修改和删除。学生基本信息包括:学号、姓名、性别、出生年月、籍贯、班级、学院。课程信息管理:一门课程有一个上课班级,也可能有几个上课班级,因此课程信息里的授课教师是不确定的。课程信息管理包括:浏览、查询、添加、修改和删除。成绩信息管理:用来管理学生成绩,包括浏览、查询、添加、修改和删除。成绩基本信息包括自动编号、学生学号、上课班级号、课程成绩、权限管理:对于不同层次的使用者应该开放不同的权限。管理者:维护学生基本信息,管理院系、课程、成绩各种数据。教师:可以录入学生成绩信息,查询学生基本和成绩统计信息。学生:可以查询学生成绩信息和成绩统计信息。2.2数据库需求分析:学生管理系统的要求是要准确快捷的管理学生信息。学生隶属班级,班级又由教师指导;学生需要有课程、成绩、学分,而这些又都要靠教师或者管理人员来完成添加。由此总结出如下需求信息:用户分为管理员用户、教师用户和学生用户。其中,管理员和教师用户是属于相同权限等级的用户。一个班级里有多个学生,班级组成院系。一个学生有多门课,一门课对应多个学生。一位教师指导多个班级。一位教师可以教授多门课程,一门课程可以有多个教师来教授。经过对上述系统功能的分析和需求总结,设计如下所示的数据项:用户信息:用户ID、用户名、密码、权限。班级信息:班级ID、名称、所属院系、班主任.学生信息:学生ID、姓名、性别、民族、生日、入学时间、班级、籍贯和备注。教师信息:教师ID、姓名、所属院系。课程信息:课程ID、名称、学时、学分、类型及描述。总体设计1、实体及其属性图由上面的数据项可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据之间的流动。本系统设计的实体有:学生实体、教师实体、课程实体和班级实体。院系教师院系教师学生课程教授1NNNN1实体间关系E-R图系统用户用户名密码用户权限用户信息实体E-R图NNNN 姓名姓名性别籍贯姓名所属院系教师信息实体E-R图教师民族入学时间班级生日备注学生信息实体E-R图学生 课程课程名称学时学分类型描述课程信息实体E-R图班级名称班级名称所属院系班主任班级信息实体E-R图2、功能模块图管理员登陆系统管理查找添加删除修改修改密码管理员登陆系统管理查找添加删除修改修改密码班级管理删除修改查找添加成绩管理统计成绩录入成绩查询成绩选课管理确定选课名单统计选课人数查询选课删除选课用户管理学生管理教师管理管理员功能模块图课程管理分配课程成绩查询成绩查询选课查询选课授课查询授课浏览学生登录用户管理课程管理成绩管理课程管理信息查询密码修改学生用户功能模块图 3、数据流图管管理员或教师1验证登录权限1.2管理学生信息1.4管理班级信息1.5管理教师信息1.3管理课程信息用户名、密码增删改查信息是否成功D1学生表D2课程表D3班级表D4教师表管理员增删改查信息是否成功增删改查信息是否成功增删改查信息是否成功增删改查信息增删改查信息增删改查信息增删改查信息学学生用户名、密码2验证登录权限增删改查信息2.1个人信息D1学生表管理员增删改查信息成功顶层数据流:选课结果选课结果选课信息查询/修改个人信息个人信息学生课程信息管理课程信息学生信息管理学生信息教师查询选课学生信息选课学生信息教授课程查询教授课程管理员或教师成绩信息管理成绩信息管理班级信息班级信息管理教师信息教师信息学生管理系统总体ER图:教师号教师号姓名教师管理管理课程学时课程名称课程类型课程课程编号课程学分所属院系班级教师班级管理班级编号班级名称选修管理输出1m1n1mnm系统管理员用户名用户权限密码管理理管理成绩成绩编号学生学号课程成绩管理班级入学时间性别姓名学生学号生日属于1nm1111nnmn4、数据库的表间关系5、流程分析学生登录流程图:密码修改密码修改浏览个人信息课程信息选课浏览成绩查询查询选课返回退出T开始学生登录用户名、密码F管理员登录流程图:管理员登录开始管理员登录开始F检验密码F检验密码TT学生管理课程管理成绩管理教师管理班级管理学生管理课程管理成绩管理教师管理班级管理添加新生查询显示学生信息添加学生必修课查询课程分配添加课程统计查询添加成绩修改密码管理员列表添加新生查询显示学生信息添加学生必修课查询课程分配添加课程统计查询添加成绩修改密码管理员列表添加教师查询查询添加返回返回退出退出6、用例图学生学生用户登录查看成绩选修课程 选修课程管理员管理员用户登录选课管理课程管理用户管理成绩管理7、测试用例用户登录模块的测试:输入信息不正确,系统会提示重新输入。当输入信息正确后,会自动进入学生管理模块。测试学生登录:此模块中可以查看个人信息、课程信息、成绩查询、修改密码、选课浏览。选课管理模块的测试:成绩管理模块的测试:课程设计的感想:1、所学:通过一周课程设计,学到了很多知识,能够基于对话框应用程序将数据库和ASP.NET连接。将以前学到的零星知识通过系统设计融会贯通:在ASP.NET中建立面向对象的前台设计,对控件的灵活使用、控件的动态构建及与数据表关联的数据方法,讨论了复杂SQL语句的构造方法。对数据库表的建立、还原、附加、分离数据库、在IIS搭建站点和站点的运行。使用本系统对学生成绩进行信息管理和成绩测评,在查找、可靠性、存储量等方面有着手工管理无法比拟的优点。这些优点能够极大地提高学校对学生成绩管理和测评的效率。根据“软件工程”的思想,分析学生管理系统的构建需求,系统概念结构设计。数据库逻辑设计及总体框架结构。采用ASP,Access数据库等技术,构建了一个基于Web的在线考试系统。具有一定的使用价值。2、所想:学习培养的是一种能力,不仅要学以致用,还要力争举一反三。求知道路上没有捷径,勤奋和好学是遨游的翅膀。遇到问题要思考原因还要动手解决,惰性和知难而退是最大的绊脚石。在设计过程中,遇到过很多问题,例如在系统中添加成员总是失败,在寻求帮助是获得了解决办法,给每个表创建了存储过程,存储过程对数据库表的信息选择、添加和更新带来了优化,可以加快操作数据库的速度和效率。ST学生管理系统使用了五个存储过程。设计虽然完成了,但我还要感谢我的老师李典尉,她以独特的人格魅力感染和影响着我,以渊博的学识教育和引导着我,让我认识到自身能力的不足,体会到学习的可贵;感谢我的合作伙伴,在困难中帮助我,让我感受到友谊的珍贵和团队的力量;感谢生活它给了我种种磨练使我成长、使我坚强,我才有那么多的体会。3、不足:由于能力有限,加上时间仓促,本系统出现一些不足。例如,系统只适合提供数据输入,但没有提供数据导入功能;系统对数据库还原备份设计没有采用交互性,采用自动备份和还原。参考文献张树亮、李超《ASP.NET2.0+SQLServer》清华大学出版社2006.9张海蕃《软件工程导论》清华大学出版社2009.10张玉平《ASP.NET+SQL组建动态网站》电子工业出版社2006.3附录A用户数据表结构(1)用户表ST-users记录用户的用户名和密码。用户权限为1或0。1代表管理员权限,0代表学生权限。在页面中显示为“管理员”和“学生用户”,具有管理员权限的用户添加新的管理员时,默认密码与添加的用户名相同。之后用户可以自行修改密码。(2)学生表ST-student,用来记录学生信息。此记录的信息会详细的显示在学生登录后的页面上。此信息不允许学生自己修改,只能由管理员更改。(3)教师表ST-teacher用来记录教师信息(4)班级表ST-class用来记录班级信息(5)课程表ST-course用来记录课程信息,该表和下面的表都是中间表,对应E-R图中的多对多关系,即一个学生选多门课程,一门课程被多个学生选。(6)教师课表ST-teacher-course,中间表实现多对多关系,即一位教师教多门课,一门课被多名教师教。附录B查看个人信息源代码publicclassST_query:System.Web.UI.Page { protectedSystem.Web.UI.WebControls.Repeaterst_rp_information; privatevoidPage_Load(objectsender,System.EventArgse) { //在此处放置用户代码以初始化页面 //获取数据库连接字符串 stringst_connstr=ConfigurationSettings.AppSettings["st_dbconn"]; //建立连接 SqlConnectionst_conn=newSqlConnection(st_connstr); stringst_sqlstr="select*fromST_studentwhereST_Student_id=@id"; SqlCommandst_comm=newSqlCommand(st_sqlstr,st_conn); st_comm.Parameters.Add(newSqlParameter("@id",SqlDbType.VarChar,50)); //在数据库相应的表中查询session中的值 st_comm.Parameters["@id"].Value=Session["user_id"].ToString();//打开连接 st_conn.Open(); SqlDataReaderst_dr=st_comm.ExecuteReader(); st_rp_information.DataSource=st_dr; //绑定到控件 st_rp_information.DataBind(); //关闭连接 st_conn.Close(); } #regionWebFormDesignergeneratedcode overrideprotectedvoidOnInit(EventArgse) { //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。 InitializeComponent(); base.OnInit(e); } ///<summary> ///设计器支持所需的方法-不要使用代码编辑器修改 ///此方法的内容。 ///</summary> privatevoidInitializeComponent() { this.st_rp_information.ItemCommand+=newSystem.Web.UI.WebControls.RepeaterCommandEventHandler(this.st_rp_information_ItemCommand); this.Load+=newSystem.EventHandler(this.Page_Load); } #endregion privatevoidst_rp_information_ItemCommand(objectsource,System.Web.UI.WebControls.RepeaterCommandEventArgse) { } }}学生选课管理后台源代码publicvoidST_BindGrid() { //查询sql语句字符串 stringst_sqlstr="selectST_student_course.ST_ID,ST_student.ST_Student_id,ST_student.ST_Student_classidfromST_student_course,ST_student,ST_teacher_coursewhereST_student_course.ST_Course_id='"+st_ddl_course.SelectedItem.Value+"'andST_student_course.ST_Course_year=ST_teacher_course.ST_Course_yearandST_student_course.ST_Course_year='"+st_tbx_year.Text+"'andST_teacher_course.ST_Teacher_id='"+st_ddl_teacher.SelectedItem.Value+"'andST_student_course.ST_Course_id=ST_teacher_course.ST_Course_idandST_student.ST_Student_id=ST_student_course.ST_Student_id"; SqlDataAdapterst_da=newSqlDataAdapter(st_sqlstr,st_conn); //生成一个数据集的一个实例 DataSetst_ds=newDataSet();//填充数据集 st_da.Fill(st_ds); st_dtg_sort.DataSource=st_ds;//绑定到控件 st_dtg_sort.DataBind();//查询语句 stringstrsq="selectCOUNT(*)fromST_student_course,ST_student,ST_teacher_coursewhereST_student_course.ST_Course_id='"+st_ddl_course.SelectedItem.Value+"'andST_student_course.ST_Course_year=ST_teacher_course.ST_Course_yearandST_student_course.ST_Course_year='"+st_tbx_year.Text+"'andST_teacher_course.ST_Teacher_id='"+st_ddl_teacher.SelectedItem.Value+"'andST_student_course.ST_Course_id=ST_teacher_course.ST_Course_idandST_student.ST_Student_id=ST_student_course.ST_Student_id"; SqlCommandst_comm1=newSqlCommand(strsq,st_conn);//打开连接 st_conn.Open(); Sql

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论