资源描述
附录1 项目文档要求
阶段项目要求每个项目小组完成的文档包括以下内容。
Ø 需求和需求分析说明书:需求描述和主要的用例图,参见下面的“系统需求和需求分析说明书模板”。
Ø 系统设计说明书:系统主要的实例类图,至少3个用例的时序图,参见下面的“系统设计说明书模板”。
Ø 单元测试用例:至少记录3个单元测试的测试用例,参见下面的“测试用例模板”;
Ø 其他:项目进度安排表(由项目经理或小组长提供),参见下面的“项目进度安排表模板”。
附1.1 系统需求和需求分析说明书模板
系统需求和需求分析说明书
文件状态:
[ ] 草稿
[√ ] 正式发布
[ ] 正在修改
文件标识
[ASP.NET--OA项目实训]
当前版本
作 者
完成日期
版本历史
版本/状态
修订人
修改日期
备 注
发布
第一部分 概述
1.项目名称及背景
Ø 项目名称
MyOffice-OA办公自动化
Ø 开发背景
追求高效率的办公方式。
为了提高现代社会人们的办公效率,满足人们自动化办公的需要,我们开发了这套稳定可靠、操作方便、
安全有效的办公自动化系统,它主要包括:人事管理、日程管理、文档管理、消息传递、系统管理、
考勤管理等几大模块。
2.文档说明
该需求文档在实际开发过程中,迎合用户不断完善需求的过程中总结而来,请仔细阅读。
第二部分 任务说明
1.功能概述
该系统要求实现如下功能。
修改密码、机构管理、部门管理、员工管理、个人日程、部门日程、我的便签、文档管理、回收站管理、文档搜索、消息管理、个人信箱、员工签到签退、考勤历史查询、考勤统计等;
2.用户环境
Window Server 2003/xp ; Visual Studio 2005 ; SqlServer2000/SqlServer2005
第三部分 需求分析
1.实现功能
Ø 系统用例图
用户业务逻辑如下图所示:
Ø 管理员功能清单
功 能 编 号
功 能 名 称
文中标题编号
备 注
101
人事管理
101001
机构管理
101002
部门管理
101003
员工管理
续表
功 能 编 号
功 能 名 称
文中标题编号
备 注
102
日程管理
102001
我的日程
102002
部门日程
102003
我的便签
103
文档管理
103001
文档管理
103002
回收站
103003
文件搜索
104
消息传递
104001
消息管理
104002
信箱
105
系统管理
105001
角色管理
105002
登录日志
105003
操作日志
105004
菜单排序
106
考勤管理
106002
考勤历史记录查询
106003
考勤统计
Ø 普通用户功能清单
功 能 编 号
功 能 名 称
文中标题编号
备 注
102
日程管理
102001
我的日程
102002
部门日程
102003
我的便签
103
文档管理
103001
文档管理
103002
回收站
103003
文件搜索
104
消息传递
104001
消息管理
104002
信箱
106
考勤管理
106001
员工签到、签退
2.用例说明
Ø [用例1]
l 用例图
l 描述
机构管理:用GridView展示机构信息,可以添加、修改、删除机构
l 参与者
//*参与者,参与用例的对象*//
Ø [用例2]
l 用例图
l 描述
部门管理:用GridView展示部门信息,可以添加、修改、删除部门。部门从属于机构,一个机构可以有多个部门。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例3]
l 用例图
l 描述
员工管理:用GridView展示员工信息,可以添加、修改、删除员工,并可查看员工详情。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例4]
l 用例图
l 描述
我的日程:该模块可以列出个人每天的安排,也可以预约他人一起参与。可以公开和不公开日程。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例5]
l 用例图
l 描述
部门日程:查看部门内所有公开的日程和自己的日程。不公开的日程只允许自己和预约人看到。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例6]
l 用例图
l 描述
我的便签主要包括:用DataList显示便签信息,可以添加、修改、删除便签。相当于记事本。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例7]
l 用例图
l 描述
文档管理主要包括:用TreeView展示所有文件,可以查看对应的文件内容,管理文件。更详细的信息见界面设计部分。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例8]
l 用例图
l 描述
回收站:显示被删除的文件,可以撤消删除,也可以彻底删除文件。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例9]
l 描述
文件搜索功能:可以按条件查询需要的文件。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例10]
l 用例图
l 描述
消息管理主要包括:创建消息、修改消息、删除消息、发布消息。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例11]
l 用例图
l 描述
信箱主要包括:接收到的信息,和已经发送的信息。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例12]
l 用例图
l 描述
角色管理主要包括:对角色进行管理,可以参照教材上机完成。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例13]
l 用例图
l 描述
菜单排序主要包括:菜单上调整和下调整,主要是修改菜单的显示顺序。
l 参与者
//*参与者,参与用例的对象*//
Ø [用例14]
l 用例图
l 描述
考勤管理主要包括:员工签到、签退,可以查询用户的考勤情况。
l 参与者
//*参与者,参与用例的对象*//
3.用例关系
可以查看业务关系图。
附1.2 系统设计说明书模板
系统设计说明书
文件状态:
[ ] 草稿
[√] 正式发布
[ ] 正在修改
文件标识
[ASP.NET--OA项目实训]
当前版本
[正式版]
作 者
完成日期
版本历史
版本/状态
修 订 人
修 改 日 期
备 注
第一部分 概述
1.文档说明
本文档主要包括数据库详细设计和界面详细设计讲解,所以请认真阅读,以提高开发的质量和效率。
2.系统需求概述
整个系统中所有布局统一采用div布局,所有数据展示控件,如GridView和DataList都要有分页处理。
第二部分 系统总体结构
本系统采用了传统的3层架构实现,理解起来更简单,请采用3层架构的模式开发你的系统。如下图所示:
第三部分 系统设计
类图
//*系统中主要的、关键实体类图,参考图如下*//
Ø [用例1]实现
l 时序图
//用例1的时序图,参考图如下*//
l 描述
第四部分 数据库设计
1.逻辑设计
数据库关系图:
2.表设计
//*所有的表的详细设计信息汇总,如:*//
4.1 数据库:GameCardSale所有表信息
表 名
功 能 说 明
UserInfo
存放用户基本信息
UserState
可扩展性,设置用户是否被屏蔽的状态
RoleInfo
存放角色基本信息
SysFun
存放菜单功能基本信息
RoleRight
存放所有角色权限
BranchInfo
机构信息表
DepartInfo
部门信息表
FileInfo
文件信息表
FileTypeInfo
文件类型表
AccessoryFile
附件文件表
ManualSign
考勤信息表
WorkTime
上下班时间表
Message
消息表
MessageType
消息类型表
MessageToUser
消息发送对象
ReadCommonMessage
用户已读消息表
Schedule
日程表
MeetingInfo
会议类型表
PreContract
预约人表
MyNote
个人便签表
LoginLog
登录日志表
OperateLog
操作日志表
4.2 表UserInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
UserId
Varchar(50)
非空
用户唯一标识
UserName
Varchar(50)
非空
真实姓名
PassWord
Varchar(50)
非空
密码
DepartId
int
非空
所在部门
Gender
int
非空
性别
RoleId
int
非空
用户角色
UserState
int
非空
表UserState的外键,对应
UserStateId 字段
用户状态
4.3 表UserState
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
UserStateId
Varchar(50)
非空
种子,自增1
1:正常状态;0:被屏蔽
UserStateName
Varchar(50)
非空
4.4 表RoleInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
RoleId
int
非空
种子,自增1
角色id
RoleName
Varchar(50)
非空
角色名称
RoleDesc
Varchar(50)
角色描述
4.5 表SysFun
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
NodeId
int
非空
菜单节点id
DisplayName
Varchar(50)
非空
菜单名称
NodeURL
Varchar(50)
菜单连接地址
DisplayOrder
int
非空
菜单显示顺序
ParentNodeId
int
非空
父节点id
4.6 表RoleRight
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
RoleRightId
int
非空
种子,自增1
角色权限id
RoleId
int
非空
表RoleInfo的外键,对应RoleId
角色id
NodeId
int
非空
表SysFun的外键,对应NodeId
菜单节点id
4.7 表BranchInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
BranchId
int
非空
种子,自增1
机构id
BranchName
Varchar(50)
非空
机构名称
BranchShortName
Varchar(50)
非空
机构简称
4.8 表DepartInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
DepartId
int
非空
种子,自增1
部门id
DepartName
Varchar(50)
非空
部门名称
PrincipalUser
Varchar(50)
非空
表UserInfo外键,对应UserId字段
部门负责人
ConnectTelNo
bigint
联系电话
ConnectMobileTelNo
bigint
移动电话
Faxes
bigint
传真
BranchId
int
非空
表BranchInfo的外键,对应BranchId字段
所属机构
4.9 表FileInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
FileId
int
非空
种子,自增1
文件Id
FileName
Varchar(50)
非空
文件名称
FileType
int
非空
FileTypeInfo表的外键,对应FileTypeId字段
文件类型
Remark
Varchar(50)
备注
FileOwner
Varchar(50)
非空
创建者
CreateDate
DateTime
非空
创建日期
ParentId
int
非空
父节点Id
FilePath
Varchar(200)
非空
文件路径
IfDelete
int
非空
是否已删除。1:已删除、2:未删除
4.10 表FileTypeInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
FileTypeId
int
非空
种子,自增1
文件类型id
FileTypeName
Varchar(50)
非空
文件类型名
FileTypeImage
Varchar(50)
非空
文件类型对应的图标
FileTypeSuffix
Varchar(50)
文件类型后缀
4.11 表AccessoryFile
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
AccessoryId
int
非空
种子,自增1
文件附件Id
FileId
int
非空
表FileInfo的外键,对应FileId 字段
文件Id
AccessoryName
Varchar(50)
非空
附件名称
AccessorySize
int
非空
附件大小
AccessoryType
int
非空
FileTypeInfo表的外键,对应FileTypeId字段
附件类型
CreateDate
DateTime
非空
创建日期
AccessoryPath
Varchar(200)
非空
附件路径
4.12 表ManualSign
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
SignId
int
非空
种子,自增1
签卡Id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
SignTime
DateTime
非空
签卡时间
SignDesc
Varchar(200)
非空
签卡备注
SignTag
int
非空
签卡标记
4.13 表WorkTime
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
WorkTimeId
int
非空
种子,自增1
工作时间Id
OnDutyTime
Varchar(50)
非空
上班时间
OffDutyTime
Varchar(50)
非空
下班时间
4.14 表Message
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
MessageId
int
非空
种子,自增1
消息Id
Title
Varchar(100)
非空
消息标题
Content
Varchar(5000)
非空
消息内容
Type
int
非空
消息类型
BeginTime
DateTime
非空
开始有效时间
EndTime
DateTime
非空
有效结束时间
FromUserId
Varchar(50)
非空
发送者
IfPublish
int
非空
是否已发布
RecordTime
DateTime
非空
发送时间
4.15 表MessageType
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
MessageTypeId
int
非空
种子,自增1
消息类型Id
MessageTypeName
Varchar(50)
非空
消息类型名称
MessageDesc
Varchar(50)
消息类型描述
4.16 表MessageToUser
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
Id
int
非空
种子,自增1
序号Id
MessageId
int
非空
Message表外键,对应MessageId字段
消息Id
ToUserId
Varchar(50)
非空
UserInfo表外键,对应UserId字段
发送对象Id
IfRead
int
非空
是否已读。1:已读、0:未读
4.17 表ReadCommonMessage
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
ReadId
int
非空
种子,自增1
序号Id
MessageId
int
非空
Message表外键,对应MessageId字段
消息Id
UserId
Varchar(50)
非空
UserInfo表外键,对应UserId字段
消息读取者
4.18 表Schedule
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
ScheduleId
int
非空
种子,自增1
日程Id
Title
Varchar(50)
非空
日程标题
Address
Varchar(500)
非空
会议地址
MeetingId
int
非空
MeetingInfo表外键,对应MeetingId字段
会议类型
BeginTime
DateTime
非空
日程开始时间
EndTime
DateTime
非空
日程结束时间
SchContent
varchar(500)
非空
日程内容
CreateUser
Varchar(50)
非空
创建者
CreateTime
DateTime
非空
创建时间
IfPrivate
int
非空
是否私有
4.19 表MeetingInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
MeetingId
int
非空
种子,自增1
会议类型Id
MeetingName
Varchar(50)
非空
会议类型名称
4.20 表PreContract
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
PreContractId
int
非空
种子,自增1
预约序号Id
ScheduleId
int
非空
表Schedule外键,对应ScheduleId字段
日程Id
UserId
Varchar(50)
非空
表UserInfo外键,对应UserId字段
预约人
4.21 表MyNote
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
NoteId
int
非空
种子,自增1
便签id
NoteTitle
Varchar(50)
非空
便签标题
NoteContent
Varchar(500)
便签内容
CreateTime
datetime
非空
创建时间
CreateUser
Varchar(50)
非空
创建者
4.22 表LoginLog
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
LoginId
int
非空
种子,自增1
登录日志id
UserId
Varchar(50)
非空
UserInfo表外键,对应UserId字段
登录者
LoginTime
DateTime
非空
登录时间
IfSuccess
int
非空
登录是否成功。1:成功、0失败。
LoginUserIp
varchar(100)
非空
登录用户IP
LoginDesc
varchar(100)
登录备注
4.23 表OperateLog
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
OperateId
int
非空
种子,自增1
操作日志Id
UserId
Varchar(50)
非空
操作者
OperateName
Varchar(50)
非空
操作名称
ObjectId
Varchar(50)
非空
操作对象Id
OperateDesc
Varchar(200)
非空
操作描述
OperateTime
DateTime
非空
操作时间
第五部分 界面设计
1.公共模块界面设计
说明:页面设计要求尽量使用div布局完成。所有的GridView要求实现分页功能。
图1.1用户登陆首页
用户登陆首页要求:只有当用户名、密码都正确时才能通过验证。
图1.2 管理员登录后看到的主界面
管理员登录后的主页面要求:显示个人便签信息,左侧显示系统菜单和个人基本信息,上标栏有“主页”、“重新登录”、“修改密码”、显示当前时间功能。
图1.3 普通用户登录后看到的界面
普通会员登录后的主页面要求:直接到个人签到页面,其他同管理员登录。签卡日期不能为空,且必须为日期型。
2.人事管理模块界面实现
//*用例界面实现是对需求的进一步明确和以可视化的方式呈现,作为编码和实现依据*//
Ø 用例1
人事管理模块包括3个子模块,如图2.1所示。
包括3个子模块
图2.1 人事管理模块包括3个子模块
机构信息管理界面:(如图2.2所示)
图2.2机构信息管理界面
机构信息管理页面功能要求:用GridView显示所有机构信息如图2.2所示,初始时“保存按钮”为不可用。页面有添加机构功能,使用模板列执行修改和删除机构操作,执行增、删、改后都要重新绑定GridView,显示出机构的最新信息。填写机构名称、机构简称,添加成功后,机构名称和机构简称输入框都为置空,点修改图标后,在输入框中显示对应的信息,同时“添加”按钮不可用,“保存修改”按钮为可用,保存成功后,“添加”按钮可用,“保存修改”按钮不可用。注意非空验证。
Ø 用例2
部门管理界面:(如图2.3所示)
图2.3 部门管理页面
部门页面功能要求:用GridView显示所有机构信息,如图2.3所示,该页面有部门增加、删除、修改
功能。点“添加部门”按钮,或点修改图标都进入保存部门信息页面,如图2.4所示。保存部门信息页面:
图2.4 保存部门信息页面布局
保存部门信息页面功能要求: 所属机构下拉菜单绑定机构信息表,注意输入框有效性验证。如果是修改
部门则要显示选定部门的基本信息。点“请点击选择用户”按钮,则树型显示所有用户,且按机构、
部门分类,如图2.5所示。
图2.5 以树型菜单显示所有用户
选中某用户后,“部门负责人”输入框自动显示该用户姓名,且为只读,树型用户菜单自动隐藏。如图2.6所示。
绑定刚才选择的用户
图2.6 选择用户后的界面
如果选择的不是用户,而是机构或部门,则报告选择错误“您选择的不是人员,请重新选择!”。
添加或修改部门成功后,跳转到部门管理页面。
Ø 用例3
员工管理界面:(如图2.7所示)
图2.7 员工管理界面
员工管理页面功能要求:用GridView展示所有用户基本信息,页面有用户添加、修改、删除和浏览详
情功能,执行增、删、改成功后,GridView重新绑定显示用户信息。
点“添加用户”按钮和修改用户图标进入用户信息保存页面,如图2.8 所示。
图2.8 保存用户页面
保存用户信息页面功能要求:用户信息要求非空和有效性验证,“所在部门”下拉菜单项来自数据库DepartInfo表,文本和值分别对应DepartName和DepartId字段(后续机构和部门下拉菜单项都来自对应的表,不再赘述)。
点“浏览”按钮可以选择用户照片,如图2.9所示。
图2.9 选择用户照片
点“保存”按钮添加该用户,然后跳转到员工管理页面,
同时把图片上传到“F:/WebSite/MyOffice/WebUI/images/Users”文件夹中。注意这里文件名定义为:用户登录名 + “.jpg”格式,如刚才上传的图片添加用户后保存为“qijingxue.jpg”,如图2.10所示;
图2.10 上传后的图片命名
点“详细”可以查看更详细的信息,如图2.11所示。
水印效果
图2.11 用户详情页面
用户详情页面功能要求:显示用户基本信息,如图2.11中所列出,在该用户照片上要添加水印效果“我的Office系统”。
3.日程管理模块界面实现
//*用例界面实现是对需求的进一步明确和以可视化的方式呈现,作为编码和实现依据*//
Ø 用例1
日程管理模块包括3个子模块,如图3.1所示。
日历小图标
包括3个子模块
个人日程管理页面:实现效果如图3.1所示。
个人日程管理页面功能要求:用calendar日历控件显示日历,如图3.1所示,使用DayRender事件绑定显示农历时间和日历小图标,如图3.2所示。对应数据库Schedule表。
图3.2 点日历小图标可以添加日程
点日历小图标可以进入“我的日程安排”页面,比如命名为“SaveMySchedule.aspx”,如图3.3所示。此时为添加日程操作。
图3.3 我的日程添加页面
我的日程安排页面功能要求:要求填写日程主题、日程地点、会议类型(下拉菜单数据项与MeetingInfo表字段对应)、开始时间、结束时间、提醒内容、预约他人一起参与,同时可以选择是否公开日程,如果公开日程,则部门内其他人在部门日程中可以查看您的日程,如果不公开,其他人看不到您的日程,同时显示创建者和创建时间。
对应Schedule 、MeetingInfo和PreContract表。
点预约他人小图标,则显示所有用户,如图3.4所示,
图3.4 出现预约用户树型菜单
如果选择的不是用户,要提示“您选择的不是人员,请重新选择的提示!”选择用户后,在预约他们列表中列出该用户(以部门标识),如图3.5所示。
图3.5 列表中列出选择的预约人
选择某个预约的人,点“删除选定预约人”按钮,可以从预约他人列表中删除该人,如已经添加了两个预约人,如图3.6所示。
图3.6 选择预约用户“销售部—齐静雪”
删除后的界面如图3.5所示。点“保存退出”按钮,则跳转到个人日程管理页面,这时显示“◎ + 日程小时和分钟 + 日程标题的前三字 + ...”,如图3.7所示。
图3.7 添加日程成功后的界面
这时我们再点日历小图标,或点“◎ + 日程小时和分钟 + 日程标题的前三字 + ...”部分,仍然进入
“我的日程安排”页面,即“SaveMySchedule.aspx”,这时将显示该日程的信息,即点“保存退出”按钮时执行修改操作,如图3.8所示。
图3.8 如果日程已经存在,则显示日程信息
添加时可以让“删除”按钮不可用,修改时置为可用。
Ø 用例2
部门日程页面:如图3.9所示。
图3.9 部门日程页面
部门日程页面功能要求:要求按部门进行日程查询,选择机构后部门下拉菜单级联改变,要求实现选择下拉项后无刷新,如图3.9所示,可以按部门内用户姓名进行模糊查询,日期只能绑定到某一天,初始时不显示日程信息,点“搜索”图片按钮后,返回查询结果,如图3.10所示。
图3.10 显示查询到所有日程
注意:用GridView显示查询到的日程信息,标题部分包括人员姓名、查询日期所在周的一周各天,要显示一周的各天对应当月的几号,内容部分包括用户姓名,和一周内用户各天对应的日程,任何一个用户可以查看本部门内公开的日程和自己创建的日程。
按姓名模糊查询时,如果没有部门内其他用户的日程,则自己创建的日程也要显示出来。如图3.11所示。
图3.11 按姓名模糊查询后的部门日程信息
点日程标题进入我的日程安排页面即“SaveMySchedule.aspx”,这时我们只提供查看功能,除了“退出”按钮外,其他按钮都为不可用状态。如图3.12所示。
图3.12 查看日程信息的界面
Ø 用例3
我的便签页面如图3.13 所示。
图3.13 我的便签页面
需要用的数据库表:MyNote表。
我的便签页面功能要求:用DataList展示所有便签信息,如图3.13所示。当便签标题超过12个字时,则以前12个字 加“...”表示。点页面上“新增便签”超连接或点DataList中的便签标题都可以进入个人便签设置页面。如果是添加,则界面如图3.14所示
图3.14 个人便签设置页面
个人便签页面功能要求:添加时“删除当前便签”按钮不可用,修改时该按钮可用。如图3.15所示。
图3.15 执行修改操作时的界面
4.文档管理模块界面实现
//*用例界面实现是对需求的进一步明确和以可视化的方式呈现,作为编码和实现依据*//
Ø 用例1
文档管理模块包括3个子模块,如图4.1所示。
图4.1 文档管理界面
需要用到的数据库表:FileInfo、FileTypeInfo、AccessoryFile。
文档管理页面功能要求:如图4.1黑框中所示。该页面“FileManage.aspx”是个框架,左侧为文件树型菜单页面“FileTree.aspx”,右面为文件内容页面“FileMain.aspx”。
树型菜单页面功能要求:展示FileInfo表中的文件夹信息,按父子菜单分层显示,如数据信息如图4.2所示。根据ParentId递归绑定到TreeView中。其中FileType为文件类型,“1”表示文件夹。
图4.2 FileInfo表参考数据信息
为了方便操作,初始时可以手动创建文件夹“c :\\部门文档”。
点左侧的文件树型菜单,若类型是文件夹,则在右侧文件内容部分显示该文件夹下所有的子文件,如图4.3所示。文件信息用GridView显示,可以执行查看属性和删除操作(删除时只是放入回收站,要从回收站中彻底删除)。地址输入框显示树型菜单中选择的文件路径。
图4.3 显示文件夹中的内容
如果类型是非文件夹,则在右侧文件内容部分直接显示文件信息,如图4.4所示。
图4.4 直接显示文件信息
文件内容页面功能要求:如果文件内容页面的文件为文件夹类型,如图4.5所示,
图4.5 从FileInfo表中知道,文件“所有项目”为文件夹类型
在点文件名称后进入该文件夹的子文件界面,如图4.6所示。
图4.6 进入“所有项目”的子文件信息界面
直到可以看见显示的文件不是文件夹类型,如继续点“MyOffice”则进入“MyOffice”文件夹下的子文件,如图4.7所示,这时已经不是文件夹类型,
图4.7 看到的“MyOffice说明文档”文件信息不是文件夹类型
这时如果再点文件名称,或点GridView中的属性图标,则进入文件属性信息页面,如图4.8所示,
图4.8 文件属性信息页面
文件属性信息页面功能要求:要求填写文件名称、备注、选择文件类型图标,这时文档位置、创建时间、所有者是不可改变的。在该页面上要显示文件的附件,如我们的“OA实训说明文档”文件可能包括多个附件,这些附件是我们通过上传文件到指定位置而得到的,它们在硬盘中的实际情况如图4.9所示。
图4.9 文件“MyOffice说明文档”在硬盘上的文件参考
用GridView列出所有的附件,如图4.8所示。点删除图标可以删除该附件。
我们点文件属性页面的“浏览”按钮,可以选择要上传的文件,如图4.10所示。
图4.10 选择要上传的附件
然后点“上传”按钮,执行上传操作,要求把附件添加到数据库AccessoryFile表,参考数据信息如图4.11所示。
图4.11 附件信息表参考数据信息
同时保存文件到硬盘中指定的路径下,如图4.12所示。
图4.12 添加附件后的硬盘文件信息
如果修改过程中点“退出”按钮,则所有修改取消,已经添加的附件从数据库中删除、硬盘中上传的文件也要清除。
如果点文件内容页面的“新增文件”图标,如图4.13所示,
图4.13 添加新文件
则也进入文件属性页面,只是这时文件各项信息都为空,只显示所有者为登录用户,位置部分显示所在文件夹的路径,如图4.14所示。
图4.14 添加文件界面
其他描述同修改文件。提示,上传附件时可考虑先添加文件以得到文件Id。如果添加过程中点“退出”按钮,则所有已经添加的信息要全部还原,已经添加到FileInfo的文件信息删除、已经添加到附件表的信息删除、已经上传到硬盘中指定路径的文件删除。
如果点“新增文件夹”图标,则进入添加文件夹页面,如图4.16所示。
图4.15 新增文件夹
图4.16 添加文件夹页面
添加文件夹页面功能要求:位置部分显示要添加文件夹的位置。添加时注意父子菜单的对应,不仅要添加到FileInfo表,还要在硬盘中创建文件夹。各字段信息参考数据库表。
Ø 用例2
回收站页面如图4.17所示。
图4.17 回收站页面
我们从上边用例1中删除“MyOffice”文件(即更改FileInfo表中IfDelete字段为1),则可以看到如图4.17所示的界面。
回收站页面功能要求:用GridView显
展开阅读全文