1、软件架构设计说明书23软件架构设计说明书【图书杂志采购和借阅系统】2010-5-8华南理工大学软件学院07软件(2)班 小组 指导老师:王振宇小组成员:陈军、傅桔选 胡立、沈书毅编写:沈书毅、胡立目录一、简介41.编写目的42.文档范围43.定义44.参考资料5二、架构表示方式5三、架构设计目标与约束51.关键功能需求62.关键质量需求83.开发策略8四、用例视图91.概述92.关键用例9五、逻辑视图161.概述162.系统层次模型163.主要的设计包和子系统17六、进程视图171.概述172.角色进程视图17七、实施视图211.概述21实施模型视图22八、部署视图231.概述232.部署方案
2、视图23一、 简介1. 编写目的本文档全面与系统地表述了图书杂志采购和借阅系统的构架,并通过使用多种视图来从不同角度描述本系统的各个主要方面,以满足图书杂志采购和借阅系统的相关涉众(客户、设计人员等)对本系统的不同关注焦点和需求。本文档记录并表述了系统架构的设计人员对系统构架方面做出的重要决策。项目经理将根据构架定义的构件结构制定项目的开发计划;程序设计员将据此进行各构件的详细设计;测试设计员按照构架设计系统的总体测试框架;另外构架文档还用于指导各构件的实施、集成及测试。本文档的预期阅读人员为项目经理、程序设计人员、测试人员和其他有关的工作人员。2. 文档范围本软件架构说文档适合于图书杂志采购
3、和借阅系统的总体应用架构。3. 定义a SSH: 由Struts, Spring, Hibernate一起组成的3个开源框架,用于构建灵活、易于扩展的多层Web应用程序。b Mysql: 一个小型关系型数据管理系统,开发者为瑞典Mysql AB公司,属于开源软件。c JSP: JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。d. Javascript: 为客户提供更流畅的浏览效果。 e. Myeclipse: 开发工具。4. 参考资料1. Struts+Hibernate+Spring开发入行真功夫,电子工业
4、出版社。2. 文档写作指南,清华大学出版社。3. 图书杂志采购和借阅系统需求设计说明书。4. 图书杂志采购和借阅系统概要设计说明书。二、 架构表示方式本软件架构设计文档以一系列的视图(View)来表示系统的软件构架,主要包括用例视图、逻辑视图、进程视图、部署视图、实施视图等,每个视图拥有一个或多个模型(Model)。并围绕相关视图来描述系统的基本结构、组成机制与工作原理等。本软件架构设计文档还将系统的构架机制描述也放在了逻辑视图之下。本文档主要使用统一建模语言(UML)来充当相关模型的表达语言;主要图表(Diagram)引用自图书杂志采购和借阅系统的Rose Model。三、 架构设计目标与约
5、束描述构架设计最主要目标就是满足关键系统功能需求和质量约束,这些功能需求和质量要求对软件构架有重大的影响,并决定了构架的设计。本节同时还列明影响构架的其他相关因素,如软件的复用策略、使用商业构件、设计与实施的策略等。1. 关键功能需求按照需求分析文档的规格要求,本图书杂志采购和借阅系统的设计分成了以无登录一般功能、读者功能模块以及管理员功能模块为主的三大模块进行开发,而在此三大模块的的基础上,又细分成了图书信息管理、读者信息管理等子功能模块。系统的开发主要是为了使图书的管理工作更加规范化、系统化和程序化,提高信息处理的速度和准确性,提高读者对求知的用户体验。其功能模块示意图如下所示:l 采购管
6、理模块采购管理模块是图书采购人员进行采购业务的工具,该业务包括图书订购、取消订购、验收确定、编目入库四个主要的流程。对于其他途径所得来的图书,比如说捐赠、交换则需要经过清点确认后编目入库。在必要的时候可以同其他模块进行交互以完成业务。l 流通管理模块流通是图书馆业务的主要环节之一,包括借书、还书、续借以及根据借换情况进行相应的罚款处理。借书时对于超期、未交罚款、证件有效期、预约以及其它违规因素能进行自动区别以决定用户是否有借书的权限。在流通的过程,还存在有一个图书维护的流程,也就是说某些图书需要下架修补,修补完成后再重新上架。在修补的过程中用户是无法借到此书的。l 用户管理模块该系统的用户包括
7、图书管理人员、普通的借阅者、采编人员以及系统的管理人员(后台的管理人员)。不同的人员具有不同的权限,每种角色都可以查询修改自己的相关信息。系统的管理人员可以增加、删除以及修改修改其他所有人员的信息。l 库存管理模块图书的增加、减少以及有关图书信息的修改,一般有图书管理人员来完成。l 查询模块为了使读者能方便地查询和实现简单操作,系统提供了公共查询和个人查询。公共查询对所有读者都开放的信息,包括根据多种条件进行藏书查询、新书通报和图书推荐等功能。个人查询在读者通过在线登录以后才能实现授权功能的访问,包括借阅图书查询、历史借书查询、续借处理、图书催还、预约处理、违规记录和登录信息修改等。2. 关键
8、质量需求由于此开发项目针对一般事业单位图书馆,使用频度较高,使用性要求比较高。为防止对信息资料和管理程序的恶意破坏,要求有较为可靠的安全性能。总之,要求稳定、安全、便捷,易于管理和操作。l 查询速度:不超过10秒;l 其它所有交互功能反应速度:不超过3秒;l 可靠性:平均故障间隔时间不低于200小时。3. 开发策略l 软件复用策略系统中重要基础构件应当具备较高的设计与构建质量,可以在产品中复用。l 使用开源架构本系统采用了一个开源的框架struts。Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。Struts就
9、是在JSP Model2的基础实现了MVC设计模式的WEB Framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。四、 用例视图1. 概述用例视图从用户使用的角度描述系统构架的基本外部行为特性,通常包含业务用例模型与系统用例模型。业务用例模型不适用于本系统,这里只关注系统用例。这里选取了用例模型中对系统构架的内容产生重大影响的应用场景与用例集合,这些用例代表了系统主要的核心功能,决定了系统构架的基本组成元素。有些用例强调或决定了构架的某些具体然而重要的细节,通常也可以列在本节内,总之所列的用例集合应基本覆盖系统构架的主要方面。2
10、. 关键用例l 关键的系统参与者a 游客的用例游客的用例说明用例名称简单描述图书信息查询根据用户输入图书信息进行图书查询排行榜查阅新书推荐排行榜,借阅排行榜,优质书籍排行榜系统信息公告查阅系统公告登录根据用户账号和密码登录注册游客填写基本信息并注册成为读者后可以享受读者功能系统使用导航查阅系统相关使用说明b. 读者的用例读者的用例说明用例名称简单描述图书预约对相关图书进行预约查看借阅、归还信息查阅用该用户相关的图书借阅、归还信息个人信息管理对该用户的个人基本信息进行管理违规记录查询查询该用户怕图书违规记录登录根据用户账号和密码登录c. 图书管理员的用例图书管理员的用例说明用例名称简单描述登录根
11、据用户账号和密码登录图书信息管理对图书进行管理读者管理对读者进行管理系统信息管理对系统相关信息进行管理读者借阅归还管理对读者借阅归还图书情况进行管理系统管理员的用例d. 系统管理员的用例说明用例名称简单描述登录根据用户账号和密码登录图书管理员管理对图书管理员进行相关的管理采购管理员管理对采购管理员进行相关的管理e. 图书采购管理员的用例f. 图书采购管理员的用例说明用例名称简单描述登录根据用户账号和密码登录图书订购订购图书图书采购入库对新订购的图书进行入库标识个人信息管理对该用户进行个人基本信息管理l 关键的系统用例五、 逻辑视图1. 概述逻辑视图从系统内在逻辑结构的角度描述系统的基本结构与动
12、态行为,通常包括分析模型(Analysis Model)、设计模型(Design Model)以及数据模型(Data Model)等。设计模型说明了系统的组成元素、组织架构和关系,并描述了各组成元素的协作以及状态转换关系等(通过用例实现Use Case Realization予以表达)。本节将分别在系统层次结构模型中描述系统的层次组织结构;在主要的包和子系统中说明系统的具体组成。2. 系统层次模型3. 主要的设计包和子系统六、 进程视图1. 概述进程视图从系统运行时刻的角度,描述系统划分为进程、线程的结构,及其动态关系。模型主要说明不同系统角色之间的创建、交互和消息通讯关系等。2. 角色进程视
13、图l 搜索图书信息:l 图书采购管理员录入图书信息:l 游客注册:l 读者修改个人信息:l 读者预约图书过程:l 读者查询借阅信息:l 系统管理员添加图书管理员:七、 实施视图1. 概述本部分从编译与构建的角度,描述系统实施构件的组织结构与依赖关系(主要是编译依赖)。模型包括实施子系统和构件结构,及其依赖关系。同时还表达了逻辑视图中各个包和类分配到实施视图中的子系统和构件的映射关系。实施模型视图八、 部署视图1. 概述从系统软硬件物理配置的角度,描述系统的网络逻辑拓扑结构。模型包括各个物理节点的硬件与软件配置,网络的逻辑拓扑结构,节点间的交互和讯关系等。同时还表达了进程视图中的各个进程具体分配到物理节点的映射关系。2. 部署方案视图07软件二班图书杂志采购与借阅系统开发小组23 |