INDEX
S. No Contents Page No
1 Lab Objective 2
2 Introduction About Lab 2
3 Guidelines to Students 3
4
List of Lab Exercises
4.1 Syllabus Programs (JNTU)
4.2 Additional and Advanced Programs
4
5 Description about UML 6
6 Diagrams 9
7 References 49
Department of MCA
-1-LAB OBJECTIVE
• Overview of UML
• Basic & Advanced Models
• Class , Object, Collaboration & Sequence
• Use Cases Advanced Modeling
• Component Diagram & Deployment Diagrams
INTRODUCTION ABOUT LAB
There are 66 systems (Compaq Presario) installed in this Lab. Their configurations are as follows:
Processor : AMD Athelon ™ 1.67 GHz
RAM : 256 MB
Hard Disk : 40 GB
Mouse : Optical Mouse
Network Interface card : Present Software
All
systems are configured in DUAL BOOT mode i.e., Students can boot from Windows XP or Linux as per their lab requirement.
This is very useful for students because they are familiar with different Operating Systems so that they can execute their programs in different programming environments.
Each student has a separate login for database access
Oracle 9i client version is installed in all systems. On the server, account for each student has been created.
Department of MCA
-2-This is very useful because students can save their work ( scenarios’, pl/sql programs, data related projects ,etc) in their own accounts. Each student work is safe and secure from other students.
Latest Technologies like DOT NET and J2EE are installed in some systems. Before submitting their final project, they can start doing mini project from 2nd year onwards.
MASM ( Macro Assembler ) is installed in all the systems
Students can execute their assembly language programs using MASM. MASM is very useful students because when they execute their programs they can see contents of Processor Registers and how each instruction is being executed in the CPU.
Rational Rose Software is installed in some systems
Using this software, students can depict UML diagrams of their projects.
Softwares installed: C, C++, JDK1.5, MASM, OFFICE-XP, J2EE and DOT NET, Rational Rose.
Systems are provided for students in the 1:1 ratio.
Systems are assigned numbers and same system is allotted for students when they do the lab.
Department of MCA
-3-Guidelines to Students
1. Learn what the UML is, what it is not and why it is relevant to the process of developing software-intensive systems
2. Master the vocabulary rules and idioms of the UML and in general how to speak the language efficiently
3. Under stand how to apply UML to solve a number of common problems
The user guide provides a reference to the use of specific UML features, However it is not intended to be a comprehensive reference manual for UML. That is focus on other book, The Unified Modeling Language Reference Manual
For the developer approaching the UML for the first time, the user guide is best-read linearly. All chapters are constructed so that each builds upon the contents of previous one, thus lending it as linear progression.
Department of MCA
-4-UML Syllabus Programs
Department of MCA
S. No Programs
1. Class diagram of school without attributes 2. Class diagram of school with attributes 3. Class diagram of Hospital without attributes 4. Class diagram of Hospital with attributes 5. Class diagram for ATM.
6. Use case diagram for ATM. 7. Activity diagram for ATM 8. Sequence diagram ATM
9. Collaboration diagram for ATM 10. Component diagram for ATM 11. Deployment diagram for ATM 12. State Transition diagram for ATM
13. Use case Diagram for Librarian Scenario 14. Use case diagram for mechanic
15. Use case diagram for Point of sale 16. Use case diagram for Point of sale 17. Activity diagram for Point of sale 18. Sequence diagram for Point of sale 19. Collaboration diagram for Point of sale 20. Deployment diagram for Point of sale 21. Sequence diagram for Hospital 22. Collaboration diagram for Hospital
23. Activity diagram for Patient visiting doctor using Swim lines
24. Activity diagram of patient checked by Treatment Provider for Diabetes 25. Activity diagram for Cellular Company
26. Online Book shop of class diagram without attributes 27. On line book shop of Use case diagram
28. Online book shop of Activity diagram
29. Sequence diagram using Timing Constraints & Locations 30. State transition diagram representing a history state “H” 31. Diagram representing Concurrent sub states
33. State transition diagram for a Computer being identified with states 34. Diagram for the relation between a component & interface
35. Diagram for the relation between a component & class 36. Deployment diagram for Physical connection system 37. Deployment diagram for Client server system
38. Development Diagram that shows the Embedded System.
-5-Description about UML
1. Model
• A model is a simplification of reality.
• A model provides the blueprints of a system.
• A model may be structural, emphasizing the organization of the system, or it may be behavioral, emphasizing the dynamics of the system.
• We build models so that we can better understand the system we are developing.
• We build models of complex systems because we cannot comprehend such a system in its entirety.
Through modeling, we achieve four aims.
• Models help us to visualize a system as it is or as we want it to be.
• Models permit us to specify the structure or behavior of a system.
• Models give us a template that guides us in constructing as system.
• Models document the decisions we have made 2. Principles of Modeling
• The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped
• Every model may be expressed at different levels of precision
• The best models are connected to reality
• No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models
3. Unified Modeling Language (UML) The UML is a language for
• Visualizing • Specifying • Constructing • Documenting Department of MCA
-6-The UML is a Language
• A modeling language is a language whose vocabulary and rules focus on the conceptual and physical representation of a system
The UML is a Language for Visualizing
• Some programmers think of an implementation and then code it. Some programmers think mentally i.e. they even sketch out a few ideas on a paper. That means some things are best modeled textually, others are best modeled graphically. The UML is such a graphical language.
The UML is a Language for Specifying
• Specifying means building models. It specifies of all the important analysis, design, and implementation decisions that must be made in developing a software project.
The UML is a Language for constructing
• The UML is not a visual programming language, but its models can be directly connected to a variety of a programming language. This means that it is possible to map from a model in the UML to a programming language such as Java, C++.
The UML is a Language for Documenting
• A Healthy software organization produces all sorts of artifacts in addition to raw executable code. These artifacts include
1. Requirements 2. Architecture 3. Design 4. Source code 5. Project plans 6. Tests 7. Releases
• The UML addresses the documentation of a system’s architecture and all of its detail
4. Architectural views of UML
Department of MCA
-7-The user model view
- Use Case Diagram - The functionality of a system The structural model view
- Class Diagram - The static structure of a system
- Object Diagram - The static structure of a system at a particular time The behavioral model view
- Sequence Diagram - Interaction among elements of a system in a time sequence
- Collaboration diagram - Interaction among elements and their relations organized in time and space
- State Diagram - The status condition and responses of the elements of a system
- Activity Diagram - The activities of the system The implementation model view
- Component Diagram - The organization of the elements realizing the system The Environment model view
- Deployment diagram - Configuration of environment elements and the mapping of elements realizing the system into them
Department of MCA
-8-1. School model without Attributes
Department of MCA
-9-2. School Model with Attributes
Department of MCA
-10-3. Hospital Model without Attributes
Department of MCA
-11-4. Hospital Model with Attributes
Department of MCA
-12-5. ATM Scenario Class Diagram
Department of MCA
-13-Department of MCA
-14-6. ATM Scenario Use –Case Diagram Transfer fund View balance Transfer funds Deposit funds Customer Withdraw money Bank officer Change pin
Make payment Client
Department of MCA
-15-7. ATM Scenario Activity Diagram Insert card Enter PIN Enter transition
Connect Not connected
Any more transaction
Remove card
No more transaction
Department of MCA
-16-8. ATM Scenario Sequence Diagram
A : Atm
machine
account
ac :
B : Bank
client
1: Insert card Insert PIN
3 : Enter PIN
4 : Verification
5 : PIN ok
6 : Request for transaction
7 : Process transaction 8 : Enter amount 9 : Amount entered 10 : Withdrawal 11 : Withdrawal success 12 : Dispense cash 13 : take cash 14 : Terminate 15 : Print slip 16 : Eject card Department of MCA
-17-9. ATM Scenario Collaboration Diagram
Department of MCA
-18-10. ATM Scenario Deployment Diagram
Department of MCA
-19-11. ATM Scenario Component Diagram
Card Reader
ATM Screen
Cash Dispenser
Card Reader Card dispenser
ATM Screen ATM.exe
Department of MCA
-20-12. ATM Scenario State Transition Diagram
Department of MCA
-21-13. Use case Diagram for Librarian Scenario
Department of MCA
-22-14. Use case diagram for mechanic
Department of MCA
-23-15. Class diagram for Point of sale
Department of MCA
-24-16. Use case diagram for Point of sale
Department of MCA
-25-17. Activity diagram for Point of sale
Department of MCA
-26-18. Sequence Diagram for Point of Sale
Department of MCA
-27-19. Collaboration diagram for point of sale
C us to me r
C le rk
C o mpute r
1 : 1 : Ta ke s th e p ro d u ct 5 : 5 : P a ym en t is d o ne 4 : 4 : B ill is g ive n 2 : 2 : B ills th e pro d u ct 3 : 3 : P ro ce s s e s th e b ill20. Deployment diagram for point of sale
Barcode
scanner
PDA
Touch
screens
Server
Department of MCA-28-21. Hospital Sequence Diagram
P:Patient
A:Appoint
ment
D:Docter
T:Treatm
ent
1:Confirms 2:Diagnozed 3:Gives Treatment 4:Receive Feedback Department of MCA-29-22. Hospital Collaboration Diagram
Department of MCA
-30-23. Activity Diagram of patient visiting doctor using swim lines
Department of MCA
-31-24. Activity diagram of patient checked by Treatment Provider for Diabetes
Check the patient
Prescribed Test
Check next
Patient
Kind of
Diabetes
Age
Height &
Weight
Provide
Treatment
Symptoms
No Symptoms
Department of MCA-32-25. Activity diagram for Cellular Company
Receives
product
Pay
Bills
Request
Product
prepare
bills
Close
Order
Pull
materials
Shift
Order
Process
Product
Ware house Sales Customer Department of MCA-33-26. Online Book shop of class diagram without attributes
Department of MCA
-34-27. Online book shop of Use case diagram
Department of MCA
-35-28. Online book shop of Activity diagram
Display Welcome
Message
Get Login
Get Password
& Validate
Display Item
Information
Accept
Selection
Create
Order
Display
Order
Ship to
Customer
Rejected
More
Accepted
Rejected
Department of MCA-36-29. Sequence diagram using Timing Constraints & Locations
Department of MCA
-37-30. State transition diagram representing a history state “H”
Department of MCA
-38-31. Diagram representing Concurrent sub states
Department of MCA
-39-32. Diagram representing Sequential substitutes
Department of MCA
-40-33. State transition diagram for a Computer being identified with states
S ta te T ra n s itio n d ia g ra m fo r a c o m p u te r b e in g id e n tifie d
w ith s ta te s :Id le ,ru n n in g ,s h u t d o w n
Id le
R u n n in g
S h u t
d o w n
2 s e c /s e lfte s t()
In te rru p t( p o w e r fa ilu re )
K e y p lu s
Department of MCA-41-34. Diagram for the relation between a component & interface
Department of MCA
-42-35. Diagram for the relation between a component & class
Department of MCA
-43-36. Deployment diagram for Physical connection system
Server
Client1
Client2
<< 10 Tethernet >>
<< RS 232 >>
Draw a Deployment Diagram that shows the
physical connection system
Department of MCA
-44-37. Deployment diagram for Client server system
D ra w a D e p lo y m e n t D ia g ra m th a t s h o w s th e c lie n t s e rv e r s y s te m
C lie n t
F ile
s e rv e r
S e rv e r
K io s k
S e rv e r
p rin t
S e rv e r
d a ta b a s e
Department of MCA-45-38. Development Diagram that shows the Embedded System.
Department of MCA
-46-Department of MCA
-47-Viva Q
uestions & Answers
1. What is a Class?
Ans. A class is a description of set of objects that share the same attributes, operations, relations and semantics.
2. What is a simple name?
Ans. Every class must have a name that distinguishes it from other classes. A name alone is known as a simple name
3. What is a Path name?
Ans. A path name is the class name prefixed by the name of the package in which that class lives
4. What is Attribute?
Ans. An attribute is a named property of a class that describes a range of values that instances of the property may hold
5. What is an Operation?
Ans. An operation is the implementation of a service that can be requested from any object of the class to affect behavior
6. What is responsibility?
Ans. A responsibility is a contract or an obligation of a class 7. What is a relationship?
Ans. A relationship is a connection among things 8. What is Dependency?
Ans. Change in one thing depends upon the another thing 9. How the dependency is rendered?
Ans. Dependency is rendered as a dashed directed line, directed to the thing being depended on
10. What kind of relationship for Generalization?
Department of MCA
Ans. Generalization called an “is-a-kind-of” relationship 11. A class may have how many parents?
Ans. A class may have zero, one, or more parents 12. What is root or base class?
Ans. A class that has no parents and one or more children is called a root class or base class
13. What is a Leaf class?
Ans: A class that has no children is called a leaf class 14. What is the Generalization?
Ans: It means that objects of the child may be used anywhere the parent may appear, but not the reverse
15. How generalization is rendered?
Ans: It is rendered as a solid directed line with a large open arrowhead, pointing to the parent
16. What is Association?
Ans: An Association is a structural relationship that specifies that objects of one thing are connected to objects of another
17. How Association is rendered?
Ans: An association is rendered as a solid line connecting the same or different classes
18. What is binary association?
Ans: An association that connects exactly two classes is called a binary association
19.What is n-ary association?
Ans. An association that connect more than two class 20. What are the four adornments that apply to association?
Department of MCA
Ans. Name, Role, Multiplicity, Aggregation
21. How we can describe nature of relationship in association> Ans. By the name
22. What is a Role?
Ans. When a class participates in an association, it has a specific role that it plays in the relationship
23. How many multiplicities?
Ans. Exactly one(1), Zero or One(0..1), many(0..*), or one or more(1..*) or even state an exact number( for example, 3).
24. What type of Aggregation relationship? Ans. Whole/Part relationship
25.How aggregation relationship is rendered?
Ans. It has a plain association with an open diamond at the whole end. 26. What are the relationships usually visualized in class diagrams? Ans. Dependencies, generalization, and association
27. What is a note?
Ans. It is a graphical symbol for rendering constraints or comments attached to an element or a collection of elements.
28. How the note is rendered?
Ans. It is rendered as a rectangle with dog-eared corner, together with textual or graphical comment.
29. What is stereotype?
Ans. It is an extension of the vocabulary of the UML 30. How stereotype is rendered?
Department of MCA
Ans. It is rendered as a name enclosed by guillements and placed above the name of another element.
Department of MCA
-51-References Books / Material
Text Books 1.
Grady Booch, James Rumbaugh, Ivar Jacobson : The Unified Modeling Language User Guide,
Pearson Education.
2. Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado: UML 2 Toolkit, WILEY-dreamtech India Pvt. Ltd.
Suggested / Reference Books 1
)
Meilir Page-Jones : Fundamentals of Object Oriented Design in UML, Pearson Education
2
) Atul Kahate: Object Oriented Analysis & Design, The McGraw-Hill Companies 3
) Mark Priestley: Practical Object-Oriented Design with UML,TATA McGrawHill 4
)
Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process, Pearson Education
Web sites 1 ) http://en.wikipedia.org/wiki/Unified_Modeling_Language 2 ) http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/index.htm Department of MCA
-52-Department of MCA