软件架构设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件架构设计说明书 Prepared on 22 November 2020
专业年级: 2008软件工程
题 目: 网络硬盘
组 次: 第二组
组 员: 何 阳 李锦刚
刘宗智
芦明威 王子龙
谢 鹏
张玉祥
指导教师: 吴光伟
2011 年 8 月
一、简介
1、文档介绍
本文档全面与系统的介绍了MemoryBox 网络硬盘系统的构架设计,并且使用多种视图来从不同角度描述本系统的各个主要的方面,以满足各种不同涉众(用户、设计人员)对于本系统不同关注焦点与需求。本文档记录并表述了系统架构设计人员对于系统架构方面做出的重要决策。
项目所有成员根据用户需求通过小组讨论获得项目开发计划,制定系统架构方案;项目组长通过个人所长分配相应的项目开发任务;程序设计人员按照架构方案进行系统计算机与信息工程学院
软件架构设计说明书
详细功能的开发;项目测试人员根据构架设计项目的总体测试框架;构架文档用于各个构件的实施、集成及测试。
2、文档目的
本文档用于指导项目开发人员进行系统功能详细设计;测试人员的测试框架设计;各个构件的实施与集成等。
3、文档范围
本软件架构文档适用于MemoryBox系统的总体应用构架。
4、读者对象
项目组长、程序开发人员、测试人员等相关工作人员。
5、参考资料
《软件项目开发文档》
《软件架构技术》
6、术语与缩写解释
MVC:(Model-View-Controller)中文翻译为"模型-视图-控制器"。
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模式实现用户管理及用户资料存储的网络硬盘系统。客户端提供用户操作界面,服务端处理用户操作请求。
用户初次登陆需要通过注册获得系统的使用权限,注册通过后进入系统主界面,可以进行文件的上传(包括文档、音频、视频等类型的文件)、下载、共享、删除。同时实现了多文件同时上传、同时下载、文件的断点续传及断点下载等功能。用户通过其他供应商接口可以实现开通会员等提升用户权限及服务的操作。
三、设计约束
命名约束:类名、方法名与参数名统一采用驼峰法,类名首字母大写,参数与方法名首字母小写;
命名协定:
四、设计策略
本系统采用C/S模式设计,基本实现MVC模式;采用JUnit进行单元测试,提高软件开发质量;使用Log4J记录开发日志,随时进行改进;使用CVS系统进行开发,对项目进程实时更新。
五、系统总体结构
客户端结构设计:
图一:客户端模块划分
详细功能描述:
※用户信息管理及安全设置:用户通过注册后在服务端存储各项信息(用户名、密码、邮箱、个性签名、找回密码问题、密码问题答案等);常用用户登录时可以选择记住用户名及密码,方便下次登录;当用户名正确而忘记密码时,用户可以通过回答密码问题修改自己的登录密码;登陆之后用户可以浏览自己的个人信息、修改个人信息;用户可以通过第三方付费方式开通会员,提升使用权限,享受相应的会员服务;
※用户文件管理:用户登录进入主界面,可以选择上传文件、下载文件、删除文件、共
享文件等操作;用户可以新建文件夹来保存自己的所需要的资料;当用户上传或者下载是出现外部情况变化可以实现文件的断点续传及断点下载;
客户端业务流程:
图二:客户端业务流程
服务端结构设计:
图三:服务端模块划分
详细功能描述:
※用户容量控制:根据硬件与软件条件,系统管理员对用户的使用空间有控制权限;根据用户不同权限分配不同空间,并且对整个系统的使用空间进行操作与控制;
※用户管理:审核用户注册信息是否合法,对于不合法用户可以进行删除操作;
存储合法用户信息,没有修改权限;查看用户文件并且审核,对于非法文件进行删除操作;根据用户开通会员的请求进行用户权限提升的操作;
服务端业务流程:
图四:服务端业务流程
系统部署图:
图五:系统部署图
六、子系统的结构与功能
用户管理:
图六:用户登录业务流程
文件管理:
图七:文件上传业务流程
图八:
文件下载业务流程
七、开发环境的配置
客户端:Windows XP及以上运行环境;
JDK 及以上开发环境;
MyEclipse 及以上开发环境;
CVS 及以上系统平台;
服务端:Windows XP及以上运行环境;
JDK 及以上开发环境;