UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
Use Case Diagrams Damian Gordon.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation - Continued.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Ch 12: Object-Oriented Analysis
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Lecture 8 Electronic Commerce Modelling Techniques
Assignment I, part 1. Groups of three students. Specify one as group leader. group names to TA and me. Create an object-oriented conceptualization.
ATM – requirements Team B Tom Hastjarjanto Martijn Nijenhof Ales Sturala Paul van der Ende.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Tutorial 2. What is a UML Use Case Diagram? Use case diagrams model the functionality of a system using actors and use cases. Use cases are services or.
Interaction Diagrams Activity Diagram State Machine Diagram
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Lecture 4 Class Responsibility Collaboration Cards
Use Case Analysis Chapter 6.
Object Oriented Analysis Process
Modeling System Events Adapted from: Systems Analysis and Design in a Changing World, 2nd Edition by John W. Satzinger, Robert Jackson and Stephen Burd.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Object-oriented Design CSCI 5801: Software Engineering.
Can Programmers do Course Design?. The Programmer.
From Problem Statement to Design
Use Cases 2 ENGR ♯10 Peter Andreae
Rational Unified Process (Part 1) CS3300 Fall 2015.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
UML and Systems Analysis
Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.
SWE © Solomon Seifu CONSTRUCTION. SWE © Solomon Seifu Lesson 13-2 Testing.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
UML basics UML distilled, a brief guide to the standard Modeling language, by Martin Fowler, 2000.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
Faculty of Computer & Information
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
January Ron McFadyen1 January 2004 Assignment 1 Due: Friday Jan 23, Implement the ProductSpecification and Payment classes in any OO.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
ATM Adv. SW Engineering
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Lecture Outline Monday 23 rd February (Week 4) 3 – 3:10pm Review of Requirements Eng. and use cases 3:10 – 3:40pm Exercise on Use Case 3:40-4:40 Class.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Inf 43: Introduction to Software Engineering May 7, 2016.
1 Case Study and Use Cases for Case Study Lecture # 28.
Use Case Analysis Chapter 6.
State Diagrams What state are we in?.
Paul Ammann & Jeff Offutt
CMPE 280 Web UI Design and Development August 29 Class Meeting
ATM OO Design and Implementation Case Study
Storyboarding and Game Design SBG, MBG620 Full Sail University
Dynamic Modeling of Banking System Case Study - I
Use Case Model.
Exercices & Corrections Week 3
Concepts, Specifications, and Diagrams
Paul Ammann & Jeff Offutt
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff

Review: What is Systems Analysis and Design? Systems Analysis Analysis of complex, large-scale systems and the interactions within those systems Systems Design The process of defining the hardware and software architectures, components, models, interfaces, and data for a computer system to satisfy specified requirements Notice that they are not the same!

Basically… Systems Analysis is the process of modeling the problem Requirements-oriented What should we do? Systems Design is the process of modeling a solution Functionality-oriented How should we do it?

Why model? Creating a blueprint for an application Before you start coding The idea is to minimize having to go back and make changes later

Why consider SAD in a programming course? The business analysts The development team AnalysisDesignDevelopment

What this means A developer must be able to turn the design into code But a good analyst should be able to understand all parts of system development Conduct an analysis Develop a design Implement the design (coding)

Example: Bjork’s ATM example An Example of Object Oriented Design, An ATM Simulation, Russell Bjork cs.gordon.edu/local/courses/cs211/ATMExample/

What we’ll look at… Use case diagrams Use case descriptions Activity diagrams :Controller:Customer:Order Interaction diagrams Analysis ModelsDesign Models Class name Attributes Operations Customer name findName() Design class diagrams All diagrams adapted from “Systems Analysis and Design in a Changing World”, 3rd Edition Satzinger, Jackson, Burd, Thompson Publishing, 2004.

Problem Statement What is the application supposed to accomplish? Use words, not code Be as descriptive as possible Potential sources of information Forms, reports Engineering drawings Real world object specifications Interviews

Problem statement for ATM application Services one customer at a time Must be able to handle 10 customers an hour Customer inserts ATM card and enters PIN to begin Transactions Cash withdrawals --- in $20 increments Deposits Transfers Balance inquiries Immediate transaction validation with the bank Standard error procedures Pin error, rejection due to inadequate balance Reports

Use Case Diagram Use case: sequence of events that represents an interaction between the user and the system Cash Withdrawal Deposit Transfer Invalid PIN Session Partial list of use cases from Bjork example Customer (actor) Bank (actor)

Use Case Descriptions For each use case, include The services the system provides to the user The sequence of events The desired outcome Users of systems (called actors) can be people organizations other systems

Use Case Description: Deposit transaction (ATM) A deposit transaction is started from within a session when the customer chooses deposit from the menu of possible transaction types. The customer chooses a type of account to deposit to (e.g. checking) from a menu of possible accounts, and then chooses a dollar amount by typing it on the keyboard. The system sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine accepts an envelope from the customer containing cash and/or checks and then issues a receipt. (If the customer does not insert the envelope within a specified period of time, this operation times out and the deposit transaction is aborted.) If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes crediting the customer's account for the amount - contingent on manual verification of the deposit envelope contents by an operator later.

Activity diagram Show which activities occur during a use case This is for the deposit use case The customer initiates the transaction CustomerATM Choose deposit Ask which type of account Choose account type Send customer information to bank Bank Incorrect PIN? Credit customer account Transaction completed Incorrect PIN exception Transaction failed Approve transaction yes no yes no Ask deposit amount Choose deposit amount

Design class diagrams Shows the attributes and methods of each class Get the object names and attributes from the noun-phrase analysis What is the object? Get the methods from the activity diagram What should it do? Class DepositTransaction toAccount Amount DepositTransaction(session, atm, bank) getTransactionSpecificsFromCustomer() sendToBank() finishApprovedTransaction()

Working from the design class diagram The DepositTransaction class will have Two attributes Four methods We can tell from this what methods the class will have but not what they do Refer to the use cases, activity diagrams, and interaction diagrams for detail Class DepositTransaction toAccount Amount DepositTransaction(session, atm, bank) getTransactionSpecificsFromCustomer() sendToBank() finishApprovedTransaction()

Interaction Diagrams Show how the objects in the application “use” each other Which methods are called What data is returned

ATM application: Deposit Use Case :Session:Bank DepositTransaction (session, atm, bank) sendToBank() (approval) finishApprovedTransaction() (confirmation) checkIfCashAvailable(amount) (confirmation) initiateDeposit(account, amount) (confirmation) :DepositTransaction (self) getTransactionSpecificsFromCustomer() Session (session, atm, bank) :ATM Customer

Fitting everything together Use case diagram List of all use cases in the application Use case diagram List of all use cases in the application Use case descriptions Textual description of what happens in each use case Use case descriptions Textual description of what happens in each use case Activity diagram Picture of the activities described in each use case Activity diagram Picture of the activities described in each use case Design class diagrams List of all methods and attributes in each object Design class diagrams List of all methods and attributes in each object Interaction diagram Diagram of how the objects work together for each use case Interaction diagram Diagram of how the objects work together for each use case Scenarios Objects

Integration and UML: Web Services We’ll be working with this application later in the course It uses the MSN Live Search web service to search the web Microsoft’s web service is a distributed object

Partial interaction diagram for “Search Google” use case :MSNSearchService MSNSearchService() :Form Customer Search(SearchResponse) (search results) :Label Text property* * Because of C#’s convention that uses properties like methods

Things to think about What if you have to code something not accounted for in the design diagrams? Does the diagram have to match the code exactly? What does it mean when… …additional detail is required? …specified methods go unused? …different sequencing is required?