Prison de Nantes (étude de cas logicielle)


Creative Commons License
Prison de Nantes is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Préambule
Cette étude de cas est fondée sur un interview pour construire un modèle UML et être implémentée en technologies SQL et Java.
Cahier des charges
Interview entre le directeur de la prison de Nantes (FB) et l'ingénieur logiciel (SD).

Situation


FB : à l’arrivée d’un nouveau détenu, l’administration pénitentiaire établit une fiche d’écrou comportant les informations suivantes : • un numéro d’écrou qui permet d’identifier un prisonnier à l’intérieur de la prison de Nantes ; • le nom, prénom usuel, date de naissance et lieu de naissance du prisonnier ; • le numéro d’affaire qui identifie l’affaire parmi les affaires de la juridiction ; • le nom de la juridiction d’origine de l’affaire, nom qui identifie parfaitement la juridiction ; • la date des faits ; • le motif de l’affaire ; • et la date d’incarcération.
SD : qu’entendez-vous par nouveau détenu ? Est-ce qu’une personne qui a quitté « légalement » la prison il y a trois ans et qui y revient est un nouveau détenu ?
FB : oui.
SD : il aura donc un nouveau numéro d’écrou ?
FB : oui. De plus, je dois vous signaler que si nous avons un numéro d’écrou c’est que c’était la seule manière d’identifier parfaitement un prisonnier.
SD : est-ce que deux prisonniers qui sont actuellement dans une prison française peuvent avoir le même numéro d’écrou ?
FB : oui, mais pas deux prisonniers de la prison de Nantes.
SD : est-ce qu’un prisonnier peut arriver à la prison pour plusieurs affaires ?
FB : il peut être écroué en « préventive ». Dans ce cas, il n’a pas encore été condamné. Mais il subit une décision d’incarcération qui a trait à une affaire. Il a pu être écroué parce qu’il a été condamné pour une affaire. Il peut aussi être écroué parce qu’il a été condamné pour plusieurs affaires.
SD : est-ce que vous enregistrez toutes les affaires pour lesquelles le prisonnier a été condamné ?
FB : oui.
SD : vous enregistrez aussi les affaires pour lesquelles il peut être condamné après son incarcération ?
FB : oui, tant qu’il est incarcéré à la prison de Nantes.
SD : un détenu peut même faire l’objet de nouvelles condamnations pour de nouvelles affaires ?
FB : oui, une personne ayant participé à une affaire, condamnée à la prison (et incarcérée à Nantes) pour cette affaire peut être de nouveau condamnée pour une autre affaire à laquelle elle a participé... avant son incarcération. Depuis que je dirige cette prison, on ne s’en évade plus !
SD : pour une affaire donnée, pouvez-vous avoir plusieurs prisonniers ?
FB : oui, mais nous n’y tenons pas. Il faut aussi que je vous dise que l’on complète les fiches d’écrou par toutes les décisions concernant l’incarcération, à savoir : Chacune de ces décisions est notée sur la fiche d’écrou avec leur numéro (1, 2 ou 3). Chaque décision a une date. Les condamnations comportent la durée de l’emprisonnement à exécuter indiquée en nombre de jours, les réductions de peine comportent la durée de la réduction et les libérations, la date de libération.
SD : un détenu peut-il avoir, par exemple, plusieurs réductions de peine ?
FB : oui.
SD : vous m’avez dit que vous notiez le motif de l’affaire. Il s’agit du motif pour lequel le détenu a été condamné pour l’affaire qui l’a conduit en prison ?
FB : oui, en effet, on peut avoir pour une même affaire des individus condamnés pour des motifs différents.
SD : pouvez-vous me donner des exemples de motifs ?
FB : oui, on a par exemple : SD : pour un détenu et une affaire, il peut sans doute y avoir plusieurs motifs de condamnation. Vous en notez un seul ?
FB : oui, le principal.
SD : vous m’aviez dit aussi que vous enregistriez la date des faits. Mais il se peut que pour une affaire, il y ait des dates des faits. Par exemple, une escroquerie se déroule de telle date à telle date. Pour une affaire, y-a-t-il alors plusieurs dates des faits ?
FB : on enregistre qu’une date des faits.
SD : pouvez-vous me donner quelques exemples de « dates des faits » ?
FB : oui, par exemple : « au cours des mois d’avril et mai 1996 », « vers le 6.12.93 ».
SD : j’aimerais revenir sur les décisions concernant l’incarcération. Est-ce que plusieurs décisions (par exemple, réductions de peine) peuvent être prises à la même date pour le même détenu ?
FB : non. Je comprends que vous pensez que pour un détenu, à la même date, par exemple deux réductions de peine de même durée peuvent être décidées, chaque décision étant relative à une affaire différente pour laquelle le détenu est en prison. Vous voulez dire : est-ce que deux décisions de même type concernant le même prisonnier peuvent être prises le même jour ?
SD : oui.
FB : la réponse est non. Mais on peut décider le même jour d’une réduction et d’une condamnation à des jours de prison. C’est rare.
SD : voulez-vous enregistrer le fait que telle décision concernant l’incarcération de tel prisonnier a été prise par telle juridiction ?
FB : non. Pour nous peu importe de savoir quelles sont les juridictions qui ont pris ces décisions et pour quelles affaires.
SD : pour l’affaire principale pour laquelle le prisonnier est incarcéré, n’y a-t-il pas une juridiction d’origine ?
FB : oui.
SD : au sujet des juridictions, est-ce qu’il peut y avoir deux juridictions ayant le même nom ?
FB : non.
SD : dans vos fichiers conservez-vous les informations sur les détenus qui ont quitté « légalement » la prison ?
FB : non. On ne conserve que les informations relatives aux détenus qui sont en train de purger leur peine de détention.
SD : y compris ceux qui sont en préventive ?
FB : oui, bien sûr.

Besoins fonctionnels

FB : je voudrais globalement pouvoir gérer le système d’information de la Prison de Nantes, à savoir créer, modifier et supprimer les informations en respectant toutes les contraintes que je vous ai énoncées. En outre, trois grandes fonctionnalités me sont nécessaires : incarcérer un prisonnier, décider d'une condamnation, une réduction de peine ou une libération définitive pour un prisonnier et finalement avoir la possibilité de connaître à tout moment les détenus en préventive, c'est-à-dire ceux pour qui aucune condamnation n'a encore été prononcée.
SD : OK merci, je vais faire le modèle UML.
Les sept péchés capitaux de l'ingénierie des besoins
 
UML model
Prison de Nantes UML Class Diagram

Prison de Nantes UML Class Diagram

Ressources