java基础项目【团队调度系统开发(需求分析、软件包结构、全部完整代码)】

需求分析:

        模拟实现一个基于文本界面的《团队人员调度软件》;

        软件启动时,根据给定的数据创建公司部分成员列表;

        根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目;

        组建过程包括成员的添加,删除,查找,在实现功能同时要保证程序的健壮性;

        开发团队最多包括一名架构师,两名设计师,三名程序员。

涉及到的知识点:

        类的继承和多态;

        对象关联:目的是想让一个类的对象方便地使用另外一个对象;

        static和final修饰符;

        特殊类的属性;

        异常处理;

软件设计结构:

        view(TeamView),service(TeamException、CompanyService、TeamService),domain(Employee),main(TeamMain)

com.hike.team.domain        实体包
    Employee    父类
        属性:
        id:int
        name:String
        age:int
        salary:double

        Programmer  子类
            属性:
            equipment:Equipment
            status:Status   //状态
            memberId:int

            Designer    子类
                属性:
                bonus:double    //奖金

                Architect   子类
                    属性:
                    stock:int   //股票
    Equipment 接口
        + abstract getDescription ():String

        PC
            model:String    //型号
            display:String  //显示器

        NoteBook
            model:String
            price:double

        Printer
            type:String
            name:String

com.hike.team.service       最核心的实体管理器
    TeamException       项目自定义异常
    CompanyService      公司员工管理器
    TeamService         团队管理器
    Status              成员的状态,枚举
    Data                基础数据

com.hike.team.view          UI模块,负责连接用户和管理器

    TeamView            主控模块

com.hike.team.main          程序入口
    TeamMain
    TSUtility           工具类

实体类:

Employee 类:

package com.hike.team.domain;

public class Employee {
    private int id;
    private String name;
    private int age;
    private double salary;

    public Employee() {
    }

    public Employee(int id, String name, int age, double salary) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", salary=" + salary +
                '}';
    }
}

programmer类:

package com.hike.team.domain;

import com.hike.team.service.Status;

public class Programmer extends Employee{
    private int memberId;
    private Status status;
    private Equipment equipment;

    public Programmer() {
        super();
    }

    public Programmer(int id,
                      String name,
                      int age,
                      double salary,
                      int memberId,
                      Status status,
                      Equipment equipment) {
        super(id, name, age, salary);
        this.memberId = memberId;
        this.status = status;
        this.equipment = equipment;
    }

    public int getMemberId() {
        return memberId;
    }

    public void setMemberId(int memberId) {
        this.memberId = memberId;
    }

    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    public Equipment getEquipment() {
        return equipment;
    }

    public void setEquipment(Equipment equipment) {
        this.equipment = equipment;
    }

    @Override
    public String toString() {
        return super.toString() +
                "Programmer{" +
                "memberId=" + memberId +
                ", status=" + status +
                ", equipment=" + equipment +
                '}';
    }
}

Designer类:

package com.hike.team.domain;

import com.hike.team.service.Status;

public class Designer extends Programmer{
    private double bonus;

    public Designer() {
    }

    public Designer(int id,
                    String name,
                    int age,
                    double salary,
                    int memberId,
                    Status status,
                    Equipment equipment,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneTenTwo76

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值