Modéliser les besoins des utilisateursModel user requirements

Visual Studio vous aide à comprendre, discuter et communiquer les besoins de vos utilisateurs en dessinant des diagrammes sur leurs activités et le rôle joué par votre système pour les aider à atteindre leurs objectifs.Visual Studio helps you understand, discuss, and communicate your users' needs by drawing diagrams about their activities and the part your system plays in helping them achieve their goals. Un modèle d’impératifs est un ensemble de tels diagrammes, chacun étant axé sur un aspect différent des besoins des utilisateurs.A requirements model is a set of these diagrams, each of which focuses on a different aspect of the users' needs. Pour obtenir une démonstration vidéo, consultez : Modeling the Business Domain (Modélisation du domaine d’entreprise).For a video demonstration, see: Modeling the Business Domain.

Pour connaître les versions de Visual Studio qui prennent en charge chaque type de modèle, consultez Version support for architecture and modeling tools.To see which versions of Visual Studio support each type of model, see Version support for architecture and modeling tools.

Un modèle d’impératifs vous aide à :A requirements model helps you:

  • Vous concentrer sur le comportement externe du système, indépendamment de sa conception interneFocus on the system's external behavior, separately from its internal design.

  • Décrire les besoins des utilisateurs et des parties prenantes avec beaucoup moins d’ambiguïté qu’en langage naturelDescribe the users' and stakeholders' needs with much less ambiguity than you can in natural language.

  • Définir un glossaire cohérent de termes qui peuvent être utilisés par les utilisateurs, les développeurs et les testeursDefine a consistent glossary of terms that can be used by users, developers, and testers.

  • Réduire les oublis et les incohérences des impératifsReduce gaps and inconsistencies in the requirements.

  • Réduire la somme de travail nécessaire pour répondre aux changements d’impératifsReduce the work needed to respond to requirements changes.

  • Planifier l’ordre dans lequel les fonctionnalités seront développéesPlan the order in which features will be developed.

  • Utiliser les modèles comme base pour les tests système et clarifier la relation entre les tests et les impératifsUse the models as a basis for system tests, making a clear relationship between the tests and the requirements. Quand les impératifs changent, cette relation vous aide à mettre à jour les tests correctement.When the requirements change, this relationship helps you update the tests correctly. Cela permet de s’assurer que le système répond aux nouveaux impératifs.This makes sure that the system meets the new requirements.

    Un modèle d’impératifs est le plus utile si vous l’utilisez pour focaliser les discussions avec les utilisateurs ou leurs représentants et si vous le revisitez au début de chaque itération.A requirements model provides greatest benefit if you use it to focus discussions with the users or their representatives, and revisit it at the beginning of each iteration. Il est inutile de le remplir de manière détaillée avant d’écrire le code.You do not have to complete it in detail before writing code. Une application partiellement fonctionnelle, même si elle est grandement simplifiée, constitue en général la base la plus stimulante pour toute discussion des impératifs avec les utilisateurs.A partially working application, even if very much simplified, generally forms the most stimulating basis for discussion of the requirements with users. Le modèle permet de résumer les résultats de ces discussions de façon efficace.The model is an effective way to summarize the results of those discussions. Pour plus d’informations, consultez utiliser des modèles dans votre processus de développement.For more information, see Use models in your development process.

Note

Tout au long de ces rubriques, le terme « système » faire référence au système ou à l’application que vous développez.Throughout these topics, "system" means the system or the application that you are developing. Il peut s’agir d’une grande collection de nombreux composants matériels et logiciels, d’une application unique ou d’un composant logiciel à l’intérieur d’un système plus grand.It might be a large collection of many software and hardware components; or a single application; or a software component inside a larger system. Dans tous les cas, le modèle d’impératifs décrit le comportement qui est visible de l’extérieur de votre système, par le biais d’une interface utilisateur ou d’une API.In every case, the requirements model describes the behavior that is visible from outside your system, whether through a user interface or API.

Tâches courantesCommon tasks

Vous pouvez créer plusieurs vues différentes des impératifs des utilisateurs.You can create several different views of the users' requirements. Chaque vue fournit un type particulier d’informations.Each view provides a particular type of information. Lors de la création de ces vues, il est préférable de passer fréquemment de l’une à l’autre.When you create these views, it is best to move frequently from one to another. Vous pouvez commencer à partir de n’importe quelle vue.You can start from any view.

Diagramme ou documentDiagram or document Ce qu’il décrit dans un modèle d’impératifsWhat it describes in a requirements model SectionSection
Diagramme de classes conceptuellesConceptual class diagram Glossaire des types utilisés pour décrire les impératifs et des types visibles à l’interface du système.Glossary of types that are used to describe the requirements; the types visible at the system's interface.
Autres documents ou éléments de travailAdditional documents or work items Critères de performances, de sécurité, de facilité d’utilisation et de fiabilité.Performance, security, usability and reliability criteria. Description des impératifs de qualité de serviceDescribing quality of service requirements
Autres documents ou éléments de travailAdditional documents or work items Contraintes et règles non spécifiques à un cas d’usage particulierConstraints and rules not specific to a particular use case Affichage des règles métierShowing business rules

Notez que la plupart des types de diagrammes peuvent être utilisés à d’autres fins.Notice that most of the diagram types can be used for other purposes. Pour une vue d’ensemble des types de diagrammes, consultez créer des modèles pour votre application.For an overview of diagram types, see Create models for your app.

Showing Business RulesShowing Business Rules

Une règle métier est un impératif qui n’est associé à aucun cas d’usage particulier et doit être respecté à l’échelle du système.A business rule is a requirement that is not associated with a particular use case, and should be observed throughout the system.

De nombreuses règles métier sont des contraintes sur les relations entre les classes conceptuelles.Many business rules are constraints on the relationships among the conceptual classes. Vous pouvez écrire ces statique ** des règles d’entreprise sous forme de commentaires associés aux classes pertinentes sur un diagramme de classes conceptuel.You can write these staticbusiness rules as comments associated with the relevant classes on a conceptual class diagram. Exemple :For example:

Règle dans le commentaire associé à la classe Order.

Lesrègles métier dynamiques contraignent les séquences d’événements autorisées.Dynamic business rules constrain the allowable sequences of events. Par exemple, vous utilisez un diagramme de séquence ou d’activités pour montrer qu’un utilisateur doit se connecter avant d’effectuer d’autres opérations sur votre système.For example, you use a sequence or activity diagram to show that a user must log in before performing other operations on your system.

Toutefois, vous pouvez exprimer de nombreuses règles dynamiques plus efficacement et plus génériquement en les remplaçant par des règles statiques.However, many dynamic rules can be more effectively and generically stated by replacing them with static rules. Par exemple, vous pourriez ajouter un attribut booléen « Connecté » à une classe dans le modèle de classes conceptuelles.For example, you could add a Boolean attribute 'Logged In' to a class in the conceptual class model. Vous ajouteriez « Connecté » comme post-condition du cas d’usage Connecté et vous l’ajouteriez comme précondition pour la plupart des autres cas d’usage.You would add Logged In as the postcondition of the log in use case, and add it as a precondition of most of the other use cases. Cette approche vous permet d’éviter de définir toutes les combinaisons possibles de séquences d’événements.This approach lets you avoid defining all the possible combinations of sequences of events. Elle offre aussi davantage de flexibilité quand vous devez ajouter de nouveaux cas d’usage au modèle.It is also more flexible when you need to add new use cases to the model.

Notez qu’ici le choix porte sur la façon dont vous définissez les impératifs et que cette décision est indépendante de la façon dont vous implémentez les impératifs dans le code du programme.Notice that the choice here is about how you define the requirements, and that this is independent of how you implement the requirements in the program code.

Les rubriques suivantes fournissent des informations supplémentaires :The following topics provide more information:

Pour en savoir plus surTo learn about LectureRead
Comment développer du code qui respecte des règles métierHow to develop code that adheres to business rules Modéliser l’architecture de votre applicationModel your app's architecture

Describing Quality of Service RequirementsDescribing Quality of Service Requirements

Il existe plusieurs catégories d’impératifs de qualité de service.There are several categories of quality of service requirement. Il s'agit notamment des types suivants :They include the following:

  • PerformancesPerformance

  • SécuritéSecurity

  • Facilité d'utilisationUsability

  • FiabilitéReliability

  • RobustesseRobustness

Vous pouvez inclure certains de ces impératifs dans les descriptions de cas d’usage particuliers.You can include some of these requirements in the descriptions of particular use cases. D’autres impératifs ne sont spécifiques à aucun cas d’usage et il est plus efficace de les rédiger dans un document distinct.Other requirements are not specific to use cases, and are most effectively written in a separate document. Dans la mesure du possible, essayez d’adhérer à la terminologie définie par le modèle d’impératifs.When you can, it is useful to adhere to the vocabulary defined by the requirements model. Dans l’exemple suivant, notez que les principaux termes utilisés dans l’impératif sont les titres des acteurs, des cas d’usage et des classes des illustrations précédentes :In the following example, notice that the main words used in the requirement are the titles of actors, use cases, and classes in the preceding illustrations:

Si un Restaurant supprime un Élément de menu pendant qu’un Client Commande un Repas, tout Élément de commande qui fait référence à cet Élément de menu est affiché en rouge.If a Restaurant deletes a Menu Item while a Customer is Ordering a Meal, any Order Item that refers to that Menu Item will be displayed in red.

Consultez modéliser l’architecture de votre application pour apprendre à développer un code conforme à la qualité de service.See Model your app's architecture to learn how to develop code that adheres to quality of service requirements.

Voir aussiSee also