Upload
avice-gardner
View
214
Download
0
Embed Size (px)
Citation preview
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.
• 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
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
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
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>>
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()
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 ()
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
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
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.
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).