实践项目二大唐软件任务管理系统姓名:王利阳时间:2013/9/20一、项目背景大唐软件技术有限责任公司(CATTSOFT)(以下简称“大唐软件”)是大唐电信科技股份有限公司的全资子公司。大唐软件以提供适合各通信网络和通信业务运营商需要的管理软件、支撑软件、增值业务软件系统为业务基础,为各类通信系统运营商或信息系统用户提供业务管理、网络管理、决策支持、系统集成和专业咨询的完整解决方案和服务。现承接大唐软件某业务部门的“业务管理系统”中“任务管理系统”子系统的设计和开发。二、需求分析1、术语解释系统管理员:是该系统的一种用户,其权限是添加其他用户并分配其角色(包括主管和员工)。主管:是该系统的一种用户,一个主管下属有一些员工。主管的主要权限是创建任务描述,并将该任务分配给其下属的员工。主管还可以跟踪任务的实施情况。员工:该系统的一种用户,其主要权限是将上级主管分配的任务分解为具体的实施计划。再必要的时候可以调整计划的内容。任务:任务是由主管创建并分配给员工的一项工作。一个任务有“待实施”、“实施中”和“已完成”三种状态。当主管建立一个新任务时,该任务的状态为“待实施”;当承担该任务的员工为该任务制定了计划后,可以将该任务的状态改为“实施中”;主管通过任务跟踪,当认为任务已经完成时,可以将该任务的状态改为“已完成”计划:是由员工创建,表示一个任务的具体实施过程。一个任务可以对应多个计划,计划有两种状态“未反馈”和“已反馈”。当计划刚刚建立时,其状态为“未反馈”,当计划已经完成时,员工可以填写反馈信息并将其状态改未“已反馈”。反馈:是员工完成了计划后,为该计划填写的一些总结性信息。2、系统功能需求该系统实现的任务目标是:以不同的角色登录该任务管理系统,不同的角色尤其相应的功能,完成相应的功能。采用DAO方式进行系统的代码编写,系统主要分为3个模块,对应相应的角色登录,每个角色对应相应的功能。2-1、以管理员身份登录实现用户管理和员工管理功能。在用户管理模块,有显示所有用户,添加人员的功能在员工管理模块,有添加人员,删除人员和分配人员的功能。2-2、以主管身份登录实现查看任务,制定任务,调整任务,跟踪任务和查询计划的功能调整任务即修改所建任务的详细信息跟踪任务即主管可以查看状态为“实施中”的任务的具体实施情况,即该任务的实施人为该任务分配的计划情况以及计划的详细信息,并通过计划的反馈信息决定该任务是否完成。查询计划:员工可以通过制定“计划名称”、“起始时间”、“所属任务”和“计划状态”等查询条件查询其制定的所有计划2-3、以员工的身份登录实现计划管理的功能在计划管理的子模块,实现制定计划,反馈计划,删除计划制定计划:员工可以为某一任务安排具体计划反馈计划:员工可以为某一执行完的计划填写反馈信息删除计划:员工可以为某一任务安排具体计划,根据实际需要决定是否删除计划三、概要设计1、系统功能结构图2、系统E-R图2-1、管理员大唐任务管理系统用户登录管理员主管员工用户管理员工管理查看任务制定任务调整任务跟踪任务查询计划员工管理显示所有用户添加人员删除人员分配人员制定计划反馈计划删除计划查询计划2-2、主管2-3、员工3、数据库设计3-1、人员表【存储人员信息,其中主管编号为外键】3-2、任务表【存储任务信息,其中人员编号为外键】3-3、计划表【存储计划信息,其中计划编号和任务编号为外键】3-4、数据库的连接和关闭publicclassDBConn{publicstaticConnectionopen(Stringuser,Stringpassword){Connectioncon=null;try{Class.forName(oracle.jdbc.driver.OracleDriver);Stringurl=jdbc:oracle:thin:@localhost:1521:orcl;con=DriverManager.getConnection(url,user,password);}catch(Exceptione){e.printStackTrace();}returncon;}publicstaticvoidclose(ResultSetrs,Statementst,Connectioncon){//关闭资源,顺序:从里往外try{if(rs!=null){rs.close();}if(st!=null){st.close();}if(con!=null){con.close();}}catch(SQLExceptione){e.printStackTrace();}}}四、详细设计1、登入系统,不同的身份进入不同的登录界面用例名称登入系统功能简述系统管理员、主管和员工三种角色的用户需要输入正确的用户名和密码后才可以进入系统。后置条件用户登录成功。前置条件无基本流1.用户在图形界面中输入用户名、所属角色和密码,并提交。2.系统判断用户输入的用户名和密码是否合法。3.用户输入的用户名和密码合法则根据用户不同的角色进入不同的主页面。扩展流1.如果用户的用户名和密码不合法则返回登入页面并给出错误信息。备注无2、退出系统用例名称退出系统功能简述使得用户安全的退出系统。后置条件退出系统,返回未登录状态。前置条件登录成功。基本流1.用户点击页面上的“退出”按钮。2.系统安全退出,删除当前的会话信息,并返回到登录页面。扩展流无备注无备注无3、添加人员用例名称添加用户功能简述系统管理员可以为该系统添加其他角色用户(包括主管和员工)的基本信息和初始密码。后置条件该员工信息已经录入系统;该员工可以用初始密码登录该系统。前置条件以系统管理员角色登入系统。基本流1.用户点击“用户管理”导航按钮。2.系统显示“用户管理界面”。3.用户点击“新用户”按钮,在出现的“新用户”界面中输入用户的用户名、真实姓名、出生年月日、职位描述、入职时间、所属角色和初始密码等信息,并提交。4.系统储存该员工的信息,并返回“用户管理界面”并在员工列表中显示刚刚添加的员工信息。扩展流如果添加过程中出现异常,则系统给出错误页面提示。备注4、删除人员用例名称删除人员功能简述系统管理员可以删除某其他角色用户(包括主管和员工)的信息。后置条件该用户信息已经删除,该用户不得在登入系统。前置条件以系统管理员角色登入系统。基本流1.用户点击“员工管理”导航按钮。2.系统显示“员工管理界面”。3.在显示的员工列表页面中钩选要删除的员工信息,点击“删除”按钮删除。4.系统提示“确认删除”信息,用户确定后将该员工信息删除,回到“员工管理”界面。扩展流1.如果在系统提示“确认删除”信息时,用户选择“取消”则放弃删除动作并回到“员工管理”界面。2.如果添加过程中出现异常,则系统给出错误页面提示。备注5、分配人员用例名称分配人员功能简述系统管理员可以将员工分配为某一主管的下属,也可删除其从属关系。主管和员工时一对多关系,即一名主管对应多个员工,而一名员工只能对应一名主管。后置条件该员工为该主管所属,该主管可以在其人员列表中看到该员工信息,并可以为其分配任务。前置条件以系统管理员角色登入系统。基本流1.用户点击“员工管理”导航按钮。2.系统显示“员工管理界面”。3.用户在显示的员工列表页面点击角色为“员工”的“详细信息”按钮。4.系统显示该员工的详细信息,在“上级主管”下拉列表中列出系统中所有主管用户名。5.用户选择通过“上级主管”下拉列表选择该员工的上级主管,并点“确认”按钮。6.系统建立该员工和所选主管所属关系。扩展流无备注无6、制定任务用例名称制定任务功能简述主管建立一项任务的描述,并将该任务分配给其下属的员工,一项任务只可以分配给一名员工。后置条件任务建立成功并分配给了一名员工,该员工可以开始实施该任务。前置条件以主管角色登入系统。基本流1.用户点击“制定任务”导航按钮。2.系统显示“新建任务”界面(如图1-1所示),在“实施人”下拉列表中显示该主管下属的员工用户名。5.用户输入任务的名称、描述、起始时间和“实施人”等信息并点击“提交”按钮。6.系统建立该任务并将该任务分配给具体的实施人,该任务的初始状态为“未实施”。扩展流无备注7、查看任务用例名称查看任务功能简述主管可以查看其所建立任务列表,并可以根据“实施人”和“任务状态”进行排序。后置条件无前置条件以主管角色登入系统。基本流1.用户点击“查看任务”导航按钮。2.系统显示“任务信息”界面(如图1-2所示),列出该主管下达过的所有任务。3.用户可以次点击任务列表的“任务名称”、“实施人”开始时间、“结束时间”或“任务状态”等链接4.系统显示交替按这些字段的升序和降序排列任务信息。5.用户选择某一任务后的单选框,并点击“详细信息”按钮。6.系统在“任务详细信息(如图1-3所示)”界面显示该任务的详细信息。7.用户可以在该任务的计划信息中选择某一计划后的单选按钮,然后点击“详细信息”按钮。8.系统在“计划详细信息”界面中(如图1-4所示)显示该计划的详细信息,包括反馈信息。扩展流无备注无8、调整任务用例名称调整任务功能简述主管可以修改所建任务的详细信息,具体修改的逻辑为:1.对于状态为“未实施”的任务,可以改变其任务名称、开始和结束时间、任务描述、实施人等全部信息。2.对于状态为“实施中”和“已完成”的任务不能更改其状态。后置条件对任务的修改生效。前置条件以主管角色登入系统。基本流1.用户点击“调整任务”导航按钮。2.系统在“未实施任务”界面中(如图1-5所示)显示状态为“未实施”的所有任务。3.用户可以次点击任务列表的“任务名称”、“实施人”开始时间、“结束时间”等链接。4.系统显示交替按这些字段的升序和降序排列任务信息。5.用户单击某一任务的“任务名称”链接。6.系统在“调整任务信息”界面(如图1-6所示)中将该任务的详细信息显示为可编辑状态。7.用户更改任务的信息,并点提交按钮。8.系统保存用户的更改。9.用户还可以在“未实施任务”界面中勾选某些任务后的复选框,然后点击“删除”按钮。10.系统删除这些任务信息,并返回到“未实施任务”界面,显示更改生效。扩展流无备注图4-9可作为“任务信息”界面的参考。9、跟踪任务用例名称跟踪任务功能简述主管可以查看状态为“实施中”的任务的具体实施情况,即该任务的实施人为该任务分配的计划情况以及计划的详细信息,并通过计划的反馈信息决定该任务是否完成。后置条件无前置条件以主管角色登入系统基本流1.用户点击“跟踪任务”导航按钮。2.系统“实施中任务”界面(如图1-7)中列出所有状态为“实施中”的任务。3.用户选择某一任务后的单选按钮,并点击“计划信息”按钮。4.系统在“跟踪计划信息”界面中(如图1-8)显示该任务的详细计划信息。5.用户勾选某些状态为“已反馈”计划信息后的复选框,然后点“反馈信息”按钮。6.系统在该计划信息下的黄色区域显示该计划的反馈信息,并且不显示为被选中复选框的计划反馈信息。7.用户查看该任务计划的反馈信息,认为该任务已经完成,可以将该任务的状态由“实施中”改为“已完成”,并单击“提交”按钮。8.系统将保存该用户的修改,并转到“实施中任务”界面,显示更改结果。扩展流无备注无10、查看人员用例名称查看人员功能简述主管可以查看其下属员工的详细信息后置条件无前置条件以主管角色登入系统基本流1.用户点击“查看人员”导航按钮。2.系统在“所属人员列表”界面(如图1-9)列出该主管下属的所有员工。3.用户选择某一员工后的单选框,并单击“详细信息”按钮。4.系统在“所属人员详细信息”界面显示该员工的详细信息。5.用户单击“返回”按钮。6.系统返回“所属人员列表”界面扩展流备注11、制定计划用例名称制定计划功能简述员工可以为某一任务安排具体计划后置条件用户为该任务安排了计划,该任务的状态处于“实施中”前置条件以员工角色登入系统基本流1.用户点击“计划管理”导航按钮。2.系统在“员工任务”界面(如图1-11所示)显示列出该员工主管为其分配的所有任务。3.用户选择某一任务后的单选按钮,并点击“制定计划”