Top Banner

of 34

Software Engineering Unit1

Apr 06, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/2/2019 Software Engineering Unit1

    1/34

    Software Engineering

    Prof. Archana Deshpande

  • 8/2/2019 Software Engineering Unit1

    2/34

    Course Objective

    To understand the fundamental concepts of -

    1. SDLC phases

    2. Software Process

    3. Requirement Phase

    4. Data Modeling Practices

    5. OOA and OOD Tools

    6. Design Phase

    7. Testing Phase

    8. Software Standards and Metrics

  • 8/2/2019 Software Engineering Unit1

    3/34

    Syllabus of SE

    Unit 1 - Software, modules, process, process framework,process models, SEI-CMMI model, Introduction toUnified process and Agile

    Unit 2 Requirements engineering, Problem Definition,Scope, Negotiation, Requirements Management,Gathering

    Unit 3 - Structured Systems Tools and Techniques fact

    finding tools, FDD, ERD, CLD, DFD, Decision Trees,Decision Tables, Structured English

    Unit 4 - Software Engineering Practice Data Modeling,System Modeling, Hatley - Pirbhai Modeling, object

    oriented modeling through state transition diagrams

  • 8/2/2019 Software Engineering Unit1

    4/34

    Unit 5 - UML tools and techniques for Web based/ObjectOriented Applications Class Hierarchy diagrams,Use Case diagrams, Sequence diagrams

    Unit 6 - Design Process, User Interface Design, Cohesion,Coupling

    Unit 7 - Testing- Strategies, Techniques, Alpha, Beta, Unit,

    Integration, Validation, Regression, Smoke, SystemTesting, Debugging, Basis Path, Black box, White box,Boundary Value Analysis, Test Cases

    Unit 8 - Product Metrics: Software Quality, Function-based,Size-based, ISO

  • 8/2/2019 Software Engineering Unit1

    5/34

    Books Recommended

    Analysis and Design of Information Systems 2e by Senn Software Engineering A Practitioner's Approach by Roger Pressman Systems Analysis and Design by Elias Awad Introducing Systems Analysis and Design by Lee

    Systems Analysis & Design by Perry Edwards (McGraw Hill)

    Systems Analysis, Design & Introduction to Software Engineering(SADSE) - Parthasarthy S, Khalkar B W Management Information Systems Waman Jawadekar

    INTERNET RESOURCES:-

    1) en.wikipedia.org/wiki/Software_engineering2) www.webopedia.com3) www.rspa.com/spi/4) www.answers.com/topic/software-engineering5) en.wikibooks.org/wiki/Software_Engineering6) www.sei.cmu.edu

    7) www.freetutes.com/systemanalysis/

    http://www.en.wikipedia.org/wiki/Software_engineeringhttp://www.webopedia.com/http://www.rspa.com/spi/http://www.answers.com/topic/software-engineeringhttp://www.en.wikibooks.org/wiki/Software_Engineeringhttp://www.sei.cmu.edu/http://www.freetutes.com/systemanalysis/http://www.freetutes.com/systemanalysis/http://www.sei.cmu.edu/http://www.en.wikibooks.org/wiki/Software_Engineeringhttp://www.answers.com/topic/software-engineeringhttp://www.answers.com/topic/software-engineeringhttp://www.answers.com/topic/software-engineeringhttp://www.rspa.com/spi/http://www.webopedia.com/http://www.en.wikipedia.org/wiki/Software_engineering
  • 8/2/2019 Software Engineering Unit1

    6/34

    Unit 1

    Software Engineering andSoftware Process

  • 8/2/2019 Software Engineering Unit1

    7/34

    Unit Objectives

    To understand the concepts of

    Software

    Software Engineering

    Modules

    Process Process Models

  • 8/2/2019 Software Engineering Unit1

    8/34

    Software

    What is a Software?

  • 8/2/2019 Software Engineering Unit1

    9/34

    Characteristics of a Software

    Software is developed or engineered; notmanufactured.

    Software doesnt wear out.

    Most software are custom built.

  • 8/2/2019 Software Engineering Unit1

    10/34

    System

    Application

    Engineering / Scientific

    Embedded

    Product

    Line Web Applications

    Artificial Intelligence

    Categories of Software

  • 8/2/2019 Software Engineering Unit1

    11/34

    Software Module

    What is a module?

  • 8/2/2019 Software Engineering Unit1

    12/34

    Software Engineering

    The application of a systematic, disciplined,quantifiable approach to the development,operation, and maintenance of software is

    Software Engineering. (IEEE) Software Engineeringis the establishment

    and use of sound engineering principles inorder to obtain economically software thatis reliable and works efficiently on realmachines. (Bauer)

  • 8/2/2019 Software Engineering Unit1

    13/34

    Layers of Software Engineering

    Tools

    Methods

    ProcessQuality

    Quality is the base for all the 3 layersof SE -

    Process

    Methods

    Tools

    Quality focus Total Quality

    Management (TQM), Six Sigma, ISO,CMMI etc.

  • 8/2/2019 Software Engineering Unit1

    14/34

    Process

    A set of activities, methods, practices,and transformations that people

    employ to develop and maintainsoftware and the associated products(e.g. project plans, design documents,

    code, test cases, user manuals etc.)

  • 8/2/2019 Software Engineering Unit1

    15/34

    Process Framework

    Process frameworkneeds to identifysmall number of

    framework activitiesapplicable to allsoftware projects.

    Umbrella activities areapplicable across theentire softwareprocess.

    Software Process

    Process Framework

    Umbrella activitiesFramework activity # 1

    Framework activity # 2

    S/W Engg. Action # 1.1

    Tasksets

    Work tasksWork productsQA pointsProject milestones

  • 8/2/2019 Software Engineering Unit1

    16/34

    Communication

    Planning

    Modeling Construction

    Deployment

    The framework activities are commonto all the software process; details ofthe software process may change.

    Generic process framework

  • 8/2/2019 Software Engineering Unit1

    17/34

    For example, modeling activity consists oftwo software engineering actions Analysis

    and Design. Analysis has a set of work tasks like

    requirements gathering, negotiation,specification, validation etc.

    Design has work tasks like data design,architectural design, interface design, andcomponent design.

  • 8/2/2019 Software Engineering Unit1

    18/34

    Umbrella activities

    Software project tracking and control

    Risk Management

    Software Quality Assurance Formal Technical Reviews

    Measurement

    Software Configuration Management Reusability Management

    Work Product Preparation and Production

  • 8/2/2019 Software Engineering Unit1

    19/34

    Process Models

    Waterfall

    Incremental

    RAD

    Prototyping

    Spiral

  • 8/2/2019 Software Engineering Unit1

    20/34

    Waterfall model

  • 8/2/2019 Software Engineering Unit1

    21/34

    Incremental model

  • 8/2/2019 Software Engineering Unit1

    22/34

    RAD model

  • 8/2/2019 Software Engineering Unit1

    23/34

    Prototyping model

  • 8/2/2019 Software Engineering Unit1

    24/34

    Spiral model

  • 8/2/2019 Software Engineering Unit1

    25/34

    SEI - CMMI

  • 8/2/2019 Software Engineering Unit1

    26/34

    Focuses on elements of essential practices andprocesses from various bodies of knowledge.

    Describes common sense, efficient, proven ways ofdoing business (which you should already be doing)- not a radical new approach.

    CMM is a method to evaluate and measure thematurity of the software development process of anorganizations.

    CMM measures the maturity of the softwaredevelopment process on a scale of 1 to 5.

    CMM v1.0 was developed by the SoftwareEngineering Institute (SEI) at Carnegie MellonUniversity in Pittsburgh, USA.

    SEI- CMM

  • 8/2/2019 Software Engineering Unit1

    27/34

    CMM was originally developed for SoftwareDevelopment and Maintenance but later it wasdeveloped for : Systems Engineering Supplier Sourcing Integrated Product and Process Development People CMM Software Acquisition Others...

    CMM Examples:

    People CMM: Develop, motivate and retain projecttalent.

    Software CMM: Enhance a software focuseddevelopment and maintenance capability.

  • 8/2/2019 Software Engineering Unit1

    28/34

    Unified process

    Use case driven

    Architecture centric

    Iterative and incremental

    Formed by James Rumbaugh, Grady Booch, andIvar Jacobson

    Unified Modeling Language (UML) - an industry

    standard for OO software development. Using UML, a framework developed for OO-SE

    called as Unified Process.

  • 8/2/2019 Software Engineering Unit1

    29/34

    Phases of the Unified Process

  • 8/2/2019 Software Engineering Unit1

    30/34

    Phases of the UP

    The UP defines the following four phases:

    The Inception phase concludes with theObjective milestone

    The Elaboration phase concludes withthe Architecture milestone

    The Construction phase concludes with

    the Initial Operational Capabilitymilestone

    The Transition phase concludes with theProduct Release milestone

  • 8/2/2019 Software Engineering Unit1

    31/34

    Describe all the phases of UP in detail.

  • 8/2/2019 Software Engineering Unit1

    32/34

    Rational Unified Process (RUP)originally developed by Rational

    Software, a company later acquired byIBM.

    Rational Rose popular UMLmodeling solution by IBM

    Agile Unified Process

    Basic Unified Process

  • 8/2/2019 Software Engineering Unit1

    33/34

    Agile software development Iterative and incremental development Self-organizing, cross-functional teams. Minimally planned tasks in small increments No long-term planning.

    Iterations last from one to four weeks. Emphasizes face-to-face communication Work in a single open office (called a bullpen

    Includes Scrum, Crystal Clear, ExtremeProgramming, Adaptive Software Development,Feature Driven Development, and DynamicSystems Development Method (DSDM).

    These are now typically referred to as AgileMethodologies

  • 8/2/2019 Software Engineering Unit1

    34/34