Top Banner
UML and the Software Lifecycle
28

UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

UML and the Software Lifecycle

Page 2: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

What is UML?

• Unified Modelling language • Developed to enable IT professionals to model

computer applications in a standard language-independent way.

• UML provides diagrams that increase the ease of understanding of an application under development

Page 3: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Main UML diagrams and the software Lifecycle

• Use Case Diagrams• Activity Diagrams• Class Diagram• Sequence Diagrams• State Diagrams

• Package Diagrams• Deployment diagrams

Requirements gathering

Requirements analysis

DESIGN

Implementation

ANALYSIS

Software design

Page 4: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Requirements Gathering: Use Case Diagram shows SCOPE

Source: IBM Rational

Page 5: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

.

Page 6: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

.

Page 7: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Use Case Diagrams

• Business requirements – essential use cases

Guest

Order food/drink

Bookspa

Request alarm call

Hotel self service subsystem

Check valid room number

<<includes>>

Page 8: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Each Use Case• Describes a system function from a user’s

perspective• Details business events and users interaction

with the system during that event• Represents a system activity, a well-defined

part of the system’s functionality• Has a goal• Supported by behaviour specifications• Has a more detailed description, possibly

specifying a number of scenarios or alternate courses of action

Page 9: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

• Use cases are initially defined at a high level and successively refined as the analysis and software development process unfolds.

Williams 2004

Page 10: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

• The UML Class Diagram provides a model that can be easily translated into software components.

• Use case realisation includes identifying a set of classes with an understanding of how they work together to provide the functionality of the use case.

Williams 2004

Page 11: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Class Diagram

• static structure of the system• shows how different entities/objects relateCan be used in analysis to show... • logical classes - things relating to the

organisationAnd in software design to show....• implementation classes, which are the things

that programmers typically deal with.

Page 12: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

• The class diagram is refined and modified through the lifecycle to add more detail relevant to the implementation

Page 13: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Example class diagram<boundary>

User Interface:: addmemberUI

Startnewmember()

Createnewmember()

Select membertype()

Recordpayment()

<control>

Control:: addmember

Select membertype()

Recordpayment()

Createnewmember()

<entity>

Member

Name

Address

Phone

Mobile

Email

Type

Createnewmember()

Update membertype()

Updatememberdetails()

Deletemember()

<entity>

Filmclub

Club name

Location

Night

Time

Contact

Phone

email

Create filmclub()

1 0..*

Is made up of

Page 14: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Williams 2004

Page 15: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Class diagrams can show

• Inheritance relationships• Association relationships (like in E-R diagrams)

Page 16: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Activity Diagrams

• Activity diagrams are used to show sequences of activities.

• show workflows from start point to finish point detailing the many decision paths that exist in the progression of events contained in the activity.

• can be used to model higher-level business processes or low-level internal class actions.

• Swim lanes can be used to show who is responsible for an action

Page 17: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Activity Diagrams

Page 18: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Activity diagram with swimlanes

Source: IBM Rational http://www.ibm.com/developerworks/rational/library/769.html

Page 19: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Statechart Diagram

• The statechart diagram models the different states that a class can be in and how that class transitions from state to state

• Only necessary for classes with 3 or more states.

Page 20: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Statechart Diagram

Williams 2004

Page 21: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Sequence Diagrams

• Dynamic view of the system• represent or model the flow of messages, events

and actions between the objects in a system. • show the calls between the different objects in

their sequence for a use case or part of a use case

• used to design, document and validate the architecture, interfaces and logic of the system

Page 22: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Sequence Diagrams

Page 23: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Williams 2004

Page 24: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Component Diagram

• physical view of the system• shows the dependencies that the software has on

other software components (e.g. software libraries) in the system.

• The diagram can be shown at a very high level, with just the large-grain components, or it can be shown at the component package level.

• [Note: The phrase component package level is a programming language-neutral way of referring to class container levels such as .NET's namespaces (e.g., System.Web.UI) or Java's packages (e.g., java.util).]

Page 25: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Component Diagram

Source: IBM Rational http://www.ibm.com/developerworks/rational/library/769.html

Page 26: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Deployment Diagram

• shows how a system will be physically deployed in the hardware environment

• where the different components of the system will physically run and how they will communicate with each other.

Page 27: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Deployment Diagram

Page 28: UML and the Software Lifecycle. What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard.

Sources

• Williams, Laurie (2004) An Introduction to the UML Modelling Language

• IBM Rational - UML Overview http://www.ibm.com/developerworks/rational/library/769.html