Download presentation
Presentation is loading. Please wait.
Published byMerilyn Ellis Modified over 8 years ago
1
UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd.
2
Presentation Topics What is UML? Where did UML Come From? Why UML? How does UML work? UML facts and fiction
3
What is UML? Unified Modeling Language UML is a standardized format for diagramming software and software processes.
4
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”
5
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…
6
Why UML? Do you ever work with databases? Do you plan these databases? Why? – How? Do you plan your applications? Why? – How?
7
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.
8
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
9
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
10
How does UML work (in a nutshell)? You think You draw pictures You think more You might draw more pictures You code
11
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.
12
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
13
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???
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.