12
Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Embed Size (px)

Citation preview

Page 1: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Presented by:CHAN LAI SAN (12034569)REBAH DAW SARREB (16033719)FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Page 2: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

• UML is a multipurpose modelling language that provide a standard guideline for modelling a system using its diagrams.

• Each diagram carries the specifications and requirement of that same system for use by different people for different purpose.

• UML diagrams only shows what is in a system and how it behave. It does not tie to any programming languages.

• UML are design to be flexible, easily extendable, and strongly emphasize the concept of reuse, layering, partitioning and modularity.

• UML provide guideline to transform one diagram to another diagram while preserving the consistency between models.

• It is used widely in all phases of complex software development life cycles, development of many systems engineering, as well as in modelling of many business processes.

Page 3: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

• There are thirteen types of UML diagrams: Class diagram Object diagram Component diagram Static

Structure Composite Structure diagram Package diagram Deployment diagram Use Case diagram Activity diagram Behaviour Statechart diagram Sequence diagram Communication diagram Interaction Timing diagram Interaction Overview diagram

Page 4: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

It is graphical overview the functionality and requirement of the system and the interface with outside the system.

It shows the actors and the relationship between the actors and the use cases.

It used to understand the system and what system is.

The use case diagram has four components:

1- Actor2- Use cases3- System boundary4- Relationship

Page 5: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Actor A role played by a person, other system external system

Use case A start-to-finish feature of the system

Association The communication among an actor and a use cases

Extend The relationship between use cases when use case completely consists the behavior of another use case

<<extend>>

Include The relationship between use cases when one use case has explicitly contains the behavior of another use case

<<include>>

Generalization

The relationship between use cases ,when the parent use case identify behaviour that its children can inherit

Boundary The boundary of the system contain the use cases and the relationships between use cases

 

Page 6: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

The purpose of the relationship is to explain that an actor is basically involved in a use case.

Borrow book

Maintain member records

Maintain book records

Return book

Librarian

add book record

pay fine

<<include>>

<<extend>>

Page 7: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

system static structure documented by class diagram diagram define as a rectangular boxes

A class building should: [2], [4], [5]

Meet all the system criteria, and realize the use case diagram. Design it in cheap and quick ways. Design a system to easy maintain and flexible to add future

requirements. The model design must contain all the description of what

should the system do .

The class name should be a noun. The attributes are name phrases. The methods have a verb sentences, and the links

(association) between that classes contain the exact operations between them such as: is a , part of, contain, has a, check for…

etc

class

Attributes

Operations()

Page 8: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Name Symbol DescriptionClass whole class rectangular contents :

-class name (student).-class attributes (such as student ID).-class operations (such as show results).

Links defaulted association between classes bi-directional

directional link composition

aggregation interfaces qualified links(association)

Multiplicities

11..*00..1

constraints the numbers of existence links between classes.

studentstudent IDshow results ()

Page 9: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Relation Symbol Description

1. Association The association established when two classes are connected to each other. <Member can borrow a book>

1.1 Multiplicity

Relation details by give one to one, one to many, many to many.<one or more books can borrowed by a member>

1.2Direct association

The arrowed association gives the one direct relation between classes, because the association by default comes with bi-directional links.

2. Aggregation Hallow diamond means. If the copy class was damage, the library class still exists.

3. Composition

Solid diamond means, if the library class damaged, the book classes also damaged.

4. Generalization /inheritance

Tree and roses are part of plants, and they make photosynthesis shared from plants properties.

Trees Roses

Plants

Library BookBorrow

CopyBorrow

Library

BorrowMember Book

Member Book 1 Borrow 1...*

BorrowMember Book

Page 10: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Following will be some guideline for use case realisation: Identify possible set of classes that can derived from the use case diagram. Understand how those classes might relate Suppressed details not directly related to collaboration. Ensure the consistency of diagrams during realisation process. Example of Use Case and Class diagram for library system after

realisation:

Borrow book

Maintain member records

Maintain book records

Return book

Librarian

add book record

pay fine

<<include>>

<<extend>>

Member member name member IDaddress Borrow bookReturn book

Librarian librarian ID return bookcheck fines

Status book ID book titlecat. no

Copy copy IDdue dateTake a copy()

Book book ID availability

1..n Asked for 1..n 1..* checked 0..1

Interested in n

1..*

1..* part of 1

Page 11: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

o In summary, UML is a simple to use guideline for creating model of a system. Because of its simplicity and flexibility, it is acceptable and applicable in various fields as long as there is a need of building model.

o Each of the UML diagrams holds some information of other diagram and can be used to realise the other diagram.

o There are many methodologies like Object Oriented that provide guidelines to transform one diagram to another diagram while ensuring the consistency is still preserved.

o UML is not only useful in documenting model. In facts, each of its diagrams is helping towards the project design till implementation stage.

Page 12: Presented by: CHAN LAI SAN (12034569) REBAH DAW SARREB (16033719) FIDA AL-OBAISI (17032975) 08 April 2008 (Tuesday 6pm – 7:30pm)

Reference:[1] Introduction to OMG Unified Modelling Language™ (UML®) by OMG,

updated on 11/09/2007. Web link: http://www.omg.org/gettingstarted/what_is_uml.htm

[2] Bennett S., Mcrobb S. and Farmer R., Object Oriented System Analysis and Design using UML, McGraw Hill, (2006).

[3] Jason T. Roff, 2003, The McGraw-Hill/Osborne, UML A Beginner's Guide.

[4] Stevens P., and Pooley R., Using UML Software Engineering with Objects and Components, (2000).

[5] Sommerville I., Software Engineering, seventh edition (2004).