Programmation

Cards (177)

  • Logiciel / programme
    Un outil qui répond à un besoin précis, dans lequel on injecte des données et qui les transforme
  • Types de données traitées par les logiciels
    • Images (augmentation de la luminosité)
    • Données numériques (comptabilité d'entreprise)
    • Données textuelles (traitement de texte)
  • Création d'un logiciel
    1. Descriptif du besoin (qualifier le besoin de manière détaillée, évaluer les tâches à effectuer)
    2. Recherche de la solution (vérifier s'il existe un logiciel existant, évaluer son adéquation aux besoins, sinon fabrication d'un logiciel sur-mesure par un prestataire externe ou en interne)
  • Intérêt du logiciel
    Automatisation de tâches répétitives ou complexes, permettant de gagner du temps et de réduire les erreurs
  • Évaluation de l'adéquation d'un logiciel existant
    Vérifier s'il répond aux critères de qualité et au besoin exprimé
  • Fabrication d'un logiciel sur-mesure
    Fait par un prestataire externe (SSII) ou en interne (équipe de développement de l'entreprise)
  • Cycle de développement du logiciel
    Partir du besoin exprimé, le détailler dans un cahier des charges, puis conception et développement par l'équipe informatique
  • Cahier des charges
    Document détaillant le besoin, avec texte et illustrations (logigrammes), fourni au prestataire
  • Le coût est un critère à prendre en compte, en plus de l'adéquation aux besoins, pour choisir entre un logiciel existant ou un développement sur-mesure
  • Rendre le dossier patient X
    1. Si le patient est un homme, faire tel traitement
    2. Si le patient est une femme, faire tel traitement
    3. Si le patient est un enfant, faire éventuellement tel traitement
    4. Il y a une étape supplémentaire car il y a des autorisations
  • Mr. Vilhelm, Programmation, 27/01
  • Rechercher la solution
    1. Rédiger le cahier des charges
    2. Concevoir les schémas
    3. Concevoir l'architecture de l'application
  • Cahier de conception
    Documentation technique détaillée sur le fonctionnement interne du logiciel
  • La phase de conception peut prendre plusieurs semaines à plusieurs mois
  • Le prestataire propose plusieurs choix techniques avec leurs conséquences
  • Il y a des allers-retours constants entre le client et le prestataire pendant la phase de conception
  • Codage
    Le programme n'est pas parfait car il peut y avoir de nombreuses erreurs
  • Informatique
    Un ensemble de métiers et de spécialités
  • Phase de validation
    1. Tests unitaires
    2. Tests fonctionnels
  • Les tests unitaires vérifient le fonctionnement technique du logiciel
  • Les tests fonctionnels vérifient que le logiciel répond au besoin du client
  • Tests fonctionnels
    1. Le client commence à utiliser le logiciel de manière fictive pour vérifier que les résultats obtenus correspondent au cahier des charges
    2. Vérifier que le formulaire est facile à utiliser, que les messages d'erreur sont informatifs, que les informations sont bien injectées dans le dossier patient
  • Phase de déploiement
    1. Installer le logiciel sur tous les ordinateurs de l'entreprise
    2. Former les employés à l'utilisation du logiciel
  • Phase d'intégration
    1. Intégrer le nouveau logiciel dans le système d'information existant de l'entreprise
    2. Interconnecter le nouveau logiciel avec les autres logiciels de l'entreprise
  • Phase de formation
    Former les employés à l'utilisation du nouveau logiciel
  • Modification du logiciel
    1. Refaire un cycle de développement plus court pour intégrer les nouvelles modifications
    2. Refaire tous les tests (unitaires, fonctionnels, d'intégration) pour vérifier que les modifications n'ont pas causé de nouveaux problèmes
  • Versions mineures
    Numérotées en général avec des décimales. Petites modifications, essentiellement des corrections de bugs pour améliorer le logiciel
  • Versions majeures
    Cycles de développement plus longs avec des modifications plus volumineuses, notamment l'ajout ou la suppression de certaines fonctionnalités
  • Versions majeures
    1. Plus de codage
    2. Refaire la totalité des tests
    3. Ajouter des tests unitaires et fonctionnels
    4. Ajouter des tests d'intégration
    5. Refaire une phase de formation
  • La 1re version n'est pas optimale
  • Temps
    Entre le moment où le besoin est ressenti et le moment où le logiciel est obtenu, l'entreprise a continué d'évoluer, donc le logiciel n'est plus en adéquation avec le besoin actuel
  • Difficulté à exprimer ce que l'on souhaite
    Le cahier des charges n'exprime pas réellement le besoin, il exprime quelque chose de légèrement différent
  • Logiciel mature
    Logiciel qui répond de façon particulièrement précise/adéquate au besoin de l'entreprise, avec peu de bugs
  • Le logiciel mature doit continuer à évoluer en même temps que l'activité de l'entreprise
  • Baisse de l'adéquation
    Causée par des choix architecturaux inadaptés, l'influence de l'interface utilisateur qui vieillit, et la complexité croissante du code
  • Faire mourir le logiciel
    1. Remplacer par un nouveau logiciel avec un profil d'adéquation identique au besoin
    2. Avoir les deux logiciels en parallèle pendant la phase de transition
    3. Prévoir suffisamment à l'avance l'arrêt de l'ancien logiciel pour concevoir le nouveau
  • Risques au moment du transfert
    Problèmes liés à la reprise des données de l'ancien logiciel dans le nouveau, si les procédures d'exportation n'ont pas été prévues dès le départ
  • Cette phase de reprise des données nécessite donc parfois de les modifier afin de pouvoir les reverser de la façon la plus adéquate possible dans le nouveau système
  • Vu que la reprise des données est l'élément critique, cela doit être prévu dès l'origine de la création du programme dans un format documenté car comme ça le jour où on va effectivement devoir remplacer le logiciel on aura aucun souci
  • Un grand nombre de problèmes dans les entreprises en ce qui concerne la phase de migration, c'est justement parce qu'à l'origine, dans l'ancien logiciel, n'a pas été prévu de procédure normalisée, standardisée d'exportation des informations et donc on se retrouve à devoir bricoler des choses de façon à reprendre partiellement un certain nombre d'informations et de temps en temps à devoir reprendre manuellement avec un personnel qui a deux écrans : 1 sur l'ancien logiciel et 1 sur le nouveau