`
yping061
  • 浏览: 8061 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[学生信息系统管理第二篇]包结构设计与类结构设计

阅读更多
    第一篇大概框架已经介绍了,这里主要对包和使用到的九个类进行分工细化.各位看官且听我一一介绍~~
    对于包的分布,我们就用四个包来搞定:
    A.com.yping.entity,用来存放实体类,例如教师类; 
    B.com.yping.util,存放公共类,例如系统使用的常量数据;
    C.com.yping.server,存放服务器功能类;
    D.com.yping.client,存放客户端功能类;
    然后,我们对这四个包里都有哪些类进行详解:
    A.entity包:
      A.1  Teacher类,因为要通过网络传输对象,故使用序列化
    
package com.yping.entity;
import java.io.Serializable;

public class Teacher implements Serializable {

	private int id;		//教员编号
	private String userName;	//登录用户名
	private String passWord;	//登录密码
	private String nickName;	//教员姓名
          //此处先省略getter/setter
}

      A.2  Student类
     
package com.yping.entity;
     import java.io.Serializable;

public class Student implements Serializable {
	private int stuId;          //学员编号
	private String stuName;     //学员姓名
	private int teacherId;      //教员姓名
	private int stuAge;          //学员年龄
	private int stuSex;	 //学员性别
	private String comments;    //学员评语
           //此处先省略setter/getter
}

     B.util包:
       B.1 SysConstants类,负责提供系统使用的常量数据
       
public class SysConstants {

	public static final String SYS_PROPERTYNAME="sys.properties";
	public static final String SYS_LISTENERPORT="PORT";
	public static final String SYS_HOSTNAME="HOST";
	public static final String SYS_SUCCESS="SUCCESS";
	public static final String SYS_ERROR="ERROR";
	public static final String SYS_LOGIN="LOGIN";
	public static final String SYS_FIND="FIND";
	public static final String SYS_UPDATE="UPDATE";
	public static final String SYS_DELETE="DELETE";

}

       B.2 Datas类,负责在客户端与服务器间传递数据
       
  package com.yping.util;
import java.io.Serializable;
import java.util.List;

import com.yping.entity.Student;
import com.yping.entity.Teacher;

public class Datas implements Serializable {
	private String flag;	         //传递的标识
	private Teacher teacher;	         //教员对象
	private Student student;	         //学员对象
	private List<Student> studentList;	//学员集合
       //此处先省略getter/setter
}

       B.3 Tools类,负责读取sys.properties配置文件中的信息.
     
 import java.io.IOException;
import java.util.Properties;


public class Tools {
    static
    {
     try{
    		p.load(Tools.class.getClassLoader().getResourceAsStream(SysConstants.SYS_PROPERTYNAME));
    	}catch(IOException e){
    		e.printStackTrace();
    	}
    }
    public static String getValue(String key)
    {
    	return p.getProperty(key);
    }
    private static Properties p=new Properties();
}

    C.Server包:
      C.1 ServerContextListener服务器线程类.加载服务端服务,包括服务端socket初始化,启动一个线程用来监听来自客户端的请求连接.
    
 package com.yping.server;

public class ServerContextListener extends Thread {

	public static void main(String[] args) {
		//启动服务线程
		new ServerContextListener().start();

	}
	public void run(){
		//服务器socket初始化		
		//处理客户端发送的请求方法
		//向客户端发送响应
	} 
}

      C.2 ServerService类,服务器里提供的服务类,处理相关的业务逻辑.
     
package com.yping.server;

import com.yping.entity.Teacher;
import com.yping.entity.Student;
import java.util.*;

public class ServerService {

	private static Teacher teacher=null; //教员对象
	private static List<Student> studentList=null; //学员集合
	
	static{
		//初始化教员对象和学员集合
	}
	public Teacher doLogin(String userName,String passWord)
	{
		//服务器端的登录方法
		return null;
	}
	public List<Student> findStudentByTeacher(int id)
	{
		//查询学员信息
		return null;	
         }
	public void deleteStudent(int id)
	{
		//删除学员信息
                     return null;
         }
	public void updateStudent(Student student)
	{
		//更新学员信息
                     return null;
         }
}
    
     D.client包:
       D.1 ClientBusiness类,客户端业务类,包括客户端socket初始化,向服务器发送请求,实现客户端与服务器之间的业务调用.
     
package com.yping.client;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

public class ClientBusiness {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}
	
	public Datas doLogin(String userName,String passWord)
	{
		//通过Socket调用服务器的登录服务
				
		return null;
	}
	public Datas doFind(int teacherId)
	{
		//通过Socket调用服务器的查询学员信息服务
		return null;
	}
	public Datas doUpdate(int stuId,String comments)
	{
		//通过Socket调用服务器的修改学员信息服务
		return null;
	}
	public Datas doDelete(int stdId)
	{
		//通过Socket调用服务器的删除学员信息服务
		return null;
	}
	public void initSocket()
         {
		//实例化Socket对象
	}
	public void closeSocket()
	{
		//关闭Socket连接		
	}
    private Socket incoming=null;
    private ObjectInputStream objInputStream=null;
    private ObjectOutputStream objOutputStream=null;
}

         D.2 Client类,客户端界面类,生成客户操作界面,调用ClientBusiness类的业务方法.
     这一篇如果排版得不好,还请各位多多包涵!有好的建议还望不吝赐教~接下会每一篇都会详细地说明各个类之间的关系,及具体的功能实现,代码编写.
分享到:
评论

相关推荐

    学生信息管理系统总体设计

    该设计包含:第一章 任务概述,第二章 总体系统结构,第三章 运行环境设计,第四章 运行设计,系统流程,系统层次图,系统结构图

    java毕业设计之学生信息管理系统源码(视频+文档+源码).zip

    2.正确导入项目后我们来看下包结构:分为Dao、model、view、util四个顶层包,采用的是mvc的设计模式。 3.第二部需要导入数据库,我们用的是navicat数据库管理软件,非常好用,建议大家也使用这个。 4.首先先新建一个...

    Access数据库应用规划学生信息管理系统.pptx

    项目一 规划学生信息管理系统 任务一 规划学生信息管理系统 任务二 了解Access 2010 任务三 创建学生信息管理系统数据库 任务四 数据库的管理与安全设置 Access数据库应用规划学生信息管理系统全文共52页,当前为第1...

    图书管理系统数据库设计-MYSQL实现(3).docx

    这是一个简单的图书管理系统的MYSQL设计,包含了数据插入,删除,定时器,触发器设计 图书管理系统数据库设计-MYSQL实现(3)全文共14页,当前为第2页。 图书管理系统数据库设计-MYSQL实现(3)全文共14页,当前为第2页。 ...

    数据库课程设计--图书管理系统.doc

    软件工程与数据库 课程设计 任务书 学院名称: 数学与计算机学院 课程代码:_6014419_ 专 业: 年 级: 一、设计题目 图书管理系统 二、主要内容 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息...

    c语言学生成绩管理系统课程设计报告.doc

    《C语言程序设计》 课程设计报告 专 业: 自动化 班 级: 姓 名: 指导教师: 二0 一二年 十二月 二十日 《C语言程序设计》课程设计任务书 适用班级:电子信息工程、电子信息科学与技术、自动化、通信工程2011级 ...

    数据库课程设计---某期刊的在线投稿审稿管理系统

    数据库原理及应用课程设计报告---某期刊的在线投稿审稿管理系统 里面包含了源码和课程设计报告,可供学习参考。高分课设。 一、课程设计目的及基本要求 数据库系统课程设计是为数据库原理及应用课程而独立开设的实践...

    学生信息管理系统软件设计

    第二章 静态结构模型 13 2.1定义系统类对象 13 2.1.1 实体类 13 2.1.2 实体类定义 13 2.1.3 定义数据库操作类 16 2.2类的包图 16 2.3 实体包 17 2.4 GUI包 18 2.5 数据库包 18 2.6 基本业务模块类图 18 2.6.1 查询...

    旅行社管理信息系统设计.docx

    ******* 课程设计报告 课程设计名称: 管理信息系统课程设计 课程设计题目: 旅行社管理信息系统设计 专 业:信息管理与信息系统 班 级:2015级 学生姓名:****** 学 号: 合 作 人: 学 号: 指导教师: ****** 时...

    java课程设计之学生信息管理系统源码.zip

    2. 正确导入项目后我们来看下包结构:分为Dao、model、view、util四个顶层包,采用的是mvc的设计模式。 3. 第二部需要导入数据库,我们用的是navicat数据库管理软件,非常好用,建议大家也使用这个。 4. 首先先新建...

    家谱管理系统--数据结构大作业.doc

    /* 家谱管理系统 任务:实现具有下列功能的家谱... 存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件 中。 测试数据:要求使用1、全部合法数据;2、局部非法数据。进行程序测试,以保

    java-swing管理系统毕业设计源码-学生信息管理(文档+视频+源码)-计算机毕业设计源代码.rar

    2.正确导入项目后我们来看下包结构:分为Dao、model、view、util四个顶层包,采用的是mvc的设计模式。 3.第二部需要导入数据库,我们用的是navicat数据库管理软件,非常好用,建议大家也使用这个。 4.首先先新建一个...

    基于ASP的学生信息管理系统的设计与实现(源代码+论文)_new.rar

    - 论文:涵盖了整个Java ASP Web系统的基础知识,设计意图、需求概述、系统结构与设计哲学、相关技术的深入探索等。学生可以从论文中理解项目的全局构想和关键设计决策。 - 设计文档:详细梳理了系统的构建过程,...

    数据库课程设计——健康档案管理系统.docx

    在这次的课程设计中,用户要求我们对该系统的健康文件实现学生信息登记、修改、删除、查询、统计等操作,其中健康文件还包含病历文件和体检文件。在病历文件中的数据要求有学号、姓名、性别、系别、 诊断、日期,而...

    ASP.NET基于CS结构的企业人事管理系统的设计与实现(源代码+论文)_new.rar

    - 论文:涵盖了整个Java ASP Web系统的基础知识,设计意图、需求概述、系统结构与设计哲学、相关技术的深入探索等。学生可以从论文中理解项目的全局构想和关键设计决策。 - 设计文档:详细梳理了系统的构建过程,...

    健康档案管理系统课程设计报告.docx

    在这次的课程设计中,用户要求我们对该系统的健康文件实现学生信息登记、修改、删除、查询、统计等操作,其中健康文件还包含病历文件和体检文件。在病历文件中的数据要求有学号、姓名、性别、系别、 诊断、日期,而...

    ASP校园学生信息在线管理系统设计(源代码+论文)_new.rar

    - 论文:涵盖了整个Java ASP Web系统的基础知识,设计意图、需求概述、系统结构与设计哲学、相关技术的深入探索等。学生可以从论文中理解项目的全局构想和关键设计决策。 - 设计文档:详细梳理了系统的构建过程,...

    高校成绩管理数据库系统的设计与实现.doc

    高校成绩管理数据库系统的设计与实现 ——2008年国际学院计算机专业"数据库技术课程设计"指南 1. 基本目的 以SQL SERVER数据库管理系统为平台,通过... 高校成绩管理数据库系统的设计与实现全文共2页,当前为第2页。

    Java swing实现学生信息管理系统资源

    2、正确导入项目后,我们看一下包结构:分为Dao、model、view、util四个顶层包,采用mvc设计模式。 3. 第二部分是导入数据库。我们使用非常好用的navicat数据库管理程序。我们鼓励您也使用它。 4. 首先新建一个...

    会议信息管理系统详细设计

    为了管理者再也不必为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,设计了学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单,省时又省心。 1.2. 参考文档 [1] ...

Global site tag (gtag.js) - Google Analytics