万分感谢,急需求助一个JAVA编程,谢谢各位大侠了!!!!!
网络计划技术的管理与实现
用户需求:
1 根据工序逻辑关系表,绘制网络图(格式如图1所示)。
2 计算网络图上的关键路径并动态的显示出来。
3 在屏幕上用鼠标点击网络图中的结点、箭线和文字可以对于网络图进行增加,插入、删除,修改结点、箭线和文字)。
4 将网络图进行保存(保存到一个文件中,以后随时可以取到内存中并显示它)
5 对工序逻辑关系表进行管理(表的显示、修改、排序和保存)其表形式如下:
表1 工序逻辑关系表
事项 工序开始事项 工序结束事项 工序作业时间 事项最早开始时间 工序最早结束时间 工序最早开始时间 事项最迟结束时间 工序最迟开始时间 工序最迟结束时间 工序总时差 事项关键时差路径
1 1 2 60 0 60 0 0 0 60 0 1
2 2 3 10 60 70 60 60 107 117 47 2
2 2 4 20 60 80 60 60 60 80 0 4
2 2 5 40 60 100 60 60 80 120 20 0
2 2 7 45 60 105 60 60 90 135 30 0
3 3 7 18 70 88 70 117 117 135 47 0
4 4 5 0 80 80 80 80 120 120 40 0
4 4 6 30 80 110 80 80 80 110 0 6
5 5 7 15 100 115 100 120 120 135 20 0
6 6 7 25 110 135 110 110 110 135 0 7
7 7 8 35 135 170 135 135 135 170 0 8
8 8 8 0 170 170 170 170 170 170 0 0
可修改部分 自动计算生成部分
图1 网络图
网络计划技术的管理系统屏幕设计
1主窗口菜单:
图2 主窗口
2 弹出式菜单:
图3 事项管理弹出式菜单 图4工序管理弹出式菜单
解释:
1, 关于工序逻辑关系表见表1(左部为可修改部分,右部为自动计算生成部分)
2, 用网络图见图1,图中的结点表示事项(事件或活动,实箭线表示工序,虚箭线为作业时间为0的事项。圆圈中的数字为结点编号,等箭线上的字母为事项编号。箭线上的文章子指描述为工序,箭线下面的数字为作业时间(或称权值)
3.网络图有3种表示 ①文件表示:只保存表1的左部(可修改部分)
②图形表示:入图1所示
③表格表示:表1的所有内容,只用于屏幕显示和打印。
4.网络图管理有3种方式:
① 表格管理:利用修改工序逻辑关系表来管理。
② 图形管理:利用屏幕上的图形,点击鼠标右键来管理
③ 直接点击菜单中的增加扦入修改、删除事项式工序来管理。
对于①的操作是从主菜单中的“工序逻辑关系管理”→“修改工序逻辑关系表” →显示表1→点击鼠标右键弹出增加扦入、修改删除事项式工序的菜单→③
对于②的操作是在图1的画面上用鼠标右键点击圆圈、艰险或艰险上下的文字描述和数字。如果点击的是圆圈或箭线弹出增加扦入、修改、删除事项式工序菜单→③。如果点击的是文字描述和数字表示只修改鼠标点击的文字数字。对于③
增加结点:自动在原来最大编号上加1并且增加一个结点。
扦入结点:选择扦入位置,扦1个数字作为结点编号。再选择该结点的箭头和箭尾。
删除结点:选择结点编号,询问用户是否真的要删除
当回答“Y“后,然后询问用户是否删除与此结点上相连的工序,如果回答”Y“则将结点和相连的工序,如果回答”Y“,则将结点和相连的工序全部删除。如果回答”N“,则不做任何删除。
修改结点:选择将要被修改的结点的编号→修改为新结点编号→将原来为新结点编号的结点改为被修改的结点编(换编号)。修改与结点有联系的部分工序的箭线头或尾。
增加工序:选择箭线头号和箭线尾号,输入工序号、工序文字描述和权值,如果其中有一个箭头号或箭尾号不存在,则加如不存在的相连结点。如果箭头号和箭尾号不存在,则加入不存在的相连结点。如果肩头号和箭尾号都不存在,则不增加工序。
扦入工序:选择艰险头号和箭尾号输入工序号,工序文字描述和权值。
删除工序:选择工序号并显示它的肩头与箭尾号,工序号,工序文字描述和权值,询问拥护是否真的要删除,若回答“Y“删除,否则不删除。
修改工序:选择工序号并显示它的箭头号和箭尾号、工序号、工序文字描述和数值,让用户对以上参数进行修改。最后询问拥护确定进行修改,真的,若回答“Y“,则修改,否则不修改。