You are on page 1of 21

PRESENTATION ON

POLYMORPHISM
SOFTWARE DEVELOPMENT LIFE CYCLE

DATE : 10.02.2021
PLACE : YAGAPPA MATRICULATION HIGHER  PREPARED BY,
SECONDARY SCHOOL, THANJAVUR. Mr. M. George Fernandez, MTech., MBA., .,
POLYMORPHISM
POLYMORPHISM

1. Poly means many,


2. Hence, The word polymorphism means having
many forms

Run-Time Compile Time


Polymorphism Polymorphism
UNDERSTANDING POLYMORPHISM

1. The Man will act as Father in Home


2. As a Customer in Mall
3. A Employee in Office
4. Passenger in Bus etc.,
TYPES OF
POLYMORPHISM
Polymorphis
m

Compile Time Run Time

Function Operator Function


Overloading Overloading Overriding
COMPILE TIME POLYMORPHISM

Function Overloading Operator Overloading


1. When there are multiple functions with same 1. C++ also provide option to overload operators.
name but different parameters then these
For example, we can make the operator (‘+’) for
functions are said to be overloaded.
string class to concatenate two strings.
2. Functions can be overloaded by change in
2. So a single operator ‘+’
a) number of arguments or/and 
a) when placed between integer operands ,
b) change in type of arguments. adds them and
b) when placed between string operands,
concatenates them.
FUNCTION OVERLOADING
class Geeks int main() {
{       
    public:            Geeks obj1;
    // function with 1 int parameter       
    void func(int x)     // Which function is called will depend on
    { the parameters passed
        cout << "value of x is " << x << endl;     // The first 'func' is called 
    }     obj1.func(7);
    // function with same name but 1 double parameter       
    void func(double x)     // The second 'func' is called
    {     obj1.func(9.132);
        cout << "value of x is " << x << endl;       
    }     // The third 'func' is called
    // function with same name and 2 int parameters     obj1.func(85,64);
    void func(int x, int y)     return 0;
    { } 
        cout << "value of x and y is " << x << ", " << y <<
endl;
    } Output:
}; value of x is 7
value of x is 9.132
value of x and y is 85, 64
OPERATOR OVERLOADING

class Complex { int main()


private: {
    int real, imag;     Complex c1(10, 5), c2(2, 4);
public:     Complex c3 = c1 + c2; // An
    Complex(int r = 0, int i =0)  { example call to "operator+"
real = r;   imag = i;     c3.print();
}     }
    // This is automatically called when '+' is
//used with between two Complex objects
    Complex operator + (Complex const &obj) {
         Complex res; Output:
         res.real = real + obj.real; 12 + 9i
         res.imag = imag + obj.imag;
         return res;
    }
    void print() {
cout << real << " + i" << imag << endl;
}
};
   
RUNTIME POLYMORPHISM
This type of polymorphism is achieved by Function Overriding.

Function Overriding
1. when a derived class has a definition for one of the member
functions of the base class. That base function is said to
be overridden.
Example.
Animal class have Function Sound - Dog, Cat, Cow Class can
override those methods to Generate their own sound.
FUNCTION OVERRIDING

class base int main() 


{ {
public:     base *bptr;
    virtual void print ()     derived d;
    { cout<< "print base class" <<endl; }     bptr = &d;
           
    void show ()     //virtual function, binded at runtime (Runtime
    { cout<< "show base class" <<endl; } polymorphism)
};     bptr->print(); 
           
class derived:public base     // Non-virtual function, binded at compile time
{     bptr->show(); 
public:   
    void print ()     return 0;
//print () is already virtual function in } 
derived class, we could also declared as
virtual void print () explicitly
    { cout<< "print derived class" <<endl; }
   
    void show () Output:
    { cout<< "show derived class" <<endl; } print derived class
}; show base class
SOFTWARE DEVELOPMENT LIFECYCLE
(SDLC)
GENERIC PROCESS MODEL

• SDLC has defined its phases as,


1. Requirement gathering,
2. Designing,
3. Coding,
4. Testing,
5. Deployment and
6. Maintenance.
1. REQUIREMENT GATHERING AND ANALYSIS

1. During this phase,


a) all the relevant information is collected from the customer to
develop a product as per their expectation.
b) Any ambiguities must be resolved in this phase only.

2. Business analyst and Project Manager set up a meeting with the


customer to gather all the information like
a) what the customer wants to build,
b) who will be the end-user,
c) what is the purpose of the product.
2. DESIGNING

1. The requirement gathered in the SRS document


is used as an input and software architecture
that is used for implementing system is derived.

2. Various Models used to Create Design.


a) Use case Model
b) Data Flow Model
c) Behavioral Model

3. Design includes.
a) Architectural Design
b) Data Design
3. CODING

1. Implementation/Coding starts once the developer gets the


Design document.

2. The Software design is translated into source code. All the


components of the software are implemented in this phase.

3. For Coding,
a) PUBG Uses C++
b) Apple Uses Objective C.
c) WhatsApp Uses Erlang.
4. TESTING

1. Once the coding is complete and the modules are released


for testing.

2. In this phase, the developed software is tested thoroughly


and any defects found are assigned to developers to get
them fixed.

3. Retesting, regression testing is done until the point at


which the software is as per the customer’s expectation.

4. Testers refer SRS document to make sure that the software is


as per the customer’s standard.

Example Testing Tools:


a) Selenium
b) Ranorex
5. DEPLOYMENT

1. Once the product is tested, it is deployed in the


production environment or first 
UAT (User Acceptance testing) is done depending on
the customer expectation.

2. In the case of UAT, a replica of the production


environment is created and the customer along with
the developers does the testing.

3. If the customer finds the application as expected,


then sign off is provided by the customer to go live.
6. MAINTENANCE
1. After the deployment of a product on the production
environment, maintenance of the product

I.e. if any issue comes up and needs to be fixed or any


enhancement is to be done is taken care by the developers.

2. Your Mobiles are getting Security Updates – It represents


that you mobile manufacturer is working on Maintenance
Stage.
SOFTWARE DEVELOPMENT LIFE
CYCLE
Maintainenance
Maintainenance

Planning
Planning
Modeling
Modeling

Communication

Construction
Construction

Deployment
Deployment
ANY QUERIES
THANK YOU!

You might also like