SOFTWARE
ENGINEERING
LAYERS
PRESENTED BY: AMIT KUMAR
BCA IV
WHAT IS SOFTWARE ENGINEERING
 According to IEEE software engineering is defined
as the application of the systematic, discipline,
quantifiable approach to development of an
operation and maintenance of software
QUALITY
 Engineering approaches rest on an organizational
customer quality requirements (efficiency, reliability,
etc.), developer quality requirements
(maintainability, reusability, etc.), users (usability,
efficiency, etc.), and etc. Some quality requirements
are difficult to specify in an unambiguous way.
Software specifications are usually incomplete. The
bedrock that supports software engineering is a
quality focus layer. A product should meet its
specification.
PROCESS
 The foundation for software engineering is
the ̳process layer. The process layer allows the
development of software on time. The work
products are produced, milestones are established,
quality is ensured, and changes are properly
managed. Software engineering process is the glue
that holds the technology together and enables
rational and timely development of computer
software. It forms the base for management control
of software project
METHODS
 The method layer provides technical knowledge
for developing software. This layer covers a broad
array of tasks that include requirements analysis,
design, coding, testing, and maintenance phase of
the software development. Software engineering
methods provides the technical how-to‘s for building
software
TOOLS
 The tools layer provides computerized or semi-
computerized support for the process and the
method layer. Sometimes tools are integrated in
such a way that other tools can use information
created by one tool. This multi-usage is commonly
referred to as Computer-Aided Software
Engineering (CASE).CASE combines software,
hardware, and software engineering database to
create software engineering analogous to
Computer-Aided Design (CAD) for hardware.
CASE helps in application development including
analysis, design, code generation, and debugging
and testing.
THANK YOU!

Software engineering layers

  • 1.
  • 2.
    WHAT IS SOFTWAREENGINEERING  According to IEEE software engineering is defined as the application of the systematic, discipline, quantifiable approach to development of an operation and maintenance of software
  • 4.
    QUALITY  Engineering approachesrest on an organizational customer quality requirements (efficiency, reliability, etc.), developer quality requirements (maintainability, reusability, etc.), users (usability, efficiency, etc.), and etc. Some quality requirements are difficult to specify in an unambiguous way. Software specifications are usually incomplete. The bedrock that supports software engineering is a quality focus layer. A product should meet its specification.
  • 5.
    PROCESS  The foundationfor software engineering is the ̳process layer. The process layer allows the development of software on time. The work products are produced, milestones are established, quality is ensured, and changes are properly managed. Software engineering process is the glue that holds the technology together and enables rational and timely development of computer software. It forms the base for management control of software project
  • 6.
    METHODS  The methodlayer provides technical knowledge for developing software. This layer covers a broad array of tasks that include requirements analysis, design, coding, testing, and maintenance phase of the software development. Software engineering methods provides the technical how-to‘s for building software
  • 7.
    TOOLS  The toolslayer provides computerized or semi- computerized support for the process and the method layer. Sometimes tools are integrated in such a way that other tools can use information created by one tool. This multi-usage is commonly referred to as Computer-Aided Software Engineering (CASE).CASE combines software, hardware, and software engineering database to create software engineering analogous to Computer-Aided Design (CAD) for hardware. CASE helps in application development including analysis, design, code generation, and debugging and testing.
  • 8.