0% found this document useful (0 votes)
20 views18 pages

Sad

Uploaded by

yonassetegn016
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views18 pages

Sad

Uploaded by

yonassetegn016
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter One

System Analysis and Design

Chapter 2. Object Orientation the new software


paradigm
Target Group 2nd Year IS students
Contents

The potential benefits of object orientation

The potential drawbacks of object orientation


Object standards

The object orientation software process


Introduction to Software Paradigm
Software "Paradigm"
The main concept behind the object oriented paradigm is that instead
of defining systems as two separate parts (data and functions),
system is defined as a collection of interacting objects.
It describes and builds a system that consists of objects. An object
oriented system comprises a number of software objects that interact
to achieve the system objective.
We can distinguish between three different kinds of Software
Paradigms:
1. Programming Paradigm
2. Software Design Paradigm
3. Software Development Paradigm
Cont..

Object oriented
programing
Paradigms
1. Programming Paradigm
Programming paradigm is an approach to solve
problem using some programming language or also
we can say it is a method to solve a problem using
tools and techniques that are available to us following
some approach.
There are lots for programming language that are
known but all of them need to follow some strategy
when they are implemented and this
methodology/strategy is paradigms.
Con…
Con…
It describes the components of
 The language paradigm is a general principles that are used
by a programmer to communicate a task/algorithm to a
computer.
 The syntax of the language is a way of specifying what is
legal in the phrase structure of the language
 The semantics, or meaning, of a program in that language.
without a semantics, a programming language is just a
collection of meaningless phrases;
Cont’d….
The main purpose of programming language
paradigm is to support and facilitate the paradigm of .

 Scalability/modifiability

 Reusability

 Portability

 Performance

 Reliability

 Ease of creation
2. Software Design Paradigm
Is a model for implementing a group of applications sharing common
properties
The results of people’s ideas on how to construct programs, combine
them into large software systems and formal mechanisms for how those
ideas should be expressed.
we can say that a Software Design Paradigm is a model for a class of
problems that share a set of common characteristics.
Software design paradigms can be sub-divided as:
I. Design Patterns
II. Components
III. Software Architecture
IV. Frameworks
Cont’d……
I. Design Patterns:
 is a proven solution for a general design problem.
 It consists of communicating ‘objects’ that are customized to solve the
problem in a particular context.
II. Components:
 are binary units of independent production, acquisition, and
deployment that interact to form a functioning program.
III. Software Architecture:
• is the structure of the components of the solution.
• A particular software architecture decomposes a problem into smaller
pieces and attempts to find a solution (Component) for each piece.
IV. Frameworks:
• Frameworks can be seen as an intermediate level between components
and a software architecture.
3. Software Development Paradigm
 is often referred to as Software Engineering, may be seen as a
management model for implementing big software projects
using engineering principles.

 The software development cycle involves the activities in the


production of a software system.
 Generally the software development cycle can be divided into
the following phases:
 Requirements analysis and specification
 Design
o Preliminary design
o Detailed design
Cont’d……
Implementation
o Component Implementation
o Component Integration
o System Documenting
Testing
o Unit testing
o Integration testing
o System testing
Installation and Acceptance Testing
Maintenance
oBug Reporting and Fixing
oChange requirements and software upgrading
Advantages of Object Oriented Concepts
Improved software-development productivity

Improved software maintainability

Faster development

Lower cost of development

Higher-quality software.

Re-Usability
Disadvantages of Object Oriented Concepts
1. Steep learning curve: The thought process involved in object-oriented

programming may not be natural for some people, and it can take time to get

used to it. It is complex to create programs based on interaction of objects.

2. Larger program size: Object-oriented programs typically involve more

lines of code than procedural programs.

3. Slower programs: Object-oriented programs are typically slower than

procedure based programs, as they typically require more instructions to be

executed.

4. Not suitable for all types of problems: There are problems that lend

themselves well to functional-programming style, logic-programming style,

or procedure-based programming style, and applying object-oriented

programming in those situations will not result in efficient programs.


The object orientation software process
Software process is a set of project phases, stages, methods,
techniques, and practices that people employ to develop and
maintain software and its associated artifacts.

It enables organizations to increase productivity when


developing software.

Any modern object-oriented approach to develop software process


must have objectives, a focus of activity over the workflows, and
incremental deliverables. Each of the phases is described as
follows:
Cont…
1. Inception:-In this phase, a business case is made for the
proposed system.
2. Elaboration:-The analysis and design workflows are the primary
focus during this phase. This phase continues with developing
the vision document, including finalizing the business case,
revising the risk assessment, and completing a project plan in
sufficient detail to allow the stakeholders to be able to agree with
constructing the actual final system.
The primary deliverables of this phase include:
 The UML structure and behavior diagrams
 An executable of a baseline version of the evolving information system
Cont…
3. Construction:-The construction phase, as expected by its name, is
heavily focused on programming the evolving information system. As
such, it is primarily concerned with the implementation workflow. The
primary deliverable of this phase is an implementation of the
system that can be released for beta and acceptance testing.

4. Transition:-Like the construction phase, the transition phase addresses


aspects typically associated with the implementation phase of SDLC
approach. Its primary focus is on the testing and deployment
workflows. Depending on the results from the testing workflow, it is
possible that some redesign and programming activities on the
design and implementation workflows could be necessary,

You might also like