



























































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Concepts like action state, acctivity diagram, class diagram, constructiing and object, generalization, interaction diagram, software degin, state diagram use case diagram are main topics. Implemtentation are done using Unified Modelling Languae. This lecture includes: Software, Design, Static, Modeling, Unified, Modeling, Language, Class, Dependency, Relationships, Interfaces, Packages
Typology: Slides
1 / 67
This page cannot be seen from the preview
Don't miss anything!




























































Software Design (UML)
Material based on [Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]
Software Design (UML)
ClassName
attributes
operations
A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
Graphically, a class is rendered as a rectangle, usually including its name, attributes, and operations in separate, designated compartments.
Software Design (UML)
Person
name : String address : Address birthdate : Date ssn : Id
An attribute is a named property of a class that describes the object being modeled. In the class diagram, attributes appear in the second compartment just below the name-compartment.
Software Design (UML)
Person
name : String address : Address birthdate : Date / age : Date ssn : Id
Attributes are usually listed in the form:
attributeName : Type
A derived attribute is one that can be computed from other attributes, but doesn‟t actually exist. For example, a Person‟s age can be computed from his birth date. A derived attribute is designated by a preceding „/‟ as in:
/ age : Date
Software Design (UML)
Person
name : String address : Address birthdate : Date ssn : Id
eat sleep work play
Operations describe the class behavior and appear in the third compartment.
Software Design (UML)
PhoneBook
newEntry (n : Name, a : Address, p : PhoneNumber, d : Description) getPhone ( n : Name, a : Address) : PhoneNumber
You can specify an operation by stating its signature: listing the name, type, and default value of all parameters, and, in the case of functions, a return type.
Software Design (UML)
A class may also include its responsibilities in a class diagram.
A responsibility is a contract or obligation of a class to perform a particular service.
SmokeAlarm
Responsibilities
-- sound alert and notify guard station when smoke is detected.
-- indicate battery state
Software Design (UML)
In UML, object interconnections (logical or physical), are modeled as relationships.
There are three kinds of relationships in UML:
Software Design (UML)
Person A generalization connects a subclass to its superclass. It denotes an inheritance of attributes and behavior from the superclass to the subclass and indicates a specialization in the subclass of the more general superclass. Student
Software Design (UML)
Student
UML permits a class to inherit from multiple superclasses, although some programming languages ( e.g., Java) do not permit multiple inheritance.
TeachingAssistant
Employee
Software Design (UML)
We can indicate the multiplicity of an association by adding multiplicity adornments to the line denoting the association.
The example indicates that a Student has one or more Instructors :
Student (^) Instructor 1..*
Software Design (UML)
The example indicates that every Instructor has one or more Students :
Student (^) Instructor 1..*
Software Design (UML)
We can also name the association.
Student (^) Team
membership 1..* 1..*
Software Design (UML)
We can specify dual associations.
Student Team
member of 1..*
(^1) president of 1..*