Ελληνικά
English
 

Object-Oriented Software Development

 

Objectives:

The development of large scale information systems entails significant challenges both in terms of technology and management of the involved activities and resources. The objective of this course is the introduction to the object-oriented approach for the analysis, design and implementation of software, which constitutes the most widely adopted approach for the development of contemporary systems. The Java programming language is employed in order to illustrate systematic methods for confronting the complexity of large-scale projects. The course covers introductory and advanced concepts of object-oriented programming as well as the specification and decomposition of a problem (analysis) and its solution by means of software (design). Computer-Aided Software Engineering (CASE) tools will be employed during various phases of the development process.

Skills:

Upon successful completion of this course students will be able to:
- specify the various phases in the development of a large-scale software project and identify the related challenges
- apply object-oriented analysis and design techniques for the development of a software system
- implement object-oriented software

Prerequisites:

Content:

• Introduction into the object-oriented way of thinking
• Definition of classes, Construction of Objects
• Relations among classes, Exchange of messages among objects
• Usage of Library Classes
• Improvement of object-oriented system structure by means of Inheritance
• Object-Oriented Design Principles. Use of Abstraction
• Development of Graphical User Interfaces
• Event Handling
• Modern Integrated Development Environments
• Introduction to Software Engineering. Challenges in the development of large-scale software systems
• Overview of the Unified Modeling Language (UML)
• Object-Oriented Analysis: Domain model, requirements specification, use cases
• Object-Oriented Design: Object interaction, allocation of responsibilities, sequence diagrams, class diagrams
 

Textbooks:

David J. Barnes, Michael Kolling, Αντικειμενοστρεφής προγραμματισμός σε Java, (Pearson 3rd edition), Κλειδάριθμος, 2008.
Η. Μ. Deitel and P. J. Deitel, Java: How to Program, Prentice Hall, 2009.
C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Prentice Hall, 2004.
D. Rosenberg, M. Stephens, Use Case Driven Object Modelling with UML: Theory and Practice, Apress, 2007.

 

Assessment:

60% Final Exams
40% 5 Personal Programming Assignments

Webpage:

https://openeclass.uom.gr/courses/MAI113/


back
Tessera - Web development, E-Shops, Mobile & Tablet Apps