SWEBOKLe SWEBOK, ou « Guide to the Software Engineering Body of Knowledge », ou « Guide du corpus de connaissances en génie logiciel » est un référentiel établi par l’IEEE Computer Society pour structurer les connaissances relatives au génie logiciel. Il cherche à délimiter des domaines de connaissances bien identifiés, et à faire une synthèse des pratiques et techniques généralement acceptées, tout en visant à asseoir la reconnaissance du génie logiciel comme discipline de l'ingénierie[1]. La version électronique est mis à disposition gratuitement par l'IEEE[2].
IntérêtLe SWEBOK vise à codifier les connaissances professionnelles, et servir ainsi de guide aux professionnels du développement de logiciels pour l'exercice de leur métier, aux organismes académiques ou de formation professionnelle pour l'élaboration de cursus d'apprentissage, et à des organisations professionnelles pour établir des programmes de certification ou d'accréditation professionnelle[1]. Le SWEBOK s’adresse donc aux enseignants chargés de bâtir des programmes de l’enseignement supérieur et aux étudiants. Il peut être aussi utilisé par les entreprises privées et publiques comme un guide des connaissances du domaine pour mettre en place des bonnes pratiques d’ingénierie du logiciel. Ce qui ne veut pas dire que tout ingénieur devra l’appliquer sans réflexion. Son but est de structurer le génie logiciel en 15 domaines de compétences, et de présenter les pratiques « généralement acceptées », techniques et normes correspondantes. Il fait ainsi un inventaire méthodologique qui permet d'orienter le praticien. Toutefois l'attention du lecteur est attiré sur le fait qu'il s'agit d'un guide sur le corpus et non du corpus lui-même[1] : le SWEBOK se réfère ainsi à des connaissances métier existantes, sans chercher à se substituer à d'autres ouvrages et sources de référence. Par ailleurs, il documente en quoi le génie logiciel constitue une discipline à part entière de l'ingénierie. HistoriqueLes travaux pour établir le SWEBOK ont démarré en 1993 à la suite d'une initiative conjointe entre l'IEEE et l'ACM[1] et ont été organisés en trois phases[3]. Le début de l'élaboration de ce référentiel est concomitante avec les travaux de l'Organisation Internationale de normalisation initiés en 1990 et qui ont abouti à la promulgation en 1995 de la norme ISO 12207 sur le cycle de vie des processus logiciels. Cette norme a servi de base de référence au SWEBOK, qui en est toutefois indépendant et ne se limite pas à la norme[1]. Une première version du SWEBOK est réalisée en 1998 mais nécessite des améliorations[4],[5]. L'ACM s'est retiré des instances de pilotage du SWEBOK en 2000, après avoir constaté que l'IEEE envisageait d'utiliser le SWEBOK comme base pour réglementer l'accès à la profession d'ingénieur logiciel (via une licence d'exercice), ce à quoi l'ACM s'oppose fondamentalement[6]. Une seconde version du SWEBOK[7] est publiée en 2004. Elle a été publiée en 2005 sous la forme d’un rapport technique de normalisation ISO/IEC TR 19759:2005. La norme ISO 12207 est révisée en 2008 et prend l'intitulé « Ingénierie des systèmes et du logiciel -- Processus du cycle de vie du logiciel »[8]. Une troisième version[1], le SWEBOK 3.0, est publiée en 2014. Elle a été publiée en 2015 sous forme d'un rapport technique de normalisation ISO/IEC TR 19759:2015 également diffusé par l'AFNOR[9][source insuffisante]. La norme ISO 12207 est révisée en 2017 et devient une norme commune avec l'IEEE, et cite le SWEBOK en tant que rapport technique de référence[réf. nécessaire]. Une quatrième version est sortie en octobre 2024. C'est la version actuelle du référentiel. Les domaines de connaissance du génie logicielLe SWEBOK structure le génie logiciel en 15 domaines de connaissances. Un chapitre est dédié à chacun d'entre eux:
Ces domaines, et les processus évoqués dans les domaines ne sont pas à comprendre comme des activités séquentielles. Les disciplines liées au génie logicielLe SWEBOK identifie les disciplines suivantes comme étant liées au génie logiciel:
Participation au dispositif du SWEBOKLe projet SWEBOK est le fruit d’une collaboration entre universités, industries et associations professionnelles soit :
Réactions face à SWEBOKIl y a eu de fortes réactions lors du processus de création du SWEBOK, en raison de l'intention affichée par l'IEEE d'utiliser le SWEBOK pour règlementer l'accès à la profession d'ingénieur logiciel sur la base d'un mécanisme de licence professionnelle. L'ACM qui était co-initiatrice du SWEBOK s'est ainsi retirée du projet dès 2000, en raison de son opposition rigoureuse à une telle restriction règlementaire, et de sa position en faveur d'un accès libre à la profession[6]. Plusieurs auteurs ont critiqué publiquement une version préliminaire du SWEBOK 2004, lors d'une phase publique d'appel à commentaires, que ce soit sur l'intention d'établir une licence professionnelle, ou sur la base du contenu jugé comme prêtant à question, insuffisant ou erroné comme Martin Fowler[10], Cem Kaner (professeur de génie logiciel)[11],[12] et Grady Booch[réf. nécessaire]. Depuis, le SWEBOK a subi plusieurs révisions qui ont fait intervenir plus de 150 praticiens. L'avant-propos de la version en vigueur ne mentionne plus le mécanisme de licence professionnelle qu'à titre d'exemple, parmi les procédés à disposition des professions pour diffuser les connaissances nécessaires à leur exercice, au même titre que les études, les formations, et les certifications[1]. La dernière version du SWEBOK prend de plus en compte les pratiques agile, et précise pour plusieurs domaines, comme par exemple les exigences ou la conception, que le processus est nécessairement itératif. Notes et références
Voir aussiArticles connexesLien externe
|