课程设计任务书
学生姓名: 指导教师: 题目:项目管理数据库设计 初始条件:
协助用户管理自己的项目。项目管理系统可以登记项目的详细信息,从不同的角度对项目进行统计,监控项目的进度,对项目进行维护,安排项目的人员调度。
专业班级: 计算机 工作单位: 计算机学院
要求完成的主要任务:
1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个项目数据库,DBMS
可选Ms SQL Server、Access、VFP等。
2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概
念设计,逻辑设计,物理实现等。
3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)
任选。这一项是选作,不作硬性要求。
时间安排:
本学期第19周: 1. 消化资料、系统调查 2. 系统分析
3. 总体设计,实施计划 4. 撰写报告
1天 1天 2天 1天
指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
武汉理工大学《数据库设计》报告书
项目管理数据库设计
1需求分析
目前,随着IT技术的进步和高等院校规模的逐步扩大,许多日常工作都是围绕一个个项目展开的,且项目管理工作日益复杂,项目信息数据库也日益庞大,早期的人工管理方式已经不能适应高校发展的要求。
本系统旨在协助用户管理自己的项目,通过综合管理项目信息及用户基本情况,以达到高效,快速,迅捷,准确的掌握全方面信息,大大降低了人工管理的复杂度,其简单的操作界面和强大的数据库操作功能带给管理者和使用者很大的经济效益。
根据学过的各方面的知识,先修课程:高级语言程序设计、数据结构、操作系统、软件工程等,实现项目管理数据库一般要求。
本系统包括项目管理、工作进程管理、数据统计和用户管理等功能,具体描述如下: (1)项目管理,包括创建和修改项目,及根据条件列出相应项目列表
(2)工作进程管理,包括查询、添加、修改、删除工作进程及及角色权限管理 (3)数据统计,包括项目和人员数据统计
(4)用户管理,包括创建用户及根据条件列出相应项目列表
名字:Users 别名:用户表 描述:存储项目的基本信息 定义:Users = UsersId+用户名+上次活动时间 位置:项目管理数据库系统 1
武汉理工大学《数据库设计》报告书
名字:Projects 别名:项目信息表 描述:存储项目的基本信息 定义:Projects =项目Id+项目名称+项目描述+项目创建日期+项目无效性+预计持续时间+预计完成时间+项目创建者Id+项目经理Id 位置:项目管理数据库系统
名字:ProjectCategories 别名:项目目录信息表 描述:存储项目的目录信息,一个项目根据需要,可以定制几个工作分类 定义:ProjectCategories =项目目录Id+目录名称+目录所属项目Id+父目录Id +目录名称简写+预计持续时间 位置:项目管理数据库系统 名字:TimeEntry 别名:工作进程表 描述:存储员工工时记录信息 定义:TimeEntry =工作进程Id+ 工作进程创建时间+ 完成工时+ 工作进程描述+项目目录Id+工程进程记录日期+工程进程创建者Id +工程进程所属用户Id 位置:项目管理数据库系统
名字:ProjectMembers 别名:项目成员表 描述:项目表和用户表的交叉表,表示使用者在项目中的资格 ,本身是项目成员的使用者,才可以登录所属项目 定义:ProjectMembers =用户Id +项目Id 位置:项目管理数据库系统 2 武汉理工大学《数据库设计》报告书
2概念设计
项目管理系统E-R图
2-1 项目管理E-R图
3逻辑结构设计
3.1 关系模型
根据E-R图和相关要求,把E-R模型图转换为关系表,进行数据模型转换,系统用到五个基本表:用户表、项目信息表、项目目录信息表、工作进程表、项目成员表。 将E-R图转换成关系模型,关系的主码用横线标识 用户表(用户Id,用户名,上次活动时间)
项目信息表(项目Id,项目名称,项目描述,项目创建日期,项目无效性,预计持续时
间,预计完成时间,项目创建者Id,项目经理Id)
外码:项目创建者Id和项目经理Id均参考用户表的用户Id
项目目录信息表(项目目录Id,目录名称,项目Id,父目录Id ,目录名称简写,预计
持续时间)
外码:项目Id参考项目信息表的项目Id
工作进程表(工作进程Id, 工作进程创建时间, 完成工时,工作进程描述,项目目录
Id,工程进程记录日期,工程进程创建者Id ,工程进程所属用户Id),
外码:项目目录Id参考项目目录信息表的项目目录Id,工程进程创建者Id 和工程
进程所属用户Id均参考用户表的用户Id
项目成员表(用户Id ,项目Id),
外码:用户Id参考用户表的用户Id,项目Id参考项目信息表的项目Id
3.2 数据库关系图
3
武汉理工大学《数据库设计》报告书
3-1 数据库关系图
用户体系包括用户和用户角色两个部分,本系统提供三种用户角色:项目管理员,项目经理和项目人员。
其中三种用户角色权限如下:
项目管理员,该角色的人员具有对应用程序的且安全访问权,可以导航到应用程序提供的每个页面。其能创建项目、项目类别以及用户,还可查看系统中包含的所有资源和项目 的报表。
项目经理,该角色的人员具有对分配给他们的项目的完全访问权,而管理员具有对所有项目的完全访问权。
项目人员,该角色的的人员只能访问他们处理项目的工作进程。
4实现设计
4.1 数据表设计
共设计有五个基本表,即用户表、项目信息表、项目目录信息表、工作进程表、项目成员表,设计其数据结构分别如下:
4
武汉理工大学《数据库设计》报告书
4-1 用户表
4-2 工作进程表
4-3 项目信息表
5
武汉理工大学《数据库设计》报告书
4-4 项目目录信息表
4-5 项目成员表
4.2 索引设计
本系统五个基本表均有索引,主要列出工作进程表和项目目录信息表的索引,分别如下图
4-6 工作进程表索引
4-7 项目目录信息表的索引
6
武汉理工大学《数据库设计》报告书
4.3 视图设计
本系统有设计两个视图,即个人完成情况视图和项目进程管理视图,分别如下图。
4-8 个人完成项目情况视图
4-9 项目进程管理视图
5应用程序设计
Microsoft SQL Server 2005, 运行环境
7
武汉理工大学《数据库设计》报告书
应用程序主要包括:
常规用户界面部分,如项目列表、用户列表和数据统计等, 实现成员和角色管理配置部分,如用户登录、创建新用户等。 如下即为登陆界面
5-1 项目管理登录界面
由系统功能描述得,本系统可实现项目管理、工作进程管理、数据统计和用户管理四个完整的功能,其中选择工作进程管理来做说明,如下图即为其管理界面:
5-2 工作进程管理界面
如图所示,进程管理主要有新建、修改和删除工作进程三个功能,系统中的素有用户都具
8
武汉理工大学《数据库设计》报告书
有使用该模块的功能。项目人员具有安排个人工作进程的权限,项目经理具有为所负责项目中的人员安排项目进程权限,系统管理员具有管理和安排所有人员工作进程的权限,其中部分伪代码如下:
void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack)
{if((Page.User.IsInRole(\"ProjectAdministrator\")||
Page.User.IsInRole(\"ProjectManager\")))
{ UserList.DataSourceID = \"ProjectMembers\";
//如果登陆用户属于系统管理员角色,则获取所有项目 if (Page.User.IsInRole(\"ProjectAdministrator\")) { ProjectData.SortParameterName = \"sortParameter\"; ProjectData.SelectMethod = \"GetAllProjects\"; }
//如果登陆用户属于项目角色,则获取所负责项目 else if (Page.User.IsInRole(\"ProjectManager\"))
{ ProjectData.SelectParameters.Add(new Parameter(\"userName\
TypeCode.String, Page.User.Identity.Name));
ProjectData.SortParameterName = \"sortParameter\"; ProjectData.SelectMethod=\"GetProjectsByManagerUserName\"; } } else
{//如果登陆用户属于项目人员角色,则获取所参加的项目角色
ProjectData.SelectParameters.Add(new Parameter(\"userName\
TypeCode.String, Page.User.Identity.Name));
ProjectData.SelectMethod = \"GetProjectsByUserName\"; UserList.Items.Add(Page.User.Identity.Name); }
ProjectList.DataBind(); UserList.DataBind(); ProjectListGridView.DataBind(); //显示多个相应项目进程信息
if (ProjectList.Items.Count >= 1) { TimeEntryView.Visible = true; MessageView.Visible = false; } else
{ TimeEntryView.Visible = false; MessageView.Visible = true; } }
if (UserList.Items.Count == 0) { AddEntry.Enabled = false; } }
9
武汉理工大学《数据库设计》报告书
6心得体会
本次课设主要是实现项目管理数据库的设计,起初对项目管理这一块不大熟悉,尤其是项目分类及工作进程的规划,通过查询大量资料,心中对项目管理系统才有了大概模型。
在数据库设计方面,其实在做课设前有做过数据库设计方面的联系和实验,大致流程比较熟练,主要是基于需求分析的功能描述,构造出本系统的信息结构,即设计出E-R模型,这一步是最关键的,当然转化为关系模型也是处理关键,表之间的关系直接关系到数据库的结构合理程度。
应用程序实现方面,此前做过网络课设,所以这次继续选择ASP.NET来实现相应用户界面的操作,不过中途碰到很多问题,通过网络及书本中的一些借鉴,最后基本实现了所要求的功能,当然,其中最值得提的就是数据统计,可以实现显示一段时间内个人的总体工作量及个人完成每项工作的详细数据,个人认为这样能更好的实现人性化管理。
总之,对于本次课设,不仅系统地完成数据库的设计,也让自己了解到了现实生活中一些方面的管理和具体实际应用,最后很欣慰的是能将课设应用到实际生活中,同时也大致明白教务系统的具体实现流程,学以致用,也就是这道理吧。
7参考文献
《数据库系统理论(第四版)》 王珊,撒师煊著,高等教育出版社
《ASP.NET程序设计案例教程 》 尚俊杰,秦卫中著 ,清华大学出版社,北京交通大学出版社
《数据库系统开发基础与项目实训-基于SQL SEVER 2005》 文东,赵俊岚主编,北京科海电子出版社
10
武汉理工大学《数据库设计》报告书
本科生课程设计成绩评定表
班级: 姓名: 学号: 序号 1 2 3 4 5 6 评分项目 学习态度认真、遵守纪律 设计分析合理性 设计方案正确性、可行性、创造性 设计结果正确性 设计报告的规范性 设计验收 满分 10 10 20 40 10 10 总得分/等级 实得分 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
11
武汉理工大学《数据库设计》报告书
指导教师签名:
201 年 月 日
12