软件架构案例分析_第1页
软件架构案例分析_第2页
软件架构案例分析_第3页
软件架构案例分析_第4页
软件架构案例分析_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c票务系统架构案例分析方法表述c10.2商业动机的表述10.3构架的表述10.4质量属性效用树10.5质量场景的构架分析10.6对系统构架的再分析10.7评审结论ATAM方法表述(1)概述ATAM(ArchitectureTradeoffAnalysisMethod):SEI提出的一种软件构架评估方法。ATAM评估方法的、主要目的:提炼出软件质量属性需求的精确描述;提炼出构架设计决策的精确描述;评估这些构架设计决策,并判定其是否令人满意的实现了这些质量需求。ATAM评估方法:并非把每个可以量化的质量属性都进行详尽的分析,而是使众多的风险承担者(包括经理、开发人员、测试人员、用户、客户等等)都参

2、与进来,由此而达到上述目标的。ATAM是一种挖掘潜在风险,降低或者缓和现有风险的软件构架评估方法。因此,以下三点是评估中要特别注重的:风险、敏感点和权衡点。(2)构架涉众普通用户vcv用尸管理员票务管理员开发人员测试人员(3)评估步骤TOC o 1-5 h zATAM主要分以下几个步骤:(1)ATAM描述;|2)商业动机表述;3)软件构架表述;4)确定构架方;式;I5)生成效用树;|6)分析构架方式;r推述和介绍阶段调査和苻析阶段测试阶段7)确定场景及其优先级;|讨琵质量需求的次序8)进一步分析构架方式;I+I分析体系结构步骤提交结果9)得出结论。10.2商业动机的描述项目经理从开发组织和客户

3、角度,来表述票务系统的商业目标,综合如下:从开发组织角度:开发一个模块性强、实时高效、界面良好、与外部其他系统兼容良好的系统,这使得开发组织能够把整个产品或某个模块卖给其他客户,同时由于良好的界面和业务处理效率而受市场欢迎。从客户角度:系统容易操作,可维护性好、系统稳定、可以及时准确的处理用户的在线订票或查询业务。根据上述目标,质量属性可以划分为两类:高优先级质量属性:1)性能2)安全性易用性可用性重要但优先级较低的属性模块性可维护性可修改性可测试性vcv架构表述与)构架商业周期的关系vcv系统的整体结构数据库服Web浏垃器#应用服务器亠vcv质量属性及采用的战术目标门一实现方式所采用的战术门

4、性能p用户访间的系统应该能在规宦的时间內做出响应,如果系统由于网络或者数据库匱因不能在规定时间內做出反应,那么系统应该提出警告,不能出现用户无故长时间等待的情况口卩限制访间仏列丈小中缰冲池技术当应用程序需要在关联关系间进行导航的时候;由Hibemate获取关联对象同时HibematE的Session在雪务级别进行持久化数据的缓存操作匸抓取策盼”二级缓存中易用性4谨从J2EE的系统提供了诸如JSP和sarlet这样的Jara技术,它们支持内容的渲染,以满斥不同冉户的需要卩単独的用户接口相用户对系统的操作能得到正确及时的反馈.4支持用户主动尸寒全性尸遵从J2EE的系统提洪了由容器进行授枫校脸的基于

5、角色的安全性机制,朝圧已经九使用做好准备的在程序中进行授枫椅杳的安全性机制*舅份验证中授权*数据机密性4验证码4并岌操作时,保证数据的拄他性门锁机制QSpnngFramework禾闻AOP来实现权限拦琵还提供了一个成熟的,简洁活晰的安全框架,通过对springbesn的封装机制来实现AOPAcegi安全框架P可用性户当系统试團趙出琨制范團来进行票务杳询或者订购票时必须柱行错误检测并且抛出异常,中止进歩的错i吴操作心畀常检测a轉从J2EE的系统提共了可以產用的事务服务,通过提供內建的故障恢复机制,提高了应用的可用性和可靠性卩內建故障恢复机制a模块性*根据功能将系统划分为几个模块,系统满足宰松耦合

6、高內聚撐的设计原则口事模块划分*!可维护性J系统运行有日志记录口卩日志记录工具Q系统可以扩展到新的系统的“XL配苴“可修改性*在变更到达时系统在时间和预算的所完成,测试和部署的变更-卩為赳化修改亠防止连锁反应亠推迟绑定时间心可测试性样衽完咸系统开发的一个增量后,较轻松的对软件进行测试-心输人備出门质量属性效用树质量属性属性求精场景编号扬景性能-响应时间心XNOH在系统处于高烽时期,保证登陆的每个用户发出的买票或查询的响应时间在丸以.内如果需要等待则给出左好的提示皐H,H)Q呑吐量4XN02P系统可以保证同时相应5Q00:ffl户的操作。(H:涉易用性4界面友好,操作简单相YYOH要求具有基本电

7、脑操作常识的人可以根協良好的界面设计迅速学会使托方法让熟手用户便用快捷键阳心及时反馈性心YY024当系统岌生错误或程序运行时间较长时:用户界面应该为用户提供有意义的反馈信息p并有克好的上下文感知功能。界面一致性祕YYE用户界面应该遵循一定的标准和常规尽可能的在一个界面上完成,不要时常出现弹出匪机密性羊AQOl允许用户査看本人的订票信息;但不能查询他人的订票信息更不能退订也人已选定的票。系统管理员不能随意查看用户隐私。徂師封闭性AQ02对局域网外的用户来说:不能直接谊问数据库更不能对其随意进行修改。田,抽?防止恶意攻击川AQO3匸杜绝非法用户试闿的绕过应用服务器直接连接到数据库服务器的端口上;屛

8、蔽某IP矩时间内的大量无鳶义的访问,法防被:挤爆,使正常用户无法使用。(KM)P客户端功能无关性卩AQD4客户端只包含人机交互界面功能,不包含业务功能轴述亍即客户端发送给服务器的是用户请求而不是业务所代表的SQL语句;以防止非法用户修改客户端的SQL语句以实现越权功能的非法行加血叩数据的完整性,AQO知在并发用户多的情况下,系统能1杲证数据的完整性53可用性d.容错性KYW应该咎忍用户在使用过程中发生的各种操作错误并且能够方價的地从错误中恢复过来冷呆证系统不受或尽可能少的受到用户错误操作的影响。(風勺W备份与换KY曲备份时间应尽可能的短且在用户谊问极少时进行。系统崩渍时能在L小时内恢复。(tw

9、酸件更搀KY妙硕件(网线、路由器、硕盘等)发生故障时,可以方値更换。H?L)卫榄块性J橈块职责划分明确中MK03系统自上而下划分为:系统-子系统-模块-子模块。(H.M)*接口清胎XK02模块之间通过接口通信:只要是迺循同一接口完成同一功能的模块即可相应替换*由此实现了平台无关性。(KL)袒.可测试性卩类的测试舟CSOtP每个类及其函数都应该单独测试;以验证其正礴性。心系统功能模块测试PCS02P对与系统功能相对应的模块进行测试以保证业务的完备性。系统的性能测试WCS03P对整于系统进行压力测试:看能否达到设计时的访问量(H,M)车Beta测试相CSO4邀请用F11(弋表进行hets测试畀本验

10、界面的左好性和相应速度。灿I可修改性Q功能扩展XGOW如増加票务预定功能能在天內兗成并且不翻响系统其他部分。陋涉界面修改PXG02易于修改。(乩文档完备卩:XGO斧各个模块、系统必烦提供详细可读的文裆以便于维护人员维护。KL)祕可配置性卩XGO4维护人员可以方僮的配蛊系统参数、业务参如但叩可升级也XGO却客户据境现缺陷后,可以.自动更新/以解决。新功能产生或界回更换时同样。亠(H;L)相可移植性心YZOl系统在新的操作系统或者新的数抿庫上能够正常运行。(H,LNcv质量场景的构架分析在质量属性效用树中,我们对场景的优先级进行了划分,而同时由于分析时间宝贵,所以我们应该把宝贵的分析时间最先用于最

11、重要且最难实现的场景上,即标注为(H,H)的场景。在质量属性效用树的表格中,仅在性能和可用性这2个质量属性下发现标注有(H,H)的场景,下面根据系统的体系结构和实现质量属性所采用的战术分别给出这些重要场景的构架方法分析表格。性能vcv场景号XMOl场景g系统访问空达到咼峰4属性p性能心环境护系统处于高輝访间时期心刺激卩用户请求访可卢咆应卩良好口向应谨求Q构衆决策门敏感点.心,寂衡点Q有凤险决策Q无凤险决策Q起岀限制访间壘的请求敢在等持队列中Q2尺2缓存日52R2每于IP毎次貝允许同时发出个请求心QT2E3数据库连援也亠S4QN2推理心由于在系统醮署的时候用的是里应用服筈器,向一台应用服努器可同

12、时支持的井发用户数是很少的,拄几千甚至上万的用户访问系统时,由于限制最大访问量,不能保证每宅用户都能随时登陆,降低了用户的衙意度-2卑服务器提供的缓存数有限B4孵免了非法用户的恶意攻击,1旦有可能降f氐系统的可用性3减轻数据库的罚担,堤高系统的性能-Q场景号?KY02场贵=系统备份2恢复卩属性*可用性*环境系统发生错误刺郭.用户进行恢复响应4尽快恢复并为用户提供有育义的反愦信息卩构架决策*敏感屛权衡点.4有愧险决策4无恻险决策心系统备伽*做障恢复*推理*系统备份杲进行故障恢复的前提,但频鑿的备份会議响正常的业务处理,存在一定的风险如果是因为系统掉电或其它的误操作,利用备份数据可以很快恢复.但由

13、于使用的是单服务器机制,一旦这台服务器出现故障或者崩溃,哽件发生故障,系统的恢复时间会很扶,存在凤险口4cv对系统构架的再分析1风险)决策和敏感点采用戢未中触感点妙心有凤险块策依2超岀限制访1可里的请求放在等待臥列中匸提晨了系统的稳走性和可用性弘减少了崩潰的可能4会降低最大并发褻目,便得用户等待时|旬过长可能造咸用戸”商*缓存卢提咼系统的访同速度和性能卢单服务器提供的缓存魏吕有限幷峑用户数多的情况下系统处理缓慢。Q毎个IP毎次只允许发出一个请求卢合理的姜求,避免了非法用户的一恶音攻击心可能將11氐了易用性但系统-的安全性提高了。空徹据阵连接池严埶据库连援逆氐连应用程序重复険用一个现有的埶据库连

14、接;而再不是重新建立,J1咼应用系统的性能Q容错性4能够对用户岀现的谋操作进行橙测和处理,幷给岀相应的社理信息,可汉提高系纯的可用性。P系统备份与恢冥增强系统的容错能尢1操作系统和裁拥库软件发生崩溃时陝复时间较民。十vcv(2)问题分析在前面对系统结构的描述中,系统采用基于B/S的分层结构,系统部署在一台应用服务器上,这种结构有它独特的优点。但经过构架方法的分析,特别是对系统的关键质量属性和优先级最高的质量属性场景的分析,发现系统在上述场景下会出现如下的问题:性能方面:在非常多的用户并发操作的情况下,单服务器系统将不能对用户的请求做出及时的响应,严重情况下服务器还会崩溃。可用性方面:在仅有的一

15、台应用服务器出现故障或者崩溃的情况下,用户将不能访问系统,故障恢复需要花费较长时间。vcv改进系统的构架DBApplictioniSenerHttp客户端亍WEBSeneriWEBSenderLoadBalanceX/ApplictionServer考虑到使用票务系统的用户数目非常庞大,这样造成用户对系统的访问请求数目和对系统进行业务操作的请求数目也非常庞大,改进后的系统采用多层分布式结构,使用Web服务器集群和应用服务器集群来实现,这种集群机制支持动态负载平衡(LoadBalance)和容错机制,可以将用户的请求以及对用户请求的处理分发到负载低的服务器中,非常适合具有并发用户数多,服务地点分散等这些特点,有较高的稳定性,能有效避免访问流量过多导致服务器瘫痪以及整个系统因为某台服务器崩溃而彻底瘫痪。为了使系统达到集群分布式的目的,在第一套方案的基础上,我们采用Spring介入EJB容器的方式,使用EJB的无状态会话Bean来封装业务逻辑,即调用POJO中的业务逻辑操作(POJO中包含了业务逻辑处理,在原来的SSH框架中它是指业务层的JavaBean,通过持久层与数据库交互,这些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论