MIS541AUniversity of Arizona Lecture 13 Object-Oriented Analysis -II.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
Chapter 21 Object-Oriented Analysis
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Object-Oriented Analysis
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Object Oriented Analysis and Design Using the UML
An Introduction to Rational Rose Real-Time
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Unified Modeling Language, Version 2.0
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
CS /31 Illinois Institute of Technology CS487 Software Engineering OOA with UML David Lash.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Introduction to OOAD and the UML
Software Engineering Lecture 8 Object-Oriented Analysis.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
CS 501: Software Engineering Fall 1999
UML: Unified modeling language
Software Architecture & Design Pattern
Unified Modeling Language
Visual Modeling Using Rational Rose
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CS 501: Software Engineering
Presentation transcript:

MIS541AUniversity of Arizona Lecture 13 Object-Oriented Analysis -II

MIS541AUniversity of Arizona Topics Key ideas behind OO……… Use–cases..

MIS541AUniversity of Arizona Key ideas behind the Object Model.. Abstraction….. Encapsulation Modularity Hierarchy Typing Concurrency Persistence ALL OO MODELS MUST REFLECT THESE CHARACTERISTICS…

MIS541AUniversity of Arizona Focus on essential properties of the “real world” for the system…..Dependent on observer..Pick and choose..Objects capture those properties..Entity abstractions..Actions…etc….. ABSTRACTION

MIS541AUniversity of Arizona How an object is implemented is irrelevant..Users of the object only need to know what it does..and how it can be used..(not its internals..)..Reuse…….. ENCAPSULATION……..

MIS541AUniversity of Arizona Encapsulation/Hiding The object encapsulates both data and the logical procedures required to manipulate the data Achieves “information hiding” method # 1 data method # 2 method # 4 method # 5 method # 6 Access internals only via Methods…….. Controlled access

MIS541AUniversity of Arizona A collection of objects with some common theme or purpose…Easy for maintenance and use..Partitions into physical groups… MODULARITY

MIS541AUniversity of Arizona Helps in ordering and managing abstractions……. Single & Multiple inheritance.. Is-a versus part- of.. HIERARCHY……..

MIS541AUniversity of Arizona Type enforces physical rules…..of combining objects..substitution etc.. TYPING

MIS541AUniversity of Arizona Multiple processes running at the same time..I.e. multiple objects are active at the same time..things happen in parallel……(unless they need to access a common resource!) CONCURRENCY

MIS541AUniversity of Arizona Objects live through time……..and space… PERSISTENCE

MIS541AUniversity of Arizona OO Analysis The process of defining the classes and interactions…… Usually done using what is called UML – The Unified Modeling Language… provides a series of diagrams… OO Analysis can be quite complex – tends to combine both programmers/domain analyst perspective… We will focus on data modeling, process modeling and state modeling……..

MIS541AUniversity of Arizona Advantages & Disadvantages of OOP " Facilitates reuse " Allows for building complex systems " Perfomance issues - speed, memory " Managing large number of objects " May get very difficult to understand and debug " Notion of components - Encapsulated abstractions " Pluggability - a possibility - more work required

MIS541AUniversity of Arizona OO Languages & References Smalltalk, Eiffel, Python, C++, Java – Thinking in Java Introduction to OOP – Timothy Budd – Many books on OO and OO SW development Java Development Environment/UML – Forte – Jbuilder – available at the Univ.

MIS541AUniversity of Arizona Learning OO – Some guidelines for 541A. Firstly, there are numerous aspects of OO, UML and variations on the same…I do not expect you to master the notation..You can always look up a book and see the notation..Focus on the underlying modeling idea…what is being said about the problem.. Develop skill to interpret somebody’s else diagrams..and also communicate your own notions.. Lectures are an overview of key ideas… Programming knowledge is not a reqmt..so I will stay away from those concepts…You can always take an OO programming course..

MIS541AUniversity of Arizona OOA- A Generic View define use cases (Requirements) extract candidate classes (Data modeling) establish basic class relationships define a class hierarchy (Data modeling) identify attributes for each class (Data modeling) specify methods that service the attributes (Process modeling) indicate how classes/objects are related (Process modeling) build a behavioral model – State diagrams (Behavioral modeling) Illustrate workflows with Activity Diagrams Iterate

MIS541AUniversity of Arizona Togethersoft – An Intro! Doing OO by hand can be cumbersome……….Good tools out there… Rational Rose/Togethersoft ArgoUML – not as sophisticated yet…….

MIS541AUniversity of Arizona UML Overview – Refer to the Textbook Language for " Visualizing systems " Specifying systems " Constructing systems " Documenting systems Features " Explicit model to facilitate communication " Graphical in nature " Well-define semantics - unambiguous " Supports both forward and reverse engineering - round trip engineering

MIS541AUniversity of Arizona Views in UML " Design view " Process view " Implementation view " Deployment view " Use case view Use case view Design view Process view Implementation view Deployment view Vocabulary Functionality System assembly Config. Mgmt Performance Scalability Throughput Topology Delivery Installaton Behavior Analysis Unified view for all stages of the software development lifecycle..

MIS541AUniversity of Arizona Unified Modeling Language (UML) User model view. This view represents the system (product) from the user’s (called “actors” in UML) perspective. Structural model view. Data and functionality is viewed from inside the system. That is, static structure (classes, objects, and relationships) is modeled. Behavioral model view. This part of the analysis model represents the dynamic or behavioral aspects of the system. Implementation model view. The structural and behavioral aspects of the system are represented as they are to be built. Environment model view. The structural and behavioral aspects of the environment in which the system is to be implemented are represented.

MIS541AUniversity of Arizona UML Overview (Contd) Building blocks Things Relationships Diagrams Structural Things Classes Interfaces Collaborations Use cases Active classes Component Node Behavioral Things Interactions (messages) (action sequences) (links) States & state machines Grouping Things Packages Frameworks Annotational Things Notes Adornments Dependency Association Generalization Realization Class diagrams Object diagrams Use case diagrams Sequence diagrams Collaboration diagram State charts Activity diagrams Component diagrams Deployment diagrams Italics denote implementational Design related..

MIS541AUniversity of Arizona HelloWorld Example Import java.awt.Graphics class Helloworld extends java.applet.Applet { public void paint (Graphics g) { g.drawString("Hello, World!",10,10); } Paint() HelloWorld g.drawstring ("Hello, World!",10,10)

MIS541AUniversity of Arizona Applet HelloWorld Paint() Graphics Object Component Container Panel Applet HelloWorld ImageObserver Inheritance Hierarchy Class Relationships

MIS541AUniversity of Arizona :Thread :Toolkit :ComponentPeer target:HelloWorld Paint HandleExpos e CallbackLoop Run Sequence diagram

MIS541AUniversity of Arizona HelloWorld Java Applet Awt Lang Packaging diagram Hello.html Hello.jpg HelloWorld.class hello.java Component diagram

MIS541AUniversity of Arizona Use Cases a scenario that describes a “thread of usage” for a system actors represent roles people or devices play as the system functions users can play a number of different roles for a given scenario

MIS541AUniversity of Arizona Banking System UseCase examples…………

MIS541AUniversity of Arizona Use cases " Describes a set of sequences in which each sequence represents the interaction of things outside the system (its actors) with system itself " Involves the interaction of actors with a coherent set of roles and the systems " Actors - human and non human - major beneficiaries " A use case can have many variants " A use case carries out some tangible amount of work

MIS541AUniversity of Arizona Developing a Use Case What are the main tasks or functions that are performed by the actor? What system information will the the actor acquire, produce or change? Will the actor have to inform the system about changes in the external environment? What information does the actor desire from the system? Does the actor wish to be informed about unexpected changes?

MIS541AUniversity of Arizona Use cases (Contd.)  Use cases and scenarios (like class & instances) " Use cases - what a system should do - Flow of events - main flow and exceptions " Use cases implemented by a collaboration of classes - many objects participate to execute a use case

MIS541AUniversity of Arizona Use case organisation Use cases can be related via " Generalization " Inclusion " Extension Exhibit “relationships” similar to classes in general…..

MIS541AUniversity of Arizona Requirements & Use cases " Establish the context of the system by identifying actors that surround it " For each actor, consider the behavior that each expects or requires of the system " Name these common behaviors as use cases " Factor common behavior into new use cases, factor variants, organise use cases " Model these use cases in Use-case diagrams " Adorn with notes as necessary

MIS541AUniversity of Arizona UML: Use-Case Diagram

MIS541AUniversity of Arizona Use case diagrams A use case diagrams shows all the usecases and actors and their relationships > Place phone call Receive phone call Use scheduler Place conf. Call Receive additional call Cellular Network User