B.Tech. IV (CO) Semester - 7 |
L |
T |
P |
C |
CO401 : SOFTWARE ENGINEERING (CS-I) |
3 |
1 |
2 |
5 |
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 |
(02 Hours) |
Software Process - Software Engineering Development Life Cycle – Software Qualities - Problems with Software Production – Brooke’s No Silver Bullet |
Software Life -Cycle Models |
(04 Hours) |
Build-and-Fix, Waterfall, Rapid Prototyping, Incremental, Spiral, Comparison, ISO 9000 – CMM levels – Comparing ISO 9000 and CM |
Software Requirements and Analysis |
(06 Hours) |
Techniques - Feasibility Analysis - Requirements Elicitation – Validation - Rapid Prototyping - OO Paradigms vs. Structured Paradigm - OO Analysis - CASE tools |
Software Specificaiton |
(12 Hours) |
Specification Document – Specification Qualities, Uses, Classification – Operational Behavioral – DFD, UML, Petri nets – Descriptive Specifications – ER Diagrams, Logic , Algebraic Specs - Comparison of various techniques and CASE tools |
Introducation to Formal Approach |
(06 Hours) |
Formal Specifications, Software Verification & Validation, Cleanroom Engineering, - Formal approaches, Model Checking – SPIN Tool for Distributed Software |
Case Tools, ISO and Capability Maturity Model |
(04 Hours) |
CASE Tools - Stepwise Refinement - Cost-Benefit Analysis - Scope of CASE - Versions control – Current State of the art in Software Engineering-Current State of the art |
Software Testing Principles |
(06 Hours) |
Non-execution & Execution based testing – Automated Static Analysis – Test-case selection - Black-Box and Glass-Box Testing - Testing Objects - Testing vs. Correctness Proof |
Advanced Topics |
(02 Hours) |
Tutorials will be based on the coverage of the above topics separately |
(14 Hours) |
(Total Contact Time: 42 Hours + 14 Hours = 56 Hours) |
PRACTICALS |
- Lab assignments on Static Analysis Tools for program quality improvement
- Software Requirements Analysis, Design, Implementation and Testing of the mini-projects assigned in the class (to be done necessarily group-wise in groups of at least three students)
- Formal Software Verification using SPIN tool with Model design in PROMELA as per the assignments.
|
BOOKS RECOMMENDED |
- Ghezzi, Jazayeri, Mandrioli: "Fundamentals of Software Engineering", 2/E, Pearson Education, 2002
- Sommerville: "Software Engineering", 2006 ed, Pearson Education, 9/E, 2010
- Roger S Pressman: "Software Engineering A Practitioner's Approach, McGraw-Hill 7/E, 2010
- Pankaj Jalote: "An Integrated approach to SE", Narosa, 3/E, 2005
- Stephen R Schach: "Software Engineering with JAVA", TMH, 1999
- Stephen R Schach: "Object Oriented and Classical Software Engineering", McGraw-Hill 8/E, 2010
|