Department of Computer Science & Engineering

M.Tech. I (CO) Semester - 2

L

T

P

C

CO604: SOFTWARE ENGINEERING METHODOLOGIES   

3

0

2

4

COURSE OBJECTIVES
  • Introduce the concepts and methods required for the construction of large software intensive systems.
  • To make students understand the importance of requirement analysis.
  • Enable students with detailed knowledge of techniques for the analysis and design of complex software intensive systems.
  • To make students understand steps to design and test the software.
  • To make students aware of importance of documentation.
  • COURSE OUTCOMES
    After successful completion of this course, student will be able to
    • Understand various phases of software development lifecycle.
    • Analyze the requirements systematically and develop the model using standard tools and methodologies.
    • Apply key aspects of software engineering processes for the development of a complex software system.
    • Keep abreast of current trends in the area of software engineering.
    COURSE CONTENT
    INTRODUCTION

    (04 Hours)

    Motivation - Software Attributes - Complexity - Software Quality Issues

    SOFTWARE PROCESS SOFTWARE LIFE CYCLE MODELS

    (12 Hours)

    A Sequential Methodology - A Cyclical Methodology -The Water Sluice - Established Methodologies - The Boehm-Waterfall Methodology - The Boehm-Spiral Methodology Versions - The Booch Methodology - Object Modeling Technique (OMT) Rational Objectory Methodology

    FORMAL SOFTWARE ENGINEERING

    (12 Hours)

    Formal specifications - Techniques - Verification and Validation - Theorem Provers - Model checking - modeling concurrent systems - Temporal logics - CTL & LTL and model checking - SAT Solvers - Testing Techniques - Test Case Generation

    SOFTWARE ARCHITECTURES

    (04 Hours)

    Software Engineering Tools and Environments - Software Metrics - COTS Integration - Distributed, Internet-scale and Web-based Software Engineering

    EMPIRICAL STUDIES OF SOFTWARE TOOLS AND METHODS

    (04 Hours)

    Software Reengineering - Software Reuse - Software Safety - Enterprise Architectures, Zachman's Framework; Architectural Styles

    SOFTWARE DESIGN PATTERNS

    (04 Hours)

    Architecture description languages - Product-line architectures; Component based development

    (Total Contact Time: 42 Hours)

    PRACTICALS
    1. Mini-projects aimed at developing the prototypes of the applications specified in the class and applying techniques for verifying the requirements, specifications, testing using IBM Rational Tools.
    2. Verification of the Concurrent Distributed Problems specified in the class using the Model Checker SPIN.
    BOOKS RECOMMENDED
    1. Ghezzi, Jazayeri, Mandrioli, " Fundamentals of Software Engineering", 2/E,Pearson ducation,2002
    2. Sommerville, " Software Engineering", 6/E,Pearson Education, 2006.
    3. Roger S Pressman, " Software Engineering - A Practitioner's Approach" , 6/E,MGH, 2005.
    4. Schmidt, Stal, Rohnert, and Buschmann, "Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Network ed Objects", Wiley, 2000.
    5. Len Bass, Paul Clements, Rick Katzman, Ken Bass, "Software Architecture in Practice", 2/E, Addiwon-Wesley Professional, 2003.