%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
Object oriented software_engg
1. O B J E C T - O R I E N T E D S O F T W A R E
E N G I N E E R I N G
B Y T E A M 0 4
A N N I E B E N I T H A T H O M A S
D U R G A P O O J I T H A B O D D U L U R I
2. INDEX
TOPIC SLIDE NO
INTRODUCTION 1
MAIN FEATURES 3
REAL WORLD EXAMPLES 11
SWOT: ADV/BENEFITS 16
SWOT: DISADVANTAGES 19
OPTIONAL OOSE TOOLS 21
REFERNCES 24
CONCLUSION 26
4. INTRODUCTION
• Object Oriented Software
Engineering(OOSE) also known as
Objectory is a method of object-
oriented development with the specific
aim to fit the development of large,
real-time systems
• OOSE is developed by Ivar Jacobson in
1992.
• It is the first object-oriented design
methodology to employ use cases to
drive software design.
• It follows the concept of modern UML
http://cs-exhibitions.uni-klu.ac.at/index.php?id=448
1
5. INTRODUCTION
• In OOSE , the software developer
identifies and organizes the
application in terms of object-oriented
concepts , prior to their final
representation in any specific
programming language or software
tools.
• It includes requirements, an analysis, a
design , an implementation and a
testing model.
• Object Oriented techniques make it
possible for us to handle large
systems, change and reuse them etc.
between customer and developer
http://cs-exhibitions.uni-klu.ac.at/index.php?id=448
2
6. M A I N F E A T U R E S / P H A S E S
C H A R A C T E R S T I C S
7. PHASE – I - REQUIREMENTS PHASE
• REQUIREMENTS PHASE – uses a natural language description of what the system
should do to build three models.
The use case model – describes interaction between actors and the system.
The domain model -- describes objects, classes and associations between objects in
the domain.
The user-interface descriptions – contain mock-ups of various inteface between actors
and the system
https://books.google.com/books?id=p9gRBwAAQBAJ&pg
3
8. PHASE - II - ANALYSIS PHASE
• The ANALYSIS PHASE – produces the
analysis model and a set of subsystem
descriptions. The analysis model is a
refinement of the domain object
model produced in the requirements
phase.
Fulfills all its requirements
Is Structured to be robust .
http://www.iscn.at/select_newspaper/object/rational.html
4
9. PHASE –III - IMPLEMENTATION
• The system is realized through
implementation producing the
sources(source-code files, header files
etc.) that will result in an executable
system.
• Implementation model consists of
modules structured into
implementation packages.
• It Includes testing the separate classes
or packages.
http://www.iscn.at/select_newspaper/object/rational.html
5
10. PHASE – IV - TEST
• Test verifies the entire system, testing
each use case separately to verify that
its participating classes work together
correctly.
• Then testing the system as a whole
begins with use-case descriptions as
input to this test.
• At the end of the test, the system can
be delivered.
http://www.iscn.at/select_newspaper/object/rational.html
6
11. FEATURES - USE CASE DRIVEN DEVELOPMENT
• Objectory is a use-case driven approach. Use cases play a role in each of the four
engineering process components : requirements, analysis, design and test.
• Use cases have other roles as well:
– They can be used as a basis for iterative development
– They form a foundation for what is described in user manuals.
– They may be used as ordering units . A customer can get a system configured with particular
mix of use cases.
http://www.iscn.at/select_newspaper/object/rational.html
7
12. FEATURES – CONTROLLED ITERATIVE DEVELOPMENT
• The Objectory iterative approach is generally superior to a linear or waterfall approach
for many reasons,
– It lets you take into account changing requirements.
– Integration is not one” big bang” at the end elements are integrated progressively.
– It lets you migrate risks earlier because integration is generally the only time risks are
discovered or addressed.
– It provides management with a way to do tactical changes to the product
http://www.iscn.at/select_newspaper/object/rational.html
8
13. FEATURES – REQUIREMENTS MANAGEMENT
• The two key elements behind a controlled iterative process are requirements
management and change control
• The benefits of effective requirements management include:
– Better control of complex projects.
– Improved software quality and customer satisfaction.
– Reduced project costs and delays.
– Improved team communication.
http://www.iscn.at/select_newspaper/object/rational.html
9
14. FEATURES – COMPONENT BASED DEVELOPMENT
– Objectory supports component-based development in several ways.
• The iterative approach allows to progressively identify components, decide which one to develop,
which one to reuse, which one to buy.
• The focus on software architecture allows to articulate the structure: the components and the ways
they integrate: the fundamental mechanisms and patterns by which they interact.
• Concepts such as packages, subsystems, layers are used during analysis and design to organize
components, specify interfaces.
• Testing is organized around components first, then gradually larger set of integrated components.
http://www.iscn.at/select_newspaper/object/rational.html
10
16. CASE STUDIES
SL.No Project Name
and Project
web site and
address
Name of
company or
organization
Usage
1 www.gmail.co
m
GMAIL ENCAPSULATION
–
Every time you log
into your email
account your
password, would
probably be
retrieved in an
encyrpted form,
verified and only
then you are given
access. You do not
have any control,
over how the
password is
verified, and this
keeps it safe from
misuse.
https://mail.google.com/mail
11
17. CASE STUDIES
Sl.No Project Name
or website
address
Name of the
organization
Usage
II http://netbeans
org/
NETBEANS NetBeans is
a software
development p
atform written
in Java. The
NetBeans
Platform allows
applications to
be developed
from a set of
modular softwa
re
components ca
led modules.
http://netbeans.org/
12
18. CASE STUDIES
Sl No Project
Name or
website
Name of the
organization
Usage
III https://eclips
e.org
ECLIPSE Eclipse is
an integrated
development
environment (ID
E) used
in computer
programming,
and is the most
widely used Java
IDE. It contains a
base workspace
and an
extensible plug-
in system for
customizing the
environment.
Eclipse is written
mostly in Java
https://eclipse.org
13
19. CASE STUDIES
Sl.No Project
Name or
website
Name of
the
organization
Usage
IV https://www.
visualstudio.
com/
Microsoft
Visual
Studio
Microsoft
Visual
Studio is
an integrated
development
environment (
IDE)
from Microsof
t. It is used to
develop com
uter
programs for
Microsoft
Windows,
https://www.visualstudio.com/
14
20. CASE STUDIES
Sl No Project Name
or website
Name of the
organization
Usage
V https://www.fa
cebook.com/
FACEBOOK Facebook is
both a
consumer of
and
contributor
to free and
open source
software.
Facebook also
contributes to
other
opensource
projects such
as Java,
Javascript etc
https://www.facebook.com/
15
22. BENEFITS
Sl.No Advantage Brief Explanation
I Reduced
Maintenance
The primary goal of
oriented development is
the assurance that the
system will enjoy a longer
life while having far
maintenance
costs. Because most of
processes within the
system are encapsulated,
the behaviors may be
reused and incorporated
into new behaviors.
II Real- World
Modeling
Object-oriented system
tend to model the real
world in a more complete
fashion than do traditional
methods. Objects are
organized into classes of
objects, and objects are
associated with
behaviors. The model is
based on objects, rather
than on data and
processing.
http://www.dba-oracle.com/t_object_oriented_approach.htm
16
23. BENEFITS
Sl.No Advantage Brief Explanation
III Improved
Reliability and
Flexibility
Object-oriented system
promise to be far more
reliable than traditional
systems, primarily
because new behaviors
can be "built" from
existing objects.
IV High Code
Reusability
When a new object is
created, it will
automatically inherit the
data attributes and
characteristics of the
class from which it was
spawned. The new
object will also inherit
the data and behaviors
from all superclasses in
which it participates.
http://www.dba-oracle.com/t_object_oriented_approach.htm
17
24. BENEFITS
Sl.No Advantages Brief
Explanation
V Scalable OO applications
are more scalable
then their
structured
programming
roots. makes
it easy to replace
old and aging
with faster
algorithms and
newer
technology.
VI Maintainable OOP methods
make code more
maintainable.
Identifying the
source of errors
becomes easier
because objects
are self-contained
http://codebetter.com/raymondlewallen/2005/02/08/advantages-of-an-object-oriented-
approach-for-new-programmers/
18
26. DISADVANTAGES
SL.No Disadvantages Brief Explanation
I Functionality Functionality is
restricted within
objects. This may
pose a problem for
systems which are
intrinsically
procedural or
computational in
nature.
II Identification It cannot identify
which objects would
generate an optimal
system design.
III Communications The object-oriented
models do not easily
show the
communications
between the objects
in the system.
https://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-
AdvantagesDisadvantagesOfOOP-FINAL.pdf
19
27. DISADVANTAGES
SL.No Disadvantages Brief Explanation
IV Steep-learning curve The thought process
involved in object-oriented
programming may not be
natural for some people,
and it can take time to get
used to it. It is complex to
create programs based on
interaction of objects.
V Larger Program Size Object-oriented programs
typically involve more lines
of code than procedural
programs.
https://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-
AdvantagesDisadvantagesOfOOP-FINAL.pdf
20
28. ( O P T I O N A L )
O B J E C T O R Y T O O L S
29. OBJECTORY TOOLS
SL.No Open Source
Tool
Web Address Evaluation
I Netbeans netbeans.org
/
NetBeans has
of the briefest
startup times of
any of the IDEs.
Configuration is
minimal; up and
running in a
remarkably short
time. And
debugging in
NetBeans was as
easy as it gets. In
short, NetBeans
PHP just worked
- which is just
what you want
netbeans.org/
21
30. OBJECTORY TOOLS
SL.No Open Source Tools Web Address Evaluation
II Eclipse https://eclipse.org/ Very open source. Allows
users to create plug ins for
it. It's one of those software
packages where if you can
think it, you can probably
it, or program a way to do
like most open source
software
III Microsoft Visual
Studio
https://www.visualstu
dio.com/
Visual Studio is arguable the
best Software Development
IDE in the planet, it has a
of features from code
completion, source control,
customization options, tools
and extensions, to a pletora
of software project
templates you can chose
from such as Web
Application, Windows
Desktop Applications etc.
https://eclipse.org/
https://www.visualstudio.com/
22
31. OBJECTORY TOOLS
SL.No Open Source Tools Web Address Evaluation
IV Jenkins https://jenkins.io/index
html
Creating new builds is easy;
Deploying existing builds is
easy as one click; and
perhaps most importantly,
debugging builds is easy.
V Gradle https://gradle.org/ Unlike similar build tools in
JVM ecosystem, Gradle does
use XML but rather a flexible
DSL based on the Groovy
programming language. This
leads to a short and clean
build configuration files. In
addition, Gradle is the de
facto build tool for Android
which means it has a wide
adoption
23
https://jenkins.io/index.html
https://gradle.org/
33. REFERENCES
Open Source Tool Web Address to download Brief Explanation
OBJECT-ORIENTED
SOFTWARE ENGINEERING
- A use case driven approach
https://www.ivarjacobson.com
publications/books/object-
oriented-software-
engineering-1992
• Objectory which is the first
commercially available
comprehensive object-oriented
process for developing large-
scale industrial systems.
• The approach takes a global
view of system development
and focuses on minimizing the
systems life cycle cost.
Object-Oriented Software
Engineering Using UML,
Patterns, and Java
https://www.pearsonhighered.c
om/program/Bruegge-Object-
Oriented-Software-
Engineering-Using-UML-
Patterns-and-Java-3rd-
Edition/PGM58934.html
• An object-oriented modeling
approach covers techniques in a
step-by-step manner, from
requirements elicitation to testing,
enabling students to grasp the
complexity of object-oriented
modeling
• State-of-the-art coverage of
Object-Oriented software
engineering shows students how to
use the most practical aspects of
software engineering including the
basic elements of UML (Unified
Modeling Language)
24
34. REFERENCES
Open Source Tool Web address Brief Explanation
Object Oriented Analysis and
Design
http://www.umsl.edu/~sauterv
analysis/488_f01_papers/quillin.
htm
Most new client/server application
development tools emphasize
object-oriented features. The
introduction of the object-oriented
approach in the 1970s marked
a radical change in the
methodology and approach of
large-scale application
development.
The Rational Objectory
Process - A UML-based
Software Engineering Process
http://www.iscn.at/select_news
paper/object/rational.html
This paper presents an overview of
the Rational Objectory Process.
Rational Objectory Process is a full
lifecycle software engineering
process bringing Unified Modeling
Language (UML) best practices to
the fingertips of each software
developer.
25
http://www.umsl.edu/~sauterv/analysis/488_f01_papers/quillin.htm
http://www.iscn.at/select_newspaper/object/rational.html
36. CONCLUSION
• Objectory CASE tools provides comprehensive support to the software development
process.
• Quality assurance is an integral part of this process through templates for guidelines
and many checkpoints to check the quality of artifacts to be delivered in each phase.
• The Objectory is already linked with a number of other tools, such as tools for visual
modelling and requirements management. Objectory could be improved by a linkage
to quality assessment tools that supports.
https://books.google.com/books?id=k9Oma5M_Yt8C&pg=PA485&lpg
26
37. CONCLUSION
• Should companies and businesses invest financial and human resources, deploy and
use the selected topic/technology/methodology?
– YES
– The framework of objectory is a design technique called design with building blocks. With
the building block technique, a system is viewed as a system of connecting blocks with each
block representing a system service.
– An object-oriented model provides a consistent framework: it makes small terminology
inconsistencies in the original process noticeable and draws attention to missing
information.
– Increased Quality –IF 90% of a new application consists of a proven , existing components,
then only the remaining 10% of the code has to be tested from scratch. That observation
implies an order-of-magnitude reduction in defects.
27
38. CONCLUSION
• Should we (CS/IS Department) recommend selected advanced topic/technology for
active use in CS/IS curricula, for example, as a separate DIS or Advanced Topics course?
– YES
– Objectory methodology should be used or should be introduced as a course
– The Use cases provided at the starting point at the beginning of the semester helped
students to gain some initial understanding of the intended functionality.
– Students would feel OMTool to be more useful that the languages already being used.
– OMTool is closer match to C++.
– Objectory is a very open –ended and demanding methodology in the sense that it requires
much more though and experience than other methodologies, hence giving more
knowledge on the same.
https://books.google.com/books?id=Bd67Y1NkPWkC&pg
28