Shree S’ad Vidya Mandal Institute Of
Technology
NAME ENROLLMENT NO.
Raj Bhavsar 150450116009
Jainam Kapadiya 150450116014
Topic :- Software Engineering
Layered Technology
Software Process Framework
Subject :- Software Engineering (SE)
Contents
 What is software engineering?
 Layered technology
 Software process framework
• Common Process Framework Activities
• Umbrella Activities
What is software engineering?
 The application of a systematic, disciplined, quantifiable approach to the development, operation, and
maintenance of software; that is, the application of engineering to software.
 Software engineering is the establishment and use of sound engineering principles in order to obtain
economically software that is reliable and works efficiently on real machines.
 Software engineering is also:-
• A modeling activity
• A problem-solving activity
• A knowledge acquisition activity
• A rationale-driven activity
 Software engineers should adopt
• Systematic and organized approach to their work
• Use appropriate tools and techniques depending on the problem to be solved
• The development constraints and the resources available
 Software Engineering is the science and art of building (designing and writing programs) a software
systems that are:
• On time
• On budget
• With acceptable performance
• With correct operation
A Layered Technology
 Software Engineering is a layered technology.
Quality focus:-
 Main principle of Software Engineering is Quality focus.
 An engineering approach must have a focus on quality.
 Total Quality Management(TQM), Six Sigma, ISO 9001, ISO 9000-3 , Capability Maturity Model(CMM) ,
CMMI & similar approaches encourages a continuous process improvement culture.
Process :-
 The foundation for software engineering is the process layer.
 Software engineering process is the glue that holds the technology layers together.
 Process defines a framework activities for effective delivery of software engineering technology.
A Layered Technology
Methods :-
 Software engineering methods provide the technical how-to's for building software.
 Methods encompass a broad array of tasks that include requirements analysis, design, program construction,
testing, and support.
 Software engineering methods rely on a set of basic principles that govern each area of the technology and include
modeling activities and other descriptive techniques.
Tools :-
 Software engineering tools provide automated or semi-automated support for the process and the 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.
 CASE combines software, hardware, and a software engineering database (a repository containing important
information about analysis, design, program construction, and testing) to create a software engineering
environment analogous to CAD/CAE (computer-aided design/engineering) for hardware.
Software process framework
A software process:-
 is a roadmap to building high quality software products.
 provides a framework for managing activities.
 adapts to meet needs of software engineers and managers.
What is a process?
 Sequence of steps required to develop or maintain software.
Characteristics
 prescribes major activities
 constraints and controls apply to activities, resources, and products
 utilizes resources, subject to constraints such as schedule, to produce intermediate and final results
 constraints on activities: time, budget, tools
 controls on activities: reports
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
COMMUNICATION Communication with
customers/ stackholders
to understand project
requirements for defining
software features.
MODELING Creating models to
understand requirements
and shows design of
software to achieve
requirements.
PLANNING Software Project Plan which
defines workflow that is to
follow. It describes technical
task, risks, resources, product
to be produced & work
schedule.
CONSTRUCTIONS Code generation (manual or
automated) & testing (to
uncover errors in the code)
DEPLOYMENT Deliver Software to
Customer collect
feedback from customer
based on evaluation
Software Support
Common Process Framework Activities
Umbrella Activities
Software project tracking and control
 Assessing progress against the project plan.
 Take adequate action to maintain schedule.
Formal technical reviews
 Assessing software work products in an effort to uncover and remove errors before goes into next action or
activity.
Software quality assurance
 Define and conducts the activities required to ensure software quality.
Software configuration management
 Manages the effects of change.
Document preparation and production
 Help to create work products such as models, documents, logs, form and list.
Reusability management
 Define criteria for work product reuse
 Mechanisms to achieve reusable components.
Measurement
 Define and collects process, project, and product measures
 Assist the team in delivering software that meets customer’s needs.
Risk management
 Assesses risks that may effect that outcome of project or quality of product (i.e. software)

Software Engineering Layered Technology Software Process Framework

  • 1.
    Shree S’ad VidyaMandal Institute Of Technology NAME ENROLLMENT NO. Raj Bhavsar 150450116009 Jainam Kapadiya 150450116014 Topic :- Software Engineering Layered Technology Software Process Framework Subject :- Software Engineering (SE)
  • 2.
    Contents  What issoftware engineering?  Layered technology  Software process framework • Common Process Framework Activities • Umbrella Activities
  • 3.
    What is softwareengineering?  The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.  Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.  Software engineering is also:- • A modeling activity • A problem-solving activity • A knowledge acquisition activity • A rationale-driven activity
  • 4.
     Software engineersshould adopt • Systematic and organized approach to their work • Use appropriate tools and techniques depending on the problem to be solved • The development constraints and the resources available  Software Engineering is the science and art of building (designing and writing programs) a software systems that are: • On time • On budget • With acceptable performance • With correct operation
  • 5.
  • 6.
     Software Engineeringis a layered technology. Quality focus:-  Main principle of Software Engineering is Quality focus.  An engineering approach must have a focus on quality.  Total Quality Management(TQM), Six Sigma, ISO 9001, ISO 9000-3 , Capability Maturity Model(CMM) , CMMI & similar approaches encourages a continuous process improvement culture. Process :-  The foundation for software engineering is the process layer.  Software engineering process is the glue that holds the technology layers together.  Process defines a framework activities for effective delivery of software engineering technology. A Layered Technology
  • 7.
    Methods :-  Softwareengineering methods provide the technical how-to's for building software.  Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support.  Software engineering methods rely on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques. Tools :-  Software engineering tools provide automated or semi-automated support for the process and the 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.  CASE combines software, hardware, and a software engineering database (a repository containing important information about analysis, design, program construction, and testing) to create a software engineering environment analogous to CAD/CAE (computer-aided design/engineering) for hardware.
  • 8.
    Software process framework Asoftware process:-  is a roadmap to building high quality software products.  provides a framework for managing activities.  adapts to meet needs of software engineers and managers. What is a process?  Sequence of steps required to develop or maintain software. Characteristics  prescribes major activities  constraints and controls apply to activities, resources, and products  utilizes resources, subject to constraints such as schedule, to produce intermediate and final results  constraints on activities: time, budget, tools  controls on activities: reports
  • 9.
    Process framework Framework activities worktasks work products milestones & deliverables QA checkpoints Umbrella Activities
  • 10.
    COMMUNICATION Communication with customers/stackholders to understand project requirements for defining software features. MODELING Creating models to understand requirements and shows design of software to achieve requirements. PLANNING Software Project Plan which defines workflow that is to follow. It describes technical task, risks, resources, product to be produced & work schedule. CONSTRUCTIONS Code generation (manual or automated) & testing (to uncover errors in the code) DEPLOYMENT Deliver Software to Customer collect feedback from customer based on evaluation Software Support Common Process Framework Activities
  • 11.
    Umbrella Activities Software projecttracking and control  Assessing progress against the project plan.  Take adequate action to maintain schedule. Formal technical reviews  Assessing software work products in an effort to uncover and remove errors before goes into next action or activity. Software quality assurance  Define and conducts the activities required to ensure software quality. Software configuration management  Manages the effects of change. Document preparation and production  Help to create work products such as models, documents, logs, form and list.
  • 12.
    Reusability management  Definecriteria for work product reuse  Mechanisms to achieve reusable components. Measurement  Define and collects process, project, and product measures  Assist the team in delivering software that meets customer’s needs. Risk management  Assesses risks that may effect that outcome of project or quality of product (i.e. software)