项目开发团队分配管理系统

前言

本实践项目是一个项目开发团队分配管理系统,可以对开发人员和开发团队进行统一管理,并且可以给一个项目分配一个团队进行开发。
在这里插入图片描述

1.系统的功能的结构,流程

①结构

本实践项目有四个模块:用户注册和登录模块,开发人员管理模块,开发团队调度管理模块和开发项目,管理模块开发人员相关信息请按照需求文档设计,团队组建过程包括将成员插入到团队中,或从团队中删除某成员,还可以列出团队中现有成员的列表开发团队成员包括架构师、设计师和程序员。最后,需要完成每一个项目都能有一个开发团队在进行开发即可
在这里插入图片描述

②流程

在这里插入图片描述

3.代码设计结构

在这里插入图片描述

4.具体代码实现

流程介绍:首先注册——登入——开发人员添加(已经有初始值)——团队人员的添加——添加项目——分配项目——退出。

主页面

    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("🐕-----------<请您先进行登录>-------------🐕");

    TSUtility.readReturn();
    LoginView loginvi = new LoginView();
    try {
        loginvi.login();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    do {

        System.out.println("🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣");
        System.out.println("🔣                                         🔣");
        System.out.println("🔣              ~软件主菜单~               🔣");
        System.out.println("🔣                                         🔣");
        System.out.println("🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣");
        System.out.println("🐻1. <用户信息修改>                *");
        System.out.println("🐘2. <开发人员管理>                *");
        System.out.println("🦁3. <开发团队调度管理>            *");
        System.out.println("🐻4. <开发项目管理>                *");
        System.out.println("🦊5. <退出软件>                    *");
        System.out.println("⬇请选择:  ");

        char c = TSUtility.readMenuSelection();
        switch (c) {
            case '1'://注册
                try {
                    loginvi.update();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                break;
            case '2'://开发人员管理主菜单
                developerManagement();
                break;
            case '3'://开发团队调度管理
                manyTeam = teamView.teamManagementView();
                break;
            case '4'://开发项目管理
                projectManagement();
                break;
            case '5':
                System.out.println("确定要退出吗Y/N");
                char c1 = TSUtility.readConfirmSelection();
                if (c1 == 'Y') {
                    flag = false;
                }
                break;

        }


    } while (flag);

}

①注册登入

//登入功能
public void login() throws InterruptedException {
    boolean flag = true;
    while (flag) {
        System.out.println("********************🐱");
        System.out.println("***   <登录界面>   ***");
        System.out.println("***     (:      ***🐱");
        System.out.println("********************🐱");

        Scanner sc = new Scanner(System.in);
        System.out.println("友情提示——账号,密码长度均小于8位");

        System.out.println("请输入你的账号名称");
        String userName = TSUtility.readKeyBoard(8, false);
        System.out.println("请输入你的密码");
        String password = TSUtility.readKeyBoard(8, false);

        //分两种情况,注册,未注册
        if (this.userName.length() == 0 || this.password.length() == 0) {
            System.out.println("未注册账号,请先注册");
            //返回注册方法
            try {
                regist();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            continue;

        } else if (this.userName.equals(userName) && this.password.equals(password)) {
            System.out.println("登入成功");
            flag = false;
        }

    }
}

//注册功能
public void regist() throws InterruptedException {
    System.out.println("开始注册");
    System.out.println("友情提示——账号,密码长度均小于8位");

    System.out.println("请输入你的账号名称");
    String userName = TSUtility.readKeyBoard(8, false);
    this.userName = userName;
    System.out.println("请输入你的密码");
    String password = TSUtility.readKeyBoard(8, false);
    this.password = password;
    System.out.println("注册成功,请登入");
}

在这里插入图片描述

②用户信息修改

        System.out.println("请输入你需要修改的类型:");
        System.out.println("1(修改用户名)");
        System.out.println("2(修改密码名)");
        System.out.println("3(修改用户名和密码名)");
        System.out.println("4(不修改,退出)");
        Scanner sc = new Scanner(System.in);
        //选择修改类型
        String option = sc.next();
        if (option.equals("1") || option.equals("2")  ||option.equals("3")  || option.equals("4")  || option.equals("5") ) {
            switch (option) {
                case "1":

                    System.out.println("友情提示——账号长度小于8位");
                    System.out.println("请输入新用户名");
                    String userName = TSUtility.readKeyBoard(8, false);
                    this.userName = userName;
                    System.out.println("修改成功");
                    break;
                case "2":

                    System.out.println("友情提示——密码长度小于8位");
                    System.out.println("请输入新用户名");
                    String password = TSUtility.readKeyBoard(8, false);
                    this.password = password;
                    System.out.println("修改成功");
                    break;
                case "3":
                    System.out.println("友情提示——账号,密码长度均小于8位");
                    System.out.println("请输入新用户名");
                    userName = TSUtility.readKeyBoard(8, false);
                    System.out.println("请输入新用户名");
                    password = TSUtility.readKeyBoard(8, false);
                    this.userName = userName;
                    this.password = password;
                    System.out.println("修改成功");
                    break;
                case "4":
                    System.out.println();
                    flag = false;
            }
        } else {

            System.out.println("输入的数字并非是1/2/3/4,请重新输入");

        }

③开发人员管理

        System.out.println("🔣        ~开发人员管理主菜单~            🔣");
        System.out.println("🐕1.     <开发人员的添加>           *");
        System.out.println("🐖2.     <开发人员的查看>           *");
        System.out.println("🐱3.     <开发人员的修改>           *");
        System.out.println("🐂4.     <开发人员的删除>           *");
        System.out.println("🐇5.     <退出当前菜单>             *");
        System.out.println("⬇请选择:  ");
        char c1 = TSUtility.readMenuSelectionPro();

        switch (c1) {

            case '1':
                try {
                    nameListService.addPeople();
                } catch (TeamException e) {
                    e.printStackTrace();
                }
                break;
            case '2':
                try {
                    nameListService.lookPeople();
                } catch (TeamException e) {
                    e.printStackTrace();
                }
                break;
            case '3':
                try {
                    nameListService.updatePeople();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                break;
            case '4':
                try {
                    nameListService.delatePeople();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                break;
            case '5':
                System.out.println("你确定该操作吗?(y/n)");
                char c2 = TSUtility.readConfirmSelection();
                if (c2 == 'Y') {
                    flag2 = false;
                }
                break;
            default:
                System.out.println("输入有误,重新输入");
                break;
        }
    }
}
}

④开发团队调度管理

        System.out.println("🐕1.     <开发团队的添加>           *");
        System.out.println("🐖2.     <开发团队的查看>           *");
        System.out.println("🐂3.     <开发团队的删除>           *");
        System.out.println("🐇4.     <退出当前菜单>             *");

        char ch = TSUtility.readMenuSelection();

        switch (ch) {
            case '1'://添加
                enterMainMenu();
                break;
            case '2'://查看
                if (team.size() == 0) {
                    System.out.println("暂无团队,请添加");
                } else {
                    System.out.println("-------团队列表--------");
                    System.out.println("TID/ID\t姓名\t\t年龄\t 工资\t 职位\t 奖金\t 股票");

                    System.out.println("");
                    for (Programmer[] team : team) {
                        for (int i = 0; i < team.length; i++) {
                            System.out.println(team[i].getTeamDtails());
                        }
                        System.out.println("------------------");
                    }
                }
                break;
            case '3'://删除
              for (int i = 0; i < team.size(); i++) {
                  Programmer[] programmers = team.get(i);
                   System.out.println(programmers);
               }
                System.out.println("请输入你要删除团队的编号");
                int number1 = TSUtility.readInt();
                if (number1 - 1 > team.size()) {
                    System.out.println("你要修改的人员不存在");
                } else {
                    team.remove(number1 - 1);
                    System.out.println("删除成功");
                }


            case '4'://退出当前菜单
                System.out.println("你确定要退出吗?(y/n)");
                char ch2 = TSUtility.readConfirmSelection();
                if (ch2 == 'Y') {
                    flag = false;
                }
                break;

⑤开发项目管理

        System.out.println("欢迎来到项目开发界面");
        System.out.println("1.新项目添加");
        System.out.println("2.项目分配团队开发");
        System.out.println("3.查看项目当前状态");
        System.out.println("4.删除选择的项目");
        System.out.println("5.退出");
        System.out.println("做出你的选择1-5");

        char ch = TSUtility.readMenuSelectionPro();
        switch (ch) {

            case '1':
                if (manyTeam == null) {
                    System.out.println("暂无团队人员,请先添加团队人员");
                }else {

                    projectSer.addProject();
                }


                break;
            case '2':
                if (manyTeam == null) {
                    System.out.println("暂无团队人员,请先添加团队人员");
                } else {

                    for (Programmer[] programmers : manyTeam) {
                        try {
                            projectSer.dealingPro(programmers);
                        } catch (TeamException e) {
                            System.out.println(e.getMessage());
                        }
                    }
                }

                break;
            case '3':
                projectSer.showPro();
                break;
            case '4':
                projectSer.delPro();
                break;
            case '5':
                System.out.println("你确定该操作吗?(y/n)");
                char c2 = TSUtility.readConfirmSelection();
                if (c2 == 'Y') {
                    flag = false;
                    break;

6.易错点

在代码运行过程中有几个点需要强调:
①删除团队人员的ID时,后面的ID要变动(TID同理)
②添加人员时,信息同步到团队模块中
③项目被添加时不可重复添加,项目被分配是不可被删除、

总结

该项目是第一个代码量目前遇到较多的项目,完成了之后有几点心得:①遇到项目首先把框架列出来,之后再把具体功能一个个实现。②在遇到BUG时,遇到及处理原则,否则回过头再处理,代码量变动可能较大。③代码是实现有许多种方法与思路,不可闭门造车。

代码链接(网盘)

链接:https://pan.baidu.com/s/1IVdg1GKSSIwGbw61WaejqA
提取码:1234
在这里插入图片描述

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值