uml – what’s all the fuss about? simon horwith cto etrilogy ltd

13
UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd.

Upload: merilyn-ellis

Post on 18-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

What is UML? Unified Modeling Language UML is a standardized format for diagramming software and software processes.

TRANSCRIPT

Page 1: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

UML – What’s all the Fuss about?

Simon HorwithCTO

Etrilogy Ltd.

Page 2: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Presentation Topics

• What is UML?• Where did UML Come From?• Why UML?• How does UML work?• UML facts and fiction

Page 3: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

What is UML?

• Unified Modeling Language• UML is a standardized format for

diagramming software and software processes.

Page 4: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Where did UML Come From?• In the late 1980’s early 1990’s:

– n-tier client server application development became very popular– C++ was the most widely used platform for the development of

commercial software– The growth in popularity of OO programming led to many different

systems and ideas about how to represent an Object Oriented architecture with diagrams both for documentation and planning of software.

– The best predecessor to UML (called OMT) was described by it’s creators as “essentially an extended Entity-Relationship approach”. When UML was finally released as an official specification, the authors of OMT then distinguished UML as “addressing programming applications” while OMT “addresses programming database applications”

Page 5: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Where did UML Come From? cont’d

• UML was released as a theoretical diagramming system in 1997 by the Object Management Group (http://www.omg.org) who still control and define UML

• UML has since become THE standard for diagramming Object Oriented applications– This raises the question – “if UML is great for

modelling OO Applications, what use is it when building web applications in ColdFusion?”

– ColdFusion Applications can be developed in a very OO manner using CFCs and custom tags – there are many benefits to approaching development as such…

Page 6: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Why UML?

• Do you ever work with databases?• Do you plan these databases?• Why? – How?• Do you plan your applications?• Why? – How?

Page 7: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Why UML? cont’d• Before asking “Why UML?”, first ask why “Object

Oriented CF Applications?”– In 1989, Biggerstaff and Richter suggested in a paper

that less than half of any typical system can be built with reusable software components. To summarize their paper, it was concluded that “the only way to obtain more significant gains in productivity and quality is to raise the level of abstraction of the components”.

– An application is successful if it meets its original goals and it’s original goals must be clearly defined in order to develop an application and measure its success.

Page 8: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Why UML? cont’d

• The benefits of Object Oriented Design are best summed up by Ian Graham as:– Required changes are localized and unexpected

interactions with other program modules are unlikely– Inheritance and polymorphism make OO systems

more extensible, thus contributing to more rapid development

– Object-based design is suitable for distributed, parellel, or sequential implementation

– Objects correspond more closely to the entities in the

Page 9: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

Why UML? cont’d

– There are three main occurrences in any software development life cycle:

• Specification and logical modelling (analysis )• Architectural modelling (design)• Implementation (coding and testing)

– UML helps to distinguish between the often overlapping specification and design origins of a software system

Page 10: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

How does UML work (in a nutshell)?

• You think• You draw pictures• You think more• You might draw more pictures• You code

Page 11: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

UML facts and fictions?• OK – so maybe your applications aren’t

large enough to warrant diagramming all of your code…so that means UML is useless for you?…

• What about sequences of events?– Most applications begin with use cases…

diagramming these sequences helps to give clear vision to how your application is going to work and to what end users are going to experience.

Page 12: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

UML facts and fictions? cont’d

• “UML is hard”– no it’s not. There are hundreds of UML

books available (you can order “UML for Dummies” from Amazon for $20). There are also dozens of free and not so free tools that will generate diagrams for you.

• “UML is a waste of time”– not likely… certainly not for event

sequence diagrams

Page 13: UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd

I’m still not convinced…• Why?

– Because it requires learning?– Because it requires purchasing and using new software– Because my apps. Don’t require it

• You probably already use UML and don’t even know it!!– If you diagram your apps (use a whiteboard – it’s easy)

you are using UML concepts… just not their standards.– You (your company) have some sort of standard

naming conventions when you write code, right? Why not agree on a standard way to draw these pictures???