Faculty of Technical Sciences

Subject: Software patterns and components (17.SES40)

Native organizations units: No data
General information:
 
Category Professional-applicative
Scientific or art field Applied Computer Science and Informatics
Interdisciplinary No
ECTS 5
Educational goal:

Learning basic theoretical knowledge, techniques, tools and recommended practices in the field of software patterns (Software Patterns) and software development based on components (Component-Based Development - CBD) . Students learn to detect patterns in the context of the development of complex software products as well as defining the system architecture based on software components.

Educational outcome:

Upon completion of the course students are able to recognize patterns and to understand their advantages and disadvantages in the development of complex software applications. They are also capable, for the task at hand, to select and apply the most appropriate component-based development platform, define system architecture through the decomposition into software components, define their interfaces and do the system implementation.

Course content:

Theoretical lectures: Basic definitions and history of the development of software patterns. Categories of software patterns, design patterns, architectural patterns. Overview of popular patterns. Advantages and disadvantages. Catalogs of software patterns. Anti-Patterns; basic features, overview of typical anti-patterns. The component-based development, basic definitions; history. Review of existing component models. Advantages and disadvantages. Modeling applications architecture based on components. Software components markets. Practical lectures: training in the use of modern tools for Component-Based Development. Implementation of the project task using modern tools and frameworks for component based development with emphasis on the proper use of software patterns.

Teaching methods:

Lectures, Computer exercises; Consultation. Design and implementation of project assignment by working within project teams. At the end of the semester, public presentations of the most successful teams are organized with the discussion of the obtained results. The defense of project assignment is oral. The final exam is oral. Final grade is based on the score from the final exam and project defense.

Literature:
Authors Title Year Publisher Language
Grand, M. Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML 2002 John Wiley & Sons, Inc. English
E.Gamma, R.Helm, R.johnson, J. Vlaisides Design Patterns Elements of Reusable Object-Oriented Software 2005 Addison-Wesley English
Szyperski, C. Component Software: Beyond Object-Oriented Programming 2002 Addison-Wesley Longman Publishing Co., Inc. English
Eisele, M. Modern Java EE Design Patterns 2016 O`Reilly English
Richards, M. Microservices AntiPatterns and Pitfalls 2016 O Reilly English
Richards, M. Software Architecture Patterns 2015 O’Reilly Media, Inc. English
Knowledge evaluation:
Course activity Pre-examination Obligations Number of points
Theoretical part of the exam No Yes 50.00
Project defence Yes Yes 50.00
Lecturers:
API Image

prof. dr Dejanović Igor

Full Professor

Lectures

Asistent Kovačević Tamara

Assistant - Master

Computational classes

Asistent Šarenac Balša

Assistant - Master

Computational classes

Asistent Kovačević Ivana

Assistant - Master

Computational classes

Faculty of Technical Sciences

© 2024. Faculty of Technical Sciences.

Contact:

Address: Trg Dositeja Obradovića 6, 21102 Novi Sad

Phone:  (+381) 21 450 810
(+381) 21 6350 413

Fax : (+381) 21 458 133
Emejl: ftndean@uns.ac.rs

© 2024. Faculty of Technical Sciences.