OA办公自动化系统详细设计说明书1引言1.1编写目的OA办公自动化系统详细设计是设计的第三个阶段,这个阶段的主要任务是在OA办公自动化系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的部功能,即模块设计。
具体的说,模块设计就是要为已经产生的OA办公自动化各子系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
1.2背景为了能跟上现代社会社会生活中高效率的工作节奏,根据企业需求编写了OA办公自动化系统,以达到提高企业工作效率的目的。
1.3定义SQL Server 2005: 数据库管理软件Vsual Studio 2005: 开发工具OA是OFFICE AUTOMATION的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自动化处理。
采用Internet/Intranet技术,基于工作流的概念,使企业部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据。
一个企业实现办公自动化的程度也是衡量其实现现代化管理的标准。
OA从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对企业办公方式的改变和效率的提高起到了积极的促进作用。
1.4参考资料2程序系统的结构图1 程序系统结构3程序1登录功能设计说明3.1程序描述改程序时OA办公自动化的入口,体现了程序的安全性(1)功能类型:查询数据(2)功能描述:提高系统的安全性(3)前提业务:无(4)后继业务:04(日程管理)(5)功能约束:权限约束(6)操作权限:系统管理员,登录用户。
3.2功能(1)录入项检测使用javascript和后台代码实现(各项必须非空)(2)在Login.aspx.cs中只提交用户名和密码;数据处理:1.登录验证,2.记录登录用户信息3.3性能确保系统能正确运行和进行高效访问。
3.4输入项表1输入项3.5输出项页面能正确的跳转到日程管理模块下的个人便签页面下。
3.6算法1.登录验证UserInfo user;LoginLog log = new LoginLog();erId = txtUserId.Value;log.LoginTime = DateTime.Now;log.LoginUserIp = erHostAddress.ToString();if (this.txtUserId.Value.Trim().Length == 0){this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('用户名不能为空!');</script>");txtUserId.Focus();return;}if (this.txtPassword.Value.Trim().Length == 0){this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('密码不能为空!');</script>");txtPassword.Focus();return;}string login = this.txtUserId.Value.ToString();bool yes = UserInfoManager.IsUserIdExist(login);if (yes){log.LoginDesc = "用户登录失败,用户名或密码不正确。
";log.IfSuccess = 0;LoginLogManager.AddLoginLog(log);this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('用户名或密码不正确!');</script>");}else{this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('您输入的用户名不存在,请重新输入!');</script>");this.txtUserId.Value = "";this.txtUserId.Focus();}2.记录登录用户信息UserInfo user;LoginLog log = new LoginLog();//获取用户登录名erId = txtUserId.Value;//获取登录时间log.LoginTime = DateTime.Now;log.LoginUserIp = erHostAddress.ToString();log.LoginDesc = "用户登录成功";log.IfSuccess = 1;//数据验证成功着将数据传入查询方法进行数据操作LoginLogManager.AddLoginLog(log);//获取当前登录用户Session["CurrentUser"] = user;//判断用户角色进行页面转换if (user.RoleInfo.RoleId == 1){Response.Redirect("~/ManualSign/ManualSign.aspx");}else{Response.Redirect("~/ScheduleManage/PersonNote/PersonNote.aspx");}3.7流程逻辑图2流程逻辑3.8接口本模块式系统的启动模块,他需要用户交互输入用户ID、密码;它调用系统的主控制模块。
3.9存储分配表2用户信息数据表3.10注释设计模块首部的注释:用户验证程序。
对调用函数的注释:调用加密函数MD5.3.11限制条件当系统第一次使用时,具有统一的用户ID和密码;管理员账号和*******。
在三次验证错误后,系统将自动关闭。
3.12测试计划初次安装该系统后,测试初始用户ID和密码能否正确登录到系统;正确登陆后,对用户名和密码进行更改;采用刚修改过的用户ID和密码登陆,应该能够正确登录。
3.13尚未解决的问题暂时还没有发现。
4.程序2主页设计说明4.1程序描述(1)功能类型:查询、添加、修改数据(2)功能描述:按照要求对数据进行查找、添加、修改(3)前提业务:登录用户为系统管理员(4)后继业务:密码修改、重新登录、(5)功能约束:权限约束(6)操作权限:登录用户4.2功能1.重新登录,回转到登录页面进行重新输入数据进行登录;2.修改密码,通过Session获取当前登录用户信息,根据用户信息进行密码修改;3个人便签盒添加便签在日程管理有讲解;4.3性能能进行数据的高效访问4.4输入项表3重新登录和修改密码输入项字段名称长度录入方式是否非空项数据检验默认显示管理员ID 小于12 文本框Y N管理员密码小于12 password Y N注:添加便签和修改便签输入项在日程管理中有说明4.5输出项个人日程信息4.6 流程逻辑1.重新登录图3重新登录2.修改密码图4修改密码注:添加和修改便签在日程管理中有说明;4.7接口图5接口4.8存储分配表4用户信息数据表序号字段名类型长度精度小数位数默认值允许空主键说明1 (UserId)管理员ID varchar 50 √2 (password)管理员密码varchar 503 UserName(登录用户)varchar 504 DepartId(部门ID) int 104.9注释设计1.加在模块首部的注释;2.加在各分枝点处的注释;3.对各变量的功能、围、缺省条件等所加的注释;4.对使用的逻辑所加的注释4.10限制条件修改密码时,需先输入原始的密码,验证正确后方可进行重新设置密码的操作。
4.11测试计划主要对主页设计的几个模块进行测试,用户界面测试:测试对象控件或访问入口正确,符合用户需求;界面风格统一,界面美观,直观。
操作有好,人性化,易操作。
4.12尚未解决的问题在文件中存储文档文件中,不能储存文件名相同,但类型不同的文档可以通过在文件名忠加入文件类型来解决。
但因时间关系,尚未解决。
5程序3日程管理设计说明5.1程序描述(1)功能类型:查看、添加、修改、删除数据(2)功能描述:按照要求对数据进行查查看、添加、修改并删除(3)前提业务:登录用户为系统管理员(4)后继业务:031(我的日程)032(部门日程)033(我的便签)(5)功能约束:权限约束(6)操作权限:系统管理员、一般登录用户,5.2功能1.利用树形控件加载出功能页面的2.在我的日程子模块中添加日程是在时间列表控件中点击进行跳转5.3性能确保系统能高效的进行数据访问5.4输入项表5添加我的日程安排5.5输出项查看:显示数据库中存在的数据删除:显示删除后数据库中存在的数据添加:将数据天津啊进入数据库在显示添加后的数据信息修改:对数据库中原本存在的某条数据进行修改后在进行展示5.6算法HyperLink link = new HyperLink();link.ImageUrl = "~/images/add_Schedule.gif";link.ToolTip = "新增个人日程";link.NavigateUrl = "SaveMySchedule.aspx?userid=" + erId + "&today=" + day.Date.ToShortDateString();tc.Controls.Add(link);5.7流程逻辑1.部门日程图6部门日程2.我的日程图7我的日程3.我的便签图8我的便签5.8接口图9接口5.9存储分配表8日程信息表5.10注释设计1.加在模块首部的注释;2.加在各分枝点处的注释;3.对各变量的功能、围、缺省条件等所加的注释;4.对使用的逻辑所加的注释5.11限制条件在界面上控制输入输出,服务器端如果出错也会也会返回出错信息5.12测试计划对日程设计进行项目跟踪测试,对输入信息和输出信息进行对比,找出其中可能出现的异常,对此进行改善。