设计文档格式参考(毕业论文格式).pdf_第1页
设计文档格式参考(毕业论文格式).pdf_第2页
设计文档格式参考(毕业论文格式).pdf_第3页
设计文档格式参考(毕业论文格式).pdf_第4页
设计文档格式参考(毕业论文格式).pdf_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1 第 4 章 详细设计 4 1 开发平台介绍 Visual Studio 2010 它是一组综合工具的集合 可帮助开发人员更快地实现构想 Visual Studio 2010 可为面向 Web 包括 ASP NET AJAX SQL Server 2008 应用的项目开发工具 并且 该工具自动集成 jQuery 开发包 SQL Server 2008 它是一个具备完全 Web 支持的数据库产品 提供了对可扩展标记语言 XML 的核心支持以及在 Internet 上和防火墙外进行查询的能力 提供了以 Web 标准为基础的扩展数据 库编程功能 并且本系统使用的 SQL Server 2008 是一个高级的数据库版本 它推出了许多新的特 性和关键的改进 使得它成为至今为止的最强大和最全面的 SQL Server 4 2 程序开发的任务及质量要求 要求按按时按质完成任务 并且在开发同时按软件工程进行逐步进行 一切按需求来开发 4 3 系统功能模块图 经对系统需求进行及现行系统的分析 最终提取出新闻系统的以下功能模块 系统前台模块有 新闻查询 新闻浏览 新闻评论 系统后台模块有 新闻分类管理 新闻管理 普通管理员 新闻评论管理 系统配制 密码修 改 系统模块图如 4 1 所示 基于技术的新闻系统JQuery 前台后台 新 闻 查 询 新 闻 浏 览 普 通 管 理 员 管 理 管 理 员 密 码 修 改 新 闻 分 类 管 理 系 统 配 制 管 理 新 闻 评 论 新 闻 管 理 图 4 1 项目功能模块图 4 3 主要功能模块介绍 由于本系统功能模块较多 限于篇幅 在这里主要进行部分个别功能模块做详细介绍 其中对 前台模块 新闻浏览模块 新闻查询模块 新闻评论模块进行详细的设计 后台模块 普通管理员 管理 新闻管理 个人密码修改 新闻分类管理 系统配制 新闻评论管理中的普通管理员管理 个人密码修改及分类管理操作类似 新闻管理与新闻评论管理类似 由于论文篇幅限制 这里主要 针对对普通管理员管理及新闻管理做重点介绍 4 3 1 新闻浏览模块 浏览者进入新闻发布系统的聚合页面 也即进入首页后 可以按分类查看新闻 查看具体的某 条新闻两部分 1 按分类查看新闻 浏览者通过单击页面导航栏上的分类链接 或者通过点击某个大分类右边的 更多 进入新 闻列表页面 然后浏览者单击具体的新闻链接进行查看新闻 限于篇幅这里仅对通过单击首页面导航栏上的分类链接进行介绍 其设计效果如图 4 2 所示 图 4 2 新闻首页分类导航图 首页面导航栏上分类及链接的邦定是通过后台代码拼接 html 标记进行输出 所涉及到的核心程 序代码截如图 4 3 所示如下 首页 a href List aspx cid StringBuilder sb new StringBuilder sb Append sb Append sb AppendFormat 0 catalog Title sb AppendFormat 更 多 catalog Id Server UrlEncode catalog Title sb Append sb Append 拼接标记下的标签 for int i 0 i list Count i sb AppendFormat 4 5 6 7 list i Title list i Id Server UrlEncode catalog Title catalog Id StringUtils CutString list i Title Trim 0 21 list i IssueDate ToShortDateString DateTime Now ToShortDateString list i IsHot list i IssueDate ToShortDateString sb Append sb Append sb Append return sb ToString 代码说明 使用 StringBuilder 保存拼接好新闻版块 html 标记 然后返回到页面输出流中 其中页面包含 的 html 标记有 等 StringBuilder 是一个可变的字符序列 可实现对字符串的高郊操作 IList list EntityServiceProvider NewService GetByCId catalog Id new List 中的 意思是判断 左边表达式是否为null 如是null则取右边表达式的值 这里主要是作用是避免新 闻集合list为空 而其它地方又对list集合有使用到时避免出现 未将对象引用到实例 的错误 4 3 2 新闻查询模块 浏览者通过单击首页主导航中的分类链接 然后进入列表页后即可查询新闻信息 该页面主要 用来完成新闻信息的检索及新闻列表分页显示 其中翻页与关键字查询都是基于无刷新技术实现 其设计效果如图 4 4 所示 以下删除了若干内容 4 4 本章小结 本章主要介绍系统 ER 图 系统功能模块图以及部分主要功能模块的详细设计 以为后面的程 序开发做好准备工作 第 5 章 重难点分析 通过开发该基于JQuery技术的新闻系统后 对开发中遇到的难点 重点做如下几个方面的分析 5 1 jQuery 技术使用 5 1 1 如何使用 jQuery 技术获取对象 jQuery技术在操作对象时与传统的Javascript有所不同 传统方式获取对象时以document getElementById方式 而jQuery中则很简单的一个 开头 获取对象 例如给一个ID pagerList 的div对象赋值 传统方式 document getElementById pagerList innerHTML pager jQuery方式 pagerList html pager 5 1 2 如何使用 jQuery 技术发送 Ajax 请求 系统中所有客户端发送Ajax请求时均用jQuery技术提供 代码列举如下 var successEven function msg failureEven function alert 操作失败 发送请求 function Ajax ul datas type ajax url ul data datas async false type type success function msg successEven msg error function failureEven 其中 ul为请求服务器端地址 datas为发送到服务器的数据 type为请求类型 要么为get方式 要么为post方式 默认为以get方式发送请求 而且get方式发送请求到服务器端的数据量大小有限制 在发送请求时需注意选择发送请求方式 5 2 ASP NET 技术使用 5 2 1 如何实现新闻列表分页 新闻前台与后台管理都调用了同一个核心分页方法 系统新闻列表页分页条最终展现效果如图 5 1 所示 图 5 1 分页条界面图 该分页采用 AJAX 实现无刷新分页显示 其中 第一页与最后一页会始终显示 当页页会始终 显示在整个分页条的正中位置 其核心实现代码如下 if pagecount showpageCount 1 导航中出现省略号 if pageindex span 2 省略号出现在右边 from 1 to showpageCount if pageindex 1 sb AppendFormat linkStr 上一页 pageindex 1 sb Append ShowPageNavigation pageindex from to sb Append sb AppendFormat linkStr 1 pagecount pagecount sb AppendFormat linkStr 下一页 pageindex 1 else if pageindex pagecount span 1 省略号出现在左边 from pagecount 1 showpageCount to pagecount sb AppendFormat linkStr 上一页 pageindex 1 sb AppendFormat linkStr 1 1 sb Append sb Append ShowPageNavigation pageindex from to if pageindex pagecount sb AppendFormat linkStr 下一页 pageindex 1 else 省略号出现在两边 from pageindex span to pageindex span sb AppendFormat linkStrC 上一页 pageindex sb AppendFormat linkStr 0 1 sb Append sb Append ShowPageNavigation pageindex from to sb Append sb AppendFormat linkStr 1 pagecount pagecount sb AppendFormat linkStrC 下一页 pageindex 1 else 导航中不出现省略号 from 1 to pagecount if pageindex 1 sb AppendFormat linkStr 上一页 pageindex 1 sb Append ShowPageNavigation pageindex from to if pageindex pagecount sb AppendFormat linkStr 下一页 pageindex 1 return sb ToString 代码说明 前台 ASPX 页面所能识别的只有 HTML 代码 因此以上代码是实现构造分页导航 HTML 标签 代码 当调用该方法时 只需传入以下参数即得到具体的分页 HTML 代码 pageIndex 当前页索引页码 从 1 开始 pageCount 分页的总页数 showPageCount 显示分页个数 该参数必需为奇数 5 2 1 新闻图片的上传 对于图片新闻中的图片需要上传至服务器中保存 而数据库中只需要保存图片文件的具体路径 图片上传采用在 HTTP 下 Webservice 技术实现 具体实现核心代码如下 FileStream Streams new FileStream filename FileMode CreateNew Streams Write fileByte 0 FileByte Length Streams Close 以上 WebService 代码实现传输文件 实际上就是客户端将文件先做成比特流 然后调用 webservice 接口 服务端再将比特流还原成文件 这里是采用一次性写入字节流的方式 如果上传 很大的文件可能需要改善成分块上传的方式 利用 Webservice 上传文件可以上传任意大小的文件 并且可以实现异步服务器上保存 这样可以一定程度上减少 WEB 服务器负荷 其实也可以说是服 务器负载均衡的一种方式 5 3 服务器端在接收客户端请求后 如何返回指定格式的数据 服务器端默认返回请求类型为字符串格式 如果发送请求方需要服务器端以xml格式返回数据 时 就需服务器端在返回客户端数据前指定返回数据的类型 例如系统中当客户端请求服务器端返 回指定条数的新闻时 服务器端返回数据格式指定如下 Response ContentType text xml Response Charset GB2312 StringBuilder sb new StringBuilder StringBuilder sbNew new StringBuilder SerializeNewList list out sbNew sb Append sb Append sb AppendFormat 0 Server UrlEncode PagerUtils BuidPager currentPageIndex recordCount pageSize 1 pageSize 5 recordCount pageSize sb AppendFormat 0 Server UrlEncode sbNew ToString sb Append Response Write sb ToString Replace Response End 其中 Response ContentType指定返回客户端的数据类型 Response Charset指定 返回客户端 的编码方式 sb是一字符串序列 这里用于保存拼装好的xml数据 可实现高效字符操作 在需要频 繁操作字符串的时候性能比string格式的好很多 5 4 NHibernate 使用配制 NHibernate对数据库实现增删查改操作前需要进行正确的配制 5 4 1 配置 NHibernate NHibernate 的配置文件有两种 在桌面应用程序 WinForm 中为 App config 在网页应用程 序 WebForm 中为 web config 两种方法要添加的配置信息是一样的 目标都是告诉 NHbiernate 使用什么样的数据库 使用哪个库 用户密码分别是什么 如果使用的是 WinForm 将如下文本保存为 App config 放到程序启动目录就可以 如果是 WebForm 则将下面的代码添加到 web config 中 NHibernate Dialect MsSql2005Dialect NHibernate Connection DriverConnectionProvider Data Source sqlexpress Initial Catalog News Integrated Security True NHibernate ByteCode LinFu ProxyFactoryFactory NHibernate ByteCode LinFu 5 4 2 NHibernate 实体生成 支持数据表及视图生成实体类及 hbm xml 文件的工具很多 这里用 MyGeneration13 生成的分类 表 Catalog hbm xml 实体如下 其中 中的 Native 主键生成方式会根据不同的底层 数据库自动选择 Identity Sequence 主键生成方式 这里 native 是主键的意思 让 hibernate 根 据你的 id 来设置你的主键 5 5 系统的样式布局 系统在对页面 css 的编写上会出现很多冗余的样式代码 这样的话 如果在后期需要对系统整 体换肤时将遇到很大的困难 因为要修改的地方很多

温馨提示

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

评论

0/150

提交评论