This course covers the fundamentals of software engineering. The aim of the course is to transfer knowledge on software development process models, system requirements engineering, formal specification and validation. The students are challenged for finding appropriate engineering compromises and applying effective methods of design, coding, and testing. The course combines a strong technical focus with a capstone project providing the opportunity to practice engineering knowledge, skills, and practices using CASE tools for object-oriented development.
Software development process models and software lifecycle, software requirements analysis and specification, overview of object-oriented software modeling with Unified Modeling Language and exposure to CASE tools for object-oriented development, issues in software quality assurance and software maintenance, experience with CASE tools and environments, and software engineering practices through a term project.
1: Lecture, 2: Question-Answer, 3: Lab, 4: Case-study
Course Evaluation Methods:
A: Testing, B: Experiment, C: Homework, D: Project