Introduction UML: ObjectOriented Analysis and Design - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Introduction UML: ObjectOriented Analysis and Design

Description:

Take conceptual model from analysis and add constraints, the programming ... http://info.borland.com/media/shockwave/together/1009_tvs_2.0_intro.html ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 45
Provided by: ucfser
Category:

less

Transcript and Presenter's Notes

Title: Introduction UML: ObjectOriented Analysis and Design


1
Introduction UML Object-Oriented Analysis and
Design
  • Harold Miles
  • Eric Ruttenbur

2
Agenda
  • Object-Oriented Analysis Design
  • Analysis vs. Design
  • OOAD Concepts
  • OOAD Tips
  • What is UML?
  • Purpose of UML
  • UML Perspective
  • UML Diagrams
  • Criticisms

3
Object-Oriented Analysis Design
  • Considers a problem domain and logical solution
    from the perspective of objects, i.e.
  • Things
  • Concepts
  • Entities
  • Define the problem (not necessarily the solution)
  • Analysis consists of written requirements and/or
    use cases (UML)

4
Object-Oriented Analysis Design (Cont.)
  • Take conceptual model from analysis and add
    constraints, the programming language, and
    architectural assumptions as basis of design
  • UML is the standard language used in
    object-oriented analysis and design

5
Analysis vs. Design
  • Division between analysis and design is fuzzy
  • Not a rigid difference, more of a continuum
  • Leads from investigation (analysis) to solution
    (design)

Analysis
Design
6
OOAD Concepts
7
Requirements Analysis
  • Preliminary study
  • Describes the nature of the problem and which
    principal alternatives are possible solutions
  • RAD Workshop
  • Important business processes, use cases, and
    components are contemplated
  • Business process analysis
  • Analyze in the context of the new system

8
Requirements Analysis (Cont.)
  • Use case analysis
  • What it should do and in what context
  • Architecture and software development environment
  • To force a more efficient software development

9
Requirement Analysis Questions
  • Objects
  • Which objects are used in the application domain
    (forms, contracts, folders, persons)?
  • Properties
  • What are the properties of these objects, what
    are their structures, how are they put together?
  • Communication
  • How do employees communicate with each other?

10
Requirements Analysis Questions (Cont.)
  • Roles
  • Which objects are used by whom?
  • Work processes
  • What kind of working instructions exist or can be
    identified? Which concepts, principles, and
    guidelines?
  • Organization, rights, responsibilities
  • How are users organized? Who is responsible for
    what?

11
Requirements Analysis Questions (Cont.)
  • Events
  • When do different events occur? Who triggers
    events?
  • Conditions
  • Are the events and activities exceptions or are
    they standard cases?
  • Where are future changes to be expected? Are
    there bottlenecks?

12
Requirements Analysis Tips
  • Make complete list of requirements as possible,
    as early as possible, rather than start off with
    code
  • Requirements are NOT use cases use cases are not
    requirements
  • There should be one test case to verify each
    requirement

13
OOAD Concepts
14
Domain Analysis
  • Identify the roles of the persons using the
    system
  • Domain experts elicit designs and discuss
    requirements
  • They may not be a future user, but ideally know a
    lot about the proposed or existing systems

15
Domain Analysis (Cont.)
  • Domain experts should know
  • How things are carried out
  • Various use cases
  • Knowledge of GUI components
  • Expressed with a conceptual model
  • Illustrates the different categories of things in
    the domain, all things of interest

16
Conceptual Model
17
OOAD Concepts
18
Responsibility of Assignments
  • Define responsibilities of employees in order to
    fulfill a process
  • Determine how people will collaborate or share
    the work
  • Emphasizes allocating tasks and responsibilities
    to various objects in the application
  • Utilizes class and collaboration diagrams

19
Collaboration Diagram
20
Object-Oriented Analysis and Design Tips
  • Dont try to write use cases until you know what
    the users will actually be doing
  • Dont spend weeks building elaborate, elegant use
    case models that you cant design from
  • Dont waste time perfecting the robustness of
    diagrams as the design evolves

21
Object-Oriented Analysis and Design Tips (Cont.)
  • Dont do state diagrams for objects with two
    states
  • Dont model what you dont really need to model
  • Dont do state diagrams just because you can

22
What is UML?
  • Industry standard language for specifying,
    visualizing, constructing, and documenting the
    artifacts of software systems.
  • Officially defined at the Object Management Group
    (OMG)
  • Catalyst for the evolution of model-driven
    technologies
  • Model Driven Development (MDD)
  • Model Driven Engineering (MDE)
  • Model Driven Architecture

23
What is UML? (Cont.)
  • Tells the story in context
  • Official current version 2.0
  • Free for download

24
What UML IS NOT
  • Software development process
  • Meant be used within the development process
  • Silver bullet
  • Still requires actual code!
  • But is a means of organizing information

25
Purpose of UML
  • Communication Comprehensive notation
  • Requirements
  • Architecture
  • Implementation
  • Deployment
  • States of the System

26
Particular Perspective
  • Focused on Objects
  • Actions that an object take
  • Relationships between objects
  • Deployment of objects
  • State the objects take in response to external
    events

27
Design Playing With Models
  • Object-Oriented Design using UML provides models
    to test design features and seek efficient
    possibilities.
  • Static Diagrams (User Interface)
  • Component or class access to interfaces
  • Flow of action or methods to be carried out
  • Efficient to design compared to the actual coding

28
3 Core Models
These types of models may confuse them... maybe
stick with types of models in UML 2.0 (structural
and behavioral?)
  • Analysis Model
  • Usually a high level model of the current system
    solving current requirements
  • Architecture Model
  • Adapting model focused on the architecture, the
    components, interfaces and structure across nodes
  • Provides the solution, trade-offs and business
    assumptions for the structure

29
3 Core Model (Cont.)
  • Component (Design) Models
  • Many Models usually one per component
  • Depicts the internal structure of each component
  • Attributes
  • Operations
  • Dependencies
  • Behaviors of its classes

30
Advantage of Models
  • Concept mastery
  • Active Focus
  • Early bug capture
  • Improve Communication
  • Easy to change early in the process
  • Provide clearer deadlines and schedule objectives
  • Cost effective compared to code change

31
Types of Models
  • Structural
  • Class Diagram
  • Component Diagram
  • Deployment Diagram
  • Package Diagram
  • Object Diagram

32
Types of Diagrams (Cont.)
  • Behavioral
  • Use Case Diagrams
  • Interactions Diagrams
  • Activity Diagrams
  • State Chart Diagrams

33
Unified Modeling Language Diagrams
Phase 1
Phase 2
Phase 3
Phase 4
Phase 5
Class Diagrams
Use Case Diagram
Activity Diagram
Component Diagrams
Sequence Diagrams
Type of Diagram
  • Shows the detailed behavior inside a single
    function or single case
  • Primary Scenarios
  • Alternate Scenarios
  • Diagram objects
  • Initial State
  • Action State
  • Decision
  • Final State
  • Displays the external behavior of the system
  • People
  • Systems outside system
  • What the system does in response
  • Demonstrates actions by people and systems
    outside the system

Initial architectural model of system Models
high-level software components and corresponding
interfaces Helps organize teams and sub-teams
development Often referred to as the wiring
diagram
  • Time specific walk through of objects capturing
    behaviors and flow of messages
  • Diagram Objects
  • Message Information transfer between objects
  • Activation When an object is performing an
    action
  • Depicts the classes and interfaces within design
    of your system as well as relationships
  • Displays internal object oriented structure of
    code
  • Diagram Objects
  • Class
  • Attributes
  • Methods
  • Associations
  • Dependencies

Definition
Business Process Model of each single use case
Initial Architecture of high level software
components
Links classes together ERD but for classes
OUTCOMES/GOALS
Provides functional requirements
Object Lifeline Life of an object
Structural Diagram
Structural Diagram
Behavior Diagram
Behavior Diagram
Behavior Diagram
34
Unified Modeling Language Diagrams
Statechart Diagrams
Phase 7
Phase 8
Phase 9
Deployment Diagrams
Package Diagrams
Type of Diagram
  • Models hardware used in implementing a system
  • Diagram Objects
  • Component
  • Node
  • Association
  • How object state changes in response to internal
    and external events
  • Diagram Objects
  • Initial and Final State
  • State
  • Transition
  • Depicts groupings of related elements or packages
    and dependencies between them.
  • Package is an grouping of model elements such as
    use cases or classes

Definition
Hardware and applications required for deployment
  • High-level
  • Requirements
  • Design
  • Java source code

OUTCOMES/GOALS
Documents various modes States a class goes
through and trigger events
Behavioral Diagram
Structural Diagram
Structural Diagram
35
UML Case Kennel Management System (KMS)
Sample UML
  • Sandys Pet
  • Long and short term boarding
  • Cats, Dogs, Birds exotic pets
  • Handles each pet time accordingly
  • Reservations Occupancy
  • Exercise and Grooming
  • Nutrition and dietetics
  • Inventory and ordering
  • Etc.

36
Use Case Diagram Care Giver Use Case
Uses
Use Case
Relationships - Extends
Actor
37
Activity Diagram Create Pen Assignment
Initial State
Action State
Decision
Final State
38
Component Diagram Kennel Management System
Component
Dependency
Interface
39
Sequence Diagram Vet Record
Activation
Object Lifeline
Message
40
Class Diagram Pen Assignment Classes
Class
Attributes
Methods
Association
Dependency
41
Statechart Diagram Pet Check In
Initial State
State
Transition
Final State
42
Deployment Diagram KMS System Architecture
Node
Means of Communication
43
Package Diagram Kennel Management Packages
Package
Dependency
44
Criticisms
  • Large and complex
  • Contains diagrams that are redundant or
    infrequently used
  • Imprecise semantics

45
Demos
  • http//info.borland.com/media/shockwave/together/1
    009_tvs_2.0_intro.html
  • http//resource.visual-paradigm.com/tips_and_trick
    s/code_engineering/generate_java_using_instant_gen
    erator.html

46
Reference
  • http//www.devshed.com/c/a/Practices/Introducing-U
    MLObjectOriented-Analysis-and-Design/6/
  • http//www.agilemodeling.com/style/useCaseDiagram.
    htmActors
  • Open Source UML Tools Tutorials
  • http//argouml.tigris.org/tours/bdStateDiagram.htm
    l
  • http//www.dotnetcoders.com/web/learning/uml/diagr
    ams/statechart.aspx
  • http//en.wikipedia.org/wiki/Unified_Modeling_Lang
    uage
  • http//en.wikipedia.org/wiki/Object_oriented
  • Rosenberg, Doug and Scott, Kendall. Use Case
    Driven Object Modeling with UML A Practical
    Approach. Addison Wesley Longman, Inc., 1999.
  • Larmain, Craig. Applying UML and Patterns An
    Introduction to Object-Oriented Analysis and
    Design. Prentice Hall, 1998.
Write a Comment
User Comments (0)
About PowerShow.com