ADVANCED TOPICS IN SOFTWARE ENGINEERING
- Course
- CMPE555 - ADVANCED TOPICS IN SOFTWARE ENGINEERING
- Department
- Computer Engineering - English - Master
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 3
- ECTS
- 0
- T+P+L
- 3 + 0 + 0
- Course Coordinator(s)
- -
- Prerequisite
- -
- Keywords
Course Description
The main topics discussed in this course are development methodologies and design patterns. Software life cycle phases like requirements, design, implementation, testing and deployment will be discussed with methodologies like Waterfall, prototyping and Extreme Programming. Also design patterns like creational, structural and behavioral patterns will be evaluated.
ADVANCED TOPICS IN SOFTWARE ENGINEERING
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
- 01 Identify principles, methods and techniques used in Software Engineering.
- 02 Describe and Discuss Software Development Life Cycle processes.
- 03 Explain the importance of Agile development and recognise the techniques used in this area.
- 04 Implement Process Requirements engineering.
- 05 Practice System Modelling techniques, tools and methods.
- 06 Describe and outline System Testing stages and System Evolution.
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | IceBreaking, Introduction to Software Engineering |
| Week 2 | Software Process models |
| Week 3 | Agile Development |
| Week 4 | Project Management |
| Week 5 | Requirements Engineering: Functional, Non-Functional and Domain Requirements |
| Week 6 | Requirements Engineering: Requirements eliction and specification |
| Week 7 | System Modelling, Design and Implementation: Behaviour of the System |
| Week 8 | Midterm Exam |
| Week 9 | System Modelling, Design and Implementation: Structure of the System |
| Week 10 | System Modelling, Design and Implementation: Object-Oriented Design & Development |
| Week 11 | Software Architecture : Model View Controller, Layered Architecture, Repository Architecture, Client - Server Architecture, Pipe - Filter Architecture |
| Week 12 | Software Testing : Developing Testing, Test Driven Development, User Testing |
| Week 13 | Software Evolution: Legacy System and Software Maintenance |
| Week 14 | Review and Exercises |
| Week 15 | Final Exam |
Reference Books & Course Materials
- 01 Ian Sommerville, Software Engineering, 10th Edition, Addison Wesley, 2016.
Learning Outcomes
- L01 Identify principles, methods and techniques used in Software Engineering.
- L02 Describe and Discuss Software Development Life Cycle processes.
- L03 Explain the importance of Agile development and recognise the techniques used in this area.
- L04 Implement Process Requirements engineering.
- L05 Practice System Modelling techniques, tools and methods.
- L06 Describe and outline System Testing stages and System Evolution.
Program Outcomes
No program outcomes have been defined.
Po-Lo Matrix
The PO-LO matrix has not been populated yet.