ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:107.02KB ,
资源ID:6885808      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6885808.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件系统分析与设计大作业实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件系统分析与设计大作业实验报告.docx

1、软件系统分析与设计大作业实验报告武汉轻工大学软件系统分析与设计大作业实验报告 基于ASP.NET的学生信息管理系统的设计与实现学院:数学与计算机学院姓名: 时 保 粮 班级: 软工一班 学号: 1205110210 指导老师:蒋丽华 2015年 5月 20 日一 需求分析学生信息管理系统是高校管理工作中一项非常重要的组成部分。用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分地满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理的流程,为后面的设计打下基础。本系统是针对高等院校的学生信息的后台管理,因此学生信息管理系统的用户包括系统管理员和教师用户。主要

2、涉及学期信息、班级信息、学生信息、课程信息、成绩信息和用户信息等数据信息。ASP.Net的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。学生成绩管理信息系统是由 Web后台进行统一管理,所有业务逻辑都集中在Web应用程序中管理和制定,具有数据的录入和查询统计等功能,客户端的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。二 系统设计1. 系统概要设计、登录界面用户注册系统管理员教师用户修改用户密码查询成绩信息查询学生信息查询课程信息修改用户信息用户信息管理成绩信息管理课程信息管理学生信息管理班级信息管理学期信

3、息管理图 2-1 系统概要设计图2. 子模块设计以学生信息管理模块为例:学生信息管理查询学生信息添加学生信息修改学生信息删除学生信息图 2-2 学生信息管理模块设计图学生信息管理模块分为添加学生信息和查询信息两个界面,实现学生信息的添加和查询功能。按照实际情况,只有查询出相应的学生信息才能对其进行修改和删除,故对学生信息的修改和删除功能集成在查询学生信息界面里。PS:其他子模块的功能实现与此类似3. 三层架构的设计模式A之三层WEB结构及其优点三层模式是在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界

4、面,有助于用户理解和高效的定位应用服务,负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开 。其主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序,它是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(

5、Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发;数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。三层模式的主要优点为 :良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。增强了企业对象的

6、重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。图 2-3 三层架构理念图ASP.Net的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。它可以使程序具有更好的扩展性,灵活性,安全性,平台无关性以及可维护性。ASP.Net的三层结构开发方法思想与Java类似:Java中的三层架构为前端的HTML,JS

7、P,Serverlet,中间层为JavaBean,EJB,后面为数据器库服务器。而在ASP.Net中,前端为HTML,asp,aspx等,中间层为扩展名是.vb,.cs等文件编译而成的.dll控件,后面为数据库服务器。三 数据库设计1. 数据库表设计表名字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值Class1classNovarchar2002classNamevarchar2003banzhurenvarchar2004beginTimedatetime823表名字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值Course1courseNovarchar2002c

8、ourseNamevarchar2003teacherNamevarchar2004courseCountint4105courseScorefloat853表名字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值CusUsers1customeridint4102Customernamenvarchar10003customerpwdvarchar5004Realnamenvarchar10005CustomerSfznvarchar10006addressnvarchar10007telphonevarchar3008IsCusAdminint4109CusTypeint410表名

9、字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值Score1scoreIdint4102studentNovarchar2003courseNovarchar2004termIdint4105scorefloat853表名字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值Student1studentNumbervarchar2002studentNamevarchar2003sexvarchar204classInfovarchar2005birthdaydatetime8236zhengzhimianmaovarchar2007telephonevarchar2008

10、addressvarchar200表名字段序号字段名称主键是否递增数据类型最大长度数据长度允许空值TermInfo1termIdint4102termNamevarchar200四 开发及运行环境1. 操作系统:Windows 7/82. 开发工具:Visual Studio 2008 、ASP.NET 、Internet Explorer3. 数据库工具:SQL Server 2008 、SQL Server Management Studio五 系统开发及实现1. 应用系统架构图5-1 系统架构图2. 三层架构设计理念的体现以编辑学生信息模块功能为例:(1)用户在页面填写相应的信息,用Ch

11、eckIn()函数检查输入信息是否为空图 5-2 编辑学生信息界面function CheckIn() var re = /0-9+.?0-9*$/; var resc=/1-9+0-9*$/ ; var studentNumber = document.getElementById(studentNumber).value; if (studentNumber = ) alert(请输入学号.); document.getElementById(studentNumber).focus(); return false; var studentName = document.getElemen

12、tById(studentName).value; if (studentName = ) alert(请输入学生姓名.); document.getElementById(studentName).focus(); return false; var sex = document.getElementById(sex).value; if (sex = ) alert(请输入性别.); document.getElementById(sex).focus(); return false; var birthday = document.getElementById(birthday).val

13、ue; if (birthday = ) alert(请输入出生日期.); document.getElementById(birthday).focus(); return false; return true; (2)点击保存信息按钮,触发按钮上的BtnStudentSave_Click函数,在该函数中,用ENTITY实体层中的Student类来创建对象,并调用BLL层中的编辑和添加方法。(详见下划线部分)protected void BtnStudentSave_Click(object sender, EventArgs e) ENTITY.Student student = new

14、ENTITY.Student(); student.studentNumber = this.studentNumber.Value; student.studentName = studentName.Value; student.sex = sex.Value; student.classInfo = classInfo.SelectedValue; student.birthday = Convert.ToDateTime(birthday.Text); student.zhengzhimianmao = zhengzhimianmao.Value; student.telephone

15、= telephone.Value; student.address = address.Value; if (!string.IsNullOrEmpty(Common.GetMes.GetRequestQuery(Request, studentNumber) student.studentNumber = RequeststudentNumber; if (BLL.bllStudent.EditStudent(student) Common.ShowMessage.myScriptMes(Page, Suess, if(confirm(信息修改成功,是否继续修改?否则返回信息列表。) lo

16、cation.href=M_EditStudent.aspx?studentNumber= + RequeststudentNumber + else location.href=M_StudentList.aspx ); else Common.ShowMessage.Show(Page, error, 信息修改失败,请重试或联系管理人员.); else if (BLL.bllStudent.AddStudent(student) Common.ShowMessage.myScriptMes(Page, Suess, if(confirm(信息添加成功,是否继续添加?否则返回信息列表。) l

17、ocation.href=M_EditStudent.aspx else location.href=M_StudentList.aspx ); else Common.ShowMessage.Show(Page, error, 信息添加失败,请重试或联系管理人员.); (3)转到BLL层来看,BLL层仅包含对Student对象的增删改查等方法,实际操作则是调用DAL层的方法来实现。namespace BLL /*学生信息业务逻辑层*/ public class bllStudent /*添加学生信息*/ public static bool AddStudent(ENTITY.Student

18、 student) return DAL.dalStudent.AddStudent(student); /*根据studentNumber获取某条学生信息记录*/ public static ENTITY.Student getSomeStudent(string studentNumber) return DAL.dalStudent.getSomeStudent(studentNumber); /*更新学生信息*/ public static bool EditStudent(ENTITY.Student student) return DAL.dalStudent.EditStuden

19、t(student); /*删除学生信息*/ public static bool DelStudent(string p) return DAL.dalStudent.DelStudent(p); /*根据条件分页查询学生信息*/ public static System.Data.DataTable GetStudent(int NowPage, int PageSize, out int AllPage, out int DataCount, string p) return DAL.dalStudent.GetStudent(NowPage, PageSize, out AllPage

20、, out DataCount, p); /*查询所有的学生信息*/ public static System.Data.DataSet getAllStudent() return DAL.dalStudent.getAllStudent(); (4)我们进而转到DAL来看,DAL层则是将对Student对象,也就是对应数据库中的Student表的增删改查等各种方法的具体实现内容都详细的写出来了。namespace DAL /*学生信息业务逻辑层实现*/ public class dalStudent /*待执行的sql语句*/ public static string sql = ; /*

21、添加学生信息实现*/ public static bool AddStudent(ENTITY.Student student) string sql = insert into Student(studentNumber,studentName,sex,classInfo,birthday,zhengzhimianmao,telephone,address) values(studentNumber,studentName,sex,classInfo,birthday,zhengzhimianmao,telephone,address); /*构建sql参数*/ SqlParameter p

22、arm = new SqlParameter new SqlParameter(studentNumber,SqlDbType.VarChar), new SqlParameter(studentName,SqlDbType.VarChar), new SqlParameter(sex,SqlDbType.VarChar), new SqlParameter(classInfo,SqlDbType.VarChar), new SqlParameter(birthday,SqlDbType.DateTime), new SqlParameter(zhengzhimianmao,SqlDbType

23、.VarChar), new SqlParameter(telephone,SqlDbType.VarChar), new SqlParameter(address,SqlDbType.VarChar) ; /*给参数赋值*/ parm0.Value = student.studentNumber; /学号 parm1.Value = student.studentName; /学生姓名 parm2.Value = student.sex; /性别 parm3.Value = student.classInfo; /所在班级 parm4.Value = student.birthday; /出

24、生日期 parm5.Value = student.zhengzhimianmao; /政治面貌 parm6.Value = student.telephone; /联系电话 parm7.Value = student.address; /家庭地址 /*执行sql进行添加*/ return (DBHelp.ExecuteNonQuery(sql, parm) 0) ? true : false; /*根据studentNumber获取某条学生信息记录*/ public static ENTITY.Student getSomeStudent(string studentNumber) /*构建

25、查询sql*/ string sql = select * from Student where studentNumber= + studentNumber + ; SqlDataReader DataRead = DBHelp.ExecuteReader(sql, null); ENTITY.Student student = new ENTITY.Student(); /*如果查询存在记录,就包装到对象中返回*/ if (DataRead.Read() student.studentNumber = DataReadstudentNumber.ToString(); student.st

26、udentName = DataReadstudentName.ToString(); student.sex = DataReadsex.ToString(); student.classInfo = DataReadclassInfo.ToString(); student.birthday = Convert.ToDateTime(DataReadbirthday.ToString(); student.zhengzhimianmao = DataReadzhengzhimianmao.ToString(); student.telephone = DataReadtelephone.T

27、oString(); student.address = DataReadaddress.ToString(); return student; /*更新学生信息实现*/ public static bool EditStudent(ENTITY.Student student) string sql = update Student set studentName=studentName,sex=sex,classInfo=classInfo,birthday=birthday,zhengzhimianmao=zhengzhimianmao,telephone=telephone,address=address where studentNumber=studentNumber; /*构建sql参数信息*/ SqlPar

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1