L'identification des besoins est la pierre angulaire du développement de logiciels. Ce cours vous offre les connaissances et savoir-faire requis pour élaborer des spécifications logicielles au moyen de processus structurés. Vous apprendrez ainsi à identifier les besoins des utilisateurs et les spécifications système, à adapter le processus à l'envergure de votre projet, ainsi qu'à tester la qualité et la cohérence de votre modèle de spécifications logicielles.
Développeurs, dirigeants, concepteurs, testeurs ou chefs de projets impliqués dans les spécifications de systèmes logiciels
Programme :
L'importance des spécifications logicielles
Le cycle de vie du développement de logiciel
Définition et différentiation des types de spécifications
Localisation des sources de recueil de besoins
Approches de développement
Présentation des spécifications logicielles
Structuration du document de spécifications
Éléments de spécification : texte, diagrammes, données
Structuration du projet
Adapter la méthodologie à l'envergure du projet
Adaptation du processus à des systèmes restreints, de taille moyenne et complexes
Différentiation des techniques agiles et standards
Analyse des besoins utilisateur
Identification et hiérarchisation des parties prenantes
Détermination des principaux besoins sur la base des documents fournis
Itération collaborative du recueil des besoins
Application du processus de spécification
Détermination
Analyse
Spécification
Validation
IEEE
Standards SWEBOK
Le Processus Unifié
Collecte et enrichissement des cas d'utilisation
Rédaction de scénarios
Élaboration de scénarios et de cas d'utilisation synthétiques
Itération et élaboration progressive de cas d'utilisation
Création de cas d'utilisation structurés
Cas d'utilisation axés sur les comportements
Identification des parties prenantes et acteurs
Dénomination et définition du champ d'application des cas d'utilisation
Rédaction de scénarios : scénarios nominaux et alternatifs
Ajout de pré conditions et de post conditions
Itération des cas d'utilisation
Enrichissement des cas d'utilisation en concertation avec les parties prenantes
Factorisation des étapes élémentaires
Découverte de scénarios alternatifs
Contrôle de l'exhaustivité des cas d'utilisation
Organisation des cas d'utilisation
Modélisation des scénarios avec UML
Choix entre le texte libre et la notation formelle de cas d'utilisation
Identification des spécifications d'une interface
Intégration des besoins d'interface
Cas d'utilisation et maquettes d'interfaces utilisateur
Comparaison des divers types d'interfaces
Création d'interfaces types
Développement d'un story-boards et d'un prototype
Modélisation d'interfaces à partir de schémas de navigation et de diagrammes d'état UML
Spécifications des données
Analyse des besoins de données
Etude des cas d'utilisation et de l'interface
Identification des règles de gestion
Création d'un modèle de spécifications de données
Représentation des modèles de données par des diagrammes de classes UML
Entités
AttributsAssociations
Multiplicité d'associations
Actualisation du glossaire
Spécifications non fonctionnelles
Collecte des exigences non fonctionnelles
Obtention de données volumétriques
Classification des besoins non fonctionnels via la méthode FURPS
Illustration des spécifications non fonctionnelles
Fiabilité du système : disponibilité, intégrité et défaillances
Flexibilité, évolutivité, simplicité d'utilisation, réutilisabilité et robustesse
Validation des spécifications et création de scénarios de test
Validation des exigences
Validation de la mise en forme des exigences
Processus de révision des exigences
Inspection des exigences pour vérification
Génération des cas d'utilisation de test à partir des exigences
Vérification de la testabilité des exigences
Extrapolation des scripts et scénarios de test sur la base des exigences
Exigences, tests système et test d'acceptance Utilisateur (UA)
Gestion de l'évolution des exigences
Développement d'un processus de gestion des exigences
Pilotage des changements via une CCB (Change Control Board : Commission de contrôle du changement)
Confirmation des exigences via une matrice de traçabilité