面相对象程序设计包含内容如下
- 局域网聊天程序设
- 网页浏览器设计
- 电子日历记事本的设计
以其中的一个的报告进行举例
1需求与总体设计 1
1.1需求分析 1
1.2总体设计方案 1
1.2.1系统功能分析以及功能表 1
1.3系统类图的关系以及表之间的联系 2
2详细设计 3
2.1 ManageView类的说明 3
2.2ManageView类的说明 3
2.3LoginManage类的说明 4
2.4ClassManage类的说明 5
2.5Utils类的说明 5
3编码实现 6
3.1MainView类的说明 6
3.2ClassManage类图: 8
3.2.1班级数据库的添加 8
3.2.2班级数据的添加 8
3.2.3班级数据的删除 9
3.2.6班级人员全部数据的显示 10
3.3StuManage类图: 11
3.3.1学生数据的删除: 11
3.3.3学生数据的更新: 11
3.4Utils类图: 12
3.5ManageView类图: 14
3.5.1该项目的功能按钮: 14
3.5.2每个功能的类的使用的说明: 14
3.6LoginManage类图: 15
3.6.1该页面的功能按钮 15
3.6.2然后登录数据传输则通过以下该方法进行判断 16
3.7subRank类图: 27
4系统测试 19
4.1功能测试: 19
4.2测试结果 19
1.1需求分析
设计一种面向对象的系统信息管理,其要求则如下
(1) 设计系统管理:重新登录、退出系统,能够正常进行信息系统的登录,若没有登录的情况下可以进行账号的注册,然后进行数据的存贮
(2) 设计用户管理:密码修改、添加/删除用户,对使用用户来进行更改.
(3) 定义控制类:包括定义添加记录、信息查询、信息修改、信息删除,同时进行学生用户分数和学科等信息的统计
(4) 设计持久类:将持久类的连接包装在一个相关类中,并与逻辑存储相连,实现数据在内存的通讯。
(5) 设计边界类:在这个界面中主要的作用就是用于验证用户名和密码,采用方法是为确定按钮添加监听事件,将信息与持久类比较
(6) 画出系统的功能图、总体结构图、详细类图结构和提交源代码
(7) 可以对于学生用户的信息来进行分数的添加,删除,更改和查看
(8) 对于学生的某一门学科来进行查看成绩的排名,从高到低进程查看
1.2.1系统功能分析以及功能表
经过日常生活所知,我们将该系统大体分为两个部分,当用户登录之后会有以下两个部分分别是“学生信息管理”和“学科成绩管理”其功能的主要如下
(1) 学生信息管理:
该模块的主要的作用是用来对学生信息的输入,我们能够对于学生的个人信息进行增加,删除,修改,查询和全部的输出等功能
(2) 学科成绩管理:
只是输入个人信息的功能是不够的,于是我们来进行学科成绩查询,这这个功能模块中我们能够进行成绩的添加,删除,修改,以及成绩的排名
图1-1系统功能模块
2.1 ManageView类的说明
首先ManageView类是我们这个系统的主页面,所以可以对其具有代表性的讲述其主要的功能还怎样通过Manage去调用其他所有的功能。
类名 MainView Public
接口 addActionListener Public
方法
register.addActionListener()
confirm.addActionListener()
Public
表2-1MainView类的处理
2.1.1-成员变量
Welcome // 欢迎的页面
Username // 用户名
Usernametext // 获取用户名内容
Passwordtext //获取密码
2.1.2-使用的方法
register.addActionListener() //来进行监听是否进行注册
confirm.addActionListener()//点击登录,方法中进行判断
2.2ManageView类的说明
这个类的作用是进入那个登录成功的页面其中包含了很多功能,不仅是由学生用户的增删改查还有教室用户之间的成绩的添加,下表式对其说明
类名 ManageView Public
接口 addActionListener Public
方法
register.addActionListener()
confirm.addActionListener()
delete.addActionListener()
update.addActionListener()
query.addActionListener()
queryall.addActionListener()
insertclass.addActionListener()
Public
表2-2ManageView类的处理
2.2.1-成员变量
Insert // 添加学生信息
delete // 删除学生信息
update // 信息修改
queryall //进行查询
insertclass // 添加班级
subjectrank //学科信息排名
2.2.2-使用的方法
insert.addActionListener() //添加数据
confirm.addActionListener()//点击确认
delete.addActionListener() //学生成绩的删除
update.addActionListener()//进行修改数据
query.addActionListener() //进行查询学生数据
insertclass.addActionListener()//添加班级
2.3LoginManage类的说明
我在设置LoginManage的定义中其中他主要的作用是起到了登录用户的时候数据的验证,将页面获取的值传入到数据库中然后使用SQL语句去判断是否存在数据库还有就是实现了数据库的增删改查功能,功能如下
类名 LoginManagew Public
方法
addLogin()
deleteLogin()
Loginquery()
UpdateLogin()
CheckLogin()
Public
表2-3LoginManage类的处理
2.3.1-使用的方法
addLogin() //添加用户
deleteLogin()//删除用户
Loginquery()//用户查询
UpdateLogin()//用户信息进行更改
CheckLogin()//验证登录
2.4ClassManage类的说明
由于我们使用的数据库的数据的处理,所以我们也要将一些数据存到数据库,那么班级的数据库管理就显得很重要,我们在班级数据库中实现了一些用户的特定化管理如表2-4所示
类名 ClassManage Public
方法
InsertClass()
updateclass()
deleteclass()
subRank()
queryall()
Public
表2-4ClassManage类的处理
2.4.1-使用的方法
InsertClass() //添加班级
updateclass() //修改班级
deleteclass() //删除班级
subRank() //学科排名
queryall() //查询所有数据
2.5Utils类的说明
这个是连接数据库操作,在此感觉有必要说明一下util的功能
类名 ClassManage Public
方法
getConnect()
checkLogin()
Public
表2-5Utils类的处理
2.5.1-使用的方法
getConnect() //连接数据库
checkLogin() //用户的登录
3编码实现
3.1MainView类的说明
在我们的MainView类中我们实现的则是一些接口的调用,也就是我们在这里相当于一个入口,同时进入该页面之后我们会有一些操作,通过这些操作,我们实现一些事件的监听然后进入不同的功能和进行数据的处理,则代码如下:
3.1.1关于MainView所需要的资源文件中
package view;
import service.StuManage; //启动学生管理的服务
import service.LoginManage; //用户登录功能
import utils.Utils; //连接数据库
import javax.swing.;
import java.awt.;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;//使用数据监听,进行交互操作
import java.util.HashMap;
import java.util.Map;
3.1.2进入首页面显示:
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JLabel welcome=new JLabel(“欢迎来到学生信息管理系统”);
JLabel username=new JLabel(“账号:”);
JLabel password=new JLabel(“密码:”);
JTextField usernametext=new JTextField(14);
JPasswordField passwordField=new JPasswordField(14);
JButton confirm=new JButton(“确认”);
JButton exit=new JButton(“退出”);
JButton register=new JButton(“注册”);
public MainView() {
this.setTitle(“学生信息管理系统”);
this.setSize(800, 500);
this.setLocation(400,400); //显示坐标
this.setLayout(new GridLayout(4, 2,10,10));
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
p4.add(welcome);
p1.add(username);
p1.add(usernametext);
p2.add(password);
p2.add(passwordField);
3.3StuManage类图:
关于学生数据的设定则是使用数据库来进行存储学生数据的添加删除和修改
3.3.1学生数据的删除:
连接数据库然后输入然后又前方框的数据的获取在此来执行sql语句
public class StuManage {
public static void insertStudata(String name,String gender,String id) throws Exception{
Connection connection=Utils.getConnection();
// System.out.println(“1222”);
String sql=“insert into stu(name,gender,id) values(?,?,?)”; //使用占位符
PreparedStatement preparedStatement= connection.prepareStatement(sql);
preparedStatement.setString(1,name);//对应前边的占位符进行sql数据的使用
preparedStatement.setString(2,gender);
preparedStatement.setString(3,id);
int i=preparedStatement.executeUpdate();
Utils.Close(preparedStatement,connection);
}
3.3.2学生数据的删除:
public static void deleteStudata(String id)throws Exception{
Connection connection=Utils.getConnection();
String sql=“delete from stu where id=?”;
PreparedStatement preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,id);
int i=preparedStatement.executeUpdate();
Utils.Close(preparedStatement,connection);
}
3.3.3学生数据的更新:
public static void updateStudata(String name,String gender,String id,String oldid)throws Exception{
Connection connection=Utils.getConnection();
// String sql=“update stu set name=?,gender=?,id=? where id=?”;
String sql=“update stu set name=?,gender=?,id=? where id=?”;
PreparedStatement preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,name);
preparedStatement.setString(2,gender);
preparedStatement.setString(3,id);
preparedStatement.setString(4,oldid);
int i=preparedStatement.executeUpdate();
Utils.Close(preparedStatement,connection);
}
}
3.4Utils类图:
Utils类图中主要是是进行数据库的连接还有就是来进行我数据库登录的验证
3.4.1该项目数据库的连接:
public class Utils {
public static final String DRIVER = “com.mysql.cj.jdbc.Driver”;
public static final String url = “jdbc:mysql://localhost:3306/myjavaclassdesign?characterEncoding=utf8”; //连接到本都的数据库名
public static final String username = “root”;
public static final String password = “123456”; //输入数据库的密码
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void Close(Statement statement, Connection connection) { //关闭数据库
Close(null, statement, connection);
}
}
3.4.2该项目数据库的连接:
展示图
如果对报告或者是代码感兴趣请后台私信我