第一篇:详细设计文档
详细设计文档
文档编号 V1.0 版本 密级
研发生产中心 项目名称 报表审批发布功能 项目来源
报表审批发布功能 详细设计说明书
2011-03-26 编 写: 范屹 日 期: 检 查: 日 期: 审 核: 日 期: 批 准: 日 期: 版权所有 不得复制 文档变更记录
序号 变更(+/-)说明 作者 版本号 日期 批准 1 新建文档 范屹 V1.0 2011-03-26 2 目 录 1.引言..............................................................................................................................................4 1.1 编写目的和范围................................................................................................................4 1.2 术语表................................................................................................................................4 1.3 使用的文字处理和绘图工具............................................................................................4 1.4 定义....................................................................................................................................4 1.5 BI系统总体架构(基于已有的BI系统上进行开发)..................................................4 2.模块设计......................................................................................................................................6 2.1 用例图................................................................................................................................6 2.2 功能设计说明....................................................................................................................8 3.数据库设计................................................................................................................................30......................................................................................................30 3.1 表................................3.2 视图..................................................................................................................................32 4.系统出错处理............................................................................................................................34 1.引言
1.1 编写目的和范围
企业内部的各类报表指标为是需要上报给上级领导进行查看,企业的掌舵者对企业将来发展的决策都是根据这些报表指标来进行的,尤其是企业内部的财务和资金数据更不能有一丝一毫的偏差。因此这些指标数据如果发生错误,将会对企业将来的发展造成很大影响,所
以对于此类数据,需要通过层层审批、确认正确后才能进行展示。本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。1.2 术语表
序号 术语或缩略语 说明性定义 1 DW 数据仓库(Data Warehouse)2 BI 商业智能(Business Intelligence)1.3 使用的文字处理和绘图工具 文字处理软件:WPS Office 2010 绘图工具:Visio 1.4 定义
AJAX:AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并
Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开非缩写词,而是由
发技术。
1.5 BI系统总体架构(个人对BI系统理解)
2.模块设计 2.1 用例图
2.2 报表指标管理处理流程图
2.3 审核操作处理流程图
2.4 功能设计说明 用例名称:查看报表模块 用例标识号:101 参与者:操作人员 简要说明: 操作人员在相关主题树状菜单中选择需要查看的报表 前置条件: 操作人员已经成功登录M1BI系统。基本事件流: 1(操作人员鼠标点击某主题树形菜单中的报表
2(如果报表审核能过,则可以正常显示
3(如果报表未能被审核能过,则不会显示报表,且显示提示信息
4(用例终止 其他事件流A1: 异常事件流: 后置条件: 操作人员可以查看所需要的报表 主要程序代码清单: 清单1:是否有特权可以访问报表
private boolean isExtraPrivilege(TreeNode node,TDmGyUser User)throws Exception{ //获取报表负责人所在的单位 因为不通过报表数据的维度来看这个问题而是通过报表对象来看这个问题
String gnDm = this.pzgl.getReportUserOrg(node.getNodeid());//取出当前登录用户所在的组织和节点信息
UserOrgMapping mapping = this.pzgl.getOrgMappingByUser(User.getMc());if(mapping!= null){ //如果当前 的登录用户是报表负责人的上级,则也可以 查看此报表 if(isMyBoss(mapping.getGnDm(),gnDm)){ return true;}else{ //如果当前查看用户(或者 是登录用户)已经被授过权了,则也能查看些报表 List
public boolean canDisplayReport(TreeNode node)throws Exception{ int count = 0;//判断当前报表是下属子公司 是否都 已经审核发布完成 count = this.pzgl.countNotPubAudit(node.getNodeid());if(count > 0){ return false;}else{ //判断当前报表是否存在一个指标,此指标也同时存在于其它未发布的报表中的
count = this.pzgl.countNotPubWithIndex(node.getNodeid());if(count > 0){ return false;}else{ //判断是否当前报表中的指标是否都被审核过了
count = this.pzgl.countReportNotAudit(node.getNodeid());if(count > 0){ return false;}else{ //判断当前报表中是否还有没有审核通过的指标
count = this.pzgl.countReportIndexNotAudit(node.getNodeid());if(count > 0){ return false;}else{ return true;} } } } } 清单3:通过回逆的方法,判断当前登录用户是不是报表创建者的组织的上级 如果是就返回true,如果不是就返回false public boolean isMyBoss(String my,String comparator)throws Exception{ OrgInfo info = this.pzgl.getOrgInfo(comparator);if(my.trim().equals(info.getSjgnDm().trim())){ return true;}else{ if(“0”.equals(info.getSjgnDm().trim())){ return false;}else{ return isMyBoss(my,info.getSjgnDm());} } } 用例名称:报表展现页面审核操作 用例标识号:102 参与者:操作人员 简要说明: 在报表展现页面内提供页面的审核操作
由于目前存在上级公司可以查看下级公司的未审核通过的报表,或者授过权的用户也可以直接查看未经审核的报表。
前置条件: 操作人员已经成功登录M1BI系统。
查看的报表,报表本身及内部指标必须经过审核
如果未能通过审核,当且仅当登录用户必须属于上级公司人员或者已授权用户才能正常访问报表
基本事件流: 1(如果是已经发布的报表,可以点击报表顶部的反发布按钮
2(点击“反发布”按钮后,则报表进入待审核状态,则报表顶部会出现当然的报表状态,以及“审核”,“打回”二个操作按钮
3(当点击“审核”操作按钮,则报表状态变更为已审核,则会出现“发布”及“反审核”操作按钮
4(点击“反审核”后,报表状态变更为待审核状态,页面可参照第2步骤
5、点击“发布”按钮后,报表状态变更为发布状态,页面可参照第1步骤
6、接第2步骤,如果点击“打回”操作按钮,则报表状态变更为未审核状态,页面会出现“审核”操作按钮
其他事件流A1: 状态变更图:
后置条件: 如果进行报表展现页面审核操作后
如果报表状态为发布,则操作人员可以正常访问报表
如果未能通过审核,当且仅当登录用户必须属于上级公司人员或者已授权用户才能查看报表,反之不能正常访问报表 主要程序代码清单: 清单1:AJAX调用的js方法,处理页面展现时的审核操作 function handlerAudit(userid,nodeid,operation){ //alert(operation);var returnValue = xmlhttpsend(“${appPath}/changeAuditStatus.action”,“&NodeID=” + nodeid + “&operation=” + operation);var str = “";var buttonStr = ”“;if(returnValue!=null && returnValue!=”“){ if(returnValue == ”1“){ str += ”未审批“;buttonStr += ”
onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','audit');” />“;}else if(returnValue == ”2“){ str += ”待审批“;buttonStr += ”
onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','tbd');” />“;buttonStr += ”
onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','audit');” />“;}else if(returnValue == ”3“){ str += ”已审批“;buttonStr += ”
onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','publish');” />“;buttonStr += ”
核 onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','reverseAudit');” />“;}else if(returnValue == ”4“){ str += ”已发布“;buttonStr += ”
布 onclick=“javascript:handlerAudit('” + userid + “','” + nodeid + “','reversePublish');” />“;}else{ str += ”审批 操作有误“;} document.getElementById(”ajaxHandlerResult“).innerHTML = str;document.getElementById(”ajaxTakeIn“).innerHTML = buttonStr;} 清单2:报表审核状态的枚举类 public enum ReportAuditStatus { NOAUDIT(”1“),//未审核 WAITAUDIT(”2“),//待审核 AUDITED(”3“),//审核过 PUBLISHED(”4“);//发布 private String value;private ReportAuditStatus(String value){ this.value = value;} public String getValue(){ return value;} } 用例名称:报表数据组织检索(审核管理)用例标识号:103 参与者:操作人员 简要说明: 每个报表下面存在着多个不同的数据组织,我们需要根据状态及数据组织名称(也就是公司
名称)进行检查 前置条件: 操作人员已经成功登录M1BI系统,且必须有审核管理权限 基本事件流: 1(点击“系统管理”下面的“审核管理”菜单项
2(然后选择右边的树状菜单项中的具体报表
3(在右边的查询页面,选则过滤条件,然后点击查询按钮,然后会出现查询结果。查询字段
中会出现“审批公司”,“状态”信息项以及操作铵钮s
4(用例终止 其他事件流A1: 异常事件流: 后置条件: 操作人员可以查看所需要的报表数据组织 主要程序代码清单: 清单1:审核管理页面查询
public String shglQuery()throws Exception{ //公共属性 start ActionContext ctx = ActionContext.getContext();HttpServletRequest request =(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);HttpSession session = request.getSession();TDmGyUser users =(TDmGyUser)session.getAttribute(USER);HttpServletResponse response =(HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);//end //审核状态 String status=request.getParameter(”status“);//报表中文名称
String Text=request.getParameter(”Text“);//审核公司名称
String company=request.getParameter(”company“);//报表节点ID String NodeID=request.getParameter(”NodeID“);//如果报表节点ID不存在,则直接返回 if(StringUtils.isBlank(NodeID)){ return ”“;} List list = pzgl.getAuditUnit(NodeID, status, company);if(list!= null &&!list.isEmpty()){ UserOrgMapping mapping = this.pzgl.getOrgMappingByUser(users.getMc());for(int index=0;index 集团数据当前状态为未审核。 2(如果点击通过按钮后,则页面相应变更,而且查询结果会聚集到物产集团数据上,方便操 作人员查看 3(如果点击发布操作按钮,则页面变更为 4(具体操作可以参照用例202.5、用例结束 其他事件流A1: 异常事件流: 后置条件: 主要程序代码清单: 清单1:是否有特权可以访问报表 public void getAjaxInfo()throws Exception{ //公共属性 start ActionContext ctx = ActionContext.getContext();HttpServletRequest request =(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);HttpServletResponse response =(HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);//end String appPath=(String)request.getSession().getAttribute(”appPath“);if(appPath==null){ appPath=”/M1BI“;} response.setCharacterEncoding(”utf-8“);response.setContentType(”text/xml“);response.setHeader(”Cache-Control“, ”no-cache“);TDmGyUser User=(TDmGyUser)request.getSession().getAttribute(”USER“);String userid=User.getMc();//获取USERID PrintWriter out = null;String nodeId = request.getParameter(”NodeID“);try { UserOrgMapping mapping = this.pzgl.getOrgMappingByUser(userid);StringBuffer sb = new StringBuffer(”“);String status = this.pzgl.getOrgCurrentAuditStatus(mapping.getOrgMc(), nodeId);if(ReportAuditStatus.NOAUDIT.getValue().equals(status)){ sb.append(”“);}else if(ReportAuditStatus.WAITAUDIT.getValue().equals(status)){ sb.append(”“);sb.append(”“);}else if(ReportAuditStatus.AUDITED.getValue().equals(status)){ sb.append(”“);sb.append(” onclick=“javascript:handlerAudit('” + userid + “','” + nodeId + “','reverseAudit');” />“);}else if(ReportAuditStatus.PUBLISHED.getValue().equals(status)){ sb.append(” onclick=“javascript:handlerAudit('” + userid + “','” + nodeId + “','reversePublish');” />“);}else{ sb.append(”“);} out = response.getWriter();out.write(sb.toString());out.close();} catch(Exception e){ LogWritter.sysDebug(e.getMessage());} } 用例名称:查询报表指标 用例标识号:105 参与者:操作人员 简要说明: 操作人员可以查看相关报表的所包含指标 前置条件: 操作人员已经成功登录M1BI系统,且拥有指标管理的权限 基本事件流: 1(操作人员鼠标点击系统管理下面的指标管理 2(然后选择右边的树状菜单项中的具体报表 3(然后就会显示此报表所包含指标 4(用例终止 其他事件流A1: 异常事件流: 后置条件: 操作人员可以从指标字典中引用指标,并审核指标状态 用例名称:报表指标引用指标设置 用例标识号:106 参与者:操作人员 简要说明: 操作人员在指标管理页面中引用指标字典中的指标。并对报表中的指标进行审核。 前置条件: 操作人员已经成功登录M1BI系统,且有指标管理的权限 基本事件流: 1(接用例205,点击指标引用操作的修改按钮 2(报表选择窗口中,操作人员可以在输入框中进行指标名称的模糊查询。 3(选择你所需要的指标项后,点击选择按钮,引用指标就显示刚刚选择的指标了 4(如果指标项没有被审核通过,则会显示未通过审核,并能进行审核操作 5(如果报表其中有没有审核通过的指标,则报表是不能被正常访问,操作人员可以点击审核 按钮来审核此指标 5(用例结束 其他事件流A1: 异常事件流: 后置条件: 主要程序代码清单: 清单1:报表指标管理方法 public void indexManage()throws Exception{ ActionContext ctx = ActionContext.getContext();HttpServletRequest request =(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);HttpServletResponse response =(HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);//end String appPath=(String)request.getSession().getAttribute(”appPath“);if(appPath==null){ appPath=”/M1BI“;} response.setCharacterEncoding(”utf-8“);response.setContentType(”text/xml“);response.setHeader(”Cache-Control“, ”no-cache“);TDmGyUser User=(TDmGyUser)request.getSession().getAttribute(”USER“);String userid=User.getMc();//获取USERID PrintWriter out = null;String likeStr = request.getParameter(”likeStr“);StringBuffer sb = new StringBuffer(”“);try { List 用操作 T_XT_REPORT_JG 数据表名称 中文名 报表机构数据审核表 RPT_DM 关键字段 索引字段 设计者 范屹 简要说明 描述报表中机构数据审核情况 表关联 字段名称 中文名 类型 长度 允许null 说明 报表的功能代RPT_DM 报表代码 字符型 码 JG 机构名称 字符型 报表机构名称 机构数据审核机构数据审核STATUS 字符型 null 状态 状态 JG_DM 机构代码 字符型 null 报表机构代码 T_XT_REPORT_GRANT 数据表名称 中文名 报表授权表 NODEID 关键字段 索引字段 设计者 范屹 简要说明 描述报表查看权限被授于相关人员 表关联 字段名称 中文名 类型 长度 允许null 说明 NODEID 节点标识 字符型 报表节点功能id 被授权查看此USERMC 人员名称 字符型 报表的用户名 称 T_XT_REPORT_INDEX 数据表名称 中文名 报表指标表 RPT_DM 关键字段 索引字段 设计者 范屹 简要说明 描述报表中包含了哪些商业指标 表关联 字段名称 中文名 类型 长度 允许null 说明 报表的功能代RPT_DM 报表代码 字符型 码 报表的指标代IMDEX_DM 指标代码 字符型 码 INDEX_DESC 指标描述 字符型 null 指标描述 REF_RPT 指标状态 字符型 null 指标审核状态 报表的指标字REF_INDEX 外部引用指标 字符型 null 典引用外码 REF_INDEX_DESC 外部指标描述 字符型 null 外部指标描述 T_XT_REPORT_CREATOR 数据表名称 中文名 报表创建人关系表 NODEID 关键字段 索引字段 设计者 范屹 简要说明 提供报表与创建人(归属者)的关系维护 表关联 字段名称 中文名 类型 长度 允许null 说明 NODEID 节点标识 字符型 报表节点功能id 报表所属人或CREATOR 创建人 字符型 者报表创建人 3.2 视图 T_USER_ORG_MAPPING 数据表名称 中文名 人员组织对应表 USER_ID 关键字段 索引字段 设计者 简要说明 描述人员与组织的一一对应关系 表关联 字段名称 中文名 类型 长度 允许null 说明 USER_ID 用户标识 字符型 用户标识 USER_MC 用户名称 字符型 用户名称 USER_NAME 用户姓名 字符型 用户姓名 JS_DM 角色代码 字符型 角色代码 JS_MC 角色名称 字符型 角色名称 GN_DM 功能代码 字符型 功能代码 ORG_MC 组织名称 字符型 组织名称 ORG_ID 组织标识 字符型 组织标识 CODETYPE 代码类型 字符型 代码类型 T_USER_ORG_MAPPING视图代码 CREATE OR REPLACE VIEW T_USER_ORG_MAPPING(user_id, user_mc, user_name, js_dm, js_mc, gn_dm, org_mc, org_id, codetype)AS SELECT F, G, H, D, E, A, B, O, CT FROM(SELECT DISTINCT T1.GN_DM A, T1.MC B, T1.SJGN_DM C, T1.CODETYPE CT, T1.ORGID O, T3.JS_DM D, T3.MC E, T6.USER_DM F, T6.MC G, T6.USER_NAME H FROM T_XT_GNS T1, T_XT_JS_GNS T2, T_XT_JS T3, T_XT_USER_JGGW T5, T_DM_GY_USER T6, T_XT_JS_GW T7 WHERE T1.GN_DM = T2.GN_DM AND T2.JS_DM = T3.JS_DM AND T1.CODETYPE = '1'--以人力树为模板--AND T1.CODETYPE!= '0'--考虑多组织结构树情况 AND T3.JSLX!= '0'--查找数据级角色 AND T7.JS_DM = T2.JS_DM AND T7.JS_DM = T3.JS_DM AND T7.GW_DM = T5.GW_DM AND T5.SWRY_DM = T6.USER_DM)A1 WHERE NOT EXISTS(SELECT 1 FROM(SELECT DISTINCT T1.GN_DM, T1.MC, T1.SJGN_DM, T3.JS_DM, T3.MC, T6.USER_DM, T6.MC, T6.USER_NAME FROM T_XT_GNS T1, T_XT_JS_GNS T2, T_XT_JS T3, T_XT_USER_JGGW T5, T_DM_GY_USER T6, T_XT_JS_GW T7 WHERE T1.GN_DM = T2.GN_DM AND T2.JS_DM = T3.JS_DM AND T1.CODETYPE = '1'--以人力树为模板--AND T1.CODETYPE!='0'--考虑多组织结构树情况 AND T3.JSLX!= '0'--查找数据级角色 AND T7.JS_DM = T2.JS_DM AND T7.JS_DM = T3.JS_DM AND T7.GW_DM = T5.GW_DM AND T5.SWRY_DM = T6.USER_DM)A2 WHERE A2.GN_DM = A1.C AND A2.USER_DM = A1.F)UNION SELECT 'administrator','administrator','BOE管理员','2891','系统管理员-数据角色 ','51000034','物产集团','10000000','1' FROM DUAL 4.系统出错处理 通过log4j,进行错误日志输出 配置代码如下: log4j.rootLogger=info, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c]-%m%n 5.与原有需求的区别 需求 原有需求 目前实现 原因 开发工期短,如有实 现报表数据层面上的操作对象 报表数据及指标 报表及指标 操作需要重构系统,开发工作量极大 由于目前实现的部门 在不同的主题间是相报表查看权限是否同需要在不同的主题间只在驾驶舱中实现审通的,所以只需求实主题 对报表进行审核查看 核查看 现一个主题就可以说 明问题 报表查看权限是否同需求区别组织是否为没有引入是否为上市开发工作量的问题 上市公司 上市公司 公司这个概念 通讯录管理系统 详细设计说明书 组员: 1210431107 孟磊(项目组长)1210431119 张静 1210431039 左依婷 1210431041 王庆喜 1210431075 杨江峰 12级计算机软件一班 目录 1.引言 1.1编写目的 1.2 背景 1.3 定义 1.4 参考材料 2.程序系统的结构 2.1 运行环境 2.2 系统组织结构 3.程序主要模块设计说明 3.1 程序描述 3.2 主要功能模块设计 3.3 性能 3.4 输入输出 3.5 算法 3.6 流程逻辑 3.7 接口 3.8 存储分配 3.9 注释设计 3.10 测试设计 3.11 限制条件 3.12 尚未解决的问题 1引言 1.1编写目的 本文档将对通讯录系统软件开发的详细设计进行描述,本文档的读者是项目策划、设计和评审人员。 1.2背景 本项目作为《软件文档写作》课程的训练项目提出,将学生分成若干项目开发小组进行管理。希望学生通过通讯录系统软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高学生使用Java开发应用程序的能力。 本项目的名称:通讯录管理系统 本项目的提出者:指导老师 本项目的开发者:本小组 项目需求方:日常管理 用户:管理员 1.3定义 通讯录管理系统名称 1.4参考资料 《开发要求说明》. 《软件需求说明书》。《概要设计说明书》。 2程序系统的结构 2.1运行环境 (1)设备 硬件最低要求:CPU PⅢ 以上PC服务器,内存32MB以上,硬盘15MB以上。 (2)支持软件 操作系统:Windows 98,Windows NT、Windows 2000、Windows XP,Windows Server 2003等能 3程序主要模块设计说明 3.1 程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。 3.2 主要功能模块设计 (1)打开通讯录系统显示欢迎界面: 具体实现函数 (2)菜单处理函数管理程序的用户界面操作,用户通过提示选择想要进行的操作:具体实现函数 (3)本模块主要完成对已有输入的通讯信息进行显示浏览,浏览同时可以进行修改、删除等操作。 (4)在通讯录查询模块中,用户可以通过查询尽快找到希望查找的联系人,查询支持模糊查询,可以匹配多个字段;给出查询记录的信息;如果查询的信息不存在,输出提示信息。 (5)根据系统的输入要求添加各项信息,每次可以添加一个或多个新的记录,新增的记录可以不存入原文件中,也可以指定文件追加内容;能给出新添加记录的信息;添加后提示添加是否成功。 (6)根据特定信息选择所要删除的对象 (7)修改记录:具体实现函数 保存记录:具体函数实现 读取记录:具体实现函数 清空当前记录:具体实现函数 3.3 性能 满足个人使用的需求(记录量控制在1000项内)。对前面提到的运行环境要求不应存困难。本软件采用可视化界面,用户通过单击界面上的相关按钮就可以完成各项操作。一般操作的响应时间应在1~2秒内,对软磁盘和打印机的操作也应在可接受的时间内完成。查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常的ISCDS规模在几十到几百项记录,以查全率为标准所带来的对查准率的影响并不大。 3.4 输人输出项 数据名称:联系人姓名、联系人邮箱、联系人电话 数据类型:char,数据格式:例Lily,Note@gm.com,123321; 3.5 算法 本程序没有采取特殊的算法 3.6 流程逻辑 用户(1)浏览功能(2)查询信息用户登录是否是管理员Y进入管理员管理N权限级别根据级别不同提供给不同的服务 该流程图表示通讯录系统的逻辑流程,用户可以直接浏览和查询通讯录简单信息,也可以先登录,如果是管理员则具有管理权限,可进入管理员的管理页面;如果不是管理员,则判断用户权限级别,根据用户的权限级别提供不同的服务。 3.7 接口 部分用户接口视图 3.8 存储分配 无特殊要求 3.9 注释设计 ①加在程序单元首部,说明本程序的作用。②对程序中的变量代表的意思、范围进行注释。③对程序中的函数或过程所起的作用进行注释。具体注释见类图部分。 3.10 测试计划 (1)界面测试 主要包括以下几个方面内容: a.页面在窗口中的现实是否正确,美观(在调整浏览器窗口大小时,屏幕刷新是否正确,表样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等,连接的形式,位置是否易于理解等。 b.站定地图和导航条位置是否合理,是否可以导航,是否覅和用户要求。 c.页面元素基本功能是否实现,容错性是否存在,页面元素外形,是否现实正确。 测试技术:结合兼容性测试对不同分辨率下页面现实效果,如果有影响则提出解决方案,可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性。 (2)功能测试 测试分为白盒测试和黑盒测试。 白盒测试是指跟踪代码以人工检查追踪的方式查找BUG。 黑盒测试是指使用者对代码不可见,直接使用系统,把出现的异常记录下来,整理成测试报告,主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,考虑正确性,可用性,边界条件,性能,压力测试。多用户情况考虑压力测试工具,建议压力和性能结合起来进行,可以查看CPU使用率,内存占用情况,还可以模拟大量数据输入,对硬盘的影响等信息。其中压力测试包括错误恢复错误处理,页面数据验证,包括突然间断电,输入脏数据等。兼容性,不同浏览器,不同应用程序版本在实现功能时的表现,不同的上网方式。 本系统在最后阶段经过了测试,主要是黑盒测试,由于系统模块并不十分复杂,在继承测试的过程中出现的问题并不多,相对而言比较顺利。 3.11 限制条件 说明本程序运行中所受到的限制条件。 3.12 尚未解决的问题 人机界面设计,系统安全性验证用户界面设计,登录窗口是用户进入系统的第一个界面,也是进入系统的首道“关卡”。因此,简洁、友好、清晰醒目是设计时要考虑的风格。及系统主模块与数据库的很好连接,是尚未解决的问题。 《夹竹桃》详细教学设计 江苏省泰州市海军小学 陈冬安 邮编:225325 联系电话:*** 教学过程: 一、引导谈话,揭示课题。同学们,今天这节课,我们继续来学习季羡林先生给我们带来的一篇优美散文——《夹竹桃》。(板书:夹(jiā)竹桃)请注意这里的“夹”读第一声,让我们齐读课题。 二、浏览课文,初知大意: 1、昨天,我们初读了课文,现在请同学们浏览一遍课文,找出文中直接写夹竹桃的自然段,在开头画上三角符号。然后读读这些自然段,请同学们自个儿先去感受感受。 2、学生自读课文,教师巡视。 3、读好了吗?文中哪几个小节是直接写夹竹桃的呢? 4、学生汇报:第2、4、5自然段。 5、接下来就让我们共同走进夹竹桃花的世界,去欣赏、品味它„„ 三、学习第2自然段: 1、让我们一起到季先生家的大门内,看看那两盆夹竹桃吧!(指名学生朗读第二自然段) 2、大家看到了那两盆夹竹桃了吗,她是什么样儿的呢?用“——”画出直接描写花的语句,读一读想一想,夹竹桃的花给你留下了什么印象。 3、这是两盆什么颜色的花?(板书:花色)(生答:红色和白色的) 4、作者由这两种花色分别联想到什么呢?看课文,老师引读,请大家跟读。 5、看到这样的景象,你有什么感受呢?(板书:奇妙有趣) 你为什么觉得这样的景象奇妙有趣呢?(火与雪是不相融的,却能融洽地开在一起。) 6、你们真的觉得这景象奇妙而有趣吗?请大家试着读出这景象的奇妙有趣。 学生自由练读; 通过练读有了自己的体会吗?怎样才能把这段话读好呢?(指名说,教师标出重音)你能为大家朗读吗? 读得真不错,给人一种身临其境的感觉。 好,我们一起来感受一下这奇妙有趣的景象吧!(齐读) 四、学习第3、4自然段: 过渡:第2自然段对夹竹桃的花已经作了细致的描写,为什么接下来在第4自然段中还要写夹竹桃的花呢?这其中必有缘由。 1、请同学们自由朗读第四段,想一想这段主要写了什么。(夹竹桃花期很长。)(板书:花期) 2、请同学们再读第四自然段,同桌之间合作学习,先画出描写夹竹桃花期很长的句子,再用着重号标出反映花期长的词语,然后好好地品读品读。 3、学生合作,交流,探究,教师巡视。 4、学生汇报交流: 师:刚才同学们学习得很认真,能一边读一边圈画,这真是“不动笔墨不读书”。那么,哪些句子写出了夹竹桃的花期长? 生(1)读第一句:(相机出示句子) 师:哪些词语反映了它的花期长?(又开出、又长出) 师:这句话不但写出了它的花期长,还写出了它的品性“悄悄地一声不响”,它是默默绽放,不张扬,常年不败。 师:该怎样读好这句话呢?请大家自己读。指名读;评价。(“悄悄地一声不响”要读得轻柔些,而“又开出、又长出”要读得重些。)齐读。 生(2)读第二句:(出示句子) 师:你是从哪些地方看出它花期长的? 生2:看不出、也看不出、无日不 师:我们一起来感受感受吧!(齐读)师: (1)标出“和煦的春风里”、“盛夏的暴雨里”、“深秋的清冷里”,从这里的三个“在„„里”你体会到什么?(不管什么气候,夹竹桃始终是迎风吐艳。)(2)“无日不”可不可以换个说法?(每天都这样) 这里为什么不用“每天都这样”而用“无日不”呢?(它的语气更加强烈,更能突出对夹竹桃的赞美之情) 应如何读呢?(指名读)自由练读; 齐读;(大家读得很投入,我也被感动了。) 生(3)读第三句,从“无不”一词反映了夹竹桃的花期长。师:“无不”是什么意思?(是“都”的意思) 这里不用“都”而用“无不”一词,大家懂了吗?(起强调的作用,不管什么季节夹竹桃都一一奉陪,突出了花期长,表达了对夹竹桃的赞美)师:谁来读读这句话。师:真不错,我们一起读。 6、师:夹竹桃的花期真长呀,所以在作者的心理又有什么新感受呢? 生(4)读句子;(教师相机出示句子)这一点韧性,(板书:韧性)同院子里的哪些花?文中哪一小节写了?(生:第三小节)同学们有没有注意第四自然段开头的词语“然而”,用“然而”过渡到夹竹桃,就说明第三自然段写了其他花。 请同学们读读第三自然段,看看写了多少花,有没有写夹竹桃?(生答) 一百几十个字,写了十四种花,却没有一个字写夹竹桃的。那作者为什么要写这段内容呢?(对比衬托夹竹桃的花期之长。) 我们再回到刚才的句子上,“不是显得非常可贵吗?”,请大家换个说法。(出示陈述句)请同学们把这两句话读一读,体会一下用哪一句好? 学生对比读。 哪一句好呢?(生答:反问句好,强调了夹竹桃韧性的可贵)(师标出“不是„„吗?”)是啊,说得真好。我们一齐来读读这个反问句。 7、让我们完整地欣赏一下第四自然段,好好地品味夹竹桃一年三季,花开不落的可贵韧性。请同学们用自己喜欢的方式读第四自然段。 详细设计说明书(Procedural Kesign Specification) 一、引言 1.编写目的(阐明编写详细设计说明书的目的,指是读者对象)2.项目背景(应包括项目的来源和主管部门等) 3.定义(列出文档中用到的专门术语定义和缩写启的原意。) 4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明书;(4)概要设计说明书;(5)测试计划(初稿);(6)文档所引用的其他资料、软件开发标准或规范。) 二、总体设计 1.需求概述 2.软件结构(如给出软件系统的结果图) 三、程序描述(逐个模块给出以下的说明)1.功能 2.性能 3.输入项目 4.输出项目 5.算法(模块所选用的算法) 6.程序逻辑(详细描述模块实现的算法,可采用:(1)标准流程图(2)PDL语言(3)N-S图(4)PAD(5)判定表等描述算法的图表。)7.接口 8.存储分配 9.限制条件 10.测试要点(给出测试的模块的主要测试要求) 展示设计市场调研报告 目录 一、在展示设计中人机工程学具体的研究对象包括哪些方面 2 1、尺度方面 2 2、色彩应用 2 3、采光和照明 4 4、人的知觉 5 5、空间环境对温度湿度的要求 6 6、空气质量与空气流速 6 7、电磁辐射 6 8、绿化和水体 6 二、展示设计中的版面设计包括哪些方面内容,版面制作的材料与制作技术 6 1、版面制作的材料 8 2、制作技术 11 三、展示设计中常用的照明灯具及照明光源 12 1、常用的照明灯具 12 2、展示设计中光源类型的选用 16 四、展示中常用的道具的特点 17 1、展架 17 2、展台 18 3、展板 18 4、展柜 19 五、调研日记 20 六、调研分工 20 相互映衬的效果。例如:将红与绿、黄与蓝、白与黑等色彩放在一起,以显示 它们各自的特性,加强色与色之间的个性表现,以达到色彩的鲜明对照和强烈的视觉反映。对比与调和是相对而言的,“传统的色彩和谐理论只研究如何使各部分互 相联系,而不研究它们之间的分离。因此,无论如何也是不完善的”。 (4)色相对比: 因色彩的相貌差别而形成的对比。色彩光谱中红、橙、黄、绿、青、蓝、紫概括了色相的基本面貌。差别大的称为对比色对比,差别小的称为同类色对比。对比色的应用能使人产生鲜明、强烈的视觉感受;同类色对比具有淡雅、柔和的特点。 (5)明度对比: 因色彩明度不同而产生的对比。在色彩明度中,如黑、白、灰之间,明度差别大的称为强对比,差别小的称之为弱对比。对比度越强所产生的效果就越醒目、明快,对比度越弱则产生的效果就越柔和。 (6)冷暖对比: 冷与暖是相对而言的,是人们根据对自然界认识过程中所产生的主观联想和感受。如红色易使人联想到温暖的炉火,蓝色则联想到寒冷的冰雪。暖色能带给人以热烈和激情的情绪,冷色使人产生沉静和稳定之感。它们之间的作用是通过对比而产生的。 根据以上规律和特点,则要求我们在展示设计中,要根据不同的展示主题、企业文化、环境、季节等诸多因素,在色彩应用上做出不同的艺术处理,这样才能达到预期的设计效果。(7)展示设计中色彩与主题表现 展示活动从其规模上一般可分为大型展览,中型展览和小型展览。无论何种规模的展览,就其共性来讲,都具有鲜明的主题性。展示设计的色彩语言总是围绕展示主 题而进行的。寓意于色彩中的视觉主题总是能迅速表达其展示意图,还能创造出独特的展示气氛。展示主题主要是通过色彩显示来表达其展示内容的,在主题色彩应 用中如 “百事可乐”品牌在展示其产品主题特征时,通过大量标准色彩的运用,来传达其主题特征,烘托出其产品的固有特色,进而达到其产品推广的目的。 利用色彩的温度感来表现主题特征 色彩是具有温度感的。暖色系在人的心理上易产生舒展的感觉,冷色系一般易产生紧缩感。利用色彩具有温度感这一特征,在展示商品主题特征时可以充分利用这种 心理特点。如电冰箱、电风扇、空调等家用电器,其功能就是制冷。所以利用人们看到冷色就会产生寒冷、凉爽的联想,此类产品的形象展示大多是以冷色调作为主 题色进行体现的,从而充分地表现了商品展示的主题特征。(8)运用色彩的对比来突出展示主题 (2)照明光源 展示设计中的照明光源主要是以自然光和人工照明为主。 自然光是一种比较优质的光源,它不仅照明效果自然通透,而且可以节省大量的能源。展示设计中为了最大程度地保证展示照明的质量和稳定性,控制照明效果,保护展品。人工照明产生以后,相对于优质的自然光而言,人工照明有着形式灵活,容易控制,能够提供相对稳定的照明环境等优点,因此,人工照明在建筑和展示设计中也被广泛运用。 4、人的知觉 1视觉与视错觉:人类经历了漫长的进化过程,为了适应自然而逐步形成了各种感觉器官,其中视觉器官最重要,它担负着80%以上的信息接收任务。但视觉器官的功能又不是万能的,有时人的视觉由于生理、心理因素以及受光、形、色等外界因素的干扰,会产生视觉误差,即视错觉。视错觉分为形的错觉和色的错觉,本文主要讨论色彩视错觉。 2听觉:人在正常情况下可听到频率在20—2000赫兹的声音 人因年龄差异导致听觉差别较大,年轻人较敏锐,但25岁以后便产生听觉损失,老年人较严重来自前方的声音较易于分辨,而对来自右前方的声音比较敏感,一般规律是右耳比左耳灵展厅内各种音响均匀分布,避免产生聚集现象,各种声源均宜配置在观众的前方 3嗅觉:色彩与嗅觉的关系大致与味觉相同,也是由生活联想而得。从花色联想到花香,根据试验心理学的报告:通常红、黄、橙等的暖色系容易使人感到有香味,偏冷的浊色系容易使人感到有腐败的臭味。深褐色容易联想到烧焦了的食物,感到有蛋白质烤焦的臭味。 678910 三、展示设计中常用的照明灯具及照明光源 1、常用的照明灯具 白炽灯 白炽灯将灯丝通电加热到白炽状态,利用热辐射发出可见光的电光源。自1879年,美国的T.A.爱迪生制成了碳化纤维(即碳丝)白炽灯以来,经人们对灯丝材料、灯丝结构、充填气体的不断改进,白炽灯的发光效率也相应提高。1959年,美国在白炽灯的基础上发展了体积和衰光极小的卤钨灯。白炽灯的发展趋势主要是研制节能型灯泡。不同用途和要求的白炽灯,其结构和部件不尽相同。白炽灯的光效虽低,但光色和集光性能好,是产量最大,应用最广泛的电光源。 荧光灯 荧光灯分传统型荧光灯和无极荧光灯,传统型荧光灯即低压汞灯,是利用低气压的汞蒸气在放电过程中辐射紫外线,从而使荧光粉发出可见光的原理发光,因此它属于低气压弧光放电光源。荧光灯的放光效率高,放光面积大,光线柔和,使用寿命长,可以使光色近似日光色或其他各种光色,是一种良好的室内站名光源。 无极荧光灯 无极荧光灯即无极灯,由高频发生器、耦合器和灯泡三部分组成。玻管采用硬质玻璃,管内充入惰性气体及微量水银,管壁涂敷高效三波长荧光粉,灯管两端涂敷导电胶,并施加高压,使灯管内气体电离,水银蒸气受激发放电,受激原子返回基态时辐射出波长253.7nm紫外线,灯泡内壁的荧光粉受到紫外线激发产生可见光。无极荧光灯具有高辉度、高效率、低耗电、无频闪,体积小、寿命长的优点。反复可启动性能好,可在0.1 s内瞬间启动。三波长白色光色的色度可满足不同需求。 三基色荧光灯 由蓝、绿、红谱带区域发光的三种稀土荧光粉制成的荧光灯三基色节能型荧光灯是一种预热式阴极气体放电灯,分直管形、单U型、双U型、2D形和H形等几种。以H形节能荧光灯为例,它由两根顶部相通的玻璃管(管内壁涂有稀土三基色荧光粉)、三螺旋状灯丝(阴 极)和灯头组成。其工作原理与普通荧光灯相似,即可配用电感型镇流器(要配有启辉器),也可配用电子镇流器(不配用启辉器)。 暖色光 暖色光的色温在3300K以下,暖色光与白炽灯相近,红光成分较多,能给人温暖、健康、舒适的感觉。适用于家庭、住宅、宿舍、宾馆等场所或温度较低的地方。 冷白色光 又叫中性色,它的色温在3300K~5300K之间,中性色由于光线柔和,使人有愉快、舒适、安详的感觉。适用于商店、医院、办公室、饭店、餐厅、候车室等场所。 冷色光 又叫日光色,它的色温在5300K以上,光源接近自然光,有明亮的感觉,使人精力集中。适用于办公室、会议室、教室、绘图室、设计室、图书馆的阅览室、展览橱窗等场所。 电子节能灯 电子节能灯,又称为省电灯泡、电子灯泡、紧凑型荧光灯及一体式荧光灯,是指将荧光灯与镇流器(安定器)组合成一个整体的照明设备。节能灯的尺寸与白炽灯相近,与灯座的接口也和白炽灯相同,所以可以直接替换白炽灯。 节能灯的正式名称是稀土三基色紧凑型荧光灯,20世纪70年代诞生于荷兰的飞利浦公司。被国家纳入到了863推广计划,最早在山东的胶东半岛推广,其中最早响应的两家工厂为威海北洋和栖霞灯具厂,但是由于早期成本比较高,推广难度比较大。广东依靠其优越的地理位置,依托国家的政策支持,以低成本的原材料大批量生产节能灯,并销往全国。因为早期人们对于节能灯的概念比较模糊,广东生产的卤粉节能灯成本较低,销往市场的价格也比较低,现全国80%的节能灯来自广东生产,其中80%的节能灯是在中山古镇生产的。 这种光源在达到同样光能输出的前提下,只需耗费普通白炽灯用电量的1/5至1/4,从而可以节约大量的照明电能和费用,因此被称为节能灯。 冷阴极荧光灯 冷阴极荧光灯具有体积小、亮度高、寿命长的特点,但工作前需要预热。该类光源已经广泛应用于液晶显示器,液晶电视机的背光源中。液晶显示器上用的背光——冷阴极荧光灯英文名Cold Cathode Fluorescent Lamps,简称CCFL 卤素灯 卤素灯泡(英文:halogen lamp),简称为卤素泡或者卤素灯,又称为钨卤灯泡、石英灯泡,是白炽灯的一个变种。 卤素灯泡(Halogen lamp),亦称钨卤灯泡,是白炽灯的一种。原理是在灯泡内注入碘或溴等卤素气体。在高温下,蒸发的钨丝与卤素进行化学作用,蒸发的钨会重新凝固在钨丝上,形成平衡的循环,避免钨丝过早断裂。因此卤素灯泡比白炽灯更长寿。此外,卤素灯泡亦能以比一般白炽灯更高的温度运作,它们的亮度及效率亦更高。不过在这温度下,普通玻璃可能会软化。因此卤素灯泡需要采用溶点更高的石英玻璃。而由于石英玻璃不能阻隔紫外线,故此卤素灯泡通常都而需要另外使用紫外线滤镜。 卤素灯泡上的水晶玻璃如果有油,会造成玻璃上温度不一,减低灯泡的寿命。因此换卤素灯泡时要避免人手触及灯泡的玻璃。若果手指摸到应以酒精清洁。 金卤灯 金卤灯是交流电源工作的,在汞和稀有金属的卤化物混合蒸气中产生电弧放电发光的放电灯,金属卤化物灯是在高压汞灯基础上添加各种金属卤化物制成的第三代光源。照明采用钪钠型金属卤化物灯,该灯具有发光效率高、显色性能好、寿命长等特点,是一种接近日光色的节能新光源,广泛应用于体育场馆、展览中心、大型商场、工业厂房、街道广场、车站、码头等场所的室内照明。 415 四、展示中常用的道具的特点及构件、拆装形式 展示过程中所使用的器物很多,这里所说的道具是指安置、围护、承托、吊挂、张贴展品所用的器械,如展架、展台、展板、展柜等。 现代展示常用的标准化道具通常是工业化生产的产品,这些产品的设计已经超出了展示设计的范畴,故不在这里述及。 展示道具选用的一般原则是:以标准化、系列化的定型产 品为主,以特殊性和专门设计的产品为辅;以组合式、拆装式为主,以便于任意组合、变化,方便包装、运输和贮存;结构设计要合理、可靠,加工精确、坚固、安全可靠;道具主要部分要求选用轻质、高强度材料;其次,造型要简洁,色彩要沉着,表面作亚光处理,以避免可能出现的眩光。 展示道具的造型、色调、规格和尺寸的选择,取决于展示环境的风格、尺度、陈列性质、展品特点以及展示空间的色调等因素。随着现代展示活动的普及,越来越多的专业厂商研制、设计和生产出适合各种展示形式的新颖展示道具,专业生产的标准化产品有逐渐取代传统的展示道具的趋势,因此在从事展示设计时,首先应该考虑采用那些具有多种功能和用途的系列化道具,尽量不用或少用专门设计的特殊规格的道具,以方便布展,节约开支。 从道具的用途分类,常用的有这样几大类: 1、展架 展架是用以吊挂、承托展板,或与其它部件共同组成展台、展柜及其它形式的支撑骨架器械,也可以用它作为直接构成隔断、顶棚及其它复杂的立体造型的器械,是现代展示活动中用途最广的道具之一。 展架,也叫做展示架,是终端宣传促销生动化的利器。展架作为一种营销手段,是随着终端POP广告发展而来的。它具有绿色环保、方便运输、组装迅速等优点,摆放在销售场所中,能起到展示商品、传达信息、促进销售的作用。 展架的起源 展架的使用早期盛行欧美,显眼的精美图案及摆放产品的展示架在国外已经十分普遍,广泛应用于食品饮料、日化、家电、家居、建材、酒等行业。欧美众多包装公司也认为通过制作陈列架(展架、展示架[1])可以提升企业的技术水平和企业的销售能力。在欧美,陈列架(展架、展示架)是一种附加值非常高的产品,使用的用户和制造厂商都非常多。 不过,陈列架(展架、展示架)在欧美的使用虽然已经十分普遍,但是在国内还是处于起步阶段。大陆最早开始做展示架大约是2000年左右,那时在包装较为发达的广东地区仅3家纸制品厂设计生产展示架。近些年来发展较快,主要集中在北京/上海/广东;应用的范围也越来越广。 现在一些品牌客户已经把陈列架(展架、展示架)做为常规促销品在系统的应用,不论是新品推出还是节日促销,取得了不错的效果,对于提升在卖场的品牌形象,营造节日气氛,提高销量,有很有帮助。 展架又名产品展示架、促销架、便携式展具和资料架等。是根据您产品的特点,设计与之匹配的产品促销展架,再加上具有创意的LOGO标牌,使您的产品醒目的展现在公众面前,从而加大对产品的宣传广告作用。 展架的分类 1、按样式可分为:落地式展架、台式展架、挂式展架、异型展架、主题陈列 7181920-
“);} sb.append(”
“);} } catch(Exception e){ LogWritter.sysDebug(e.getMessage());} out = response.getWriter();out.write(sb.toString());out.close();} 清单2:AJAX实现的,指标审核页面生成方法 public void insertIndexHTML()throws Exception{ ActionContext ctx = ActionContext.getContext();HttpServletRequest request =(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);HttpServletResponse response =(HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);//end String appPath=(String)request.getSession().getAttribute(”appPath“);if(appPath==null){ appPath=”/M1BI“;} response.setCharacterEncoding(”utf-8“);response.setContentType(”text/xml“);response.setHeader(”Cache-Control“, ”no-cache“);TDmGyUser User=(TDmGyUser)request.getSession().getAttribute(”USER“);String userid=User.getMc();//获取USERID PrintWriter out = null;String NodeID = request.getParameter(”NodeID“);StringBuffer sb = new StringBuffer(”“);try { List “);sb.append(”
");} } catch(Exception e){ LogWritter.sysDebug(e.getMessage());} out = response.getWriter();out.write(sb.toString());out.close();} 3.数据库设计 3.1 表 “);int ii = 0;for(ReportIndex index : list){ sb.append(”指标代码 指标详细描述 引用指标 指标引 状态 “);sb.append(” “);ii ++;} sb.append(”“);sb.append(”“);sb.append(” “);sb.append(”“);sb.append(”“);sb.append(” “);sb.append(”“);String str = index.getRefIndexDesc()==null ? ”“ : index.getRefIndexDesc();sb.append(”“);sb.append(” “);sb.append(”“);sb.append(”“);sb.append(” “);sb.append(”“);if(StringUtils.isBlank(index.getStatus())|| ”1“.equals(index.getStatus())){ sb.append(”“);}else{ sb.append(”“);} sb.append(” “);sb.append(”第二篇:通讯录详细设计说明书
第三篇:《夹竹桃》详细教学设计
第四篇:软件详细设计说明书
第五篇:展示设计详细调研报告