You are on page 1of 26

10/21/2021

University of Buea
Faculty of Engineering and Technology
Department of Computer Engineering

CEF 331

OBJECT ORIENTED MODELING AND


UNIFIED MODELING LANGUAGE (UML)
By Dr. Eng. I.R. DJOUELA KAMGANG Epse NOUABO
Dr. Eng. T.F. FOZIN
Dr. Elie FUTE
dorlystevia08@gmail.com

Course objectives

The main objective of this course is to provide an ability to analyze, design and
build complex software systems in the context of frequent change and to
produce a high quality software system within time.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 2

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 1
10/21/2021

Course objectives
Therefore, at the end of this course, you should be able to understand:

o The basic principles of object orientation


o The basic concepts and terms of object orientation and the associated UML notation
oSome basic UML modeling mechanisms
oWhat object-oriented systems analysis and design is and appreciate its usefulness
oDiagram systems with the UML toolset so they can be described and properly
designed

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 3

Course outline
Chapter 1: Modeling, lifecycle and methods
Chapter 2: Object technology
Chapter 3: Unified Modeling Language (UML) and its diagrams
Chapter 4: Use case diagram
Chapter 5: Class diagram
Chapter 6: Sequence diagram
Chapter 7: projects

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 4

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 2
10/21/2021

Course outline
Chapter 1: Modeling, lifecycle and methods
Chapter 2: Object technology
Chapter 3: Unified Modeling Language (UML) and its diagrams
Chapter 4: Use case diagram
Chapter 5: Class diagram
Chapter 6: Sequence diagram
Chapter 7: projects

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 5

Course outline
Chapter 1: Modeling, lifecycle and methods
•Quality criteria for a good software
•Software Development Life Cycle models and methodologies
•System modeling
•What is a model?
•Why do we model?
•Software modeling methods
•Why object-oriented modeling method?
OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 6

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 3
10/21/2021

Quality criteria for a good Software

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 7

What is Software Development Life cycle (SDLC)

• It is a framework defining tasks performed at each step in the software


development process.
•The life cycle defines a methodology for improving the quality of software and
the overall development process.
•SDLC is the structure followed by a dev team within the software organization. It
aims to produce quality software that exceeds customer expectations, meets
deadlines and cost estimates.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 8

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 4
10/21/2021

The SDLC different phases

•SDLC is typically divided into six to eight


phases: Planning, Requirements, Design,
Build, Test, Document, Deploy, Maintain.

•Some project managers will combine, split,


or omit steps, depending on the project’s
scope.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 9

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 10

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 5
10/21/2021

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 11

Waterfall Model
•The waterfall model is a linear sequential flow.
•Progress is seen as flowing steadily downwards (like a
waterfall) through the phases of software
implementation.
•It is the earliest approach and most widely known that
was used for software development.
•Any phase in the development process begins only if
the previous phase is complete.
•The waterfall approach does not define the process to
go back to the previous phase to handle changes in
requirement.
OOM AND UML FACULTY OF ENGINEERING AND
TECHNOLOGY
12

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 6
10/21/2021

Waterfall Strengths
•Easy to understand, easy to use
•Provides structure to inexperienced staff
•Milestones are well understood
•Sets requirements stability
•Good for management control (plan, staff, track)
•Works well when quality is more important than cost or schedule

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 13

Waterfall Deficiencies
•All requirements must be known upfront
•Deliverables created for each phase are considered frozen – inhibits flexibility
•Can give a false impression of progress
•Does not reflect problem-solving nature of software development – iterations of
phases
•Integration is one big bang at the end
•Little opportunity for customer to preview the system (until it may be too late)

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 14

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 7
10/21/2021

When to use the Waterfall Model


•Requirements are very well known
•Product definition is stable
•Technology is understood
•New version of an existing product
•Porting an existing product to a new platform.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 15

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 16

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 8
10/21/2021

V-Shaped SDLC Model


•A variant of the Waterfall that emphasizes
the verification and validation of the
product.
•Instead of moving down in a linear way, the
process steps are bent upwards after the
implementation and coding phase, to form
the typical V shape
•Testing of the product is planned in parallel
with a corresponding phase of development

OOM AND UML FACULTY OF ENGINEERING AND


TECHNOLOGY
17

V-Shaped Strengths
•Emphasize planning for verification and validation of the product in early stages
of product development
•Each phase has specific deliverables which must be testable
•Project management can track progress by milestones
•Simple and easy to use
•Higher chance of success over the waterfall model due to the development of
test plans early on during the life cycle.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 18

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 9
10/21/2021

V-Shaped Weaknesses
•Very inflexible, like the waterfall model.
•Does not easily handle concurrent events
•Does not handle iterations or phases
•Does not easily handle dynamic changes in requirements
•Does not contain risk analysis activities
•Adjusting scope is difficult and expensive.
•Costly and require more time, in addition to a detailed plan

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 19

When to use the V-Shaped Model

•Excellent choice for systems requiring high reliability – hospital patient control
applications
•All the Software requirements are clearly defined and known up-front
•When it can be modified to handle changing requirements beyond analysis
phase
•Software development technologies, solutions, and tools are well-known

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 20

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 10
10/21/2021

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 21

Structured Evolutionary Prototyping Model


•Developers build a prototype during the requirements
phase
•Prototype is evaluated by end users
•Users give corrective feedback
•Developers further refine the prototype
•When the user is satisfied, the prototype code is
brought up to the standards needed for a final
product.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 22

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 11
10/21/2021

Structured Evolutionary Prototyping Strengths


•Customers can “see” the system requirements as they are being gathered
•Developers learn from customers
•A more accurate end product
•Unexpected requirements accommodated
•Allows for flexible design and development
•Steady, visible signs of progress produced
•Interaction with the prototype stimulates awareness of additional needed
functionality

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 23

Structured Evolutionary Prototyping Weaknesses


•Tendency to abandon structured program development for “code-and-fix”
development
•Bad reputation for “quick-and-dirty” methods
•Overall maintainability may be overlooked
•The customer may want the prototype delivered.
•Process may continue forever (scope creep)

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 24

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 12
10/21/2021

When to use
Structured Evolutionary Prototyping
•Requirements are unstable or have to be clarified
•As the requirements clarification stage of a waterfall model
•Develop user interfaces
•Short-lived demonstrations
•New, original development
•With the analysis and design portions of object-oriented
development.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 25

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 26

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 13
10/21/2021

Incremental SDLC Model


• Construct a partial implementation of a total
system
•Then slowly add increased functionality
•The incremental model prioritizes requirements
of the system and then implements them in
groups.
•Each subsequent release of the system adds
function to the previous release, until all
designed functionality has been implemented.

OOM AND UML FACULTY OF ENGINEERING AND


TECHNOLOGY
27

Incremental Model Strengths


•Develop high-risk or major functions first
•Each release delivers an operational product
•Customer can respond to each build
•Uses “divide and conquer” breakdown of tasks
•Lowers initial delivery cost
•Initial product delivery is faster
•Customers get important functionality early
•Risk of changing requirements is reduced

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 28

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 14
10/21/2021

Incremental Model Weaknesses


•Requires good planning and design
•Requires early definition of a complete and fully functional system to allow for
the definition of increments
•Well-defined module interfaces are required (some will be developed long
before others)
•Total cost of the complete system is not lower

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 29

When to use the Incremental Model


•Risk, funding, schedule, program complexity, or need for early realization
of benefits.
•Most of the requirements are known up-front but are expected to evolve
over time
•A need to get basic functionality to the market early
•On projects which have lengthy development schedules
•On a project with new technology

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 30

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 15
10/21/2021

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 31

Spiral SDLC Model

•It combines the features of the


prototyping model and the waterfall
model.
•Each cycle involves the same sequence
of steps as the waterfall process model
separated by planning, risk
assessment, and the building of
prototypes and simulations.
•It is favored for large, expensive, and
complicated projects.
OOM AND UML FACULTY OF ENGINEERING AND
TECHNOLOGY
32

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 16
10/21/2021

Spiral Model Strengths


•Provides early indication of insurmountable risks, without much cost.
•Users see the system early because of rapid prototyping tools.
•Critical high-risk functions are developed first.
•The design does not have to be perfect.
•Users can be closely tied to all lifecycle steps.
•Early and frequent feedback from users.
•Cumulative costs assessed frequently.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 33

Spiral Model Weaknesses


•Time spent for evaluating risks too large for small or low-risk projects
•Time spent planning, resetting objectives, doing risk analysis and prototyping
may be excessive
•The model is complex
•Risk assessment expertise is required
•Spiral may continue indefinitely
•Developers must be reassigned during non-development phase activities
•May be hard to define objective, verifiable milestones that indicate readiness
to proceed through the next iteration

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 34

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 17
10/21/2021

When to use Spiral Model


•When creation of a prototype is appropriate
•When costs and risk evaluation is important
•For medium to high-risk projects
•Long-term project commitment unwise because of potential changes to
economic priorities
•Users are unsure of their needs
•Requirements are complex
•New product line
•Significant changes are expected (research and exploration)

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 35

SDLC Models & Methodologies

• Waterfall Model
•V-Shaped SDLC Model
•Structured Evolutionary Prototyping Model
•Incremental SDLC Model
•Spiral SDLC Model
•Agile Model

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 36

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 18
10/21/2021

Agile SDLC’s

•Speed up or bypass one or more life cycle


phases.
•Usually less formal and reduced scope.
•Used for time-critical applications.
•Used in organizations that employ
disciplined methods.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 37

Agile Model Strengths


•Encourage interaction, development, teamwork, collaboration, and process
adaptability. Therefore, more effective in rapidly changing environment
•Minimal planning and phases are in short time frame
•Tests can be conducted during the design cycle
•Less risk and has more flexibilities. Therefore, save time in modifying and
developing the information system

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 38

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 19
10/21/2021

Agile Model Weaknesses

•Multiple completed phases of development might be required to release a


product or new features.
•Inefficient in large organizations.
•More programmer centric than user centric.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 39

When to use Agile Model

•It can be used with any type of the project, but it needs more engagement from
the customer and to be interactive.
•when the customer needs to have some functional requirement ready in less
than three weeks and the requirements are not clear enough.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 40

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 20
10/21/2021

Agile vs Waterfall models

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 41

Some Agile Methods


•Adaptive Software Development (ASD)
•Feature Driven Development (FDD)
•Crystal Clear
•Dynamic Software Development Method (DSDM)
•Rapid Application Development (RAD)
•Scrum
•Extreme Programming (XP)
•Rational Unify Process (RUP)

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 42

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 21
10/21/2021

Summary
•SDLC is a series of phases that provide a common understanding of the software
building process.
•The quality of the development process guarantees the quality of the software.
• To get quality software, one have to:
✓ Master the software process development.
✓Control the succession of SDLC different stages and
✓Choose the suitable software development process depending on his
needs (project context, business requirement, etc.)

•Software modeling is an important step towards building quality software.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 43

Software modeling

•Software modeling help the engineer to


understand the functionality of the system.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 44

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 22
10/21/2021

What is a Model?
•A model is a simplification of reality.
•It is used for communication among
stakeholders.
•A model may provide
✓blueprints of a system
✓Organization of the system
✓Dynamic of the system

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 45

Why do We Model (1/2)?


“A successful software organization is one that consistently deploys quality
software that meets the needs of its users. An organization that can develop
such software in a timely and predictable fashion, with an efficient and effective
use of resources, both human and material, is one that has sustainable
business.”

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 46

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 23
10/21/2021

Why do we model (2/2)?


Models are built to:
• Communicate the desired structure and behavior of the system
• Visualize and control the system’s architecture
• Better understand the system that is being built
• Help ensure that we have correctly interpreted the system under
development
• Manage risk
• Expose opportunities for simplification and reuse

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 47

Importance of Modeling?
Models help us
• to visualize a system as it is or as we want it to be.
• to specify the structure or behavior of a system.
• in providing a template that guides us in constructing a system.
• in providing documenting the decisions we have made.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 48

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 24
10/21/2021

Principles of Modeling?
• The choice of what models to create has a major influence on how a problem is
approached 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.

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 49

Procedural vs object-oriented methods


Two most common ways in modeling software systems are
• Algorithmic
✓Procedures or functions

•Object oriented
✓Objects or classes

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 50

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 25
10/21/2021

Procedural vs object-oriented methods


PROCEDURAL OR FUNCTIONAL METHOD OBJECT-ORIENTED METHOD
•The system is viewed as a collection of •The system is viewed as a collection of
objects.
functions.
•Moving from one phase to another is •Moving from one phase to another is
easier.
complex.
•Decreases duration of projects.
•Increases duration of project.
•Increases complexity (non iterative). •Decreases complexity (highly iterative)
•Focuses on function and procedures for •Focuses on object, classes, modules that
can easily be replaced.
each step od the process.
•It is a top down approach •It is a bottom-up approach

OOM AND UML FACULTY OF ENGINEERING AND TECHNOLOGY 51

Thank you for your attention

I.R.D. Kamgang, Dr. Eng. OOM


and UML Faculty of
Engineering and Technology 26

You might also like