0% found this document useful (0 votes)
5 views

Software Engineering UNIT -1

The document provides an overview of Object-Oriented Software Engineering, covering key concepts such as software engineering principles, object-oriented programming (OOP) concepts like classes, objects, inheritance, and polymorphism, as well as Unified Modeling Language (UML) basics. It outlines the Software Development Life Cycle (SDLC) stages, including planning, requirement analysis, design, development, testing, deployment, and maintenance. The document emphasizes the importance of structured methodologies in creating high-quality, maintainable software.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Software Engineering UNIT -1

The document provides an overview of Object-Oriented Software Engineering, covering key concepts such as software engineering principles, object-oriented programming (OOP) concepts like classes, objects, inheritance, and polymorphism, as well as Unified Modeling Language (UML) basics. It outlines the Software Development Life Cycle (SDLC) stages, including planning, requirement analysis, design, development, testing, deployment, and maintenance. The document emphasizes the importance of structured methodologies in creating high-quality, maintainable software.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

2ND

YEAR
OBJECT ORIENTED
SOFTWAREENGINEERING

SATISH RAJ
MCA

MAHENDRA DEGREE CLG Page 0


UNIT-I

Introduction to Object-Oriented Programming:

1. Overview of software engineering,

2. Introduction to Object-Oriented Programming (OOP) concepts

(Classes, objects, inheritance, polymorphism),

3.Unified Modeling Language (UML) basics,

4.Introduction to software development process and software

Development life cycle (SDLC).

MAHENDRA DEGREE CLG Page 1


1.What is Software Engineering?
Software Engineering is the process of designing, developing, testing, and
maintaining software. It is a systematic and disciplined approach to software
development that aims to create high-quality, reliable, and maintainable software.

1. Software engineering includes a variety of techniques, tools, and


methodologies, including requirements analysis, design, testing, and
maintenance.

2. Software Engineering is mainly used for large projects based on software


systems rather than single programs or applications.

3. The main goal of Software Engineering is to develop software applications for


improving quality, budget, and time efficiency.

Some foundational principles of software engineering include:

• Modularity:

Breaking down a large system into smaller, manageable components.

• Abstraction:

Hiding the complex implementation details and showing only the essential

features.

• Encapsulation:

Keeping data and the methods that operate on the data bundled together,

which helps reduce complexity.

• Reusability:

Writing code and components that can be used across different parts of the

system or in different projects.

• Maintainability:

Ensuring that software can be easily updated, fixed, or expanded in the

future.

MAHENDRA DEGREE CLG Page 2


2. Introduction to Object-Oriented Programming (OOP) concepts

(Classes, objects, inheritance, polymorphism),


1)Class:

A group of Attributes with its relative behavior kept into a single unit with

permittedaccessibilities known as a CLASS. A classis a blueprintor Template that defines

the structure and behavior of objects.

→A classis a user defined data type in oopsto define our own data types.

→class is a blueprint for its objects which supports to create any no. of instances to store
specific information.

2) Object:

Object is a reference of its class blueprint. An object is an instance of a

class.Which stores a specific data to perform specificoperations. Object has a physical

reality. Members of an object are invoked with ‘.’ operator.

Inheritance
The concept allows us to inherit or acquire the properties of an existing class (parent class)
into a newly created class (child class). It is known as inheritance. It provides code
reusability.

MAHENDRA DEGREE CLG Page 3


In OOP, the concept of inheritance provides the idea of reusability. This means tha we can add
additional features to an existing class without modifying it. This is possible by deriving a new class
from the existing one. The new class will have the combined features of both the classes.

Types of inheritance 5

1)single Inheritance,2) Multiple Inheritance 3)Multilevel Inheritance4) hierarchical Inheritance

5) Hybrid Inheritance

[Benefits : Code reusability,extensibility,Maintenance]

Polymorphism

Polymorphism is another important OOP concept. Polymorphism means the ability to take more
than one form. For example, an operation may exhibit different behavior in different instances.

The behavior depends upon the types of data used in the operation.

Polymorphism are 2 types

1. Static polymorphism(Method overloading) 2) Dynamic Polymorphism(Method overriding)

MAHENDRA DEGREE CLG Page 4


3.UML-Building Blocks
UML is composed of three main building blocks, i.e., things, relationships, and diagrams.
Building blocks generate one complete UML model diagram by rotating around several
different blocks. It plays an essential role in developing UML diagrams. The basic UML
building blocks are enlisted below:

1. Things
2. Relationships
3. Diagrams

Things
Anything that is a real world entity or object is termed as things. It can be divided
into several different categories:

o Structural things
o Behavioral things
o Grouping things
o Annotational things

Structural things
Nouns that depicts the static behavior of a model is termed as structural things. They
display the physical and conceptual components. They include class, object, interface,
node, collaboration, component, and a use case.

Class: A Class is a set of identical things that outlines the functionality and properties of an
object. It also represents the abstract class whose functionalities are not defined. Its
notation is as follows;

Object:: An individual that describes the behavior and the functions of a system. The
notation of the object is similar to that of the class; the only difference is that the object
name is always underlined and its notation is given below;

MAHENDRA DEGREE CLG Page 5


Interface: A set of operations that describes the functionality of a class, which is
implemented whenever an interface is implemented.

Collaboration: It represents the interaction between things that is done to meet the goal. It
is symbolized as a dotted ellipse with its name written inside it.

Use case: Use case is the core concept of object-oriented modeling. It portrays a set of
actions executed by a system to achieve the goal.

Actor: It comes under the use case diagrams. It is an object that interacts with the system,
for example, a user.

MAHENDRA DEGREE CLG Page 6


Component: It represents the physical part of the system.

Advertisement

Node: A physical element that exists at run time.

Behavioral Things
They are the verbs that encompass the dynamic parts of a model. It depicts the behavior of
a system. They involve state machine, activity diagram, interaction diagram, grouping
things, annotation things

State Machine: It defines a sequence of states that an entity goes through in the software
development lifecycle. It keeps a record of several distinct states of a system component.

MAHENDRA DEGREE CLG Page 7


Activity Diagram: It portrays all the activities accomplished by different entities of a
system. It is represented the same as that of a state machine diagram. It consists of an
initial state, final state, a decision box, and an action notation.

Interaction Diagram: It is used to envision the flow of messages between several


components in a system.

Grouping Things
It is a method that together binds the elements of the UML model. In UML, the package is
the only thing, which is used for grouping.

Package: Package is the only thing that is available for grouping behavioral and structural
things.

Annotation Things
It is a mechanism that captures the remarks, descriptions, and comments of UML model
elements. In UML, a note is the only Annotational thing.

MAHENDRA DEGREE CLG Page 8


Note: It is used to attach the constraints, comments, and rules to the elements of the
model. It is a kind of yellow sticky note.

4.Software Development Life Cycle (SDLC)


Software development life cycle (SDLC) is a structured process that is used to
design, develop, and test good-quality software. SDLC, or software development
life cycle, is a methodology that defines the entire procedure of software development
step-by-step. The goal of the SDLC life cycle model is to deliver high-quality,
maintainable software that meets the user’s requirements. SDLC in software
engineering models outlines the plan for each stage so that each stage of the software
development model can perform its task efficiently to deliver the software at a low
cost within a given time frame that meets users requirements. In this article we will
see Software Development Life Cycle (SDLC) in detail.

The stages of SDLC are as follows:

MAHENDRA DEGREE CLG Page 9


Stage1: Planning and requirement analysis

Requirement Analysis is the most important and necessary stage in SDLC.

The senior members of the team perform it with inputs from all the stakeholders and domain
experts or SMEs in the industry.

Planning for the quality assurance requirements and identifications of the risks associated
with the projects is also done at this stage.

Business analyst and Project organizer set up a meeting with the client to gather all the data
like what the customer wants to build, who will be the end user, what is the objective of the
product. Before creating a product, a core understanding or knowledge of the product is
very necessary.

Stage2: Defining Requirements

Once the requirement analysis is done, the next stage is to certainly represent and
document the software requirements and get them accepted from the project stakeholders.

This is accomplished through "SRS"- Software Requirement Specification document which


contains all the product requirements to be constructed and developed during the project
life cycle.

Stage3: Designing the Software

The next phase is about to bring down all the knowledge of requirements, analysis, and
design of the software project. This phase is the product of the last two, like inputs from the
customer and requirement gathering.

Stage4: Developing the project

In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers have to follow the
coding guidelines described by their management and programming tools like compilers,
interpreters, debuggers, etc. are used to develop and implement the code.

Stage5: Testing

After the code is generated, it is tested against the requirements to make sure that the
products are solving the needs addressed and gathered during the requirements stage.

During this stage, unit testing, integration testing, system testing, acceptance testing are
done.

MAHENDRA DEGREE CLG Page 10


Stage6: Deployment

Once the software is certified, and no bugs or errors are stated, then it is deployed.

Then based on the assessment, the software may be released as it is or with suggested
enhancement in the object segment.

After the software is deployed, then its maintenance begins.

Stage7: Maintenance

Once when the client starts using the developed systems, then the real issues come up and
requirements to be solved from time to time.

This procedure where the care is taken for the developed product is known as maintenance.

MAHENDRA DEGREE CLG Page 11

You might also like