logo

A hands on introduction for developers : Design and UML Class Diagrams

31 Pages1710 Words165 Views
   

Added on  2022-01-20

A hands on introduction for developers : Design and UML Class Diagrams

   Added on 2022-01-20

ShareRelated Documents
1
Design and UML Class Diagrams
Suggested reading:
Practical UML: A hands on introduction for developers
http://dn.codegear.com/article/31863
UML Distilled Ch. 3, by M. Fowler
A hands on introduction for developers : Design and UML Class Diagrams_1
How do people
draw / write down
software architectures?
A hands on introduction for developers : Design and UML Class Diagrams_2
Example architectures
person
UW student
CSE 403
student
VerizonWireless
GPS satellite
Cell phone
sea agent
lake agent
amphibious
agent
A hands on introduction for developers : Design and UML Class Diagrams_3
Big questions
What is UML?
Why should I bother? Do people really use UML?
What is a UML class diagram?
What kind of information goes into it?
How do I create it?
When should I create it?
A hands on introduction for developers : Design and UML Class Diagrams_4
Design phase
design: specifying the structure of how a software
system will be written and function, without actually
writing the complete implementation
a transition from "what" the system must do, to
"how" the system will do it
What classes will we need to implement a system that
meets our requirements?
What fields and methods will each class have?
How will the classes interact with each other?
A hands on introduction for developers : Design and UML Class Diagrams_5
How do we design classes?
class identification from project spec / requirements
nouns are potential classes, objects, fields
verbs are potential methods or responsibilities of a class
CRC card exercises
write down classes' names on index cards
next to each class, list the following:
responsibilities: problems to be solved; short verb phrases
collaborators: other classes that are sent messages by this class
(asymmetric)
UML diagrams
class diagrams (today)
sequence diagrams
...
A hands on introduction for developers : Design and UML Class Diagrams_6
What is UML?
UML: pictures of an OO system
programming languages are not abstract enough for OO
design
UML is an open standard; lots of companies use it
What is legal UML?
a descriptive language: rigid formal syntax (like
programming)
a prescriptive language: shaped by usage and convention
it's okay to omit things from UML diagrams if they aren't
needed by team/supervisor/instructor
A hands on introduction for developers : Design and UML Class Diagrams_7
Uses for UML
as a sketch: to communicate aspects of system
forward design: doing UML before coding
backward design: doing UML after coding as documentation
often done on whiteboard or paper
used to get rough selective ideas
as a blueprint: a complete design to be implemented
sometimes done with CASE (Computer-Aided Software
Engineering) tools
as a programming language: with the right tools, code can
be auto-generated and executed from UML
only good if this is faster than coding in a "real" language
A hands on introduction for developers : Design and UML Class Diagrams_8

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
Importance of UML in Object Oriented Software Projects
|9
|1965
|256

Importance of UML in Object Oriented Software Projects
|9
|1874
|51

Importance of UML in Object Oriented Software Projects.
|7
|1851
|413

Unified Modeling Language PDF
|13
|2249
|313

Role of System Analyst in Designing a System using OO Approach
|5
|1301
|344

Analysis of UML Diagram
|11
|1801
|71