Software Development Methodologies

Course Code: Ν2-4040
Weekly Duty: 5 (3Th + 2L)
ECTS: 5
typical Semester: 4th
Course Category: General Infrastructure Course
Prerequisites: Computer Programming

Learning Outcomes

This lesson describes the programming methodologies and clarifies the reasons that prescribed their introduction. We examine: Structured programming, Functional Programming, Logic programming, Object Oriented Programming, Component based Programming and Rapid application development (RAD).

Students acquire a deep knowledge of the object model. The learn how to turn in advantage the software components through the rapid application development environments. They also learn to quickly develop applications with graphical user interfaces (GUI). This knowledge is used for designing, composing and creating applications from scratch or even integrating with existing applications.

Students with successful participation will be able to:

  • Understand and utilize the concept of Abstract data types.
  • Be able to classify the programming languages.
  • Design and implement Object-Oriented Programs.
  • Structure his/her software applications on the base of events.
  • Develop software on the base of Components (Component-Oriented Programming).
  • Design and implement interfaces with the Rapid application development Environments.
  • Do the above (build programs and interfaces that utilize components and event handlers) without the support of RAD Environments.
  • Compare the various RAD Environments.
  • Develop applications and information systems with concrete object oriented languages (e.g. Java) and concrete RAD Environments (e.g. NetBeans, Eclipse, VB.NET, etc).
  • Develop multi thread applications.

Course Content
  • classes and objects
  • console applications
  • GUI applications
  • browser micro applications
  • Dialog items
  • Layouts
  • events and event handlers
  • interface building programmatically
  • Components
  • Exceptions and Exception Handling
  • Multithread applications
  • Input/Output (char and byte) streams
  • Data Structures (Tables, Lists, Trees, Maps)
  • database interfacing
  • interface building with GUI designers
  • Case study: Information System development

Literature
  1. (in Greek) Νικήτα Ν. Καρανικόλα, Java για όλους, Εκδόσεις Νέων Τεχνολογιών, 2015.
  2. (in Greek) Λιακέας Γ., Εισαγωγή στην Java 2, Κλειδάριθμος, 2003.
  3. Herbert Schildt, Java 2, The Complete Reference, Fifth Edition, 2002, McGraw Hill/Osborne,
  4. (in Greek) Laura Lemay και Rogers Cadenhead, Πλήρες Εγχειρίδιο της Java 2, Ελληνική Έκδοση, Εκδότης Μ. Γκιούρδας,
  5. Holzner S., Teach Yourself Visual Basic.NET in 21 Days, (Sams Teach Yourself), Sams Publishing, 2003.
  6. Szyperski C., Component Software, Addison-Wesley, 1998.
  7. Spencer Κ., Eberhard Τ., Alexander J., OOP: Building Reusable Components with Microsoft® Visual Basic® .NET, Microsoft Press, 2002.
  8. Dobson R., Programming Microsoft® Visual Basic® .NET for Microsoft Access Databases, Microsoft Press, 2003.

Internationalisation I18n