Course Objectives:
This course enables the students to
Course Outcomes(COs):
Learning Outcome (at course level)
| Learning and teaching strategies | Assessment Strategies |
| Approach in teaching: Interactive Lectures, Discussion, Demonstration, Role plays
Learning activities for the students: Self-learning assignments, Effective questions, presentation, flip classroom
|
Semester End Examination |
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, SDLC
Agility and Agile Process model, Extreme Programming, Other process models of Agile Development and Tools.
Software Project Requirement Analysis and Specification
Software Metrics (Process, Product and Project Metrics), Software Project Estimations, Software Project Planning (MS Project Tool), Project Scheduling & Tracking, Basic idea of behavioral modeling in UML. State diagrams, Interaction diagrams, Use case diagrams, Risk Analysis & Management (Risk Identification, Risk Projection, Risk Refinement , Risk Mitigation).
Understanding the Requirement, Requirement Modeling, Requirement Specification (SRS), Requirement Analysis and Requirement Elicitation, Requirement Engineering.
Project Planning & Scheduling
Size Estimation, Cost Estimation, Models, Static, single variable models, Static, Multivariable Models, COCOMO, The Putnam Resource Allocation Model, Risk Identification and Projection: RMMM, Project scheduling and Tracking. Object- oriented concepts and principles. software risks, Risk identification, Risk projection, risk refinement, risk mitigation, monitoring and management, the RMMM plan
Software Design & Quality Management
Design Concepts and Design Principal, Design Documentation, Design Methods: Data Design, Architectural Design, Interface Design, Component Level Design (Function Oriented Design, Object Oriented Design) (MS Visio Tool ),User Interface Design, Web Application Design, Advanced structured modeling in UML
Quality Planning: Quality Concepts, Procedural Approach to Quality Management, Software Quality assurances, software reviews, formal technical reviews, Formal approaches to SQA, Statistical Software Quality assurances, Change Management: software Configuration Management, The SCM repository, SCM Process, Configuration Management for Web Engineering.
Software Testing
Fundamentals, White Box Testing, Black Box Testing, software testing strategies, verification and Validation, System Testing, Unit testing, Integration testing and Debugging.
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, Risk-Related Monitoring. Emerging Trends in software Engineering.
Essential Readings:
· Roger S Pressman, Bruce R Maxim, “Software Engineering: A Practitioner’s Approach”, 8th edition, Tata McGraw Hill, 2014.
· Ian Sommerville, “Software engineering”, 9th edition, Addison Wesley Longman, 2014.
· James Rumbaugh. Micheal Blaha, “Object oriented Modeling and Design with UML”, 5th Edition, 2017.
Reference Books:
· Simon Bennett, Steve McRobb and Ray Farmer, “ Object-Oriented Systems Analysis and Design Using UML” 5th Edition,McGraw Hill Education, 2014
· Charles Ritcher, “Designing Flexible Object Oriented systems with UML”, Tech Media, 2008.
Grady Booch, James Rumbaugh, Ivar Jacobson., “The Unified Modeling Language User Guide”, 2nd Edition, Pearson, 2007.
E Resources
· Software Engineering, IIT Kharagpur , Prof. Rajib Mall https://youtu.be/w0LQh0vCeqI
· Introduction to Software Engineering Lecture Series on Software Engineering by Prof.N.L. Sarda, Prof. Umesh Bellur https://youtu.be/Z6f9ckEElsU
· Software Project Management, IIT Kharagpur by Prof. Rajib Mall, Prof. Durga Prasad Mohapatra https://youtu.be/w9BSk8MGOGM https://youtu.be/w9BSk8MGOG
· Modern Application Development, IIT Madras Prof. Aamod Sane , Prof. Abhijat Vichare, Prof. Madhavan Mukund https://youtu.be/FPtLsZ62pdA
Journals
· Journal of Software Engineering : Asian Network for Scientific Information
· Journal of Software Engineering Research and Development : Springer
· International Journal of Software Engineering, Technology and Applications: Inderscience publisher
Journal of Systems and Software: Elsevier