Software Engineering UNIT -1
Software Engineering UNIT -1
YEAR
OBJECT ORIENTED
SOFTWAREENGINEERING
SATISH RAJ
MCA
• Modularity:
• 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,
• Reusability:
Writing code and components that can be used across different parts of the
• Maintainability:
future.
A group of Attributes with its relative behavior kept into a single unit with
→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:
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.
Types of inheritance 5
5) Hybrid Inheritance
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.
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;
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.
Advertisement
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.
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.
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 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.
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.
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.
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.
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.
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.