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 ()方法:实现删除成员操作

相关文章
|
11月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
12月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
294 1
|
12月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
12月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
422 0
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
538 2
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
522 3
|
设计模式 Oracle Java
Java进阶专题(三) 软件架构设计原则(下)
今天开始我们专题的第二课了,本章节继续分享软件架构设计原则的下篇,将介绍:接口隔离原则、迪米特原则、里氏替换原则和合成复用原则。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。
403 0
|
Java Go 数据安全/隐私保护
Java进阶专题(二) 软件架构设计原则(上)
今天开始我们专题的第一课了,也是我开始进阶学习的第一天,我们先从经典设计思想开始,看看大牛市如何写代码的,提升技术审美、提高核心竞争力。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)
5603 0