这两周做了项目项目开发团队分配管理软件,这是对前面知识的梳理,

这是流程图

这是结构图:

二 需求说明:

该软件实现以下功能:

1.软件启动时,首先进入登录界面进行注册和登录功能。

2.当登陆成功后,进入菜单,首先就可以对开发人员账户和密码进行修改。

3.然后可以对开发人员进行增删改操作

4.人员添加成功后,根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目。

5.组建过程包括将成员插入到团队中,或从团队中删除某成员,还可以列出团队中现有成员的列表,开发团队成员包括架构师、设计师和程序员。

6.团队组建成功,则可以进入项目模块,添加项目,分配开发团队进行开发。

三,开发流程和架构分析

首先编写各种实体类,然后编写service 模块和view,这种架构叫mvc-三层架构

从Mvc架构图下指导出发,我们应该写三种层次,分别是原子级别的domain,负责操作的,把底层数据封装的service类,和负责展示,调度的view类。这里原子级的domain就不用展示了,直接展示分析service类和view类

Service类:

需求分析:

登录注册:

可以看到:进入到界面有登录和注册的功能,可以用 判断语句来判断:账号的有无,密码是否正确,来确认是否进行注册的功能。

  if(this.username.length()==0||this.userpwd.length()==0){System.out.println("未检测到您的账号,请您先注册!");regist();}
 else if (this.username.equals(username)&&this.userpwd.equals(userpwd)){TSUtility.loadSpecialEffects();System.out.println("登陆成功!欢迎您:" + username);flag=false;}else {if(count<=0){System.out.println("登录次数不足,退出");System.exit(0);}else {count--;System.out.println("登录失败,账户名或密码错误:");System.out.println("次数还剩"+count+"次");}}

成功登录后,实现对账号和密码的修改,可以直接把账号和密码重新赋值即可

  TSUtility.loadSpecialEffects();System.out.println("开始注册");System.out.println("请输入你的注册账户名称:");String username = TSUtility.readKeyBoard(4, false);this.username=username;System.out.println("请输入你注册账户的登录密码:");String userpwd = TSUtility.readKeyBoard(8, false);this.userpwd=userpwd;System.out.println("注册成功,请登录");

对开发人员进行的操作

我们可以建一个对开发人员管理的service类,以便于后面直接调用。在存储员工时,我们可以建立相关员工的类,不同的员工有他自己特有的属性,员工之间也有相同的共性,所以,很显然,我们可以通过继承来实现几个员工类之间的关系。

对开发人员的数据我们可以建立一个集合用于存储。

 //用来装员工的数据集合private ArrayList<Employee> employees = new ArrayList<>();

在该类里面写出增删功能:

 //添加员工信息public void addEmployee() throws InterruptedException {/**** @param id* @return* @throws TeamException*/public Employee getEmployee(int id) throws TeamException {}/****///查询所有的成员public void showEmployee(){}/**** @param id*///修改指定的员工public void modifyEmployee(int id){}/**** @param id*///删除指定的员工public void deleteEmployee(int id){}

完成该模块的功能之后,注意一定要返回数据,不然后面调用的时候很麻烦

  //得到全部的员工信息public ArrayList<Employee> getEmployees() {return employees;}

团队的组建:

完成对于开发人员的操作后,就考虑怎么组建团队了:

首先,我们得获取模块二中开发人员的数据,然后通过他们的员工号,选择员工,并将其存到一个集合或者数组里,这样我们便得到了一个团队。注意,此时,我们任然要返回团队值,以便于下一个模块调用。除此之外,添加删改的功能。

 //返回程序员数组public Programmer[] getTeam() {}/****///初始化当前团队成员数组public void clearTeam() {}/**** @param e* @throws TeamException*///添加人员public void addmember(Employee e) throws TeamException {}/**** @param p* @return*///判断该成员是否已经加入该团队private boolean isExist(Programmer p) {}/**** @param memberid* @throws TeamException*///删除团队中指定的成员public void removeMember(int memberid) throws TeamException {}

项目模块:

我们可以先将其创建一个项目类,用来设定其特有的成员变量:

private int prold; //项目号private String projectName;//项目名称private String desName;//项目描述private Programmer[] team;//开发团队private String teamName;//开发团队名称private boolean status=false;//开发状态

然后再创建一个项目的功能实现类,用于实现相对应的功能。可以用集合存储添加项目的数据。

这样就可以在后面直接通过集合调用项目的数据。

  private ArrayList<Project> pro = new ArrayList<>();//添加项目的标号private int count = 1;/****///新项目添加public void addProject() {}//项目分配团队开发/**** @param team* @throws TeamException*/public void dealingpro(ArrayList<Programmer[]> team) throws TeamException {}/****///查看项目当前状态public void showpro() {}/**** @param id* @throws TeamException*///删除选择的项目public void delpro(int id) throws TeamException {}

最后,再将添加的项目用随机的方式分配给团队。实现分配的功能,就是说,我们可以集合里的set方法,改变集合里项目的信息,比如项目号1 上的数据,改为团队的相关的信息,然后项目的状态改为true,就表示该项目已经被分配。

   pj.setTeamName(teamname);//设置当前传参进来的团队名字pj.setTeam(team.get(i));//把当前的团队存进p数组中的teampj.setStatus(true);//改变项目的状态pro.set(num - 1, pj);//改变集合第n位置上的数据为p,也就是表示n位置上的项目,被当前传参进来的团队开发System.out.println("分配成功");

到这里,该项目大致的功能就已经实现了。

接下来我们一起来看看,该项目各个模块之间的难点和易错点:

创建需要用到的各种类,接口以及异常:

通过分析,我们大致可以知道我们需要8个包含属性的实体类,3个逻辑功能实现类,3个界面展示类,一个异常类,一个接口类。所以,我们可以建三个包,来区分并打包相关的类。

View包下,放了界面展示的类;Service包里,放了逻辑功能的类;Domain包,放了Employee及其子类等JavaBean类。

用户注册登录模块:

该模块没有太多的知识点和难点,相信大家都可比较轻松愉快地完成:

主要就用到了while 循环的一个嵌套,实现用户登录失败继续登录,以及登录失败后有相应的次数限制的提示。

代码展示:

ublic class LoginView {private String username="";//用户名private String userpwd="";//用户密码//登录/***登录功能* @throws InterruptedException*/public void login() throws InterruptedException {//登录次数,设定可失误密码次数int count=5;boolean flag=true;while (flag){System.out.println("********************												

关卡12-项目开发团队分配管理软件相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. 实践项目《项目开发团队分配管理软件》

    引言 学习接触java有一段时间了,过了一关又一关,掌握并且应用了许多知识同时也在遗忘,第一次接触包含各个部分内容的对我来说大型的项目.在写博客总结的时候回顾为这个项目敲下第一个字符的时候,觉得我能坚 ...

最新文章

  1. 大数据在统计中的应用初探
  2. (已解决)Jupyter Notebook使用argparse报错:An exception has occurred, use %tb to see the full traceback.
  3. 小白十分钟-推荐导航栏
  4. python 去除水印_python 利用opencv去除图片水印
  5. android 卡片收缩展开,jQuery和CSS3炫酷堆叠卡片展开和收缩特效
  6. stm32f103 c 语言编程,stm32f103 独立看门狗 - 全文
  7. 中文的在一个字符串中查找另一个字符
  8. 非参数统计的Python实现—— Wilcoxon 符号秩检验
  9. I2S协议及在verilog中实现
  10. appium环境搭建python_appium环境搭建python
  11. c语言程序发生算术溢出,谈谈C语言的溢出
  12. html5虚拟试衣,Trylive Clothing虚拟试衣系统 打造属于你个人的魔法试衣间
  13. 批量修改文件名方法:everything软件
  14. 增强现实与虚拟现实_增强现实相关的法律问题
  15. 0、PIC系列参考手册中文版文档汇总
  16. 11大Java开源中文分词器的使用方法和分词效果对比(转)
  17. 学习1368个单词 - 有关物和人的名词
  18. LSP标识符(LSP ID)
  19. TEA XTEA XXTEA
  20. 如何用python画帆船_python学习笔记6——文件操作来生成船只侧面图像的描述文件...

热门文章

  1. PRB成为建模大热的渲染方式,到底优秀在哪里?
  2. DirectX11 With Windows SDK--10 摄像机类
  3. UVA 10003 切木棍 Cutting Sticks
  4. delphi字符串区分中英文判断
  5. 计算机网络改变了人们的娱乐方式
  6. 全栈前后端官网搭建完整流程
  7. 局域网内网络断断续续?ARP攻击?
  8. 只为分享一个最好的网站--------版权奴隶制的反抗者
  9. android7.0多窗口支持
  10. 5G必然为刷脸支付提供更多的应用可能