Software Design-Object Oriented Analysis And Design-Lecture Slides, Slides of Object Oriented Analysis and Design

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

2011/2012

Uploaded on 08/12/2012

dhanvant
dhanvant 🇮🇳

4.9

(9)

89 documents

1 / 67

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Design
Software Design (UML)
Static Modeling using the
Unified Modeling Language
(UML)
Material based on
[Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43

Partial preview of the text

Download Software Design-Object Oriented Analysis And Design-Lecture Slides and more Slides Object Oriented Analysis and Design in PDF only on Docsity!

Software Design

Software Design (UML)

Static Modeling using the

Unified Modeling Language

(UML)

Material based on [Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]

Classes

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.

Class Attributes

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.

Class Attributes (Cont’d)

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

Class Operations

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.

Class Operations (Cont’d)

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.

Class Responsibilities

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

Relationships

Software Design (UML)

In UML, object interconnections (logical or physical), are modeled as relationships.

There are three kinds of relationships in UML:

  • dependencies
  • generalizations
  • associations

Generalization Relationships

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

Generalization Relationships (Cont’d)

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

Association Relationships (Cont’d)

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..*

Association Relationships (Cont’d)

Software Design (UML)

The example indicates that every Instructor has one or more Students :

Student (^) Instructor 1..*

Association Relationships (Cont’d)

Software Design (UML)

We can also name the association.

Student (^) Team

membership 1..* 1..*

Association Relationships (Cont’d)

Software Design (UML)

We can specify dual associations.

Student Team

member of 1..*

(^1) president of 1..*