Tutorial 2 – Pattern Representation RJ Macasaet R&D Dept. © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED Outline I. Overview of a requirements-based approach for representing micro-business patterns II. Pattern Essentials A. B. C. D. E. emergence diagrams tabulation modes and instantiations custom symbols © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED Get an idea of the approach from a general perspective OVERVIEW © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED I. Approach Overview Identifying Common Requirements Identifying Observation Plan, Develop, Varying of Iterate Micro-businesses and Requirements Deploy Start Yes Database Link Observe Microbusinesses Pattern Archive Pattern Emergence Identify Common Requirements Component Archive Develop another micro-business software system? Describe Pattern Deploy System For common Diagram Pattern For varying Identify Varying Requirements Draft Implementation Plan Develop Components © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED End No I. Approach Overview - Observation of Micro-businesses 1. List down goals and requirements of two or more micro-businesses. 2. Decompose goals into requirements [sample method: see next slide adapted from Kotonya and Sommerville] 3. Divide requirements into: functional and non-functional. © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED Decompose goals into requirements – from Kotonya and Sommerville © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED I. Approach Overview - Identification of Common and Varying Requirements 1. Group the common requirements. The minimum number of common requirements to constitute a pattern is 2 (If there was nothing in common, there would be no pattern in the first place). 2. Identify uncommon requirements. 3. Tabulating the pattern helps in organizing the requirements (common and uncommon, to be discussed in the next section) © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED I. Approach Overview - Emergence of patterns in succeeding iterations • For every succeeding micro-business, the software developer does the same activities of observing and listing down requirements. The new list of requirements is compared to all other existing requirements. Similar and varying requirements are identified. Similar requirements are grouped as stated in the previous slide • If there are no similar requirements then software components are simply developed to satisify/satisfice the requirements. © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED I. Approach Overview - Extra Implementation Notes • Due to the complexity of NFRs, additional implementation notes are normally added by the software developer in order to satisfice the NFRs. Refer to the source publication for more details. © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED I. Approach Overview – Metamodel • Here we have the artefacts of the approach represented in a metamodel Goals Sub Goals satisfy/satisfice Micro-business Processes decompose satisfy/satisfice decompose Requirements Functional Requirements Non-Functional Requirements satisfy satisfice Components realize Patterns Specifications Structure © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED Learn how to make patterns and use them within the approach PATTERN ESSENTIALS © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials - emergence • Common requirements are grouped • The minimum number of common requirements to constitute a pattern is 2 • There are as many as n!/(k!(n-k)!) subpatterns, where n is the number of common requirements in a pattern and k is the number of common requirements in a grouping • The next slide illustrates how common requirements are grouped into patterns (note: μb stands for micro-business) © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED hypothetical μb A hypothetical μb B record a cash sale record a cash sale display total cash sales display total cash sales record a credit sale record product weight display total credit sales display product weight Describe and represent these common requirements as one… Pattern “Record-Display Cash Sale” Text Description: (for requirements “record cash sale” and “display total cash sales”) Example: The user is able to record a cash sale and then display cash sale totals Diagram: (for the common requirements) Example: [record] record cash sale action: store action: query start [query] end database link query total cash sales display total cash sales end © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials - diagrams • The previous slide also shows a pattern diagram which is a visual representation of the requirements in terms of (business) processes. • We recommend using BPMN to illustrate the processes but other languages and notations such as UML, SysML, or DFDs may be used. © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials - tabulation • In order to tabulate a pattern, (a) requirement(s) must be transformed into a non-technical form, such as a question, i.e. Requirement: display available products online (μb side) Non-technical form: does the customer shop online? • This is done in order to group the requirements as shown in the table on the next slide © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials tabulation • Refer to user guide or source publication for details © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials – modes and instantiations • A pattern is an abstracted concept and in order use it, it must be [done as] a mode and then [applied as] an instantiation. Process Pattern: place to shop [done as] Mode: website [applied as] Instantiation: www.shop.com © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials – labels • “P” labels are placed in business process activities corresponding to the modes of the requirements pattern © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED II. Pattern Essentials – custom symbols • The concept also applies when connecting SIGs as well. Start NFR “speed” Other Process Process Pattern: place to shop [done as] Mode: website [applied as] Instantiation: Fast Server {measurement: Data Transfer Rate} www.shop.com 19 © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED Questions? email: rjmacasaet@pentathlonsystems.com © COPYRIGHT 1999-2013. PENTATHLON SYSTEMS RESOURCES INCORPORATED. ALL RIGHTS RESERVED