Systems Engineering
MODELING AND PROGRAMMING
Description
Theory
1
Laboratory
4
Instructors
Dulce Mota
Contents
1. Introduction to the object-oriented paradigm (CP1/10%).
1.1. Origin of the paradigm.
1.2. Java technology and the Java language.
1.3. Fundamentals of the paradigm - notions of object, class, abstraction, encapsulation, polymorphism, composition, aggregation and inheritance.
2. Java OOP fundamentals (CP2/60%).
2.1. Class creation: declaration of variables, constants, constructors, instance methods, class methods and other usual complementary methods.
2.2. Association relationship between classes, composition and aggregation.
2.3. Hierarchy between classes.
2.4. Abstract classes and Java interfaces.
2.5. Java interfaces - built and predefined: Serializable, Comparable, Comparable - other common interfaces.
2.6. Error Handling with Exceptions - Java and programmer-defined exception classes.
2.7. Collections in Java.
3. Java persistence and serialisation (CP3/10%).
4. Specification of Analysis, Design and Implementation activities using UML (CP4/10%).
5. Test formalisms (CP5/10%).
Learning Outcomes
The main purpose is to make students able to develop medium-complexity applications using the Object-Oriented Programming paradigm in Java, correctly modelling the behaviour of the system through UML sequence diagrams and ensuring consistency between modelling and implementation.
At the end of the course, students should be able to:
(OA1) Analyze problems using the object-oriented paradigm (OOP).
(OA2) Build robust and extensible stand-alone Java applications.
(OA3) Write programs that involve read / write operations of data to / from a file.
(OA4) Validate the developed code using unit tests.
(OA5) Apply appropriate UML basic formalisms in the analysis, modeling and design for the construction of an application.