uml – what’s all the fuss about? simon horwith cto etrilogy ltd
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082510/5a4d1b647f8b9ab0599af0a9/html5/thumbnails/13.jpg)
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???