Expression et prise en compte des besoins non fonctionnels

Problématique et état de l’art

La conception de l'architecture logicielle d'un système est considérée une étape critique dans la construction des systèmes logiciels qui doivent répondre à des propriétés précises de qualité, telles que la sécurité, l’intégrité, la fiabilité, l‘efficacité et l’évolutivité. Les méthodes existantes telles que celles de J. Bosch, ATAM (Architecture Tradeoff Analysis Method) et UP (Unified Process) ne permettent pas la construction systématique d’architectures logicielles en prenant en compte les besoins non fonctionnels. Or ce sont ceux qui orientent vraiment la conception architecturale. Un des problèmes auquel nous sommes confrontés pour prendre en compte les besoins en terme de critères de qualité pendant les étapes du développement est le fait que nous manquons de méthode appropriée de mesure de ces qualités. La spécification, le choix et l'évaluation des critères de qualité d'une architecture sont les aspects cruciaux, autant au niveau statique que dynamique. Bien que la communauté scientifique des architectures logicielles ait formulé plusieurs propositions en ce sens dans les organismes tels que l’ISO (International Standard Organization), l’OMG (Object Management Group ) ou l’IEEE (Institute of Electrical and Electronics Engineers), très peu parlent de la mesure. Ceci est en partie du au fait que, d'une part les normes ne sont pas directement applicables et d'autre part, qu’il manque de méthodes appropriées de mesure. Ceci entraîne que, dans le domaine de l'architecture logicielle, les pratiques habituelles exigées par le génie logiciel sont difficiles à appliquer.

Contributions


La conception d’architectures logicielles doit être guidée par les propriétés non fonctionnelles. Ceci implique d’une part de pouvoir exprimer les besoins et d’autre part de savoir évaluer une architecture de telle manière à permettre à l’utilisateur de faire les choix en fonction de priorités données aux propriétés non fonctionnelles requises. Nous avons défini une méthode basée sur des attributs de qualité permettant d'évaluer une architecture. Ces attributs sont explicitement introduits dans une architecture décrite en UML 2.0. L'étude des critères de comparaison permet de sélectionner un pattern à appliquer lors du développement d'un système distribué. L'utilisation de ces attributs de qualités permet également de guider la reconfiguration dynamique d'une architecture.

Résultats


Le développement de systèmes distribués requiert l’expression des besoins non fonctionnels et leur prise en compte lors de la conception architecturale. Pour valider la méthode proposée, nous avons étudié un système de travail collaboratif dans un réseau sans fil ad hoc. Pour aider à la conception de son architecture nous avons été amenés à compléter les patterns d’architecture de systèmes distribués existants afin de décrire les propriétés non fonctionnelles prises en compte par chacun des patterns.

 Imprimer  E-mail

DMC Firewall is a Joomla Security extension!