Oose Unit 1
Oose Unit 1
3
SYLLABUS
20
What is Software Engineering?
• The IEEE Computer Society defines software
engineering as:
A process is a collection of activities, actions and tasks that are performed when
some work product is to be created.
•Communication
–Involves communication among the customer and other stake holders;
requirements gathering.
•Planning
–Establishes a plan for software engineering work; addresses technical tasks,
resources, work products, and work schedule.
Modelling (Analyze, Design)
• Creation of models to better
under the requirements and the
design.
Deployment:
• –Involves delivery of software
to the customer for evaluation
and feedback.
The umbrella activities in a software development life cycle
processinclude the following:
1.Software project tracking and control: Compare the progress of the project with
the plan.
2.Formal technical reviews: This includes reviewing the techniques that have been
used in the project.
3.Software quality assurance: This is very important to ensure the quality
measurement of each part to ensure them.
4.Software configurationmanagement:
managing different versions of these work products.
5.Document preparation and production:
All the project planning and other activities should be hardly copied and the
production gets started here.
6.Re-usability management:
This includes the backing up of each part of the software project
7.Risk management:
Risk management is a series of steps that help a software team
to understand and manage uncertainty.
Object-Oriented Analysis and
Design (OOAD):
Benefits and uses of Object oriented concepts
Comparison with Functional approach to
Software development.
• OOD is centered around objects, which encapsulate data and the functions that
operate on that data.
• Objects are instances of classes, which define the properties (attributes) and
behaviors (methods) shared by the objects
comparison with Functional approach to software
development .
Overview of UML
• Unified Modeling Language (UML) is a standardized modeling
language used in software engineering to visually represent a
system's design.
Include Relationship:
Extend Relationship:
1.Place an order.
2.Pay money to the cash counter.
3.Order Confirmation.
4.Order preparation.
5.Order serving.
Collaboration Diagram:
Collaboration Diagram depicts the relationships and interactions
among software objects. They are used to understand the object
architecture within a system rather than the flow of a message as in a
sequence diagram. They are also known as “Communication
Diagrams.”
Collaboration diagram Example
• It's used to describe the different dynamic aspects of a system and is referred to
as a 'behavior diagram' because it describes what should happen in the modeled
system.
Activity Diagrams
PART -II
Modelling Concepts
Systems
DataTypes:
• A data type is an abstraction that define the kind of data that a
variable can hold in the context of a programming language. A
data type has a unique name that distinguishes it from other
data types.
• Examples include integers, floats, strings, and custom data
types.
• It denotes a set of values, defines the structure and the
operations valid in all instances of the data type.
• Data types are used in typed languages to ensure that only
valid operations are applied to specific instances.
Abstract Datatype (ADT):
• An abstract data type is a data type defined by an
implementation-independent specification, enable developers to
reason about a set of instances without looking at a specific
implementation of the abstract data type.
• The fact that the social security number of the person is stored
as a number or as a string is not visible to the rest of the system.
Such decisions are called implementation decisions.
• ADTs are high-level descriptions of data types that specify
operations but not the implementation details.
Instances:
• Instances are individual occurrences of a class in object-
oriented programming.
• For example, if "Car" is a class, a specific car object is an
instance of that class.
Classes, Abstract Classes, and
Classes: Objects
• A class is an abstraction in object-oriented modeling and in object-
oriented programming languages.
• Like abstract data types, a class encapsulates both structure and
behavior.
• Classes are blueprints or templates for creating objects in object-
oriented programming.
• They define the properties (attributes) and behaviors (methods) that
objects of the class will have.
• Classes can be defined in terms of other classes by using
inheritance.
Superclass / Parent Class:
• A superclass is a class that is extended or inherited by one or
more subclasses. It provides a common set of attributes and
methods that can be reused by its subclasses.