企业人事管理说明书范本_第1页
企业人事管理说明书范本_第2页
企业人事管理说明书范本_第3页
企业人事管理说明书范本_第4页
企业人事管理说明书范本_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目目 录录 摘摘 要要.2 正正 文文.3 1、问题描述.3 2、需求分析.4 2.1 系统需求和功能.4 2.2 数据流程图.4 2.3 数据字典.6 3、系统总体设计.7 3.1 概念结构设计(E-R 图)7 3.2 由 E-R 图转换得到的关系模式.7 3.3 逻辑结构设计(数据库的设计).8 4 、详细设计 .10 4.1 人事管理系统的主要功能:.10 4.2 人事管理系统的主要功能程序流程图10 4.3 用户界面与程序设计.12 5、系统测试.15 5.1 测试方法.15 5.2 测试用例.15 6、软件使用说明书.17 总总 结结.19 参考文献参考文献.20 致致 谢谢.21 附件附件 部分原程序代码部分原程序代码.22 2 摘摘 要要 当今社会人员流动越来越频繁,使得档案管理工作也变得越来越复杂。如何管理号企业 人事的信息,成为企业管理的一个大问题。如何实现档案管理的自动化,无疑是公司的管理 部门带来很大的方便。人事管理系统正是一个为适应当前各个行业对人力资源信息管理的这 个迫切需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用 程序的开发两个方面。对于前者要求保持数据的一致性和完整性以及好的数据安全性;后者 设计应用程序可以方便地实现公司人事档案的管理,易使用、检索迅速、查找方便。这些优 点能够极大的提高人事档案的管理的效率,也是提高公司人事管理,更好的为公司服务。 关键词: 人事管理;数据库;管理系统 3 正正 文文 1 1、问题描述问题描述 该设计要求学生以企业人事管理业务为背景,设计、开发一套“企业人事管理系统”软 件。 通过该题目的设计、开发,使学生初步得到数据库开发的训练,全面培养软件开发过程 中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决 实际问题的能力。 4 2 2、需求分析、需求分析 2.12.1 系统需求和功能系统需求和功能 设计一个人事管理系统,使系统满足以下需求和功能 1)根据企业人事管理的需要,对企业以及企业中员工的信息进行添假删除等操作,并 能对人事档案进行浏览,对人事资料进行查询,对人事资料进行统计。为企业的人事管理提 供一个便利的管理系统。 2) 、系统功能包括: a 系统管理(设置用户和退出系统) 。 b 基础数据管理(民族档案设置,职工类型设置,文化程度设置,政治面貌设置,部门 类别设置,工资类别设置,职称类别设置,职务类别设置) 。 c 人事档案管理(人事档案浏览,人事资料查询,人事资料统计) 。 数据库管理(数据库的备份与恢复) 。 2.22.2 数据流程图数据流程图 数据流图由四种基本的元素构成:数据流(Data Flow),处理(Process),数 据存储和数据源(数据终点) 。 数据流(Data Flow):为具有名称且有流向的数据,用标有名称的箭头表示, 一个数据可以是记录、组合项或基本项。 处理(Process):表示对数据所进行的加工和变换,在图中用矩形框表示。 指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。 数据存储:表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分 别以指向或离开数据存储的箭头表示。 数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员, 它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引 入的,一般只出现在数据流图的起点和终点。 5 数据流程图如图 2.1 所示: 管理员 接受 信息 更新 系 统 信 息 个人信息 处理 事务 用户 信息 信息 信息 查询 图 2.1 数据流程图 6 2.32.3 数据字典数据字典 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 由于本次设计是小型软件系统的开发,所以采用卡片形式书写数据字典。每张卡片上保 存描述一个数据的信息这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信 息。下面将列出若干数据元素的数据卡片信息。 数据字典卡片如下: 名字:管理员名称 别名: 描述:惟一地标识一门特定管理员的关 键域 定义:管理员名称=10字符 位置:管理员信息表 名称:职工信息表 别名: 描述:对员工基本情况的描述 定义:员工信息表=员工号+姓名 位置:显示到屏幕 保存到磁盘 名字:员工家庭表 别 名: 描述:惟一地标识一个员工的家庭状况 定义:家庭名称=10字符 位置:家庭信息表 员工信息表 名称:员工表 别名: 描述:对整体员工基本情况的描述 定义:员工信息表=所有员工的基本信 息的总和 位置:显示到屏幕 保存到磁盘 7 3 3、 系统总体设计系统总体设计 3.13.1 概念结构设计(概念结构设计(E-RE-R 图)图) 经分析人事管理系统的 E-R 图如图 3.1 所示: 员工 用户 属 于 部门 名称 负责 人 属于 职务 临时 职称 正式 用户口令用户 名 籍贯 姓名 性别 学历 婚姻状况 编号 图 3.1 人事管理系统 E-R 图 3.23.2 由由 E-RE-R 图转换得到的关系模式图转换得到的关系模式 用户(用户名,密码,是否管理员) 民族档案设置(民族编号,民族名称) 职工类型设置(职工类型号,职工类型名称) 文化程度设置(文化程度编号,文化程度名称) 政治面貌设置(政治面貌编号,政治面貌名称) 部门类别设置(部门类别编号,部门类别名称) 8 工资类别设置(工资类别编号,工资类别名称) 职称类别设置( 职称类别编号,职称类别名称) 职务类别设置(职务类别编号,职务类别名称) 职工表(职工编号,职工名,出生日期,年龄,民族,婚姻状况,身份证, 家庭电话,电子邮箱,手机,籍贯,地址,毕业学校,所在部门,政治面貌,职 称类别,职务类别,工资类别,文化程度) 职工家庭情况(编号,员工工号,成员姓名,关系,出生日期,所在部门, 担任职务,政治面貌,手机) 3.33.3 逻辑结构设计(数据库的设计)逻辑结构设计(数据库的设计) 建立数据库 本设计用 Microsoft Office Access 2003 作为后台数据库,在 MS SQL Server 2000 中创建一个名为 Manager1 的数据库,并在其中建立逻辑设计中 涉及的表. 建立表:在 Access 中,可以查看所建立的表,并添加适当测试数据 用户表如图 3.2 所示: 图 3.2 用户表 民族挡案表如图 3.3 所示: 职工类型表如图 3.4 所示: 图 3.3 民族档案表 图 3.4 职工类型表 9 文化程度表如图 3.5 所示 : 政治面貌表如图 3.6 所示: 图 3.5 文化程度表 图 3.6 政治面貌表 部门类别设置表如图 3.7 所示: 工资类别表如图 3.8 所示: 图 3.7 部门类型设置表 图 3.8 工资类别表 职称类别表如图 3.9 所示: 职务类别表如图 3.10 所示: 图 3.9 职称类别表 图 3.10 职务类别表 10 4 4 、详细设、详细设计计 4.14.1 人事管理系统的主要功能:人事管理系统的主要功能: 1教师各种信息的输入,包括教师基本信息,课程信息,论文信息,项目 信息的输入等。 2教师业务档案管理的各种信息查询,修改和维护。 3操作日志的管理。 4教师业务档案管理系统的使用帮助。 4.24.2 人事管理系统的主要功能人事管理系统的主要功能程序流程图程序流程图 系统操作流程图: 图 5.1 系统操作流程图 系统登录界面 输入操作员及密码 检查 密码正确 功能界面 数据库 系统主界面 功能处理 系统管理 错误信息 密码错误 11 人事管理系统员工各种信息的查询功能流程图如图 5.2 所示: 是 否 否 是 否 是 图 5.2 查询功能流程图 用户 输入查询条件 查询相应信息 信息确定 是否存在重新查询 结束 12 3.删除功能流程图如图 5.3 所示: 是 是 否 否 否 是 图 5.3 删除功能流程图 4.34.3 用户界面与程序设计用户界面与程序设计 1.一般交互设计 一般交互涉及信息显示、数据输入和系统整体控制等方面。 (1)一致性 为客户交互界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的 格式。在设计的过程中,基本上保持了系统的格式一致。 (2)信息的反馈 向用户及时提供视觉和听觉的信息反馈,以保证在用户和系统之间及时地建立双向通信。 在本系统设计过程中,基本做到了信息的及时反馈,在信息显示的大部分窗体中包括了 刷新按钮,会对数据库中的数据进行及时地显示。另外,在进行错误操作是,会弹出提示窗 口并发出警告提示音。 (3)执行有较大影响的操作前提示用户确认 重新删除 管理员 删除信息 确定 结束 删除成功 重新删除 管理员 删除信息 确定 结束 删除成功 重新删除 管理员 删除信息 确定 结束 删除成功 13 在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹 出询问继续操作或者予以提示。 (4)减少两次操作间需要记忆的内容 为了避免用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体 中设置全局变量,来传递数据。 (5)对话、移动和思考的效率 尽量减少用户击键的次数,在设计时考虑到了用户屏幕的布局以减少用户鼠标移动的距 离,尽量避免用户在操作中发生疑问的情况。 (6)允许错误 允许用户的误操作尽量不对系统造成伤害。 (7)按功能对动作分类,并据此设计屏幕布局 屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。 2.信息显示设计 应当尽量为用户提供的界面显示时完整的、明确的和容易理解的。这样才能满足用户的 需求。 (1)只显示与当前用户有关的信息 在用户操作有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。 (2)使用一致的标记、标准的缩写和可预知的颜色 为了使系统所表达的含义准确、无误,就必须适用一致的标记、标准的缩写和可以预知 的缩写,这样用户就无需参照其他信息源就能理解,而正确地适用软件。 (3)产生有意义的错误信息 对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户 保持对系统的信任,和系统的可用性。 (4)使用窗口分隔不同类型的信息 使用不同的窗口显示、保存不同类型的信息。 (5)高效率的使用显示屏 当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕 的大小应该选得和应用系统的类型相配套。 在各个显示数据的窗口中,由于数据窗体项目较多,所以在数据窗体空间中较多的是用 了垂直和水平滚动条,以保证信息的全面正确显示。 14 3.数据输入设计 用户的大部分时间用在选择菜单命令、键入数据和向系统提供输入。在系统中,键盘是 主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作 有如下约定: (1)保持信息显示和数据输入间的一致性 为了方便用户的使用,鼠标应当尽量减少操作的幅度。 (2)保持显示信息和输入信息之间的一致性 对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特征(例如:文字大小、 颜色、位置等)要一致。 对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些项 目受到限制而无法使用,所以要使这些项目不发生作用,以保证系统安全。 15 5.5.系统测试系统测试 5.15.1 测试方法测试方法 软件的测试方法有两种,一种是黑盒测试(功能测试) ,另外一种是白盒测 试(结构测试) 。 白盒测试 在系统的实现过程和程序的调试过程中,遇到很多问题,此时应该对程序仔 细阅读,设置断点,进行白盒测试。 黑盒测试 系统完成后,要进行黑盒测试,即设置一些测试用例,对系统的各个模块的 功能进行测试,看能否得到正确的输出。在这里以管理员的身份登录系统,以便 对系统的各个功能模块进行测试。 5.25.2 测试用例测试用例 登陆测试: 图 5.1 登陆界面 密码错误时: 图 5.2 登陆错误提示界面 16 查询职工表: 图 5.3 查询职工表 职工家庭情况表: 图 5.4 职工家庭情况表 17 6 6、软件使用说明书、软件使用说明书 1、运行环境: Windows xp 操作系统,Visual Studio2005 2、使用方法 在安装了 Visual Studio2005 的系统,点击可执行文件,这样就自动在所使 用的计算机中配置好 ODBC 数据源,并进入登陆界面。可以使用帐号 admin 和密 码 admin 登陆。 登陆测试界面如图 6.1 所示: 图 6.1 登陆界面 密码正确时正确的进入主界面的界面如图 6.2 所示: 图 6.2 主界面 人事档案查询功能测试的界面如图 6.3 所示: 18 图 6.3 人事查询界面 19 总总 结结 在这两周课程设计中,我的课程设计题目是企业人事管理系统。通过该题目的设计过程, 我加深了对 VC+、ACCESS 数据库知识点的理解,对数据库建表的基本操作的实现有所掌握, 对课本中所学的各种数据库结构进一步理解和掌握,学会了如何把学到的知识用于解决实际 问题,锻炼了自己动手的能力,也培养了自己独立思考问题和解决问题的能力。 我的同学在设计过程中为我发现许多错误,也帮我解决了很多问题,在此我衷心的感谢 他们。在以后的学习中我会更加注意各个方面的能力的协调发展。在课程设计时遇到了很多 的问题,在老师的帮助,和对各种资料的查阅中,将问题一个一个的解决了,培养了我自主 动手,独立研究的能力,为今后在学习工作中能更好的发展打下了坚实的基础。 一个人要完成所有的工作是非常困难和耗时的。在以后的学习中我会更加注意各个方面 的能力的协调发展。在课程设计时遇到了很多的问题,在老师的帮助,和对各种资料的查阅 中,将问题解决,培养了我自主动手,独立研究的能力,为今后在学习工作中能更好的发展 打下了坚实的基础。 两周的课程设计很短暂,但其间的内容是很充实的,在其中我学习到了很多平时书本中 无法学到的东西,积累了经验,锻炼了自己分析问题、解决问题的能力,并学会了如何将所 学的各课知识融会、组织、来配合学习,这两周中我收益很大,学到了很多。 20 参考文献参考文献 1张海藩,软件工程导论M.清华大学出版社,2003 年 12 月 2张海藩.软件工程导论学习辅导M.清华大学出版社,2004 年 9 月 3萨师煊,王珊.数据库系统概论M.清华大学出版社,2002 年 2 月 4汪孝宜,刘中兵,徐佳晶等.JSP 数据库开发实例精粹M.电子工业出版社,2005 年 1 月 5陈磊,郭斌,李翔. PowerBuilder 9 数据库项目案例导航,清华大学出版社 6廖疆星,张艳钗,肖金秀.PowerBuilder CString strValue=“0“; CDatabase db; db.Open(_T(“Manager1“); CRecordset recordset( UpdateData(TRUE); /获得统计类型 int nType = m_ctrList.GetSelectionMark(); int i=0; switch(nType) case 0:/按性别统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“性别“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); 23 strSQL=“select count(ID) as num ,sex from person group by sex“; /MessageBox(strSQL); if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“sex“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); /MessageBox(strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 1:/按年龄统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“年龄“); m_ctrResult.InsertColumn(1,“人数“); 24 m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,age from person group by age“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“age“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 2:/按民族统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“民族“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); 25 strSQL=“select count(ID) as num ,folk from person group by folk“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“folk“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 3:/按籍贯统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“籍贯“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,native from person group by native“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) 26 MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“native“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 4:/按职务类别统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“职务“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,duty from person group by duty“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; 27 while(!recordset.IsEOF() recordset.GetFieldValue(“duty“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 5:/按职称类别统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“职称“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,technical from person group by technical“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return; while(!recordset.IsEOF() 28 recordset.GetFieldValue(“technical“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 6:/按文化程度统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“文化程度“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,education from person group by education“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“education“,strValue); 29 m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); recordset.Close(); break; case 7:/按政治面貌统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“政治面貌“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,political from person group by political“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“political“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); 30 i+; recordset.MoveNext(); recordset.Close(); break; case 8:/按所在部门统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“部门“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,dept from person group by dept“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() recordset.GetFieldValue(“dept“,strValue); m_ctrResult.InsertItem(i,strValue); recordset.GetFieldValue(“num“,strValue); m_ctrResult.SetItemText(i,1,strValue); i+; recordset.MoveNext(); 31 recordset.Close(); break; case 9:/按职工类型统计 m_ctrResult.DeleteAllItems(); m_ctrResult.DeleteColumn(1); m_ctrResult.DeleteColumn(0); m_ctrResult.InsertColumn(0,“职工类型“); m_ctrResult.InsertColumn(1,“人数“); m_ctrResult.SetColumnWidth(0,100); m_ctrResult.SetColumnWidth(1,100); strSQL=“select count(ID) as num ,isworker from person group by isworker“; if(!recordset.Open(CRecordset:forwardOnly,strSQL) MessageBox(“打开数据库失败!“,“数据库错误“,MB_OK); return ; while(!recordset.IsEOF() records

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论