UML
-Class Diagram
-Use case Diagram
Prepared By: Minal Maniar
Assistant Professor
Computer Department
CSPIT,
CHARUSAT, Changa.
Class diagram
 A class diagram depicts classes and their interrelationships
 Used for describing structure and behavior in the use cases
 Provide a conceptual model of the system in terms of
entities and their relationships– to translate the models into
programming code.
 Represents the structural – static behavior of the System.
 Used for requirement capture, end-user interaction
 Detailed class diagrams are used for developers
Class diagram
 Each class is represented by a rectangle subdivided into three
compartments
 Name, Attributes, Operations
Class diagram
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
OO Relationships
 There are two kinds of Relationships
 Generalization (parent-child relationship)
 Association (student enrolls in course)
 Associations can be further classified as
 Aggregation
 Composition
 Represent relationship between instances of classes
 Student enrolls in a course
 Courses have students
 Courses have exams
 Etc.
 Association has two ends
 Role names (e.g. enrolls)
 Multiplicity (e.g. One course can have many students)
 Navigability (unidirectional, bidirectional)
OO Relationships: Association
Association: Multiplicity and Roles
University Person
1
0..1
*
*
Multiplicity
Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
teacheremployer
Role
Role
“A given university groups many people;
some act as students, others as teachers.
A given student belongs to a single
university; a given teacher may or may not
be working for the university at a particular
time.”
student
Association: Model to Implementation
class Student {
Course enrolls[4];
}
class Course {
Student have[];
}
Student Course
enrollshas
* 4
Link and Association
 Examples of class and object diagrams
 Person and Company
 Country and CapitalCity
 Workstation and Window
Associations
 Association represents a group of links.
 Self association:
 Binary association:
 N-array association:
Person
Company Worker
company
Contract
Worker
employment
Association End Names
 Use of association end names is optional, but it is
often easier and less confusing to assign association
end names instead of or in addition to, association
names.
 Association end names are necessary for
associations between two objects of the same class
Association Classes
 An association class is used to model an association as a class.
Association classes often occur in many-to-one and many-to-
many associations where the association itself has attributes. It
is used to break up a many-to-many association between
classes.
 These are similar to associative entities on an entity-relationship
diagram.
Association Classes
 Student and Course have a many-to-many relationship, which is resolved by adding
an association class called Section between the classes of Student and Course.
Figure illustrates an association class called Section, shown with a dotted line
connected to the many-to-many relationship line.
Qualified Associations
 It is an Association in which an attribute called qualifier disambiguates the
objects for a “many” association end.
 A qualifier selects among target objects, reducing the effective multiplicity
from “many” to “one” and specify a precise path for finding the target
object from the source object.
Qualified Associations(2)
Whole/Part relationships
 Whole/part relationships are when one class represents the whole
object and other classes represent parts.
 The whole acts as a container for the parts.
 These relationships are shown on a class diagram by a line with a
diamond on one end.
 A whole/part relationship may be an entity object that has distinct
parts, such as a computer system that includes the computer, printer,
display, and so on, or an automobile that has an engine, brake system,
transmission, and so on.
 Whole/part relationships have two categories: aggregation and
composition.
Aggregation
Bag
Apples Milk
AGGREGATION
Container Class
Containee Classes
Example
Aggregation:
described as a “has a” relationship..
Aggregation provides a means of showing that the
whole object is composed of the sum of its parts
(other objects).
Aggregation is appropriate when Container and
Containees have no special access privileges to
each other.
[From Dr.David A. Workman]
In the student enrollment example, the
department has a course and the course is
for a department. This is a weaker
relationship, because a department may be
changed or removed and the course
may still exist, so independent from each
other.
Department Course
Classroom Student
Computer Printer
Whole/Part relationships
 Composition, a whole/part relationship in which the whole has a responsibility for the part,
is a stronger relationship, shown with a filled-in diamond.
 Keywords for composition are one class “always contains” another class.
 If the whole is deleted, all parts are deleted.
 An example would be an insurance policy with riders. If the policy is canceled, the
insurance riders are also canceled. In a database, the referential integrity would be set to
delete cascading child records. In a university there is a composition relationship between a
course and an assignment as well as between a course and an exam. If the course is deleted,
assignments and exams are deleted as well.
Whole Class Part Classes
The McGraw-Hill Companies, 2005[From Dr.David A. Workman]
A number of different chess boards: Each
square belongs to only one board. If a
chess board is thrown away, all 64
squares on that board go as well.
Example
OO Relationships
Aggregation vs. Composition
Composition is really a strong form of association
components have only one owner
components cannot exist independent of their owner
components live or die with their owner
e.g. Each car has an engine that can not be shared with other cars.
Aggregations
may form "part of" the association, but may not be essential to it. They
may also exist independent of the aggregate. e.g. Apples may exist
independent of the bag.
Concrete Class
 Instantiable – which can have direct instances.
 It may have abstract subclasses – But in turn must have concrete
descendants
 Only concrete classes may be leaf classes in an inheritance tree.
Abstract Class
 No direct instances but whose descendant classes have direct instances.
 Represented by italicized text or place keyword {abstract} below or after
the name
abstract class BankAccount{
String owner;
float dollars;
void deposit(float amount){….}
abstract void withdrawal(float amount);
}
Abstract Class(2)
 Program Example : ABC.java
Abstract Class Example
 Program Example : ABC.java
Class diagram
[from UML Distilled Third Edition]
User Scenario/ User Story
Use Case
 This type of details kill progress
 Use case should be in readable casual format
rather than multipage formal templates.
Identifying Actors
 An Actor in a use case is anything with behavior who lives
outside of your system, outside of your application, but
has a goal they want to accomplish within.
 And these are usually human beings, but not always. Now
sometimes coming up with the actor is very
straightforward.
 Ex: If you're building a Calculator App for a mobile device
or a simple one person game, you may just have one
actor, someone who uses the application, the user.
 Ex: if you were building, say, a backend internal Payroll
Application, you might have multiple people that do very
different goals within such as the payroll administrator, or
a manager, or an employee, and you also need to interact
with other computer systems.
External actorsInternal
actors
who initiated this
particular use case
any one else is a
secondary actor
Identifying Scenarios
 When we describe a use case scenario, we're typically
looking at describing a goal that an actor can accomplish
in a single encounter, and we're trying to stay focused on
the user's goal, on their intention.
 Ex: log in to application might first sound like a use case.
It has an active verb, it typically has multiple steps,
multiple conditions, you could forget the password or be
required to register and so on. But if we emphasize the
users focus their goal, we realized that their goal with our
system is not to log in, the reason they want to log in is
to do something.
 So what is that something in your system?
Diagramming Use Cases
 It's almost always a diagram of several use
cases and multiple actors at the same
time. The reason it exists is so we can get an
overview of these and see how they interact all
in context.
References
1. www.Lynda.com
2. http://www.uml.org
3. http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOu
tput/Unit9/unit9(0809)/page_03.htm
4. http://www.uml-diagrams.org/constraint.html
5. http://www.jguru.com/
6. Systems analysis and design 8th Edition by Kendall & kendall
7. Object Oriented Modeling and Design with UML 2nd Edition by
Michael R Blaha & James Rumbaugh

2 class use case

  • 1.
    UML -Class Diagram -Use caseDiagram Prepared By: Minal Maniar Assistant Professor Computer Department CSPIT, CHARUSAT, Changa.
  • 2.
    Class diagram  Aclass diagram depicts classes and their interrelationships  Used for describing structure and behavior in the use cases  Provide a conceptual model of the system in terms of entities and their relationships– to translate the models into programming code.  Represents the structural – static behavior of the System.  Used for requirement capture, end-user interaction  Detailed class diagrams are used for developers
  • 3.
    Class diagram  Eachclass is represented by a rectangle subdivided into three compartments  Name, Attributes, Operations
  • 4.
    Class diagram Account_Name - Customer_Name -Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 5.
    OO Relationships  Thereare two kinds of Relationships  Generalization (parent-child relationship)  Association (student enrolls in course)  Associations can be further classified as  Aggregation  Composition
  • 6.
     Represent relationshipbetween instances of classes  Student enrolls in a course  Courses have students  Courses have exams  Etc.  Association has two ends  Role names (e.g. enrolls)  Multiplicity (e.g. One course can have many students)  Navigability (unidirectional, bidirectional) OO Relationships: Association
  • 7.
    Association: Multiplicity andRoles University Person 1 0..1 * * Multiplicity Symbol Meaning 1 One and only one 0..1 Zero or one M..N From M to N (natural language) * From zero to any positive integer 0..* From zero to any positive integer 1..* From one to any positive integer teacheremployer Role Role “A given university groups many people; some act as students, others as teachers. A given student belongs to a single university; a given teacher may or may not be working for the university at a particular time.” student
  • 8.
    Association: Model toImplementation class Student { Course enrolls[4]; } class Course { Student have[]; } Student Course enrollshas * 4
  • 10.
    Link and Association Examples of class and object diagrams  Person and Company  Country and CapitalCity  Workstation and Window
  • 11.
    Associations  Association representsa group of links.  Self association:  Binary association:  N-array association: Person Company Worker company Contract Worker employment
  • 12.
    Association End Names Use of association end names is optional, but it is often easier and less confusing to assign association end names instead of or in addition to, association names.  Association end names are necessary for associations between two objects of the same class
  • 13.
    Association Classes  Anassociation class is used to model an association as a class. Association classes often occur in many-to-one and many-to- many associations where the association itself has attributes. It is used to break up a many-to-many association between classes.  These are similar to associative entities on an entity-relationship diagram.
  • 14.
    Association Classes  Studentand Course have a many-to-many relationship, which is resolved by adding an association class called Section between the classes of Student and Course. Figure illustrates an association class called Section, shown with a dotted line connected to the many-to-many relationship line.
  • 15.
    Qualified Associations  Itis an Association in which an attribute called qualifier disambiguates the objects for a “many” association end.  A qualifier selects among target objects, reducing the effective multiplicity from “many” to “one” and specify a precise path for finding the target object from the source object.
  • 16.
  • 17.
    Whole/Part relationships  Whole/partrelationships are when one class represents the whole object and other classes represent parts.  The whole acts as a container for the parts.  These relationships are shown on a class diagram by a line with a diamond on one end.  A whole/part relationship may be an entity object that has distinct parts, such as a computer system that includes the computer, printer, display, and so on, or an automobile that has an engine, brake system, transmission, and so on.  Whole/part relationships have two categories: aggregation and composition.
  • 19.
    Aggregation Bag Apples Milk AGGREGATION Container Class ContaineeClasses Example Aggregation: described as a “has a” relationship.. Aggregation provides a means of showing that the whole object is composed of the sum of its parts (other objects). Aggregation is appropriate when Container and Containees have no special access privileges to each other. [From Dr.David A. Workman] In the student enrollment example, the department has a course and the course is for a department. This is a weaker relationship, because a department may be changed or removed and the course may still exist, so independent from each other. Department Course Classroom Student Computer Printer
  • 20.
    Whole/Part relationships  Composition,a whole/part relationship in which the whole has a responsibility for the part, is a stronger relationship, shown with a filled-in diamond.  Keywords for composition are one class “always contains” another class.  If the whole is deleted, all parts are deleted.  An example would be an insurance policy with riders. If the policy is canceled, the insurance riders are also canceled. In a database, the referential integrity would be set to delete cascading child records. In a university there is a composition relationship between a course and an assignment as well as between a course and an exam. If the course is deleted, assignments and exams are deleted as well. Whole Class Part Classes The McGraw-Hill Companies, 2005[From Dr.David A. Workman] A number of different chess boards: Each square belongs to only one board. If a chess board is thrown away, all 64 squares on that board go as well. Example
  • 21.
  • 22.
    Aggregation vs. Composition Compositionis really a strong form of association components have only one owner components cannot exist independent of their owner components live or die with their owner e.g. Each car has an engine that can not be shared with other cars. Aggregations may form "part of" the association, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 34.
    Concrete Class  Instantiable– which can have direct instances.  It may have abstract subclasses – But in turn must have concrete descendants  Only concrete classes may be leaf classes in an inheritance tree.
  • 35.
    Abstract Class  Nodirect instances but whose descendant classes have direct instances.  Represented by italicized text or place keyword {abstract} below or after the name abstract class BankAccount{ String owner; float dollars; void deposit(float amount){….} abstract void withdrawal(float amount); }
  • 36.
  • 37.
    Abstract Class Example Program Example : ABC.java
  • 42.
    Class diagram [from UMLDistilled Third Edition]
  • 46.
    User Scenario/ UserStory Use Case
  • 55.
     This typeof details kill progress  Use case should be in readable casual format rather than multipage formal templates.
  • 56.
    Identifying Actors  AnActor in a use case is anything with behavior who lives outside of your system, outside of your application, but has a goal they want to accomplish within.  And these are usually human beings, but not always. Now sometimes coming up with the actor is very straightforward.  Ex: If you're building a Calculator App for a mobile device or a simple one person game, you may just have one actor, someone who uses the application, the user.  Ex: if you were building, say, a backend internal Payroll Application, you might have multiple people that do very different goals within such as the payroll administrator, or a manager, or an employee, and you also need to interact with other computer systems.
  • 58.
  • 65.
    who initiated this particularuse case any one else is a secondary actor
  • 66.
    Identifying Scenarios  Whenwe describe a use case scenario, we're typically looking at describing a goal that an actor can accomplish in a single encounter, and we're trying to stay focused on the user's goal, on their intention.  Ex: log in to application might first sound like a use case. It has an active verb, it typically has multiple steps, multiple conditions, you could forget the password or be required to register and so on. But if we emphasize the users focus their goal, we realized that their goal with our system is not to log in, the reason they want to log in is to do something.  So what is that something in your system?
  • 74.
    Diagramming Use Cases It's almost always a diagram of several use cases and multiple actors at the same time. The reason it exists is so we can get an overview of these and see how they interact all in context.
  • 80.
    References 1. www.Lynda.com 2. http://www.uml.org 3.http://www.cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOu tput/Unit9/unit9(0809)/page_03.htm 4. http://www.uml-diagrams.org/constraint.html 5. http://www.jguru.com/ 6. Systems analysis and design 8th Edition by Kendall & kendall 7. Object Oriented Modeling and Design with UML 2nd Edition by Michael R Blaha & James Rumbaugh