course introduces students to the fundamentals of contemporary software
engineering. An overview of the agile and non-agile software engineering
principles, methods, tools and techniques is presented. Current trends and
challenges in the practice of software engineering are explored. Students apply
contemporary agile requirements analysis, planning, architecture, design,
implementation and testing practices to software engineering project work in
course has been designed to:
students to the software Development process and the core activities at various
levels of development
students on requirements analysis of a simple software system
students manage a team of software developers
students to software documentation
students to Validation, Verification and testing a software Product.
By the end of the course,
students should be able to:
the process of software development.
the principles and methods of software engineering in practice.
critical and analytic thinking to the planning, execution and evaluation of the
software development process
automated tools to support the software development process
creative thinking in the design of industry strength practical software
techniques and methodologies used in the software development process