Software Design is a key phase in software life cycle that provides the link between the requirements of a system and its implementation. The most common software design today is based on object-oriented techniques, which consists of developing a program based on objects that interchange messages.
This subject will introduce students to the basic elements and properties of object orientation using an object-oriented language like Java. The students will also learn how to represent design artifacts using a modeling language such as the Unified Modeling Language (UML).
Finally, the basic principles that represent a good design will be presented and we will learn to identify those typical design problems and their most common solutions represented as design patterns.
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.