详细设计说明书_第1页
详细设计说明书_第2页
详细设计说明书_第3页
详细设计说明书_第4页
详细设计说明书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1 / 20 详细设计说明书 软件详细设计说明书实例 2016 年 5 月 目录 1 引言 .2 2 编写目的 .2 项目背景 .2 定义 .2 / 20 .2 参考资料 .3 总体设计 .3 需 求 概述 .3 软件结构 .4 3 程序描述 .6 3 / 20 01 登陆模块 .6 02 管理模块 . 错 误 ! 未 定 义 书 签 。 031 图 书 信 息 查 询 模块 . 错误!未定义书签。 032 学 生 信 息 查 询 模块 . 错误!未定义书签。 021 入库管 理模4 / 20 块 . 错误!未定义书签。 022 学 生 借 书 模块 . 错误!未定义书签。 023 学 生 还 书 模块 . 错误!未定义书签。 024 图 书 注 销 模块 . 错误!未定义书签。 接口设计 . 错 误 ! 未 定 义 书 签 。 测试要点 .43 文档名称: 详细设计规格说明书 项目名称: 图书馆管理系统 项目负责人:陈新光 编写 TEST_年 _月 _日 5 / 20 校对 所有小组成员 _年 _月 _日 审核 所有小组成员 _年 _月 _日 批准 XXX_年 _月 _日 开发单位_ 组员: TEST1 TEST2TEST3 1 引言 编写目的 图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务 是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。 概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述, 直接翻译、转化为用某种程序设计语言书写的程序。 项目背景 6 / 20 根据 XX 学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。 定义 ?Mysql:数据库管理软件 ?DBMS:数据库管理系统 ?Windows 2000/XX/XP:运行环境 ?JSP :软件开发语言 ?Myeclipse :开发 工具 参考资料 软件工程导论 第 5 版 张海藩编著 清华大学出版社 实用软件工程 Leszek Bruc Lee Liong 著 机械工业出版社 2 总体设计 需求概述 按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。 中大软件详细设计 D0903-0302 7 / 20 丁丁网上购书系统 详细设计 Version 修订历史 目 录 1 2 3 4 5 6 绪言及目标 . 3 范围 . 3 定义及缩写 . 3 引用 . 3 角色及职责 .8 / 20 . 3 工具及环境 . 4 7 研发硬件配置 . 4 研发语言及编译器 . 4 软 件 支 持 工具 . . 4 第 三 方 工具 . 4 高层分析 .9 / 20 . 5 数据模型视图 . 5 抽 象 类 视图 . 6 时序图 . 6 用 户 界 面 架构 . 错误!未定义书签。 8 详细分析 . 11 类 / 接口 视图 .10 / 20 . 11 构件 / 包 视图 . 14 9 详细设计 . 15 数据库定义 . 15 用户界面设计 . 21 1 绪言及目标 项目名称:丁丁网上购书系统 项目提出单位:丁丁图书销售公司 项目开发者:中山大学软件师资班第三小组 项目使用单位:丁丁图书公司 软件的详细设计阶段是给出软件模块的内部过程描11 / 20 述即是模块内部的算法设计。 本文档为“丁丁网上购书系统详细设计说明书”,主要用于为实现系统的功能而进行的系统详细设计说明,详细描述了系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。 本文档供项目组全体成员及项目组领导,单元测试人员阅读。 2 范围 本文档用于软件设计阶段的详细设计,该详细设计的范围是:系统各组成部分的构成、每个软件模 块的属性、方法、事件,各软件模块的外部接口说明,数据用户界面设计等内容。 3 定义及缩写 4 引用 5 角色及职责 6 工具及环境 研发硬件配置 研发语言及编译器 本系统开发所用的语言是 JAVA 语言,开发的 IDE 工具是 MyEclipse GA. 软件支持工具 开发使用 Rose, Myeclipse, Dreamweaver 等软件工12 / 20 具。 第三方工具 7 高层分析 数据模型视图 系统数据视图如下图所示: 数据视图 详细设计说明书 1.引言 编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2. 系统的结构 ? ui:系统界面部分,负 责接受用户输入,显示系统输出,负责其他模块功能的协调调用, 并含有站内搜索功能,即在用户指定的已打开的 ftp站点中搜索用户需要的资源。 ui 部分调用 common 部分的功能读取 xml 文件中保存的界面元素属性信息,用户最近访问过的 10 个 ftp 信息,用户选择的下载的 ftp 内容列表及其他需要通过 xml 文件保存的信息。 13 / 20 ? client:实现 ftp 客户端的功能, ftp 连接, ftp上传及下载:上传或下载用户指定的 资源,并返回相应的信息。 ? search:资源实时检索部分, 根据用户输入的资源名称关键字,资源类型和选择的检索 方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 ? preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该 资源。 preview 部分调用 common 部分读取属性文件的内容亦显示预览资源内容的显示格式。 3模块 1 设计说明 模块描述 实现用户界面的包,含有 11 个文件 51 个类,是本系统中最复杂的代码。 功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的 ftp 站点中搜索用户需要的资源。 交互的模块 client, search, preview, common。 模块设计 14 / 20 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: ? : MainFrame 是含有主函数的类,也是 lyra 客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 ? FtpFrame_:显示关于窗口的类,当用户点击帮助菜单中的关于菜单 项时会弹出关于对话框。 ? : FileTools 是文件操作辅助类,可以实现文件的递归删除等。 ? : JDOMTes 是操作 xml 文件的类,用 JDOM 来操作xml 文件, 实现的功能有: 保存 ftp 服务器的文件列表,递归的从 ftp 服务器读取列表,并存入一个 xml 文件中 ;以目录树的形式保存。 根据文件名在文件中查找文件,站内搜索时使用。 保存 ftp 服务器的信息: ip,端口,用户名,密码,最多存 10 个;存在 resourcesettings 文件中。 读取已存储的 ftp 服务器信息。 从读取搜索的类型。 ? :放置系统运行时使用的一些常量, initcontent函数对所有常量进行 15 / 20 初始化,这个函数在 MainFrame 中被调用一次。iconHashMap 是 hash 表,用于存放文件的系统图标。 ? :包含自定义的控件类, java 中的控件可能不能满足需求, 需要自己定义某些属性。这些控 件会在创建界面时使用。其中含有的类有: CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 CustomizedTableCellRenderer 是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 LeftPanel 类的父类是 JTabbedPane,用户显示主窗口左边的面板。 RightPanel 类的父类是 JPanel,用户显示右边的主题部分,包括右上边的搜索及服务 器选项,和中间的显示服务器文件的 TabbedPane。 . BottomPanel 类是右下放显示下载和服务器信息的JTabbedPane。 CustomizedJButton 是定义按钮类,更改了按钮的字体, java 本身默认的字体不好看。 CustomizedTableModel 是表格类,实现单元格的不可编辑。 CustomizedTableCellRenderer_Remote 类是表格绘16 / 20 制器,在远程文件浏览器 RemoteFilesPanel 使用,用于显示文件名和文件图标。 FontTableCellRenderer 类是表格单元格绘制器,主要功能是设置字体。 FontListCellRenderer 类是下拉列表框单元格绘制器,主要用于设置字体。 CustomizedJLabel 类是自定义标签类,重新设置了标签的字体。 CustomizedJTextField 类是自定义文本框类,主要用于设置文本框的显示属性。 CustomizedJMenu 类是自定义菜单类,重新设置了菜单的字体。 CustomizedJMenuItem 类是自定义菜单项类,重新设置了菜单的字体。 CustomizedListCellRenderer 类是 JComboBox 即组合框单元格绘制器,用于在本地路径选择的下拉列表中显示磁盘图标。 ? , SearchResultReceiver 是一个接口,主要用于返回搜索结果。 搜索完成后调用接口中的函数通知调用者。其中主要有两个函数: OnSearchFinished;result 是一个 10 维的数组表17 / 20 result10,resulti是由类型为 i 的资源组成的数组。 i:0 9,和类型列表框 中的顺序一致。 OnSearchFinished;不分类型,将所有资源放在一个数组表中。 ? :FtpFrame 是程序主窗口类,类型为 JFrame,是由三个分割窗口 JSplitPane 构成的。 jSplitPane_Left 是左边的分割窗口,水平分割条上边显示本地文件框,下边是预览框; jSplitPane_Right 是右边的分割窗口,水平分割条上边是服务器选项和 ftp 服务器文件显示的窗口,下边是下载和服务器信息显示窗口; jSplitPane_Whole 是整体的分割窗口,垂直分割条,左边是 jSplitPane_Lef,右边是 jSplitPane_Right。 FtpFrame 把 LeftPanel, RightPanel, BottomPanel,PreviewWrapperPanel 这几部分安装在相应的分割窗格中;LeftPanel, RightPanel, BottomPanel 是在中定义的,PreviewWrapperPanel 是在 Preview 包中定义的。 ? : LocalFilesPanel 是本地文件面板,用表格来显示本 地文件的信 息。上边是组合框,显示了磁盘分区通过这里可以改变根目录。表格中显示了文件的信息,包括文件名,文件的系统图标,大小,最近修改日期,属性等。选中一个文件18 / 20 后可以执行上载和删除操作。文件夹会递归的删除。GetCurrentPath 函数返回当前的路径。 DisplayPathFiles函数在列表中显示指定目录下的文件。 ? :定义右上边的控件。含有的类有: FtpServerOptionPanel 类是服务器连接选项面板,包含服务器地址,端口,用户名,密码等,还包括最上端的搜索选项。 openRemoteFilesPanel 函数在下面的 TabbedPane中打开一个新的服务器面板,连接服务器。 RemoteFilesPanel 类的主要功能是连接 Ftp 服务器并显示文件。这里会进行文件的上载,下载及预览等操作。RemoteFilesPanel 的内部类 TransferController 负责调用FtpClient 类提供的功能与服务器进行交互,完成用户指定的文件操作。 TransferController 还有三个内部类:ConnThread 类 是 负 责 连 接 服 务 器 的 线 程 ,DownloadFileThread 类 是 下 载 文 件 的 线 程 ,UploadFileThread 类是上载文件的线程。 SearchResultPanel 类是显示搜索结果的类,它有两个子类 SearchResultPanelWithinSearchEngine 类的功能是在搜索引擎中搜索, SearchResultPanelWithinServer 类的功能是站内搜索。搜索引擎的搜索会调用 search

温馨提示

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

评论

0/150

提交评论