前言
这几天又把Java基础部分给复习了一遍,尝试跟着视频做了一个开发团队调度软件。
感觉Java基础还是不够扎实,还要继续努力学习,不断的实践才行!!!
开发团队调度软件
一、需求说明
1.添加成员
当选择**“添加团队成员”**菜单时,将执行从列表中添加指定(通过ID)成员到开发团队的功能:
1-团队列表2-添加团队成员3-删除团队成员4-退出请选择(1-4) : 2
--------------------添加成员--------------------------------- 请输入要添加的员工ID: 2 添加成功 按回车键继续...
2.开发团队人员组成要求
最多一名架构师
最多两名设计师
最多三名程序员
3.添加失败显示原因
如果添加操作因某种原因失败,将显示类似以下信息(失败原因视具体原因而不同) :
1-团队列表2-添加团队成员3-删除团队成员4-退出请选择(1-4): 2
----------------添加成员------------------ 请输入要添加的员工ID: 2 添加失败,原因:该员工已是某团队成员 按回车键继续...
失败信息包含以下几种:
成员已满,无法添加
该成员不是开发人员,无法添加
该员工已在本开发团队中
该员工已是某团队成员
该员正在休假,无法添加
团队中至多只能有一 名架构师
团队中至多只能有两名设计师
团队中至多只能有三名程序员
二、软件设计架构
TeamView模块为主控模块
TeamService模块为实体对象(Employee及其子类如程序员等)的管理模块
NameListService和TeamService类分别用各自的数组来管理公司员工和开发团队成员对象
domain模块为Employee及其子类等JavaBean类所在的包
team.domain模块中包含了所有实体类
其中程序员(Programmer)及其子类,均会领用某种电子设备(Equipment)
Equipment接口及其实现子类的设计
Employee类及其子类的设计
Status类
用来封装员工的状态,busy和free
NameListService类的设计
employees用来保存公司所有员工对象
功能:负责将Data中的数据封装到Employee[]数组中,同时提供相关操作Employee[]的方法。
说明:
getAllEmployees ()方法:获取当前所有员工。
返回:包含所有员工对象的数组
getEmployee(id : int)方法:获取指定ID的员工对象。
参数:指定员工的ID
返回:指定员工对象
异常:找不到指定的员工
TeamService类的设计
功能:关于开发团队成员的管理:添加、删除等。
counter为静态变量,用来为开发团队新增成员自动生成团队中的唯一ID,即memberId。(提示:应使用增1的方式)
MAX_MEMBER:表示开发团队最大成员数
team数组:用来保存当前团队中的各成员对象
total:记录团队成员的实际人数
TeamView类的设计
listSvc和teamSvc属性:供类中的方法使用
enterMainMenu ()方法:主界面显示及控制方法。
以下方法仅供enterMainMenu()方法调用:
listAllEmployees ()方法:以表格形式列出公司所有成员
getTeam()方法:显示团队成员列表操作
addMember ()方法:实现添加成员操作
deleteMember ()方法:实现删除成员操作