Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software engineering

3,654 views

Published on

Software engineering

Published in: Engineering
  • Be the first to comment

Software engineering

  1. 1. SOFTWARE ENGINEERING Unit I
  2. 2. WHAT IS SOFTWARE ENGINEERING?  Software has become critical to advancement in almost all areas of human endeavour.  The art of programming only is no longer sufficient to construct large programs.  There’re serious problems in the cost, timeliness, maintenance, and quality of many software products.  Software engineering has the objective of solving these problems by  producing good quality,  maintainable software,  on time,  Within budget
  3. 3. DEFINITION  In 1968, Fritz Bauer defined s/w engineering as: “The establishment & use of sound engineering principles in order to obtain economically developed software that is reliable & works efficiently on real machines.”  Stephen Schach define the same as: “A discipline whose aim is the production of quality software, that is delivered on time, within budget, and also satisfies its requirements.”
  4. 4. DEFINITION  The IEEE definition: Software Engineering is: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).
  5. 5. PROGRAM VS. SOFTWARE Programs Operating ProceduresDocumentation Software= Programs + Documentation + Operating Procedures
  6. 6. PROGRAM VS. SOFTWARE  Software is more than just programs.  It consists of  Programs,  Documentation of any fact of the program, and  Operating procedures used to set up & operate the Software system.  Program is a combination of source code & object code.  Documentation consists of different types of manuals as shown below:
  7. 7. Documentation Manuals Analysis/ Specification Design Implementation Testing Context Diagram Data Flow Diagram Formal Specification Flow Charts ER Diagram Source Code Listings Cross- Reference Listings Test Data Test Results List of Documentation Manuals
  8. 8. PROGRAM VS. SOFTWARE  Operating procedures consist of instructions to set up & use the software system & instructions on how to react to system failure.  List of operating procedures is: Documentation Manuals User Manuals Beginner’s Guide Tutorial Reference Guide System Overview Operational Manuals Installation Guide System Administration Guide
  9. 9. LAYERED TECHNOLOGY A “Quality” Focus Process Model Methods Tools
  10. 10. LAYERED TECHNOLOGY  Software engineering is a layered technology.  An engineering approach must have a focus on quality which provides a continuous process improvement culture.  Process layer is the foundation that defines a framework with activities for effective delivery of software engineering technology.  Method provides technical how-to’s for building software.  It encompasses many tasks including communication, requirement analysis, design modeling, program construction, testing and support.  Tools provide automated or semi-automated support for the process and methods.
  11. 11. SOFTWARE PROCESS  A process is a collection of activities, actions and tasks that are performed when someproduct is to be created.  It is not a rigid prescription for how to build computer software.  Rather, it is an adaptable approach that enables the people doing the work to pick and choose the appropriate set of work actions and tasks.  Purpose of process is to deliver software in a timely manner and with sufficient quality to satisfy those who have sponsored its creation and those who will use it.
  12. 12. FIVE ACTIVITIES OF A GENERIC PROCESS FRAMEWORK  A General Process framework consists of five major activities.  These activities can be used for all software development regardless of the application domain, size of the project, complexity of the efforts etc.  For many software projects, these framework activities are applied iteratively as a project progresses.  Each iteration produces a software increment that provides a subset of overall software features and functionality.
  13. 13. FIVE ACTIVITIES OF A GENERIC PROCESS FRAMEWORK  Communication: communicate with customer to understand objectives and gather requirements  Planning: creates a “map” defines the work by describing the tasks, risks and resources, work products and work schedule.  Modeling: Create a “sketch”, what it looks like architecturally, how the constituent parts fit together and other characteristics.  Construction: code generation and the testing.  Deployment: Delivered to the customer who evaluates the products and provides feedback based on the evaluation.

×