您好,欢迎访问三七文档
系统顺序图SSD目标确定系统事件。为用例场景创建系统顺序图。简介系统顺序图(SSD)是为阐述与所讨论系统相关的输入和输出事件而快速、简单地创建的制品它们是操作契约和(最重要的)对象设计的输入。UML顺序图是用来阐述外部参与者到系统的事件。Operation:enterItem(…)Post-conditions:-...OperationContractsSaledate...SalesLineItemquantity1..*1......DomainModelUse-CaseModelDesignModel:RegisterenterItem(itemID,quantity):ProductCatalogspec=getProductSpec(itemID)addLineItem(spec,quantity):SaleRequire-mentsBusinessModelingDesignSampleUPArtifactRelationships:SystementerItem(id,quantity)UseCaseTextSystemSequenceDiagramsmakeNewSale()systemeventsCashierProcessSale:CashierusecasenamessystemoperationsUseCaseDiagramVisionSupplementarySpecificationGlossaryparametersandreturnvaluedetailsstartingeventstodesignforProcessSale1.Customerarrives...2.Cashiermakesnewsale.3....系统顺序图对于用例中一系列特定事件,系统顺序图展示了:直接与系统交互的外部参与者系统(作为黑盒)参与者发起的系统事件时间顺序是自上而下的事件的顺序应该遵循其在场景中的顺序。enterItem(itemID,quantity):System:CashierendSalemakePayment(amount)aUMLloopinteractionframe,withabooleanguardexpressionexternalactortosystemProcessSaleScenariosystemasblackboxthenamecouldbeNextGenPOSbutSystemkeepsitsimplethe:andunderlineimplyaninstance,andareexplainedinalaterchapteronsequencediagramnotationintheUMLamessagewithparametersitisanabstractionrepresentingthesystemeventofenteringthepaymentdatabysomemechanismdescription,totalreturnvalue(s)associatedwiththepreviousmessageanabstractionthatignorespresentationandmediumthereturnlineisoptionalifnothingisreturnedtotalwithtaxeschangedue,receiptmakeNewSale[moreitems]loop示例:NextGenSSD“处理销售”场景的SSD什么是系统顺序图用例描述外部参与者是如何与我们所希望创建的系统进行交互的。在交互中,参与者对系统发出系统事件,通常需要某些系统操作,对这些事件加以处理。(例如收银员输入商品ID时,收银员要请求POS系统记录对该商品的销售)。UML包含了顺序图作为表示法,以便能够阐述参与者的交互及参与者引发的操作。什么是系统顺序图定义系统顺序图表示的是,对于用例的一个特定场景,外部参与者产生的事件,其顺序和系统之内的事件。所有系统被视为黑盒,该图强调的是从参与者到系统的跨越系统边界的事件。准则应为每个用例的主成功场景,以及频繁发生的或者复杂的替代场景绘制SSD。为什么要绘制SSD我们的系统会发生什么事件?因为我们必须为处理和响应这些事件来设计软件。软件系统要对以下三种事件进行响应:1来自参与者(人或计算机)的外部事件。2事件事件3错误或异常(通常源于外部)因此,需要准确地知道,什么是外部输入的事件,即系统事件。这些事件是系统行为分析的重要部分。系统行为系统行为描述的是系统做什么,而无需解释如何做。这种描述的一部分就是系统顺序图。其他部分包括用例和系统操作契约(稍后讨论)。注意:在对软件应用将如何工作进行详细设计之前,最好将其行为作为“黑盒”来调查和定义!!SSD指导方针SSD(系统顺序图)是从对用例的考察中产生的,它展示了用例中一个场景的系统事件。通常不在SSD中显示用例文本。为SSD适当地命名,可以指明对应的用例。例如,处理销售场景。系统事件应该在意图的抽象级别而非物理的输入设备级别来表达。因此,“enterItem”要优于“scan”。因为前者既捕获了操作的意图,又保留了抽象性,而不需要涉及使用什么样的接口来捕获系统事件。SSD可以用来阐述系统之间的协作。SSD中所示的元素(操作名称、参数、返回的数据)是简洁的。:Cashier:SystemSimplecash-onlyProcessSalescenario:1.CustomerarrivesataPOScheckoutwithgoodsand/orservicestopurchase.2.Cashierstartsanewsale.3.Cashierentersitemidentifier.4.Systemrecordssalelineitemandpresentsitemdescription,price,andrunningtotal.Cashierrepeatssteps3-4untilindicatesdone.5.Systempresentstotalwithtaxescalculated.6.CashiertellsCustomerthetotal,andasksforpayment.7.CustomerpaysandSystemhandlespayment....enterItem(itemID,quantity)endSalemakePayment(amount)description,totaltotalwithtaxeschangedue,receiptmakeNewSale[moreitems]loopProcessSaleScenario如何为系统事件和操作命名?系统事件应该在意图的抽象级别而非物理的输入设备级别来表达。enterItem(itemID,quantity)scan(itemID,quantity):Cashierworsenamebettername:SystemSSD的哪些信息要放入词汇表(Glossary)中?SSD中的元素(操作名称、参数、返回的数据)是简洁的。需要对这些元素加以适当的解释以便在设计时能够明确地知道输入了什么,输出了什么。词汇表是详细描述这些元素的最佳选择。例如:票据receipt(复杂报表),在UP词汇表中可以加入票据条目,显示票据样本(可以是数码图片)、详细内容和布局。准则:对大多数制品来说,一般在词汇表中描述其细节。迭代和进化式SSD不用为所有场景创建SSD,除非你在使用需要识别所有系统操作的预算技术。只需为下次迭代所用的场景绘制SSD。当需要了解现有系统的接口和协作时,或者将其架构记录在文档当中时,SSD也是十分有效的。UP阶段初始阶段--通常不会在该阶段引入SSD。细化阶段--大部分SSD在细化阶段创建。本章小结
本文标题:系统顺序图
链接地址:https://www.777doc.com/doc-3461263 .html