Syllabus

CS6403       SOFTWARE ENGINEERING

OBJECTIVES:

The student should be made to:

·        Understand the phases in a software project

·        Understand fundamental concepts of requirements engineering and Analysis Modelling.

·        Understand the major considerations for enterprise integration and deployment.

·        Learn various testing and maintenance measures

 

UNIT I         SOFTWARE PROCESS AND PROJECT MANAGEMENT

Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models – Software Project Management: Estimation – LOC and FP Based Estimation, COCOMO Model – Project Scheduling – Scheduling, Earned Value Analysis - Risk Management.

 

UNIT II        REQUIREMENTS ANALYSIS AND SPECIFICATION

Software Requirements: Functional and Non-Functional, User requirements, System requirements, Software Requirements Document – Requirement Engineering Process: Feasibility Studies, Requirements elicitation and analysis, requirements validation, requirements management-Classical analysis: Structured system Analysis, Petri Nets- Data Dictionary.

 

UNIT III       SOFTWARE DESIGN

Design process – Design Concepts-Design Model– Design Heuristic – Architectural Design – Architectural styles, Architectural Design, Architectural Mapping using Data Flow- User Interface Design: Interface analysis, Interface Design –Component level Design: Designing Class based components, traditional Components.

 

UNIT IV       TESTING AND IMPLEMENTATION

Software testing fundamentals-Internal and external views of Testing-white box testing- basis path testing-control structure testing-black box testing- Regression Testing – Unit Testing – Integration Testing – Validation Testing – System Testing And Debugging – Software Implementation Techniques: Coding practices-Refactoring.

 

UNIT V        PROJECT MANAGEMENT

Estimation – FP Based, LOC Based, Make/Buy Decision, COCOMO II - Planning – Project Plan, Planning Process, RFP Risk Management – Identification, Projection, RMMM - Scheduling and Tracking –Relationship between people and effort, Task Set & Network, Scheduling, EVA - Process and Project Metrics.

 

OUTCOMES:

At the end of the course, the student should be able to

·        Identify the key activities in managing a software project.

·        Compare different process models.

·        Concepts of requirements engineering and Analysis Modeling.

·        Apply systematic procedure for software design and deployment.

·        Compare and contrast the various testing and maintenance.

 

TEXT BOOK

1.    Roger S. Pressman, “Software Engineering – A Practitioner‟s Approach”, Seventh Edition, Mc Graw-Hill International Edition, 2010.

 

REFERENCES:

1.    Ian Sommerville, “Software Engineering”, 9th Edition, Pearson Education Asia, 2011.

2.    Rajib Mall, “Fundamentals of Software Engineering”, Third Edition, PHI Learning Private Limited ,2009.

3.    Pankaj Jalote, “Software Engineering, A Precise Approach”, Wiley India, 2010.

4.    Kelkar S.A., “Software Engineering”, Prentice Hall of India Pvt Ltd, 2007.

5.    Stephen R.Schach, “Software Engineering”, Tata McGraw-Hill Publishing Company Limited, 2007.