软件架构设计说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

专业年级:2008软件工程题目:网络硬盘组次:第二组组员:何阳20083841李锦刚20083846刘宗智20083849芦明威20083850王子龙20083855谢鹏20083857张玉祥20083862指导教师:吴光伟2011年8月计算机与信息工程学院软件架构设计说明书软件架构设计说明书-2-一、简介1、文档介绍本文档全面与系统的介绍了MemoryBox网络硬盘系统的构架设计,并且使用多种视图来从不同角度描述本系统的各个主要的方面,以满足各种不同涉众(用户、设计人员)对于本系统不同关注焦点与需求。本文档记录并表述了系统架构设计人员对于系统架构方面做出的重要决策。项目所有成员根据用户需求通过小组讨论获得项目开发计划,制定系统架构方案;项目组长通过个人所长分配相应的项目开发任务;程序设计人员按照架构方案进行系统详细功能的开发;项目测试人员根据构架设计项目的总体测试框架;构架文档用于各个构件的实施、集成及测试。2、文档目的本文档用于指导项目开发人员进行系统功能详细设计;测试人员的测试框架设计;各个构件的实施与集成等。3、文档范围本软件架构文档适用于MemoryBox系统的总体应用构架。4、读者对象项目组长、程序开发人员、测试人员等相关工作人员。5、参考资料《软件项目开发文档》《软件架构技术》6、术语与缩写解释MVC:(Model-View-Controller)中文翻译为模型-视图-控制器。软件架构设计说明书-3-MySql:MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。CVS:(ConcurrentVersionsSystem)CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。MyEclipse:(MyEclipseEnterpriseWorkbench,简称MyEclipse)一个十分优秀的用于开发Java,J2EE的Eclipse插件集合。功能丰富的JavaEE集成开发环境。JUnit:JUnit是由ErichGamma和KentBeck编写的一个回归测试框架(regressiontestingframework)。Junit测试是程序员测试,即所谓白盒测试。Log4J:Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等。二、系统概述MemoryBox是一个运用J2EE技术,通过C/S模式实现用户管理及用户资料存储的网络硬盘系统。客户端提供用户操作界面,服务端处理用户操作请求。用户初次登陆需要通过注册获得系统的使用权限,注册通过后进入系统主界面,可以进行文件的上传(包括文档、音频、视频等类型的文件)、下载、共享、删除。同时实现了多文件同时上传、同时下载、文件的断点续传及断点下载等功能。用户通过其他供应商接口可以实现开通会员等提升用户权限及服务的操作。三、设计约束命名约束:类名、方法名与参数名统一采用驼峰法,类名首字母大写,参数与方法名首字母小写;软件架构设计说明书-4-命名协定:元素命名协定包该项目的包结构: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客户端结构设计:软件架构设计说明书-5-客户端注册登录用户信息管理用户安全设置文件管理上传文件下载文件删除文件共享文件修改密码记住密码找回密码修改信息图一:客户端模块划分详细功能描述:※用户信息管理及安全设置:用户通过注册后在服务端存储各项信息(用户名、密码、邮箱、个性签名、找回密码问题、密码问题答案等);常用用户登录时可以选择记住用户名及密码,方便下次登录;当用户名正确而忘记密码时,用户可以通过回答密码问题修改自己的登录密码;登陆之后用户可以浏览自己的个人信息、修改个人信息;用户可以通过第三方付费方式开通会员,提升使用权限,享受相应的会员服务;※用户文件管理:用户登录进入主界面,可以选择上传文件、下载文件、删除文件、共享文件等操作;用户可以新建文件夹来保存自己的所需要的资料;当用户上传或者下载是出现外部情况变化可以实现文件的断点续传及断点下载;软件架构设计说明书-6-5.2客户端业务流程:注册用户用户登录是否注册成功是否是否登录成功否加载主界面是新建文件夹上传文件查看我的资源查看共享资源查看个人信息暂停上传继续上传取消上传加载上传进度条下载文件加载下载进度条重命名文件删除文件移动文件共享文件暂停下载继续下载取消下载是否退出系统修改个性签名修改密码是否图二:客户端业务流程软件架构设计说明书-7-5.3服务端结构设计:服务端用户容量控制用户管理用户级别管理用户信息管理图三:服务端模块划分详细功能描述:※用户容量控制:根据硬件与软件条件,系统管理员对用户的使用空间有控制权限;根据用户不同权限分配不同空间,并且对整个系统的使用空间进行操作与控制;※用户管理:审核用户注册信息是否合法,对于不合法用户可以进行删除操作;存储合法用户信息,没有修改权限;查看用户文件并且审核,对于非法文件进行删除操作;根据用户开通会员的请求进行用户权限提升的操作;软件架构设计说明书-8-5.4服务端业务流程:开启服务器用户管理查找资源权限管理是否删除用户删除用户信息是否删除文件或文件夹删除文件信息否是否是图四:服务端业务流程5.5系统部署图:客户端服务端Socket客户通过客户端访问服务器存储文件将客户信息和文件信息存入数据库图五:系统部署图软件架构设计说明书-9-六、子系统的结构与功能6.1用户管理:加载存储的用户名及密码是否存在点击登录是输入用户名及密码否验证用户名与密码验证输入信息图六:用户登录业务流程6.2文件管理:软件架构设计说明书-10-选择要上传的文件是否确定上传建立上传进度条是否已在目录中与服务端建立连接等待确认是否正确将本地文件读入输入流将输入流中信息发送至服务端是否传输完成移除进度条及相关缓存信息加载新的文件集合信息否是否是否是否是撤销图七:文件上传业务流程选择要下载的文件选择本地存放文件的目录是否确定下载发送所需属性至服务端等待服务端确认是否正确连接读入服务端发送过来的文件字节将文件字节写入本地文件是否下载完成移除对应进度条及相关缓存信息是是否是否图八:文件下载业务流程软件架构设计说明书-11-七、开发环境的配置客户端:WindowsXP及以上运行环境;JDK1.6及以上开发环境;MyEclipse6.0及以上开发环境;CVS2.0及以上系统平台;服务端:WindowsXP及以上运行环境;JDK1.6及以上开发环境;MyEclipse6.0及以上开发环境;CVS2.0及以上系统平台;MySql数据库系统;八、运行环境的配置客户端:WindowsXP及以上运行环境;MyEclipse6.0及以上开发环境;服务端:WindowsXP及以上运行环境;MyEclipse6.0及以上开发环境;MySql数据库系统;九、测试环境的配置运行环境:WindowsXP及以上运行环境;开发平台:MyEclipse6.0及以上开发环境;JUnit测试环境;

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功