National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6401 : Advanced Software Engineering { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Dr. Judhistir Mahapatro

Syllabus

Software Life Cycle Models, Managing software projects, Project management concepts, Software process and Project metrics, Software Project Planning, Project estimation techniques, Risk Analysis and Management, Project scheduling and tracking, Software Configuration Management. [10 hours]

Requirements Analysis and Specifications, Formal Methods, Analysis Modeling, Design Concepts and Principles, Function-oriented design, Architectural design, User Interface Design, Component Level Design.[8 hours]

Software Testing Techniques: Black box and White box Testing, Regression testing, Software Reliability,Software Quality Assurance, Software Maintenance. [8 hours]

Object-Oriented software engineering: Object-oriented Concepts and Principles, Object-oriented analysis, Object -oriented design, Object-Oriented metrics, Object-oriented software testing, Recent Topics in Software Engineering.[10 hours]

Course Objectives

  • To discuss the software engineering discipline- its evolution, impact and emergence of software engineering and explain the development and use of different software life cycle models for real life industrial applications.
  • To discuss different aspects of software project management, risk management and configuration management and explain various requirement elicitation, analysis and specification techniques.
  • To discuss various software design methodologies, the impact of cohesion and coupling measures on the goodness of the software design.
  • To discuss the importance of practicing different coding standards, guidelines and different testing strategies along with software reliability metrics and software quality management techniques & standards.

Course Outcomes

After reading this subject, students will be able to: <br />1. Choose a proper life cycle model for different real life industrial applications, design software using function-oriented approach (DFDs) and object-oriented approach (UML diagrams). <br />2. Understand the concepts of computer aided software engineering (CASE) and use different CASE tools in the development, maintenance and reuse of software systems. <br />3. Know the emerging concepts like cloud computing, middleware, SOA etc., their functioning and their applications in real life problems.

Essential Reading

  • R. S. Pressman, Software Engineering A Practitioner's Approach, McGraw Hill Publications , 2006
  • R. Mall, Fundamentals of Software Engineering, Prentice Hall of India , 2014

Supplementary Reading

  • I. Sommerville, Software Engineering, Pearson Education, Asia , 2006
  • P. Jalote, An Integrated Approach to Software Engineering, Narosa , 2006