南昌大学软件体系结构2013

  • 格式:docx
  • 大小:141.12 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件学院大作业任务书题目:即时聊天软件架构设计与分析

专业:软件工程

班级:软件设计102班

组员:刘翼(8000110197)

谢金林(8000110211)

匡唐喜(8000110190)

刘威(8000110195)

完成人数:4人

起讫日期:2013/5/28

任课教师:刘晓强(博士)职称:博士

部分管主任:

完成时间:2013/6/12

目录

1引言 (3)

1.1编写目的 (3)

1.2背景 (4)

2任务概述 (4)

2.1系统说明 (4)

2.1.1概述 (4)

2.1.2总体系结构 (4)

2.1.3系统业务流程 (7)

2.2体系结构的目标 (9)

2.3体系结构的描述方法与规范 (9)

3体系结构描述 (9)

3.1服务端结构 (9)

3.1.1服务端功能描述 (10)

3.2.1服务端逻辑层体系结构 (11)

3.2.2构件 (12)

3.2.3连接件 (12)

3.2.4约束 (13)

3.3服务端数据访问层体系结构 (14)

3.3.1构件 (14)

3.3.2连接件 (15)

3.3.3约束 (15)

3.4.1构件 (16)

3.4.2连接件 (16)

3.4.3约束 (16)

3.6.1客户端功能描述 (16)

3.7客户端分层架构体系 (17)

3.8客户端逻辑层架构 (17)

3.8.1构件 (17)

3.8.2连接件 (18)

3.8.3约束 (18)

3.9客户端数据层架构 (18)

3.9.1构件 (19)

3.9.2连接件 (19)

3.9.3约束 (19)

4.0客户端表示层架构 (20)

4.0.1构件 (20)

4.0.2连接件 (21)

4.0.3约束 (21)

5小结 (21)

6参考文献 (22)

1引言

1.1编写目的

体系结构是大型软件系统设计的重要环节。一个系统的软件体系结构,是由软件的大粒度结构组成,它描述系统的组成部分,以及在高的层次上这些组成部分是如何互动的。分析软件的体系结构主要有以下四个作用:

1.体系结构提供在整个软件开发过程中沟通的基础,使得指导团队在

关键

决策方面达成一致,形成共同认识。

2. 软件体系结构提供系统原型分析的基础,有助于减少软件开发风险,并

有助于估计系统的性能。

3. 软件体系结构是最早期软件设计决策,提供进行详细设计和软件组织结

构的约束。

1.2背景

随着internet的飞速发展信息交流成了大家必不可少的活动,即使聊天软件成了我们不不可少的一部分,现就以时下比较流行的即时聊天软件进行架构设计。

2任务概述

2.1系统说明

本次就构建一个三层结构的即使聊天工具为课题,进行一次较为深入的软件体系结构的设计与分析,就软件体系中出现的问题进行探讨,并采取相应的解决措施。对软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等进行深入的演练。

2.1.1概述

这次的工程采用c/s模式,分服务端和客户端,同时在服务端和客户端都采用三层或是多层次的架构设计。这样做的好处是三层体系结构中,客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。三层结构是个更灵活的体系结构,它把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里显示。业务逻辑层现在处于中间层,不需要关心由哪种类型的客户来显示数据,也可以与后端系统保持相对独立性,有利于系统扩展。三层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负载平衡。三层结构中安全性也更易于实现,因为应用程序已经同客户隔离。应用程序服务器是三层/多层体系结构的组成部分,应用程序服务器位于中间层。

2.1.2总体系结构

总体结构为采用c/s模式:

说明:C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web 和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。

服务端和客户端的三层架构:

说明:1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

2.1.3系统业务流程

服务端:

服务端可以分解为以下几个部分:

表示层:用户界面

逻辑层:协议解析器核心控制器事务处理器信息维护器

数据层:数据访问器

用户界面:管理人员对服务器进行管理与维护的界面,管理人员可以通过操作界面管理客户的相关信息,也可以通过命令对服务器进行相关维护。

协议解析器:对于客户端与服务器之间的通信进行加密与解密同时约束通信流程,这样可以使的客户端与服务端能进行良好的无差异的通信,也能起到一定的加密安全功能。

核心控制器:服务器启动时核心控制器会读入事务处理对应关系表并维护他,当核心控制器启动后会接收由协议解析器传来的解析后的命令与信息。通过维护的事务关系表进行事务的创建与传递并能控制事务的执行。

事务处理:由程序员编写的能独立完成一定功能的模块,即这个事务能独立的完成一定功能。

客户信息维护:对客户的信息进行维护,服务端能对客户的登入ip以及其他信息进行维护,这样当其他客户端进行通信时能够构建相应的链接。

客户端: