M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。
【需求分析结果】
该系统的部分功能及初步需求分析的结果如下:
(1)M公司旗下有业务部,策划部和其它部门。部门信息包括部门号,部门名,主管,联系电话和邮箱号。每个部门只有一名主管,只负责本部门的工作,且主管参照员工关系的员工号:一个部门有多名员工,每个员工属于且仅属于一个部门。
(2)员工信息包括员工号,姓名,职位,联系方式和薪资。职位包括主管,业务员,策划员等。业务员负责受理用户申请,设置受理标志。一名业务员可以受理多个用户申请,但一个用户申请只能由一个业务员受理。
(3)用户信息包括用户号,用户名,银行账号,电话,联系地址。用户号唯一标识用户信息中的每一个元组。
(4)用户申请信息包括申请号,用户号,会议日期,天数,参会人数,地点,预算费用和受理标志。申请号唯一标识用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只对应一个用户号。
(5)策划部主管为已受理的用户申请制定会议策划任务。策划任务包括申请号,任务明细和要求完成时间。申请号唯一标识策划任务的每一个元组。一个策划任务只对应一个已受理的用户申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与执行多项策划任务。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图所示。
【关系模式设计】
部门(部门号,部门名,部门主管,联系电话,邮箱号)
员工(员工号,姓名,(a),联系方式,薪资)
用户(用户名,(b),电话,联系地址)
用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志,(c))
策划任务(申请号,任务明显,(d))
执行(申请号,策划员,实际完成时间,用户评价)
其中粗线部分是答案。
一个无向连通图G上的哈密尔顿(Hamilton)回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该顶点的路径。一种求解无向图上的哈密尔顿回路算法的基本思想如下:
假设图G存在一个从顶点u0出发的哈密尔顿回路u0—u1—u2—u3—...—u0—un-1—u0。算法从顶点u0出发,访问该顶点的一个未被访问的领接顶点u1,接着从顶点u1出发,访问u1的一个未被访问的领接顶点u2,...。对顶点ui,重复进行以下操作:访问ui的一个为被访问的领接顶点ui+1;若ui的所有领接顶点均已被访问,则返回到顶点ui-1,考虑ui-1的下一个未被访问的领接顶点,仍记为ui;直到找到一个哈密尔顿回路或者找不到哈密尔顿回路,算法结束。
一个无向连通图G上的哈密尔顿(Hamilton)回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该顶点的路径。一种求解无向图上的哈密尔顿回路算法的基本思想如下:
假设图G存在一个从顶点u0出发的哈密尔顿回路u0—u1—u2—u3—...—u0—un-1—u0。算法从顶点u0出发,访问该顶点的一个未被访问的领接顶点u1,接着从顶点u1出发,访问u1的一个未被访问的领接顶点u2,...。对顶点ui,重复进行以下操作:访问ui的一个为被访问的领接顶点ui+1;若ui的所有领接顶点均已被访问,则返回到顶点ui-1,考虑ui-1的下一个未被访问的领接顶点,仍记为ui;直到找到一个哈密尔顿回路或者找不到哈密尔顿回路,算法结束。
根据题干说明和C代码,算法采用的设计策略是回溯法。该方法在遍历图的顶点时,采用的是深度优先方法。