項目3:開發團隊調度系統
模擬實現一個基於文本界面的《團隊人員調度軟件》java
熟悉Java面向對象的高級特性,進一步掌握編程技巧和調試技巧程序員
主要涉及如下知識點:編程
l 類的繼承和多態數組
l 對象的關聯架構
l static和final修飾符工具
l 特殊類的使用大數據
l 異常處理ui
1、需求說明
模擬實現基於文本界面的《團隊人員調度軟件》。spa
該軟件實現如下功能:設計
1.軟件啓動時,根據給定的數據建立公司部分紅員列表(數組)
2.根據菜單提示,基於現有的公司成員,組建一個開發團隊以開發一個新的項目
3.組建過程包括將成員插入到團隊中,或從團隊中刪除某成員,還能夠列出團隊中如今成員的列表
4.開發團隊成員包括架構師、設計師和程序員
本軟件採用單級菜單方式工做。
1、主界面
當軟件運行時,主界面顯示公司成員(部分)的列表,以下:
2、添加團隊成員
當選擇「添加團隊成員」菜單時,將執行從列表中添加指定(經過ID)成員到開發團隊的功能:
添加成功後,按回車鍵將從新顯示主界面。
若是添加操做因某種緣由失敗,將顯示相似如下信息(失敗緣由視具體緣由而不一樣):
失敗信息包含如下幾種:
成員已滿,沒法添加
該成員不是開發人員,沒法添加
該員已經是團隊成員
該員正在休假,沒法添加
該員工已經是團隊成員
團隊中只能有一名架構師
團隊中只能有兩名設計師
團隊中只能有三名程序員
3、刪除團隊成員
當選擇「刪除團隊成員」菜單時,將執行從開發團隊中刪除指定(經過TeamID)成員的功能:
刪除成功後,按回車鍵將從新顯示主界面。
4、團隊列表
當選擇「團隊列表」菜單時,將列出開發團隊中的現有成員,例如:
注意有兩個編號,一個是在公司的員工編號ID,一個是在開發團隊的編號TID。
2、鍵盤輸入工具類TSUtility.java
項目中提供了TSUtility.java類,可用來方便地實現鍵盤訪問。
該類提供瞭如下靜態方法:
public static char readMenuSelection()
用途:該方法讀取鍵盤,若是用戶鍵入’1’-’4’中的任意字符,則方法返回。返回值爲用戶鍵入字符。
public static void readReturn()
用途:該方法提示並等待,直到用戶按回車鍵後返回。
public static int readInt()
用途:該方法從鍵盤讀取一個長度不超過2位的整數,並將其做爲方法的返回值。
public static char readConfirmSelection() :
用途:從鍵盤讀取‘Y’或’N’,並將其做爲方法的返回值。
3、項目結構

先創建4個包。
一、com.atguigu.bean:用來存放基本的JavaBean。例如員工類等基礎數據封裝JavaBean
二、com.atguigu.service:service模塊爲實體對象(Employee及其子類如程序員等)的管理模塊,NameListService和TeamService類分別用各自的數組來管理公司員工和開發團隊成員對象。
三、com.atguigu.util:用來存放工具類。例如鍵盤輸入工具類TSUtility.java
四、com.atguigu.view:用來存放視圖類,負責菜單的顯示和處理用戶操做。例如TeamView.java