2. • Objectives:
-Define object-oriented, analysis and design
-The UML
-Different Types of UML
-Disadvantages of Relational databases
-Difference between relational and non-relational databases
3. • Object-oriented analysis and design can offer an approach that
facilitates logical, rapid, and thorough methods for creating
new systems responsive to a changing business landscape.
4. ANALYSIS AND DESIGN
• Analysis emphasizes an investigation of the problem and
requirements
• i.e. requirement analysis is an investigation of the
requirements and object analysis is an investigation of domain
objects
• Design emphasizes a conceptual solution that fulfills
requirements, ultimately the design may be implemented.
5. OO ANALYSIS AND DESIGN
• During object oriented analysis emphasizes on finding and
describing the objects in the problem domain
• Examples: in case of library information system, some of the
objects include Book, Library etc.
• During Object Oriented Design emphasizes on defining
software objects and how they collaborate to fulfill the
requirements
• Example: in the library system, a Book software object may
have a title attribute and a getChapter () method.
7. UNIFIED MODELING LANGUAGE (UML)
• the unified modeling language (UML), the industry standard for
modeling object-oriented systems.
• The UML toolset includes diagrams that allow you to visualize
the construction of an object-oriented system.
• Each design iteration takes a successively more detailed look
at the design of the system until the things and relationships in
the system are clearly and precisely defined in UML documents.
8. • The Unified Modeling Language™ (UML) is the industry-
standard language for specifying, visualizing, constructing, and
documenting the artifacts of software systems
• It simplifies the complex process of software design, making a
"blueprint" for construction.
• The Unified Modeling Language, UML, and the UML logos are
trademarks of the Object Management Group.
-www.omg.org
9. THE MAIN COMPONENTS OF UML
• are things, relationships, and diagrams.
• Diagrams are related to one another.
• Structural things are most common; they include classes,
interfaces, use cases, and many other elements that provide a
way to create models
10. OBJECT-ORIENTED CONCEPTS –
OBJECTS/CLASSES/ATTRIBUTES/METHODS
• Object-oriented programming differs from traditional
procedural programming by examining the objects that are part
of a system.
• Each object is a computer representation of some actual thing
or event.
General descriptions of the key object-oriented concepts of
objects, classes, and inheritance.
11. OBJECTS
• Objects are persons, places, or things that are relevant to the
system we are analyzing.
• Object-oriented systems describe entities as objects. Typical
objects may be customers, items, orders, and so on.
• Objects may also be GUI displays or text areas on the display.
13. CLASSES
• Objects are typically part of a group of similar items called
classes. The desire to place items into classes is not new.
• Ex: Classes are customer, order, orderItem, product
• Parents of attibutes and methods
14. • Each class should have a name that differentiates it from all
other classes. Class names are usually nouns or short phrases
and begin with an uppercase letter.
In figure illustrated below the class is called RentalCar.
15. • An attribute describes some property that is possessed by all
objects of the class. Notice that the RentalCar class possesses
the attributes of size, color, make, and model.
In figure illustrated below the attributes are called size, color, make, model.
16. • A method is an action that can be requested from any object of
the class. Methods are the processes that a class knows to carry
out.
• Methods are also called operations.
In figure illustrated below the methods are called rentOut(), checkIn(),
service().
17. Example
A dog has states - color, name, breed as well as behaviors -wagging,
barking, eating. An object is an instance of a class.
18. UML CLASS NOTATION
• A class represent a concept which encapsulates state
(attributes) and behavior (operations). Each attribute has a type.
Each operation has a signature. The class name is the only
mandatory information.
20. • Next Slides is presenting different diagram using UML models
to visualizing databases:
• Structural Diagram:
-Class diagram
-Component Diagram
-Deployment Diagram
• Behavioral Diagram:
-Use case Diagram
-Activity Diagram
21. CLASS DIAGRAM
• Class diagrams are the main building block of any object-
oriented solution. It shows the classes in a system, attributes,
and operations of each class and the relationship between each
class.
-Next slide is the example class diagram…
22.
23. COMPONENT DIAGRAM
• A component diagram displays the structural relationship of
components of a software system.
• Components communicate with each other using interfaces.
-Next slide is the example component diagram…
24.
25. DEPLOYMENT DIAGRAM
• A deployment diagram shows the hardware of your system and
the software in that hardware. Deployment diagrams are useful
when your software solution is deployed across multiple
machines with each having a unique configuration.
-Next slide is the example deployment diagram…
26.
27. USE CASE DIAGRAM
• As the most known diagram type of the behavioral UML
types, Use case diagrams give a graphic overview of the actors
involved in a system, different functions needed by those
actors and how these different functions interact.
-Next slide is the example usecase diagram…
28.
29. ACTIVITY DIAGRAM
• Activity diagrams represent workflows in a graphical way. They
can be used to describe the business workflow or the
operational workflow of any component in a system.
-Next slide is the example activity diagram…
30.
31. WHAT ARE THE MAIN PROBLEMS WITH
RELATIONAL DATABASES?
• What are the disadvantages of relational databases?
Structure. Relational databases require a lot of structure and a
certain level of planning because columns must be defined and
data needs to fit correctly into somewhat rigid categories.
Maintenance issues. Developers and other personnel responsible
for the database must spend time managing and optimizing the
database as data gets added to it.
32. • Inflexibility. Relational databases are not ideal for handling large
quantities of unstructured data. Data that is largely qualitative, not
easily defined or dynamic is not optimal for relational databases,
because as the data changes or evolves, the schema must evolve with
it, which takes time.
• Lack of scalability. Relational databases do not horizontally scale well
across physical storage structures with multiple servers. It is difficult
to handle relational databases across multiple servers because as a
data set gets larger and more distributed, the structure is disrupted,
and the use of multiple servers has effects on performance -- such
as application response times -- and availability.
33. WHAT ARE THE DIFFERENCES BETWEEN
RELATIONAL DATABASES, NON-RELATIONAL
DATABASES AND NOSQL?
• The most important difference between relational database
systems and non-relational database systems is that relational
databases are normalized. That is, they store data in a tabular
form, arranged in a table with rows and columns. A non-
relational database stores data as files.
34. Other differences include the following:
• Use of primary keys. Relational database tables each have a primary
key identifier. In a non-relational database, data is normally stored in
hierarchical or navigational form, without the use of primary keys.
• Data values relationships. Since data in a relational database is stored
in tables, the relationship between these data values is stored as well.
Since a non-relational database stores data as files, there is no
relationship between the data values.
• Integrity constraints. In a relational database, the integrity
constraints are any constraint that ensures database integrity.
• Structured vs. unstructured data. Relational databases work well for
structured data that conforms to a predefined data model and
doesn't change much. Non-relational databases are better for
unstructured data, which doesn't conform to a predefined data model
and can't be stored in an RDBMS. Examples of unstructured data
include text, emails, photos, videos and web pages.