Subject: Software Patterns and Components (06 - E2S40)


Basic Information

CategoryTheoretical-methodological
Scientific or art field:Applied Computer Science and Informatics
InterdisciplinaryNo
ECTS4
Course specification

Course is active from 01.10.2007..


Precondition courses

Course idMandatoryMandatory
Software Specification and ModelingYesYes
Software DesignYesNo
To teach students basic theoretical knowledge, techniques, tools and best practices in the field of software patterns and Component-Based Development - CBD. Students learn to recognize patterns in the context of the development of complex software products as well as to define the system architecture based on software components.
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.
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.
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.
AuthorsNameYearPublisherLanguage
McAffer, J.; Lemieux, J.-M. & Aniszczyk, C.Eclipse Rich Client Platform2010Addison-WesleyEnglish
C. SzyperskiComponent Software: Beyond Object-Oriented Programming2002Addison Wesley / LongmanEnglish
E.Gamma, R.Helm, R.johnson, J. VlaisidesDesign Patterns Elements of Reusable Object-Oriented Software2005Addison-WesleyEnglish
M. GrandPatterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML2002WileyEnglish
Scarpino, M.; Holder, S.; Ng, S. & Mihalkovic, L.SWT/JFace in Action: GUI Design with Eclipse 3.0 (In Action series)2004ManningEnglish
Rubel, D.; Clayberg, E. & Wren, JThe Eclipse Graphical Editing Framework (GEF)2011Addison-WesleyEnglish
Course activity Pre-examination ObligationsNumber of points
ProjectYesYes50.00
Theoretical part of the examNoYes50.00
Name and surnameForm of classes
Missing picture!

Dejanović Igor
Full Professor

Lectures
Missing picture!

Milosavljević Gordana
Full Professor

Lectures
Missing picture!

Vaderna Renata
Assistant - Master

Computational classes
Missing picture!

Nikolić Vladimir
Assistant - Master

Computational classes
Missing picture!

Luburić Nikola
Assistant Professor

Computational classes