需求说明
该软件实现以下功能:
1.软件启动时,首先进入登录界面进行注册和登录功能。
2.当登陆成功后,进入菜单,首先就可以对开发人员账户和密码进行修改。
3.然后可以对开发人员进行增删改操作 人员添加成功后,根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目。
4.组建过程包括将成员插入到团队中,或从团队中删除某成员,还可以列出团队中现有成员的列表,开发团队成员包括架构师、设计师和程序员。
5.团队组建成功,则可以进入项目模块,添加项目,分配开发团队进行开发。
一、用户注册和登录模块
定义一个LoginView类 实现注册方法 如果没有账户则需要注册 如果有账号则直接进行登录 实现登录功能 判断用户输入的值是否正确 如果正确则进入软件菜单 如果错误则重新输入,限制次数只有5次,超过次数则程序停止,重新启动 实现修改用户密码功能 可以实现对用户名,密码,或者两者都可以进行修改即可。
二、开发人员管理模块
1.在domain包中完成各个类的实体类创建
(1)com.team.domain模块中包含了所有实体类: 其中程序员(Programmer)及其子类,均会领用某种电子设备(Equipment)。
(2)
说明:
model 表示机器的型号
display 表示显示器名称
type 表示机器的类型
根据需要提供各属性的get/set方法以及重载构造器 实现类实现接口的方法,返回各自属性的信息
(3)
说明:
memberId 用来记录成员加入开发团队后在团队中的ID
Status是项目中人员的状态,先赋值为true,当添加到团队时为false
equipment 表示该成员领用的设备
可根据需要为类提供各属性的get/set方法以及重载构造器
(4)
说明:
bonus 表示奖金
stock 表示公司奖励的股票数量
可根据需要为类提供各属性的get/set方法以及重载构造器
2.在NameListService类中完成功能操作
实现员工的添加(根据职业添加(无,程序员,设计师,架构师)
实现员工的修改(至少修改员工的姓名,年龄,工资)
实现员工的删除(注意员工id需要动态显示,也就是删除后,员工id需要更新)
实现员工的查看 (显示所有数据)
说明:
getAllEmployees ()方法:获取当前所有员工。
返回:包含所有员工集合
getEmployee(id : int)方法:获取指定ID的员工对象。 参数:指定员工的ID
返回:指定员工对象 异常:找不到指定的员工
在service子包下提供自定义异常类:TeamException 另外,可根据需要自行添加其他方法或重载构造器
三、开发团队调度管理模块
1.TeamService类的设计:
功能:关于开发团队成员的管理:添加、删除等(还需要自行实现)。
说明:
counter为静态变量,用来为开发团队新增成员自动生成团队中的唯一ID,即memberId。(提示:应使用增1的方式)
MAX_MEMBER:表示开发团队最大成员数 team数组:用来保存当前团队中的各成员对象 (也可以用一个新的集合)
total:记录团队成员的实际人数
说明:
getTeam()方法:返回当前团队的所有对象 返回:包含所有成员对象的数组,数组大小与成员人数一致
addMember(e: Employee)方法:向团队中添加成员 参数:待添加成员的对象 异常:添加失败, TeamException中包含了失败原因
removeMember(memberId: int)方法:从团队中删除成员 参数:待删除成员的memberId 异常:找不到指定memberId的员工,删除失败
另外,可根据需要自行添加其他方法或重载构造器
2.TeamView类的设计
说明: listSvc和teamSvc属性:供类中的方法使用
enterMainMenu ()方法:主界面显示及控制方法。 以下方法仅供enterMainMenu()方法调用: listAllEmployees ()方法:以表格形式列出公司所有成员
getTeam()方法:显示团队成员列表操作
addMember ()方法:实现添加成员操作 deleteMember ()方法:实现删除成员操作
四、开发项目管理模块
1.在domain包中完成项目实体类Project的创建
2.在service包中完成项目操作类ProjectService的创建
3.最后在view包中编写项目程序运行主界面类IndexView
将前面4个模块的内容装在一起,并运行软件,操作基本功能,调试bug,项目开发完成。