JavaEE架构设计与开发教程课件第10章.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JavaEE架构设计与开发教程课件第10章.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEE 架构 设计 开发 教程 课件 10
- 资源描述:
-
1、Java EE课程设计案例课程设计案例(SSM)第十章第十章了解Java EE面向接口开发概念掌握Java EE的应用分层框架学习内容熟悉项目后台数据库的设计了解SSM框架的综合应用项目需求分析1功能流程设计2数据库设计 3系统实现4目 录CONTENTS系统运行界面展示5项目需求分析1 系统功能需求 系统流程分析项目需求分析项目需求分析该系统旨在解决学生选择毕业设计课程设计题目的问题。这个问题的要求包括学生对现有课题的了解过程,选择课题,重选课题,查看自身已选课题的过程,老师对课程题目的相关信息有增删改的功能,对已选课题学生有一个有总体情况的查看功能。其次老师为了实现所有课题都有一定或者适宜
2、数量的人去选择,老师有权限去修改规定对应课题的对应库存(课题的最多可选人数)。以及基本的用户登陆验证问题。系统功能需求项目需求分析项目需求分析系统解决问题的过程中出现了以下的对象:学生用户对象,老师用户对象,课题对象等。学生用户对象对课题对象有选择功能,一次选择生成一条记录,根据该记录在数据库课题选择情况表中生成相应的数据并更改课题表中相应课题的库存,重新选择课题功能需要将课题选择情况表中的该学号用户的选择记录删除,再添加入新的选题数据,并在课题表中修改相应课题的库存量。并且需要在用户选择课程库存量不足的情况下,向学生用户反馈信息,提示重选。学生用户有查看自己选课情况的功能需求。系统功能需求项
3、目需求分析项目需求分析老师用户是学生用户中的一类特殊用户,老师用户相对于学生用户拥有对课题操作的特殊权限,因此系统需要分配给老师用户对课题操作的不同的功能权限需求,包括增加新课题数据,修改原有课题数据,限制规定课题库存量,查看所有已选学生的选课情况。系统功能需求项目需求分析项目需求分析用户对象登录功能实现需求,系统通过用户名来区分用户所具有的权限,并在登录后自动的跳转到相应的操作页面。用户登陆时,为了避免机器穷举攻击登录他人用户,要求系统在登陆界面中添加验证码功能来区分用户和机器,防止用户账户遭到恶意入侵和更改。系统功能需求项目需求分析项目需求分析本章项目具体的需求分析,如图所示。用户登陆都需
4、要验证信息,验证成功后才能登陆系统。用户按照执行任务和权限分为两种:学生和管理员,两者拥有不同的管理页面。学生用户主要做的即选择课题和查看已选择的课题;管理员做的是查看选课情况和对课题的增、删、改、查操作。系统流程分析功能流程设计 系统模块描述 系统编程环境2 前端页面设计 核心类设计功能流程设计功能流程设计整个系统体系结构框架如图所示。系统分为三大块:前台界面、后台以及数据库操作。相应的项目文件名称以及细分的模块如图所示。系统模块描述功能流程设计功能流程设计根据体系结构图可知,后端连接中有很多模块,下面简单介绍下相应的模块具体有什么作用。pDao模块中实现了三个接口:EnrollmentDa
5、o,ProjectDao,UserDao。三个接口分别用于与数据库表格的增删改查操作。三个接口的实现依赖于entitiy模块中的Enrollment,Project,User三个对象类以及util模块中的List类。pDto模块中实现了三个类:Checker,EnrollResult,SelectResult。Checker类提供了用于登陆验证的字符串比较。EnrollResult类用于生成选课记录表的结果记录。SelectResult类用于生成选课的记录。pEntitiy模块中实现了三个类:Enrollment,Project,User。三个类分别用于实例选课记录,课题项目,用户信息这三个对
6、象。为其他模块提供依赖。系统模块描述功能流程设计功能流程设计pException模块中实现了6个类:EmptyFieldException,LoginException,ProjectUpdateException,RepeatSelectException,SelectException和StockException。分别用于实例空文本框异常,登陆异常,课题项目编辑更新异常,重复选择课题异常,选课异常和库存异常。pService模块中实现了三个类:EnrollmentServiceImpl,ProjectServiceImpl,UserServiceImpl;和三个接口EnrollmentS
7、ervice,ProjectService,UserService。三个类分别引用了这三个接口。pUtil模块中实现了Util类,Util类中导入了EmptyFieldException类。pWeb模块中实现了主要的SelectController类,控制类依赖于以上几乎所有的类,通过url来实现页面的跳转和功能的实现。系统模块描述功能流程设计功能流程设计本章项目的编程环境为:Windows操作系统,MyEclipse2014编译器,MySQL数据库。Windows操作系统7或10均可。MySQL数据库在第一章和第九章均有讲到过,读者如果感到陌生,可自行复习,在此便不再对MySQL做过多描述了
8、。正版MyEclipse2014是需要收费的,读者可自行购买或下载破解版插件进行破解。安装破解等操作,请读者自行百度学习,在此不对其做详细介绍。系统编程环境功能流程设计功能流程设计关于前端页面设计,我们可以我们首先根据架构图,新建如图所示的目录。具体代码见对应教材的课程设计源码。前端页面设计功能流程设计功能流程设计根据之前提到的架构图,我们需要在后台连接模块中写入实现类。图所示的是各个模块的目录。核心类设计功能流程设计功能流程设计下面我们介绍下操作后台连接的一些接口的具体功能。p EnrollmentDao接口方法:int insertEnrollment(Enrollment enrollm
9、ent);插入选课记录方法Long selectProjectIdByUserId(Long userId);根据用户id查询课题id方法int deleteByUserId(Long enrollmentId);根据用户id删除记录方法List selectWithProjectAndUser();根据用户/课题查询方法核心类设计功能流程设计功能流程设计p ProjectDao接口方法:List listAllProjects();列出所以课题方法int reduceStock(Long projectId);减少库存方法int getStock(Long projectId);查询库存方法
10、Project selectProjectById(Long projectId);根据id查询课题方法int insertWithoutId(Project project);插入课题方法Project getProjectById(Long id);获取课题id方法int deleteProjectById(Long id);删除课题方法int updateProjectById(Project project);更新课题方法int increaseStock(Long projectId);增加库存方法核心类设计功能流程设计功能流程设计p UserDao接口方法:User queryBy
11、Username(String username);查询用户方法List listAllUsers();列出所有用户方法核心类设计功能流程设计功能流程设计三个接口的方法具体实现方法见后面的详细代码。我们继续介绍下操作后台连接的一些类的具体功能。p Enrollment类 字段:enrollmentId,userId,projectId,project,user 方法:对各字段的get/set方法,无参构造方法,带参构造方法,toString()p Project类 字段:projectId,projectName,projectDescription,stock(库存)方法:对各字段的get/
12、set方法,无参构造方法,带参构造方法,toString()p User类字段:userId,username,realname,password方法:对各字段的get/set方法,无参构造方法,带参构造方法,toString()核心类设计功能流程设计功能流程设计p Checker类字段:checked(布尔型),userId,username方法:对各字段的get/set方法,无参构造方法,带参构造方法,toString()p EnrollResult类字段:enrolled(布尔型),enrollmentId,userId,projectId方法:对各字段的get/set方法,无参构造方法
13、,带参构造方法,toString()p SelectResult类字段:success(布尔型),data,error(报错,字符型)方法:对各字段的get/set方法,无参构造方法,带参构造方法,toString()核心类设计功能流程设计功能流程设计6个异常类如下:p EmptyFieldException类:方法:EmptyFieldException(String message)super(message);EmptyFieldException(String message,Throwable cause)super(message,cause);p LoginException类方
14、法:LoginException(String message)super(message);LoginException(String message,Throwable cause)super(message,cause);p ProjectUpdateException类方法:ProjectUpdateException(String message)super(message);ProjectUpdateException(String message,Throwable cause)super(message,cause);核心类设计功能流程设计功能流程设计p RepeatSelec
展开阅读全文