SlideShare une entreprise Scribd logo
1  sur  36
Object Oriented Software
Engineering
CS 690
Report-02
1
By Team-01
Khushboo Wadhwani
Urvashi Singh
Guided By:
Dr.Vladimir Uskov
Click to edit Master text styles
Contents of Report
Contents Slide No.
Introduction 3-4
Main features/functions/characteristics 5-9
Real World Examples 10-16
SWOT:Advantage 17-18
SWOT:Weaknesses/Potential Problems 19-20
OPTIONAL Part 21-29
References Recommended 30-31
Your Own Recommendations and Conclusion. 32-34
2
Click to edit Master text styles
Introduction
• Object-Oriented Software Engineering (OOSE) is a
software design technique that is used in software design
in object-oriented programming.
• OOSE aims to design software such that it is broken up
into manageable chunks called classes
• Based on three technologies :Object oriented
programming, Conceptual modeling, Block design
• The fundamental unit of an object oriented system is the
class.
• A class is a set of data and the behaviors that operate upon
that data. Each behavior is captured in a method, which is
a function associated with a class. A class defines a type
of object that can exist within the system.
• OOSE is the first object-oriented design methodology that
employs use cases in software design.
3
Click to edit Master text styles
Introduction
• OOSE is developed by Ivar Jacobson in 1992 at Objectory
AB .It also uses other design products similar to those used
by Object-modeling technique.
• The tool Objectory was created by the team at Objectory
AB to implement the OOSE methodology. After success in
the marketplace, other tool vendors also supported OOSE.
• Documented in 1992 the book name was Object-Oriented
Software Engineering: A Use Case Driven Approach
• OOSE is one of the precursors of the Unified Modeling
Language (UML), such as Booch and OMT.
• The OOSE tools have been replaced by tools supporting
UML and RUP
• Source: https://en.wikipedia.org/wiki/Object-oriented_software_engineering
• Interaction diagrams are similar to UML's sequence
diagrams. State transition diagrams are like UML
statechart diagrams.
• It includes a requirements, an analysis, a design, an
implementation and a testing model.
4
Click to edit Master text styles
2.Main features/functions/characteristics
Features Description
Consist of Five different
models
•Requirement model - Aims to capture
the functional requirements
•Analysis model - Give the system a
robust and changeable object structure
•Design model -Adopt and refine the
object structure to the current
implementation environment
•Implementation model -Implement the
system
•Test model - Verify the system
Consists of Classes and
Objects
Class represent the template for several
objects and described how these objects
are structured internally. Object of the
same class have the same definition both
for their operation and information
structure.
5
Click to edit Master text styles
Cont’d
Messages •The means by which objects exchange
information with one another.
•A message may consist of identification of
the target object, name of the requested
operation and other relevant information for
processing the request.
•For e.g. Consider two classes product and
order. The object of the Product class may
communicate with the object of Order class
by sending the request of placing order.
6
Click to edit Master text styles
Cont’d
Inheritance •Inheritance is the mechanism by
which an object acquires the some/all
properties of another object.
•It supports the concept of hierarchical
classification.
•Each derived class inherits the
attributes of its base class. All classes
inherits information from upper
classes.
•In general low level classes known as
subclass and high level class is super
class.
7
Click to edit Master text styles
8
Cont’d
Polymorphism •Polymorphism means to process objects
differently based on their data type.
•In other words it means, one method
with multiple implementation, for a
certain class of action. And which
implementation to be used is decided at
runtime depending upon the situation
(i.e., data type of the object)
•This can be implemented by designing a
generic interface, which provides generic
methods for a certain class of action and
there can be multiple classes, which
provides the implementation of these
generic methods.
Click to edit Master text styles
Cont’d
Data Abstraction •Abstraction is the process of
recognizing and focusing on
important characteristics of a
situation or object and
leaving/filtering out the un-
wanted characteristics of that
situation or object
•Data Abstraction is to collect
essential elements composing to
a compound data.
9
Click to edit Master text styles
3.Real World Examples
# Web site address Name of a company Usage
1 https://login.yaho
o.com/
Yahoo(Yahoo Mail) When any user provide the user
name and password and click on
submit button. It will show
Compose, Inbox, Outbox, Sent
mails. When user click on compose
it will open, but user doesn't know
what are the actions performed
internally. It just Opens. User
doesn't know internal actions. It
uses the feature of OOSE(Data
Abstraction) in order to show the
relevant data.
10
Click to edit Master text styles
Cont’d
# Web site address Name of a company Usage
2 Bluetooth
Technology
https://www.blueto
oth.com/
Samsung, Nokia etc. When we switch on the
Bluetooth We are able to
connect another mobile but not
able to access the other mobile
features like dialing a number,
accessing inbox etc. This is
because, Bluetooth feature is
given some level of abstraction.
3 www.samsung.co
m
Samsung A base mobile features is
extended by Samsung. After
base features are extended by
Samsung. Now Samsung has
manufactured its new model
with new added features or
advanced OS like Android OS,
v 6.0 (Marshmallow). This is
done by using oops
concept(multilevel Inheritance).
11
Click to edit Master text styles
Cont’d
12
4.Chase
https://www.chase.co
m
Chase A bank consist of 2 accounts checking and
saving. These account automatically inherit
common features from their base class like
balance, account, acc name, deposit, withdraw.
(This is called inheritance).This is done by
using oops concept.
5.Samsung Mobiles
www.samsung.com
Samsung You can dial a number using keypad buttons.
Even you don't know how these are working
internally. You have the only information that
is needed to dial a number. But not its internal
working of mobile. This is called Abstraction.
But how the Mobile Phone internally
working?, how keypad buttons are connected
with internal circuit? is called Encapsulation.
Samsung uses the oops concept for its design.
Click to edit Master text styles
3.1.Most Popular Real World Examples
13
1.Mobile Apps developed using OOSE
Mobile OS OOSE Tools Used
Android Eclipse/Android Studio
Apple XCode
Windows Visual Studio
All Platforms PhoneGap
Titanium
Xamarine
Angular JS
Click to edit Master text stylesWebsites Using OOSE Language(JAVA)
• Amazon(High Scalability - High Scalability - Amazon
Architecture) also uses java in addition to other
languages.
• Facebook uses HBase (a Java based No-SQL DB) as
messaging platform and also uses Java in other areas see -
Facebook Engineering: What is Facebook's architecture?
• Ebay (EBay Architecture) uses Java
• Google uses Java extensively in Google Plus, GTalk
(High Scalability - High Scalability - GoogleTalk
Architecture) etc
Cont’d
14
Click to edit Master text stylesWebsites Using OOSE Language(.NET)
• Stackoverflow
• PlentyOfFish
• Myspace
• CodeProject.com
• pof.com
• Samsungelite.com
• nhommua.com
• dell.com
• dcc.godaddy.com
• laredoute.fr
Cont’d
15
Click to edit Master text styles
OOSE Softwares are installed everywhere
• Banks
• Schools
• Hospitals
• Universities
• Stores
• Salons
• Pharmacies
• Sensors
• Amusement Parks
• And Lots more….
Cont’d
16
Click to edit Master text styles
4.SWOT: Advantages and Benefits.
# Advantages Brief explanation
1 Simplicity Software objects model real world objects, so the complexity is reduced and the program
structure is very clear.
2 Modularity Each object forms a separate entity whose internal workings are decoupled from other
parts of the system.
3 Design Benefits Large programs are very difficult to write. Object Oriented Programs force designers to
go through an extensive planning phase, which makes for better designs with less flaws.
In addition, once a program reaches a certain size, Object Oriented Programs are actually
easier to program than non-Object Oriented ones.
4 Re-usability Objects created for Object Oriented Programs can easily be reused in other programs.
17
Click to edit Master text styles
Cont’d
18
5 Clear modular
Structure
OOP provides a clear modular structure for programs
which makes it good for defining abstract data types
where implementation details are hidden and the unit has
a clearly defined interface
6 Good framework OOP provides a good framework for code libraries where
supplied software components can be easily adapted and
modified by the programmer. This is particularly useful
for developing graphical user interfaces.
7 Showing necessary
modules
Implementation details are hidden from other modules
and other modules has a clearly defined interface.
8 In OOP, programmer not only defines data types but also
deals with operations applied for data structures.
Click to edit Master text styles
5.SWOT:Weaknesses/Potential Problems
# Disadvantage (weakness) Why? Provide clear justification here.
1 Larger program size Object-oriented programs typically involve more lines of code than procedural programs.
2 Slower programs Object-oriented programs are typically slower than procedure based programs, as they
typically require more instructions to be executed
3 Not suitable for all types
of problem
There are problems that lend themselves well to functional-programming style, logic-
programming style, or procedure-based programming style, and applying object-oriented
programming in those situations will not result in efficient programs.
4 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. Some of the key programming techniques, such as inheritance and
polymorphism, can be challenging to comprehend initially
5 Not yet completely
accepted by major
vendors
Object-oriented Development has gained some market respectability, and vendors have
gone from catering to a "lunatic fringe" to a respected market. Still, there are major
reservations as to whether Object-oriented development will become a major force, or fade
into history, as in the 1980's when Decision Support Systems made great promises, only to
fade into obscurity
19
Click to edit Master text styles
Cont’d
# Disadvantage (weakness) Why? Provide clear justification here.
7 Effort Object Oriented programs require a lot of work to create. Specifically, a great deal of
planning goes into an object oriented program well before a single piece of code is ever
written. Initially, this early effort was felt by many to be a waste of time. In addition,
because the programs were larger (see above) coders spent more time actually writing
the program.
8 Correct implementation Problems with multithreading, data management, and mutability if not done right
9 overhead Compile time and run time overhead.
20
Click to edit Master text styles
6. OPTIONAL(OOSE Tools)
# Source tool Exact Web address to download that tool OPTIONAL: Test tool and provide your evaluation
of this tool
1 Eclipse https://www.eclipse.org/downloads/ It is one of the best IDE which can be used for
application development. It provides support for
languages such as Java, C/C++, Python, PERL,
Ruby etc. It is very easy to install. User interface is
very simple can be learnt in two days via tutorial
on
http://www.tutorialspoint.com/eclipse/index.htm
2 Netbeans https://netbeans.org/features/platform/downl
oad.html
Easy to install and comes with many integrated
components which otherwise require 3rd party
add-ons. Perfect tool for the beginners learning to
develop code for big applications.
Support languages like Java, C/C++, Ruby, PHP
etc.
21
Click to edit Master text styles
Cont’d
3 Code::Blocks http://codeblocks.org/do
wnloads
It is a very light-weight application. Easy to install and
easy to learn. Support multiple enterprise level
features.
4 Aptana Studio http://www.aptana.com/ Great for development of web application. Support for
PHP, Ruby on Rails and Python. Easy to install and easy
to work on.
5 Microsoft Visual Studio https://www.visualstudio.
com/en-
us/downloads/download-
visual-studio-vs.aspx
A rich, integrated development environment for creating
stunning applications for Windows, Android, and iOS,
as well as modern web applications and cloud services
22
Click to edit Master text styles
6.1. OPTIONAL (Why Use Eclipse)
23
• Provides reconciled set of possibilities for most of the platforms
• Apart from Java, it supports other languages
• Many flexible tools and frameworks for building various types of applications
• It has a free and an open source with a full support as well
• It is really extendable and configurable
• Industrial level of development
• Perspectives are another essential. Being able to switch the context from Plug-in Development, JEE, Debugging or a
perspective of your own creation really helps to keep things clear.
• JUnit integration is another big win - I know it's not exclusive to Eclipse, but it's a nice view and gives good visibility into
your testing tasks.
• You'll find many plug-ins to help you along at the new Eclipse Marketplace
Click to edit Master text styles
6.2. OPTIONAL (Why Use NetBeans)
24
• Powerful built-in Profiler natively supports Ant and Maven- no custom built system that only works in the IDE.
•Excellent support for the latest Java EE 6 and 7 features (no need to download plugins which is the case for Eclipse
really need JBoss tools for Eclipse)
•Excellent integration with GlassFish/JBoss/Tomcat/WebLogic ,Ant debugger.
•Excellent support for JavaFX
•Code completion with JPA and queries.
•NetBeans 7.3 includes new features for editing/debugging HTML5 (checkout the JavaOne videos)
•NetBeans platform - rich framework for building desktop Java applications.
•NetBeans is written using Swing - no SWT!
•Builtin support for version control systems - no wrestling with external plugins. For example, it can be a nightmare
to get SVN configured correctly on 64 bit systems.
•Clean intuitive UI (note IntelliJ also has a clean and intuitive UI in my opinion)
Click to edit Master text styles
6.3. OPTIONAL (Why MS Visual Studio)
25
Code development for Windows 10-- which includes mobile, desktop, Xbox and other supported platforms -- is done in Visual
Studio. Within the Visual Studio IDE, there are five versions: Visual Studio Community, Visual Studio Professional, Visual Studio
Enterprise, Visual Studio Test Professional and MSDN Platforms.
•Visual Studio C++ for Cross-Platform Development
•Visual Studio Tools for Apache Cordova
•Visual Studio Emulator for Android
•Visual Studio Tools for Universal Windows App Development
•Visual C++
•C# and Visual Basic
•F#
•.NET Framework 4.6
•Entity Framework
•Visual Studio IDE
•Blend
•Debugging and Diagnostics
•ASP.NET
•Azure
•NuGet
•JavaScript
•TypeScript
•IntelliTest
•Application Insights
•Release Management
•Single Sign-In
Click to edit Master text styles
6.4. OPTIONAL (Aptana Studio)
26
HTML5 Savvy Intellisense
•Aptana Studio is an open source integrated development
environment (IDE) for building web applications. Based
on Eclipse, it supports
JavaScript, HTML, DOM and CSS with code-completion,
outlining, JavaScript debugging, error and warning
notifications and integrated documentation. Additional plugins
allow Aptana Studio to support Ruby on Rails, PHP, Python,
Perl, Adobe AIR, Apple iPhone and Nokia WRT (Web
Runtime). Aptana Studio is available as a standalone
on Windows, Mac OS X and Linux, or as a plugin for Eclipse.
•Language & platform support
•Git Integration,Built-in Terminal
•Cloud-connected mobile opportunity expands to 1.5M
developers worldwide.
•IDE Customization
•Integrated Debugger(Integrated Ruby On Rails Debugger)
•Code Tracking
•it is equally adept at working with PHP, Ruby, Rails,
.Net, Titanium, PyDev (Python, Jython, Iron Python).
•It is as a standalone application or plug-in for Eclipse
3.5+.
•Aptana Studio comes with the following JavaScript
libraries, but more can be added or updated if desired.
oAdobe Spry
oExt JS
oAflax
oRico
oPrototype
oMochikit
oYUI Library
oMootools
ojQuery
oScript.aculo.us
Click to edit Master text styles
6.4. OPTIONAL (Code::Blocks)
27
Open Source! GPLv3, no hidden costs.
•Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets).
•Written in C++. No interpreted languages or proprietary libs needed.
•Extensible through plugins
•Compiler:
•Multiple compiler support:GCC (MingW / GNU GCC,MSVC++,Digital Mars,
Borland C++ 5.5)
•Very fast custom build system (no makefiles needed)
•Support for parallel builds (utilizing your CPU's extra cores)
•Multi-target projects
•Workspaces to combine multiple projects
•Inter-project dependencies inside workspace
•Imports MSVC projects and workspaces (NOTE: assembly code not supported yet)
•Imports Dev-C++ projects
•Interface:
•Syntax highlighting, customizable and extensible
•Code folding for C, C++, Fortran, XML and many more files.
•Tabbed interface
•Code completion
•Class Browser
•Smart indent
•One-key swap between .h and .c/.cpp files
Click to edit Master text styles
6.5. OPTIONAL(Comparisons Eclipse and NetBeans for JAVA)
NetBeans Eclipse
UI Toolkit Standard Swing toolkit SWT
UI Design
Free, award winning,
Matisse GUI Builder
Commercial alternatives
Module System
Standard OSGi module
systemor NetBeans-
specific module system
Standard OSGi module system
Build System
Out of the box, Maven
or Ant
Proprietary
28
Click to edit Master text styles
6.6. OPTIONAL(Languages Supported)
29
# Source tool /IDE Languages Supported
1 Eclipse Java
2 NetBeans Java
3 Code::Blocks C, C++, Fortran, XML
4 Aptana Studio PHP, Ruby, Rails, .Net, Titanium, PyDev (Python,
Jython, Iron Python
5 Microsoft Visual Studio Visual C++
C# and Visual Basic
F#
Click to edit Master text styles
7. References Recommended
Topic of articles, papers or
reports
Exact Web address to
download that article
Topics covered
Object-Oriented Software
Engineering:
Measuring and Controlling the
Development Process
http://ctp.di.fct.unl.pt/~mgo
ul/papers/Metrics/4ICSQ.p
df
•Paper emphasis on reuse of OOSE paradigm that, together, are
believed to be responsible for the increase in software quality and
development productivity
•Paper aims at development of metrics for OO designs that will
eventually help training new OO software practitioners by setting
design standards
•metrics determination should be formally defined
•non-size metrics should be system size independent
•metrics should be obtainable early in the life-cycle
Introduction in OOSE
Report
http://www.dcs.fmph.uniba.
sk/~cervenka/oose/OOSEIn
troduction.pdf
•Report covers the software engineering process.
•The problems and the characteristics of OOse
•Merits and demerits of waterfall and iterative lifecycle
•Characteristics of the process followed in OOse
•Phases associated with it
30
Click to edit Master text styles
Cont’d
Quantitative Approaches in
Object-Oriented
Software Engineering
http://ctp.di.fct.unl.pt/QUASAR/Resources/
Papers/2002/2002_ECOOP_QAOOSE.pdf
•Fast&&Serious: A UML Based Metric for Effort
•Functional Size Measurement for Rational Rose
•RealTim
•Combining and Adapting Software Quality
Predictive Models
•Implementing Automatic Quality Verification of
Requirements with XML and XSLT
OBJECT ORIENTED
SOFTWARE ENGINEERING
FOR DESIGNING AN AERIAL
SURVEY LIDAR SIMULATOR
http://home.iitk.ac.in/~blohani/Limulator/pu
blication/Rakesh_Paper_final.pdf
Paper describes the object oriented design methods
used to develop a software system to simulate the
functioning of an aerial survey LiDAR instrument
Object-oriented technology cuts development time
and overhead,
Ontologies and Object
models
in Object Oriented
Software Engineering
http://www.iaeng.org/IJCS/issues_v33/issue
_1/IJCS_33_1_4.pdf
UML,Modeling
31
Click to edit Master text styles
8. 1.Our Own Conclusion.
• OOPS is basically Object Oriented Programming. It is not
only the matter of Data Encapsulation & Data Hiding, it also
involves in Inheritance and Polymorphism. OOPS also makes
a code neat and clean and readable.
• Through inheritance we can achieve reusability. Also
eliminate redundant code. The principle of data hiding helps
to build secure program.
• Since java objects represent real world object, so oops
provide a clear structure of the program which becomes
easy to map real world problem and give solution.
• There are a number of programming languages that use
OOP, and some of these are Java, C++, and Ada. One
concept that you will want to become familiar with is data
modeling. Before you can construct an object oriented
system, you will first need to find the objects within the
system and determine the relationships they have. This
process is called data modeling.
Object oriented programming is a concept that was created because of
the need to overcome the problems that were found with using
structured programming techniques. While structured
programming uses an approach which is top down, OOP uses an
approach which is bottom up. Traditionally, programming has
placed an emphasis on logic and actions.
Object oriented programming has taken a completely different
direction, and will place an emphasis on objects and information.
With object oriented programming, a problem will be broken
down into a number of units. These units are called objects. The
foundation of OOP is the fact that it will place an emphasis on
objects and classes.
Objects will be defined, and they will interact inside the system in
a number of different ways. There are a number of advantages to
be found with using the OOP paradigm, and some of these are
simple maintenance, an advanced analysis of complicated
programs, and re-usability.
32
Click to edit Master text styles
8.2.1.Our Own Recommendations(Part-A)
A)Should companies and businesses invest financial and human resources, deploy and use OOSE?
Answer is Yes because Manual things are out-of date and we need to have automated systems like Chase bank uses JPMorgan’s software
developed through OOPs technologies.
Answer is Yes because even collaboration required software's and tools developed through OOPs,Skype,Join.me,Google Drive
Answer is Yes because data mining, tracking and manipulation has it’s own importance and such systems also developed using OOPs
languages
Answer is Yes because marketing is life of business and creating websites of your local/global business is possible through OOPs based
languages like asp.net, HTML,CSS,Javascripts Etc.
Answer is Yes Because Many analytics and statistical tools are created using OOPs technologies
Answer is Yes because just development of a system or software is not important but to maintain it and keep it running to upgrade it
according to need needs is also important
Answer is Yes Because research in field of science and technology require this OOPs tools,softwares and technologies
Answer is Yes Mobile apps like e-commerce apps amazon.com, ebay.com, alibaba.com, wish.com have their own app versions which are
developed using OOSE as described in initial slides of our report.
Finally our conclusion is :
Ecosystem of the digital world will collapse if we stop using OOSE so,It’s always booming, OOSE cannot be subside at any case  atleast to
sustain business of millions of enterprises
33
Click to edit Master text styles
8.2.2Our Own Recommendations(Part-B)
B)Should we (CS/IS Department) recommend OOSE for active use in CS/IS curricula, for example, as a separate DIS or
Advanced Topics course?
Answer is undoubtedly Yes…
Students in IT are future Engineers, Developers, Architects, Testers Etc. So they must know the basics of the coding.
Most of the languages using now-a-days are based on OOPS concepts
Whether you are Engineers, Developers, Architects, Testers Etc. you must know the tangling points and technical understanding of
your project’s basics which help to choose language,IDE,Platforms Etc. by comparing merits and demerits
If we do not include this in curriculum , in future while pursuing profession in IT industry the person will definitely suffer from
skeptical picture of things going on in his/her company.
OOPS concepts should be crystal clear so that one can have their hands on any OOPs based language and tools
It’s not only demanding it’s a mandatory thing IT people must know
Like Cell is building block of our body and if the cell formation stop in our body we will die. Similaly to test software ,to develop
software, to architect or engineer a software project you must know the basics of that software i.e.Object Oriented concepts to do
good in field of IT.
34
Click to edit Master text styles
Credits
• http://www.codeproject.com/Questions/285934/why-we-use-
object-oriented-programming
• http://www.geekinterview.com/question_details/809
• https://www.google.co.in/?gfe_rd=cr&ei=g8mUVqf_HMH08weB
_76YBA&gws_rd=ssl#q=should+companies+use+oops+concepts
+what+is+its+advantage
• http://www.dcs.fmph.uniba.sk/~cervenka/oose/OOSEIntroduction.
pdf
• https://www.google.co.in/?gfe_rd=cr&ei=g8mUVqf_HMH08weB
_76YBA&gws_rd=ssl#q=microsoft+visio+features
• https://www.google.co.in/?gfe_rd=cr&ei=QL2UVuicMYrK8AfJv
La4Dg&gws_rd=ssl#q=disadvantage+of+object+oriented+progra
mming
• http://www.slideshare.net/komalsingh/object-oriented-softwa-
concepts
• http://www.w3resource.com/java-tutorial/java-object-oriented-
programming.php
• https://www.google.co.in/search?q=inheritance&biw=1600&bih=
764&noj=1&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiq3a
u9zaPKAhULT44KHSadDMoQ_AUIBygB
• https://en.wikipedia.org/wiki/Object-
oriented_software_engineering
• https://www.google.co.in/imgres?imgurl=https://i.ytimg.com/vi/6GZnGLwO
VxM/maxresdefault.jpg&imgrefurl=https://www.youtube.com/watch?v%3D6
GZnGLwOVxM&h=720&w=1280&tbnid=AY65O6VaDU4RoM:&docid=V
BLCK69ZmPmgmM&ei=urOUVtzcLoOnuQSkrISQDg&tbm=isch&ved=0a
hUKEwjcodKb6KPKAhWDU44KHSQWAeIQMwhCKBIwEg
Click to edit Master text styles

Contenu connexe

Tendances

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad OverviewDang Tuan
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
Java quick reference
Java quick referenceJava quick reference
Java quick referenceArthyR3
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Haitham Raik
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLvinay arora
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Md. Mujahid Islam
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 

Tendances (20)

Ooad
OoadOoad
Ooad
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Complexity
ComplexityComplexity
Complexity
 
Java quick reference
Java quick referenceJava quick reference
Java quick reference
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UML
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Chapter1
Chapter1Chapter1
Chapter1
 

En vedette

A project report on libray mgt system
A project report on libray mgt system A project report on libray mgt system
A project report on libray mgt system ashvan710883
 
Library management system
Library management systemLibrary management system
Library management systemSHARDA SHARAN
 
Studentmanagementsystem
StudentmanagementsystemStudentmanagementsystem
Studentmanagementsystem1amitgupta
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Developmentmukhtarhudaya
 
Some Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologySome Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologyManoj Kumar
 
11.project online library management system
11.project online library management system11.project online library management system
11.project online library management systemricharamgarh
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineeringWasim Raza
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentJignesh Patel
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software EngineeringMichelle Azuelo
 
C programming project by navin thapa
C programming project by navin thapaC programming project by navin thapa
C programming project by navin thapaNavinthp
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software EngineeringAli Haider
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Library management system
Library management systemLibrary management system
Library management systemABhay Panchal
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation Smit Patel
 
Report of Student management system
Report of Student management systemReport of Student management system
Report of Student management system1amitgupta
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemAditya Shah
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.docjimmykhan
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 

En vedette (20)

Oo methodology
Oo methodologyOo methodology
Oo methodology
 
A project report on libray mgt system
A project report on libray mgt system A project report on libray mgt system
A project report on libray mgt system
 
Library management system
Library management systemLibrary management system
Library management system
 
Studentmanagementsystem
StudentmanagementsystemStudentmanagementsystem
Studentmanagementsystem
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Development
 
Some Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologySome Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented Methodology
 
11.project online library management system
11.project online library management system11.project online library management system
11.project online library management system
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
C programming project by navin thapa
C programming project by navin thapaC programming project by navin thapa
C programming project by navin thapa
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Library management system
Library management systemLibrary management system
Library management system
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation
 
Report of Student management system
Report of Student management systemReport of Student management system
Report of Student management system
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.doc
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 

Similaire à Cs690 object oriented_software_engineering_team01_ report

Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioRickNZ
 
DOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cDOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cfloraaluoch3
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxRavindranath67
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship ChecklistRyan Polk
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdfPradeepPandey506579
 
Object Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisObject Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisAllana Delgado
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)dipenpatelpatel
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxDrYogeshDeshmukh1
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software EngineeringKourosh Sajjadi
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System AnalysisLaura Torres
 

Similaire à Cs690 object oriented_software_engineering_team01_ report (20)

Uml
UmlUml
Uml
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
DOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cDOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in c
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
Software design
Software designSoftware design
Software design
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship Checklist
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
 
Oop obj c
Oop obj cOop obj c
Oop obj c
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Object Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisObject Oriented Programming in Systems Analysis
Object Oriented Programming in Systems Analysis
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptx
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 

Dernier

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 

Dernier (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 

Cs690 object oriented_software_engineering_team01_ report

  • 1. Object Oriented Software Engineering CS 690 Report-02 1 By Team-01 Khushboo Wadhwani Urvashi Singh Guided By: Dr.Vladimir Uskov
  • 2. Click to edit Master text styles Contents of Report Contents Slide No. Introduction 3-4 Main features/functions/characteristics 5-9 Real World Examples 10-16 SWOT:Advantage 17-18 SWOT:Weaknesses/Potential Problems 19-20 OPTIONAL Part 21-29 References Recommended 30-31 Your Own Recommendations and Conclusion. 32-34 2
  • 3. Click to edit Master text styles Introduction • Object-Oriented Software Engineering (OOSE) is a software design technique that is used in software design in object-oriented programming. • OOSE aims to design software such that it is broken up into manageable chunks called classes • Based on three technologies :Object oriented programming, Conceptual modeling, Block design • The fundamental unit of an object oriented system is the class. • A class is a set of data and the behaviors that operate upon that data. Each behavior is captured in a method, which is a function associated with a class. A class defines a type of object that can exist within the system. • OOSE is the first object-oriented design methodology that employs use cases in software design. 3
  • 4. Click to edit Master text styles Introduction • OOSE is developed by Ivar Jacobson in 1992 at Objectory AB .It also uses other design products similar to those used by Object-modeling technique. • The tool Objectory was created by the team at Objectory AB to implement the OOSE methodology. After success in the marketplace, other tool vendors also supported OOSE. • Documented in 1992 the book name was Object-Oriented Software Engineering: A Use Case Driven Approach • OOSE is one of the precursors of the Unified Modeling Language (UML), such as Booch and OMT. • The OOSE tools have been replaced by tools supporting UML and RUP • Source: https://en.wikipedia.org/wiki/Object-oriented_software_engineering • Interaction diagrams are similar to UML's sequence diagrams. State transition diagrams are like UML statechart diagrams. • It includes a requirements, an analysis, a design, an implementation and a testing model. 4
  • 5. Click to edit Master text styles 2.Main features/functions/characteristics Features Description Consist of Five different models •Requirement model - Aims to capture the functional requirements •Analysis model - Give the system a robust and changeable object structure •Design model -Adopt and refine the object structure to the current implementation environment •Implementation model -Implement the system •Test model - Verify the system Consists of Classes and Objects Class represent the template for several objects and described how these objects are structured internally. Object of the same class have the same definition both for their operation and information structure. 5
  • 6. Click to edit Master text styles Cont’d Messages •The means by which objects exchange information with one another. •A message may consist of identification of the target object, name of the requested operation and other relevant information for processing the request. •For e.g. Consider two classes product and order. The object of the Product class may communicate with the object of Order class by sending the request of placing order. 6
  • 7. Click to edit Master text styles Cont’d Inheritance •Inheritance is the mechanism by which an object acquires the some/all properties of another object. •It supports the concept of hierarchical classification. •Each derived class inherits the attributes of its base class. All classes inherits information from upper classes. •In general low level classes known as subclass and high level class is super class. 7
  • 8. Click to edit Master text styles 8 Cont’d Polymorphism •Polymorphism means to process objects differently based on their data type. •In other words it means, one method with multiple implementation, for a certain class of action. And which implementation to be used is decided at runtime depending upon the situation (i.e., data type of the object) •This can be implemented by designing a generic interface, which provides generic methods for a certain class of action and there can be multiple classes, which provides the implementation of these generic methods.
  • 9. Click to edit Master text styles Cont’d Data Abstraction •Abstraction is the process of recognizing and focusing on important characteristics of a situation or object and leaving/filtering out the un- wanted characteristics of that situation or object •Data Abstraction is to collect essential elements composing to a compound data. 9
  • 10. Click to edit Master text styles 3.Real World Examples # Web site address Name of a company Usage 1 https://login.yaho o.com/ Yahoo(Yahoo Mail) When any user provide the user name and password and click on submit button. It will show Compose, Inbox, Outbox, Sent mails. When user click on compose it will open, but user doesn't know what are the actions performed internally. It just Opens. User doesn't know internal actions. It uses the feature of OOSE(Data Abstraction) in order to show the relevant data. 10
  • 11. Click to edit Master text styles Cont’d # Web site address Name of a company Usage 2 Bluetooth Technology https://www.blueto oth.com/ Samsung, Nokia etc. When we switch on the Bluetooth We are able to connect another mobile but not able to access the other mobile features like dialing a number, accessing inbox etc. This is because, Bluetooth feature is given some level of abstraction. 3 www.samsung.co m Samsung A base mobile features is extended by Samsung. After base features are extended by Samsung. Now Samsung has manufactured its new model with new added features or advanced OS like Android OS, v 6.0 (Marshmallow). This is done by using oops concept(multilevel Inheritance). 11
  • 12. Click to edit Master text styles Cont’d 12 4.Chase https://www.chase.co m Chase A bank consist of 2 accounts checking and saving. These account automatically inherit common features from their base class like balance, account, acc name, deposit, withdraw. (This is called inheritance).This is done by using oops concept. 5.Samsung Mobiles www.samsung.com Samsung You can dial a number using keypad buttons. Even you don't know how these are working internally. You have the only information that is needed to dial a number. But not its internal working of mobile. This is called Abstraction. But how the Mobile Phone internally working?, how keypad buttons are connected with internal circuit? is called Encapsulation. Samsung uses the oops concept for its design.
  • 13. Click to edit Master text styles 3.1.Most Popular Real World Examples 13 1.Mobile Apps developed using OOSE Mobile OS OOSE Tools Used Android Eclipse/Android Studio Apple XCode Windows Visual Studio All Platforms PhoneGap Titanium Xamarine Angular JS
  • 14. Click to edit Master text stylesWebsites Using OOSE Language(JAVA) • Amazon(High Scalability - High Scalability - Amazon Architecture) also uses java in addition to other languages. • Facebook uses HBase (a Java based No-SQL DB) as messaging platform and also uses Java in other areas see - Facebook Engineering: What is Facebook's architecture? • Ebay (EBay Architecture) uses Java • Google uses Java extensively in Google Plus, GTalk (High Scalability - High Scalability - GoogleTalk Architecture) etc Cont’d 14
  • 15. Click to edit Master text stylesWebsites Using OOSE Language(.NET) • Stackoverflow • PlentyOfFish • Myspace • CodeProject.com • pof.com • Samsungelite.com • nhommua.com • dell.com • dcc.godaddy.com • laredoute.fr Cont’d 15
  • 16. Click to edit Master text styles OOSE Softwares are installed everywhere • Banks • Schools • Hospitals • Universities • Stores • Salons • Pharmacies • Sensors • Amusement Parks • And Lots more…. Cont’d 16
  • 17. Click to edit Master text styles 4.SWOT: Advantages and Benefits. # Advantages Brief explanation 1 Simplicity Software objects model real world objects, so the complexity is reduced and the program structure is very clear. 2 Modularity Each object forms a separate entity whose internal workings are decoupled from other parts of the system. 3 Design Benefits Large programs are very difficult to write. Object Oriented Programs force designers to go through an extensive planning phase, which makes for better designs with less flaws. In addition, once a program reaches a certain size, Object Oriented Programs are actually easier to program than non-Object Oriented ones. 4 Re-usability Objects created for Object Oriented Programs can easily be reused in other programs. 17
  • 18. Click to edit Master text styles Cont’d 18 5 Clear modular Structure OOP provides a clear modular structure for programs which makes it good for defining abstract data types where implementation details are hidden and the unit has a clearly defined interface 6 Good framework OOP provides a good framework for code libraries where supplied software components can be easily adapted and modified by the programmer. This is particularly useful for developing graphical user interfaces. 7 Showing necessary modules Implementation details are hidden from other modules and other modules has a clearly defined interface. 8 In OOP, programmer not only defines data types but also deals with operations applied for data structures.
  • 19. Click to edit Master text styles 5.SWOT:Weaknesses/Potential Problems # Disadvantage (weakness) Why? Provide clear justification here. 1 Larger program size Object-oriented programs typically involve more lines of code than procedural programs. 2 Slower programs Object-oriented programs are typically slower than procedure based programs, as they typically require more instructions to be executed 3 Not suitable for all types of problem There are problems that lend themselves well to functional-programming style, logic- programming style, or procedure-based programming style, and applying object-oriented programming in those situations will not result in efficient programs. 4 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. Some of the key programming techniques, such as inheritance and polymorphism, can be challenging to comprehend initially 5 Not yet completely accepted by major vendors Object-oriented Development has gained some market respectability, and vendors have gone from catering to a "lunatic fringe" to a respected market. Still, there are major reservations as to whether Object-oriented development will become a major force, or fade into history, as in the 1980's when Decision Support Systems made great promises, only to fade into obscurity 19
  • 20. Click to edit Master text styles Cont’d # Disadvantage (weakness) Why? Provide clear justification here. 7 Effort Object Oriented programs require a lot of work to create. Specifically, a great deal of planning goes into an object oriented program well before a single piece of code is ever written. Initially, this early effort was felt by many to be a waste of time. In addition, because the programs were larger (see above) coders spent more time actually writing the program. 8 Correct implementation Problems with multithreading, data management, and mutability if not done right 9 overhead Compile time and run time overhead. 20
  • 21. Click to edit Master text styles 6. OPTIONAL(OOSE Tools) # Source tool Exact Web address to download that tool OPTIONAL: Test tool and provide your evaluation of this tool 1 Eclipse https://www.eclipse.org/downloads/ It is one of the best IDE which can be used for application development. It provides support for languages such as Java, C/C++, Python, PERL, Ruby etc. It is very easy to install. User interface is very simple can be learnt in two days via tutorial on http://www.tutorialspoint.com/eclipse/index.htm 2 Netbeans https://netbeans.org/features/platform/downl oad.html Easy to install and comes with many integrated components which otherwise require 3rd party add-ons. Perfect tool for the beginners learning to develop code for big applications. Support languages like Java, C/C++, Ruby, PHP etc. 21
  • 22. Click to edit Master text styles Cont’d 3 Code::Blocks http://codeblocks.org/do wnloads It is a very light-weight application. Easy to install and easy to learn. Support multiple enterprise level features. 4 Aptana Studio http://www.aptana.com/ Great for development of web application. Support for PHP, Ruby on Rails and Python. Easy to install and easy to work on. 5 Microsoft Visual Studio https://www.visualstudio. com/en- us/downloads/download- visual-studio-vs.aspx A rich, integrated development environment for creating stunning applications for Windows, Android, and iOS, as well as modern web applications and cloud services 22
  • 23. Click to edit Master text styles 6.1. OPTIONAL (Why Use Eclipse) 23 • Provides reconciled set of possibilities for most of the platforms • Apart from Java, it supports other languages • Many flexible tools and frameworks for building various types of applications • It has a free and an open source with a full support as well • It is really extendable and configurable • Industrial level of development • Perspectives are another essential. Being able to switch the context from Plug-in Development, JEE, Debugging or a perspective of your own creation really helps to keep things clear. • JUnit integration is another big win - I know it's not exclusive to Eclipse, but it's a nice view and gives good visibility into your testing tasks. • You'll find many plug-ins to help you along at the new Eclipse Marketplace
  • 24. Click to edit Master text styles 6.2. OPTIONAL (Why Use NetBeans) 24 • Powerful built-in Profiler natively supports Ant and Maven- no custom built system that only works in the IDE. •Excellent support for the latest Java EE 6 and 7 features (no need to download plugins which is the case for Eclipse really need JBoss tools for Eclipse) •Excellent integration with GlassFish/JBoss/Tomcat/WebLogic ,Ant debugger. •Excellent support for JavaFX •Code completion with JPA and queries. •NetBeans 7.3 includes new features for editing/debugging HTML5 (checkout the JavaOne videos) •NetBeans platform - rich framework for building desktop Java applications. •NetBeans is written using Swing - no SWT! •Builtin support for version control systems - no wrestling with external plugins. For example, it can be a nightmare to get SVN configured correctly on 64 bit systems. •Clean intuitive UI (note IntelliJ also has a clean and intuitive UI in my opinion)
  • 25. Click to edit Master text styles 6.3. OPTIONAL (Why MS Visual Studio) 25 Code development for Windows 10-- which includes mobile, desktop, Xbox and other supported platforms -- is done in Visual Studio. Within the Visual Studio IDE, there are five versions: Visual Studio Community, Visual Studio Professional, Visual Studio Enterprise, Visual Studio Test Professional and MSDN Platforms. •Visual Studio C++ for Cross-Platform Development •Visual Studio Tools for Apache Cordova •Visual Studio Emulator for Android •Visual Studio Tools for Universal Windows App Development •Visual C++ •C# and Visual Basic •F# •.NET Framework 4.6 •Entity Framework •Visual Studio IDE •Blend •Debugging and Diagnostics •ASP.NET •Azure •NuGet •JavaScript •TypeScript •IntelliTest •Application Insights •Release Management •Single Sign-In
  • 26. Click to edit Master text styles 6.4. OPTIONAL (Aptana Studio) 26 HTML5 Savvy Intellisense •Aptana Studio is an open source integrated development environment (IDE) for building web applications. Based on Eclipse, it supports JavaScript, HTML, DOM and CSS with code-completion, outlining, JavaScript debugging, error and warning notifications and integrated documentation. Additional plugins allow Aptana Studio to support Ruby on Rails, PHP, Python, Perl, Adobe AIR, Apple iPhone and Nokia WRT (Web Runtime). Aptana Studio is available as a standalone on Windows, Mac OS X and Linux, or as a plugin for Eclipse. •Language & platform support •Git Integration,Built-in Terminal •Cloud-connected mobile opportunity expands to 1.5M developers worldwide. •IDE Customization •Integrated Debugger(Integrated Ruby On Rails Debugger) •Code Tracking •it is equally adept at working with PHP, Ruby, Rails, .Net, Titanium, PyDev (Python, Jython, Iron Python). •It is as a standalone application or plug-in for Eclipse 3.5+. •Aptana Studio comes with the following JavaScript libraries, but more can be added or updated if desired. oAdobe Spry oExt JS oAflax oRico oPrototype oMochikit oYUI Library oMootools ojQuery oScript.aculo.us
  • 27. Click to edit Master text styles 6.4. OPTIONAL (Code::Blocks) 27 Open Source! GPLv3, no hidden costs. •Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets). •Written in C++. No interpreted languages or proprietary libs needed. •Extensible through plugins •Compiler: •Multiple compiler support:GCC (MingW / GNU GCC,MSVC++,Digital Mars, Borland C++ 5.5) •Very fast custom build system (no makefiles needed) •Support for parallel builds (utilizing your CPU's extra cores) •Multi-target projects •Workspaces to combine multiple projects •Inter-project dependencies inside workspace •Imports MSVC projects and workspaces (NOTE: assembly code not supported yet) •Imports Dev-C++ projects •Interface: •Syntax highlighting, customizable and extensible •Code folding for C, C++, Fortran, XML and many more files. •Tabbed interface •Code completion •Class Browser •Smart indent •One-key swap between .h and .c/.cpp files
  • 28. Click to edit Master text styles 6.5. OPTIONAL(Comparisons Eclipse and NetBeans for JAVA) NetBeans Eclipse UI Toolkit Standard Swing toolkit SWT UI Design Free, award winning, Matisse GUI Builder Commercial alternatives Module System Standard OSGi module systemor NetBeans- specific module system Standard OSGi module system Build System Out of the box, Maven or Ant Proprietary 28
  • 29. Click to edit Master text styles 6.6. OPTIONAL(Languages Supported) 29 # Source tool /IDE Languages Supported 1 Eclipse Java 2 NetBeans Java 3 Code::Blocks C, C++, Fortran, XML 4 Aptana Studio PHP, Ruby, Rails, .Net, Titanium, PyDev (Python, Jython, Iron Python 5 Microsoft Visual Studio Visual C++ C# and Visual Basic F#
  • 30. Click to edit Master text styles 7. References Recommended Topic of articles, papers or reports Exact Web address to download that article Topics covered Object-Oriented Software Engineering: Measuring and Controlling the Development Process http://ctp.di.fct.unl.pt/~mgo ul/papers/Metrics/4ICSQ.p df •Paper emphasis on reuse of OOSE paradigm that, together, are believed to be responsible for the increase in software quality and development productivity •Paper aims at development of metrics for OO designs that will eventually help training new OO software practitioners by setting design standards •metrics determination should be formally defined •non-size metrics should be system size independent •metrics should be obtainable early in the life-cycle Introduction in OOSE Report http://www.dcs.fmph.uniba. sk/~cervenka/oose/OOSEIn troduction.pdf •Report covers the software engineering process. •The problems and the characteristics of OOse •Merits and demerits of waterfall and iterative lifecycle •Characteristics of the process followed in OOse •Phases associated with it 30
  • 31. Click to edit Master text styles Cont’d Quantitative Approaches in Object-Oriented Software Engineering http://ctp.di.fct.unl.pt/QUASAR/Resources/ Papers/2002/2002_ECOOP_QAOOSE.pdf •Fast&&Serious: A UML Based Metric for Effort •Functional Size Measurement for Rational Rose •RealTim •Combining and Adapting Software Quality Predictive Models •Implementing Automatic Quality Verification of Requirements with XML and XSLT OBJECT ORIENTED SOFTWARE ENGINEERING FOR DESIGNING AN AERIAL SURVEY LIDAR SIMULATOR http://home.iitk.ac.in/~blohani/Limulator/pu blication/Rakesh_Paper_final.pdf Paper describes the object oriented design methods used to develop a software system to simulate the functioning of an aerial survey LiDAR instrument Object-oriented technology cuts development time and overhead, Ontologies and Object models in Object Oriented Software Engineering http://www.iaeng.org/IJCS/issues_v33/issue _1/IJCS_33_1_4.pdf UML,Modeling 31
  • 32. Click to edit Master text styles 8. 1.Our Own Conclusion. • OOPS is basically Object Oriented Programming. It is not only the matter of Data Encapsulation & Data Hiding, it also involves in Inheritance and Polymorphism. OOPS also makes a code neat and clean and readable. • Through inheritance we can achieve reusability. Also eliminate redundant code. The principle of data hiding helps to build secure program. • Since java objects represent real world object, so oops provide a clear structure of the program which becomes easy to map real world problem and give solution. • There are a number of programming languages that use OOP, and some of these are Java, C++, and Ada. One concept that you will want to become familiar with is data modeling. Before you can construct an object oriented system, you will first need to find the objects within the system and determine the relationships they have. This process is called data modeling. Object oriented programming is a concept that was created because of the need to overcome the problems that were found with using structured programming techniques. While structured programming uses an approach which is top down, OOP uses an approach which is bottom up. Traditionally, programming has placed an emphasis on logic and actions. Object oriented programming has taken a completely different direction, and will place an emphasis on objects and information. With object oriented programming, a problem will be broken down into a number of units. These units are called objects. The foundation of OOP is the fact that it will place an emphasis on objects and classes. Objects will be defined, and they will interact inside the system in a number of different ways. There are a number of advantages to be found with using the OOP paradigm, and some of these are simple maintenance, an advanced analysis of complicated programs, and re-usability. 32
  • 33. Click to edit Master text styles 8.2.1.Our Own Recommendations(Part-A) A)Should companies and businesses invest financial and human resources, deploy and use OOSE? Answer is Yes because Manual things are out-of date and we need to have automated systems like Chase bank uses JPMorgan’s software developed through OOPs technologies. Answer is Yes because even collaboration required software's and tools developed through OOPs,Skype,Join.me,Google Drive Answer is Yes because data mining, tracking and manipulation has it’s own importance and such systems also developed using OOPs languages Answer is Yes because marketing is life of business and creating websites of your local/global business is possible through OOPs based languages like asp.net, HTML,CSS,Javascripts Etc. Answer is Yes Because Many analytics and statistical tools are created using OOPs technologies Answer is Yes because just development of a system or software is not important but to maintain it and keep it running to upgrade it according to need needs is also important Answer is Yes Because research in field of science and technology require this OOPs tools,softwares and technologies Answer is Yes Mobile apps like e-commerce apps amazon.com, ebay.com, alibaba.com, wish.com have their own app versions which are developed using OOSE as described in initial slides of our report. Finally our conclusion is : Ecosystem of the digital world will collapse if we stop using OOSE so,It’s always booming, OOSE cannot be subside at any case  atleast to sustain business of millions of enterprises 33
  • 34. Click to edit Master text styles 8.2.2Our Own Recommendations(Part-B) B)Should we (CS/IS Department) recommend OOSE for active use in CS/IS curricula, for example, as a separate DIS or Advanced Topics course? Answer is undoubtedly Yes… Students in IT are future Engineers, Developers, Architects, Testers Etc. So they must know the basics of the coding. Most of the languages using now-a-days are based on OOPS concepts Whether you are Engineers, Developers, Architects, Testers Etc. you must know the tangling points and technical understanding of your project’s basics which help to choose language,IDE,Platforms Etc. by comparing merits and demerits If we do not include this in curriculum , in future while pursuing profession in IT industry the person will definitely suffer from skeptical picture of things going on in his/her company. OOPS concepts should be crystal clear so that one can have their hands on any OOPs based language and tools It’s not only demanding it’s a mandatory thing IT people must know Like Cell is building block of our body and if the cell formation stop in our body we will die. Similaly to test software ,to develop software, to architect or engineer a software project you must know the basics of that software i.e.Object Oriented concepts to do good in field of IT. 34
  • 35. Click to edit Master text styles Credits • http://www.codeproject.com/Questions/285934/why-we-use- object-oriented-programming • http://www.geekinterview.com/question_details/809 • https://www.google.co.in/?gfe_rd=cr&ei=g8mUVqf_HMH08weB _76YBA&gws_rd=ssl#q=should+companies+use+oops+concepts +what+is+its+advantage • http://www.dcs.fmph.uniba.sk/~cervenka/oose/OOSEIntroduction. pdf • https://www.google.co.in/?gfe_rd=cr&ei=g8mUVqf_HMH08weB _76YBA&gws_rd=ssl#q=microsoft+visio+features • https://www.google.co.in/?gfe_rd=cr&ei=QL2UVuicMYrK8AfJv La4Dg&gws_rd=ssl#q=disadvantage+of+object+oriented+progra mming • http://www.slideshare.net/komalsingh/object-oriented-softwa- concepts • http://www.w3resource.com/java-tutorial/java-object-oriented- programming.php • https://www.google.co.in/search?q=inheritance&biw=1600&bih= 764&noj=1&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiq3a u9zaPKAhULT44KHSadDMoQ_AUIBygB • https://en.wikipedia.org/wiki/Object- oriented_software_engineering • https://www.google.co.in/imgres?imgurl=https://i.ytimg.com/vi/6GZnGLwO VxM/maxresdefault.jpg&imgrefurl=https://www.youtube.com/watch?v%3D6 GZnGLwOVxM&h=720&w=1280&tbnid=AY65O6VaDU4RoM:&docid=V BLCK69ZmPmgmM&ei=urOUVtzcLoOnuQSkrISQDg&tbm=isch&ved=0a hUKEwjcodKb6KPKAhWDU44KHSQWAeIQMwhCKBIwEg
  • 36. Click to edit Master text styles