Javaベースの自動化ソフトウェアシステム


プロジェクトの概要
ある航空会社は、フライトが到着する異なる国の異なる場所に異なるオフィスを設置しており、このプロジェクトでは、これらのオフィスの管理者(role=1)と一般ユーザー(role=0)にフライトの情報を管理するために提供される自動化ソフトウェアシステムの開発が要求されています.以上の説明に従って、システムのユーザーモジュールとオフィスモジュールを実装する必要があります.以下の機能が含まれています(注:システムにはデフォルトの管理者admin/admin 123が存在します).
ユーザーモジュール:
  • ユーザー追加
  • パスワード変更
  • 個人情報表示
  • アカウント状態修正(無効0、有効1)
  • ユーザーログイン(アカウントが無効になってログインできず、フレンドリーなメッセージが表示されない)
  • ユーザーロールの変更(キャンセル管理者の設定)
  • ユーザリスト
  • ユーザ
  • を削除する.
    オフィスモジュール
  • オフィス追加
  • 事務所リスト
  • 指定事務所の全従業員を問い合わせる
  • コードディスプレイ
    テストクラス
    package com.exercise2.Test32;
    
    public class Test {
    	public static void main(String[] args) {
    		new SoftClient().menu();
    	}
    
    }
    

    クライアントログインクラス
    package com.exercise2.Test32;
    
    import java.util.InputMismatchException;
    import java.util.Scanner;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class SoftClient {
    	static ManageClient m = new ManageClient();
    	static UserManage userManage = new UserManage();
    	private Scanner sc;
    
    	public void menu() {
    		msg("=========SOFTEEM       ==========");
    		msg("=========【1】     ================");
    		msg("=========【2】      ===============");
    		msg("=========【0】    =================");
    		msg("     :");
    		start();
    
    	}
    
    	private void start() {
    		sc = new Scanner(System.in);
    
    		try {
    			int i = sc.nextInt();
    			switch (i) {
    			case 1:
    				managerLoad();
    				break;
    			case 2:
    				commonUserLoad();
    				break;
    			case 0:
    				exit();
    				break;
    			default:
    				msg("        !");
    				Timer t = new Timer();
    				t.schedule(new TimerTask() {
    
    					public void run() {
    						menu();
    					}
    				}, 1000);
    
    			}
    		} catch (InputMismatchException e) {
    			System.out.println("       !");
    			start();
    		}
    
    	}
    
    	private void commonUserLoad() {
    		msg("       (     :  /  )");
    		sc = new Scanner(System.in);
    		String s = sc.nextLine();
    		String[] info = s.split("/");
    		if (userManage.name(info[0], info[1])) {
    			msg("    ");
    			m.menu2();
    		} else {
    			msg("      !");
    			menu();
    		}
    
    	}
    
    	private void managerLoad() {
    		msg("        (     :  /  )");
    		sc = new Scanner(System.in);
    		String s = sc.nextLine();
    		String[] info = s.split("/");
    		if (info[0].equals("admin")) {
    			if (info[1].equals("admin123")) {
    				msg("    !");
    				m.menu1();
    			} else {
    				msg("      !");
    				menu();
    			}
    		} else {
    			msg("      !");
    			menu();
    		}
    	}
    
    	/**      */
    	private void exit() {
    		sc = new Scanner(System.in);
    		msg("      ?(Y/N)");
    		String op = sc.next();
    		if (op.equalsIgnoreCase("Y")) {
    			msg("    ,  !");
    			System.exit(1);
    		}
    	}
    
    	private static void msg(String string) {
    		System.out.println(string);
    
    	}
    
    }
    

    クライアント権限クラス
    package com.exercise2.Test32;
    
    import java.util.Scanner;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class ManageClient {
    	static UserManage u = new UserManage();
    	static SoftClient soft = new SoftClient();
    	Scanner sc;
    
    	public void menu2() {
    		Timer t = new Timer();
    		t.schedule(new TimerTask() {
    
    			public void run() {
    				enterUserClient();
    			}
    
    		}, 1000);
    
    	}
    
    	public void enterUserClient() {
    		msg("=========      ================");
    		msg("=========【1】    =================");
    		msg("=========【2】      ==============");
    		msg("=========【0】    =================");
    		msg("     :");
    		start2();
    
    	}
    
    	private void start2() {
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		switch (i) {
    		case 1:
    			enter2();
    			break;
    		case 2:
    			enter3();
    			break;
    		case 0:
    			soft.menu();
    			break;
    		default:
    			msg("        !");
    
    		}
    		enterUserClient();
    
    	}
    
    	public void menu1() {
    		Timer t = new Timer();
    		t.schedule(new TimerTask() {
    
    			public void run() {
    				enterManageClient();
    			}
    		}, 1500);
    	}
    //1.      2.      3.        4.       (  0、  1) 5.     (                 ) 6.       (       ) 7.      8.      
    
    	private void enterManageClient() {
    		msg("=========       ================");
    		msg("=========【1】    =================");
    		msg("=========【2】    =================");
    		msg("=========【3】      ==============");
    		msg("=========【4】      ==============");
    		msg("=========【5】      ==============");
    		msg("=========【6】      ==============");
    		msg("=========【7】    =================");
    		msg("=========【0】    =================");
    		msg("     :");
    		start1();
    
    	}
    
    	private void start1() {
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		switch (i) {
    		case 1:
    			enter1();
    			break;
    		case 2:
    			enter2();
    			break;
    		case 3:
    			enter3();
    			break;
    		case 4:
    			enter4();
    			break;
    		case 5:
    			enter5();
    			break;
    		case 6:
    			enter6();
    			break;
    		case 7:
    			enter7();
    			break;
    		case 0:
    			soft.menu();
    			break;
    		default:
    			msg("        !");
    
    		}
    		enterManageClient();
    
    	}
    
    	//     
    	private void enter7() {
    		msg("          id");
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		Boolean b = u.delete(i);
    		if (b) {
    			msg("      !");
    		} else {
    			msg("      !");
    		}
    
    	}
    
    	//       
    	private void enter6() {
    		u.userTable();
    	}
    
    	//       
    	private void enter5() {
    		msg("          id       ");
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		String s = sc.next();
    		Boolean b = u.modifyRole(i, s);
    		if (b) {
    			msg("        !");
    		} else {
    			msg("      !");
    		}
    
    	}
    
    	//       
    	private void enter4() {
    		msg("          id");
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		Boolean s = u.modifyStatus(i);
    		if (s) {
    			msg("        !");
    		} else {
    			msg("      !");
    		}
    
    	}
    
    	//   id      
    	private void enter3() {
    		msg("          id");
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		User s = u.findSelfInformation(i);
    		if (s != null) {
    			msg(s);
    		} else {
    			msg("      !");
    		}
    
    	}
    
    	//     
    	private void enter2() {
    		msg("          id       :");
    		sc = new Scanner(System.in);
    		int i = sc.nextInt();
    		String s = sc.next();
    		if (u.modifyPassWord(i, s)) {
    			msg("      !");
    		}
    
    	}
    
    	//     
    	private void enter1() {
    		msg("            ,     :
    ( id/ id/ / / / / / )"); sc = new Scanner(System.in); String x = sc.nextLine(); String[] ss = x.split("/"); int s1 = Integer.parseInt(ss[0]); int s2 = Integer.parseInt(ss[1]); int s3 = Integer.parseInt(ss[2]); String s5 = ss[3]; String s6 = ss[4]; String s7 = ss[5]; String s8 = ss[6]; User user = new User(s1, s2, s3, true, s5, s6, s7, s8); if (u.add(user)) { msg(" !"); } } private void msg(Object o) { System.out.println(o); } }

    ユーザークラス
    package com.exercise2.Test32;
    
    /**
     *    (User) id,  (username),  (passord),  (age),  (role)
     * ,  (email),   id(officeID),     (status)
     * 
     * @author Administrator
     *
     */
    public class User {
    	private int id;
    	private int officeID;
    	private int age;
    	private boolean status;
    	private String userName;
    	private String passWord;
    	private String role;
    	private String email;
    
    	public User() {
    		super();
    	}
    
    	public User(int id, int officeID, int age, boolean status, String userName, String passWord, String role,
    			String email) {
    		super();
    		this.id = id;
    		this.officeID = officeID;
    		this.age = age;
    		this.status = status;
    		this.userName = userName;
    		this.passWord = passWord;
    		this.role = role;
    		this.email = email;
    	}
    
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public int getOfficeID() {
    		return officeID;
    	}
    
    	public void setOfficeID(int officeID) {
    		this.officeID = officeID;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	public boolean isStatus() {
    		return status;
    	}
    
    	public void setStatus(boolean status) {
    		this.status = status;
    	}
    
    	public String getUserName() {
    		return userName;
    	}
    
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    
    	public String getPassWord() {
    		return passWord;
    	}
    
    	public void setPassWord(String passWord) {
    		this.passWord = passWord;
    	}
    
    	public String getRole() {
    		return role;
    	}
    
    	public void setRole(String role) {
    		this.role = role;
    	}
    
    	public String getEmail() {
    		return email;
    	}
    
    	public void setEmail(String email) {
    		this.email = email;
    	}
    
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", officeID=" + officeID + ", age=" + age + ", status=" + status + ", userName="
    				+ userName + ", passWord=" + passWord + ", role=" + role + ", email=" + email + "]";
    	}
    
    }
    

    ユーザー管理クラス
    package com.exercise2.Test32;
    
    import java.util.ArrayList;
    
    public class UserManage {
    	static ArrayList list = new ArrayList<>();
    
    	//            
    	public boolean name(String s1, String s2) {
    		for (User u : list) {
    			if (u.getUserName().equals(s1) && u.getPassWord().equals(s2) && u.getRole().equals("    ")) {
    				return true;
    			}
    		}
    		return false;
    	}
    
    	//     
    	public boolean add(User user) {
    		return list.add(user);
    	}
    
    	//   id    
    	public boolean modifyPassWord(int id, String passWord) {
    		for (User user : list) {
    			if (user.getId() == id) {
    				user.setPassWord(passWord);
    				return true;
    			}
    
    		}
    		return false;
    	}
    
    	//       
    	public User findSelfInformation(int id) {
    		for (User user : list) {
    			if (user.getId() == id) {
    				return user;
    			}
    
    		}
    		return null;
    
    	}
    
    	//       (  0、  1)
    	public boolean modifyStatus(int id) {
    		for (User user : list) {
    			if (user.getId() == id) {
    				if (user.isStatus() == true) {
    					user.setStatus(false);
    					System.out.println("     !");
    
    				} else {
    					user.setStatus(true);
    					System.out.println("     !");
    
    				}
    				return true;
    
    			}
    
    		}
    		return false;
    	}
    
    	//     (                 )
    	public boolean load(int id, String passWord) {
    		for (User user : list) {
    			if (user.getId() == id && user.getPassWord().equals(passWord)) {
    				return true;
    			}
    
    		}
    		return false;
    	}
    
    	//       (       )
    	public boolean modifyRole(int id, String role) {
    		for (User user : list) {
    			if (user.getId() == id) {
    				user.setRole(role);
    				System.out.println("  ");
    				return true;
    			}
    
    		}
    		return false;
    	}
    
    	//     
    	public void userTable() {
    		for (User user : list) {
    			System.out.println(user);
    		}
    	}
    
    	//   id    
    	public boolean delete(int id) {
    		for (User user : list) {
    			if (user.getId() == id) {
    				list.remove(user);
    				return true;
    			}
    		}
    		return false;
    
    	}
    
    	//   ArrayList    User
    	public void print(ArrayList a) {
    		for (User user : a) {
    			System.out.println(user);
    		}
    	}
    
    }
    
    

    オフィスクラス
    package com.exercise2.Test32;
    
    /**
     *     (Office): id,    (officeName)
     * 
     * @author Administrator
     *
     */
    public class Office {
    	private int id;
    	private String officeName;
    
    	public Office() {
    		super();
    	}
    
    	public Office(int id, String officeName) {
    		super();
    		this.id = id;
    		this.officeName = officeName;
    	}
    
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getOfficeName() {
    		return officeName;
    	}
    
    	public void setOfficeName(String officeName) {
    		this.officeName = officeName;
    	}
    
    	@Override
    	public String toString() {
    		return "Office [id=" + id + ", officeName=" + officeName + "]";
    	}
    
    }
    
    

    オフィス管理クラス
    package com.exercise2.Test32;
    
    import java.util.ArrayList;
    
    public class OfficeManage {
    	static ArrayList list = new ArrayList<>();
    
    	//      
    	public boolean add(Office office) {
    		return list.add(office);
    	}
    
    	//      
    	public void listOffice() {
    		for (Office office : list) {
    			System.out.println(office);
    		}
    	}
    
    }