Lecture 2 and 3 Software development Methodologies

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

3/31/2020

It is an integrated set of standards and guidelines consisting of :


 Structured Systems Analysis and Design 

 Structural standards: which define the structure of a development


Methodology (SSADM) is an integrated set of project in the form of explicitly defined tasks, with clearly defined
interfaces between them, and clearly defined tangible products;
standards and guides for the analysis and design  Technique guides: which provide development staff with a set of
of computer systems proven usable techniques and tools, and detailed rules and guidelines
 It is a way of formally organizing the systems on when and how to use them
 Documentation standards, which provide the means of
analysis and design parts of computing projects. recording the products of development activity at a detailed level

1
3/31/2020

 SSADM is a waterfall view approach whereby Feasibility study


there are sequences of events that run in series Requirements Analysis
and each step leads on from the last. There are Requirements Specification
five steps in total, and each step can be broken Logical System Specification
down further Physical System Design

2
3/31/2020

Identifying of the requirements and needs of the system


Module 01 :Feasibility Study Stage 0 : Feasibility and modelling these needs in terms of the processes
study carried out.
 This is where the analyst and users decide if the entire project is worth . Stage 01:
Investigation of Current Environment:
pursuing.It involves the analyst considering the problems faced by the
Establish analysis framework
organization and producing a set of options to resolve them. The users Investigate and define requirements

must then decide whether the costs involved in resolving the problem are Investigate current processing/data

Derive logical view of current services


worth it.
This needs to be done so that the analyst and the users fully understand what the current system does.
They need to be clear what problems they have and what they want from the new system

3
3/31/2020

Stage 02: Stage 02:

Business System Options


This Stage allows the analyst and users to come up with
Business System Options some ideas about what the new system might do.
. A Business System Option (BSO) describes a suggested Usually, a range of options, with different costs and
new system in terms of its functionality and its boundary: benefits, are considered. Users will need to be clear
inputs, outputs, processes and data are described. The about the objectives of the business before they can
aim is to help the users choose, from all the listed choose the option to proceed with.
requirements, just what they want their new system to
do.

4
3/31/2020

Having selected a specific BSO a detailedspecification of requirements now


begins. The emphasis is on determining the desired system data, functions and Stage 4: Selection of Technical options
events By now, the analyst and users will have a reasonable idea of what thenew
Stage 3: system will be expected to do. This allows them to consider the technical
options. For example, the key hardware components will need to be
Definition of Requirements:
identified.
Define required system processing
 Define technical options
Develop required data model
 Select technical options
Derive system functions

Enhance required data model

5
3/31/2020

Stage 4: Selection ofTechnical options Stage 5: Logical Design


The procedure for producing and selecting Technical System Options
This involves specifying the new system. What
(TSOs) is very similar to that for BSOs. First, draw up an initial list of
approximately six options. The skeletal TSOs should then be expanded to will the new system do?What might it look like
include details derived from potential suppliers such as: from a user perspective?
• Cost;
 Define user dialogues
• Facilities;
• Performance;  Define update processes
• Support etc.

6
3/31/2020

 Stage 6 :This stage concentrates on the  Stage 6 :


environment within which the new system will  Prepare for physical design
operate.
 Create physical data design
Physical Environment Classification Scheme is used to
categorize the physical environment. The scheme  Create function component
considers factors including: implementation map
• Data storage;  Optimize physical data design
• Performance;
• Processing characteristics.

7
3/31/2020

Object oriented concepts


 The size and complexity of software is increasing day by day.
Conventional approaches of software design and implementation may not
be effectively applicable.
 We want to simplify the development process and to produce high quality
Object Oriented maintainable software.
 As we all know, development may take few years and same may have to
Methodologies be maintained for many years.
 A maintainable software may reduce the maintenance cost and high
quality may enhance the sustainability of the software.

8
3/31/2020

Object oriented concepts What is Object Orientation?


 It is becoming popular to design, develop and maintain large size, complex o Why is object oriented software
and critical software systems using object oriented paradigm. development taking centre stage in
 Due to its popularity and acceptability in customers, companies are also software industry?
releasing the object oriented versions of their existing software products.
o Why object oriented version of
 Many of the customers expect object oriented software solutions and existing software products are
request the same for their forthcoming projects. coming in the market?

9
3/31/2020

What is Object Orientation? What is Object Orientation?


o We feel that real strength of object Object-orientation works at higher level of abstraction. The
development can proceed at the object level and ignore the rest
oriented approach is its modeling ability
of the system for as long as necessary.
to represent real world situations. The data on which a system is based tends to be more stable
than the functionality it supports.
o A model helps us to visualize and
Object-orientated programming encourages and supports good
understand a real situation along with its programming techniques.
behavior. Object-oriented programming design and programming
promote code re-use.
o Architects use models to demonstrate
their conceptual constructs which may
also increase the confidence of their
clients in terms of design, aesthetics and
feel of the proposed project.

10
3/31/2020

What is Object Orientation? Classes & Objects


o All book types may be combined to form a group called class.
o All objects are instances of a class.
o The class describes the structure of the instance which include
behaviour and information.
Class
Book

Software Software Software


Engineering Testing Quality
Object1
Object2 Object3

11
3/31/2020

Classes & Objects Classes & Objects


o Suppose there are 10 books in a o A set of objects with similar behaviour & information may constitute
library of same subject, language, a class.
publisher and author; but these
o Hence, an object has a state (information) and it offers number of
books are distinguishable due to
operations (behaviour) depending upon its class.
their own title and accession
number.
o All objects have unique
identification like accession
number in case of a book in the
library. In a library, book, student,
faculty, employee are the example
of objects.

12
3/31/2020

Classes & Objects Classes & Objects


o A class represents a template for several objects and describes how
Book Class name
these objects are structured internally. Objects of the same class
have the same definition both for their operations and for their accessiono : Integer
subjectdescriptor : String
information structures.
ISBN : Long
o An instance is an object created from a class. The class describes booktitle : String
the (behaviour & information) structure of the instance, which the language : String Attributes
current state of the instance is defined by the operations performed authorfname :String
on the instance. authorlname : String
publisher : String
o An attribute (or information / state) is a data value held by the object Book Class
of a class. addbook()
deletebook()
o Operations (or behaviour) are the functions which may be applied on updatebook()
a class. Operations
viewbook()

13
3/31/2020

Classes & Objects Messages


o Objects communicate through passing
messages.
o A message is a request for performing an
operation by some object in the system.
o A message may consist of the identification of
the target object, name of the requested
operation and other relevant information for
processing the request.
o An object which originates a message is called
the sender and the object which receives a
message is called the receiver.

14
3/31/2020

Message Exchange in Classes Encapsulation


 Encapsulation is also known as
information hiding concept.
 The data and operations are
combined into a single unit.
 The only way to access data is
through operations which are
designed to operate on the data.
 The data is not available to
external world.
 This concept may make the data
safe and secure from external
interventions.

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.
};

class student : public Member //public inheritance


{
long int rollno;
char school[100];
char programme[100];
};

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

Polymorphism Data Abstraction


 Polymorphism is considered to be an  Data abstraction is to collect essential
important concept of any object oriented elements composing to a compound data.
programming languages.
 As we all know, arithmetic operators such as +, =,
- are used to operate on primary data types such
as int, float etc.
 We may overload these operators so that they
may operate in the same way on objects (user
defined data types) as they operate on primary
data types.
 Thus, the same operators will have multiple
forms.

20
3/31/2020

Object Composition Object Composition


 The use of objects as data members in another class is
referred to as object composition.
 The object is a collection of set of objects represented
through has-a relationship. Class A
{
 In object oriented systems, has-a relationship depicts that an ………
A B
object is declared as an attribute in another class. };

……… Oa: A Class B


{
A Oa;
};

21
3/31/2020

Object Oriented Object Oriented


Methodologies Methodologies
 Object oriented analysis by Coad and Coad and Yourdon Methodology
Yourdon  Identification of classes and
 Object oriented design by Booch objects
 Object modeling technique by Rumbaugh et  Identification of structures
al.  Definition of subjects
 Object oriented software engineering by  Definition of attributes
Jacobson
 Definition of services (methods)

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

Object Oriented Object Oriented


Methodologies Methodologies
Booch Methodology Booch Methodology
 Grady Booch proposed object oriented methodology in Establishment Construction
his book Object-Oriented Design (OOD) in 1991. of requirements of analysis
model
 The primary aim of OOD was to establish a base for
implementation of object oriented systems.
Design of
 The Booch methodology can be broadly divided into two architecture
processes: macro process and micro process.

Maintenance of Evolution in
delivered the form of
functionality refinements

24
3/31/2020

Object Oriented Object Oriented


Methodologies Methodologies
Booch Methodology Booch Methodology
 In first phase the requirements are established using  Design phase focuses on construction of architecture of
context diagrams and prototypes. the system and involves:
 The outcomes of this phase are core requirements of  Identification of horizontal layers
the system.  Mapping classes to subsystems
 Release planning
 Analysis process involves requirement capturing and  Attaching risks identified in analysis phase to releases
understanding. It involves “what of the system”. This
phase consists of construction of use cases,  Evolutionary phase involves implementation of the
identification and prioritization of risks. system and each release adds to the functionality of the
system.
 Maintenance phase consists of post deployment
activities.

25
3/31/2020

Object Oriented Object Oriented


Methodologies Methodologies
Booch Methodology Rumbaugh Methodology
 It is the lower level process. The following recursive  Rumbaugh developed a technique
steps are followed in OOD micro process that focuses on analysis, design
 Identification of classes and objects and implementation of the system.
 Identification of semantics of classes and objects This technique is popularly known
 Identification of relationship amongst classes and objects as Object Technique (OMT).
 Specification of interfaces and implementation of classes and  The OMT consists of four phases:
objects analysis, system design, object
design and implementation.

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

Object Oriented Object Oriented


Methodologies Methodologies
Jacobson Methodology Jacobson Methodology
 All the methodologies described above still lack of a  The design model: It refines the objects keeping the
comprehensive architecture to develop a software implementation environment in mind.
project.  The implementation model: It implements the objects.
 The test model: The goal of the test model is to validate
 The Jacobson‟s methodology known as “Object
and verify the functionality of the system.
Oriented Software Engineering (OOSE)” consists of
five models:
 The requirement model: The aim of the model is to gather
software requirements.
 The analysis model: The goal of this model is to produce
ideal, robust and modifiable structure of an object.

28
3/31/2020

Object Oriented Modeling Object Oriented Modeling


 Object oriented modeling is a way of constructing visual  UML represents the combination of the notations used
models based on real world objects. by Booch, Rumbaugh and Jacobson.
 Modeling helps in understanding the problems,  The best concepts and processes were extracted from
developing proper documents and producing well all the methodologies till date and combined into UML.
designed programs.  UML was adopted by Object Management Group
 Modeling produces well understood requirements, (OMG) in November, 1997.
robust designs, high quality and maintainable systems.  UML is defined as language for visual modeling that
allows to specify, visualize, construct, understand and
document the various artifacts of the system.

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

You might also like