当前位置:网站首页 > Java基础 > 正文

java研发团队基础组件组



第一部分:项目说明

一、需求说明

1、该软件实现以下功能:

a、软件启动时,首先进入登录界面进行注册和登录功能。

b、当登陆成功后,进入菜单,首先就可以对开发人员账户和密码进行修改。

c、然后可以对开发人员进行增删改操作

d、人员添加成功后,根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目。

e、组建过程包括将成员插入到团队中,或从团队中删除某成员,还可以列出团队中现有成员的列表,开发团队成员包括架构师、设计师和程序员。

f、团队组建成功,则可以进入项目模块,添加项目,分配开发团队进行开发。

二、系统功能结构

三、系统流程图

三、软件设计结构

com.team.view    模块为主控模块,负责菜单的显示和处理用户操作
com.team.service  模块为实体对象( Employee 及其子类如程序员等)的管理模块, NameListService TeamService 类分别用各自的数组来管理公司员工和开发团队成员对象 ProjectService 是对项目的操作对象类
domain 模块为 Employee 及其子类等 JavaBean 类所在的包

四、模块说明

1、用户注册和登录模块

定义一个 LoginView
实现注册方法
如果没有账户则需要注册
如果有账号则直接进行登录
实现登录功能
java研发团队基础组件组 • 判断用户输入的值是否正确
如果正确则进入软件菜单
如果错误则重新输入,限制次数只有 5 次,超过次数则程序停止,重新启动
实现修改用户密码功能
可以实现对用户名,密码,或者两者都可以进行修改即可。

2、开发人员管理模块

1、domain包中的接口和类

接口:

接口

方法

Equipment-电子设备

String getDescription()

实现类:

实现类

属性

PC-台式电脑

Model-机器型号

Display-显示器名称

NoteBook-笔记本电脑

Model-机器型号

Price-价格

Printer-打印机

Type-机器类型

Name-名字

实体类

实体类

属性

继承关系

Employee:雇员

Idnameagesalary

父类

Programmer:程序员

int memberId:用来记录成员加入开发团队中的Id
boolean status:
项目中的人员状态,先赋值为true,当添加到团队时为false

Equipment equipment: 程序员及其子类,均会领用某种电子设备(Equipment)

继承Employee

Designer:设计师

Double bonus:奖金

继承Programmer

Architect:架构师

Int stock:公司奖金的股票数量

继承Designer

2、service包中在NameListservice类中完成功能操作(就是管理公司的员工) 

a、实现员工的添加(根据职业添加(无,程序员,设计师,架构师))

b、实现员工的修改(至少修改员工的姓名,年龄,工资)

c、实现员工的删除(注意员工id需要动态显示,也就是删除后,员工id需要更新)

d、实现员工的查看 (显示所有数据)

NameListService类的设计

employees:ArrayList<Employess>:用来装员工的数据集合

getAllEmployees ()方法:获取当前所有员工

返回:包含所有员工集合

getEmployee(id : int)方法:获取指定ID的员工对象

参数:指定员工的ID

返回:指定员工对象

异常:找不到指定的员工则抛出自定义的异常。

service子包下提供自定义异常类:TeamException

另外,可根据需要自行添加其他方法或重载构造器

3、开发团队调度模块

3.1需求说明:

(1)、团队界面显示公司成员的列表(这些是默认值,请在开发人员管理模块中实现),如下:

(2)、如果添加操作因某种原因失败,将显示类似以下信息(失败原因视具体原因而不同):

1-团队列表  2-添加团队成员  3-删除团队成员 4-退出   请选择(1-4)2

---------------------添加成员---------------------

请输入要添加的员工ID2

添加失败,原因:该员工已是某团队成员

按回车键继续...

  失败信息包含以下几种:  (需要抛出自定义异常)

成员已满,无法添加
该成员不是开发人员,无法添加
该员工已在本开发团队中
该员工已是某团队成员
团队中至多只能有一名架构师(以下判断可借用 instanceof 进行判断)
团队中至多只能有两名设计师
团队中至多只能有三名程序员

(3)、当选择“添加团队成员”菜单时,将执行从列表中添加指定(通过ID)成员到开发团队的功能:

1-团队列表  2-添加团队成员  3-删除团队成员  4-退出   请选择(1-4)2

---------------------添加成员---------------------

请输入要添加的员工ID2

添加成功

按回车键继续...

(4)、添加成功后,按回车键将重新显示主界面。

开发团队人员组成要求:

最多一名架构师
最多两名设计师
最多三名程序员

(5)、当选择“删除团队成员”菜单时,将执行从开发团队中删除指定(通过TeamID)成员的功能:

1-团队列表  2-添加团队成员  3-删除团队成员 4-退出   请选择(1-4)3

---------------------删除成员---------------------

请输入要删除员工的TID1

确认是否删除(Y/N)y

删除成功

按回车键继续...

  删除成功后,按回车键将重新显示主界面。

(6)、当选择“团队列表”菜单时,将列出开发团队中的现有成员,例如:

1-团队列表  2-添加团队成员  3-删除团队成员 4-退出   请选择(1-4)1

--------------------团队成员列表---------------------

TDI/ID  姓名    年龄      工资       职位      奖金        股票

 2/4     刘强东   24      7300.0    程序员

 3/2     马化腾   32      18000.0  架构师   15000.0  2000

 4/6     任志强   22      6800.0    程序员

 5/12   杨致远   27      600.0      设计师   4800.0

-----------------------------------------------------

3.2参考实现

(1)、TeamService类的设计:管理开发团队成员对象

TeamService类的设计

counter: int = 1counter为静态变量,用来为开发团队新增成员自动生成团队中的唯一ID,即memberId。(提示:应使用增1的方式)

MAX_MEMBER: final int = 5:表示开发团队最大成员数

team: Programmer[] = new Programmer[MAX_MEMBER]:用来保存当前团队中的各成员对象 (也可以用一个新的集合)

total: int = 0:记录团队成员的实际人数

getTeam(): Programmer[]:返回当前团队的所有对象,返回:包含所有成员对象的数组,数组大小与成员人数一致

addMember(e:Employee)throws TeamException: void :向团队中添加成员

    • 参数:待添加成员的对象
    • 异常:添加失败, TeamException中包含了失败原因

removeMember(memberId: int) throws TeamException: void :从团队中删除成员

    • 参数:待删除成员的memberId
    • 异常:找不到指定memberId的员工,删除失败

另外,可根据需要自行添加其他方法或重载构造器

(2)、TeamView类的设计:负责菜单的显示和处理用户操作

TeamView类的设计

listSvc: NameListService = new NameListService()

teamSvc: TeamService = new TeamService()

其他(可根据自己需要加其他属性)

供类中的方法使用

enterMainMenu ()方法:主界面显示及控制方法。

以下方法仅供enterMainMenu()方法调用:

listAllEmployees(): void ---以表格形式列出公司所有成员

getTeam():void--显示团队成员列表操作

addMember(): void --实现添加成员操作

deleteMember(): void-- 实现删除成员操作

main(args: String[]) : void

其他(可根据自己需要加其他方法)

4、项目开发管理模块

service 包中完成项目操作类 ProjectService 的创建

ProjectService类的设计

pro: Arraylist<Project> --用来存项目的集合

count: int = 1 --添加项目的标号

addProject()--新项目添加

dealingPro (Programmer[] team) --项目分配团队开发

showPro() --查看项目当前状态

delPro(int id)-- 删除选择的项目

其他还需要的方法属性可自行添加

最后在view包中编写项目程序运行主界面类IndexView

将前面4个模块的内容装在一起,并运行软件,操作基本功能,调试bug,项目开发完成。

第二部分:具体代码实现

一、domain包

1、Equipment接口

 
 

2、 PC implements Equipment

 
 

3、NoteBook implements Equipment

 
 

4、Printer implements Equipment

 
 

5、Employee父类

 
 

6、Programmer extends Employee

 

7、Designer extends Programmer

 

8、Architect extends Designer

 

9、Project 

 

二、service包

1、NameListService

 

2、 TeamException extends Exception

 

3、TeamService

 

4、ProjectService

 

三、view包

1、TSUtility 工具类

 

2、 LoginView

 

3、TeamView

 

4、indexView


                            

版权声明


相关文章:

  • java小程序基础代码2024-11-11 17:50:03
  • java后端基础代码2024-11-11 17:50:03
  • java大数据基础教程2024-11-11 17:50:03
  • java 面向对象基础的题目2024-11-11 17:50:03
  • java编程基础是什么语言2024-11-11 17:50:03
  • 零基础学java现实吗2024-11-11 17:50:03
  • java必考的基础题2024-11-11 17:50:03
  • java是不是要有c语言的基础2024-11-11 17:50:03
  • java线下基础课程2024-11-11 17:50:03
  • java语音基础多久2024-11-11 17:50:03