Sector-specific

Software Design and Architecture

This Software Design and Architecture training is designed for software developers, computer engineers, computer science students, and professionals seeking to enhance their expertise in software design and architecture. It is also suitable for those aiming to develop their skills in this area.

50 hours Arquitectura, edificación y urbanismo

This «Software Design and Architecture» training will teach you the fundamentals of software architecture, including computer programming concepts and types of programming languages. You will also learn more advanced aspects, such as object orientation and data model management.

The software development process, from inception to validation and verification, provides participants with a complete and structured view of an application’s life cycle. Object orientation requires a thorough understanding of fundamental principles such as inheritance, modularity, and polymorphism.

Students will also learn data modeling, which enables them to build conceptual, logical, and physical models.

Course objectives

  • To analyze and define the essential characteristics that constitute a computer program or software.

  • To identify and evaluate the different types of programming languages.

  • To understand the phases of software development, from requirements specification to project management.

  • To integrate the principles of object orientation in software development.

  • To master the data life cycle, from conceptualization to transformation into models.

  • To analyze and compare the most common object-oriented languages, understanding their essential characteristics.

What does it prepare you for?

This Software Design and Architecture training provides the skills and knowledge required to face the challenges of software development. It covers the essential aspects of conceptualizing programs, managing the data lifecycle, applying object orientation, and efficiently using object-oriented programming languages. Upon completion of the course, participants will be able to design and develop robust applications.

Teaching units

UNIT 1. INTRODUCTION TO SOFTWARE DEVELOPMENT
Concept of computer program
Source code, object code and executable code; virtual machines
Types of programming languages
Characteristics of the most widely spoken
Phases of application development

UNIT 2. THE PROCESS OF SOFTWARE DEVELOPMENT

Software life cycle models
Requirements analysis and specification
Design
Implementation. General concepts of software development
Validation and verification of systems
Software testing
Software quality
Commonly used tools for software development
Software development project management

UNIT 3. OBJECT ORIENTATION

Principles of object orientation. Comparison with structured programming
Object classes
Objects
Inheritance
Modularity
Genericity and overload
Object-oriented development
Object-Oriented Modeling Languages

UNIT 4. DATA MODELS

Data life cycle
Data types
Definition of a conceptual model
Relational Model
Logical Data Model
Physical Data Model
Logical Model to Physical Data Model Transformation

UNIT 5. STRUCTURED PROGRAMMING TECHNIQUES

Identification of basic elements: constants, variables, operators and expressions
Analysis of control structures: Sequential, conditional and repetition
Distinction between functions and procedures
Functions and Procedure Calls
Using calls to functions and procedures included in classes

UNIT. 6 OBJECT-ORIENTED PROGRAMMING LANGUAGES

Analysis of object-oriented programming language and object-oriented paradigm
Comparison between the most common object-oriented programming languages. Essential features
Class libraries

Scroll to Top