版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北理珠学生创业信息管理系统设计与实现摘要近年来,国家对创新创业高度重视,大学生自主创业的比例越来越高。搭建大学生创新创业监测、跟踪体系,对大学生创业信息进行有效管理就尤为重要。本系统旨在构建的创业信息管理系统,系统的主要功能包括:用户管理、学院管理、学生管理、导师管理、项目管理、项目成员明细管理。系统为B/S结构模式,采用Javaweb技术进行逻辑控制与jsp页面展示,结合mysql做数据库存储数据,系统开发的过程采用面向对象的方法。本论文对系统的分析、设计和实现做了详细的描述。关键词:MIS,面向对象,学生创业,SSH,B/S,JSP,MySqlDesignandImplementationofZHBITstudententrepreneurshipinformationmanagementsystemAbstractInrecentyears,countrypayhightattentiontotheEducationofCreationandInnovation,moreandmorestudentsstartanownbusinesses.Itisparticularlyimportanttobuildamonitoringandtrackingsystemforcollegestudents'innovationandentrepreneurship,andmanagetheirentrepreneurshipinformationeffectivelyThemainfunctionsofZHBITstudententrepreneurshipinformationmanagementsystemareasfollows:themanagementofuser;themanagementofteam;themanagementofstudentinformation;themanagementofteacherinformation;themanagementofproject;themanagementofprojectmembers.ThesystemadoptsB/Sstructure,JavaWebtechnologyforlogiccontrolandJSPpagedisplay,andMySqlasbackgrounddatabase.Thesystemdevelopmentprocessadoptstheobject-orientedmethod.Thisthesisdescribestheanalysis,designandimplementationofZHBITstudententrepreneurshipinformationmanagementsystemindetail.Keywords:MIS,object-orientedmethod,Entrepreneurship,SSH,B/S,JSP,MySql目录TOC\o"1-3"\h\u第1章绪论 第1章绪论1.1系统开发的背景与目标1.1.1系统开发的背景近年来,针对国家对大学生创新创业的重视,各高校纷纷做出响应,加大创业教育人力、财力的投入力度,大学生自主创业的比例越来越高。我们把视野缩小回校园,在人力、财力、硬件设施日渐齐全的情况下,各高校对大学生的创业信息的管理却还停留在手动管理方式,大学生创业信息没能好好管理及作为经验好好利用起来。为支持高校建立创新创业教育质量监测跟踪体系,提高高校管理学生创业信息的效率,此时引入校园创业信息管理系统显得尤为重要。1.1.2系统开发的目标本设计是基于web的北理珠学生创业信息管理系统,其核心是构建一个针对我校的完善的学生创业信息管理平台。本设计从根本上解决我校管理学生创业信息的滞后性,针对性地有效整合我校大学生创业信息,提高老师管理的效率。希望通过系统,对我校开展创新创业教育工作,起到积极地促进作用。1.2系统的主要功能和特点北理珠学生创业信息管理系统的主要功能有:用户管理、学院管理、学生信息管理、导师信息管理、项目管理、项目成员明细管理。本系统的主要特点是用户添加完项目后,可进行学院、学生、教师多方级联,查询对应的项目明细。1.3设计开发的方法和工具系统开发过程采用面向对象的方法,采用Java的SSH框架实现。利用MySQL存储数据,使用JSP技术开发显示层,使用Struts1、Hibernate、Spring开发控制层、数据库访问和对象关系映射。开发过程包括以下七大阶段,如图1-1所示。图1-1开发流程在整个系统开发过程中最关键的莫过于系统的分析与设计。只有做好系统的前期分析和设计,后期的开发才能更高效有序地进行。系统实施阶段要在系统分析与设计阶段以后,梳理清楚整个系统需要要做什么和怎么去做,并且需要得出严格的说明和具体的定义才能开始执行。1.4论文的内容和结构安排本课题研究的主要内容是使用javaweb技术,结合css+js+html设计并实现一个北理珠学生创业信息管理系统。根据所研究的内容,本篇毕业设计论文一共分为五个章节,大致框架如下:第一章绪论:主要介绍北理珠学生创业信息管理系统开发的背景与目的、主要功能和特点、实现方法及使用工具;第二章系统规划:解决北理珠学生创业信息管理系统初步需求与可行性分析,确定系统总体功能结构;第三章系统分析:确定与组织系统需求(用例图及用例规约)、概念数据建模与对象关系建模,对主要功能进行动态建模,确定分析类图;第四章系统设计:包括总体设计、数据库设计、UI界面设计;第五章系统实现:介绍开发环境的构建、模块功能的实现,简述实现过程的主要问题及解决办法;系统规划2.1初步需求分析当下大多数高校对创业信息的管理还是传统的手动记录,极少数学校拥有能解决学校本身创业信息管理的信息化方式。针对北理珠学生的需求,需要搭建一个简洁的、能记录学院创办创业项目、老师指导创业项目、学生参与创业项目的信息管理系统。北理珠学生创业信息管理系统实现的总功能就是我校学生创业信息的管理。主要用户为记录创业信息的工作人员,即为指导创业项目的老师。本设计的核心是方便老师对北理珠大学生创业信息进行增删改查操作,方便老师记录与查询相关信息。2.2总体结构系统的总体功能结构如图2-1所示。图2-1系统总体结构2.3可行性研究2.3.1技术的可行性本系统利用SSH框架结合JSP做前端展示、MySQL做数据存储整合开发,已有许多使用此技术系统开发成功,故技术可行。2.3.2经济的可行性系统实现所需人力、物力都不会超出已有资源,故经济可行。2.3.3社会因素可行性国家大力推进大学生自主创业,开发此系统不涉及违法操作,故社会环境可行。系统分析3.1功能分析北理珠学生创业信息管理系统由六大模块组成。具体功能模块如下。用户管理:该模块用来管理需要使用系统记录创业信息的用户,包括增删改查用户四大功能;学生信息管理:该模块用来管理参与创业项目的学生信息,包括新增学生、删除学生、修改学生、查询学生四大功能;学院管理:该模块用来管理学校学院及为学院添加创业项目信息,包括新增学院、删除学院、修改学院、为学院添加项目、查看学院项目信息五大功能;导师信息管理:该模块用来管理指导各学院创业项目的老师信息,包括新增导师、删除导师、修改导师、为导师添加指导项目四大功能;创业项目内容管理:该模块用来管理北理珠学生创业项目主要信息,包括增删改查创业项目所有涉及信息四大功能;创业项目参与成员管理:该模块用来管理北理珠学生与创业项目的参与关系,包括增删改查参与关系及按条件查找五大功能。3.2用户管理模块3.2.1用例图用户管理用例图如图3-1所示。图3-1用户管理用例图3.2.2用户管理模块用例规约用户登录用例规约如表3-1所示。表3-1用户登录用例规约表用例名称:用户登录主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户访问系统最低保证:回滚未完成的事务成功保证:用户成功登录系统触发器:用户点击登录按钮主要的成功情节:用户成功登录系统,进入用户欢迎界面。扩展:1.a使用数据库中不存在的账号密码进行登录1.a.1提示用户名/密码错误1.b验证码输入错误1.b.1提示验证码错误新增用户用例规约如下表3-2。表3-2新增用户用例规约表用例名称:新增用户主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加用户触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击用户管理,点击添加,输入用户信息。保存成功,进入用户管理,可看见该用户。扩展:1.a用户添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除用户的用例规约如下表3-3。表3-3删除用户的用例规约表用例名称:删除用户主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户已成功添加,可在用户管理界面的用户列表里看见该用户最低保证:回滚未完成的事务成功保证:成功删除用户触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入用户管理,查看用户列表,在用户列表中勾上该用户。3.点击删除,出现确定弹框,点击确认。4.确认成功,用户从列表删除扩展:1.a找不到该用户1.a.1确认是否已新增该用户。修改用户的用例规约如下表3-4。表3-4修改用户的用例描述表用例名称:修改用户主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户添加成功,可在用户管理界面的用户列表里看见该用户信息最低保证:回滚未完成的事务成功保证:成功修改用户触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入用户管理,点击用户管理,在用户列表勾上该用户。3.点击修改按钮,出现该用户信息表,输入改正信息,点击确认。4.确认成功,用户修改成功扩展:1.a找不到该用户1.a.1确认是否已新增该用户。1.b用户修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入用户信息,重新确认查询用户的用例规约如下表3-5。表3-5查询用户的用例描述表用例名称:查询用户主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户进入用户管理界面最低保证:回滚未完成的事务成功保证:成功显示查询结果触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入用户管理,在查找框中输入用户名称。3.点击查找按钮。4.查找成功,显示相关用户信息扩展:a找不到该用户1.a.1确认是否已新增该用户。1.a.2重置3.3学院管理模块3.3.1学院管理模块的用例图学院管理用例图如图3-2所示。图3-2学院管理的用例图3.3.2用例规约新增学院新增学院用例规约如下表3-6。表3-6新增学院的用例描述表用例名称:新增学院主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加学院触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击学院管理,点击添加,输入学院信息。保存成功,进入学院管理,可看见该学院。扩展:1.a学院添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除学院删除学院用例规约如表3-7所示。表3-7删除学院用例描述用例名称:删除学院主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:学院已成功添加,可在学院管理界面的学院列表里看见该学院最低保证:回滚未完成的事务成功保证:成功删除学院触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入学院管理,查看学院列表,在学院列表中勾上该学院。3.点击删除,出现确定弹框,点击确认。4.确认成功,学院从列表删除扩展:1.a找不到该学院1.a.1确认是否已新增该学院。修改学院修改学院用例规约如表3-8所示。表3-8修改学院用例描述用例名称:修改学院主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:学院添加成功,可在学院管理界面的学院列表里看见该学院最低保证:回滚未完成的事务成功保证:成功修改学院触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入学院管理,查看学院列表,在学院列表勾上该学院。3.点击修改按钮,出现该学院信息表,输入改正信息,点击确认。4.确认成功,学院修改成功扩展:1.a找不到该学院1.a.1确认是否已新增该学院。1.b学院修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入学院信息,重新确认为学院添加创业项目信息为学院添加北理珠创业项目的用例规约如表3-9所示。表3-9为学院添加创业项目的用例描述用例名称:为学院添加创业项目信息主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户成功点击查看学院项目信息最低保证:回滚未完成的事务成功保证:学院创业项目添加成功触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入学院管理,在学院列表中点击学院对应的查看学院项目信息。3.在学院项目信息界面点击添加,输入项目信息。4.添加成功,在该学院的学院项目信息列表中看见该项目扩展:a找不到该项目1.a.1确认是否已新增该项目。1.a.2重置查看学院的项目查看学院的项目的用例规约如下表3-10。表3-10查看学院的项目的用例描述用例名称:查看学院项目信息主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户进入学院管理界面最低保证:回滚未完成的事务成功保证:成功显示查询结果触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入学院管理,在查找框中输入学院名称。3.点击查找按钮。4.在查找结果中点击查看学院项目信息5.成功进入学院项目信息界面扩展:a找不到该学院项目信息1.a.1确认是否已新增该学院项目信息。1.a.2重置3.4学生信息的管理模块3.4.1用例图学生信息管理的用例图如下图3-3。图3-3学生信息管理的用例图3.4.2用例规约新增学生的用例规约如下表3-11。表3-11新增学生的用例描述用例名称:新增学生主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加学生触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击学生管理,点击添加,输入学生信息。保存成功,进入学生管理,可看见该学生。扩展:1.a学生添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除学生的用例规约如下表3-12。表3-12删除学生的用例描述用例名称:删除学生主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:学生已成功添加,可在学生管理界面的学生列表里看见该学生最低保证:回滚未完成的事务成功保证:成功删除学生触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入学生管理,查看学生列表,在学生列表中勾上该学生。3.点击删除,出现确定弹框,点击确认。4.确认成功,学生从列表删除扩展:1.a找不到该学生1.a.1确认是否已新增该学生。修改学生的用例规约如下3-13。表3-13修改学生的用例描述用例名称:修改学生主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:学生添加成功,可在学生管理界面的学生列表里看见该学生最低保证:回滚未完成的事务成功保证:成功修改学生触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入学生管理,查看学生列表,在学生列表勾上该学生。3.点击修改按钮,出现该学生信息表,输入改正信息,点击确认。4.确认成功,学生修改成功扩展:1.a找不到该学生1.a.1确认是否已新增该学生。1.b学生修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入学生信息,重新确认查询学生的用例规约如下表3-14。表3-14查询学生的用例描述用例名称:查询学生主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户进入学生管理界面最低保证:回滚未完成的事务成功保证:成功显示查询结果触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入学生管理,在查找框中输入学生名称。3.点击查找按钮。4.查找成功,显示相关学生信息扩展:a找不到该学生1.a.1确认是否已新增该学生。1.a.2重置3.5导师信息的管理3.5.1用例图导师信息管理的用例图如下图3-4。图3-4导师信息管理用例图3.5.2用例规约新增导师的用例规约如下表3-15。表3-15新增导师的用例描述用例名称:新增导师主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加导师触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击导师管理,点击添加,输入导师信息。保存成功,进入导师管理,可看见该学生。扩展:1.a导师添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除导师删除导师用例规约如表3-16所示。表3-16删除导师用例描述用例名称:删除导师主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:导师已成功添加,可在导师管理界面的导师列表里看见该导师最低保证:回滚未完成的事务成功保证:成功删除导师触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进导师管理,查看导师列表,在导师列表中勾上该导师。3.点击删除,出现确定弹框,点击确认。4.确认成功,导师从列表删除扩展:1.a找不到该导师1.a.1确认是否已新增该导师。修改导师修改导师用例规约如表3-17所示。表3-17修改导师用例描述用例名称:修改导师主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:导师添加成功,可在导师管理界面的导师列表里看见该导师最低保证:回滚未完成的事务成功保证:成功修改导师触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入导师管理,查看导师列表,在导师列表勾上该导师。3.点击修改按钮,出现该导师信息表,输入改正信息,点击确认。4.确认成功,导师修改成功扩展:1.a找不到该导师1.a.1确认是否已新增该导师。1.b导师修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入导师信息,重新确认为导师添加指导项目的用例规约如下表3-18。表3-18为导师添加指导项目的用例描述用例名称:为导师添加指导项目主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:导师添加成功,可在导师管理界面的导师列表里看见该导师最低保证:回滚未完成的事务成功保证:成功为该老师添加指导项目触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入导师管理,查看导师列表,点击导师对应的查看导师指导项目。3.进入导师指导项目界面,点击添加,输入项目。4.确认成功,导师指导项目添加成功扩展:1.a找不到该导师1.a.1确认是否已新增该导师。1.b项目添加失败1.b.1重新输入项目信息,重新确认3.6创业项目管理的模块3.6.1用例图创业项目管理的用例图如下图3-5。图3-5创业项目管理的用例图3.6.2用例规约新增项目的用例规约如下表3-19。表3-19新增项目的用例描述用例名称:新增项目主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加项目触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击项目管理,点击添加,输入项目信息。保存成功,进入项目管理,可看见该项目。扩展:1.a项目添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除项目的用例规约如下表3-20。表3-20删除项目的用例规约表用例名称:删除项目主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:项目已成功添加,可在项目管理界面的项目列表里看见该项目最低保证:回滚未完成的事务成功保证:成功删除项目触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进项目管理,查看项目列表,在项目列表中勾上该项目。3.点击删除,出现确定弹框,点击确认。4.确认成功,项目从列表删除扩展:1.a找不到该项目1.a.1确认是否已新增该项目。修改项目的用例规约如下表3-21。表3-21修改项目的用例描述用例名称:修改项目主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:项目添加成功,可在项目管理界面的项目列表里看见该项目最低保证:回滚未完成的事务成功保证:成功修改项目触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入项目管理,查看项目列表,在项目列表勾上该项目。3.点击修改按钮,出现该项目信息表,输入改正信息,点击确认。4.确认成功,项目修改成功扩展:1.a找不到该项目1.a.1确认是否已新增该项目。1.b项目修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入项目信息,重新确认查看项目的用例规约如下表3-22。表3-22查看项目的用例描述用例名称:查看项目信息主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:可在项目管理界面的项目列表里看见该项目最低保证:回滚未完成的事务成功保证:成功进入项目详情界面触发器:点击查看项目详情主要的成功情节:1.用户成功登陆系统欢迎界面2.进入项目管理,查看项目列表,点击项目对应的查看项目详情。3.成功进入项目详情界面。扩展:1.a找不到该项目1.a.1确认是否已新增该项目。3.7项目成员管理3.7.1用例图项目成员管理的用例图如下图3-6。图3-6项目成员管理的用例图3.7.2用例规约新增项目参与成员的用例规约如下表3-23。表3-23新增项目参与成员的用例描述用例名称:新增项目成员主参与者:用户层次:海平面利益相关者:用户前置条件:用户已登陆最低保证:回滚未完成的事务成功保证:成功添加项目成员触发器:点击保存主要的成功情节:用户成功登陆用户欢迎界面点击项目成员管理,点击添加,输入项目学生信息。保存成功,进入项目成员管理,可看见该参与关系。扩展:1.a项目成员添加失败1.a.1检查所输入的数据字数是否超出限制。1.a.2回滚未完成的事务。删除项目参与成员的用例规约如下表3-24。表3-24删除项目参与成员的用例描述用例名称:删除项目成员主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:项目成员已成功添加,可在项目成员管理界面的项目成员列表里看见该项目成员最低保证:回滚未完成的事务成功保证:成功删除项目成员触发器:点击确认删除按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进项目成员管理,查看项目成员列表,在项目成员列表中勾上该项目成员。3.点击删除,出现确定弹框,点击确认。4.确认成功,项目成员从列表删除扩展:1.a找不到该项目成员1.a.1确认是否已新增该项目成员。修改项目参与成员的用例规约如下表3-25。表3-25修改项目参与成员的用例描述用例名称:修改项目成员主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:项目成员添加成功,可在项目成员管理界面的项目成员列表里看见该项目成员最低保证:回滚未完成的事务成功保证:成功修改项目成员触发器:点击确认修改按钮主要的成功情节:1.用户成功登陆系统欢迎界面2.进入项目成员管理,查看项目成员列表,在项目成员列表勾上该项目成员。3.点击修改按钮,出现该项目成员信息表,输入改正信息,点击确认。4.确认成功,项目成员修改成功扩展:1.a找不到该项目成员1.a.1确认是否已新增该学院。1.b项目成员修改失败1.b.1检查所输入的数据字数是否超出限制。1.b.2重新输入项目信息,重新确认查看项目参与成员的用例规约如下表3-26。表3-26查看项目参与成员的用例描述用例名称:查看项目成员主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户进入项目成员管理界面最低保证:回滚未完成的事务成功保证:成功显示查询结果触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入项目成员管理,在查找框中输入项目名称。3.点击查找按钮。4.查找成功,显示相关项目成员信息扩展:a找不到该项目涉及学生1.a.1确认是否已新增该参与关系。1.a.2重置查看成员参与项目的用例规约如下表3-27。表3-27查看成员参与项目的用例描述用例名称:查看成员项目主参与者:用户(导师)层次:海平面利益相关者:用户前置条件:用户进入项目成员管理界面最低保证:回滚未完成的事务成功保证:成功显示查询结果触发器:点击查找按钮主要的成功情节:1.用户成功进入用户欢迎界面2.进入项目成员管理,在查找框中输入学生名称。3.点击查找按钮。4.查找成功,显示相关项目信息扩展:a找不到该学生参与的项目1.a.1确认是否已新增该参与关系。1.a.2重置3.8概念数据模型与对象关系建模3.8.1学生与学院对象关系学生与学院对象关系类图如图3-7。图3-7学生与学院对象关系类图学生与学院存在多对一的关系,对应的关系模型为:student(id,code,name,sex,enrollDate,birthday,teamId)team(id,name)3.8.2学生与项目对象关系学生与项目对象关系类图如图3-8。图3-8学生与项目对象关系类图学生与项目存在多对多的关系,对应的关系模型为:student(id,code,name,sex,enrollDate,birthday,teamId)course(id,name)mark(id,job,studentId,courseId)3.8.3老师与项目对象关系老师与项目对象关系类图如图3-9。图3-9老师与项目对象关系类图老师与项目存在多对多的关系,对应的关系模型为:teacher(id,name)course(id,name)Teacher_course(teacherId,courseId)3.8.4学院与项目对象关系学院与项目对象关系类图如图3-10图3-10学院与项目对象关系类图学院与项目存在一对多的关系team(id,name)course(id,name,teamId)3.8.5对象关系模型根据学院设立创业项目后指定指导老师指导,后学生加入该创业项目的项目信息录入顺序,总结对象关系模型为:用户关系User(id,name,password)学院关系Team(id,name)学生关系Student(id,code,name,sex,enrollDate,birthday,teamId)导师关系Teacher(id,name)项目关系Course(id,name)项目详情关系Courseschedule(id,statu,info,teamId,courseId,teacherId)参与关系Mark(id,job,studentId,courseId)指导关系Teacher_course(teacherId,courseId)3.9创业项目管理动态建模3.9.1新增学院顺序图新增学院顺序图如图3-11图3-11新增学院顺序图3.9.2新增导师顺序图新增导师顺序图如图3-12图3-12新增导师顺序图3.9.3新增项目顺序图新增项目顺序图如图3-13图3-13新增项目顺序图3.9.4新增项目详情顺序图新增项目详情顺序图如图3-14。图3-14新增项目详情顺序图3.9.5删除项目详情顺序图删除项目详情顺序图如图3-15。图3-15删除项目详情顺序图3.9.6查找项目顺序图(分条件)查找项目顺序图如图3-16。图3-16查找项目顺序图3.10项目成员管理动态建模3.10.1新增学生顺序图新增学生顺序图如图3-17。图3-17新增学生顺序图3.10.2新增项目成员顺序图新增项目成员顺序图如图3-18。图3-18新增项目成员的顺序图3.10.3删除项目参与成员的顺序图删除项目参与成员的顺序图如图3-19图3-19删除项目成员顺序图3.11分析类图创业项目管理分析类图如3-20。图3-20创业项目管理分析类图项目成员管理分析类图如图3-21图3-21项目成员管理分析类图系统设计4.1总体设计系统总体功能结构图如图4-1。图4-1系统的总体功能结构图(详细)4.2数据库设计根据抽象的概念数据模型和对象关系模型形成数据库中的表以及各个表之间的关系。北理珠学生创业信息管理系统数据库表如下各图。用户表user如下表4-1。表4-1用户表user字段名字段描述数据类型是否可以为空默认值约束条件id用户编号varchar(15)否无主键name用户名varchar(15)否无password用户密码varchar(15)否无导师表teacher如下表4-2。表4-2导师表teacher字段名字段描述数据类型是否可以为空默认值约束条件id导师编号varchar(15)否无主键name导师姓名varchar(15)否无学生表student如下表4-3。表4-3学生表student字段名字段描述数据类型是否可以为空默认值约束条件id学生编号varchar(15)否无主键code学生学号varchar(15)否无name学生姓名(唯一标识)varchar(15)否无sex学生性别varchar(4)否无enrollDate入学时间datatime否无birthday学生生日datatime否无teamId学院编号varchar(15)否无外键学院表team如表4-4所示。表4-4学院表team字段名字段描述数据类型是否可以为空默认值约束条件id学院编号varchar(15)否无主键name学院名称varchar(20)否无项目表(project)course如下表4-5表4-5项目表course字段名字段描述数据类型是否可以为空默认值约束条件id项目编码varchar(15)否无主键name项目名称varchar(40)否无项目详情表courseschedule如表4-6所示表4-6项目详情表courseschedule字段名字段描述数据类型是否可以为空默认值约束条件id项目详情编号varchar(15)否无主键statu项目状态varchar(6)否运行中info项目简介varchar(400)否无teamId所属学院编码varchar(15)否无外键courseId项目编码varchar(15)否无外键teacherId项目导师编码varchar(15)否无外键参与关系表mark如表4-7所示表4-7参与关系mark字段名字段描述数据类型是否可以为空默认值约束条件id关系编号varchar(15)否无主键job学生职位varchar(15)否无studentId学生编号varchar(15)否无外键courseId项目编号varchar(15)否无外键指导关系表teacher_course如表4-8所示表4-8指导关系表teacher_course字段名字段描述数据类型是否可以为空默认值约束条件teacherId导师编号varchar(15)否无主键,外键courseId项目编号varchar(15)否无主键,外键4.3UI设计及实现用户登录界面如图4-2图4-2用户登录界面业务首页如图4-3图4-3业务首页用户管理页面如图4-4图4-4用户管理页面用户添加页面如图4-5图4-5用户添加页面学院管理页面如图4-6图4-6学院管理页面项目管理页面如图4-7图4-7项目管理页面导师管理页面如图4-8图4-8项目管理页面学生管理页面如图4-9图4-9学生管理页面项目成员管理页面如图4-10图4-10项目成员管理添加项目成员页面如图4-11图4-11添加项目成员页面系统实现5.1构建开发环境5.1.1硬件平台CPU:i32.00GHz内存:8.0G5.1.2软件平台操作系统:win7数据库:MySql5.1开发工具:MyEclipse6.55.2模块功能实现本系统采用java面向对象开发语言进行开发,采用js+css+JSP开发端前界面,采用Struts1+spring2+Hibernate3实现平台功能。根据ssh框架所需,本系统编写多个包进行调用。其中ject.model为模型层,里面包含各个实体类及对象关系映射文件;ject.dao和ject.daoImpl为数据访问层;ject.action和ject.form为控制层及对应表单填充;ject.util为搭建Hibernate、分页和MD5保密等功能辅助类;ject.web为用户登录过滤器。代码总框架如图5-1。图5-1代码总框架模型层代码如图5-2.图5-2模型层代码数据访问层代码结构如图5-3图5-3数据访问层代码结构控制层代码结构如图5-4图5-4控制层代码结构5.2.1Functions分情况查询各实体辅助类实现publicpublicclassFunctions{privatestaticSessionFactorysessionFactory;@SuppressWarnings("unchecked") publicstaticList<Team>getTeamList(){ List<Team>teamList=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); returnht.find("fromTeamtorderbyt.id"); }catch(Exceptione){ e.printStackTrace(); } returnteamList; } @SuppressWarnings("unchecked") publicstaticList<Course>getCourseList(){ List<Course>courseList=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); returnht.find("fromCoursecorderbyc.id"); }catch(Exceptione){ e.printStackTrace(); } returncourseList; } @SuppressWarnings("unchecked") publicstaticList<Student>getStudentList(){ List<Student>studentList=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); returnht.find("fromStudentsorderbys.id"); }catch(Exceptione){ e.printStackTrace(); } returnstudentList; }@SuppressWarnings@SuppressWarnings("unchecked") publicstaticList<Teacher>getTeacherList(){ List<Teacher>teacherList=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); returnht.find("fromTeachertorderbyt.id"); }catch(Exceptione){ e.printStackTrace(); } returnteacherList; } @SuppressWarnings("unchecked") publicstaticCoursegetCourseById(Stringid){ Coursecourse=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); course=(Course)ht.get(Course.class,id); returncourse; }catch(Exceptione){ e.printStackTrace(); } returncourse; } @SuppressWarnings("unchecked") publicstaticTeamgetTeamById(Stringid){ Teamteam=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); team=(Team)ht.get(Team.class,id); returnteam; }catch(Exceptione){ e.printStackTrace(); } returnteam; }@SuppressWarnings("unchecked")@SuppressWarnings("unchecked") publicstaticMarkgetMarkById(Stringid){ Markmark=null; try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); mark=(Mark)ht.get(Mark.class,id); returnmark; }catch(Exceptione){ e.printStackTrace(); } returnmark; } @SuppressWarnings("unchecked") publicstaticvoidupdateMark(Markmark){ try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); ht.update(mark); }catch(Exceptione){ e.printStackTrace(); } } @SuppressWarnings("unchecked") publicstaticList<CourseSchedule>getCourseByTeam(finalTeamteam){ List<CourseSchedule>list=newArrayList<CourseSchedule>(); try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); list=ht.executeFind(newHibernateCallback(){ publicObjectdoInHibernate(Sessionsession) throwsHibernateException,SQLException{returnsession.createQuery("fromCourseSchedulecswherecs.team=:team") .setParameter("team",team) .list(); } }); returnlist; }catch(Exceptione){ e.printStackTrace(); } returnlist; } publicstaticList<Course>getCourseByTeamAndTeacher(finalTeamteam,finalTeacherteacher){publicstaticList<Course>getCourseByTeamAndTeacher(finalTeamteam,finalTeacherteacher){ List<Course>list=newArrayList<Course>(); try{ HibernateTemplateht=newHibernateTemplate(sessionFactory); list=ht.executeFind(newHibernateCallback(){ publicObjectdoInHibernate(Sessionsession) throwsHibernateException,SQLException{ returnsession.createQuery("selectdistinctcs.coursefromCourseSchedulecswherecs.team=:teamandcs.teacher=:teacher"+ "andcs.coursenotin(selectm.coursefromMarkm)") .setParameter("team",team) .setParameter("teacher",teacher) .list(); } }); returnlist; }catch(Exceptione){ e.printStackTrace(); } returnlist; } publicvoidsetSessionFactory(SessionFactorysessionFactory){ Functions.sessionFactory=sessionFactory; }}5.3系统问题和解决办法系统问题和解决办法如下表5-1表5-1系统问题和解决方法表问题问题描述解决办法整合ssh失败搭建ssh框架时,出现各种报错,最终发现是导入框架环境时包冲突删除冲突的jar包500异常在操作表单删除项目后,项目成员管理出现500异常,后发现在搭建框架时,Hibernate配置文件中的级联关系没弄清楚,项目表与参与关系表的多表操作没实现增加实体类中级联关系属性,修改对象映射关系文件中的级联关系中文乱码表单提交的中文数据到数据库里为?更改jsp编码为utf-8更改数据库编码更该spring的字符集过滤器总结毕设用来总结大学四年所学,认识自己专业能力有效途径。于是听李老师的话,大三下学期,我开始复盘大学所学,重新领悟老师所教所点,结果发现有些东西曾经没吃透,自己有许多不足。认识到自己的不足后,大四上学期我就跟着视频与网课提升自己前后端代码开发能力,学习css+js+html的前端开发,学java基础编程,ssh框架整合。我相信机会是留给有准备的人的,通过这些学习,在选题阶段我对整个项目框架就有一定构,开头是好的。可有些事有些安排是我毕生无法预料的,有段时间,我把精力放在其他事物上,再拿起来,已是毫无头绪。什么事都要一口气咬牙做完的,于是我抽出一个月时间好好复习之前所学,另一个月专心做毕设。框架搭了拆拆了搭,界面试了换换了试,直到功能与界面实现。本系统基于Javaweb设计,采用css+js+html实现视图展示,整合ssh框架,结合mysql数据库实现业务逻辑控制与数据访问操作。通过两个月的努力,系统基本能完成学生创业信息的录入、删除、修改及查询,不足的是某些模块,比如项目成员管理模块的参与关系录入还未能实现,这部分没能实现多表关联操作,还得手动更改数据库。总的来说,通过这次毕设,本人编程能力得到一定提升,对系统的分析与设计也有更多深入的思考,解决问题的能力与心态也得到一定的修养。参考文献[1]梁宏蕾;大学生创业影响因素及特质要求分析[J].中国商论,2019(11):235237.[2]张秀娥;杨柳.高校毕业生创业就业现状及对策研究[J].中外企业家,2019(15):225226.[3]李观金;大学生创业园信息管理系统的研究与开发[D];华南理工大学;2014年[4]刘西杰,柳林.HTML、CSS、JavaScript网页制作从入门到精通[M].北京.人民邮电出版社.2012[5]乔治;面向对象系统分析与设计(第2版)[M].北京.清华大学出版社.2007[6]肖睿,郭泰,王丁磊;SSH框架企业级应用实战[M].北京.人民邮电出版社.2012[7]张素青,翟慧,黄静;MySQL数据库技术与应用[M].北京.人民邮电出版社.2018[8]王国辉,宋禹蒙;Java项目开发全程实录(第3版)[M].北京.清华大学出版社.2013[9]阿里巴巴商学院网络创业研究中心;大学生网络创业现状与趋势:中国大学生网络创业研究报告[M].北京.电子工业出版社.2010[10]司爱侠,张强华;信息管理专业英语教程(第2版)[M].北京.人民邮电出版社.2015谢辞时光飞逝,岁月如梭。随着毕设作品的完成,那个穿着碎花长裙的懵懂女孩在我脑中回荡。四年,转瞬即逝,而我,初心不变,在此,让我由衷感谢四年的相遇。感谢母校北京理工大学珠海学院和商学院为我提供的良好学习与生活环境,让我大学四年能好好研究自己的兴趣,静下心来思考未来的发展。同时感谢信管老师们孜孜不倦的为我解答疑问,让我掌握独立分析与设计系统的能力。最后感谢导师田院长在我实现毕设过程中的耐心与宽容,让我不断发现自己的不足,不断思考改进。在学校的四年,我收获了知识与友谊,遇见许多优秀且低调的人,这些相遇,让我越变越好。整个毕业设计的实现过程尤为艰辛,这也让我有机会提升自我,主动学习。通过这次毕设,我深深意识到主动积极的人生态度有多重要。在解决问题的过程中,我明白什么叫越战越勇。人生就是这样,遇见困难不能退缩,要调整好心态积极面对问题,解决问题,当困难解决时,你就更强大了。最后送给自己刘伟的一句话,不管以后身处何地,都要:学好,守拙,别怕。附录附录1程序源代码附录2系统数据库实现
HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+ESC--开始菜单CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截图工具CTRL+ENTERQQ发消息Alt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业废水处理项目可行性研究报告
- 临床护理技术操作并发症的预防与处理
- 补充协议书范文
- 区域代理销售合同文本
- 商铺抵押银行担保贷款合同
- 节庆活动园区管理办法
- 临时包装用电施工协议
- 企业子公司管理准则
- 办公楼配电房升级改造协议
- 校领导在军训总结大会上的感想5篇
- 由冷变热(课堂PPT)
- 网球比赛计分表(共2页)
- Y2系列电机外形及安装尺寸(共2页)
- 地锚抗拔力计算
- 补偿收缩混凝土应用技术规程JGJT1782009
- 豆类食物营养成分表
- 儿童福利机构设备配置标准
- 智慧树知到《配位化学本科生版》章节测试答案
- 最新实用培训技巧与方法课件PPT
- 羊头岗村拆迁安置住宅—3#楼工程试验方案
- 大同煤业股份有限公司会计信息披露存在的问题和对策研究论文设计
评论
0/150
提交评论