Www.techstudent.co.cc Application Analysis. www.techstudent.co.cc Application Interaction Model The purpose of analysis is to understand the problem so.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Using Dataflow Diagrams
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Introduction To System Analysis and Design
Use-case Modeling.
Systems Analysis and Design in a Changing World, Fourth Edition
© The McGraw-Hill Companies, 2006 Chapter 9 Software quality.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© 2005 Prentice Hall3-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
© Copyright Eliyahu Brutman Programming Techniques Course.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Approaching a Problem Where do we start? How do we proceed?
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Structuring Systems Requirements Use Case Description and Diagrams.
♦ 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.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Drawing System Sequence Diagrams
A Student Guide to Object- Oriented Development Chapter 10 Designing objects and classes.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
SYS466 Casual Use Case Specifications. Systems Use Case Diagrams and Specifications Based on the dialog metaphor Based on the dialog metaphor The process.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Method – Notation 8 Hours.
Welcome to M301 P2 Software Systems & their Development
Object-Oriented Analysis and Design
How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but.
Object Oriented Analysis and Design
Interaction Modeling Extracted from textbook:
Engineering Quality Software
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Presentation transcript:

Application Analysis

Application Interaction Model The purpose of analysis is to understand the problem so that a correct design can be constructed. A good analysis captures the essential features of the problem without introducing implementation artifacts that prematurely restrict design decisions. The purpose of analysis is to understand the problem so that a correct design can be constructed. A good analysis captures the essential features of the problem without introducing implementation artifacts that prematurely restrict design decisions. Most domain models are static and operations are unimportant, because a domain as a whole usually doesn’t do anything. The focus of domain modeling is on building a model of intrinsic concepts. After completing the domain model we then shift our attention to the details of an application and consider interaction. Most domain models are static and operations are unimportant, because a domain as a whole usually doesn’t do anything. The focus of domain modeling is on building a model of intrinsic concepts. After completing the domain model we then shift our attention to the details of an application and consider interaction. We can construct an application interaction model with the following We can construct an application interaction model with the following

Application Interaction Model Determine the system boundary Determine the system boundary You must know the precise scope of an application in order to specify functionality. If the system boundary is drawn correctly, you can treat the system as a black box in its interactions with the outside world. During analysis, you determine the purpose of the system and view that it presents to its actors. During design, you can change the internal implementation of the system as long as you maintain the external behavior. You should not consider human as part of a system, unless you are modeling a human organization such as business or government organization.

Application Interaction Model Finding actors and use case Finding actors and use case After determining the boundary, you must identify the external objects that interact with the system, called actors. Actors include humans, external devices and other software systems. They are not under control of the application, so consider them to be somewhat unpredictable. For each actor list the fundamentally different ways in which the actor uses the system. Each of these ways is a use case, which will partition the functionality of the system into a small number of discrete units, and all system behavior must fall under some use case. Every use case should represent a kind of service that the system provides.

Application Interaction Model Finding initial and Final Events Finding initial and Final Events To understand the behavior of a system, you must understand the execution sequence that cover each use case. You can start by finding the events that initiate each use case. Determine which actor initiates the use case and define the event that it sends to the system. In many cases the initial event is a request for the service that the use case provides. In other case the initial event is an occurrence that triggers a chain of activity. Give a meaningful name, but don’t try to determine its exact parameter list at this point. You should also determine the final event or events and how much to include in each use case.

Application Interaction Model Preparing a normal scenario Preparing a normal scenario For each use case, prepare one or more typical dialogs to get a feel for expected system behavior. The scenario illustrates the major interactions, external display formats and information exchange. Adding variation and Exception Scenarios Adding variation and Exception Scenarios Considering omitted input/outputs, error cases, etc. Finding external events Finding external events Examine scenario to find all external events: all input, decisions, interrupts and interactions to or from users or external devices. An event can trigger effects for a target object.

Application Interaction Model Preparing activity diagrams for complex use cases Preparing activity diagrams for complex use cases To make clear about the alternatives and decisions. Organizing actors and use cases Organizing actors and use cases Helpful for large and complex systems. Checking against the domain class model Checking against the domain class model At this point, the application and domain models should be mostly consistent. The actors, use case and scenarios are all based on classes and concepts from the domain model.

Application Class Model Application class model define the application itself, rather than the real-world objects that the application acts on. Most application classes are computer- oriented and define the way that the users perceive the application. An application class model can be constructed with the following steps. Application class model define the application itself, rather than the real-world objects that the application acts on. Most application classes are computer- oriented and define the way that the users perceive the application. An application class model can be constructed with the following steps. Specify the user interfaceSpecify the user interface Define boundary classesDefine boundary classes Determine controllersDetermine controllers Check against the interaction modelCheck against the interaction model

Application State Model Application state model focuses on application classes and augments the domain state model. Application classes are more likely to have important temporal behavior than domain classes. First identify application classes with multiple states and use the interaction model to find events for these classes. Then organize permissible event sequences for each class with a state diagram. Then check the various state diagrams to make sure that common events match and finally check the state diagrams against the class and interaction models to ensure consistency. Application state model focuses on application classes and augments the domain state model. Application classes are more likely to have important temporal behavior than domain classes. First identify application classes with multiple states and use the interaction model to find events for these classes. Then organize permissible event sequences for each class with a state diagram. Then check the various state diagrams to make sure that common events match and finally check the state diagrams against the class and interaction models to ensure consistency. Application state model can be created as follows. Application state model can be created as follows.

Application State Model Determine Application Classes with States. Determine Application Classes with States. Finding Events. Finding Events. Building State Diagram. Building State Diagram. Check against other state diagrams. Check against other state diagrams. Check against the class model. Check against the class model. Check against the interaction model. Check against the interaction model.

Adding Operations Our style of object-oriented analysis places much emphasis on defining operations than traditional programming based methodologies. We de-emphasize operations because the list of potentially useful operations is open-ended and it is difficult to know when to stop adding them. Our style of object-oriented analysis places much emphasis on defining operations than traditional programming based methodologies. We de-emphasize operations because the list of potentially useful operations is open-ended and it is difficult to know when to stop adding them. Operations from the class model. Operations from the class model. Operations from use Cases. Operations from use Cases. Shopping List Operations. Shopping List Operations. Simplifying Operations. Simplifying Operations.