




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word铁路售票系统架构评审文档虚拟的一人多角色的评估小组,成员列表如下:表1:评估小组成员列表成员角色评估小组负责人、评估总结者、提问者、场景书记员、时间管理者评估负责人、提问者、架构设计师、提问者、进展书记员、数据收集人、提问者、领域专家、资料员时间管理者、提问者、场景书记员、资料员目录铁路售票系统架构评审文档1引言3编写目的:3背景:3定义:3三层架构软件设计3ATAM架构评审模式3参考资料:4第0阶段:合作关系及准备工作4第1阶段:评估阶段5工程产品立项表述:5架构方法分类:5架构表述:6初步架构类图:7质量属性及采用的战术:7生成质量属性效用树:8初步分析架构方法:9性能9可用性10
2、平安性10战术采用10第2阶段:评估阶段11集体讨论并确定场景的优先级:11再次分析架构方法:12三层结构选择12LRU缓冲技术分析12MD5加密存储分析12备份数据库13改良架构类图14结果表述14第3阶段:后续阶段14附录15拟采用架构评审方法中的ATAM方法15引言编写目的:本文档的编写目的是对铁路售票系统架构设计进行简略的评审,为后继的详细工程设计等工作提供参考和依据,本文档主要描述的内容有:l 表述l 调查和分析l 测试l 形成报告本文档的预期读者为:系统设计人员、测试人员、用户及其它有权限查阅本文档的相关人员。背景:l 系统名称:铁路售票系统l 任务提出者:黄东鹏、张付俊、孙帅l
3、开发者承接单位:开发小组l 用户:网上订购铁路车票的人定义:三层架构软件设计所谓三层体系结构,是在客户端与数据库之间参加了一个中间件层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规那么、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。ATAM架构评审模式1.概述Architecture Tradeoff Analys
4、is Method(构架权衡分析方法。他是评价软件构架的一种综合全面的方法。这种方法不仅可以揭示出构架满足特定质量目标的情况,而且因为它认识到了构架决策会影响多个质量属性可以使我们更清楚地认识到质量目标之间的联系即如何权衡诸多质量目标。ATAM评估方法的主要目的: 1) 提炼出软件质量属性需求的精确描述; 2) 提炼出构架设计决策的精确描述; 3) 评估这些构架设计决策,并判定其是否令人满意的实现了这些质量需求。ATAM评估方法并非把每个可以量化的质量属性都进行详尽的分析,而是使众多的风险承当者包括经理、开发人员、测试人员、用户、客户等等都参与进来,由此而到达上述目标的。 ATAM是一种挖掘潜
5、在风险,降低或者缓和现有风险的软件构架评估方法。因此,以下三点是评估中要特别注重的:风险、敏感点和权衡点。2构架涉众 普通用户、用户管理员、票务管理员、开发人员、测试人员参考资料:Software ArchitectureinPractical第三版第0阶段:合作关系及准备工作此次对工程的评估方法经小组协商讨论是采用ATAM架构评估综合方法。待评估的工程系统为铁路售票系统。这是一个基于B/S的体系的常见应用,基于网络连接实现铁路票务的相关业务。对其进行架构评估主要有如下几个原因:1. 在架构搭建的过程中一定会碰见许多一致或者未知的问题和困难,如果在核心功能模块或者架构本身的设计根本上出现缺陷,
6、尽早的发现对于晚发现,甚至完成工程后才发现的综合本钱要低得多;2. 由于该架构面向多个用户多平台,因此要有足够的健壮性,稳定性,可拓展性以及可修改性;3.由于该系统借助了网络的传播性,可以随时随地的对系统进行管理和维护,但是网络的泛滥使得网络环境总是充满着有意无意的攻击,为了防止系统所部属的效劳器沦为肉鸡的下场,或者内部数据被恶意破坏造成重大损失,所以系统应保证相对的平安性,使得入侵者所花费的入侵本钱>入侵系统的获利本钱或客户损失。第1阶段:评估阶段工程产品立项表述:随着现代交通的开展,在基于经济以及便利的考虑根底上,铁路出行成为广阔人民首选的性价比最高的交通方式。但随着经济的开展,人工
7、售票逐渐不能满足庞大人口数量的根本购票需求。随着互联网的开展,网络购票的普及解决了这个主要矛盾。根据上述目标,质量属性可以划分为两类:1高优先级质量属性:1) 性能2) 平安性3) 易用性4) 兼容性2重要但优先级较低的属性:1) 可扩展性2) 可维护性3) 可靠性4) 可扩充架构方法分类:进行了架构表述后,评估小组列出他们曾听到的架构方法,以及那些在对文档进行评估前的评审中所了解到的方法:一、 分层架构这种架构将软件分成假设干个水平曾,每一层都有清晰的角色和分工,不需要知道其他层的细节,层与层之间通过接口通信。二、 事件驱动架构事件是状态发生变化时,软件发出的通知。事件驱动架构就是通过事件进
8、行通信的软件架构。分为:事件队列、分发器、事件通道、事件处理器。三、 微核架构又称为“插件架构,指的是软件的内核相对较小,只要功能和业务逻辑都通过插件实现。内核通常只包含系统运行的最小功能。插件那么是相互独立的,插件之间的通信,应该减少到最低,防止出现相互依赖的问题。四、 微效劳架构是效劳导向的架构的升级。每一个效劳都是一个独立的部署单元。这些单元都是分布式的,互相解耦,通过远程通信协议联系。五、 云架构云架构主要解决扩展性和并发问题,是最容易扩展的架构。它的高扩展,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个单元。比方访问量增
9、加,就新建单元处理;访问量减少,就关闭但处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。这个模式主要分成两局部:处理单元和虚拟中间件。架构表述:软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的根底。考虑到票务系统的特点,将使用三层结构进行系统的架构。初步架构类图:质量属性及采用的战术:目标实现方式所采用战术性能用户访问系统能在规定时间内做出响应,如不能应反应相应的提示。缓冲技术云效劳器分流队列等待平安性用户信息不被泄露、支付平安信息加密易用性操作难度
10、让系统能适应大局部群众界面简洁兼容性能在多平台运行易移植编码可维护性系统能在出现问题时得到及时修复,管理员能进行信息更新分层架构设计可扩展性在出现新需求时能够添加新功能,如支付渠道的增加支付渠道的选择预留接口可扩充性在出现新需求时能够添加新功能,如支付渠道的增加支付渠道的选择预留接口可靠性在程序的使用过程中出错概率要尽量小,出错了要能够及时修复标准编码生成质量属性效用树:下表给出了在对铁路售票系统评估期间生成的质量属性效用树,有几个质量属性求精没有与之相关的场景。这种情况经常出现,这并不是问题,对于某个质量属性,人们有时能够想出一个合理的求精,但当让他们在自己的系统的上下文中对该质量属性的用例
11、进行说明时,却发现该求精实际上并不适用。表 2:对铁路售票系统进行ATAM评估的效用树表格质量属性属性求精场景性能最大负载响应时间吞吐量当开票时,用户量剧增,能够同时负载至少500的用户同时访问H,H用户输入数据后在网络畅通的情况下应能在s内给出相关信息H,M日最高订票量500万张按目前网络订票系统工作18小时算,每秒处理订单量为78张H,H平安性数据存储注册验证登录验证密码强度当用户注册时,系统将用户的信息加密后存入数据库;当用户登录时,系统将数据加密后再与数据库的内容进行比拟,防止传输过程被窃取泄露。H,L当用户注册时,为确认为真人操作,存在 信息验证码验证,并且60s内不允许重复获取验证
12、码。H,L当用户登录时,连续输入两次错误密码后,再次登录需要根据系统给出图片验证码输入正确的验证码才能完成登录,图片验证内容随机生成,并且随机生成条纹遮挡字符,防止机器验证。H,L当用户注册时系统根据用户的密码显示相应的密码强度以提示用户增强密码强度。密码强度根据密码内容字符类型以及长度确定。为了确保根本的平安性以及防止用户遗忘密码,用户密码长度范围限制为6-16位。H,L易用性用户通过输入简单的查询信息就能够得到对应的相关数据并让用户轻易完成购置H,M兼容性多系统支持在相同平台的不同系统上也能够正常运行H,H可维护性管理员功能维护管理系统自动报错管理员能够在铁路信息、用户信息需要更新时进行及
13、时更新,并同步数据给用户H,M当出现了不可防止的错误时,可以及时进行维护修复H,M可以定位出系统报错内容、报错位置M,L可扩展性添加新功能在出现新需求时能够添加新功能,如支付渠道的增加支付渠道的选择M,L可扩充性功能业务的子模块随着开展和意见的收集,能够根据情况添加新的业务功能,如外卖预定M,M可靠性不易出错在程序的使用过程中出错概率要尽量小,出错了要能够及时修复H,H表中的场景给出了决策者所分配的优先级。在每一对有序的字母中,第一个代表能力的重要性,第二个代表设计师对实现该质量属性的难度的估计。我们需要注意到,一些场景已经很完备了,具备了刺激、环境和响应三个局部;一些场景没有刺激,还有一些场
14、景没有响应。在这个阶段,只要涉众能够理解场景的含义,不明确的场景说明是允许的。如果所选择的场景用于进行分析,那么该场景中的刺激和响应必须得到足够的明确。初步分析架构方法:评估小组首先分析最重要而且最难实现的场景,每次分析一个最高优先级的场景,同时我们的设计师详细地解释了构架如何支持每个场景。小组成员探查设计师用来实现场景的架构方法,把相关架构决策编成文档,一共确定了个8敏感点,4个风险点,3个无风险决策。性能场景系统访问量到达顶峰属性性能环境系统处于顶峰访问时期刺激用户请求访问响应良好响应请求架构决策敏感点权衡点有风险决策无风险决策超出限制访问量的请求放在等待S1R1缓存S2R2N1云效劳器分
15、流S3数据库连接池S4N2推理1、 由于在系统部署的时候用的是单应用效劳器,而一台应用效劳器可同时支持的并发用户数量是很少的,在几千甚至上万的用户访问系统时,由于限制最大访问量,不能保证每个用户都能随时登录,降低用户的满意度。2、 单效劳器提供的缓存数有限3、 防止了非法用户的恶意攻击,但有可能降低系统的可用性4、 减轻数据库的负担,提高系统的性能可用性场景系统备份与恢复属性可用性环境系统发生错误刺激用户进行恢复响应尽快恢复并未用户提供有意义的反应信息架构决策敏感点权衡点有风险决策无风险决策系统备份S5R3故障恢复S6R4数据库备份S7推理1、 系统备份是进行故障恢复的前提,但频繁的备份会影响
16、正常的业务处理,存在一定的风险2、 如果因为系统掉电或其他操作,利用备份数据可以很快恢复。但由于使用的是但效劳器机制,一旦这台效劳器出现故障或者崩溃,硬件发生故障,系统的回复时间会很长,存在风险。平安性场景用户信息传输属性平安性环境信息泄露响应信息加密架构决策敏感点权衡点有风险决策无风险决策信息加密S8N3推理1、 信息可能在传输过程中被截获2、 信息加密传输,并且以加密格式在数据库中校对可以防止恶意获取信息3、 信息加密不影响性能,还能提高信息的平安传输和数据库平安战术采用采用战术敏感点S有风险决策R访问量激增使用LRU缓冲提高了系统的工作效率单效劳器提供的缓存数目有限,并发用户多的情况下,
17、系统处理缓慢超出限制访问量的请求放在等待队列中提高了系统的稳定性和可用性,减少了崩溃的可能会降低最大并发数目,使得用户等待时间过场,可能造成用户不满云效劳器分流分流访问量,提高效率锁机制解决多管理用户同时访问修改同一数据可能产生管理用户长期占用资源,降低资源使用率备份数据库防止数据库物理性破坏数据库连接池数据库连接池允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个,提高应用系统的性能系统备份与恢复增强系统的容错能力操作系统和数据库软件发生崩溃时,回复时间较长MD5加密防止用户信息泄露第2阶段:评估阶段集体讨论并确定场景的优先级:下表给出了在本步骤中提出的某些局部感兴趣场景进行重点
18、分析。按重点次序罗列,由于篇幅有限,有些细微场景没有列出,只列出了认为重要场景。表1:集体讨论确定的场景场景号场景1为了防止软件抢票,应在对一个相同的用户的屡次请求进行分析。如:验证码两次输入错误之间的之间间隔。当判定不是软件抢票时,应当随着验证错误次数的增加降低验证难度2用户账户与付款的绑定、多种支付方式、以及平安性的要求。在保证平安性的前提下应该能够让用户通过最简洁的流程选择自己适宜的支付流程。3信息密传输4突然激增的流量导致效劳器处理缓慢,甚至崩溃异常,要求对有害信息进行过滤,使用LRU缓冲计数减少效劳器负担,增加效劳器工作效率。5用户访问的相关车次查询、买票、下订单、付款、改签、退款的
19、流程应直观、简洁。6支持新车次添加、旧车次删除、用户信息修改操作等。7如果存在多个管理员时怎么并发管理系统,如果多个管理员对同一数据进行修改时应如何保护数据不被屡次修改。这里考虑到参考锁机制。再次分析架构方法:三层结构选择由于票务数据以及用户数据量庞大,而三层结构的特点将数据层、逻辑层以及表现层分隔开,在开发上降低了复杂度。并且考虑到系统的开发效率,三层结构使工程结构更清楚,分工更明确。考虑到用户数量多,并且票务信息随时都有可能发生变化,使用三层结构有利于后期的维护、更新和升级。并且数据的差异性大,将三层架构中的控制层进行了细分,实现低耦合、并行开发。为解决访问流量大的问题,效劳器考虑使用LR
20、U缓冲计数以提高效劳器工作效率和改善用户体验。并且出于对大量用户信息平安的角度考虑,数据的传输和校验采用MD5加密方式。在集中的讨论中,我们重点讨论了上述问题的解决方案,考虑到时间和空间的限制,我们就第一二个详细展开说明,以及分析和权衡。LRU缓冲技术分析比方说一些系统登录的操作,不可能每次你访问系统都去调用数据库的东西,如果能划出一些空间来,比方说500M,用来缓存这些东西,这样用户访问的时候先在缓存里找,找不到,再去访问数据库,同时把被访问的内容放到缓存里面我们可以假设这些东西还会经常被访问。然而,我们分配用来做缓存Cache的空间肯定是有限的,总不可能从数据库读的东西全部放到缓存里,所以
21、,当缓存里的内容到达上限值的时候,我们就要把最少使用的东西写回数据库,再将新的访问内容从数据库暂存到缓存里面。以此保证效劳端的效率和使用度。MD5加密存储分析MD5将任意长度的“字节串变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。将客户端的内容数据进行加密后传输到数据库进行校验,这样可以防止在传输过程中数据被盗取的平安性问题。备份数据库 由于存储的数据信息内容数量庞大,一旦效劳器出现问题,数据丧失将会导致巨大的损
22、失。所以在之前的部署上添加了备份数据库,防止数据丧失。改良架构类图结果表述(1) 由于开发人员对架构缺乏一定的熟练度,我们决定边学边做,碰见一些解决不了的问题采用在文档中总结报告,记录下来,优先完成功能模块的实现环节;(2) 平台开发入门槛较低,产品容易被模仿,需要及时更新设计以摆脱竞争对手,所以应该预留系统API接口,为不管是以后管理方设计更改界面还是可以由用户自定义开发界面都能起到良好的促进作用。第3阶段:后续阶段ATAM评估的一个具体结果就是生成了最终报告,该报告包括一个有风险决策、误风险决策、敏感点和权衡点的列表。还包括一个涉及如下内容的目录:所使用的架构方法、效用树、经过集体讨论确定
23、的场景以及所选择的每个场景的分析记录。最后,最终报告还包括由该评估小组所确定的风险主题的集合,并指出了每个风险主题所危及的商业动机。附录拟采用架构评审方法中的ATAM方法对ATAM模型方法的简略描述:软件构架的评估方法:SAAM和ATAM。这里只详细说明ATAM方法。ATAM一种进行构架评估的综合方法,ATAM是评估软件构架的一个健壮的方法。在该方法中,工程决策者和涉众要清晰地阐述一个准确的质量属性需求列表以场景的方式,并说明与实现每个高优先场景相关的构架决策。然后,把这些决策确定为有风险决策或无风险决策,以找到构架中任何存在问题的地方。ATAM不是需求评估。ATAM不是代码评估。ATAM不包括实际的系统测试。ATAM不是一个准确的手段,但它识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安达市2025-2026学年七年级下学期语文月考测试试卷
- 2025 年小升初温州市初一新生分班考试语文试卷(带答案解析)-(部编版)
- Python大模型基础与智能应用(微课版)课件第9章 云服务器微调训练大模型应用案例
- 2025年小学美术教师的教学总结3篇
- 2025数学个人教学任务总结范文
- 陕西省咸阳市三原县2024-2025学年八年级(下)期末物理试卷(含答案)
- 第十三章 三角形 单元试卷(含答案) 2025-2026学年人教版数学八年级上册
- 买卖介绍居间合同范本
- 购买养殖围网合同范本
- 房房出租合同范本
- 广西桂林旅游文化宣传城市介绍文旅科普美食
- 学校栏杆工程施工方案
- 餐厅转包合同范本
- 2024年锅炉操作工(技师)职业鉴定理论考试题库(含答案)
- 人力资源许可证制度(服务流程、服务协议、收费标准、信息发布审查和投诉处理)
- 外研版(2024)七年级上册英语Starter教学设计
- 湖南省益阳市安化县古楼乡龙马教学点2023-2024学年五年级下学期7月期末语文试题
- 考研保录取合同
- CJ∕T 453-2014 地铁隧道防淹门
- 2019译林版高中英语全七册单词总表
- 《湖北省安全生产条例》考试复习题库80题(含答案)
评论
0/150
提交评论