Beyond Design: Leveraging UML at Implementation - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Beyond Design: Leveraging UML at Implementation

Description:

Things are working as is no need to change ... Electrical. Schematics. Construction. Blueprints. What is Visual Modeling? Nate Skinner ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 26
Provided by: natesk
Category:

less

Transcript and Presenter's Notes

Title: Beyond Design: Leveraging UML at Implementation


1
Beyond DesignLeveraging UML at Implementation
  • Nate Skinner
  • Nate.skinner_at_embarcadero.com
  • Program Manager
  • Application Development Tools
  • Embarcadero Technologies, Inc.

2
Overview
  • Background
  • What is Visual Modeling?
  • What is UML?
  • Why use UML for Analysis and Design?
  • Why use UML at Implementation?
  • When do I use UML?
  • Conclusion

3
Background The Problem
  • Independent Implementation Efforts
  • Different Tools
  • Different Delivery Methods
  • Things are working as is no need to change
  • Introduction of design/models during project
    presents perceived time constraints
  • Design phase given different emphasis
  • Straight to implementation
  • Design seen as best practice, but not practiced
    often
  • Slows down development
  • Additional step in development process

4
Background Its Getting Worse!
  • The number of people with expertise to solve
    these problems is dropping!
  • Less likely to find architects with real world
    experience
  • Have to use tools/technology that allows newer
    users to become productive faster
  • More important than ever to deliver artifacts
    about the applications we build

5
What is Visual Modeling?
  • Software models are very similar to...

Mechanical Drawings
Electrical Schematics
Construction Blueprints
6
What is the UML?
  • Unified Modeling Language
  • An industry standard design notation for
  • Expressing software requirements
  • Expressing software architecture
  • Expressing software dynamics and behavior
  • Documenting software deployment
  • The de-facto industry standard today
  • Current OMG Specification 1.4

7
The UML and Software Process
  • The UML is a standard notation only
  • It does not specify process at all
  • UML is most effective when combined with an
    effective software process

8
Why use UML for A D?
  • Clarity-Graphical depictions of ideas are easier
    to immediately understand
  • Audience-This clarity allows a wider audience
    to understand and participate
  • Discipline-Modeling, as a rigorous technique,
    imposes discipline on the specifications of
    business problems and a common process to
    understand and resolve them.

9
As designed versus As built
  • Separate initial design..

Preserve the initial models as a design reference
..from current state
Maintain current models as a working part of your
development environment
10
Why use UML for A D?
Clarity-Graphical depictions of ideas are easier
to immediately understand
11
Why UML at Implementation?
  • Communicating between team members
  • Resolving unforeseen problems
  • Understanding impact of changes
  • Completing error prone steps
  • Waiting on finished work from others
  • Updating management at code review
  • Taking time to document the code

12
Benefits of UML at Implementation?
  • Task Automation
  • Many simple, repetitive tasks can be handled
    automatically
  • Visual Guidance
  • UML models provide a guide to development and a
    perspective that encourages efficient design
  • Communication
  • Up to date, design records provide an efficient
    communication vehicle

13
Task Automation
Code Generation
public class QuarterHour_ private int
StartTime // Get/Set Methods For Member
Variables public boolean fill( BannerAdList
adList ) boolean returnVal
return returnVal public float
getQHTotal( ) float returnVal
return returnVal public void
computeQHTotal( )
  • Saves time and prevents errors by automatically
    creating skeleton for your codea

14
Task Automation
EJB Creation
  • Create and define all the necessary interfaces to
    build a deployable Java Bean from the UML class

15
Task Automation
Adding JavaDoc
  • Use a WYSIWYG interface to rapidly enter JavaDoc
    tags for comprehensive documentation

/ The ltBgtSchedule Summary Window lt/Bgtcan
ltIgtdisplay lt/Igta schedule and ltUgtall the
associated datalt/Ugt, including which banner ads
have been assigned to each time slot. /
// not necessary to learn tags or spend time hand
coding JavaDoc
16
Visual Guidance
Navigation
  • Use picture of code to point and click your way
    through design.
  • Navigate between objects on different diagrams
    and within different areas of code visually

17
Visual Guidance
Impact Analysis
  • View dependencies to determine likely areas of
    impact.

Understand relationships between different
areas within the design
18
Visual Guidance
Design Reference
  • State diagram and other dynamic diagrams
    (sequence, collaboration, activity, even the
    class) while in the coding phase provide a
    reference to follow while editing/coding.

19
Visual Guidance
Design Reference
  • View diagrams while coding
  • Develop within the same interface
  • Or use your choice of IDE

20
Visual Guidance
Refactoring
  • UML provides the opportunity to visually
    inspect, improve, debug, and enable reuse of code

Refactoring is the process of changing a
software system in such a way that it does not
alter the external behavior of the code yet
improves its internal structure.
Refactoring Improving the Design of Existing
Code Fowler, Martin. 1999. Addison Wesley
21
Communication
Team Enabled
  • Repository based, managed, scalable, multi user
    access

Web Access Via the Intranet
Local Mode to set-up a repository on local machine
Server Mode for collaboration on a shared
repository
Synchronize
Repository
Synchronize
22
Communication
Project Status
  • Reports provide quick visual inspection of
    project status
  • No special preparation necessary for code review
  • Not necessary for management to read thru code or
    accept a verbal status report

23
Communication
Learning Curve
  • Big picture blueprint of architecture and
    interfaces
  • New developers get understanding of overall
    architecture and become more productive more
    quickly.

24
When do you use the UML?
  • Visual UML modeling has been traditionally
    focused on
  • Analysis Design

Implementation
Analysis
Testing
Requirements
Design
yet state of the art tools provide significant
value at Implementation and throughout the
application lifecycle
25
Recommended Reading
  • The Unified Modeling Language User Guide
  • Booch, Grady, J. Rumbaugh, and I. Jacobson.
    1999. Addison Wesley
  • Refactoring Improving the Design of Existing
    Code
  • Fowler, Martin. 1999. Addison Wesley
  • eXtreme Programming eXplained Embrace Change
  • Beck, Kent. 2000. Addison Wesley
  • Use Case Driven Object Modeling With UML A
    Practical Approach
  • Rosenberg, Doug with Kendall Scott. 1999. Addison
    Wesley
  • Building Web Applications with UML
  • Conallen, Jim. 2000. Addison Wesley
  • UML Distilled 2nd Edition
  • Fowler, Martin with Kendall Scott. 1997.
    Addison Wesley
  • Business Modeling with UML Design Patterns at
    Work
  • Eriksson, Hans Erik. And Penker, Magnus. 2000.
    Wiley Computer Publishing
Write a Comment
User Comments (0)
About PowerShow.com