`
yping061
  • 浏览: 8344 次
  • 性别: 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类的业务方法.
     这一篇如果排版得不好,还请各位多多包涵!有好的建议还望不吝赐教~接下会每一篇都会详细地说明各个类之间的关系,及具体的功能实现,代码编写.
分享到:
评论

相关推荐

    学生信息管理系统(数据库结构设计)

    《学生信息管理系统(数据库结构设计)》 在信息化日益普及的今天,学生信息管理系统的存在显得尤为重要。此类系统主要用于高效地存储、管理和分析学生的基本信息、成绩、出勤等数据,为学校的日常教学管理和决策...

    数据结构课程设计 学生成绩管理系统

    - **课程设计目的**:通过设计和实现一个学生成绩管理系统,让学生深入了解数据结构的基本概念和应用,掌握数据结构的设计方法,提高解决实际问题的能力。 - **课程设计背景**:在教育领域中,管理学生的成绩信息是...

    数据结构C语言学生信息管理系统

    《数据结构C语言学生信息管理系统》 在信息技术领域,数据结构是编程的基础,它涉及到如何高效地存储和处理数据。而C语言作为一种强大的系统级编程语言,被广泛应用于底层开发和系统程序设计,包括学生信息管理系统...

    学生成绩管理系统课程设计报告

    【学生成绩管理系统课程设计报告】是一份详细阐述如何构建一个综合性的学生成绩管理系统的文档。该系统设计包括两个主要部分:矩阵乘法和学生成绩管理。 **矩阵乘法**是系统的基础部分,要求编写一个函数实现2x3...

    C++课程设计 学生信息管理系统

    2. 系统设计:详细介绍系统架构、数据结构和类设计。 3. 主要模块实现:对每个功能模块进行详细描述,包括算法和流程。 4. 测试与调试:列出测试用例,展示系统功能的正确性。 5. 性能分析:分析系统的运行效率,...

    学生学籍管理系统结构图

    本系统通常包含多个模块,通过结构化的数据存储和处理,实现对教育机构内学生信息的全面管理。以下是根据标题和描述所涉及的知识点的详细解释: 1. **系统结构设计**: 学生学籍管理系统的设计首先涉及到系统架构...

    数据结构课程设计学生作业管理系统

    系统可能通过OpenFileDialog类让用户选择Excel文件,然后解析文件获取学生信息,将其转换为内部数据结构。 此外,系统的实现还可能涉及数据库知识,如使用SQL Server或SQLite等数据库存储学生和作业信息,提供更...

    java数据库课程设计之学生信息管理系统

    在Java数据库课程设计中,学生信息管理系统是一个典型的应用实例,旨在训练学生将理论知识与实际编程相结合的能力。这个系统涉及到的主要知识点包括Java编程语言、数据库管理和数据交互,以及软件工程的基本流程,如...

    C++课程设计实验报告——学生管理系统

    本次课程设计的任务是设计并开发一个中学生成绩管理信息系统,使用C++编程语言,重点在于实现信息管理系统的功能,并锻炼学生的C++编程能力和数据结构应用能力。该系统的主要目标是为用户提供对学生成绩的录入、查询...

    学生信息管理系统模板.zip

    学生信息管理系统模板是一款专为教育领域设计的前端应用模版,它提供了基础的学生管理功能界面,适用于开发者快速构建自己的学生管理信息系统。这个模板不仅节省了开发时间,而且能够为用户提供直观易用的界面,提高...

    学生管理系统需求分析 学生管理系统总体设计 学生管理系统详细设计文档.rar.rar

    2. **功能需求**:例如,学生信息管理(录入、修改、查询)、成绩管理、课程安排、考勤记录、奖学金评定等。 3. **非功能需求**:系统性能、安全性、易用性、可扩展性、兼容性等。 4. **业务流程**:描绘出与学生...

    软件工程学生成绩管理系统的详细设计说明书.docx

    第2章 程序系统的组织结构 2.1 程序系统总体组织结构 系统采用分层架构,包括用户界面层、业务逻辑层和数据访问层。用户界面层负责与用户交互,业务逻辑层处理业务规则,数据访问层则负责数据的存储和检索。 2.2 ...

    Visual Basic课程设计 学生成绩管理系统

    《Visual Basic课程设计:学生成绩管理系统》 Visual Basic(VB)是一种面向对象的编程语言,广泛应用于开发桌面应用程序,其简洁的语法和强大的功能使其成为初学者学习编程的良好选择。在本课程设计中,我们将利用...

    C++课程设计学生考勤管理系统

    1. 学生信息管理:包括添加、修改和删除学生信息,这需要在学生类中定义相应的方法,并在班级类中调用。 2. 考勤记录:每次上课后,系统会根据学生的实际出勤情况更新考勤记录,同时更新学生和班级的考勤统计。 3. ...

    SQL课程设计(学生成绩管理系统)

    设计时遵循第一范式(1NF)、第二范式(2NF)和第三范式(3NF),确保数据的完整性和减少冗余。例如,学生ID作为主键,用于关联成绩表和学生表;课程ID作为外键,连接成绩表和课程表。 5. **查询与报表** 在大型...

    学生毕业设计学生管理系统java项目源码

    这个系统旨在实现对学生信息的高效管理和便捷查询,为教育机构提供一套数字化解决方案。 首先,我们要了解Java项目的核心知识点。Java是一种广泛应用于服务器端开发的高级编程语言,具有“一次编写,到处运行”的...

    学生信息管理类

    在C++编程中,"学生信息管理类"是一种常见的应用场景,用于组织和操作与学生相关的数据。在这个案例中,我们创建了一个名为`CStudent`的类,它包含了多个功能来满足特定需求。以下是对该类及其功能的详细解释: 1. ...

    基于数据库原理及应用课程设计学生管理系统

    学生管理系统是教育机构日常运营中不可或缺的一部分,它作为学校管理信息系统的组成部分,与其他诸如教学管理、人事管理、后勤管理、图书馆管理等子系统共同构建了完整的校园信息化管理体系。这个系统旨在提高学校的...

Global site tag (gtag.js) - Google Analytics