SE Lec 1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

Software Engineering

Lecture 1
Course Name:
Software Engineering
Course Book:
Software Engineering A Practitioner’s Approach By Roger S.
Pressman
6th Edition or 7th Edition
Marks Distribution:

Final Examination 40 Marks


Mid Term Examination 20 Marks
Class Performance 30 Marks
Final Presentation 10 Marks
What is a Software?
Software

Definition
 Software is instructions that when executed
provides desire functions, features, and
performance.

 Software is data structures that enable the program


to adequately manipulate information.

 Software is document that describes the operation


and use of the programs.
Basic Concept of Software

Software is a logical rather than a physical system element.


 Software is developed or engineered, it is not
manufactured in the classic sense.

 Software doesn’t wear out.

 Although the industry is moving towards component


– based constructions, most software continues to
be custom built.
Difference Between Software &
Computer Science
 Computer Science focuses on theory and fundamentals.

 Software Engineering focuses on how to design and build


and deliver useful software in teams.
Software Types

 System Software
System software is a collection of programs written to
service other programs. Some system software process
complex but determinate information structure.
e.g. compiler, file manager and editors.

 Web Applications
Applications that execute on a server and are accessed
by users from their own PCs or terminals. These include
web applications such as e-commerce applications.
 Embedded Control Software
These are software control systems that control and
manage hardware devices. Numerically, there are
probably more embedded systems than any other type of
system.

 Engineering Software
Formally characterized by “number crunching”
algorithms, engineering and scientific software
applications from astronomy to volcanology, from
automotive stress analysis to space shuttle and from
molecular biology to automated manufacturing.
 Application Software
Application software consist of standalone programs that
solve a specific business need.

 Software for modelling and simulation


These are systems that are developed by scientists and
engineers to model physical processes or situations,
which include many, separate, interacting objects.
 Artificial Intelligence Software
AI software make use of non numerical algorithm to solve
complex problems that are not solvable by computation
or straight forward analysis.
Software Engineering

Definition
 Software Engineering is an approach towards an
efficient software, based on user requirements.

Definition By IEEE
 Software engineering can be defined as the application of
a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software,
and the study of these approaches; that is, the
application of engineering to software.
Software Engineering Layers
 Software Engineering is layered technology.
 The bedrock that supports software engineering is a
quality focus.
 The foundation of the software engineering is the process
layer, process defines framework, the process layer holds
the technology layer together and enables rational and
timely development of computer software.
 Software engineering methods provide the technical “how
to’s” for building software.
 Software engineering tools provide automated or semi
automated support for the process and methods. When
tools are integrated so that information created by one
tool can be used by another, a system for the support of
software development, called computer aided software
engineering is established.
What is SDLC?

 SDLC is the acronym of Software Development Life Cycle.

 SDLC is a process followed for a software project, within a


software organization. It consists of a detailed plan
describing how to develop, maintain, replace and alter or
enhance specific software. The life cycle defines a
methodology for improving the quality of software and the
overall development process.
 Communication:
This framework activity involves heavy communication and
collaboration with the customer and requirement gathering
and other related activities.

 Planning:
This activity establishes a plan for a software engineering
work that follows. It describes the technical tasks to be
conducted.
 Modeling:
This activity encompasses the creation of models that allow
the developer and the customer to better understand
software requirements.

 Construction:
In this stage of SDLC the actual development starts and the
product is built. The programming code is generated as per
DDS – Design Document Specification. If the design is
performed in a detailed and organized manner, code
generation can be accomplished without much hassle.
 Testing:
This stage is usually a subset of all the stages as in the
modern SDLC models, the testing activities are mostly
involved in all the stages of SDLC.
However this stage refers to the testing only stage of the
product where products defects are reported, tracked, fixed
and retested, until the product reaches the quality
standards defined in the SRS.
 Deployment:
The software is delivered to the customer who evaluates the
delivered product and provides feedback based on the
evaluation.
CMMI
Capability Maturity Model Integration

Capability Maturity Model Integration (CMMI) is a process level


improvement training and appraisal program. Administered by
the CMMI Institute.
Provides guidance on how to gain control of processes for
developing and maintaining software and how to evolve toward a
culture of software engineering and management excellence.

CMMI has certain levels defined:


 Level 0: Incomplete
 Level 1: Performed
 Level 2: Managed
 Level 3: Defined
 Level 4: Quantitatively Managed
 Level 5: Optimized

You might also like