1、6.2功能 176.3性能 186.4输入项 186.5输出项 186.6算法 196.7流程逻辑 226.8接口 246.9存储分配 246.10注释设计 256.11限制条件 256.12测试计划 266.13尚未解决的问题 26详细设计说明书1引言1.1编写目的OA办公自动化系统详细设计是设计的第三个阶段,这个阶段的主要任务是在 0A办公自动化系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能 模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、 模块功能和模块间的联系等。详细
2、设计则要解决如何实现各个模块的内部功能,即模块设 计。具体的说,模块设计就是要为已经产生的 0A办公自动化各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样 编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言 书写的程序。1.2背景为了能跟上现代社会社会生活中高效率的工作节奏,根据企业需求编写了 0A办公自动化系统,以达到提高企业工作效率的目的。1.3定义SQL Server 2005:数据库管理软件Vsual Studio 2005:开发工具0A是 OFFICE AUTOMATIO的缩写,本意为利用技术的手段提高
3、办公的效率,进而实现 办公的自动化处理。采用 In ternet/I ntranet 技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、 全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据。一个企业实现办公 自动化的程度也是衡量其实现现代化管理的标准。 OA从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对企业办公 方式的改变和效率的提高起到了积极的促进作用。MyOffice1.4参考资料概要设计说明书项目需求分析数据库设计说明书2程序系统的结构图1程序系统结构3程
4、序1登录功能设计说明3.1程序描述改程序时0A办公自动化的入口,体现了程序的安全性(1)功能类型:查询数据(2 )功能描述:提高系统的安全性(3) 前提业务:无(4) 后继业务:04 (日程管理)(5) 功能约束:权限约束(6 )操作权限:系统管理员,登录用户。3.2功能(1 )录入项检测使用javascript 和后台代码实现(各项必须非空)(2)在Login.aspx.cs 中只提交用户名和密码;数据处理:1.登录验证,2.记录登录用户信息3.3性能确保系统能正确运行和进行高效访问。3.4输入项表i输入项字段名称长度录入方式是否非空项数据检验默认显示管理员id小于12文本框YN管理员密码P
5、assword3.5输出项页面能正确的跳转到日程管理模块下的个人便签页面下。3.6算法1登录验证Userinfo user;LoginLog log = new LoginLog();log.Userid =txtUserld.Value;log.LoginTime = DateTime.Now;log.LoginUserip = Request.UserHostAddress.ToString();if (this.txtUserld.Value.Trim().Length = 0)this.Page.ClientScript.RegisterStartupScript(this.GetTy
6、pe(), , alert( 用户名不能为空!);v/scripttxtUserld.Focus();return;if (this.txtPassword.Value.Trim().Length = 0)alert(密码不能为空! /scripttxtPassword.Focus();string login = this.txtUserld.Value.ToString();bool yes = UserlnfoManager.lsUserldExist(login);if (yes)log.LoginDesc =用户登录失败,用户名或密码不正确。logfSuccess = 0;Login
7、LogManager.AddLoginLog(log);alert( 用户名或密码 不正确!else您输入的用户 名不存在,请重新输入!this.txtUserld.Value =;this.txtUserld.Focus();2记录登录用户信息UserInfo user;/获取用户登录名log.UserId =txtUserld.Value;/获取登录时间log.LoginUserIp = Request.UserHostAddress.ToString();用户登录成功logfSuccess = 1;/数据验证成功着将数据传入查询方法进行数据操作获取当前登录用户SessionCurrent
8、User = user;/判断用户角色进行页面转换if (user.Rolelnfo.Roleld = 1)Response.Redirect(/ManualSign/ManualSign.aspx/ScheduleManage/PersonNote/PersonNote.aspx3.7流程逻辑图2流程逻辑3.8 接口本模块式系统的启动模块,他需要用户交互输入用户 ID、密码;它调用系统的主控制模块。3.9存储分配表2用户信息数据表序号字段名类型长度精度小数位数默认值允许空主键说明1(Userid)管理员 IDvarchar50V2(password)管理员密码4UserName(登录用户姓名
9、)DepartId(部门 ID)int105Gender(性别)6Roleld(角色 ID)7UserStateld(状态ID)3.10注释设计模块首部的注释:用户验证程序。对调用函数的注释:调用加密函数 MD5.3.11限制条件当系统第一次使用时,具有统一的用户 ID和密码;管理员账号和* 。在三次验证错误后,系统将自动关闭。3.12测试计划初次安装该系统后,测试初始用户 ID和密码能否正确登录到系统;正确登陆后,对用户名和密码进行更改;采用刚修改过的用户 ID和密码登陆,应该能够正确登录。3.13尚未解决的问题暂时还没有发现。4.程序2主页设计说明4.1程序描述(1)功能类型查询、添加、修
10、改数据(2 )功能描述按照要求对数据进行查找、添加、修改(3 )前提业务登录用户为系统管理员(4 )后继业务密码修改、重新登录、(5 )功能约束(6 )操作权限登录用户4.2功能1.重新登录,回转到登录页面进行重新输入数据进行登录;2.修改密码,通过 Session获取当前登录用户信息,根据用户信息进行密码修改; 3个人便签盒添加便签在日程管理有讲解;4.3性能能进行数据的高效访问4.4输入项表3重新登录和修改密码输入项管理员IDpassword注:添加便签和修改便签输入项在日程管理中有说明4.5输出项个人日程信息4.6流程逻辑1重新登录三工置图3重新登录2修改密码添加和修改便签在日程管理中有
11、说明;4.7 接口图5接口4.8存储分配表4用户信息数据表34.9注释设计1加在模块首部的注释;2加在各分枝点处的注释;3对各变量的功能、范围、缺省条件等所加的注释;4对使用的逻辑所加的注释4.10限制条件修改密码时,需先输入原始的密码,验证正确后方可进行重新设置密码的操作。4.11测试计划主要对主页设计的几个模块进行测试,用户界面测试:测试对象控件或访问入口正确, 符合用户需求;界面风格统一,界面美观,直观。操作有好,人性化,易操作。4.12尚未解决的问题在文件中存储文档文件中,不能储存文件名相同,但类型不同的文档可以通过在文件 名忠加入文件类型来解决。但因时间关系,尚未解决。5程序3日程管
12、理设计说明5.1程序描述(1) 功能类型:查看、添加、修改、删除数据(2) 功能描述:按照要求对数据进行查查看、添加、修改并删除031 (我的日程)032 (部门日程)033 (我的便签)系统管理员、一般登录用户,5.2功能1利用树形控件加载出功能页面的链接2在我的日程子模块中添加日程是在时间列表控件中点击链接进行跳转5.3性能确保系统能高效的进行数据访问5.4输入项表5添加我的日程安排我的日程主题预约地点开始时间结束时间日程内容预约对象树形控件是否公开复选框表6添加便签便签标题便签内容表7查询部门日程长度机构名称下拉列表部门名称姓名时间5.5输出项查看:显示数据库中存在的数据删除:显示删除后
13、数据库中存在的数据添加:将数据天津啊进入数据库在显示添加后的数据信息修改:对数据库中原本存在的某条数据进行修改后在进行展示5.6算法HyperLink link = new HyperLink();linkm ageUrl =/images/add_Schedule.giflink.ToolTip =新增个人日程link.NavigateUrl = SaveMySchedule.aspx?userid=+ user.Userld+ &today= + day.Date.ToShortDateString();tc.Controls.Add(link);5.7流程逻辑1部门日程图6部门日程2我的
14、日程图7我的日程3我的便签图8我的便签5.8 接口部门日程日程管理(登录関户)我的日趕我的便签图9接口5.9存储分配表8日程信息表Scheduleld(日程IntTitle(标题)Address(预约地点)Meetingld(会议BeginTime(开始时 间)datetimeEndTime(结束时间)SchContent(日程 内容)5008CreateUser(创建用户)9CreateTime(创建 时间)IfPrivate (是否公开)是5.10注释设计5.11限制条件在界面上控制输入输出,服务器端如果出错也会也会返回出错信息5.12测试计划对日程设计进行项目跟踪测试,对输入信息和输出信
15、息进行对比,找出其中可能出现 的异常,对此进行改善。5.13尚未解决的问题暂时还没有发现6程序4系统管理设计说明6.1程序描述051角色管理052登陆日志053操作日志054菜单排序5)功能约束:(6)操作权限:系统管理员6.2功能图10功能图组织机构部门设置、用户管理、流程管理、表单管理、公文模版管理、角色管理、系 统设置、系统日志、数据备份和恢复管理6.3性能系统能高效的进行数据访问和各项操作的更改6.4输入项表9输入功能图角色名称角色描述人事管理机构信息部门信息员工管理日程管理我的日程个人便签消息传递消息管理信箱系统管理角色管理登录日志操作日志菜单排序6.5输出项角色管理:输出角色信息;
16、登录日志:输出相应时间内的登录日志操作日志:输出相应时间内的操作日志菜单排序:输出通过上下移动后的树形菜单排序情况6.6算法1分配角色权限中关于复选框选择的问题,怎样处理好选择一个模块时选择其下的子模块 而不选中其他模块的子模块,需要使用用户自定义控件来完成,在后台代码显示方法中这 样写得到所有父级点信息IList sysFuns = SysFunManager.GetAIIParentNodelnfo();/根据父节点得到对应子节点生成用户控件,然后循环插入到 PlaceHolder容器中foreach (SysFun sysFun in sysFuns)得到父节点Idstring node
17、Id =sysFun.Nodeld.ToString();得到父节点名称string displayName = sysFun.DisplayName;/实例化用户控件SysManage_RoleManage_WebUserControl roleCotrol =(SysManage_RoleManage_WebUserControl)LoadControl(RoleUserControl.ascx 实例化隐藏区域,用以存父节点 IdHtmlInputHidden hidParentMeu = (HtmllnputHidden)roleCotrol.FindControl(hidParentM
18、enu hidParentMeu.Value = nodeId;实例化隐藏区域,用以存储角色 IdHtmlInputHidden hidRoleId = (HtmllnputHidden)roleCotrol.FindControl(hidRoleld hidRoleId.Value = roleId.ToString();/实例化用户控件中的 CheckBoxCheckBox chkParentMenu = (CheckBox)roleCotrol.FindControl(chkParentMenu显示父菜单名称chkParentMenu.Text = displayName;if (arr
19、RoleParentNodes.Contains(nodeld)chkParentMenu.Checked = true;/把父节点生成的用户控件追加打破 PlaceHolder容器中phRoleDistribute.Controls.Add(roleCotrol);2查看登录日志和操作日志时,开始时间和结束时间的获取使用 javascript代码来实现function fillstring(str)if(str.length=1)return(str);function quickseldate(type)var begintime,endtime;var oneminute = 60*10
20、00;var onehour = 60*oneminute;var oneday = 24*onehour;var oneweek = 7*oneday;var todayDate = new Date();var date = todayDate.getDate();var month= todayDate.getMonth() +1;var year= todayDate.getYear();var day = todayDate.getDay();if(navigator.appName = Netscape)year= 1900 + year;/-if(type=daybegintime = year.toString() + - + fillstring(month.toString() + + fillstring(date.toString();endtime = begintime;else
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1