SlideShare a Scribd company logo
Introduction to on Object Oriented
Technologies and the UML Method
• OOP is the most popular programming paradigm for building software systems in the
IT industry. OOP concept by making a comparison with the conventional
programming languages (e.g. C, PASCAL, COBOL, FORTRAN etc.) which use the
Procedure-Oriented Programming (POP) approach.
• In POP approach, a program is divided into a number of components called functions,
while in OOP approach (e.g. C++, Java, Python, Ruby etc.); the program is divided
into components called objects. Another point is that object-oriented programming
follows the “bottom-up” approach, while procedural programming follows the “top-
down” approach.
• Because objects are more versatile, OOP can be used to develop complex programs
with less code. The use of objects also facilitates code reuse. In POP, the focus is
placed on the functions and sequence of actions to be performed and not on data. In
OOP, however, the focus is placed on the data and not the functions. That is why
object-oriented programming approach can provide a more realistic view of a
software system.
Essential features of OOP
♦ Encapsulation: This is an important concept that binds together the
data and functions that manipulate the data, and that keeps both safe
from outside interference and misuse. Encapsulation led to the OOP
concept of data hiding.
♦ Inheritance: It is the procedure by which one object acquires the
properties of another object. This increases code re-usability.
♦ Polymorphism: This concept enables one entity to be used as general
category for different types of actions. The specific action is determined
by the exact nature of the situation. The concept of polymorphism can
be explained as “one interface, multiple methods”.
Basics of UML
• The UML stands for Unified modeling language, is a standardized
general-purpose visual modeling language in the field of Software
Engineering. It is used for specifying, visualizing, constructing, and
documenting the primary artifacts of the software system. It helps in
designing and characterizing, especially those software systems that
incorporate the concept of Object orientation. It describes the working
of both the software and hardware systems
• Unified Modeling Language (UML) is a standard notation for
modeling real-world objects as a first step in designing an object-
oriented system.
• The UML offers a standard way to write a system’s blueprints,
including conceptual things such as business processes and system
functions as well as concrete things such as programming language
statements, database schemas, and reusable software components.”
• The important point to note here is that UML is a ‘language’ for
specifying and not a method or procedure. The UML is used to define
a software system; to detail the artifacts in the system, to document
and construct – it is the language that the blueprint is written in. The
UML may be used in a variety of ways to support a Software
Development Methodology (such as the Rational Unified Process) –
but in itself it does not specify that methodology or process.
• The UML represents a collection of best engineering practices that
have proven successful in the modeling of large and complex systems.
• The UML is a very important part of developing objects oriented
software and the software development process.
• The UML uses mostly graphical notations to express the design of
software projects.
• Using the UML helps project teams communicate, explore potential
designs, and validate the architectural design of the software.
Goals of UML
• The primary goals in the design of the UML are:
• Provide users with a ready-to-use, expressive visual modeling
language so they can develop and exchange meaningful models.
• Provide extensibility and specialization mechanisms to extend the core
concepts.
• Be independent of particular programming languages and
development processes.
• Provide a formal basis for understanding the modeling language.
• Encourage the growth of object oriented tools in the market.
• Support higher-level development concepts such as collaborations,
frameworks, patterns and components.
• Integrate best practices in Software Development Life Cycle (SDLC).
Software Development Process
• Software development process is a methodical way to create and
manage software that involves several steps:
• Understand what the software should do and plan how to build it
• Design how the software will work and look, followed by writing the
actual code
• Conduct rigorous testing to ensure it functions properly
• Deploy the software to make it available for users
• Once done, perform ongoing maintenance to keep it running smoothly.
The 7 Steps of Software Development
Process
1.Analysis: Understanding the Requirements
2. Planning: Setting the Foundation
3. Design: Crafting the Details
4. Development: Writing the Code
5. Testing: Ensuring It Works
6. Deployment: Releasing to the World
7. Maintenance: Keeping It Running
The Waterfall Model vs. The Spiral Model
Waterfall and Spiral models are two of the most famous
and widely utilized project management models in
software development. These are the process models
that are utilized to create software in a well-defined,
systematic, and cost-effective manner.
Waterfall Model
• The waterfall model is a software development process model.
• it is a structured and sequential project management approach that can be useful
for development projects with well-defined requirements and clients who are
unlikely to change the project scope. that follows a linear sequential flow. It is a
traditional paradigm for the software life cycle. As the name implies, the flow of
the model is sequential, which is comparable to a waterfall in a top-down
approach, which is why it is also known as the linear sequential model.
• Although, if any phase of the model has been completed, we cannot change it,
which implies that whatever is done in the earlier phase could be altered. The
process flow cannot pass from bottom to top, and it always flows from top to
bottom, which makes it critical to be fully preplanned to minimize the chances of
product failure.It has several stages: requirement analysis, design, coding,
testing, integration, implementation/deployment, and maintenance.
Phases of waterfall model
1. Feasibility Study
• It is the first phase of SDLC. In this phase, the cost and benefits are
assessed of the proposed application. The feasibility analysis must
generate a document that includes the following information: issue
description, technical and economic viability, alternate solutions,
required resources, cost, and delivery dates.
2. Requirements gathering and analysis
• It includes gathering needs from stakeholders and analyzing them to
understand the project's scope and goals. It decides the project's
quality in terms of ease of use, performance, functionality, portability,
etc. The Software Requirement Specification (SRS) document
includes a thorough statement of the issue, a likely substitute answer to
the problem, a functional requirement of the software system, and
limitations on the software system.
3. Design
• It is a multi-step process that focuses on four aspects of a program,
including interface representations, software architecture, data
structure, and algorithmic details. The design phase transforms the
prerequisite specification into a software representation that may be
evaluated prior to the coding phase.
4. Implementation
• It contains coding the software in accordance with the design
necessitates. In this phase, unit testing is also utilized to check that
every component of the software is functioning properly.
5. Integration and System Testing
• It combines the software modules in a systematic and planned way.
The integration of the components cannot be completed in a single
step but rather requires several iterations. Furthermore, system testing
is performed to ensure that the software system functions as stated in
the SRS document. There are three phases of system testing: alpha,
beta, and acceptance.
6. Deployment and Maintenance
• Once the software has been tested and authorized, it is deployed to the
production environment. After the software is delivered, it is analyzed
for a period of time to find and resolve the errors that do not appear in
the starting phases of software, which is known as maintenance
Advantages and Disadvantages of the Waterfall Model
• There are various advantages and disadvantages of the Waterfall
Model. Some advantages and disadvantages of the Waterfall Model are
as follows:
• Advantages
• The Waterfall model is simple to understand and use, and it is a better
choice for software development projects.
• It functions well for smaller tasks and projects with well-defined
requirements.
• It is a dependable and predictable technique for developing software.
• It offers a clear picture of the end product's appearance and
functionality.
• It is a sequential, linear strategy that makes it simpler to estimate the
time and resources needed for every project phase.
• Disadvantages
• It does not enable end-user feedback.
• A new phase starts only after the prior phase has been finished. However, it
cannot be kept in real-world projects. Phases may overlap to enhance
efficiency and decrease costs.
• It is unsuitable for complicated projects because its linear and sequential
nature complicates handling numerous dependencies and interrelated
components.
• Testing is usually done toward the end of the development process in the
Waterfall Model. It means that defects cannot be found until late in the
development process, which may be costly and time-consuming to resolve.
• It is a structured and sequential approach, stakeholders are usually engaged
in the initial project phases (such as requirements gathering and analysis)
but cannot be present in the later phases (such as implementation, testing,
and deployment).
Spiral Model
• The spiral model is an evolutionary method of SDLC, and it is a
combination of the waterfall model and the prototype model. It provides
support for Risk Handling. It was first released by Barry Boehm in 1986. It
can apply the iterative ness of the prototype model and controlled
methodical of the linear sequential model to develop incremental versions
of the software. Software releases that are made incrementally are the result
of the spiral model.
• It is a realistic method to develop large projects that have continuous
enhancements, and it is quite an expensive model than others. The spiral
model's main concept is that you must plan the aims and objectives of the
project and then create the software following a spiral-like direction. The
best part about this model is that you may begin a project using it and then
continue working on the same model later on during the project.
Phases of Spiral Model
There are mainly four types of phases in the Spiral Model. These phases are as follows:
• 1. Planning
• It involves determining the iteration's cost, schedule, and resources. It also entails comprehending
the system's needs to maintain continuous interaction between the system analyst and the client.
• 2. Risk Analysis
• In this phase, all potential solutions are assessed to pick the best solution. After that, the risks
associated with that solution are identified, and the risks are fixed utilizing the best strategy
available. At the end of this phase, the prototype is created for the ideal possible solution.
• 3. Engineering
• It is the important phase of the spiral model that contains coding, testing, and deploying software
on the client side.
• 4. Evaluation
• Risk analysis contains estimating, identifying, and monitoring technical feasibility, such as
timetable slippage and cost overrun. At the conclusion of the first iteration, after testing the build,
the user evaluates the software and gives feedback. The development process moves on to the next
iteration according to the customer's requirement and then utilizes a linear method to implement
the user feedback. The spiral iteration method continues for the duration of the software's life.
Advantages and Disadvantages of Spiral Model
• There are various advantages and disadvantages of the Spiral Model. Some
advantages and disadvantages of the Spiral Model are as follows:
• Advantages
• It includes risk analysis and management at every stage, increasing security
and the likelihood of avoiding assaults and breakages. The iterative
development method also makes easy risk management.
• It is suggested for large and complicated projects.
• The Spiral Model offers an incremental and iterative approach to software
development. It allows flexibility and adaptability in response to shifting
requirements or unexpected events.
• It offers regular evaluations and reviews, which may enhance the
communication between the user and the development team.
• It enables numerous iterations of the software development process, which
may lead to increased software quality and reliability.
Disadvantages
• It is costly model than others, so it is unsuitable for small projects.
• It can be complex because it contains numerous iterations of the
software development process.
• It may be resource-intensive because it necessitates extensive
preparation, risk analysis, and evaluations.
• It may be time-consuming because it necessitates numerous
assessments and reviews.
• It is significantly more complex than other SDLC models.
Key Differences between Waterfall and Spiral
Model
• Some of the main differences between the Waterfall and Spiral Models are as
follows:
• The waterfall model is linear in nature, following a step-by-step process. In
contrast, the spiral model is iterative and evolutionary, repeating the same four
phases with different degrees of complexity with every iteration.
• The waterfall model is suitable for small projects with clear objectives. In contrast,
the spiral model is suitable for larger, more complicated projects.
• The waterfall model doesn't involve any client participation. In contrast, the spiral
model seeks client feedback throughout the process and provides aid to ensure that
the software fulfills the client's requirements.
• The waterfall model requires developers to collect and determine project
requirements only once at the start of the process and then make their project tasks
on these decisions. In contrast, the spiral model requires developers to collect
requirements at the outset of each iteration.
• As the waterfall model necessitates completing one phase before beginning the
next, there is no way to return and revise work in a phase once it's complete. On
the other hand, the spiral model provides for a revalidation process whenever the
developers want to address an issue from an earlier iteration.
• The waterfall model makes the single final product at the process end. On the
other hand, the spiral model creates a rough functional product after every phase.
Head-to-head comparison between Waterfall and Spiral Models
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Conclusion
• Waterfall and spiral models are the two main software process models
in SDLC. The spiral model differs from the waterfall model in that it
includes a definite identification of the risk, which minimizes the
chances of project failure. In contrast, the waterfall is risky because it
has no iterations, and everything must be performed at once for a
software product, which means requirements must be collected,
planned, designed, coded, and integrated all at once. The waterfall
model is mainly utilized for smaller projects with clear requirements.
In contrast, the spiral model is mainly utilized for large and
complicated projects.
Software crisis
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Description of the real world using the
Objects Model
•Object Modeling Technique (OMT) is a real-world-
based modeling approach for software modeling
and designing.
•It was developed basically as a method to develop
object-oriented systems and to support object-oriented
programming. It describes the static structure of the
system
• The object model identifies the classes in the system and their
relationship, as well as their attributes and operations. • It represents
the static structure of the system. • The object model is represented
graphically by a class diagram.
• Objects are key to understanding object-oriented technology. Look
around right now and you'll find many examples of real-world
objects: your dog, your desk, your television set, your bicycle. Real-
world objects share two characteristics: They all have state and
behavior.
• We use a rectangle to represent an object in an object
diagram.
1.Attributes and Values. Inside the object box, attributes of the
object are listed along with their specific values.
2.Attributes and Values. Inside the object box, attributes of the
object are listed along with their specific values.
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Quality software characteristics
• Software is defined as a collection of computer programs, procedures,
rules, and data. Software Characteristics are classified into six major
components. Software engineering is the process of designing,
developing, testing, and maintaining software.
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Correctness
• How well the software operates without errors and pleases the user
How well users interact with the software, which is important
for facilitating rich interactions between users and technology
Reliability
•How many failures the software has, which depends on the
number and type of mistakes made by software engineers
How easy it is to maintain and upgrade the software on a
regular basis
Software portability is a design objective for source
code to be easily made to run on different platforms. An
aid to portability is the generalized abstraction between
the application logic and system interfaces. When
software with the same functionality is produced for
several computing platforms, portability is the key issue
for development cost reduction.
Software portability may involve:
•Transferring installed program files to another computer
of basically the same architecture.
•Reinstalling a program from distribution files on another
computer of basically the same architecture.
•Building executable programs for different platforms
from source code; this is what is usually understood by
"porting".
Description of the Object Oriented Analysis
process vs. the Structure Analysis Model
What is Structured Analysis
• Structured Analysis is a development method that allows the analyst to
understand the system and its activities in a logical way.
• It is a systematic approach, which uses graphical tools that analyze and
refine the objectives of an existing system and develop a new system
specification which can be easily understandable by user.
• It has following attributes −
• It is graphic which specifies the presentation of application.
• It divides the processes so that it gives a clear picture of system flow.
• It is logical rather than physical i.e., the elements of system do not depend
on vendor or hardware.
• It is an approach that works from high-level overviews to lower-level
details.
Structured Analysis Tools
During Structured Analysis, various tools and techniques are used for
system development. They are −
• Data Flow Diagrams
• Data Dictionary
• Decision Trees
• Decision Tables
• Structured English
• Pseudocode
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Introduction to on Object Oriented  Technologies and the UML Method
Ad

Recommended

software engineering SOFTWARE PROCESS MODELS.pptx
software engineering SOFTWARE PROCESS MODELS.pptx
pushpa73
 
Software Process Model.ppt
Software Process Model.ppt
SasiR18
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
eshtiyak
 
Software Process Models
Software Process Models
Atul Karmyal
 
Introduction to Software Engineering.pptx
Introduction to Software Engineering.pptx
shilpamathur13
 
unit 1 introudction of the file and sepm
unit 1 introudction of the file and sepm
rajaramvijayakumarma
 
Chapter 1- Introduction to software engineering for CS.ppt
Chapter 1- Introduction to software engineering for CS.ppt
SisayNegash4
 
Chapter 1- Introduction for software.ppt
Chapter 1- Introduction for software.ppt
SisayNegash4
 
15 object orienteddesign
15 object orienteddesign
randhirlpu
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
My 15 day intern report
My 15 day intern report
BibekShahShankhar
 
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
MrsShakiraFathimaH
 
Sdpl1
Sdpl1
sraviinthiran
 
Process models
Process models
Preeti Mishra
 
DITEC - Software Engineering
DITEC - Software Engineering
Rasan Samarasinghe
 
SDLC
SDLC
JayeshPatil149
 
Software Engineering Methodologies
Software Engineering Methodologies
Damian T. Gordon
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
187202477-Models-of-SDLC-ppt-Original.ppt
187202477-Models-of-SDLC-ppt-Original.ppt
0305vipul
 
Software Development Process Models in Software Engineering.pptx
Software Development Process Models in Software Engineering.pptx
BennyJoseph37
 
Sdlc
Sdlc
Mahfuz1061
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Soft lifecycle
Soft lifecycle
sathyakamsundher30
 
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
derebelay8
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 
System Development
System Development
Sharad Patel
 
testing
testing
nazeer pasha
 
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
How to Un-Obsolete Your Legacy Keypad Design
How to Un-Obsolete Your Legacy Keypad Design
Epec Engineered Technologies
 

More Related Content

Similar to Introduction to on Object Oriented Technologies and the UML Method (20)

15 object orienteddesign
15 object orienteddesign
randhirlpu
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
My 15 day intern report
My 15 day intern report
BibekShahShankhar
 
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
MrsShakiraFathimaH
 
Sdpl1
Sdpl1
sraviinthiran
 
Process models
Process models
Preeti Mishra
 
DITEC - Software Engineering
DITEC - Software Engineering
Rasan Samarasinghe
 
SDLC
SDLC
JayeshPatil149
 
Software Engineering Methodologies
Software Engineering Methodologies
Damian T. Gordon
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
187202477-Models-of-SDLC-ppt-Original.ppt
187202477-Models-of-SDLC-ppt-Original.ppt
0305vipul
 
Software Development Process Models in Software Engineering.pptx
Software Development Process Models in Software Engineering.pptx
BennyJoseph37
 
Sdlc
Sdlc
Mahfuz1061
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Soft lifecycle
Soft lifecycle
sathyakamsundher30
 
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
derebelay8
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 
System Development
System Development
Sharad Patel
 
testing
testing
nazeer pasha
 
15 object orienteddesign
15 object orienteddesign
randhirlpu
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
SOFTWARE ENGINEERING FOR BEGINNERS UNIT 1.pptx
MrsShakiraFathimaH
 
Software Engineering Methodologies
Software Engineering Methodologies
Damian T. Gordon
 
187202477-Models-of-SDLC-ppt-Original.ppt
187202477-Models-of-SDLC-ppt-Original.ppt
0305vipul
 
Software Development Process Models in Software Engineering.pptx
Software Development Process Models in Software Engineering.pptx
BennyJoseph37
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
Security Cosc gvggghghhhhhhhhhhhhhhhhhhhhh
derebelay8
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 
System Development
System Development
Sharad Patel
 

Recently uploaded (20)

special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
How to Un-Obsolete Your Legacy Keypad Design
How to Un-Obsolete Your Legacy Keypad Design
Epec Engineered Technologies
 
دراسة حاله لقرية تقع في جنوب غرب السودان
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Deep Learning for Image Processing on 16 June 2025 MITS.pptx
Deep Learning for Image Processing on 16 June 2025 MITS.pptx
resming1
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
 
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
 
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Modern multi-proposer consensus implementations
Modern multi-proposer consensus implementations
François Garillot
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Cadastral Maps
Cadastral Maps
Google
 
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
دراسة حاله لقرية تقع في جنوب غرب السودان
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Deep Learning for Image Processing on 16 June 2025 MITS.pptx
Deep Learning for Image Processing on 16 June 2025 MITS.pptx
resming1
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
 
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
 
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Modern multi-proposer consensus implementations
Modern multi-proposer consensus implementations
François Garillot
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Cadastral Maps
Cadastral Maps
Google
 
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
Ad

Introduction to on Object Oriented Technologies and the UML Method

  • 1. Introduction to on Object Oriented Technologies and the UML Method • OOP is the most popular programming paradigm for building software systems in the IT industry. OOP concept by making a comparison with the conventional programming languages (e.g. C, PASCAL, COBOL, FORTRAN etc.) which use the Procedure-Oriented Programming (POP) approach. • In POP approach, a program is divided into a number of components called functions, while in OOP approach (e.g. C++, Java, Python, Ruby etc.); the program is divided into components called objects. Another point is that object-oriented programming follows the “bottom-up” approach, while procedural programming follows the “top- down” approach. • Because objects are more versatile, OOP can be used to develop complex programs with less code. The use of objects also facilitates code reuse. In POP, the focus is placed on the functions and sequence of actions to be performed and not on data. In OOP, however, the focus is placed on the data and not the functions. That is why object-oriented programming approach can provide a more realistic view of a software system.
  • 2. Essential features of OOP ♦ Encapsulation: This is an important concept that binds together the data and functions that manipulate the data, and that keeps both safe from outside interference and misuse. Encapsulation led to the OOP concept of data hiding. ♦ Inheritance: It is the procedure by which one object acquires the properties of another object. This increases code re-usability. ♦ Polymorphism: This concept enables one entity to be used as general category for different types of actions. The specific action is determined by the exact nature of the situation. The concept of polymorphism can be explained as “one interface, multiple methods”.
  • 3. Basics of UML • The UML stands for Unified modeling language, is a standardized general-purpose visual modeling language in the field of Software Engineering. It is used for specifying, visualizing, constructing, and documenting the primary artifacts of the software system. It helps in designing and characterizing, especially those software systems that incorporate the concept of Object orientation. It describes the working of both the software and hardware systems • Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object- oriented system.
  • 4. • The UML offers a standard way to write a system’s blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components.” • The important point to note here is that UML is a ‘language’ for specifying and not a method or procedure. The UML is used to define a software system; to detail the artifacts in the system, to document and construct – it is the language that the blueprint is written in. The UML may be used in a variety of ways to support a Software Development Methodology (such as the Rational Unified Process) – but in itself it does not specify that methodology or process.
  • 5. • The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. • The UML is a very important part of developing objects oriented software and the software development process. • The UML uses mostly graphical notations to express the design of software projects. • Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.
  • 6. Goals of UML • The primary goals in the design of the UML are: • Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. • Provide extensibility and specialization mechanisms to extend the core concepts. • Be independent of particular programming languages and development processes. • Provide a formal basis for understanding the modeling language. • Encourage the growth of object oriented tools in the market. • Support higher-level development concepts such as collaborations, frameworks, patterns and components. • Integrate best practices in Software Development Life Cycle (SDLC).
  • 7. Software Development Process • Software development process is a methodical way to create and manage software that involves several steps: • Understand what the software should do and plan how to build it • Design how the software will work and look, followed by writing the actual code • Conduct rigorous testing to ensure it functions properly • Deploy the software to make it available for users • Once done, perform ongoing maintenance to keep it running smoothly.
  • 8. The 7 Steps of Software Development Process
  • 9. 1.Analysis: Understanding the Requirements 2. Planning: Setting the Foundation 3. Design: Crafting the Details 4. Development: Writing the Code 5. Testing: Ensuring It Works 6. Deployment: Releasing to the World 7. Maintenance: Keeping It Running
  • 10. The Waterfall Model vs. The Spiral Model Waterfall and Spiral models are two of the most famous and widely utilized project management models in software development. These are the process models that are utilized to create software in a well-defined, systematic, and cost-effective manner.
  • 11. Waterfall Model • The waterfall model is a software development process model. • it is a structured and sequential project management approach that can be useful for development projects with well-defined requirements and clients who are unlikely to change the project scope. that follows a linear sequential flow. It is a traditional paradigm for the software life cycle. As the name implies, the flow of the model is sequential, which is comparable to a waterfall in a top-down approach, which is why it is also known as the linear sequential model. • Although, if any phase of the model has been completed, we cannot change it, which implies that whatever is done in the earlier phase could be altered. The process flow cannot pass from bottom to top, and it always flows from top to bottom, which makes it critical to be fully preplanned to minimize the chances of product failure.It has several stages: requirement analysis, design, coding, testing, integration, implementation/deployment, and maintenance.
  • 13. 1. Feasibility Study • It is the first phase of SDLC. In this phase, the cost and benefits are assessed of the proposed application. The feasibility analysis must generate a document that includes the following information: issue description, technical and economic viability, alternate solutions, required resources, cost, and delivery dates. 2. Requirements gathering and analysis • It includes gathering needs from stakeholders and analyzing them to understand the project's scope and goals. It decides the project's quality in terms of ease of use, performance, functionality, portability, etc. The Software Requirement Specification (SRS) document includes a thorough statement of the issue, a likely substitute answer to the problem, a functional requirement of the software system, and limitations on the software system.
  • 14. 3. Design • It is a multi-step process that focuses on four aspects of a program, including interface representations, software architecture, data structure, and algorithmic details. The design phase transforms the prerequisite specification into a software representation that may be evaluated prior to the coding phase. 4. Implementation • It contains coding the software in accordance with the design necessitates. In this phase, unit testing is also utilized to check that every component of the software is functioning properly.
  • 15. 5. Integration and System Testing • It combines the software modules in a systematic and planned way. The integration of the components cannot be completed in a single step but rather requires several iterations. Furthermore, system testing is performed to ensure that the software system functions as stated in the SRS document. There are three phases of system testing: alpha, beta, and acceptance. 6. Deployment and Maintenance • Once the software has been tested and authorized, it is deployed to the production environment. After the software is delivered, it is analyzed for a period of time to find and resolve the errors that do not appear in the starting phases of software, which is known as maintenance
  • 16. Advantages and Disadvantages of the Waterfall Model • There are various advantages and disadvantages of the Waterfall Model. Some advantages and disadvantages of the Waterfall Model are as follows: • Advantages • The Waterfall model is simple to understand and use, and it is a better choice for software development projects. • It functions well for smaller tasks and projects with well-defined requirements. • It is a dependable and predictable technique for developing software. • It offers a clear picture of the end product's appearance and functionality. • It is a sequential, linear strategy that makes it simpler to estimate the time and resources needed for every project phase.
  • 17. • Disadvantages • It does not enable end-user feedback. • A new phase starts only after the prior phase has been finished. However, it cannot be kept in real-world projects. Phases may overlap to enhance efficiency and decrease costs. • It is unsuitable for complicated projects because its linear and sequential nature complicates handling numerous dependencies and interrelated components. • Testing is usually done toward the end of the development process in the Waterfall Model. It means that defects cannot be found until late in the development process, which may be costly and time-consuming to resolve. • It is a structured and sequential approach, stakeholders are usually engaged in the initial project phases (such as requirements gathering and analysis) but cannot be present in the later phases (such as implementation, testing, and deployment).
  • 18. Spiral Model • The spiral model is an evolutionary method of SDLC, and it is a combination of the waterfall model and the prototype model. It provides support for Risk Handling. It was first released by Barry Boehm in 1986. It can apply the iterative ness of the prototype model and controlled methodical of the linear sequential model to develop incremental versions of the software. Software releases that are made incrementally are the result of the spiral model. • It is a realistic method to develop large projects that have continuous enhancements, and it is quite an expensive model than others. The spiral model's main concept is that you must plan the aims and objectives of the project and then create the software following a spiral-like direction. The best part about this model is that you may begin a project using it and then continue working on the same model later on during the project.
  • 20. There are mainly four types of phases in the Spiral Model. These phases are as follows: • 1. Planning • It involves determining the iteration's cost, schedule, and resources. It also entails comprehending the system's needs to maintain continuous interaction between the system analyst and the client. • 2. Risk Analysis • In this phase, all potential solutions are assessed to pick the best solution. After that, the risks associated with that solution are identified, and the risks are fixed utilizing the best strategy available. At the end of this phase, the prototype is created for the ideal possible solution. • 3. Engineering • It is the important phase of the spiral model that contains coding, testing, and deploying software on the client side. • 4. Evaluation • Risk analysis contains estimating, identifying, and monitoring technical feasibility, such as timetable slippage and cost overrun. At the conclusion of the first iteration, after testing the build, the user evaluates the software and gives feedback. The development process moves on to the next iteration according to the customer's requirement and then utilizes a linear method to implement the user feedback. The spiral iteration method continues for the duration of the software's life.
  • 21. Advantages and Disadvantages of Spiral Model • There are various advantages and disadvantages of the Spiral Model. Some advantages and disadvantages of the Spiral Model are as follows: • Advantages • It includes risk analysis and management at every stage, increasing security and the likelihood of avoiding assaults and breakages. The iterative development method also makes easy risk management. • It is suggested for large and complicated projects. • The Spiral Model offers an incremental and iterative approach to software development. It allows flexibility and adaptability in response to shifting requirements or unexpected events. • It offers regular evaluations and reviews, which may enhance the communication between the user and the development team. • It enables numerous iterations of the software development process, which may lead to increased software quality and reliability.
  • 22. Disadvantages • It is costly model than others, so it is unsuitable for small projects. • It can be complex because it contains numerous iterations of the software development process. • It may be resource-intensive because it necessitates extensive preparation, risk analysis, and evaluations. • It may be time-consuming because it necessitates numerous assessments and reviews. • It is significantly more complex than other SDLC models.
  • 23. Key Differences between Waterfall and Spiral Model
  • 24. • Some of the main differences between the Waterfall and Spiral Models are as follows: • The waterfall model is linear in nature, following a step-by-step process. In contrast, the spiral model is iterative and evolutionary, repeating the same four phases with different degrees of complexity with every iteration. • The waterfall model is suitable for small projects with clear objectives. In contrast, the spiral model is suitable for larger, more complicated projects. • The waterfall model doesn't involve any client participation. In contrast, the spiral model seeks client feedback throughout the process and provides aid to ensure that the software fulfills the client's requirements. • The waterfall model requires developers to collect and determine project requirements only once at the start of the process and then make their project tasks on these decisions. In contrast, the spiral model requires developers to collect requirements at the outset of each iteration. • As the waterfall model necessitates completing one phase before beginning the next, there is no way to return and revise work in a phase once it's complete. On the other hand, the spiral model provides for a revalidation process whenever the developers want to address an issue from an earlier iteration. • The waterfall model makes the single final product at the process end. On the other hand, the spiral model creates a rough functional product after every phase.
  • 25. Head-to-head comparison between Waterfall and Spiral Models
  • 28. Conclusion • Waterfall and spiral models are the two main software process models in SDLC. The spiral model differs from the waterfall model in that it includes a definite identification of the risk, which minimizes the chances of project failure. In contrast, the waterfall is risky because it has no iterations, and everything must be performed at once for a software product, which means requirements must be collected, planned, designed, coded, and integrated all at once. The waterfall model is mainly utilized for smaller projects with clear requirements. In contrast, the spiral model is mainly utilized for large and complicated projects.
  • 36. Description of the real world using the Objects Model •Object Modeling Technique (OMT) is a real-world- based modeling approach for software modeling and designing. •It was developed basically as a method to develop object-oriented systems and to support object-oriented programming. It describes the static structure of the system
  • 37. • The object model identifies the classes in the system and their relationship, as well as their attributes and operations. • It represents the static structure of the system. • The object model is represented graphically by a class diagram. • Objects are key to understanding object-oriented technology. Look around right now and you'll find many examples of real-world objects: your dog, your desk, your television set, your bicycle. Real- world objects share two characteristics: They all have state and behavior.
  • 38. • We use a rectangle to represent an object in an object diagram. 1.Attributes and Values. Inside the object box, attributes of the object are listed along with their specific values. 2.Attributes and Values. Inside the object box, attributes of the object are listed along with their specific values.
  • 60. Quality software characteristics • Software is defined as a collection of computer programs, procedures, rules, and data. Software Characteristics are classified into six major components. Software engineering is the process of designing, developing, testing, and maintaining software.
  • 65. Correctness • How well the software operates without errors and pleases the user
  • 66. How well users interact with the software, which is important for facilitating rich interactions between users and technology Reliability •How many failures the software has, which depends on the number and type of mistakes made by software engineers
  • 67. How easy it is to maintain and upgrade the software on a regular basis
  • 68. Software portability is a design objective for source code to be easily made to run on different platforms. An aid to portability is the generalized abstraction between the application logic and system interfaces. When software with the same functionality is produced for several computing platforms, portability is the key issue for development cost reduction. Software portability may involve: •Transferring installed program files to another computer of basically the same architecture. •Reinstalling a program from distribution files on another computer of basically the same architecture. •Building executable programs for different platforms from source code; this is what is usually understood by "porting".
  • 69. Description of the Object Oriented Analysis process vs. the Structure Analysis Model
  • 70. What is Structured Analysis • Structured Analysis is a development method that allows the analyst to understand the system and its activities in a logical way. • It is a systematic approach, which uses graphical tools that analyze and refine the objectives of an existing system and develop a new system specification which can be easily understandable by user. • It has following attributes − • It is graphic which specifies the presentation of application. • It divides the processes so that it gives a clear picture of system flow. • It is logical rather than physical i.e., the elements of system do not depend on vendor or hardware. • It is an approach that works from high-level overviews to lower-level details.
  • 71. Structured Analysis Tools During Structured Analysis, various tools and techniques are used for system development. They are − • Data Flow Diagrams • Data Dictionary • Decision Trees • Decision Tables • Structured English • Pseudocode