Présentation

Accédez à un programme universitaire de grande valeur académique où vous apprendrez à mettre en œuvre les nouvelles tendances en matière de développement de Logiciels avec les technologies d'IA’’ 

Le Développement de Logiciels est un axe stratégique pour la transformation numérique dans tous les secteurs productifs, de la Santé à l'Éducation en passant par le Commerce. À cet égard, la création de solutions numériques efficaces, évolutives et sécurisées fait la différence en matière de compétitivité des entreprises et des institutions. Dans ce contexte, disposer de spécialistes capables de concevoir, construire et entretenir des systèmes technologiques complexes est devenu une priorité mondiale, ce qui stimule la demande de profils hautement qualifiés dans ce domaine. 

C'est pourquoi TECH lance un Mastère spécialisé  innovant en Développement de Logiciels. Ce programme permet d'acquérir des compétences clés en programmation, architecture de systèmes, méthodologies agiles et technologies émergentes, toujours avec une approche pratique et actualisée. Grâce à un programme d'études rigoureux, axé sur la résolution de problèmes réels, il favorise une vision globale du Développement de Logiciels. Cette formation améliore non seulement les opportunités professionnelles, mais facilite également l'accès à des postes de direction technique, de conseil et de conception de solutions innovantes ayant un impact dans divers secteurs. 

Il convient de souligner que le format en ligne du programme permet d'avancer sans barrières géographiques ni restrictions horaires. De même, la plateforme virtuelle offre un accès continu à des contenus de qualité, des ressources interactives et des exercices appliqués, favorisant un apprentissage flexible, autonome et adapté à chaque rythme. Cette modalité facilite la conciliation avec d'autres activités, tout en favorisant une expérience éducative en phase avec les dynamiques actuelles de l'environnement technologique et professionnel. De plus, le programme bénéficie de la participation d'un Directeur Invité International de renom qui proposera 10 Masterclasses rigoureuses.  

Un Directeur Invité International prestigieux donnera 10 Masterclasses exclusives sur les dernières tendances en matière de Développement de Logiciels’’ 

Ce Mastère spécialisé en Développement de Logiciels contient le programme universitaire le plus complet et le plus actualisé du marché. Ses caractéristiques sont les suivantes :

  • Le développement d'études de cas présentées par des experts en Développement de Logiciels 
  • Les contenus graphiques, schématiques et éminemment pratiques de l'ouvrage fournissent des informations scientifiques et pratiques sur les disciplines essentielles à la pratique professionnelle 
  • Les exercices pratiques où effectuer le processus d’auto-évaluation pour améliorer l’apprentissage 
  • Il met l'accent sur les méthodologies innovantes 
  • Cours théoriques, questions à l'expert, forums de discussion sur des sujets controversés et travail de réflexion individuel 
  • La possibilité d'accéder aux contenus depuis n'importe quel appareil fixe ou portable doté d'une connexion internet 

Vous développerez des applications distribuées et en réseau qui répondent aux défis de connectivité, de sécurité et de performance exigés par la transformation numérique’’ 

Le corps enseignant comprend des professionnels du domaine du Développement de Logiciels, qui apportent à ce programme leur expérience professionnelle, ainsi que des spécialistes reconnus issus d'entreprises de référence et d'universités prestigieuses. 

Son contenu multimédia, développé avec les dernières technologies éducatives, permettra au professionnel un apprentissage situé et contextualisé, c'est-à-dire un environnement simulé qui offrira une étude immersive programmée pour s'entraîner à faire face à des situations réelles. 

La conception de ce programme est axée sur l'Apprentissage par les Problèmes, grâce auquel l’étudiant doit essayer de résoudre les différentes situations de la pratique professionnelle qui se présentent tout au long du programme académique. Pour ce faire, le professionnel aura l'aide d'un système vidéo interactif innovant créé par des experts reconnus.  

Vous intégrerez des bases de données relationnelles dans des architectures complexes, optimisant ainsi la gestion de grands volumes d'informations"

Grâce au système Relearning utilisé par TECH, vous réduirez les longues heures d'étude et de mémorisation"

Programme d'études

Ce programme intègre des contenus adaptés aux exigences actuelles du secteur technologique, combinant théorie avancée et application pratique. Il aborde également la cybersécurité, le développement multiplateforme et l'architecture orientée services, offrant ainsi une vision globale et moderne de l'environnement informatique. Ainsi, nous proposons une formation académique rigoureuse et actualisée, conçue pour relever les défis de la transformation numérique avec une solide expertise technique et un esprit novateur. 

Vous maîtriserez les principes fondamentaux du Développement de Logiciels afin de créer des solutions technologiques solides, efficaces et adaptées aux besoins du monde professionnel’’ 

Module 1. Principes fondamentaux de la programmation

1.1. Introduction à la programmation

1.1.1. Structure de base d'un ordinateur
1.1.2. Software
1.1.3. Langages de programmation
1.1.4. Cycle de vie d'une application logicielle

1.2. Conception d'algorithmes

1.2.1. Résolution de problèmes
1.2.2. Techniques descriptives
1.2.3. Éléments et structure d'un algorithme

1.3. Éléments d'un programme

1.3.1. Origine et caractéristiques du langage C++
1.3.2. L'environnement de développement
1.3.3. Concept du programme
1.3.4. Types de données fondamentales
1.3.5. Opérateurs
1.3.6. Expressions
1.3.7. Phrases
1.3.8. Entrée et sortie de données

1.4. Déclarations de contrôle

1.4.1. Phrases
1.4.2. Branches
1.4.3. Boucles

1.5. Abstraction et modularité : fonctions

1.5.1. Conception modulaire
1.5.2. Concept de fonction et d'utilité
1.5.3. Définition d'une fonction
1.5.4. Flux d'exécution dans un appel de fonction
1.5.5. Prototypes d'une fonction
1.5.6. Retour des résultats
1.5.7. Appel d'une fonction : paramètres
1.5.8. Passage de paramètres par référence et par valeur
1.5.9. Identifiant du champ d'application

1.6. Structures de données statiques

1.6.1. Tableaux
1.6.2. Matrice. Polyèdres
1.6.3. Recherche et tri
1.6.4. Cordes Fonctions E/S pour les chaînes de caractères
1.6.5. Structures Jonctions
1.6.6. Nouveaux types de données

1.7. Structures de données dynamiques : pointeurs

1.7.1. Concept. Définition du pointeur
1.7.2. Opérateurs et opérations avec des pointeurs
1.7.3. Tableaux de pointeurs
1.7.4. Pointeurs et tableaux
1.7.5. Pointeurs vers des chaînes de caractères
1.7.6. Pointeurs vers des structures
1.7.7. Indications multiples
1.7.8. Pointeurs vers les fonctions
1.7.9. Passage de fonctions, de structures et de tableaux comme paramètres de fonction

1.8. Fichiers

1.8.1. Concepts de base
1.8.2. Opérations avec des fichiers
1.8.3. Types de fichiers
1.8.4. Organisation des fichiers
1.8.5. Introduction aux fichiers C++
1.8.6. Traitement des fichiers

1.9. Récursion

1.9.1. Définition de la récursion
1.9.2. Types de récursions
1.9.3. Avantages et inconvénients
1.9.4. Conversion récursive itérative
1.9.5. La pile de récursion

1.10. Tests et documentation

1.10.1. Test du programme
1.10.2. Test boîte blanche
1.10.3. Tests en boîte noire
1.10.4. Outils de test
1.10.5. Documentation du logiciel

Module 2. Structure des données

2.1. Introduction à la programmation C++

2.1.1. Classes, constructeurs, méthodes et attributs
2.1.2. Variables
2.1.3. Expressions conditionnelles et boucles
2.1.4. Objets

2.2. Types de données abstraites (ADT)

2.2.1. Types de données
2.2.2. Structures de base et TAD
2.2.3. Vecteurs et Matrices

2.3. Structures de données linéaires

2.3.1. Définition de la Liste des TAD
2.3.2. Listes liées et listes doublement liées
2.3.3. Listes ordonnées
2.3.4. Listes C++
2.3.5. Pile TAD
2.3.6. File d'attente TAD
2.3.7. Pile et File d'attente C++

2.4. Structures de données hiérarchique

2.4.1. Arbre TAD
2.4.2. Chemins d'accès
2.4.3. Arbres n-aires
2.4.4. Arbres binaires
2.4.5. Arbres de recherche binaires

2.5. Structures de données hiérarchiques : arbres complexes

2.5.1. Des arbres parfaitement équilibrés ou de hauteur minimale
2.5.2. Arbres à trajets multiples
2.5.3. Références bibliographiques

2.6. Monticules et file d'Attente prioritaire

2.6.1. Monticules TAD
2.6.2. File d'Attente prioritaire TAD

2.7. Tables Hash

2.7.1. TAD Table Hash
2.7.2. Fonctions Hash
2.7.3. Fonction Hash en tables Hash
2.7.4. Redispersion
2.7.5. Tables Hash ouvertes

2.8. Réseaux

2.8.1. Graphique TAD
2.8.2. Types de Graphiques
2.8.3. Représentation graphique et opérations de base
2.8.4. Conception du Réseau

2.9. Algorithmes graphiques et concepts Graphiques avancés

2.9.1. Problèmes de Graphiques
2.9.2. Algorithmes de parcours
2.9.3. Algorithmes de recherche ou de cheminement
2.9.4. Autres algorithmes

2.10. Autres structures de données

2.10.1. Sets
2.10.2. Arrays parallèles
2.10.3. Tableaux de symboles
2.10.4. Essais

Module 3. Algorithme et complexité

3.1. Introduction aux stratégies de conception d'algorithmes

3.1.1. Récursion
3.1.2. Diviser pour mieux régner
3.1.3. Autres stratégies

3.2. Efficacité et analyse des algorithmes

3.2.1. Mesures d'efficacité
3.2.2. Taille de l'entrée de mesure
3.2.3. Mesure du temps d'exécution
3.2.4. Pire, meilleur et moyen cas
3.2.5. Notation asymptotique
3.2.6. Critères d'analyse mathématique des algorithmes non récursifs
3.2.7. Analyse mathématique des algorithmes récursifs
3.2.8. Analyse empirique des algorithmes

3.3. Algorithmes de tri

3.3.1. Concept de tri
3.3.2. Triage des bulles
3.3.3. Tri par sélection
3.3.4. Triage par insertion
3.3.5. Fusionner le tri (Merge Sort)
3.3.6. Tri rapide (QuickSort)

3.4. Algorithmes avec arbres

3.4.1. Concept d'arbre
3.4.2. Arbres binaires
3.4.3. Allées d'arbres
3.4.4. Représentation des expressions
3.4.5. Arbres binaires ordonnés
3.4.6. Arbres binaires équilibrés

3.5. Algorithmes avec Heaps

3.5.1. Les Heaps
3.5.2. L'algorithme HeapSort
3.5.3. Files d'attente prioritaires

3.6. Algorithmes graphiques

3.6.1. Représentation
3.6.2. Voyage en largeur
3.6.3. Profondeur de déplacement
3.6.4. Disposition topologique

3.7. Algorithmes Greedy

3.7.1. La stratégie Greedy
3.7.2. Éléments de la stratégie Greedy
3.7.3. Change de devises
3.7.4. Le problème du voyageur
3.7.5. Problème de sac à dos

3.8. Recherche de chemins minimaux

3.8.1. Le problème du chemin minimal
3.8.2. Arcs et cycles négatifs
3.8.3. Algorithme de Dijkstra

3.9. Algorithmes Greedy sur les Graphes

3.9.1. L'arbre à chevauchement minimal
3.9.2. L'algorithme de Prim
3.9.3. L'algorithme de Kruskal
3.9.4. Analyse de la complexité

3.10. Backtracking

3.10.1. Le Backtracking
3.10.2. Techniques alternatives

Module 4. Bases de données

4.1. Applications et objectifs des systèmes de bases de données

4.1.1. Applications de différents systèmes de bases de données
4.1.2. Objectif des différents systèmes de base de données
4.1.3. Vue des données

4.2. Base de données et architecture

4.2.1. Base de données relationnelle
4.2.2. Conception de la base de données
4.2.3. Bases de données à base d'objets et semi-structurées
4.2.4. Stockage des données et requêtes
4.2.5. Gestion des transactions
4.2.6. Extraction et analyse de données
4.2.7. Architecture des bases de données

4.3. Le modèle relationnel : structure, opérations et algèbre relationnelle étendue

4.3.1. La structure des BD relationnelles
4.3.2. Opérations fondamentales dans l'algèbre relationnelle
4.3.3. Autres opérations dans l'algèbre relationnelle
4.3.4. Opérations d'algèbre relationnelle étendues
4.3.5. Valeurs nulles
4.3.6. Modification de la base de données

4.4. SQL (I)

4.4.1. Qu’est-ce que SQL?
4.4.2. La définition des données
4.4.3. La structure de base des requêtes SQL
4.4.4. Opérations de réglage
4.4.5. Fonctions d'agrégation
4.4.6. Valeurs nulles

4.5. SQL (II)

4.5.1. Sous-requêtes imbriquées
4.5.2. Requêtes complexes
4.5.3. Vues
4.5.4. Curseurs
4.5.5. Requêtes complexes
4.5.6. Déclencheurs

4.6. La conception des bases de données et le modèle E-R

4.6.1. Aperçu du processus de conception
4.6.2. Le modèle entité-relation
4.6.3. Restrictions

4.7. Diagramme entité relations

4.7.1. Diagramme entité relations
4.7.2. Aspects de la conception des relations entre entités
4.7.3. Ensembles d'entités faibles

4.8. Le modèle entité-relation étendu

4.8.1. Caractéristiques du modèle E-R étendu
4.8.2. Conception d'une base de données
4.8.3. Réduction aux schémas relationnels

4.9. Conception de bases de données relationnelles

4.9.1. Caractéristiques des bonnes conceptions relationnelles
4.9.2. Domaines atomiques et première forme normale (1FN)
4.9.3. Décomposition à l'aide de dépendances fonctionnelles
4.9.4. Théorie de la dépendance fonctionnelle
4.9.5. Algorithmes de décomposition
4.9.6. Décomposition à l'aide de dépendances multivaluées
4.9.7. Autres formes normales
4.9.8. Processus de conception des bases de données

4.10. Bases de données NoSQL

4.10.1. Que sont les bases de données NoSQL ?
4.10.2. Analyse des différentes options NoSQL et de leurs caractéristiques
4.10.3. MongoDB

Module 5. Bases de données avancées

5.1. Introduction à différents systèmes de base de données

5.1.1. Rappel historique
5.1.2. Bases de données hiérarchique
5.1.3. Bases de données réseaux
5.1.4. Bases de données relationnelles
5.1.5. Bases de données non relationnelles

5.2. XML et bases de données pour le web

5.2.1. Validation des documents XML
5.2.2. Transformations de documents XML
5.2.3. Stockage des données XML
5.2.4. Bases de données relationnelles XML
5.2.5. SQL/XML
5.2.6. Bases de données natives XML

5.3. Bases de données parallèles

5.3.1. Systèmes parallèles
5.3.2. Architectures de bases de données parallèles
5.3.3. Parallélisme des requêtes
5.3.4. Parallélisme des requêtes
5.3.5. Conception du système parallèle
5.3.6. Traitement parallèle en SQL

5.4. Bases de données distribuées

5.4.1. Systèmes distribués
5.4.2. Stockage distribué
5.4.3. Disponibilité
5.4.4. Traitement distribué des requêtes
5.4.5. Fournisseurs de bases de données distribuées

5.5. Indexation et association

5.5.1. Indices ordonnés
5.5.2. Index denses et épars
5.5.3. Indices multiniveaux
5.5.4. Mise à jour de l'index
5.5.5. Association statique
5.5.6. Comment utiliser les index dans les bases de données

5.6. Introduction au traitement transactionnel

5.6.1. États d'une transaction
5.6.2. Mise en œuvre de l'atomicité et de la durabilité
5.6.3. Séquentialité
5.6.4. Récupérabilité
5.6.5. Mise en œuvre de l'isolation

5.7. Systèmes de récupération

5.7.1. Classification des défauts
5.7.2. Structures de stockage
5.7.3. Récupération et atomicité
5.7.4. Récupération basée sur l'historique
5.7.5. Transactions et récupérations simultanées
5.7.6. Haute disponibilité dans les bases de données

5.8. Exécution et traitement des requêtes

5.8.1. Coût d'une requête
5.8.2. Opération de sélection
5.8.3. Triage
5.8.4. Introduction à l'optimisation des requêtes
5.8.5. Suivi des performances

5.9. Bases de données non relationnelles

5.9.1. Bases de données orientées documents
5.9.2. Bases de données orientées Graphes
5.9.3. Bases de données clés-valeurs

5.10. Data Warehouse, OLAP et data mining

5.10.1. Composants de l'entrepôt de données
5.10.2. Architecture d'un data Warehouse
5.10.3. OLAP
5.10.4. Fonctionnalités d'exploration de données
5.10.5. Autres types d'exploitation minière

Module 6. Conception d'algorithmes avancés

6.1. Analyse des algorithmes récursifs et des algorithmes " diviser pour régner "

6.1.1. Poser et résoudre des équations de récursion homogènes et non-homogènes
6.1.2. Aperçu de la stratégie "diviser pour régner"

6.2. Analyse amortie

6.2.1. Analyse des agrégats
6.2.2. La méthode de comptabilisation
6.2.3. La méthode du potentiel

6.3. Programmation dynamique et algorithmes pour les problèmes NP

6.3.1. Caractéristiques de la programmation dynamique
6.3.2. Retour en arrière : Backtracking
6.3.3. Branchements et élagage

6.4. Optimisation combinatoire

6.4.1. Représentation du problème
6.4.2. Optimisation 1D

6.5. Algorithmes de randomisation

6.5.1. Exemples d'algorithmes de randomisation
6.5.2. Le théorème de Buffon
6.5.3. Algorithme de Monte Carlo
6.5.4. Algorithme de Las Vegas

6.6. Recherche locale et recherche de candidats

6.6.1. Montée en Gradient
6.6.2. Hill Climbing
6.6.3. Simulated Annealing
6.6.4. Tabu Search
6.6.5. Recherche de candidats

6.7. Vérification formelle des programmes

6.7.1. Spécification d'abstractions fonctionnelles
6.7.2. Le langage de la logique du premier ordre
6.7.3. Le système formel de Hoare

6.8. Vérification itérative des programmes

6.8.1. Règles du système formel de Hoare
6.8.2. Concept d'invariant d'itération

6.9. Méthodes numériques

6.9.1. La méthode de bissection
6.9.2. La méthode Newton Raphson
6.9.3. La méthode sécante

6.10. Algorithmes parallèles

6.10.1. Opérations binaires parallèles
6.10.2. Opérations parallèles avec les réseaux
6.10.3. Le parallélisme dans diviser pour mieux régner
6.10.4. Le parallélisme dans la programmation dynamique

Module 7. Interaction homme-machine

7.1. Introduction à l'interaction homme-machine

7.1.1. Qu'est-ce que l'interaction homme-machine ?
7.1.2. Relations entre l'interaction homme-machine et les autres disciplines
7.1.3. L'interface utilisateur
7.1.4. Utilisabilité et accessibilité
7.1.5. Expérience de utilisateur et conception centrée sur l'utilisateur

7.2. Informatique et interaction : paradigmes d'interface utilisateur et d'interaction

7.2.1. Interaction
7.2.2. Paradigmes d'interaction et styles d'interaction
7.2.3. Évolution des interfaces utilisateur
7.2.4. Interfaces utilisateur classiques : WIMP/GUI, commandes, voix, réalité virtuelle
7.2.5. Interfaces utilisateur innovantes : mobiles, portables, collaboratives, BCI

7.3. Le facteur humain : aspects psychologiques et cognitifs

7.3.1. L'importance du facteur humain dans l'interaction
7.3.2. Traitement de l'information humaine
7.3.3. L'entrée et la sortie d'informations : visuelles, auditives et tactiles
7.3.4. Perception et attention
7.3.5. Connaissance et modèles mentaux : représentation, organisation et acquisition

7.4. Le facteur humain : les limitations sensorielles et physiques

7.4.1. Diversité fonctionnelle, handicap et déficience
7.4.2. Diversité visuelle
7.4.3. La diversité auditive
7.4.4. Diversité cognitive
7.4.5. Diversité des moteurs
7.4.6. Le cas des immigrants numériques

7.5. Le processus de conception (I) : analyse des besoins pour la conception de l'interface utilisateur

7.5.1. Conception centrée sur l'utilisateur
7.5.2. Qu'est-ce que l'analyse des besoins ?
7.5.3. Collecte d'informations
7.5.4. Analyse et interprétation des informations
7.5.5. Analyse de l'utilisabilité et de l'accessibilité

7.6. Le processus de conception (II) : Prototypage et analyse des tâches

7.6.1. Design conceptuel
7.6.2. Prototypage
7.6.3. Analyse hiérarchique des tâches

7.7. Le processus de conception (III) : évaluation

7.7.1. L'évaluation dans le processus de conception : objectifs et méthodes
7.7.2. Méthodes d'évaluation sans utilisateurs
7.7.3. Méthodes d'évaluation avec les utilisateurs
7.7.4. Normes et standards d'évaluation

7.8. Accessibilité : définition et lignes directrices

7.8.1. Accessibilité et conception universelle
7.8.2. Initiative WAI et directives WCAG
7.8.3. Directives WCAG 2.0 et 2.1

7.9. Accessibilité : évaluation et diversité fonctionnelle

7.9.1. Outils d'évaluation de l'accessibilité du Web
7.9.2. Accessibilité et diversité fonctionnelle

7.10. L'ordinateur et l'interaction : périphériques et dispositifs

7.10.1. Dispositifs et périphériques traditionnels
7.10.2. Dispositifs alternatifs et périphériques
7.10.3. Téléphones mobiles et tablettes
7.10.4. Diversité fonctionnelle, interaction et périphériques

Module 8. Programmation avancée

8.1. Introduction à la programmation orientée objet

8.1.1. Introduction à la programmation orientée objet
8.1.2. Conception de la classe
8.1.3. Introduction à UML pour la modélisation des problèmes

8.2. Relations entre les classes

8.2.1. Abstraction et héritage
8.2.2. Concepts d'héritage avancés
8.2.3. Polymorphisme
8.2.4. Composition et agrégation

8.3. Introduction aux patrons de conception pour les problèmes orientés objet

8.3.1. Que sont les modèles de conception ?
8.3.2. Modèle Factory
8.3.3. Modèle Singleton
8.3.4. Modèle Observer
8.3.5. Modèle Composite

8.4. Exceptions

8.4.1. Quelles sont les exceptions ?
8.4.2. Capture et traitement des exceptions
8.4.3. Lancer d'exceptions
8.4.4. Création d'exceptions

8.5. Interfaces utilisateur

8.5.1. Introduction à Qt
8.5.2. Positionnement
8.5.3. Que sont les événements ?
8.5.4. Événements : définition et saisie
8.5.5. Développement d'interfaces utilisateurs

8.6. Introduction à la programmation concurrente

8.6.1. Introduction à la programmation concurrente
8.6.2. Le concept de processus et de fil conducteur
8.6.3. Interaction entre processus ou threads
8.6.4. Threads en C++
8.6.5. Avantages et inconvénients de la programmation concurrente

8.7. Gestion et synchronisation des threads

8.7.1. Cycle de vie du fil
8.7.2. La classe Thread
8.7.3. Programmation du fil
8.7.4. Groupes de fils
8.7.5. Fils démoniaques
8.7.6. Synchronisation
8.7.7. Mécanismes de verrouillage
8.7.8. Mécanismes de communication
8.7.9. Moniteurs

8.8. Problèmes courants de la programmation concurrente

8.8.1. Le problème du producteur-consommateur
8.8.2. Le problème des lecteurs et des écrivains
8.8.3. Le problème du dîner des philosophes

8.9. Documentation et test des logiciels

8.9.1. Pourquoi est-il important de documenter les logiciels ?
8.9.2. Documentation sur la conception
8.9.3. Utilisation des outils de documentation

8.10. Tests de logiciels

8.10.1. Introduction aux tests logiciels
8.10.2. Types de tests
8.10.3. Tests unitaires
8.10.4. Test d'intégration
8.10.5. Test de validation
8.10.6. Test du système

Module 9. Développement d'applications de réseau

9.1. Langages de balisage HTML5

9.1.1. Les bases du HTML
9.1.2. Nouveaux éléments HTML 5
9.1.3. Formulaires : nouveaux contrôles

9.2. Introduction aux feuilles de style CSS

9.2.1. Premiers pas avec CSS
9.2.2. Introduction à CSS3

9.3. Langage de script du navigateur : JavaScript

9.3.1. Les bases du JavaScript
9.3.2. DOM
9.3.3. Événements
9.3.4. JQuery
9.3.5. Ajax

9.4. Concept de la programmation orientée vers les composants

9.4.1. Contexte
9.4.2. Composants et interfaces
9.4.3. États d'un composant

9.5. Architecture des composants

9.5.1. Architectures actuelles
9.5.2. Intégration et déploiement des composants

9.6. Framework Frontend : Bootstrap

9.6.1. Conception avec grille
9.6.2. Formulaires
9.6.3. Composants

9.7. Contrôleur de modèle et de vue

9.7.1. Méthodes de développement Web
9.7.2. Modèle de conception : MVC

9.8. Technologies de la Grille d'information

9.8.1. Augmentation des ressources informatiques
9.8.2. Concept de la technologie des Grilles

9.9. Architecture orientée services

9.9.1. SOA et services web
9.9.2. Topologie des services web
9.9.3. Plateformes de services web

9.10. Protocole HTTP

9.10.1. Messages
9.10.2. Sessions persistantes
9.10.3. Système cryptographique
9.10.4. Fonctionnement du protocole HTTPS

Module 10. Ingénierie du Software

10.1. Introduction au génie logiciel et à la modélisation

10.1.1. La nature des logiciels
10.1.2. La nature unique des WebApps
10.1.3. Ingénierie logicielle
10.1.4. Le processus logiciel
10.1.5. La pratique du génie logiciel
10.1.6. Mythes sur les logiciels
10.1.7. Comment tout commence
10.1.8. Concepts orientés objet
10.1.9. Introduction à UML

10.2. Le processus logiciel

10.2.1. Un modèle général de processus
10.2.2. Modèles de processus prescriptifs
10.2.3. Modèles de processus spécialisés
10.2.4. Le processus unifié
10.2.5. Modèles de processus personnels et d'équipe
10.2.6. Qu'est-ce que l'agilité ?
10.2.7. Qu'est-ce qu'un processus agile ?
10.2.8. Scrum
10.2.9. Boîte à outils du processus Agile

10.3. Principes guidant la pratique du génie logiciel

10.3.1. Principes guidant le processus
10.3.2. Principes guidant la pratique
10.3.3. Principes de la communication
10.3.4. Principes de planification
10.3.5. Principes de modélisation
10.3.6. Principes de construction
10.3.7. Principes de déploiement

10.4. Comprendre les besoins

10.4.1. Ingénierie des exigences
10.4.2. Établir la base
10.4.3. Détermination des besoins
10.4.4. Développer des cas d'utilisation
10.4.5. Élaboration du modèle d'exigences
10.4.6. Négociation des exigences
10.4.7. Validation des exigences

10.5. Modélisation des exigences : scénarios, classes d'information et d'analyse

10.5.1. Analyse des besoins
10.5.2. Modélisation basée sur des scénarios
10.5.3. Modèles UML fournissant le cas d'utilisation
10.5.4. Concepts de modélisation des données
10.5.5. Modélisation basée sur les classes
10.5.6. Diagrammes de classes

10.6. Modélisation des exigences : flux, comportement et modèles

10.6.1. Stratégies de modélisation des exigences
10.6.2. Modélisation orientée flux
10.6.3. Diagrammes d'état
10.6.4. Création d'un modèle comportemental
10.6.5. Diagrammes de séquence
10.6.6. Diagrammes de communication
10.6.7. Modèles pour la modélisation des exigences

10.7. Concepts de design

10.7.1. La conception dans le contexte du génie logiciel
10.7.2. Le processus de conception
10.7.3. Concepts de design
10.7.4. Concepts de conception orientée objet
10.7.5. Le modèle de conception

10.8. Architecture de conception

10.8.1. Architecture logicielle
10.8.2. Genres architecturaux
10.8.3. Styles architecturaux
10.8.4. Conception architecturale
10.8.5. Évolution des conceptions alternatives de l'architecture
10.8.6. Cartographie de l'architecture à l'aide du flux de données

10.9. Conception au niveau des composants et des modèles

10.9.1. Qu'est-ce qu'un composant ?
10.9.2. Conception de composants basée sur les classes
10.9.3. Réalisation de la conception au niveau des composants
10.9.4. Conception traditionnelle des composants
10.9.5. Développement basé sur les composants
10.9.6. Modèles de conception
10.9.7. Conception de logiciels basée sur des modèles
10.9.8. Modèles architecturaux
10.9.9. Patrons de conception au niveau des composants
10.9.10. Modèles de conception d'interface utilisateur

10.10. Qualité des logiciels et gestion de projet

10.10.1. Qualité des logiciels
10.10.2. Le dilemme de la qualité des logiciels
10.10.3. Atteindre la qualité des logiciels
10.10.4. Assurance qualité des logiciels
10.10.5. Le spectre de la gestion
10.10.6. Personnel
10.10.7. Le produit
10.10.8. Le processus
10.10.9. Le projet
10.10.10. Principes et pratiques

Vous appliquerez des critères de qualité, de performance et de durabilité tout au long du cycle de vie du Software’’ 

Mastère Spécialisé en Développement de Logiciels

L'industrie des technologies de l'information a subi d'importantes transformations au cours des dernières années. En effet, l'un des éléments qui le caractérise est son évolution permanente par l'incorporation de nouvelles technologies et de logiciels de dernière génération. Compte tenu de cela, il est important que les professionnels de l'informatique qui veulent travailler dans ce domaine aient des connaissances actualisées sur la gestion des outils qu'il offre. Par conséquent, TECH Global University a conçu ce Mastère Spécialisé en Développement de Logiciels, un programme de troisième cycle qui vous permettra d'atteindre vos objectifs académiques et de stimuler votre carrière professionnelle.

Suivez un Mastère Spécialisé en Développement de Logiciels

L'objectif principal de ce programme TECH est de fournir les meilleures connaissances et le meilleur contenu afin que les diplômés puissent faire face aux défis de la vie professionnelle d'aujourd'hui. Ainsi, grâce à un programme d'études de haut niveau, nous visons à former les étudiants de ce programme sur le plan scientifique et technologique. En ce sens, vous apprendrez la structure de base de l'ordinateur et du logiciel, vous comprendrez et interpréterez le langage de programmation, vous comprendrez le fonctionnement, les principales stratégies et le développement de l'algorithme, entre autres choses. En vous formant dans cette matière, vous serez en mesure de maîtriser les procédures dans ce domaine et de contribuer à son développement dans des domaines tels que la créativité, l'innovation et l'efficacité technologique.

Spécialisez-vous dans la plus grande université numérique du monde

Chez TECH Global University, nous disposons du contenu le plus actualisé et le plus complet du marché de l'éducation, axé sur l'obtention d'un niveau de connaissances plus élevé dans le développement de logiciels. Considérant que l'éducation spécialisée pour les professionnels est une nécessité dans le contexte actuel, nous nous efforçons de fournir à nos étudiants une formation complète et de haute qualité. Grâce à nos méthodes pédagogiques, chaque étudiant aura accès à des techniques, des stratégies, des programmes et des ressources qui l'aideront dans son travail. Il s'agit d'une opportunité inédite, complète et efficace pour tous ceux qui s'intéressent au secteur des technologies de l'information.