Professional Documents
Culture Documents
SE Lec 1
SE Lec 1
SE Lec 1
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:
Definition
Software is instructions that when executed
provides desire functions, features, and
performance.
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.
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?
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