Lab 01 Introduction To Object-Oriented Software Engineering and Object Orienta-Tion in Uml
Lab 01 Introduction To Object-Oriented Software Engineering and Object Orienta-Tion in Uml
DEVELOPMENT
LABORATORY MANUAL
Objective
c. Inheritance: A class can extend another class, inheriting all its data members and
methods while redefining some of them and/or adding its own. Inheritance represents
the is a relationship between data types. For example: a Circle is a Shape. A Software
Engineering Student is a Student.
d. Object Design: During object design, developers define solution domain objects to
bridge the gap between the analysis model and the hardware/software platform defined
during system design.
f. Testing: During testing, developers find differences between the system and its models
by executing the system (or parts of it) with sample input data sets. During system
testing, typical and exception cases are run through the system and compared with the
requirements model. The goal of testing is to discover as many faults as possible such
that they can be repaired before the delivery of the system.
b. The Object Model describes the structure of the system in terms of objects, attributes,
associations, and operations. Answers questions of “What classes/objects is the system
divided into?” and “How are these classes inter-related?”
c. The Dynamic Model describes the internal behaviour of the system in reaction to an
external trigger. This model helps answer the following questions about the system
under construction: “What is the sequence of functionality executed by the system?”
and “How does an object behave when its function is called by some external trigger?”
a. Static (or structural) diagrams emphasize the static structure of the system using
objects, attributes, operations, and relationships. It includes class diagrams and
composite structure diagrams. The four structural diagrams in UML are:
• Class diagram
• Object diagram
• Component diagram
• Deployment diagram
b. Dynamic (or behavioural) diagrams emphasize the dynamic behaviour of the system
by showing collaborations among objects and changes to the internal states of objects.
This view includes sequence diagrams, activity diagrams and state machine diagrams.
Some types represent structural information, and the rest represent general types of
behaviour, including a few that represent different aspects of interactions.
UML has the following five types of behavioural diagrams:
• Use case diagram
• Sequence diagram
• Collaboration diagram
• Activity diagram.
9. UML Notations: Each UML diagram consists of symbols (which
depict a concept), directed lines or arcs (which depict
relationships between concepts), and labels for these symbols and
lines (depicting their name or nature).
10. UML Versions: UML has been evolving
since the second half of the 1990s and has
its roots in the object-oriented
programming methods. UML started
from version 1.0 and has reached 2.5
currently. Each version supports a
variation of symbols and diagramming
elements.
11. UML Tools: Many professional UML
tools are available on the internet (for free
and/or paid) that let you draw UML
diagrams with ease.
12. Goals of UML: A picture is worth a thousand words; this absolutely fits while discussing
about UML.
There are a number of goals for developing UML but the most important is to define some
general-purpose modelling language which all modelers can use and also it needs to be
made simple to understand and use. UML diagrams are not only made for developers
but also for business users, common people and anybody interested to understand
the system. The system can be a software or non-software. So, it must be clear that UML
is not a development method rather it accompanies with processes to make a successful
system.
At the conclusion the goal of UML can be defined as a simple modelling mechanism to
model all possible practical systems in today’s complex environment.
13. Object Oriented Analysis and Design using UML Diagrams: UML diagrams are used
to understand and elicit system requirements and helps in providing a visual picture of the
system to be constructed. Therefore, Analysis and even design heavily involves
diagramming using UML. However, it is important to distinguish that a diagram is a partial
graphic representation of a system's model. The set of diagrams need not completely cover
the system model and deleting a diagram does not change the model. The model may also
contain documentation that drives the model elements and diagrams (such as written use
cases). The following diagrams are associated with the given system models:
Functional model: Use Case Diagram
Object Model: Class Diagram and Object Diagram
Dynamic Model: Sequence Diagram, Interaction diagram, State Machine Diagram,
Activity Diagram.
Data flow diagrams can be divided into logical and physical. The logical data flow diagram
describes flow of data through a system to perform certain functionality of a business. The
physical data flow diagram describes the implementation of the logical data flow.
DFD rules and tips
• Each process should have at least one input and an output.
• Each data store should have at least one data flow in and one data flow out.
• Data stored in a system must go through a process.
• All processes in a DFD go to another process or a data store.
Hotel
management
information
Note: Carefully understand the concept present in manual. (At the end of lab there will
be a short viva too)
LAB TASK
Note: You may browse online to answer the following questions. But you must have complete
understanding of that and write references too. [Total Marks = 10]
Lab Task 1.1
Describe the difference of Abstraction and Encapsulation principles of object orientation
through the diagram? Also gave one example of each. Make sure each student should have
different example.
Lab Task 1.2
Which UML diagram corresponds to Functional model of a system? Explain
How?