Objectives State the reasons for the complexity involved in the development of software Define the following terms Objects Classes Messages Methods Explain.

Slides:



Advertisements
Similar presentations
Objectives You should be able to describe: Introduction to Programming
Advertisements

Introduction To System Analysis and Design
Introduction to System Analysis and Design
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
INTRODUCTION TO JAVA PROGRAMMING Chapter 1. What is Computer Programming?
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
The chapter will address the following questions:
Introduction To System Analysis and design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BCS 2143 Introduction to Object Oriented and Software Development.
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Systems Analysis and Design in a Changing World, 3rd Edition
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Learners Support Publications Object Oriented Programming.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
Chapter -1 CONCEPT OF OBJECT ORIENTED PROGRAMMING It’s Need & Requirement :- There are many programming languages before Object Oriented Programming language.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution of UML *Architecture of UML *User View 3 Actor 3 Use.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
MANAGEMENT INFORMATION SYSTEM
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Design Concepts ch-8
Principles of Programming & Software Engineering
Chapter 15 Finalizing Design Specifications
Chapter 15 Finalizing Design Specifications
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Algorithms and Problem Solving
Programming paradigms
Object Oriented Programming
ATM OO Design and Implementation Case Study
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Triggers
Objectives Identify the built-in data types in C++
About the Presentations
Introduction to System Analysis and Design
System Modeling Chapter 4
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
C++.
Lecture 1 Introduction.
Tools of Software Development
Unit# 9: Computer Program Development
Chapter 15 Finalizing Design Specifications
CIS16 Application Development Programming with Visual Basic
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
KNOWLEDGE REPRESENTATION
Software Design Lecture : 15.
Algorithms and Problem Solving
Introduction to Object-Oriented Programming
What Is Good Software(Program)?
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 4 System Modeling.
Presentation transcript:

Objectives State the reasons for the complexity involved in the development of software Define the following terms Objects Classes Messages Methods Explain benefits of the object-oriented approach

Objectives (Contd.) State the significance of the activities involved in object-oriented analysis and design Create classes in C++

Complexity of the Software System Internal Complexity Arises from the composition of a system itself External Complexity Arises from the fact that users themselves have only a vague idea of how their system works and have difficulty in expressing their requirements

Reasons for the Complexity Involved in the Development of Software Difficulty in managing the software development process How to represent real-life entities of problems in System Design. How to ensure reusability and extensibility of modules. How to improve software productivity and decrease software Cost . How to manage time schedules ? Lack of standards for developing software Difficulty in predicting software behavior

Simplifying Complexity To build today’s complex software it is just not enough to put together a sequence of programming statements and sets of procedures and modules. We need to incorporate sound construction techniques and program structures that are easy to comprehend ,implement and modify. Is done by breaking the system into its component parts and arranging them in a hierarchy

Just a Minute… Jane has called a technician to repair her television. How would the technician deal with the complexity of the television?

Object Is an instance of a class that exhibits some well-defined behavior Are the basic run-time entities in an object-oriented system. May represent a person,a place ,a bank account or any item that the program can handle. The\y interact by sending messages to one another

Characteristics of Objects State Is indicated by a set of attributes and the values of these attributes Behavior Is indicated by how an object acts and reacts Identity Distinguishes the object from all other objects

Classes The entire set of data and code of an Object can be made a user-defined data type with the help of a Class. Define the attributes and behaviors of an object Example:

Messages and Methods Messages: Are transmitted by one object to another Are transmitted as requests for an action to be taken Are accompanied by additional information needed to carry out the request

Messages and Methods (Contd.) Are a set of actions taken by the receiver object in response to the request

Benefits of the Object-Oriented Approach Realistic modeling Easy to use Emphasis is on data rather than procedure. Programs are divided into Objects Reusability Saves time and cost New data and function can be easily aded whenever necessary.

Benefits of Object-Oriented Approach (Contd.) Resilience to change Easy to maintain Parts of the system can be refined without any major change in other parts

Object-Oriented Analysis (OOA) Is a phase where users and developers get together and arrive at a common understanding of the system Requires the developer to concentrate on obtaining maximum possible information about the problem domain Results in one of the end products as specification of the function of the system

Object-Oriented Design (OOD) Generates the blueprint of the system that has to be implemented Involves identifying classes using desired technique.

Object-Oriented Programming (OOP) Is a way of writing programs Some applications built using OOP techniques are: Computer-Aided Design (CAD) Computer-Aided Manufacturing (CAM) Artificial Intelligence (AI) and Expert Systems Object-Oriented Databases

Just a Minute… As a member of a team that is developing the billing system software for Diaz Telecommunications Inc., you have been assigned the task of creating a software module that accepts and displays customer details. Identify the class that you will create and the methods of the class.

Generations of Computer Languages First generation 1940s. Second generation 1950s. Third generation 1967.

Evolution of C++ as an Object Oriented Programming Language In the early 1980s, Bjarne Stroustrup developed the C++ language. C++ was originally known as 'C with classes'

Creating Classes in C++ Sample: class Car { public: void honk() cout<<"BEEP BEEP!"; } };

Creating Classes in C++ (Contd.) The class keyword Is used to declare a class Example: class Car { ... };

Creating Classes in C++ (Contd.) Conventions for naming classes Should be meaningful Should ideally be a noun First letter of every word should be in upper case Rules for naming classes Must not contain any embedded space or symbol Must begin with a letter, which may be followed by a sequence of letters or digits Cannot be a keyword

Creating Classes in C++ (Contd.) Member functions Are means of passing messages and responding to them Are declared inside the class body Example: class Car { void honk() cout<<"BEEP BEEP!"; } };

Creating Classes in C++ (Contd.) The cout object Is an instance of the pre-defined class, ostream The endl manipulator Is a command that takes the cursor to the new line

Problem As a member of a team that is developing the billing system software for Diaz Telecommunications Inc., you have been assigned the task of creating a software module that accepts and displays customer details. Declare the Customer class and the member functions. The member function to accept customer details should display the message “Accepting Customer Details”. Similarly, the member function to display customer details on the screen should display the message “Displaying Customer Details.”

Problem Statement Solution: class Customer { void accept() cout << “Accepting Customer Details” << endl; } void display() cout << “Displaying Customer Details” << endl; };

Problem Statement As a member of a team that is developing an automated booking system for the Railways, you have been assigned the task of creating a module that accepts the details of a passenger and checks whether the ticket has been confirmed or is in the waiting list. The module then prints the list of confirmed passengers. Declare a class Ticket, which consists of three member functions, booking(), status(), and print().

Summary Complexity of software arises mainly due to four reasons: Difficulty in understanding the intricacies and complexity of the system and its needs Communication problems during development Lack of standards for developing software Difficulty in predicting software behavior One way of dealing with the complexity of software is to break down an application into its components and deal with each component separately

Summary (Contd.) The object-oriented approach views the systems as consisting of component objects and looks at the interactions between them An object is an entity that may have a physical boundary and is also characterized by the following: State Behavior Identity A class consists of a set of objects that share a common structure and behavior If one object desires an action from another object, it sends a message to the second object

Summary (Contd.) The object that receives the message is called the receiver; the set of actions taken by the receiver constitutes the method The benefits of the object-oriented approach are: Realistic modelling, hence it is easier to use Reusability of code, hence it saves time and cost Resilience to change, hence systems are easier to maintain In the stages of analysis and design, a model of the system is built

Summary (Contd.) The purpose of the model built during analysis and design is to help developers understand the reality that they are trying to imitate Bjarne Stroustrup developed the C++ language in the early 1980s The cout object is an instance of the class, ostream The class ostream is associated with the standard output device (screen) The output operator '<<' is used to direct a value to the standard output device