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.