文章目录

  • 前言
  • 一、系统功能结构
  • 二、需求说明
  • 三、软件设计结构
    • 1.用户登录与注册模块
    • 2.开发人员管理模块
    • 3.开发团队调度管理模块
    • 4.开发项目管理模块
    • 5.测试类indexView

四、总结


前言

Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承。使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码。

Java程序在Java平台运行时会被编译成字节码文件,然后可以在有Java环境的操作系统上运行。在运行文件时,Java的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。

那么下面我们来讲解下用java如何写一个项目开发团队分配管理软件


一、系统功能结构

有四个大模块,分别编写最后组装在一起。

二、需求说明

三、软件设计结构

1.用户登录与注册模块

实现用户的登陆和注册

if (ch.equals("")) {System.out.println("1.登陆账号           *");System.out.println("2.注册账号           *");System.out.println("3.修改密码           *");System.out.println("4.查询用户           *");System.out.println("5.退出");System.out.println("请选择");int a01 = sc.nextInt();switch (a01) {case 1:System.out.println("");System.out.println("***************");System.out.println("*** <谢总nb> ***");System.out.println("** *  (:   * **");System.out.println("***************");System.out.println("请输入你的账号名称");String zh = sc.next();System.out.println("密码");int mm = sc.nextInt();for (int i = 0; i < yhl.total; i++) {if (zh.equals(yhl.yh[i].getZh()) && mm == yhl.yh[i].getMm()) {System.out.println("登陆成功");System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");System.out.println("@             谢总nb              @");System.out.println("@             登陆成功            @");System.out.println("@         " + yhl.yh[i].getZh() + "你好            @");System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");wh.B();}}break;case 2:yhl.zc();break;case 3:yhl.xgmm();break;case 4:yhl.cx();break;case 5:B=false;

2.开发人员管理模块

主要实现对开发人员的增删改查等操作。
 Employee作为父类,Proprammer继承Employer,然后后面的依次继承前面的。因为每个程序员及其子类,均会领用某种电子设备,所有 就要设置接口Equipment,让每个程序员及其子类去实现这个接口。因为设备有很多种,所以也会定义其他的类来实现接口Equipment。

接口和设备类按照此功能图完成即可。

这些类按照需求完成即可,还需要用get/set方法来设置或者获取各种变量的值。
特别注意:建议要在这些类里面全部重写toString方法,返回该对象的字符串表示。通常, toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。如果不使用直接打印对象名的结果是一个地址值。
例如:

1.toString()方法
Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。
toString()方法将对象转换为字符串。看以下代码:
package sample;
class Villain {private String name;protected void set(String nm) {name = nm;}public Villain(String name) {this.name = name;}public String toString() {return "I'm a Villain and my name is " + name;}
}
public class Orc extends Villain {private int orcNumber;public Orc(String name, int orcNumber) {super(name);this.orcNumber = orcNumber;}public void change(String name, int orcNumber) {set(name);this.orcNumber = orcNumber;}public String toString() {return "Orc" + orcNumber + ":" + super.toString();}public static void main(String[] args) {Orc orc = new Orc("Limburger", 12);System.out.println(orc);orc.change("Bob", 19);System.out.println(orc);}
}
结果:
sample.Orc@11b86e7
sample.Orc@11b86e7
如果去掉注释,即加入2个toString()方法后,得到
结果:
Orc12:I'm a Villain and my name is Limburger
Orc19:I'm a Villain and my name is Bob

先在NameListService类中初始化成员,即添加数据。然后再进行增删改查等操作。

3.开发团队调度管理模块

主要实现对团队的增删改查。

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

需要对这些异常进行改进优化,下面中的Arch指的是架构师人数,Desi指的是设计师人数,Pro指的是程序员人数,需要把它们定义成为成员变量,初始值都为0;如果需要对此方法进行两次及以上的调用,那么则应该在每次调用此方法的后面添加Arch=0;Desi=0;Pro=0;这样才能再一次的添加成功。

    public void addMember() {int A=0;Programmer programmer = new Programmer();Scanner sc = new Scanner(System.in);System.out.println("--------添加成员--------");System.out.print("请输入你要添加的员工ID:");int ID = sc.nextInt();for (int i = 0; i < emp; i++) {if (ID == em[i].getID()) {A=1;if (em[i].isStatus()) {System.out.println("团队不能添加无职位的");A=2;}}}for (int j = 0; j < pro; j++) {if (ID == pr[j].getID()) {A=1;if(q1<3){if (pr[j].isStatus()) {A=2;programmer.setID(pr[j].getID());programmer.setId(pr[j].getId());programmer.setSalary(pr[j].getSalary());programmer.setAge(pr[j].getAge());programmer.setName(pr[j].getName());programmer.setPosition(pr[j].getPosition());programmer.setStatus(false);programmer.setMenmberld(total1 + 1);programmer.setPosition("程序员");pr[j].setStatus(false);team[sz][total1] = programmer;System.out.println("成员" + team[sz][total1].getName() + "添加成功");total1++;q1++;}}else {A=2;System.out.println("程序员有三个了不能再添加了");}}}for (int y = 0; y < des; y++) {if (ID == de[y].getID()) {A=1;if(q2<2){if (de[y].isStatus()) {A=2;programmer.setID(de[y].getID());programmer.setId(de[y].getId());programmer.setSalary(de[y].getSalary());programmer.setAge(de[y].getAge());programmer.setName(de[y].getName());programmer.setPosition(de[y].getPosition());programmer.setStatus(false);programmer.setMenmberld(total1 + 1);programmer.setPosition("设计师");de[y].setStatus(false);team[sz][total1] = programmer;System.out.println("成员" + team[sz][total1].getName() + "添加成功");total1++;q2++;}}else {A=2;System.out.println("设计师已经两个了不能再添加了");}}}for (int x = 0; x < arc; x++) {if (ID == ar[x].getID()) {A=1;if(q3<1){if (ar[x].isStatus()) {A=2;programmer.setID(ar[x].getID());programmer.setId(ar[x].getId());programmer.setSalary(ar[x].getSalary());programmer.setAge(ar[x].getAge());programmer.setName(ar[x].getName());programmer.setPosition(ar[x].getPosition());programmer.setStatus(false);programmer.setPosition("构建师");programmer.setMenmberld(total1 + 1);ar[x].setStatus(false);team[sz][total1] = programmer;System.out.println("成员" + team[sz][total1].getName() + "添加成功");total1++;q3++;}}else {A=2;System.out.println("构建师有一个了不能再添加了");}}}if(A==0){System.out.println("没有这个id的成员");}else if(A==1){System.out.println("该员工已经在其他团队中");}}

特别注意:因为我在TeamService定义的集合Employee,如果后面在其他地方也需要调用employee,那么必须在private加一个static,不然又会创建一个新的空间,重新初始化,原来的值就被覆盖掉了。
加了一个static就代表再次调用不会被初始化。

4.开发项目管理模块

主要实现对项目的增删改查。

 5.测试类indexView

package javase;
import java.io.IOException;
import java.util.Scanner;
public class IndexView {public static void main(String[] args) throws IOException {yonghulala yhl = new yonghulala();NameListService nse = new NameListService();Scanner sc = new Scanner(System.in);While wh=new While();boolean B = true;nse.ad();while (B) {System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");System.out.println("@                               @");System.out.println("@  欢迎来到项目开发团队分配管理软件   @");System.out.println("@                               @");System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");System.out.println("¥");System.out.println("$");System.out.println("¥");System.out.println("$-----------《请先登录》----------$");System.out.println("按回车健继续...");String ch = sc.nextLine();if (ch.equals("")) {System.out.println("1.登陆账号           *");System.out.println("2.注册账号           *");System.out.println("3.修改密码           *");System.out.println("4.查询用户           *");System.out.println("5.退出");System.out.println("请选择");int a01 = sc.nextInt();switch (a01) {case 1:System.out.println("");System.out.println("***************");System.out.println("*** <谢总nb> ***");System.out.println("** *  (:   * **");System.out.println("***************");System.out.println("请输入你的账号名称");String zh = sc.next();System.out.println("密码");int mm = sc.nextInt();for (int i = 0; i < yhl.total; i++) {if (zh.equals(yhl.yh[i].getZh()) && mm == yhl.yh[i].getMm()) {System.out.println("登陆成功");System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");System.out.println("@             谢总nb              @");System.out.println("@             登陆成功            @");System.out.println("@         " + yhl.yh[i].getZh() + "你好            @");System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");wh.B();}}break;case 2:yhl.zc();break;case 3:yhl.xgmm();break;case 4:yhl.cx();break;case 5:B=false;}}}}}

四、总结

ava的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:
1、掌握项目开发的基本步骤
2、具备极强的面向对象的分析与设计技巧
3、掌握用例驱动、以架构为核心的主流开发方法

没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理,你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某个特定问题领域的分析方法!

谢谢大家观看

项目开发团队分配管理(java)相关推荐

  1. Java综合项目----开发团队分配管理软件

    Java综合项目----开发团队分配管理软件 源代码下载地址: 简介 需求说明 系统功能结构 系统流程 用户注册和登录模块 开发人员管理模块 Equipment接口及其实现子类的设计 Employee ...

  2. Java 项目开发团队分配管理软件

    目录 1 系统结构功能 2 系统流程 3 软件设计 3.0 前提 3.1 用户注册登录模块 3.2 开发人员管理模块 在这个模块中,我们需要创建几个实体类 3.3 开发团队调度管理模块 3.3.1 需 ...

  3. 【JAVA】项目开发团队分配管理软件

    目录 前言: 一.系统功能结构 二.系统流程 三.实现思路 四.常见问题 五.具体实现代码 六.全部代码 前言: 模拟实现一个基于文本界面的<项目开发团队分配管理软件> 熟悉Java面向对 ...

  4. java实现、项目开发团队分配管理软件

    目标: 模拟实现一个基于文本界面的<项目开发团队分配管理软件> 熟悉Java面向对象的高级特性,进一步掌握编程技巧和调试技巧 主要涉及以下知识点: 类的继承性和多态性 对象的值传递.接口 ...

  5. 项目开发团队分配管理软件总结

    目录 前言 一.项目需求 二.主要思路 三.系统流程 四.代码实现 4.1 登录 4.2 开发人员管理模块 4.3开发团队调度管理模块 4.4开发项目管理模块 4.5 IndexView类的设计 五. ...

  6. 项目开发团队分配管理软件

    一.目标 1.模拟实现一个基于文本界面的<项目开发团队分配管理软件>: 2.熟悉Java面向对象的高级特性,进一步掌握编程技巧和调试技巧. 3.主要涉及以下知识点: 类的继承性和多态性 对 ...

  7. 实现一个项目开发团队分配管理软件思路及过程

    做一个项目之前首先要知道做什么?实现什么功能?得到什么效果?然后再理思绪以及怎么做,慢慢来,一口吃不成个胖子,切忌一上来就动手做,简单的代码还好,一旦代码更多更复杂进行到后面就很容易乱成一锅粥,所以我 ...

  8. 项目 开发团队分配管理软件

    一.系统功能结构 二.系统流程 三.实现 以下功能不分先后 3.1账户 3.1.1账户类 3.1.2账户管理类 3.2开发人员 3.2.1架构师类 3.2.2开发人员管理类 3.2.3无职务类 3.2 ...

  9. 【面向对象应用~.~】——项目开发团队分配管理软件

    项目大纲 项目介绍 [项目前提] [项目说明] [项目结构] [项目需求] [项目设计框架] 系统功能设计 用户登录和注册 开发人员管理 开发团队调度管理 开发项目管理 各系统功能合并 合并过程 注意 ...

最新文章

  1. Linux运维宝典:最常用的150个命令汇总
  2. OpenCV中的TermCriteria模板类
  3. 把集成测试和单元测试写一起是一种什么体验?
  4. linux apache配置目录大小写,linux apache 配置URL地址栏大小写不敏感配置
  5. python打包工具报错_Python打包发布神器—Pyinstaller
  6. 如何简单的测试kubernetes的dns add-ons是否工作正常?
  7. 《此生未完成》痛句摘抄(4)
  8. 文献检索与论文写作书籍(一)
  9. js图片转二进制流_为了安全问题后台返回前端得文件为二进制得流,我们该如何处理这些流文件...
  10. VMware vSAN 技术详解 | 资料
  11. java环境安装菜鸟教程,window系统安装Java 配置环境变量 | 菜鸟教程 JDK配置
  12. 机器学习笔记 - 什么是标准正态分布表?
  13. mac 学习 java_Mac 新手从零学习JAVA 环境配置篇
  14. 虚拟机VMware安装PhoenixOS(凤凰OS)进入命令行黑屏页面无法进入图形界面
  15. 百度文库等禁止页面弹出(禁用javascript)
  16. wed基础和http
  17. PON光通道损耗的计算
  18. 读《我喜欢生命本来的样子》记(三)
  19. Windows 11系统如何将“此电脑”显示在桌面?
  20. ap设置 维盟660g_WayOS|路由器WAN口数设置详细教程

热门文章

  1. 腾讯、优酷Android面试
  2. 邓千荧——奔走于车水马龙中的逐梦之声
  3. ASO技巧详解(1):如何为应用取名字
  4. Dapper--Google生产环境下的分布式跟踪系统
  5. 2012-10-01 新婚贺词
  6. 互联网创业需要具备的五大能力
  7. 自媒体出售渠道,自媒体购买渠道,自媒体购买平台
  8. python爬虫爬取-前程无忧-岗位信息
  9. Windows编程学习笔记01-Windows系统概述
  10. 小霸王 精选集 84合1