Lecture 2 and 3 Software development Methodologies
Lecture 2 and 3 Software development Methodologies
Lecture 2 and 3 Software development Methodologies
1
3/31/2020
2
3/31/2020
must then decide whether the costs involved in resolving the problem are Investigate current processing/data
3
3/31/2020
4
3/31/2020
5
3/31/2020
6
3/31/2020
7
3/31/2020
8
3/31/2020
9
3/31/2020
10
3/31/2020
11
3/31/2020
12
3/31/2020
13
3/31/2020
14
3/31/2020
15
3/31/2020
Encapsulation Inheritance
o We may organize our knowledge
in terms of hierarchy of
categories.
o All classes inherit information
from the upper classes.
o Each derived class inherits the
attributes of its base class and
this process is known as
inheritance. In general, low level
classes (known as subclasses
or derived classes) inherit state
and behaviour from their high
level class (known as a super
class or base class).
16
3/31/2020
Member
memberID : Long
photograph : Variant
name :string Inheritance
fname : String
DOB : Date
phone : Long class Member
email : String {
private:
memberdate : Date
long int memberID;
validupto : Date
char photograph [300];
char name[50];
addmember()
char fname [50];
deletemember() Date DOB;
updatemember() long int phone;
viewmember() char email [60];
Date memberdate;
Date validupto;
public:
student employee addmember();
faculty
deletemember();
rollno facultyID employeeID
updatemember();
school school branch viewmember();
programme };
17
3/31/2020
Inheritance Method
class employee : public Member //publicly derived o A „method‟ is the sequence of steps (or set of operations) to be
class
{ performed to fulfill the assigned task.
long int employeeID;
char branch[60]; o For example, four methods „addMember‟, „deleteMember‟,
}; „updateMember‟, and „viewMember‟ are implemented in Member class.
class faculty : public Member //public inheritance o There may be many methods available for any task. It is the
{ responsibility of receiver of the message to choose an appropriate
long int facultyID;
char school[100];
method to complete task effectively & efficiently.
};
18
3/31/2020
Polymorphism Polymorphism
The dictionary meaning of polymorphism is
“many forms”.
In the real world, the same operations may
have different meanings in different
situations.
Same message is sent to different objects
irrespective of their class, but the
responses of objects may be different.
19
3/31/2020
20
3/31/2020
21
3/31/2020
22
3/31/2020
Object Oriented
Object Oriented Methodologies Methodologies
Coad and Yourdon Methodology Coad and Yourdon Methodology
Identification of classes and objects involves Each structure is classified into a subject.
investigating the application domain and the system‟s Attributes are the data members of the class.
environment. The attributes for each object are defined and kept at the
The behavior of each objects are found and this information is appropriate level in the inheritance hierarchy.
documented. Identification of structures involve identification of is-
a and whole-part relationships. Defining services involve identification of operations
in a class. This also involves identification of
The is-a relationship captures class inheritance (known
interfaces amongst the objects through messages.
as Gen-Spec structure) and whole-part relationship
captures the information that how an object is part of
another object.
23
3/31/2020
Maintenance of Evolution in
delivered the form of
functionality refinements
24
3/31/2020
25
3/31/2020
26
3/31/2020
Object Oriented
Methodologies Object Oriented Methodologies
Rumbaugh Methodology Rum Baugh Methodology
Analysis phase: Analysis phase is composed of three System design phase: In this phase high level design is
submodels given below: developed taking the implementation environment including
DBMS and communication protocols into account.
Object model: It captures the static aspect of the system.
Dynamic model: It captures the behavioral aspects of the Object design phase: The goal of this phase is to define the
object models and describes state of the objects. objects in details. The algorithms and operations of the
Functional model: It represents the functional aspects of the
objects are defined in this phase. New objects may be
system in terms of operations defined in the classes. identified to represent the intermediate functionality.
Implementation phase: Finally the objects are implemented
following coding standards and guidelines.
27
3/31/2020
28
3/31/2020
29
3/31/2020
Comparison
Summary
S. No Traditional approach Object oriented approach
Object oriented software engineering
1 The system is viewed as collection of The system is viewed as collection of
processes. objects.
is an upcoming area of research,
practice and industrial applications.
2 Data flow diagrams, ER diagrams, UML models including use case diagram,
data dictionary and structured charts class diagram, sequence diagrams, All companies are making these
are used to describe the system. component diagrams etc are used to processes compliant to object oriented
describe the system. paradigm.
3 Reusable source code may not be The aim is to produce reusable source Developers are focusing these
produced. code. learning processes on object oriented
4 Data flow diagrams depicts the Classes are used to describe attributes and concepts and programming language
processes and attributes functions that operate on these attributes. like C++, Java etc.
5 It follows top-down approach for It follows bottom-up approach for Customers are also changing their
modeling the system. modeling the system. mind sets towards object oriented
6 Non iterative Highly iterative software products.
30