Webapp Design with System Sequence Diagrams

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

System Sequence Diagrams
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Extending the Requirements Model - techniques for detailing use cases
CS3773 Software Engineering Lecture 03 UML Use Cases.
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Sequence Diagram Objects are represented horizontally across the top of the diagram Each object has a lifeline some exist before and/or after some are.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Jan Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box Actors.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
Systems Analysis and Design in a Changing World, 6th Edition
Object Interaction Modeling
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Sept Ron McFadyen1 Extend Relationship.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
Chapter 13: Designing the User Interface
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
9/18/011 Software Requirements Analysis and Design (Continued)
The first step in getting what you want is to decide what you want.
LECTURE 5 SEQUENCE DIAGRAM 1. INTRODUCTION – SYSTEM SEQUENCE DIAGRAM A system sequence diagram is a fast and easily created artifact that illustrates.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
Object Oriented Analysis and Design System Events & Contracts.
Systems Analysis and Design in a Changing World, 6th Edition
Object Design Examples with GRASP (Ch. 18)
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Review ♦ System sequence diagram ♦ Domain model
Faculty of Computer & Information
Group 2 work What is sequence diagram ? What is sequence diagram ? Why do we use it ? Why do we use it ? What is basic notation of SD? What is basic notation.
Behavioral Modeling: Sequence and Communication Diagrams Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2005 Pearson Education Copyright © 2009 Kannan.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
1 Lecture 6: Operation Contracts. 2 Overview  What is contract ?  The guidelines for writing contracts for the system operations.  Use Case realizations.
PRJ566 System Sequence Diagrams.  A system sequence diagram …. Illustrates input and output events related to the system under discussion.  Larman,
Chapter 9 Applying UML and Patterns -Craig Larman
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
System Sequence Diagram Chandan Rupakheti & Steve Chenoweth Week 5-3a.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
Understanding Requirements
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
SYSTEM-LEVEL SEQUENCE DIAGRAMS Sys466. System-Level Sequence Diagrams  Use cases describe how external actors interact with the software system…  An.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 Object Oriented Analysis and Design System Events & Contracts.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Object Design Examples with GRASP
Elaboration popo.
Use Cases and Scenarios
System Sequence Diagrams and Operation Contracts
BTS430 Systems Analysis and Design using UML
UML Use Case Diagrams.
Sequence Diagrams.
Use Case Modeling - techniques for detailing use cases
Sequence Diagrams Lecture 6.
Software Requirements
Software Design (SE321) Lect6-Collaboration Diagram
System Sequence Diagrams(SSD)
Use cases Dr. X.
Presentation transcript:

Webapp Design with System Sequence Diagrams http://flic.kr/p/7Az9cn Webapp Design with System Sequence Diagrams

A Key Software Design Principle… Also: Each of your objects should have only one reason to change. From Head First Software Development Chapter 5

Design Questions: How many servlets should you have Design Questions: How many servlets should you have? How to assign responsibilities to servlets?

Creating System Sequence Diagrams (SSDs) can help! Model interactions between the system to be build and external actors Capture one scenario of events System is a black box Emphasizes system events Represented using UML sequence diagram notation

Consider a Use Case (UC) for a POS System Point-of-Sale (POS) System Use Case: Archetypal scenario of interaction w/ system http://flic.kr/p/4UtQzk

Process Sale Use Case (UC) Main Success Scenario Customer arrives at POS checkout with goods to purchase Cashier starts a new sale Cashier enters item identifier System records sale line item and presents item description, price, and running total Cashier repeats steps 3-4 until indicates done System presents total, and asks for payment Customer pays and System handles payment System logs completed sale System presents receipt

POS Example: Process Sale SSD External actor System as black box Actor lifelines Time progresses downward

Process Sale UC Main Success Scenario Customer arrives at POS checkout with goods to purchase Cashier starts a new sale Cashier enters item identifier System records sale line item and presents item description, price, and running total Cashier repeats steps 3-4 until indicates done System presents total, and asks for payment Customer pays and System handles payment System logs completed sale System presents receipt

POS Example: Process Sale SSD Message event

Process Sale UC Main Success Scenario Customer arrives at POS checkout with goods to purchase Cashier starts a new sale Cashier enters item identifier System records sale line item and presents item description, price, and running total Cashier repeats steps 3-4 until indicates done System presents total, and asks for payment Customer pays and System handles payment System logs completed sale System presents receipt

POS Example: Process Sale SSD Looping event Loop guard “Return” values from previous message

Process Sale UC Main Success Scenario Customer arrives at POS checkout with goods to purchase Cashier starts a new sale Cashier enters item identifier System records sale line item and presents item description, price, and running total Cashier repeats steps 3-4 until indicates done System presents total, and asks for payment Customer pays and System handles payment System logs completed sale System presents receipt

POS Example: Process Sale SSD

Process Sale UC Main Success Scenario Customer arrives at POS checkout with goods to purchase Cashier starts a new sale Cashier enters item identifier System records sale line item and presents item description, price, and running total Cashier repeats steps 3-4 until indicates done System presents total, and asks for payment Customer pays and System handles payment System logs completed sale System presents receipt

POS Example: Process Sale SSD

Why are SSDs useful? Help you come up with a minimal set of system operations your system must support Each system operation can be a servlet System operations

System events discovered with the SSDs reveal System operations that handle the events all of which form The system interface

Translate this SSD into a servlet-based web app New Sale itemID: Quant.: Enter Description: … Total: $ ... End Total+tax: $ ... Payment: $ Enter Change: $... Receipt: … …

Design Question: What standard actions should a servlet perform? Validate input! Perform appropriate interaction with model Forward request to appropriate view

What types of bad input should you check for? http://xkcd.com/327/ Hint:

What types of bad input should you check for? Values that violate preconditions of model operations SQL injection attacks If input contains evil SQL snippet, and your program inserts that input into an SQL query, then ... Cross-site scripting attacks If input contains evil JavaScript snippet, and your program inserts that input into a web page, then … Anything that might be a problem (hard!)

Recap Single-Responsibility Principle (SRP) Create SSDs to reveal system operations Each servlet has responsibility to handle one system operation Make sure your servlets validate input!