Course No.
& Title : SEWP ZG512  Object Oriented Analysis and Design   
Instructor         : Prof. Santosh Chobe 
Contact details        :
[email protected]    DISTANCE LEARNING PROGRAMMES DIVISION    
BIRLA INSTITUE OF TECHNOLOGY& SCIENCE, PILANI    
MS in Software Engineering    
2 
PROCEDURAL PROGRAMMING 
 Concentrates more on actions and logic 
 No data hiding 
 Reusability is difficult 
3 
OBJECT-ORIENTED PROGRAMMING    
Object-oriented programming (OOP) is a programming language  
model organized around "objects" rather than "actions" and data  
rather than logic. 
4 
DATA 
METHOD  METHOD 
METHOD  METHOD 
Object = data + method 
OBJECT 
Data 
Methods 
Bicycle as an Object 
5 
A class is the blueprint from which individual objects are created.  
CLASS 
A class defines the characteristics of a thing (object), including its 
attributes or properties and the thing's behaviors (the things it can do, 
or methods, operations). 
The properties and methods defined by a class are called members. 
6 
CLASS 
7 
 Things that the object stores data in, generally variables. 
 These store information about the object.  
 In the example above we store the fuel and maxSpeed.  
 The attributes are attached to the classes, and if there are 
several  instances  (objects)  of  the  classes  then  each  will 
store its own version of these variables.  
ATTRIBUTES 
8 
 Functions  and  Procedures  are  attached  to  an  Object  and 
allow the object to perform actions. 
 Unlike  structures,  OOP  allows  you  to  attach  functions  and 
procedures to your code.  
 This  means  that  not  only  can  you  store  details  about  you 
car (the attributes), you can also allow for sub routines such 
as drive() and refuel(), which are attached to each class. 
METHODS 
9 
CLASS  STRUCTURE 
struct room 
  { 
    int length,breadth; 
  }; 
class room 
  { 
    private: 
       int length,breadth; 
    public: 
       void getdata(); 
  } 
10 
A particular instance of a class. 
OBJECT 
11 
Features of Object-Oriented Language 
12 
ENCAPSULATION 
The wrapping up of data and methods into a single unit (called class) 
Encapsulation  is  the  mechanism  that  binds  together  code  and 
the  data  it  manipulates,  and  keeps  both  safe  from  outside 
interference and misuse. 
13 
ENCAPSULATION 
14 
DATA HIDING 
The insulation of the data from direct access by the program. 
15 
 The process by which one object acquires the properties 
of another object. 
 Child  Classes  can  inherit  attributes  and  behaviors  from 
their  parent classes, and can introduce their own.  
INHERITANCE 
16 
INHERITANCE 
Bird  
Attributes: 
Features 
Lay eggs 
Flying Bird  
Attributes: 
______ 
______ 
Non Flying  
Bird  
Attributes: 
_______ 
_______ 
Robin  
Attributes: 
______ 
Swallow  
Attributes: 
______ 
Penguin  
Attributes: 
______ 
Kiwi  
Attributes: 
______ 
17 
POLYMORPHISM 
The ability to take more forms. 
e. g. + is used for addition and  
             concatenation. 
18 
POLYMORPHISM 
Shape  
Draw() 
Triangle Object  
Draw(triangle) 
Box Object  
Draw(box) 
Circle Object  
Draw(circle) 
19 
BENEFITS OF OOP 
 Reusability 
 Information Hiding 
 Software Complexity can be managed 
 Systems  can  be  easily  upgraded  from  small    to 
large systems.  
20 
WHAT IS ANALYSIS AND DESIGN? 
21 
 Analysis  emphasizes  an  investigation  of  the  problem  and 
requirements, rather than a solution.  
 For  example,  if  a  new  computerized  library  information 
system is desired, how will it be used? 
 "Analysis"  is  a  broad  term,  best  qualified,  as  in 
requirements analysis (an investigation of the requirements) 
or object analysis (an investigation of the domain objects). 
ANALYSIS 
22 
 Design  emphasizes  a  conceptual  solution  that  fulfills  the 
requirements, rather than its implementation.  
 For  example,  a  description  of  a  database  schema  and 
software objects.  
 Ultimately, designs can be implemented. 
DESIGN 
23 
Analysis  and  design  have  been  summarized  in  the  phase 
do the right thing (analysis), and do the thing right (design). 
ANALYSIS AND DESIGN 
WHAT IS OBJECT ORIENTED ANALYSIS? 
 The  emphasis  is  on  finding  and  describing  the  objects 
(or concepts) in the problem domain. 
 In  a  Library  Information  System,  some  of  the  concepts 
include Book, Library, and Student. 
24 
WHAT IS OBJECT ORIENTED DESIGN? 
 The  emphasis  is  defining  software  objects  and  how  they 
collaborate to fulfill the requirements. 
 In  a  Library  Information  System,  a  Book  software  object 
may have a title attribute and a getChapter method. 
25 
IMPLEMENTATION 
 During  Implementation,  or  Object-Oriented  Programming, 
design  objects  are  implemented,  such  as  a  book  class  in 
Java. 
 Implementation is also known as Coding or Construction. 
26 
27 
ITERATIVE AND WATERFALL PROCESSES 
 The essential difference between the two is how you break 
up a project into smaller chunks. 
28 
WATERFALL PROCESSES 
 The waterfall style breaks down a project based on activity.  
 To  build  Software,  you  have  to  do  certain  activities  : 
requirements analysis, design, coding, and testing. 
 Our  1-year  project  might  thus  have  a  2-month  analysis 
phase, followed by a 4-month design phase, followed by a 
3-month  coding  phase,  followed  by  a  3-month  testing 
phase. 
29 
ITERATIVE PROCESSES 
 In this lifecycle approach, development is organized into a 
series of short, fixed-length (for example, three-week) mini-
projects called iterations; the outcome of each is a tested, 
integrated, and executable partial system.  
 Each  iteration  includes  its  own  requirements  analysis, 
design, implementation, and testing activities. 
30 
ITERATIVE PROCESSES 
 The  iterative  style  breaks  down  a  project  by  subsets  of 
functionality .  
 You might take a year and break it into 3-month iterations.  
 In the first iteration, you'd take a quarter of the requirements 
and  do  the  complete  software  life  cycle  for  that  quarter  : 
analysis, design, code, and test .  
 At the end of the first iteration, you'd have a system that does 
a quarter of the needed functionality .  
 Then  you'd  do  a  second  iteration  so  that  at  the  end  of  6 
months, you'd have a system that does half the functionality . 
31 
BENEFITS  OF ITERATIVE DEVELOPMENT 
 less  project  failure,  better  productivity,  and  lower  defect  rates; 
shown by research into iterative methods 
 early  rather  than  late  mitigation  of  high  risks  (technical, 
requirements, objectives, usability, and so forth) 
 early visible progress 
 early  feedback,  user  engagement,  and  adaptation,  leading  to  a 
refined  system  that  more  closely  meets  the  real  needs  of  the 
stakeholders 
 the  learning  within  an  iteration  can  be  methodically  used  to 
improve the development process itself, iteration by iteration