关卡12-项目开发团队分配管理软件
这两周做了项目项目开发团队分配管理软件,这是对前面知识的梳理,
这是流程图
这是结构图:
二 需求说明:
该软件实现以下功能:
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-项目开发团队分配管理软件相关推荐
- Java 项目开发团队分配管理软件
目录 1 系统结构功能 2 系统流程 3 软件设计 3.0 前提 3.1 用户注册登录模块 3.2 开发人员管理模块 在这个模块中,我们需要创建几个实体类 3.3 开发团队调度管理模块 3.3.1 需 ...
- 项目 开发团队分配管理软件
一.系统功能结构 二.系统流程 三.实现 以下功能不分先后 3.1账户 3.1.1账户类 3.1.2账户管理类 3.2开发人员 3.2.1架构师类 3.2.2开发人员管理类 3.2.3无职务类 3.2 ...
- 项目开发团队分配管理软件总结
目录 前言 一.项目需求 二.主要思路 三.系统流程 四.代码实现 4.1 登录 4.2 开发人员管理模块 4.3开发团队调度管理模块 4.4开发项目管理模块 4.5 IndexView类的设计 五. ...
- Java综合项目----开发团队分配管理软件
Java综合项目----开发团队分配管理软件 源代码下载地址: 简介 需求说明 系统功能结构 系统流程 用户注册和登录模块 开发人员管理模块 Equipment接口及其实现子类的设计 Employee ...
- 【JAVA】项目开发团队分配管理软件
目录 前言: 一.系统功能结构 二.系统流程 三.实现思路 四.常见问题 五.具体实现代码 六.全部代码 前言: 模拟实现一个基于文本界面的<项目开发团队分配管理软件> 熟悉Java面向对 ...
- 项目开发团队分配管理软件
一.目标 1.模拟实现一个基于文本界面的<项目开发团队分配管理软件>: 2.熟悉Java面向对象的高级特性,进一步掌握编程技巧和调试技巧. 3.主要涉及以下知识点: 类的继承性和多态性 对 ...
- java实现、项目开发团队分配管理软件
目标: 模拟实现一个基于文本界面的<项目开发团队分配管理软件> 熟悉Java面向对象的高级特性,进一步掌握编程技巧和调试技巧 主要涉及以下知识点: 类的继承性和多态性 对象的值传递.接口 ...
- 实现一个项目开发团队分配管理软件思路及过程
做一个项目之前首先要知道做什么?实现什么功能?得到什么效果?然后再理思绪以及怎么做,慢慢来,一口吃不成个胖子,切忌一上来就动手做,简单的代码还好,一旦代码更多更复杂进行到后面就很容易乱成一锅粥,所以我 ...
- 【面向对象应用~.~】——项目开发团队分配管理软件
项目大纲 项目介绍 [项目前提] [项目说明] [项目结构] [项目需求] [项目设计框架] 系统功能设计 用户登录和注册 开发人员管理 开发团队调度管理 开发项目管理 各系统功能合并 合并过程 注意 ...
- 实践项目《项目开发团队分配管理软件》
引言 学习接触java有一段时间了,过了一关又一关,掌握并且应用了许多知识同时也在遗忘,第一次接触包含各个部分内容的对我来说大型的项目.在写博客总结的时候回顾为这个项目敲下第一个字符的时候,觉得我能坚 ...
最新文章
- 大数据在统计中的应用初探
- (已解决)Jupyter Notebook使用argparse报错:An exception has occurred, use %tb to see the full traceback.
- 小白十分钟-推荐导航栏
- python 去除水印_python 利用opencv去除图片水印
- android 卡片收缩展开,jQuery和CSS3炫酷堆叠卡片展开和收缩特效
- stm32f103 c 语言编程,stm32f103 独立看门狗 - 全文
- 中文的在一个字符串中查找另一个字符
- 非参数统计的Python实现—— Wilcoxon 符号秩检验
- I2S协议及在verilog中实现
- appium环境搭建python_appium环境搭建python
- c语言程序发生算术溢出,谈谈C语言的溢出
- html5虚拟试衣,Trylive Clothing虚拟试衣系统 打造属于你个人的魔法试衣间
- 批量修改文件名方法:everything软件
- 增强现实与虚拟现实_增强现实相关的法律问题
- 0、PIC系列参考手册中文版文档汇总
- 11大Java开源中文分词器的使用方法和分词效果对比(转)
- 学习1368个单词 - 有关物和人的名词
- LSP标识符(LSP ID)
- TEA XTEA XXTEA
- 如何用python画帆船_python学习笔记6——文件操作来生成船只侧面图像的描述文件...
热门文章