L T P/S SW/ No.
of TOTAL
Course Title: ADVANCED SOFTWARE ENGINEERING PRINCIPLES Credit Units: FW PSDA CREDIT
UNITS
Course Level: PG 3 0 0 2 2 4
Course Code: IT607
Course Objectives:
To provide an advanced understanding and knowledge of the software engineering techniques, techniques to collect software requirements from client and
CASE tools and to understand the importance of these case tools in software development.
Pre-requisites:
1. Student should have knowledge of development languages of software
2. Student should know what is software in actual means
Course Contents/Syllabus:
Weightage (%)
Module I Life Cycle Models 20
Waterfall Model
Prototying Models
Incremental Development
Spiral Model
Rapid Application Development
Componant Model
Agile Software Development
Selection of appropriate development process
Module II Formal Methods 20
Basic concepts
Mathematical Preliminaries
Mathematical notations for Formal Specification
Formal Specification Languages
Z-Notations
Ten commandments of formal methods
Formal Methods- The Road Ahead
Module III Component-Based Software Engineering 25
Component-Based Software Engineering
Engineering of Component-based Systems
CBSE Process
Domain Engineering
Component-based Development
Classifying and Retrieving Components
Economics of CBSE
Cleanroom Software Engineering
The Cleanroom Approach
Functional Specification
Cleanroom Design
Cleanroom Testing
Module IV Client/Server Software Engineering 20
Client/Server Software Engineering
The Structure of Client/Server Systems
Software Engineering for Client Server Systems
Analysis Modeling Issues
Design for Client Server Systems
Testing Issues.
Web Engineering
The Attributes of Web-based Applications
WebE Process
Framework for WebE
Formulating/Analyzing Web-based Systems
Design for Web-based Applications
Testing Web-based Applications
Management Issues.
Service Oriented Software Engineering
Services as Reusable Components
Service Engineering
Software Development with Services
Module V Reengineering and CASE 15
Reengineering
Business Process Reengineering
Software Reengineering
Reverse Reengineering
Restructuring, Forward Reengineering
Economics of Reengineering.
Computer-Aided Software Engineering
Introduction
Building Blocks for CASE
Taxonomy of CASE Tools
Integrated CASE Environments
Integration Architecture
CASE Repository
Case Study of Tools like TCS Robot.
Course Learning Outcomes:
1. Analyze the software life cycle models;
2. Identify the importance of the software development process;
3. Analyze the importance of CASE tools;
4. Design and develop correct and robust software products using advanced software engineering techniques;
5. Able to understand business requirements pertaining to software development.
Pedagogy for Course Delivery:
The class will be taught using remote teaching methodology. Students’ learning and assessment will be on the basis of four quadrants and flipped class method. E-
content will be also provided to the students for better learning. The class will be taught using theory, practical and case-based method.
List of Professional Skill Development Activities (PSDA)
I. Quiz
II. Presentation
Assessment/ Examination Scheme:
Theory L/T (%) Lab/Practical/Studio (%) Total
100% 0%
100%
Theory Assessment (L&T):
Continuous Assessment/Internal Assessment End Term Examination
Components (Drop down) Attendance Class Test HA Quiz EE
Weightage (%) 5 15 10 10 60
Text Reading:
Roger S. Pressman, Software Engineering a Practitioners Approach, McGraw-Hill (2008).
J. Bowan, Formal Specification and Documentation using Z - A Case Study Approach, International Thomson Computer Press (2003).
Antoni Diller, Z., An Introduction to Formal Methods (second edition), Wiley, 2nd edition (1994).
References:
M. Dyer, The Cleanroon Approach to Quality Software Development, Wiley (1992).
Prowell, S., Trammell, C.J. and Poore, J.H, Cleanroom Software Engineering: Technology and Process, Addison-Wesley, Massachusetts (1999).
Allen, Frost, Yourdon, Component-Based Development for Enterprise Systems: Applying the Select Perspectives, Cambridge University Press (1998).
Zantinge and Adriaans, Managing Client/Server, Addison-Wesley (1996).