Educational Objective: This course covers the fundamental concepts and methodologies of software engineering. It emphasizes the main phases of the software lifecycle, such as requirements, design, implementation, testing, project planning.
|
Course Contents/Structure
Theoretical education: Introduction to Software Engineering. Process Models and Software Products; Software Architecture/Design Patterns; Elements of Reusable Object-Oriented Software; Project management; Requirements Analysis; Formal software design specification techniques; Software Quality Assurance and Testing; Software metrics.
Practical training: Exercises to develop ontologies and knowledge bases. Demonstration of the fundamental aspects of the Design Pattern. This course teaches each software design pattern using real-life examples and sample implementations.
|
1. Pfleeger, S.L.; Atlee, J.M. Softversko inženjerstvo: teorija i praksa, Beograd: Računarski fakultet: CET, 2006.
2. McCormack, C.; Jones, D. Building a Web-based education system, New York [etc.]: Wiley Computer Publishing, 1998.
3. Milićev, D. Objektno orijentisano modelovanje na jeziku UML: skripta sa praktikumom, Beograd: Mikro knjiga, 2001.
4. Slade, R. M. Software forensics: collecting evidence from the scene of a digital crime, New York: McGraw-Hill, 2004.
|