Requirements Analysis 16. 1 Analysis Patterns - 2005b516.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.

Slides:



Advertisements
Similar presentations
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Advertisements

XML Flattened The lessons to be learned from XBRL.
Analysis Modeling.
Object-Oriented Design Patterns Composite Singleton State Observer … Autumn 2012UCN Technology: IT/Computer Science1.
03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Requirements Analysis Object Oriented.
Lecture 4 Class Responsibility Collaboration Cards
Requirements Analysis The OPEN Methodology b519.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Requirements Analysis 15.1 Specialised Associations b515.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Ralph Johnson - University of Illinois1 Patterns: What They Are, and How to Write Them Ralph Johnson University of Illinois at Urbana-Champaign
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
Requirements Analysis 9. 1 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Object.
Data and Process Modeling
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Requirements Analysis 2. 1 Req. Capture b502.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Requirements.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Pedagogical Patterns: their Place in the Genre Sally Fincher & Ian Utting ITiCSE 2002 Aarhus, Denmark June 2002.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
Refining the Requirements Model
Chapter 7 GRASP patterns Dr Seham Mostefai CAP 252.
Section 02Systems Documentation1 02 Systems Documentation And Franchise Colleges By MANSHA NAWAZ.
Session 05: C# Patterns Algorithm Patterns: Sweep Search FEN AK IT: Softwarekonstruktion.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
1 Copyright © 2014 Atego. Patterns INCOSE MBSE WG – Simon A. Perry - Atego.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
Comp2110 Software Design lecture 13Detailed Design (1)  detailed design contrasted with high level design  introducing the Observer Design Pattern 
Chapter Five An Introduction to Design Patterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Chapter 10 Information Systems Analysis and Design
101 User Interface Patterns and its applications Tonya Groover Department of Computer Science.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
A Reference Model for Event Patterns Christian Silberbauer
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Software Design Deriving a solution which satisfies software requirements.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Design Patterns Introduction What is a Design Pattern? Why were they developed? Why should we use them? How important are they?
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
03/12/2001 © Bennett, McRobb and Farmer 2005 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
Chapter 9 Applying UML and Patterns -Craig Larman
Design Principle & Patterns by A.Surasit Samaisut Copyrights : All Rights Reserved.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Design Patterns in Context ©SoftMoore ConsultingSlide 1.
Software Design Patterns in Test Automation
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Class Relationships Lecture Oo08 Polymorphism. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 10 p.125 n Fowler & Scott, UML.
GRASP – Designing Objects with Responsibilities
Design Patterns: MORE Examples
COMP2110 Software Design in lecture 14 Patterns(1) /Detailed Design
Object-Oriented Modeling with UML
Design Patterns Introduction
Domain Model.
Web Programming Language
Domain Class Diagram Chapter 4 Part 2 pp
Seminar 3 UML Class Diagram.
Patterns.
DESIGNING YOUR SYSTEM.
Refining the Requirements Model
Presentation transcript:

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Analysis Patterns Department of Information Systems

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Learning Objectives v Understand the concept of patterns v Illustrate with an example from architecture v Understand how patterns can apply to many aspects of software development v Produce a simple analysis pattern v Examine some complex analysis patterns

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Why Patterns? v Nobody solves every problem from scratch v Good solutions are used again and again v E.g. a generalised, abstract class structure may meet many application needs v If we document solutions in a standard format, this saves having to rediscover them next time v We can apply them immediately to new problems v Patterns help us to reuse good practice

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Patterns... v... Are problem-centred, not solution- centred v … Are Discovered, not invented - they already exist v...Complement existing techniques, do not replace them v...Capture and communicate “best practice” and expertise

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Patterns... v …Originally used in building architecture v …Applied to software design for c. 6 years v …Now used to convey good practice in: –System design –Requirements analysis –Organisation structures –Project management –General modelling approaches –...

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Origin of Patterns v Christopher Alexander is credited with the “invention” of patterns v His book “A Pattern Language” is a catalogue of 253 patterns v These document how to construct rooms, buildings and whole communities that people would like to live and work in

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved 8 What is a Pattern? “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of a solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice” (Alexander, 1977)

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Example: Alexander Pattern 196 Pattern Name: Corner Doors Problem: The success of a room depends…on the position of the doors. If the doors create a pattern of movement which destroys the places in a room, the room will never allow people to be comfortable. Forces: Several drawings of rooms with doors in different positions are shown. Traffic flows with corner doors are shown and he discusses how traffic flow divides the room into spaces. Constraints: He notes the issues and constraints of small vs. very large rooms. Solution: In small rooms put doors in corners. Related Patterns: Low Doorway (224), Closets between rooms (198).

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Minimum Elements of a Pattern Pattern Name: Should be easy to remember Reflects the pattern’s content. May include ‘aliases’ or ‘AKA’. Problem: Statement of the problem that can be written in question form. Context: Describes the context of the problem. Any ‘pre-conditions’ should also be noted here. Forces: What causes the problem to come about? What is required to solve the problem? Solution: A direct and precise statement.

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Analysis Patterns: Definition v “A pattern is an idea that... –has been useful in one practical context... –and will probably be useful in others” v “Analysis patterns… –are groups of concepts… –that represent a common construction in business modelling... –may be relevant to only one domain, or may span many domains” (Fowler, 1997)

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Fowler’s Modelling Principles v Fowlers principles guide the use and development of patterns: –Models are not right or wrong… –…they are more or less useful –Patterns are a starting point, not a destination

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Simple Analysis Pattern v Consider: –A phone bill –A credit card statement –A mail order dispatch note –A supermarket till receipt –A bank statement v Most examples of these have some common characteristics...

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved VISA Statement Example VISAStatement accountNumber statementDate customerName dueDate calcStatementTotal calcAvailableCredit calcMinimumPayment StatementLine 1 1..* transactionDate itemDetails itemAmount v Based on a Co-op Bank VISA statement

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Bank Account Statement Example AccountStatement branchNumber accountNumber customerName statementDate calcTotalWithdrawn calcTotalPaidIn calcBalanceCF StatementLine 1 1..* transactionDate itemDetails itemAmount calcCurrentBalance v Based on a RBS current account statement

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Mail Order Invoice Example Invoice invoiceNumber accountNumber customerName invoiceDate calcGoodsValue calcDeliveryCharge calcVAT calcAmountDue InvoiceLine 1 1..* catalogueCode quantityDespatch ed itemDescription unitPrice VATCode calcLineTotal v Based on a Misco computer parts invoice

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Parts Delivery Note Example DeliveryNote documentNumber accountNumber customerName despatchDate DeliveryNoteLine 1 1..* itemCode quantityDespatch ed itemDescription quantityToFollow deliveryLocation v Based on a Misco parts delivery note

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved How do these look as a pattern? Transaction number date calcOverLineItems Transaction-Line 1 1..* number date calcForMe v This abstracts some recurring attributes and operations in the examples

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Transaction-TransactionLineItem  This is Coad’s Transaction- TransactionLineItem pattern v Very common in business documents v Always look for the suggested attributes and operations - e.g. calcForMe for line items (Coad, 1997)

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Complex Analysis Patterns: Organisation Hierarchies v Another application for patterns v Consider an organisation that is divided into –Operating Units... – which are divided into regions... – which are divided into divisions... – which are divided into sales offices… v Draw a class diagram to represent this

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved First Solution Operating Unit Region Division Sales Office

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Organisation Hierarchies v This describes the reality but is difficult to modify v Removal of a region would force a significant change to the model v A more flexible structure can be based on a reflexive (self) association

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Single Reflexive Hierarchy OperatingUnitRegionDivisionSalesOffice Organisation 1 parent subsidiary *

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Organisation Hierarchies v This model has further weaknesses v As it stands, it would permit a division to be part of a sales office v This could be overcome by introducing constraints at subclass level

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Modified Single Reflexive Hierarchy {parent must be a division}{parent must be an operating unit} {parent must be a region} UML Constraints UML’s Object Constraint Language (OCL) expresses constraints like these more formally. E.g: {self.parent.oclType=division} * OperatingUnitRegionDivisionSalesOffice Organisation 1 parent subsidiary

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Two Hierarchies v Now imagine each sales office has a “Product Service Team” v Product Service Teams report to both: – their sales office, and – their product division v I.e. there are two separate hierarchies

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Two Hierarchies Organisation * 1 sales parent sales subsidiary 1 product parent product subsidiary *

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Two Hierarchies v Again this works, but further constraints would need to be modeled v The practical limit of modelling is two hierarchies v More, and the structure becomes totally unwieldy v The next model provides greater flexibility

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved OperatingUnit RegionDivision SalesOffice Organisation OrganisationStructure OrganisationStructureType TimePeriod Rule 1 Constrains 1 ExampleOf 1 AppliesTo 1 ParentOf 1 SubsidiaryOf * * * * *

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Multiple Hierarchies v This pattern is now truly generic v The class Organisation Structure Type permits an arbitrary number of hierarchies v The class Rule accommodates any necessary constraints v The class Time Period allows a structure to be valid for a defined period of time

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Fowler’s Accountability Pattern v This pattern abstracts the various accountability relationships in business, e.g. –supervisor-supervised –client-contractor –representative-represented –etc...

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Accountability Pattern Accountability Type Accountability Time Period Party Person Organization Commissioner Responsible * * * *

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Summary v Introduced the concept of patterns v Considered an example from architecture v Shown how patterns can apply to many aspects of software development v Demonstrated a simple analysis pattern v Demonstrated a complex analysis pattern

Requirements Analysis Analysis Patterns b516.ppt © Copyright De Montfort University 2000 All Rights Reserved Further Reading Bennett, S. et al 2002 “Object Oriented Systems Analysis and Design Using UML” McGraw-Hill Coad, P. 1997“Object Models: Strategies, Patterns and Applications” (2nd Ed.) Yourdon Press Coplien, J. 1995“Pattern Languages of Program Design Vol 1” Addison Wesley Evitts, P “A UML Pattern Language” Macmillan Fowler, M. 1997“Analysis Patterns: Reusable Object Models” Addison Wesley Gamma, E. 1995“Design Patterns: Elements of Reusable Object-Oriented Software” Addison Wesley Martin, R. 1995“Pattern Languages of Program Design Vol 3” Addison Wesley Vlissides, J “Pattern Languages of Program Design Vol 2” Addison Wesley