cs690 object oriented_software_engineering_team01_ report

36
Click to edit Master text styles Object Oriented Software Engineering CS 690 Report-02 1 By Team-01 Khushboo Wadhwani Urvashi Singh Guided By: Dr.Vladimir Uskov

Upload: khushboo-wadhwani

Post on 21-Jan-2017

393 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Cs690 object oriented_software_engineering_team01_ report

Object Oriented Software Engineering

CS 690Report-02

1

By Team-01Khushboo WadhwaniUrvashi Singh

Guided By:Dr.Vladimir Uskov

Page 2: Cs690 object oriented_software_engineering_team01_ report

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

Page 3: Cs690 object oriented_software_engineering_team01_ report

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

Page 4: Cs690 object oriented_software_engineering_team01_ report

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

Page 5: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

2.Main features/functions/characteristicsFeatures DescriptionConsist 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

Page 6: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Cont’dMessages •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

Page 7: Cs690 object oriented_software_engineering_team01_ report

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

Page 8: Cs690 object oriented_software_engineering_team01_ report

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.

Page 9: Cs690 object oriented_software_engineering_team01_ report

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

Page 10: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

3.Real World Examples

# Web site address Name of a company Usage1 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

Page 11: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Cont’d# Web site address Name of a company Usage

2 Bluetooth Technologyhttps://www.bluetooth.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.com

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

Page 12: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Cont’d

12

4.Chasehttps://www.chase.com

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 Mobileswww.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.

Page 13: Cs690 object oriented_software_engineering_team01_ report

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

Page 14: Cs690 object oriented_software_engineering_team01_ report

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

Page 15: Cs690 object oriented_software_engineering_team01_ report

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

Page 16: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text stylesOOSE Softwares are installed everywhere• Banks

• Schools

• Hospitals

• Universities

• Stores

• Salons

• Pharmacies

• Sensors

• Amusement Parks

• And Lots more….

Cont’d

16

Page 17: Cs690 object oriented_software_engineering_team01_ report

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

Page 18: Cs690 object oriented_software_engineering_team01_ report

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.

Page 19: Cs690 object oriented_software_engineering_team01_ report

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

Page 20: Cs690 object oriented_software_engineering_team01_ report

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

Page 21: Cs690 object oriented_software_engineering_team01_ report

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 tool1 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/download.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

Page 22: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Cont’d

3 Code::Blocks http://codeblocks.org/downloads

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

Page 23: Cs690 object oriented_software_engineering_team01_ report

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

Page 24: Cs690 object oriented_software_engineering_team01_ report

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) 

Page 25: Cs690 object oriented_software_engineering_team01_ report

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

Page 26: Cs690 object oriented_software_engineering_team01_ report

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.

o Adobe Spryo Ext JSo Aflaxo Ricoo Prototypeo Mochikito YUI Libraryo Mootoolso jQueryo Script.aculo.us

Page 27: Cs690 object oriented_software_engineering_team01_ report

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

Page 28: Cs690 object oriented_software_engineering_team01_ report

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 SystemStandard OSGi module systemor NetBeans-specific module system

Standard OSGi module system

Build System Out of the box, Maven or Ant Proprietary

28

Page 29: Cs690 object oriented_software_engineering_team01_ report

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 BasicF#

Page 30: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

7. References RecommendedTopic 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/~mgoul/papers/Metrics/4ICSQ.pdf

•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 OOSEReport

http://www.dcs.fmph.uniba.sk/~cervenka/oose/OOSEIntroduction.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

Page 31: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Cont’dQuantitative Approaches in Object-OrientedSoftware 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/publication/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 instrumentObject-oriented technology cuts development time and overhead,

Ontologies and Object modelsin Object Oriented Software Engineering

http://www.iaeng.org/IJCS/issues_v33/issue_1/IJCS_33_1_4.pdf

UML,Modeling

31

Page 32: Cs690 object oriented_software_engineering_team01_ report

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

Page 33: Cs690 object oriented_software_engineering_team01_ report

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 languagesAnswer 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 technologiesAnswer 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

Page 34: Cs690 object oriented_software_engineering_team01_ report

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 demeritsIf 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 toolsIt’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

Page 35: Cs690 object oriented_software_engineering_team01_ report

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=QL2UVuicMYrK8AfJvLa4Dg&gws_rd=ssl#q=disadvantage+of+object+oriented+programming

• 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=0ahUKEwiq3au9zaPKAhULT44KHSadDMoQ_AUIBygB

• https://en.wikipedia.org/wiki/Object-oriented_software_engineering

• https://www.google.co.in/imgres?imgurl=https://i.ytimg.com/vi/6GZnGLwOVxM/maxresdefault.jpg&imgrefurl=https://www.youtube.com/watch?v%3D6GZnGLwOVxM&h=720&w=1280&tbnid=AY65O6VaDU4RoM:&docid=VBLCK69ZmPmgmM&ei=urOUVtzcLoOnuQSkrISQDg&tbm=isch&ved=0ahUKEwjcodKb6KPKAhWDU44KHSQWAeIQMwhCKBIwEg

Page 36: Cs690 object oriented_software_engineering_team01_ report

Click to edit Master text styles

Thank You