lundi 24 février 2025

Fourniture de logiciels, de composants logiciels standard

 Les choix économiques relatifs à la fourniture de logiciels, de composants logiciels standard, portent sur leur nature, leurs caractéristiques : fonctions, ergonomie, environnements cibles, capacités, performances, fiabilité, sécurité, adaptabilité, exploitabilité, maintenabilité, évolutivité, durabilité.

Les éditeurs de logiciels sont des entreprises commerciales ou des organisations non commerciales. Les constructeurs de produits sont parfois éditeurs de logiciels implantés sur leurs produits.

Pour les logiciels destinés aux particuliers, la différenciation se fait souvent sur les fonctions, l’ergonomie, le prix (ou la gratuité). Pour ceux destinés aux professionnels, en complément, la capacité, les performances, l’exploitabilité, la fiabilité, l'évolutivité, la sécurité sont importantes.

1) Les logiciels standard sont des programmes compilés et assemblés, prêts à être exécutés (programmes objet), et parfois des programmes source. La fourniture inclut également tout ce qui est nécessaire pour rendre le logiciel opérationnel (fichiers de configuration, procédures automatiques, données…), s’il y a lieu en assurer la maintenance, le faire évoluer, intégrer les composants logiciels.

Ils sont destinés à être installés sur des équipements programmables, des SI. Ils sont parfois fournis comme des extensions d'autres logiciels (modèle in-app). Ils comportent s’il y a lieu des accès à des bases de données externes.

Les composants logiciels standard sont destinés au développement de logiciels. Ils sont fournis sous forme de frameworks, dans des bibliothèques logicielles, associées à des OS, des compilateurs, des langages de script.

2) La nature des logiciels, des composants logiciels standard, est à choisir. On trouve par exemple des logiciels applicatifs par activité (ERP, CAO...) ou par secteur professionnel (finance, santé...), des systèmes d'exploitation, des composants logiciels dans différents domaines. Les logiciels sont parfois regroupés dans des suites logicielles.

Plusieurs versions des mêmes logiciels sont parfois proposées. Elles correspondent par exemple à des richesses fonctionnelles, des environnements d'exécution cibles différents, des catégories de clients (particuliers ou professionnels, PME, grandes entreprises...). On distingue également les versions initiales, évolutives, correctives.

3) Le choix des fonctions dépend de la nature des logiciels. Les éditeurs arbitrent entre des exigences contradictoires : taux de couverture des besoins identifiés, exprimés, utilité réelle des fonctions ; pratiques de la concurrence (il faut de bonnes raisons pour ne pas fournir des fonctions largement proposées sur le marché) ; maîtrise de la complexité des logiciels par les utilisateurs, qui doivent avoir un niveau de compréhension suffisant sur le contenu des fonctions disponibles, en rapport avec leur importance, sur leurs modalités d’utilisation (conséquences d’une erreur…) ; contraintes liées à la nécessité d’actions de formation des utilisateurs, au volume, à la mise à jour de la documentation ; coût, délai de développement initial des fonctions, coût de leur maintenance/évolution.

Les logiciels autres que les OS s'appuient le plus souvent sur les OS. Si ce n'est pas le cas, ils doivent comporter certaines de leurs fonctions (telles que le pilotage direct des composants matériels).

4) On trouvera ci-après une présentation de choix couramment effectués de la nature, des fonctions des logiciels, des composants logiciels standard. Certains logiciels relèvent de plusieurs catégories.

 

Types de logiciels 

Nature, fonctions des logiciels

Systèmes d'exploitation (OS)

Fonctions pour les activités numériques : paramétrage, gestion des fichiers, pilotage externe et interne, contrôle d’accès…

Fonctions pour les autres logiciels installés sur les équipements, les SI : entrées/sorties, communication, stockage des informations, lecture/écriture des informations stockées, fonctions arithmétiques et logiques générales...

Virtualisation, conteneurisation

Pilotage interne de la virtualisation : gestion de l'exécution concomitante des applications, des OS invités et de l'OS hôte, en maintenant l'isolation des applications et des OS invités

Création et gestion de conteneurs, qui empaquettent les logiciels applicatifs et les autres logiciels qui leur sont nécessaires

Middleware

ETL, manipulation d'objets (ORBs), EAI, ESB, MOM, serveurs d'applications, moniteurs transactionnels…

Pilotage des SI distribués, partagés : pilotage de SI distants, communication d’informations entre SI, interopérabilité, coordination de l’exécution des fonctions…

1) Les fonctions des OS des ordinateurs, des smartphones, des tablettes sont comparables.

Pour les automobiles, on distingue les OS qui gèrent les fonctions spécifiques au véhicule (lève-vitres électriques, fermeture des portes, climatisation…) et ceux qui gèrent le divertissement.

Les OS pour la télévision permettent l’accès au Web.

2) Les middleware se distinguent par la facilité avec laquelle ils masquent la complexité des systèmes, ils permettent l’interopérabilité entre logiciels, équipements, systèmes très différents, distants.

Des logiciels standard sont proposés pour la messagerie électronique, le transfert de fichiers, le filtrage des communications (anti-spam, anti-phishing, adblockers…).

 

Types de logiciels 

Nature, fonctions des logiciels

SGBD

Stockage, lecture/écriture des données

Paramétrage, gestion du SGBD : définition du modèle de données, gestion des fichiers, gestion technique de la base (réorganisation...), protection de la confidentialité des données 

Pilotage du fonctionnement du SGBD : gestion des accès concurrents, préservation de l’indépendance entre les données et les applications, de l’intégrité des données

Entrepôts de données

Stockage, lecture/écriture de données pour l’informatiquedécisionnelle

Lacs de données (data lakes)

Stockage, lecture/écriture de données de structures variées, très nombreuses (big data)

Pages web

Navigateurs web, serveurs http : création, accès à des pages web

Gestion des données référentielles (MDM)

Rationalisation, dédoublonnage, consolidation, standardisation... des données

Blockchain

Stockage sécurisé des données (notamment très difficile à falsifier ou à modifier), accessible de façon transparente à toutes les parties aux transactions

Pilotage des transactions correspondantes

Archivage électronique (SAE)

Stockage sécurisé de données figées pour une longue durée,dans un but légal ou informatif

Gestion de l’archivage (prévention de l'obsolescence, gestion de l'évolution dans le temps des formats de stockage…)

1) Pour exploiter, gérer efficacement leur patrimoine informationnel, les entreprises ont besoin de logiciels puissants, complets, cohérents. Elles conservent des données plus nombreuses, plus variées.

Leurs fonctions sont exécutées en association avec des fonctions de communication lorsque le stockage est réparti.

2) Le marché des navigateurs web est considéré comme stratégique par les grands acteurs de l’économie numérique, ainsi que par les organisations qui s’intéressent à la protection des données individuelles.

Logiciels applicatifs

Les logiciels applicatifs sont destinés aux utilisateurs, pour la réalisation de leurs activités, l’utilisation de leurs systèmes, équipements. Ils s’appuient sur les logiciels précédents. 

Ils comportent en général des fonctions d’entrées/sorties, de communication, de stockage, de lecture/écriture des informations, ainsi que des fonctions arithmétiques et logiques élémentaires.

Ils comportent souvent aussi des fonctions de paramétrage, utilisables pour leur ingénierie, leur déploiement, leur exploitation. Les logiciels spécifiques aux activités numériques sont traités ci-après.

On présentera ci-après les principaux domaines, les principales natures, fonctions spécifiques des logiciels applicatifs.

 

Domaines

Nature, fonctions des logiciels

Applications générales

Tableurs

Traitements de texte

Traitement des images, des sons : DAO, logiciels graphiques, reconnaissance vocale

PAO, PréAO

GED

Traitement du langage naturel : modèles de langage, traduction automatique, synthèse de la parole

Analyse des données : prévision, modélisation, simulation

Marketing, vente, relation client

CRM (customer relationship management) : ensemble des échanges d'informations, des relations avec les clients (marketing, achat, souscription à distance par le client, SAV, facturation, encaissement...)

Gestion des informations (marketing) sur les produits au catalogue de l’entreprise (PIM - product information management)

Exemples de fonctions : commerce électronique, gestion des forces de vente, des fichiers clients/prospects, analyse des données marketing, prévision des ventes, facturation

R&D, construction, ingénierie, maintenance

CAO, GMAO

Gestion de configuration des systèmes

PLM (product lifecycle management), PDM (product data management) : gestion du référentiel produit (conçu, fabriqué par l’entreprise), de sa configuration, des phases de son cycle de vie...

Calcul, simulation, gestion des essais

Transport, déplacements, logistique

Supply chain management, gestion des transports, des entrepôts, organisation des tournées, géolocalisation

Production de biens

GPAO

Fourniture de services

Logiciels par natures de services : banque, assurance, utilities, santé, gestion locative, hôtelière…

Loisirs

Jeux

Gestion des RH

Gestion des contrats de travail, des temps de présence et d'absence, paie, post-paie, notes de frais...

Achats, approvisionnements, gestion des fournisseurs

Gestion des appels d'offres, commande, traitement des factures, suivi, comptabilité fournisseurs

Management, organisation

Planification, prévision, budget, contrôle de gestion, aide à la décision managériale

Gestion de projet, de travail en groupe 

Comptabilité

Comptabilités générale, auxiliaire, analytique

Gestion de l’entreprise

ERP (enterprise resource planning) : gestion des produits et services au catalogue, des clients, des ventes, des achats, de la production, des stocks, de la logistique, des actifs, des ressources humaines

Logiciels généraux ou par secteur professionnel

On a vu ci-dessus que plusieurs catégories de logiciels standard (OS, middleware…) comportaient des fonctions pour les activités numériques.

Les logiciels ci-après sont dédiés à certaines activités numériques.

 

Types de logiciels 

Nature, fonctions des logiciels

Ingénierie, maintenance du logiciel

AGL, IDE, gestion d'un référentiel pour l'ensemble d'un projet, des activités

Modélisation des données et des traitements, analyse du code, générateurs de code, compilateurs, interpréteurs, débogueurs, assembleurs, réingénierie, restructuration de code, gestion des programmes sources, des versions du logiciel

Ingénierie, maintenance, déploiement, exploitation des SI, de leurs éléments constitutifs

Gestion de parc informatique, de réseau, des équipements mobiles, gestion de configuration

Reprise, injection de données

Administration et supervision de SI, en local ou à distance

Analyse des réseaux

Gestion du cloud

Sauvegarde des informations

Tests, gestion des anomalies

Gestion, automatisation des tests

Traitement des actions malveillantes

Cf. Logiciels de sécurité

Les logiciels sont utilisés pour réaliser des activités numériques, ou pour aider à leur réalisation. Ils sont destinés aux professionnels du numérique et pour certains aux utilisateurs finals.

1) Les professionnels de l'ingénierie du logiciel sont nombreux, et les problématiques de fiabilité, de productivité, d'évolutivité du logiciel sont toujours actuelles. Les éditeurs cherchent à proposer des outils permettant plus de performance pour cette activité.

Les outils de génie logiciel sont indépendants, ou constituent un ensemble cohérent (AGL, IDE). Les outils indépendants sont parfoisinteropérables.

Les outils incluent parfois des modèles, des exemples (templates).

Les outils de génie logiciel sont en général utilisables pour tout type de logiciel. SAP a conçu et développé pour son propre compte (etpour ses clients) un outil, ABAP, adapté à ses logiciels. Des constructeurs, des éditeurs d’OS (par exemple Apple pour l’iPhone, Google pour Android) fournissent aux développeurs des kits de développement puissants, pour le développement d’applications sur leur OS, leurs mobiles. Des IA génératives sont utilisées.

2) Les opérateurs de réseaux de télécommunications, de grands SI, sont intéressés par des logiciels d’administration (gestion de configuration, des noms de domaines, des fautes, des performances, des coûts et de la sécurité), de supervision, de gestion permettant de maîtriser la complexité de ces systèmes, et d’améliorer la qualité, la sécurité, de réduire leurs coûts de fonctionnement.

3) Les fonctions de gestion de configuration sont parfois spécialisées, intégrées à des logiciels de gestion de réseau, de parc, d’équipements mobiles.

4) Les utilisateurs du cloud ont besoin de fonctions de gestion : provisionnement des machines virtuelles, déploiement et optimisation, gestion d'un catalogue des services, accès aux services, contrôle de la facturation, des performances...

Logiciels de sécurité

Les logiciels de sécurité sont utilisés pour le traitement des actions malveillantes.

 

Types de logiciels 

Fonctions des logiciels

Antivirus

Identification, neutralisation et élimination des logiciels malveillants

Chiffrement/déchiffrement

 

DRM (digital rights management)

Protection de la propriété intellectuelle

EDR (endpoint detection and response)

Détection, arrêt des menaces sur les équipements terminaux

IDS/IPS (intrusion detection ouprevention system)

Détection, prévention d'intrusions, arrêt des menaces sur un hôte, un réseau

Détection, analyse, signalement des intrusions réussies (après le pare-feu), contre-mesures

Pare-feux

Contrôle, filtrage des communications, ne laissant s'établir que les communications autorisées par la politique de sécurité de l'entreprise

SIEM

Gestion des informations et des événements relatifs à la sécurité

Composants logiciels

Les composants logiciels sont parfois organisés selon une architecture.

On trouve des frameworks dans les domaines du système, du middleware, du stockage des données (gestion de contenu, applications web, stockage distribué, blockchain...), de l'applicatif (modélisation des données...).

Aucun commentaire:

Enregistrer un commentaire