Syllabus - Software Engineering with Agile Methodology (AD403)
Artificial Intelligence and Data Science
Software Engineering with Agile Methodology (AD403)
IV-Semester
Unit I
Introduction to Software Engineering
Software Development Life Cycles, SDLC Models: Waterfall, V-Model, Prototype Model, Incremental, Evolutionary, RAD, Spiral. Project Planning, Metrics for Project Size Estimation, Project Estimation Techniques, Requirements Gathering and Analysis, Software Requirements Specification (SRS). Software Product and Process Characteristics, Software Process Models, Evolutionary Process Models and Agile processes. Software Process customization and improvement, CMM, Product and Process Metrics, Functional and Non-functional requirements, Requirement Sources and Elicitation Techniques, Analysis Modeling for Function-oriented and Object-oriented software development, Use case Modeling, System and Software Requirement Specifications, Requirement Validation, Traceability
Unit II
Software Design, Analysis and Testing
The Software Design Process, Design Concepts and Principles, Software Modeling and UML, Architectural Design, Architectural Views and Styles, User Interface Design, Function oriented Design, SA/SD Component Based Design, Design Metrics. Software Static and Dynamic analysis, Code inspections, Software Testing, Fundamentals, Software Test Process, Testing Levels, Test Criteria, Test Case Design, Test Oracles, Test Techniques, Testing Frameworks, Test Plan, Test Metrics, Testing Tools.
Unit-III
Software Maintenance & Software Project Measurement
Need and Types of Maintenance, Software Configuration Management (SCM), Software Change Management, Version Control, Change control and Reporting, Program Comprehension Techniques, Re-engineering, Reverse Engineering, Tool Support. Project Management Concepts, Feasibility Analysis, Project and Process Planning, Resources Allocations, Software efforts, Schedule, and Cost estimations, Project Scheduling and Tracking, Risk Assessment and Mitigation, Software Quality Assurance (SQA). Project Plan, Project Metrics.
Unit-IV
Fundamentals of Agile Methodology
Introduction to Agile software development methodology, Life Cycle of Agile development, Agile v/s Traditional software development(Waterfall model)Agile Manifesto: Principles, Benefits and Challenges of Agile, Agile Values, Agile Model, Phases of Agile Model.
Unit-V
Software Development using Agile Methodology
Gathering requirement using Agile way, User Stories: The currency of agile development, Characteristics of good user stories, Generating User Stories, Agile estimation and planning, Implementation of agile, Applying an Agile Mindset to a Project, Roles in agile development, Agile Frameworks: Scrum, Kanban, Crystal, XP, ASD, DSDM.
Course Objective
To cover the underlying concepts and techniques used in Software Engineering and to understand the modern way of Software development using Agile methodology.
Course Outcome
["Describe the Fundamentals of software Engineering.", "Understand Software Development Life Cycle phases and their Role in Software Development.", "Understand the Software development using Agile methodology.", "Understand the implementation principles and guidelines for software development using Agile methodology.", "Use implementation techniques of Software architecture for effective software development.", "Apply core values and principles of Agile for enterprise application development."]
Practicals
-
Lab work
Lab work should include a running case study problem for which different deliverables set at the end of each phase of a software development life cycle are to be developed. This will include modeling the requirements, analysis, detailed design, implementation, testing, deployment, and maintenance. Subsequently the design models will be coded and tested. For modeling, Open Source tools like StarUML and Licensed Tools like Rational Rose products. For coding and testing, IDE like Eclipse, Net Beans, and Visual Studio can be used.
Reference Books
-
Pankaj Jalote ,”An Integrated Approach to Software Engineering”, Narosa Pub, 2005
-
Rajib Mall, “Fundamentals of Software Engineering” Second Edition, PHI Learning
-
James Shore and Shane Warden, “The Art of Agile Development 1st Edition”, o'reilly books.
-
Dikel, David, D. Kane, and J. Wilson, “Software Architecture: Organizational Principles and Practices”, Prentice-Hall.
-
Mike Cohn, “Agile Estimating and Planning, 1st (first) edition”, Prentice-Hall.