软件架构设计说明书

计算机与信息工程学院

软件架构设计说明书

专业年级: 题 目: 组 次: 组 员: 2008 软件工程

网络硬盘 第二组 何 阳 20083841 李锦刚 20083846 刘宗智 20083849 芦明威 20083850 王子龙 20083855 谢 鹏 20083857 张玉祥 20083862

指导教师:

吴光伟

2011

8

软件架构设计说明书

一、简介

1、文档介绍

本文档全面与系统的介绍了 MemoryBox 网络硬盘系统的构架设计, 并且使用 多种视图来从不同角度描述本系统的各个主要的方面,以满足各种不同涉众(用 户、设计人员)对于本系统不同关注焦点与需求。本文档记录并表述了系统架构 设计人员对于系统架构方面做出的重要决策。 项目所有成员根据用户需求通过小组讨论获得项目开发计划, 制定系统架构 方案; 项目组长通过个人所长分配相应的项目开发任务;程序设计人员按照架构 方案进行系统详细功能的开发;项目测试人员根据构架设计项目的总体测试框 架;构架文档用于各个构件的实施、集成及测试。

2、文档目的

本文档用于指导项目开发人员进行系统功能详细设计;测试人员的测试框 架设计;各个构件的实施与集成等。

3、文档范围

本软件架构文档适用于 MemoryBox 系统的总体应用构架。

4、读者对象

项目组长、程序开发人员、测试人员等相关工作人员。

5、参考资料

《软件项目开发文档》 《软件架构技术》

6、术语与缩写解释

MVC: (Model-View-Controller)中文翻译为"模型-视图-控制器"。

-2-

软件架构设计说明书

MySql:MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。 CVS:(Concurrent Versions System )CVS 是一个 C/S 系统,多个开发人员 通过一个中心版本控制系统来记录文件版本, 从而达到保证文件同步的目的。 CVS 版本控制系统是一种 GNU 软件包,主要用于在多人开发环境下的源码的维护。 MyEclipse: (MyEclipse Enterprise Workbench ,简称 MyEclipse) 一个 十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合。功能丰富的 JavaEE 集成 开发环境 。 JUnit:JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架 (regression testing framework) 。Junit 测试是程序员测试,即所谓白盒测 试。 Log4J:Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,可以控 制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等。

二、系统概述

MemoryBox 是一个运用 J2EE 技术,通过 C/S 模式实现用户管理及用户资料 存储的网络硬盘系统。客户端提供用户操作界面,服务端处理用户操作请求。 用户初次登陆需要通过注册获得系统的使用权限, 注册通过后进入系统主界 面,可以进行文件的上传(包括文档、音频、视频等类型的文件)、下载、共享、 删除。同时实现了多文件同时上传、同时下载、文件的断点续传及断点下载等功 能。用户通过其他供应商接口可以实现开通会员等提升用户权限及服务的操作。

三、设计约束

命名约束:类名、方法名与参数名统一采用驼峰法,类名首字母大写,参数 与方法名首字母小写;

-3-

软件架构设计说明书

命名协定:

元 素 该项目的包结构: com.lmemorybox.view 包 com.lmemorybox.action Com.lmemorybox.dao com.lmemorybox.util com.lmemorybox.server 类 接口 所有界面 所有的动作事件 所有数据库访问类 公用组件包 服务逻辑包 命 名 协 定

类的名称应该清楚的标识它所表示的实体,若有多个单词组成,则每个单词首字母 大写。例如,代表用户的类的名字应该叫做‘User’ 。 与类一样 方法(函数)名应该根据它所完成的功能或者返回值决定它的命名。例如, 返回值为布尔型: isMethodName()或 hasMethodName() 返回值为其他类型:getMethodName() 执行删除数据功能:deleteMethodName() 执行修改数据功能:updateMethodName() 执行添加数据功能:addMethodName()

方法(函数)

变量

静态最终变量字母均大写 文件名应该能清晰的标志它们存储的数据的种类。

文件

image-------------存放图片文件 sound-------------存放音频文件 temp-----------------存放临时文件

四、设计策略

本系统采用 C/S 模式设计,基本实现 MVC 模式;采用 JUnit 进行单元测试, 提高软件开发质量;使用 Log4J 记录开发日志,随时进行改进;使用 CVS 系统进 行开发,对项目进程实时更新。

五、系统总体结构

5.1 客户端结构设计:

-4-

软件架构设计说明书

客户端 注 册 登 录

用户信息管理

文件管理

用户安全设置

修 改 信 息

上 传 文 件

下 载 文 件

删 除 文 件

共 享 文 件

找 回 密 码

记 住 密 码

修 改 密 码

图一:客户端模块划分

详细功能描述: ※用户信息管理及安全设置:用户通过注册后在服务端存储各项信息(用户名、 密码、邮箱、个性签名、找回密码问题、密码问题答案等);常用用户登录时可 以选择记住用户名及密码,方便下次登录;当用户名正确而忘记密码时,用户可 以通过回答密码问题修改自己的登录密码; 登陆之后用户可以浏览自己的个人信 息、修改个人信息;用户可以通过第三方付费方式开通会员,提升使用权限,享 受相应的会员服务; ※用户文件管理:用户登录进入主界面,可以选择上传文件、下载文件、删除文 件、共享文件等操作;用户可以新建文件夹来保存自己的所需要的资料;当用户 上传或者下载是出现外部情况变化可以实现文件的断点续传及断点下载;

-5-

软件架构设计说明书

5.2 客户端业务流程:

注册用户 否 是否注册成功 是 用户登录 否 是否登录成功 是

加载主界 面

上传文件

查看我的 资源

查看共享 资源

查看个人信 息

加载上传 进度条

暂停上传

继续上传

取消上传

修改个性 签名

修改密码

移动文件 否

删除文件

重命名文 件

共享文件

下载文件

新建文件 夹

加载下载 进度条

暂停下载

继续下载

取消下载

是否退出系统 是

图二:客户端业务流程

-6-

软件架构设计说明书

5.3 服务端结构设计:

服务端

用户容量控制

用户管理

用 户 级 别 管 理

图三:服务端模块划分

用 户 信 息 管 理

详细功能描述: ※用户容量控制: 根据硬件与软件条件,系统管理员对用户的使用空间有控制权 限; 根据用户不同权限分配不同空间,并且对整个系统的使用空间进行操作与控 制; ※用户管理:审核用户注册信息是否合法,对于不合法用户可以进行删除操作; 存储合法用户信息,没有修改权限;查看用户文件并且审核,对于非法文件进行 删除操作;根据用户开通会员的请求进行用户权限提升的操作;

-7-

软件架构设计说明书

5.4 服务端业务流程:

开启服务 器

用户管理

查找

资源

否 权限管理 是否删除文件 或文件夹 是 是否删除用户 是 删除用户 信息 删除文件 信息

图四:服务端业务流程

5.5 系统部署图:

存储文件 将客户信息和 文件信息存入 数据库

客户通过客户 端访问服务器

客户端

Socket

服务端

图五:系统部署图

-8-

软件架构设计说明书

六、子系统的结构与功能 6.1 用户管理:

加载存储的用户 名及密码

点击登录

是 否

是否存在

输入用户名 及密码

验证用户名 与密码

验证输入信息

图六:用户登录业务流程

6.2 文件管理:

-9-

软件架构设计说明书

选择要上 传的文件 否 是否确定上传 是 建立上传 进度条 撤销 是否已在目录 否中 与服务端 建立连接 是 等待确认 加载新的文件 集合信息 是否传输完成 是 移除进度条及 相关缓存信息 是 将输入流中信息 发送至服务端 否 将本地文件 读入输入流

是否正确 否

图七:文件上传业务流程

选择要下 载的文件 读入服务端发送 过来的文件字节 选择本地存放 文件的目录

是 将文件字节写 入本地文件 否

是否确定下载 是 是否下载完成 发送所需属性 至服务端 否 移除对应进度条 及相关缓存信息 是

等待服务 端确认

是否正确连接

图八:文件下载业务流程

- 10 -

软件架构设计说明书

七、开发环境的配置

客户端:Windows XP及以上运行环境;

JDK 1.6及以上开发环境;

MyEclipse 6.0及以上开发环境; CVS 2.0及以上系统平台;

服务端:Windows XP及以上运行环境;

JDK 1.6及以上开发环境;

MyEclipse 6.0及以上开发环境; CVS 2.0及以上系统平台;

MySql数据库系统;

八、运行环境的配置

客户端:Windows XP及以上运行环境;

MyEclipse 6.0及以上开发环境; 服务端:Windows XP及以上运行环境;

MyEclipse 6.0及以上开发环境; MySql数据库系统;

九、测试环境的配置

运行环境:Windows XP及以上运行环境; 开发平台:MyEclipse 6.0及以上开发环境;

JUnit测试环境;

- 11 -

计算机与信息工程学院

软件架构设计说明书

专业年级: 题 目: 组 次: 组 员: 2008 软件工程

网络硬盘 第二组 何 阳 20083841 李锦刚 20083846 刘宗智 20083849 芦明威 20083850 王子龙 20083855 谢 鹏 20083857 张玉祥 20083862

指导教师:

吴光伟

2011

8

软件架构设计说明书

一、简介

1、文档介绍

本文档全面与系统的介绍了 MemoryBox 网络硬盘系统的构架设计, 并且使用 多种视图来从不同角度描述本系统的各个主要的方面,以满足各种不同涉众(用 户、设计人员)对于本系统不同关注焦点与需求。本文档记录并表述了系统架构 设计人员对于系统架构方面做出的重要决策。 项目所有成员根据用户需求通过小组讨论获得项目开发计划, 制定系统架构 方案; 项目组长通过个人所长分配相应的项目开发任务;程序设计人员按照架构 方案进行系统详细功能的开发;项目测试人员根据构架设计项目的总体测试框 架;构架文档用于各个构件的实施、集成及测试。

2、文档目的

本文档用于指导项目开发人员进行系统功能详细设计;测试人员的测试框 架设计;各个构件的实施与集成等。

3、文档范围

本软件架构文档适用于 MemoryBox 系统的总体应用构架。

4、读者对象

项目组长、程序开发人员、测试人员等相关工作人员。

5、参考资料

《软件项目开发文档》 《软件架构技术》

6、术语与缩写解释

MVC: (Model-View-Controller)中文翻译为"模型-视图-控制器"。

-2-

软件架构设计说明书

MySql:MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。 CVS:(Concurrent Versions System )CVS 是一个 C/S 系统,多个开发人员 通过一个中心版本控制系统来记录文件版本, 从而达到保证文件同步的目的。 CVS 版本控制系统是一种 GNU 软件包,主要用于在多人开发环境下的源码的维护。 MyEclipse: (MyEclipse Enterprise Workbench ,简称 MyEclipse) 一个 十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合。功能丰富的 JavaEE 集成 开发环境 。 JUnit:JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架 (regression testing framework) 。Junit 测试是程序员测试,即所谓白盒测 试。 Log4J:Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,可以控 制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等。

二、系统概述

MemoryBox 是一个运用 J2EE 技术,通过 C/S 模式实现用户管理及用户资料 存储的网络硬盘系统。客户端提供用户操作界面,服务端处理用户操作请求。 用户初次登陆需要通过注册获得系统的使用权限, 注册通过后进入系统主界 面,可以进行文件的上传(包括文档、音频、视频等类型的文件)、下载、共享、 删除。同时实现了多文件同时上传、同时下载、文件的断点续传及断点下载等功 能。用户通过其他供应商接口可以实现开通会员等提升用户权限及服务的操作。

三、设计约束

命名约束:类名、方法名与参数名统一采用驼峰法,类名首字母大写,参数 与方法名首字母小写;

-3-

软件架构设计说明书

命名协定:

元 素 该项目的包结构: com.lmemorybox.view 包 com.lmemorybox.action Com.lmemorybox.dao com.lmemorybox.util com.lmemorybox.server 类 接口 所有界面 所有的动作事件 所有数据库访问类 公用组件包 服务逻辑包 命 名 协 定

类的名称应该清楚的标识它所表示的实体,若有多个单词组成,则每个单词首字母 大写。例如,代表用户的类的名字应该叫做‘User’ 。 与类一样 方法(函数)名应该根据它所完成的功能或者返回值决定它的命名。例如, 返回值为布尔型: isMethodName()或 hasMethodName() 返回值为其他类型:getMethodName() 执行删除数据功能:deleteMethodName() 执行修改数据功能:updateMethodName() 执行添加数据功能:addMethodName()

方法(函数)

变量

静态最终变量字母均大写 文件名应该能清晰的标志它们存储的数据的种类。

文件

image-------------存放图片文件 sound-------------存放音频文件 temp-----------------存放临时文件

四、设计策略

本系统采用 C/S 模式设计,基本实现 MVC 模式;采用 JUnit 进行单元测试, 提高软件开发质量;使用 Log4J 记录开发日志,随时进行改进;使用 CVS 系统进 行开发,对项目进程实时更新。

五、系统总体结构

5.1 客户端结构设计:

-4-

软件架构设计说明书

客户端 注 册 登 录

用户信息管理

文件管理

用户安全设置

修 改 信 息

上 传 文 件

下 载 文 件

删 除 文 件

共 享 文 件

找 回 密 码

记 住 密 码

修 改 密 码

图一:客户端模块划分

详细功能描述: ※用户信息管理及安全设置:用户通过注册后在服务端存储各项信息(用户名、 密码、邮箱、个性签名、找回密码问题、密码问题答案等);常用用户登录时可 以选择记住用户名及密码,方便下次登录;当用户名正确而忘记密码时,用户可 以通过回答密码问题修改自己的登录密码; 登陆之后用户可以浏览自己的个人信 息、修改个人信息;用户可以通过第三方付费方式开通会员,提升使用权限,享 受相应的会员服务; ※用户文件管理:用户登录进入主界面,可以选择上传文件、下载文件、删除文 件、共享文件等操作;用户可以新建文件夹来保存自己的所需要的资料;当用户 上传或者下载是出现外部情况变化可以实现文件的断点续传及断点下载;

-5-

软件架构设计说明书

5.2 客户端业务流程:

注册用户 否 是否注册成功 是 用户登录 否 是否登录成功 是

加载主界 面

上传文件

查看我的 资源

查看共享 资源

查看个人信 息

加载上传 进度条

暂停上传

继续上传

取消上传

修改个性 签名

修改密码

移动文件 否

删除文件

重命名文 件

共享文件

下载文件

新建文件 夹

加载下载 进度条

暂停下载

继续下载

取消下载

是否退出系统 是

图二:客户端业务流程

-6-

软件架构设计说明书

5.3 服务端结构设计:

服务端

用户容量控制

用户管理

用 户 级 别 管 理

图三:服务端模块划分

用 户 信 息 管 理

详细功能描述: ※用户容量控制: 根据硬件与软件条件,系统管理员对用户的使用空间有控制权 限; 根据用户不同权限分配不同空间,并且对整个系统的使用空间进行操作与控 制; ※用户管理:审核用户注册信息是否合法,对于不合法用户可以进行删除操作; 存储合法用户信息,没有修改权限;查看用户文件并且审核,对于非法文件进行 删除操作;根据用户开通会员的请求进行用户权限提升的操作;

-7-

软件架构设计说明书

5.4 服务端业务流程:

开启服务 器

用户管理

查找

资源

否 权限管理 是否删除文件 或文件夹 是 是否删除用户 是 删除用户 信息 删除文件 信息

图四:服务端业务流程

5.5 系统部署图:

存储文件 将客户信息和 文件信息存入 数据库

客户通过客户 端访问服务器

客户端

Socket

服务端

图五:系统部署图

-8-

软件架构设计说明书

六、子系统的结构与功能 6.1 用户管理:

加载存储的用户 名及密码

点击登录

是 否

是否存在

输入用户名 及密码

验证用户名 与密码

验证输入信息

图六:用户登录业务流程

6.2 文件管理:

-9-

软件架构设计说明书

选择要上 传的文件 否 是否确定上传 是 建立上传 进度条 撤销 是否已在目录 否中 与服务端 建立连接 是 等待确认 加载新的文件 集合信息 是否传输完成 是 移除进度条及 相关缓存信息 是 将输入流中信息 发送至服务端 否 将本地文件 读入输入流

是否正确 否

图七:文件上传业务流程

选择要下 载的文件 读入服务端发送 过来的文件字节 选择本地存放 文件的目录

是 将文件字节写 入本地文件 否

是否确定下载 是 是否下载完成 发送所需属性 至服务端 否 移除对应进度条 及相关缓存信息 是

等待服务 端确认

是否正确连接

图八:文件下载业务流程

- 10 -

软件架构设计说明书

七、开发环境的配置

客户端:Windows XP及以上运行环境;

JDK 1.6及以上开发环境;

MyEclipse 6.0及以上开发环境; CVS 2.0及以上系统平台;

服务端:Windows XP及以上运行环境;

JDK 1.6及以上开发环境;

MyEclipse 6.0及以上开发环境; CVS 2.0及以上系统平台;

MySql数据库系统;

八、运行环境的配置

客户端:Windows XP及以上运行环境;

MyEclipse 6.0及以上开发环境; 服务端:Windows XP及以上运行环境;

MyEclipse 6.0及以上开发环境; MySql数据库系统;

九、测试环境的配置

运行环境:Windows XP及以上运行环境; 开发平台:MyEclipse 6.0及以上开发环境;

JUnit测试环境;

- 11 -


相关内容

  • [软件架构设计文档]模板
  • 目 录 1. 文档简介 1.1 1.2 1.3 1.4 2. 文档目的 文档范围 定义.缩写词和缩略语 参考资料 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 7 8 10 11 11 11 12 12 12 13 13 13 13 14 14 14 14 15 16 架构描述 ...

  • 软件开发岗位职责描述
  • 目 录 软件开发部经理....................................................................................................................... 2 软件开发部副经理 ........ ...

  • IT公司的项目经理工作职责
  • 主要职责: 1、 计划: a)项目范围、项目质量、项目时间、项目成本的确认。 b)项目过程/活动的标准化、规范化。 c)根据项目范围、质量、时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划。 d)各项计划得到上级领导、客户方及项目组成员认可。 2、 组织: a)组织项目所需的各项资源。 b) ...

  • [软件架构说明书]模板
  • XXXX系统 软件架构说明书 作者:___XX XXXX___________ 审核:___XXXXXXXX____________ 批准:_____XXXX__________ 完成时间:___2014-06-17_______ 文件建立/修改记录 目录 1 简介................. ...

  • 如何写软件设计文档
  • 软件设计的不同模型:瀑布式.快速原型法以及迭代式 自从1968年提出"软件工程"概念以来,软件开发领域对于借鉴传统工程的原则.方法,以提高质量.降低成本的探索就从未停止过.而在这个过程中,提出了许多不同的软件开发模型,典型的有:瀑布式,快速原型法,以及迭代式开发等. 瀑布式模型 ...

  • 2014系统架构设计师论文
  • 第 1 题 2014年下半年系统架构设计师下午试卷-论文 论软件需求管理 软件需求管理是一个对系统需求变更了解和控制的过程.需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴. 需求管理过程中主要包含变更控制.版本控制.需求跟踪 ...

  • 系统架构师学习笔记
  • 第一章 1.1.1 系统架构师的概念 现代信息系统"架构"三要素:构件.模式.规划:规划是架构的基石,也是这三个贡献中最重要的. 架构本质上存在两个层次:概念层,物理层. 1.2.1 系统架构师的定义 负责 理解.管理 并最终确认和评估 非功能性系统需求,给出开发规范,搭建系统实 ...

  • 软件解决方案模板
  • XX 公司(局)XX 平台(信息系统)建设 解 决 方 案 XXXX 科技有限公司 XXXX 年 XX 月 目录 第1章 第2章 2.1 2.2 2.3 第3章 3.1 关于本方案 ........................................................... ...

  • 中小企业服务云平台建设项目设计方案
  • XX 软件园中小微企业公共服务平台 暨XX 软件园中小企业服务云平台 设计方案 目 录 第1章 项目概述 . ............................................................................................... ...