Java面向对象实践--开发团队调度软件(一)

简介: Java面向对象实践--开发团队调度软件(一)

前言



这几天又把Java基础部分给复习了一遍,尝试跟着视频做了一个开发团队调度软件。

感觉Java基础还是不够扎实,还要继续努力学习,不断的实践才行!!!


开发团队调度软件


一、需求说明



1.添加成员


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


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

--------------------添加成员---------------------------------
请输入要添加的员工ID: 2
添加成功
按回车键继续...


2.开发团队人员组成要求


最多一名架构师


最多两名设计师


最多三名程序员


3.添加失败显示原因


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


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


----------------添加成员------------------
请输入要添加的员工ID: 2
添加失败,原因:该员工已是某团队成员
按回车键继续...


失败信息包含以下几种:


成员已满,无法添加


该成员不是开发人员,无法添加


该员工已在本开发团队中


该员工已是某团队成员


该员正在休假,无法添加


团队中至多只能有一 名架构师


团队中至多只能有两名设计师


团队中至多只能有三名程序员


二、软件设计架构



image.png

TeamView模块为主控模块


TeamService模块为实体对象(Employee及其子类如程序员等)的管理模块


NameListService和TeamService类分别用各自的数组来管理公司员工和开发团队成员对象


domain模块为Employee及其子类等JavaBean类所在的包


team.domain模块中包含了所有实体类


image.png


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


Equipment接口及其实现子类的设计


image.png


Employee类及其子类的设计


image.png


Status类

用来封装员工的状态,busy和free


NameListService类的设计

employees用来保存公司所有员工对象


功能:负责将Data中的数据封装到Employee[]数组中,同时提供相关操作Employee[]的方法。


说明:


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


返回:包含所有员工对象的数组


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


参数:指定员工的ID


返回:指定员工对象


异常:找不到指定的员工


TeamService类的设计


image.png


功能:关于开发团队成员的管理:添加、删除等。


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


MAX_MEMBER:表示开发团队最大成员数


team数组:用来保存当前团队中的各成员对象


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


TeamView类的设计

listSvc和teamSvc属性:供类中的方法使用


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


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


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


getTeam()方法:显示团队成员列表操作


addMember ()方法:实现添加成员操作


deleteMember ()方法:实现删除成员操作

相关文章
|
9天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
38 11
|
1天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
24天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
45 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
11天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
69 13
|
16天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
50 10
|
10天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
48 2
|
23天前
|
存储 监控 小程序
Java中的线程池优化实践####
本文深入探讨了Java中线程池的工作原理,分析了常见的线程池类型及其适用场景,并通过实际案例展示了如何根据应用需求进行线程池的优化配置。文章首先介绍了线程池的基本概念和核心参数,随后详细阐述了几种常见的线程池实现(如FixedThreadPool、CachedThreadPool、ScheduledThreadPool等)的特点及使用场景。接着,通过一个电商系统订单处理的实际案例,分析了线程池参数设置不当导致的性能问题,并提出了相应的优化策略。最终,总结了线程池优化的最佳实践,旨在帮助开发者更好地利用Java线程池提升应用性能和稳定性。 ####
|
22天前
|
安全 Java 数据库连接
Java中的异常处理:理解与实践
在Java的世界里,异常处理是维护代码健壮性的守门人。本文将带你深入理解Java的异常机制,通过直观的例子展示如何优雅地处理错误和异常。我们将从基本的try-catch结构出发,探索更复杂的finally块、自定义异常类以及throw关键字的使用。文章旨在通过深入浅出的方式,帮助你构建一个更加稳定和可靠的应用程序。
31 5
|
19天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
21天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
21 1