学生管理系统之项目分析
第一部分 案例描述
-
案例目的
学习面向对象的主要特征和基本概念,包括类、对象、继承、接口、封装、继承、多态、方法的重载和重写、Java的访问修饰符与其它关键字等。
-
案例难度
★★★★ -
案例覆盖技能点
1、 I/O流
2、 ArrayList的使用
3、 HashMap的使用
4、 异常的处理
5、 scanner的使用 -
推荐案例完成时间
0.5天 - 适用课程和对象
JAVA面向对象编程基础
第二部分 需求和开发环境
- 使用技术和开发环境
JAVA、MyEclipse6.0或以上、JDK5.0或以上 -
案例需求
用户需要我们设计一个学生管理系统,要求登录后可以实现对学员的增加和查询的功能,并提供良好的操作界面。经过分析系统的需求,抽象出管理员实体、学生实体,从管理员实体中抽象出来的数据有用户名和密码,从学生实体中抽象出来的数据有学生Id,学生姓名,出生日期,电话,地址。
-
系统基本模块包括
功能点 | 难度 |
---|---|
登录 | ★★ |
添加学生 | ★★★★ |
查看所有学生 | ★★★★ |
删除学生 | ★★★★ |
修改学生 | ★★★★ |
界面类 | ★★★ |
- 功能点介绍
1、现要求设计管理员Admin类和学生Student类来存储相应信息,分别要提供一个缺省的和带参数的构造函数来获取数据,同时不能打破面向对象的封装特性(提示:将数据写成私有,为字段提供public setter/getter方法)
为学生类添加toString()的方法,toString()方法内容是将字段连接成一个字符串,然后返回。
设计一个Tools类提供重载方法println()和print(),让其接收不同的数据并能打印字符串,数字,布尔值和换行等。
打包要求:
管理员Admin、学生Student,打包在com.handson.stumanager.domain包中
工具类Tools,打包在com.handson.stumanager.tools包中,并把方法改成static的,且把之前程序中的打印输出全都换成当前类的方法调用2、在com.handson.stumanager.service包中
设计一个学生操作类,可起名为StudentBO,此类要求如下:
提供一个addStudent行为,接收学生对象,用于把一个已经构建好的学生对象添加到HashMap中。
提供一个saveStudentMapToFile行为,用于把HashMap对象保存到文件中。
提供一个getAllStudent的行为,用于查询HashMap中所有的学生对象。
提供一个readStudentMapFromFile行为,用于从文件中读取HashMap对象。
设计一个登录操作类,可起名为LoginBO,此类要求如下:
提供行为checkUser行为,接收管理员对象,用于验证用户登陆是否成功。如果用户名是admin密码是123456,则返回true否则false- 3、在com.handson.stumanager.view包中
设计一个界面类,可起名为StuManagerCUI,用于创建登录界面、主界面、添加界面、显示所有界面,效果图分别如下:
![登陆界面](https://i-blog.csdnimg.cn/blog_migrate/03906507540e2530360f39a3e7af2671.webp?x-image-process=image/format,png)
![系统主界面](https://i-blog.csdnimg.cn/blog_migrate/f42a97ba6cb2dafadad6d159bcbe728a.webp?x-image-process=image/format,png)
![信息添加界面](https://i-blog.csdnimg.cn/blog_migrate/e5e91d322a4f8409097e05a9ee40170f.webp?x-image-process=image/format,png)
![查看信息界面](https://i-blog.csdnimg.cn/blog_migrate/82c5e45df4ac8f714059e6492eaa7764.webp?x-image-process=image/format,png)
第三部分 考核评价点
序号 | 功能列表 | 功能描述 | 分数 | 说明 |
---|---|---|---|---|
1 | 登录 | 必做 | ||
2 | 添加学生 | 必做 | ||
3 | 查看所有学生 | 必做 | ||
4 | 删除学生 | 必做 | ||
5 | 修改学生 | 必做 | ||
6 | 界面类 | 必做 |
第四部分 源码实现
项目源码分析请看java项目:学生管理系统此源码是此方案的简化版