1、 安徽理工大学课程设计(论文)任务书 计算机科学与工程 学院 计算机软件教研室学 号学生姓名专业(班级)设计题目 学生信息管理系统 设计技术参数系统平台:windows XP开发工具:JSP,Access设计要求实现一种学生信息管理系统,并实现对数据库基本操作。工作量课程设计报告规定不少于3000字。源程序规定不少于300行工作计划6月29日:熟悉题目并理解,及找寻有关资料。6月30日-7月2日:建立数据库,并掌握有关操作,熟悉JSP知识。7月3日-7月4日:运用JSP去实现对数据库基本操作。7月5日:完毕界面及word文档。参考资料指引教师签字教研室主任签字 7 月 5 日安徽理工大学课程设
2、计(论文)成绩评估表学生姓名: 学号: 专业班级: 课程设计题目: 学生信息管理系统 指引教师评语: 成绩: 指引教师: 年 月 日摘 要 学生信息管理系统是典型管理信息系统(MIS),其系统开发重要涉及数据库规划设计与维护、客户端应用程序开发两个方面。对于前者规定建立起数据库具备完整性和一致性,且具备一定数据安全性,而对于后者则规定程序界面和谐、功能完备,容易使用,具备流行软件操作习惯等特点。通过详细调查分析,我选用Visual Basic 6.0作为前端开发工具,运用其提供集成开发环境及支持面向对象各种原则化控件,特别是对ADO支持完毕对数据库各种操作,达到对学生学籍管理目。设计时一方面在
3、短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成顾客满意实际可行系统。核心词:学生档案,管理,分析,设计,实现,ADO 目 录1 需求分析11.1 顾客调查11.2构造系统逻辑模型11.3 拟定目的系统功能.21.4数据分析概念模型分析.31.4.1数据库建模.31.4.2关系描述设计.52 总体设计.62.1软件系统构造设计62.1.1得到新业务流程.62.1.2系统功能构造图.62.2数据库设计72.2.1数据库逻辑设计.72.2.2数据库物理设计.83 详细设计103.1详细描述103.2详细实现环节114 总结194.1设计体会.194.2系统改进.
4、19参照文献20 1 需求分析1.1顾客调查 通过详细调研,并多次与学生档案管理教师进行研讨后,一方面加深了对学生信息管理业务深刻理解,另一方面在充分熟悉学生档案管理业务同步,将整个学生档案管理业务流程描述如下: 新生入校,一方面报到并进行注册登记,然后到财务部门缴费。依照学生被录取专业,持缴费单到所在系或部注册。 到系或部注册后,依照选报专业分派到班级。 进入正常大学生活,参加各种教学活动,学期期末规定每位同窗参加各课期末考试。 考试结束,由各系或部将各位同窗考试成绩及其她某些有关信息纪录至每个同窗档案中。依照以上总结,得到其现行业务流程如图1-1所示。新生办理登记手续财务处学生处至系或部系
5、或某些班安排课程教室开始学习活动考试成绩奖惩信息档案信息学生处学生图1-1 现行学生信息管理业务流程图1.2 构造系统逻辑模型 构造系统逻辑模型工具是数据流图和数据字典。数据流图中没有任何详细物理元素,只是用来描绘信息在系统中流动和解决状况。数据流图共有四种基本符号:矩形表达数据源点和终点(或称为外部项),圆或椭圆表达变换数据解决,向右开口矩形表达数据存储,箭头表达数据流,即特定数据流动方向。依照现行学生信息管理业务流程,一方面拟定数据流图中源点和终点都选定为学生,如此就得到了学生档案管理系统基本系统模型,如图1-2所示。成绩等信息学生档案管理学生学生基本信息学生 图1-2 学生档案管理系统基
6、本系统模型依照基本系统模型,对其逐渐西化,得到描绘逻辑系统西化后数据流图,如图1-3所示。D1 学生信息表D3 课程信息表课程信息学生基本信息基本信息1.3课程拟定1.1注册1.2建档分班依照专业拟定所修课程新生报道学生成绩信息班级信息D2 班级信息表D4 成绩信息表学生毕业分档1.4解决档案成绩信息图 1-3 学生档案系统数据流图1.3 拟定目的系统功能 通过详细顾客调查,在现行业务解决流程和数据流图基本上,就可以基本拟定目的系统要达到目的了。需求分析任务是拟定系统必要完毕工作,也就是对目的系统提出完整、原则、清晰、详细规定。在通过多方理解和调查后,基本清晰了学生档案信息管理功能需求,学生档
7、案管理系统必要完毕如下功能: 数据添加功能:对于新生报道,系统必要具备班级建立、课程设立,如果新增专业,则能添加新专业,期末学生考试成绩及奖惩信息必要可以录入。 数据修改功能:当上述资料发生变化或有错误信息输入时,应可以及时对数据进行修改和补充。 数据查询功能:该系统重要功能致意即依照顾客提供有关信息,可以及时查找出相应学生信息,系统应当提供各种查询办法,以便满足顾客不同需求。 数据打印功能:学生基本信息和成绩录入后应可以打印出来形成文字档案,装入学生档案,这也是学生学籍管理系统必要具备功能。1.4 数据分析概念模型分析需求分析阶段重要有两个方面任务:分析顾客数据规定和分析顾客解决规定。通过以
8、上分析,咱们已经基本理解了顾客对解决规定,接下来需要工作是分析顾客对数据规定。为了把顾客数据清晰明确地表达出来,系统分析员普通建立一种概念性数学模型。概念性模型是一种面向问题数学模型,是按顾客观点来对数据和信息建模。最惯用表达概念性数据模型办法是实体-联系办法(Entity-Relationship Approach)。这种办法用E-R图描述现实世界中实体,而不涉及这些实体在系统中实现办法,该办法又称为E-R模型,E-R图中共用三种符号:实体、属性和联系。普通实体用矩形来表达,属性用椭圆或圆角矩形来表达,联系用菱形来表达。联系有分为一对一、一对多和多对多三种类型。1.4.1 数据库建模 通过上
9、面分析,可以提取如下几种实体:学生、课程、专业 、班级等。它们实体图分别如图1-4、图1-5、图1-6、图1-7所示。姓名学号籍贯性别学生邮政编码出生日期图1-4 学生实体图所属专业课程名称课程图1-5 课程实体图所属院系专业名称专业图1-6专业实体图所在院系人数班级名称班级辅导员所在教室图1-7班级实体图 在找到所有实体基本上,需要进一步分析各实体之间联系。通过度析两两实体之间联系,然后进行合并,给出所有尸体联系图即E-R图,如图1-8所示。课程学生学成绩属于属于专业班级图1-8学生信息管理E-R图从以上E-R图中可以看到,学生和课程两个实体之间联系类型是多对多,其她实体之间类型都是属于一对
10、一或一对多联系。在考察多对多联系中,一定要注意这时联系“学”有时也可以有属性“成绩”,表达某位同窗选修某门课程时必要给出其成绩,该属性既不属于实体学生,也不属于实体课程。特别需要提示是,普通只有多对多联系才需要考虑其联系属性。1.4.2 关系描述设计依照以上各实体图和学生信息管理E-R图,通过转换,可以导出各个关系。其转换规则为:一方面每个实体转化为一种关系,有属性联系也应转化为一种关系,然后需要给出每个关系核心字。依照以上规则,直接给出所关于系。学生(学号、姓名、性别、政治面貌、出生日期、专业、班级、家庭住址、联系方式、备注)核心字为学号。课程(课程名称、所属专业)核心字是课程名称。专业(专
11、业名称、所属院系)核心字为专业名称。班级(班级名称、所属院系、辅导员、教室、人数)核心字为班级编号。成绩(学号、姓名、专业、课程名称、所在学院、性别、成绩)核心字是学号与课程名称。在考虑系统安全前提下,需要增长顾客关系和使用关系,其关系模式如下:顾客(顾客名、密码、顾客ID)核心字为顾客名。系统日记(顾客名、登录日期、登录时间)。2总体设计系统设计普通分为总体设计和详细设计。通过需求分析阶段工作,已经清晰系统必要完毕工作,下面工作就应当是决定“如何做”问题,总体设计基本目就是“概要地说系统应当如何实现?”。通过该阶段工作将划分出构成系统物理元素程序、文献、数据库、文档等,另一方面重要工作是设计
12、软件构造,即拟定系统都由哪些模块构成及模块之间互有关系。2.1软件系统构造设计 2.1.1 得到新业务流程依照系统分析得到现行业务解决流程,在与顾客重复研究协商后,一方面得到目的系统即学生学籍管理系统业务流程,其解决流程如图2-1所示。分班并开始学习系统登录新生报道信息录入顾客初始化结束退出登录考试录入成绩信息修改与奖惩信息录入 图2-1 学生信息系统业务流程针对新解决流程,现详细描述如下: 顾客登录:对系统进行初始化设立,涉及对专业、课程和班级设立。 新生报道:按专业分班进行教学,并为每位新同窗分派学号,然后对学生基本信息进行录入。 学生分派到班级、领教材开始新大学学习生活。 顾客对学生在校
13、期间得到奖惩信息进行录入,并可以对基本信息发生变化学生在系统中进行修改。 期末考试结束,顾客把每个学生考试成绩进行录入、修改和查询。2.1.2系统功能构造图依照系统分析阶段得到数据流图,采用软件设计概念和原理,在与顾客重复研究和协商后,在保证系统基本功能规定前提下,结合系统新业务流程拟定系统必要具备所有功能,由此给出学生学籍管理系统系统功能构造图,如图2-2所示。学生学籍管理系统学籍管理系统添加顾客修改密码打印学生信息卡添加奖惩信息查询修改信息添加学籍信息退出系统专业与课程班级管理设立专业课程课程信息添加班级专业信息修改班级设立类型添加信息修改信息添加专业信息成绩管理添加成绩信息删除成绩信息查
14、询修改成绩信息图2-2 学生学籍管理系统功能构造图2.2 数据库设计在需求分析阶段已完毕了系统数据分析。依照数据分析阶段建立概念模型,已经得出满足第三范式若干个关系描述,这阶段重要工作就是把前一阶段成果转化为详细数据库。普通把数据库设计分为数据库逻辑设计和数据库物理设计两个环节。2.2.1 数据库逻辑设计在完毕数据概念模型设计即E-R图后,即可进入数据库逻辑设计阶段。数据库逻辑设计即把得到满足第三范式关系转化为特定数据库管理系统下数据库。依照前面得到各个关系,现把它们转化为数据表。 学生信息表:学号、姓名、性别、政治面貌、出生日期、专业、班级、家庭住址、联系电话、备注。此表共10个字段,由于在
15、校所有学生中,不也许存在两个学生学号相似,因此在本表中学号作为学生信息表主键。 课程信息表:课程名称、所属专业。 专业信息表:专业名称、所属院系。此表以专业名称为主键。 班级信息表:班级名称、所属专业、辅导员、教室、人数。此表公有五个字段,以学号和班级共同为主键,用于纪录学生所在班级信息。 成绩信息表:学号、姓名、专业、程名称、所在学院、性别、成绩。此表共有七个字段,以学号和课程名称共同为主键,用于纪录学生在校期间各课考试。 顾客名:顾客名、密码、顾客ID。此表用于系统对操作员设立。 系统日记:顾客名、登录时间、登录时间、此表用于纪录系统使用状况。2.2.2 数据库物理设计在完毕数据库逻辑设计
16、后,即可开始数据库物理设计。基于以上数据库逻辑设计,考虑程序设计简易性及通用性,本学生学籍管理系统采用MicrosoftAccess 数据库,并在其下创立9个数据库,其构造分别如下: 学生信息表(xsXJ),共有10个字段,分别为:学号、姓名、性别、政治面貌、出生日期、专业、班级、联系电话、家庭住址、备注。见表2-1。表2-1 学生信息表构造字段名数据类型字段长度与格式核心字学号文本15是姓名文本20否性别文本5否政治面貌文本12否出生日期日期型YYYY-MM-DD否专业文本20否班级文本20否家庭住址文本50否联系电话文本15否备注文本50否 课程信息表(xsKC),本表有两字段:课程名称、
17、所属专业。见表2-2。表2-2 课程信息表构造字段名数据类型字段长度与格式核心字课程名称文本20是所属专业文本20否 班级信息表(xsBJ),共有四个字段分别为:班级名称、所属院系、辅导员、教室、人数。见表2-3。表2-3 班级信息表构造字段名数据类型字段长度与格式核心字班级名称文本20是所属院系文本20否辅导员文本10否教室文本15否人数文本3否 专业信息表(xsZY),本表有两个字段:专业名称、所属院系。见表2-4。表2-4 专业信息表构造字段名数据类型字段长度与格式核心字专业名称文本20是所属院系文本20否 成绩信息表(xsScore),共有6个字段分别为:学号、姓名、专业、课程名称、成
18、绩。见表2-5。表2-5 成绩信息表构造字段名数据类型字段长度与格式核心字学号文本15是姓名文本20否专业文本20否课程名称文本20是所在学院文本20否性别文本5否成绩文本5否3.详细设计31 详细描述详细设计阶段主线任务是拟定应当如何详细实现所规定系统,也就是通过这个阶段设计工作,应当得出对目的系统精准描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写程序。把通过总体设计得到各个模块详细加以描述。其中系统功能模块图如图3-1所示,主程序流程图如图3-2所示。学生学籍管理系统系统管理学籍管理专业课 程管理班级管理成绩管理协助添加班级查询班级注销班级学生添加学生查询学生注销学
19、生打印管理日记顾客管理重新登陆系统日记退出系统设立专业设立课程查询修改添加成绩查询修改删除成绩协助关于系统信息图3-1 软件系统模块构造图查询选取插入显示主菜单删除顾客登陆修改开始图3-2 软件系统主程序程序流程图3.2 详细实现环节:登录界面如下图: 图3-3登录之后,进入选取对数据库进行什么操作,如图: 图3-4(1)若选取查询操作,则进入如下界面: 图3-5(2)若选取修改操作,则进入如下界面: 界面实当代码:修改学生信息修改学生信息学生学号:学生姓名:所选专业:学生课程:所在学院:学生性别:学生成绩: 图3-6修改操作实当代码:修改学生信息% Connection conn=null;
20、tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);String strConn=jdbc:odbc:shopData;String strUser=sa;String strPassword=;conn=DriverManager.getConnection(strConn,strUser,strPassword);Statement stmt=conn.createStatement();String StNo=Bytes(request.getParameter(StNo);String StName=Bytes(request.getParam
21、eter(StName);String StZy=Bytes(request.getParameter(StZy); String StCourse=Bytes(request.getParameter(StCourse); String StDep=Bytes(request.getParameter(StDep); String Sex=Bytes(request.getParameter(Sex);String StScore=Bytes(request.getParameter(StScore);Date date=new Date();String strSql=update xsS
22、core set StName=+StName+,StZy=+StZy+,StCourse=+StCourse+,StDep=+StDep+,Sex=+Sex+ where StNo=+StNo+or StName=+StName+;int intTemp=stmt.executeUpdate(strSql);if(intTemp!=0)out.println( + 学生信息修改成功! + );elseout.println( + 学生信息修改失败! + ); String strSql2=SELECT StNo,StName,StZy,StCourse,StDep,Sex,StScore f
23、rom xsScore order by StNo ASC;ResultSet rs=stmt.executeQuery(strSql2);%某些学生信息学生学号学生姓名专 业 课 程 所在学院 性 别 成 绩 修改成果如下:将学号为14320学生课程改为神学 图3-7(3)若选取添加操作,则进入如下界面: 图3-8(4)若选取删除操作,则进入如下界面: 界面实当代码:删除学生信息删除学生信息学生学号:学生姓名:所选专业:学生课程:所在学院:学生性别:学生成绩: 图3-9删除操作代码:添加学生成绩信息% Connection conn=null;tryClass.forName(sun.jdb
24、c.odbc.JdbcOdbcDriver);String strConn=jdbc:odbc:shopData;String strUser=sa;String strPassword=;conn=DriverManager.getConnection(strConn,strUser,strPassword);Statement stmt=conn.createStatement();String StNo=Bytes(request.getParameter(StNo);String StName=Bytes(request.getParameter(StName);String StZy
25、=Bytes(request.getParameter(StZy); String StCourse=Bytes(request.getParameter(StCourse); String StDep=Bytes(request.getParameter(StDep); String Sex=Bytes(request.getParameter(Sex);String StScore=Bytes(request.getParameter(StScore);Date date=new Date();if(StNo!=null) String strSql=delete from xsScore
26、 where StNo=+StNo+and StName=+StName+and StZy=+StZy+and StCourse=+StCourse+and StDep=+StDep+and Sex=+Sex+and StScore=+StScore+;int intTemp=stmt.executeUpdate(strSql);if(intTemp!=0)out.println( + 规定学生信息删除成功! + );elseout.println( + 规定学生信息删除失败!也许已删除过或不存在当前输入学生信息 + );String strSql2=SELECT StNo,StName,St
27、Zy,StCourse,StDep,Sex,StScore from xsScore order by StNo ASC;ResultSet rs=stmt.executeQuery(strSql2);%某些学生信息学生学号学生姓名专 业 课 程 所在学院 性 别 成 绩 成果显示如下: 图3-104 总结4.1 设计体会通过一种星期课程设计,我终于完毕这次课程设计:学生信息管理系统。我重要针对是对学生成绩信息基本操作。整个系统是一种综合信息管理系统,其开发重要涉及数据库建立以及前端应用程序开发两个方面。其重点核心为数据库建立和开发过程。本次课程设计在数据库系统设计方面进一步地讨论了学生信息管
28、理系统设计技术要点,系统开发语言采用了Access实现数据库设计开发,同步使用流行JSP程序语言实现应用程序界面。在本次课程设计过程中,遵循了数据库开发过程基本环节,基本实现了数据库建立和可以实现数据库基本操作。通过这次实践,我对数据库设计有了深刻理解,同步对于开发一种数据库系统过程也有了一种比较全面结识。由于课程设计时间较短,加上本人能力有限,因而该系统尚有些不尽如人意地方,有待进一步改进。我会从这些设计中汲取经验总结,在此后学习加强锻炼,同步我对加强对数据库学习,加强了动手实践能力。4.2 系统改进 本次数据库数据库课程设计,我所做学生信息管理系统使用JSP加Access实现,这个系统达到
29、了基本规定,可分别对顾客及管理员登录状况进行验证,可以通过对页面实现对数据库查询,显示,添加、修改和删除数据库中数据并显示出来。但本次数据库课程设计尚有诸多可以改进地方,如可以实现对数据库中各种表操作,以及数据库系统中关系表可以实现更紧密关联。此外可以加入系统管理员有关信息表。在这些可改进功能基本上也可以对页面进行更和谐,更加人性化设计。参照文献1 王珊,萨师道.数据库系统概论.北京:高等教诲出版社,2 刘志成.JSP程序设计案例教程.北京:清华大学出版社,3 (美)西尔伯沙茨.数据库系统概念.北京:机械工业出版社,4 王鹏.数据库技术及其应用.北京:人民邮电出版社,5 唐有明 吴华.JSP动态网站开发.北京:清华大学出版社,6 吉根林.WEB程序设计.北京:电子工业出版社,