Teaching Scheme (in Hours)
Theory |
Tutorial |
Practical |
Total |
3 |
0 |
2 |
4 |
Subject Credit : 4
Examination Scheme (in Marks)
Theory
ESE (E)
|
Theory
PA (M)
|
Practical
ESE Viva (V)
|
Practical
PA (I)
|
Total
|
70 |
30 |
30 |
20 |
150 |
Syllabus Content
Unit-1: Introduction to Software and Software Engineering
The Evolving Role of Software, Software: A Crisis on the Horizon and Software Myths, Software Engineering: A Layered Technology, Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
Unit-2: Agile Development
Agility and Agile Process model, Extreme Programming, Other process models of Agile Development and Tools.
Unit-3: Managing Software Project
Software Metrics (Process, Product and Project Metrics), Software Project Estimations, Software Project Planning (MS Project Tool), Project Scheduling & Tracking, Risk Analysis &Management (Risk Identification, Risk Projection, Risk Refinement , Risk Mitigation).
Unit-4: Requirement Analysis and Specification
Understanding the Requirement, Requirement Modeling, Requirement Specification (SRS), Requirement Analysis and Requirement Elicitation, Requirement Engineering.
Unit-5: Software Design
Design Concepts and Design Principal, Architectural Design, Component Level Design (Function Oriented Design, Object Oriented Design) (MS Visio Tool ),User Interface Design, Web Application Design.
Unit-6: Software Coding & Testing
Coding Standard and coding Guidelines, Code Review, Software Documentation, Testing Strategies, Testing Techniques and Test Case, Test Suites Design, Testing Conventional Applications, Testing Object Oriented Applications, Testing Web and Mobile Applications, Testing Tools (Win runner, Load runner).
Unit-7: Quality Assurance and Management
Quality Concepts and Software Quality Assurance, Software Reviews (Formal Technical Reviews), Software Reliability, The Quality Standards: ISO 9000, CMM, Six Sigma for SE, SQA Plan.
Unit-8: Software Maintenance and Configuration Management
Types of Software Maintenance, Re-Engineering, Reverse Engineering, Forward Engineering, The SCM Process, Identification of Objects in the Software Configuration, Version Control and Change Control
Unit-9: DevOps
Overview, Problem Case Definition, Benefits of Fixing
Application Development Challenges, DevOps Adoption
Approach through Assessment, Solution Dimensions,
What is DevOps?, DevOps Importance and Benefits, DevOps
Principles and Practices, 7 C’s of DevOps Lifecycle for Business
Agility, DevOps and Continuous Testing, How to Choose Right
DevOps Tools, Challenges with DevOps Implementation, Must
Do Things for DevOps, Mapping My App to DevOps Assessment, Definition, Implementation, Measure and Feedback
Unit-10: Advanced Topics in Software Engineering
Component-Based Software Engineering, Client/Server Software Engineering, Web Engineering, Reengineering, Computer-Aided Software Engineering, Software Process Improvement, Emerging Trends in software Engineering.
Reference Books
Sr. |
Title |
Author |
Publication |
Amazon Link |
1 |
Software Engineering- A Practitioner’s Approach |
Roger S.Pressman |
McGraw-Hill International |
|
2 |
Software Engineering |
Ian Sommerville |
Pearson education Asia |
|
3 |
Software Engineering |
Pankaj Jalote |
A Precise Approach Wiley |
|
4 |
Software Engineering Fundamentals |
Ali Behhforoz & Frederick Hudson |
OXFORD |
|
5 |
Fundamentals of software Engineering |
Rajib Mall |
Prentice Hall of India |
|
6 |
DevOps Tools from Practitioner’s ViewPoint |
Deepak Gaikwad, Viral Thakkar |
Wiley |
|
7 |
Clean Architecture: A Craftsman's Guide to Software Structure and Design |
Robert C. Martin |
|
|
Course Outcome
After learning the course the students should be able to:
1. Prepare SRS (Software Requirement Specification) document and SPMP (Software Project Management Plan) document.
2. Apply the concept of Functional Oriented and Object-Oriented Approach for Software Design.
3. Recognize how to ensure the quality of software products, different quality standards, and software review techniques.
4. Apply various testing techniques and test plan in.
5. Able to understand modern Agile Development