Documente Academic
Documente Profesional
Documente Cultură
Bill Parrott
Web Development & Interface Design
Information Technology | University of Kansas
November 2010 Web Developers Meeting
What is UML?
• According to Wikipedia:
• “The Unified Modeling Language (UML) is used to specify,
visualize, modify, construct and document the artifacts of
an object-oriented software-intensive system under
development.”
Say what?
• UML is a tool for designing the pieces of an application
using a standard set of visual diagrams as well as
mapping the relationships between the various pieces.
A few notes
• UML is very robust.
• Relationships
• Generalization: “extends”
• Realization: “implements”
• Dependency
Associations
• Aggregation: “has-a”
• Denoted by a solid line with a hollow diamond at one end.
• Composition: “owns-a”
• Denoted by a solid line with a solid diamond at one end.
Relationships
• Generalization: “extends”
• Denoted by a solid line with a hollow arrow point on one end.
• Realization: “implements”
• Denoted by a dashed line with a hollow arrow point on one end.
Dependency
• The most generic form of link between two classes.
• Represents a relationship in which one class uses or
requires another class at some point.
• Denoted by a dashed line with a pointer on one end.
DATABASE SCHEMA DESIGN USING
THE SAME PRINCIPLES
Using an ERD is (to me) conceptually similar to using
UML.
Designing your database schema
• The same concepts as with class design apply.
• Each table should contain one type of “object” (e.g. Students,
Faculty, Courses, Departments, etc.)
• Refactoring your table structure is easier in the design phase than
it is during development.
• Example
• A version of the database schema design for the new KU Calendar
website (currently in development).
WRAPPING UP
Why may UML be better?
• Helps reinforce good design practices.
• You can spot overly complex code in the making, before you have
written it.
• Forces you to think about your application as a whole, but also
focus on the details of each piece individually.
• SourceMaking.com
• Essentially a small online book with lots of info and examples.
• UML tutorial
• A bit older (ca. 2001), but still good information.
Questions?
• Ask here, on the web developers’ forum, or by email.
• My email:
• bparrott@ku.edu
Thank you.