Home
Guide pour le développement de logiciels
Contents
1. Mais quand tout est sous contr le il n y a plus de cr ation Et sans cr ation l imagination se d grade et les performances des logiciels aussi En 2001 est crit le manifeste pour le d veloppement Agile de logiciels http www agilemanifesto org iso fr Les m thodes Agile repensent le cycle de vie du logiciel le rapport a utilisateur et le travail collaboratif Un extrait du livre de V ronique Messager Rota que je n ai pas encore lu Gestion de projet vers les m thodes Agile Broch 2009 r sume bien l id e Une m thode agile est une approche it rative et incr mentale qui est men e dans un esprit collaboratif avec juste ce qu il faut de formalisme Elle g n re un produit de haute qualit tout en prenant en compte l volution des besoins des clients OSU R union nt_ums3365_guide developpement logiciels_vb0 7 22 4 DOCUMENTATION NECESSAIRE On favorise dans un d veloppement les changes directs avec les utilisateurs du logiciel et avec les autres d veloppeurs N anmoins un certain niveau de documentation est n cessaire afin de synth tiser les r flexions de s en souvenir et de pouvoir fournir un support de formation pour les autres et pour sois quand on aura tout oubli D finir les documents n cessaires et leurs plans types est donc n cessaire chaque d but de projet De mani re g n rale pour tout logiciel on a d finit les documents utiles suivants Le cahier des charges
2. UTILISATION D UNE LICENCE Il ne faut pas diffuser un code qui n a pas de nom d auteur de date et de licence associ e on ne sait jamais ce dont demain est fait et apr s tout c est notre travail alors autant le valoriser Le plus simple c est l ensemble des licences CECILL labor es par le CNRS l INRIA et le CEA afin de d velopper des logiciels libres de droit fran ais dans l esprit GNU GPL Voir http www cecill info OSU R union nt_ums3365_guide developpement logiciels_vb0 14 22 8 VALIDATION DES CODES ET INTEGRATION CONTINUE Faire un document de validation pour assurer le suivi et se rappeler des points qu on a test s et ceux qu on n a pas test s Ce document permet de garder une trace de I volution des logiciels il est important Faire des codes de test pour chaque fonction d velopp e et surtout dans les conditions limites a placer dans le r pertoire test Au minimum pour les fonctions complexes Faire de l int gration continue Sans d baller la grosse artillerie mais juste s assurer que la fonction d velopp e peut partir dans la nature et tre utilis e par une personne tierce S il s agit de la modification d une fonction existante s assurer que les fonctions qui l utilisent ont toujours le m me comportement rejouer les tests de ces fonctions et contr ler leur validit Un truc pratique pour a utilisant Doxygen pour chaque fonction qui utilise une autre fonction ajouter la balise sa apr
3. documentation technique de r f rence Doxygen Faire de l int gration continue Pr vil gier des solutions multi plateforme facilement d ployables Toujours penser l utilisateur b ta d ailleurs c est toujours mieux de s en trouver un tr s vite OSU R union nt_ums3365_guide developpement logiciels_vb0 5 22 3 DEMARCHE POUR LA CONCEPTION La diff rence qu on pour voir entre un script et un logiciel c est que le premier ne n cessite pas d avoir une d marche de conception pr alable part un minimum dans sa t te alors que le second oul C est quoi et comment a marche la conception Tere tape la conception g n rale et les interfaces C est la d finition des diff rents modules et ou fonctionnalit s du logiciel qu est ce qu ils font Quelles sont les principales variables ou fonctions de chaque module Comment est ce qu ils communiquent entre eux interfaces internes Et comment ils communiquent avec nous et les autres logiciels interfaces externes NB les interfaces sont toujours difficiles aborder dans tous les d tails au d but elles n cessitent d y revenir et de les affiner tout au long de la conception du logiciel voir Illustration 1 Pour consolider ces d finitions on peut rajouter cette tape un peu de ciment logiciel comment est ce qu on g re les erreurs les logs les valeurs absentes ou invalides quel langage utilise t on Etc Ensuite on prend un peu de recul et
4. s la balise brief c est plus jolie suivi du nom complet de la fonction Ca lie les fonctions dans le document de r f rence et on peut faire une recherche dans les fichiers avec sa nom fonction afin de s assurer qu on a v rifi toutes les autres fonctions qui I utilise Exemple brief Build a XML tree from a XML like dictionnary Recursive function HH sa miscbox mstring compact values to str param in dic2write XML like input dictionnary or list param in roottagname Main XML tag name HH param in rootelement Main XML element to complete with tree HH param in rootwrite Build XML tree from main tag default True return if an error occurs 0 elsewhere ingroup mxml def dic2Xml dic2write roottagname rootelement rootwrite True OSU R union nt_ums3365_guide developpement logiciels_vb0 15 22 9 FORMALISME PREVILEGIE POUR LES APPELS ET LES RETOURS DES FONCTIONS PYTHON 9 1 Structure d appel d une fonction On identifie en fonction du nombre d arguments 3 cat gories de fonctions L low en dessous de 6 arguments function argl arg2 argm argm argn argn RAS c est du classique M medium au dessus de 6 arguments function argl arg2 kwargs Le mot cl args permet un nombre d arguments positionnels ind fini Le mot cl kwargs permet un nombre d arguments nomm s ind fini Ils sont utiles si on veut faire voluer la structure d appel
5. utilitaires g n r s ou associ s test lt sources et executables de test doc lt documentation algorithms lt doc algo de r f rence OSU R union nt_ums3365_guide developpement logiciels_vb0 11 22 development manual lt doc de conception de d veloppement sch mas etc reference guide lt doc technique de r f rence Doxygen html lt dans sa version html user guide lt doc utilisateur validation lt doc de validation et de suivi des anomalies AUTHOR lt fichier contenant le ou les noms des auteurs CHANGELOG lt fichier tra ant les modifications LICENSE lt fichier contenant la licence LICENSE fr README lt description du paquet logiciel r f rence la documentation dans doc s il y en a INSTALL lt notes pour l installation r f rence la documentation utilisateur s il y en a une TODO lt qu est ce qu on doit encore faire et ou pr vu de faire VERSION lt version du paquet x x x install sh etc fichiers d installation si on est chaud 6 3 Adaptation pour Python La particularit de python est qu en pla ant un fichier __init py dans un r pertoire on cr e un espace de nom avec le nom du r pertoire donc on va viter src PaquetLogiciel lt nom du logiciel bin lt fichiers ex cutables g n r s lib lt librairies g n r es paquetlogiciel lt fichiers sources en miniscule dont init py config
6. apt get install graphviz 2 en python utiliser le filtre doxypy sudo apt get install doxypy dans le fichier de configuration doxygen du projet FILTER_SOURCE_FILES YES INPUT FILTER python usr bin doxypy py OPTIMIZE OUTPUT JAVA YES EXTRACT ALL YES Un exemple d utilisation de DOxygen dans du code python coding utf 8 He efile logerr py defgroup logerr logerr e pratique pour d finir un module brief Manage log log file traceback and exception author Franck GABARROT date 2014 copyright CECILL B note 2014 04 04 creation HNA brief Available functions list to import OSU R union nt ums3365_guide developpement logiciels_vb0 9 22 ingroup logerr lt et pour inclure dans le module __all_ genexcep format trace from sys format trace from _ genexcep createLogger debugmodeLogger defaultmodeLogger closeLogger closeallLogger changefileLogger orint2Logger import os sys logging logging handlers traceback brief Module version it is not the toolbox version Integer value Increment when you add an evolution usefull to check compatibility ingroup logerr __version_ 1 a brief Create logger and create or open if already exists log file paramlin directory Log directory paramlin modulename Module name paramlin datetime String date and time information to add to the filename module
7. c est le compte rendu des discussions avec l utilisateur Ca doit tre synth tique et clair sinon a ne sera pas relu par l utilisateur reprendre le besoin pour m moire et tre s r qu on s est bien compris et donner les grandes lignes de la solution propos e On peut lui associer des sp cifications algorithmiques si elles existent faute de sp cification algorithmique on s appuiera souvent plut t sur les protoypes existants et les articles scientifiques ou techniques associ s Plan type 1 Contexte 2 Expression du besoin 3 Solution propos e Le document de d veloppement il contient la description de la conception g n rale des interfaces et de la conception d taill e C est le document central qui est crit au fur et a mesure du d veloppement du logiciel Il est surtout orient pour l quipe de d veloppement donc inutile d en faire des tonnes il faut que a soit un document efficace 4 chacun de juger le niveau de description qu il doit y mettre Plan type 1 Conception g n rale 2 Interfaces 3 Conception d taill e 4 Int gration des volutions Le manuel de r f rence il r f rence tous les modules classes et fonctions avec le descriptif de l utilit et de l utilisation de l entit des entr es sorties des limites possibles etc Un document tr s pratique mais aborder son criture la main est dangereux pour sa sant mentale Heureusement Doxygen le fait pour nous de fa on aut
8. correspondant un num ro de correctif C est pour de la petite boulette On pourra rajouter la version alpha 1 0 0 alpha on est sur la bonne voix de sortir la v1 il faut juste corriger les bugs et ajouter la carrosserie beta 1 0 0 beta il faut tester fond mais on est tout proche de la v1 rc 1 0 0 rc c est la realease candidate on est en v1 mais a peut montrer qu elle est toute jeune quand m me Perso je ne suis pas fan de la nommenclature rc je la zappe Autre type de versionning Pour les modules a peut tre utile d avoir un versionning particulier pour les modules test si cassure de r tro compatibilit etc Par contre la nommenclature x y z a embrouille avec le version du logiciel et c est pas pratique tester donc pour les modules j utilise plut t W avec W un nombre entier de 1 54646465645644445 Pour les documents c est mieux d avoir une nomenclature du document en plus de celle du logiciel on associe la doc a une version X Y du soft ou X mais entre temps elle peut aussi changer donc elle va avoir une version L Y avec L une lettre de a a z correspondant a l dition de la doc et Y un num ro de r vision classique 6 2 Organisation standard PaquetLogiciel lt nom du logiciel bin lt fichiers ex cutables g n r s lib lt librairies g n r es src lt fichiers sources config lt fichiers de configuration et ou de param trage utils lt
9. de la fonction tout en assurant la r tro compatibilit En pratique on va viter les args et on va surtout surtout utiliser les kwargs pour viter une structure d appel rallonge et se laisser la possibilit de rajouter des options Attention tout de m me ne pas en abuser ce n est pas des plus lisibles pour l utilisateur H high un grand nombre fonction fortement configurable et adapt pour les fonctions d interface function configfile configfile kwargs function_v1 params kwargs function_v2 params kwargs La fonction d interface utilise un fichier de configuration contenant la liste des param tres et la version de la fonction a appeler les kwargs contiennent la liste des objets et autres variables hors param tres de configuration manipuler La fonction d interface exploite un parser du fichier de configuration qui fournit un dictionnaire params contenant l ensemble des param tres attendus et la version de la fonction 9 2 Retour d une fonction Si la fonction est simple pas beaucoup de cas d erreur a g rer classiquement on renvoit une valeur ou un dictionnaire de valeurs en retour et None en cas d erreur si on attend un retour sinon un code de retour valeur ou dictionnaire de valeurs None sur erreur ou code retour Si la fonction est plus complexe on voudra savoir quel endroit l erreur s est produite grace un message d erreur pr cis on pr viligiera le tuple suivant en
10. l environnement Surtout quand on d veloppe on n a pas envie de mixer ses librairies tout de suite avec celles de python qui marchent bien dans usr lib python2 7 dist packages soit on fait un script Bash qui fait adapte la variable d environnement PY THONPATH qu on va ex cuter chaque fois ou qu on place dans le bashrc export PYTHONPATH PYTHONPATH home moi meslib2 home moi meslib2 e soit on utilise virtualenv pip install user virtualenv 11 3 4 setup py C est chiant mais c est magique en utilisant setuptools et un fichier setup py Voil un bon exemple pour une lib ayant pour nom sm lib source STO2 usr bin env python coding utf 8 from setuptools import setup find_packages notez qu on import la lib donc assurez vous que l importe n a pas d effet de bord import sm_lib VVVArvrarray et il comporte beaucoup de param tres setup le nom de votre biblioth que tel qu il apparaitre sur pypi name sm_lib la version du code version sm lib version OSU R union nt_ums3365_guide developpement logiciels_vb0 20 22 Liste les packages ins rer dans la distribution plut t que de le faire la main on utilise la foncton find_packages de setuptools qui va cherche tous les packages python recursivement dans le dossier courant C est pour cette raison que l on a tout mis dans un seul dossier on peut ainsi utiliser cette fonction facilement package
11. on se pose la derni re question de la phase de conception g n rale est ce que toutes ces d finitions semblent performantes et r pondent au besoin Si oui on continue Si non on recommence 2 me tape la conception d taill e Evidemment on peut aller plus loin dans la conception et si le logiciel est complexe a sera n cessaire Par contre quand on vient de faire la conception g n rale pr c dente on en a marre d crire et on voudrait que a avance Et quand on a en marre on ne fait pas du bon boulot donc mieux vaut s arr ter l pour le moment et commencer programmer On y reviendra plus tard au fil du d veloppement pour crire petit bout par petit bout la conception d taill e qui probablement nous poussera de temps en temps modifier l g rement la conception g n rale Conception Programmation el ia 3 q TT Cd Conception d taill e Illustration 1 Sch ma de d roulement de la conception d un logiciel Be Agile Cette d marche de conception est inspir e des m thodes Agile Il y a une dizaine d ann es on ne faisait pas un logiciel avant d avoir fait un document sur les OSU R union nt ums3365 guide developpement logiciels_vbO 6 22 sp cifications techniques un autre sur les sp cifications de r alisation un autre sur les sp cifications d interfaces un autre sur les sp cifications techniques d taill es etc Le mot d ordre tait tout est sous contr le d s le d part
12. retour valeur ou dictionnaire de valeurs None sur erreur code retour message d erreur ou code retour message d erreur Code retour OSU R union nt_ums3365_guide developpement logiciels_vb0 16 22 0 tout s est bien d roul 1 erreur fatale 2 alerte e 1xx erreur fatale code sp cialis e 2xx alerte code sp cialis NB en pratique on vite l utilisation d un code sp cialis sauf n cessit absolue OSU R union nt ums3365_guide developpement logiciels_vb0 17 22 10 BRIC A BRAC C 10 1 Cmake TODO 10 2 CHI TODO 10 3 Boost Python TODO OSU R union nt_ums3365_guide developpement logiciels_vb0 18 22 11 BRIC A BRAC PYTHON 11 1 Flottants pr cision et affichage Pr cision Les flottants en base 10 sont cod s en base 2 Cons quence le codage en base 2 stock dans l ordinateur est une approximation de son homologue en base 10 Voir http www afpy org doc python 2 7 tutorial floatingpoint html ou encore http en wikipedia org wiki Machine epsilon Mais pas de panique maintenant on n est que sur des syst mes 64bits le type float python est un float 64 pour v rifier import sys sys float info sys float_info max 1 797693 1348623 157e 308 max_exp 1024 max_10_exp 308 min 2 2250738585072014e 308 min exp 1021 min 10 exp 307 dig 15 mant dig 53 epsilon 2 2204460492503 13e 16 radix 2 rounds 1 Si on utilise numpy gt gt import numpy as np
13. ARA TT D r Osu r union Observatoire des Sciences de l Univers de La R union Note technique Guide pour le d veloppement de logiciels R f rence informatique logiciel nt ums3365 guide developpement logiciels Auteur F Gabarrot R Decoupes G Payen Version du document b 0 Premi re dition 31 07 2014 Derni re r vision 28 02 2015 Nombre de pages 22 Historique des volutions 31 07 2014 Cr ation 19 12 2014 Re lecture et correction des fautes d orthographe 28 02 2015 Re criture du document et compl ments OSU R union nt_ums3365_guide developpement logiciels_vb0 2 22 Table des mati res 1 DO CRIAR Gena nR nena REE EAE TEA TEETE EE PEE ah 4 JI Documents de ne EDS msio SD ue E ncaa INS 4 1 2 Sites UA TAU a nana etat 4 O UC SA 5 2 D marche pour IACONCEDION en ass eee Ne nomma 6 Documentation N S nier ne nes 8 5 Organisation des fichiers sources et commentaires 9 6 Versionning et organisation des paquets I091CI IS nn ne dr aa afetada initie 11 OL Le VS VMN OR RS RR RE nr cng da ance RR a nance 11 6 2 ORG AMIS AOI SNA RR RR ani 11 6 3 Adaptation pour Python i dusirisnsexxiseswawensiesdecasasunyvixesnnaemswawansisuevasigytunvbunastatseadadadvensnedieoaaiane 12 1 GL UGTS elem e MUL et cM MORE ee ca RNA A NR ee Oe 14 8 Validation des codes et int gration continue 15 9 Formalisme pr vil gi pour les appels et les retours deS fo
14. Precision gt gt finfo32 np finfo np float32 gt gt print finfo32 1e 6 environ 7 chiffres significatifs gt gt finfo64 np finfo np float64 gt gt print finfo64 1e 15 environ 16 chiffres significatifs Tableaux gt gt a np array 1 2 3 4 5 6 dtype float64 gt gt a dtype dtype float64 Scalaires gt gt x np float64 25 2525 gt gt x dtype ou type x lt type numpy float64 gt NB le type par d faut de Numpy sur archi 64 bits c est du float64 Affichage et pr cision print 0 2f format your_number 11 2 L acc s aux librairies de la communaut python http pypi python org pypi sudo apt get install python setuptools easy_install user pip puis il n y a plus qu faire pip install user librairie et c est gagn Pip fait aussi les d sinstallation les mises a jour etc Liste de toutes les libs install es pip freeze Donc pour recr er son environnement pip freeze gt requirements txt puis pip install r requirements txt OSU R union nt_ums3365_guide developpement logiciels_vb0 19 22 11 3 Packaging 113 1 alo Si on a un module dans lequel on veut que certaines fonctions ne soient pas accessibles internes onutilise all fonctionl fonction2 parametre1 qui va limiter l importation ces fonctions 11 3 2 init py Dans ce fichier on peut mettre une docstring avec le descriptif du paquet et surtout sa version __ version 0 0 1 11 3 3 G rer
15. comment on l utilise et qu est ce qu il faut faire pr voir pour le maintenir Plan type 1 Introduction description licence et contact 2 Installation 3 Fonctionnement et utilisation 4 Maintenance ANNEXE Exemples d utilisation OSU R union nt_ums3365_guide developpement logiciels_vb0 8 22 5 ORGANISATION DES FICHIERS SOURCES ET COMMENTAIRES Organisation de fichiers sources Un ent te dans chaque fichier qui r pond aux questions qu est ce que c est et quoi a sert qui a cod et quand historique des volutions Penser pr ciser qu il s agit d un encodage en utf8 c est le langage universel il faut l utiliser surtout Python en standard dans Python3 Commentaires dans les codes et documentation technique de r f rence Pour tre tranquile avec les accents ne pas en mettre dans les commentaires Et encore mieux essayer de les crire en anglais a fait de l exercice Ne pas tre radin avec les commentaires Quoi de plus top quand on reprend un code que d avoir une documentation technique de r f rence en ligne disponible avec son quivalent pdf et qu il n y ait plus qu cliquer sur un lien pour avoir le descriptif de la fonction ses entr es sorties et ses d pendances Doxygen permet de faire a rien qu en structurant correctement ses commentaires exemple http www vtk org doc nightly html index html graphviz NB 1 installer graphviz pour faire des jolies diagrammes sudo
16. ing Language Python Development Status 1 Planning License OSI Approved Natural Language French Operating System OS Independent Programming Language Python 2 7 Topic Communications C est un syst me de plugin mais on s en sert presque exclusivement Pour cr er des commandes comme django admin Par exemple si on veut cr er la fabuleuse commande proclame sm on va faire pointer ce nom vers la fonction proclamer La commande sera cr automatiquement La syntaxe est nom de commande a creer package module fonction entry_points console scripts proclame sm sm lib core proclamer gt A fournir uniquement si votre licence n est pas list e dans classifiers ce qui est notre cas license WTFPL Il y a encore une chi e de param tres possibles mais avec a vous couvrez 90 des besoins Ya plus qu python setup py install OSU R union nt_ums3365_guide developpement logiciels_vb0 22 22
17. lt fichiers de configuration et ou de param trage on peut aussi mettre se r pertoire dans le r pertoire paquetlogiciel en python c est plus logique utils lt utilitaires g n r s ou associ s test lt sources et executables de test doc lt documentation algorithms lt doc algo de r f rence development manual lt doc de conception de d veloppement sch mas etc reference guide lt doc technique de r f rence Doxygen html lt dans sa version html user guide lt doc utilisateur validation lt doc de validation et de suivi des anomalies AUTHOR fichier contenant le ou les noms des auteurs OSU R union nt ums3365 guide developpement logiciels vbO 12 22 OSU R union CHANGELOG lt fichier tra ant les modifications LICENSE lt fichier contenant la licence LICENSE fr README lt description du paquet logiciel r f rence la documentation dans doc s il y en a On peut faire un README md format ReST qui est plus pythoniste si on est chaud INSTALL lt notes pour l installation r f rence la documentation utilisateur s il y en a une TODO lt qu est ce qu on doit encore faire et ou pr vu de faire VERSION lt version du paquet x x x setup py lt fichier d installation Python MANIFEST in fichier texte qui liste les fichiers non python inclure dans l installation nt ums3365 guide developpement logiciels_vbO 13 22 7
18. name datetime log Default no datetime string param in rotate Log file automatic rotating file greating than maxsize default no rotating mode paramlin maxbytes Max file size for automatic rotating file byte default 1 Gbyte paramlin backupcount Max number of log files archived return Logger object from python logging module Return None if an error occurs ingroup logerr TEn def createLogger directory modulename datetime None rotate False maxbytes 1000000 backupcount 10 Create logger and create or open if already exists log file logger None videmment ce n est pas tr s pythoniste de ne pas utiliser les docstring mais bon En C on utilisera plut t un formatage du style Px brief blablabla etc OSU R union nt ums3365_guide developpement logiciels_vb0 10 22 6 VERSIONNING ET ORGANISATION DES PAQUETS LOGICIELS 6 1 Le versionning Format X YZ X nombre entier correspondant l dition principale du logiciel On l incr mente lorsqu on r alise une volution majeure du logiciel r volution X 0 est r serv des versions prototypes ou encore instables et ou non finalis es X 1 est la premi re version stable Y nombre entier correspondant au num ro de r vision On l incr mente quand on impl mente des nouvelles fonctionnalit s ou bien quand on les am liore ou encore quand on corrige des grosses boulettes Z nombre entier
19. nctions Python 16 9 1 Structure d appel d une OCTO nent 16 9 2 Retour d une TOTP Egy nnes A 16 10 Bric brac O or 18 DOCE arg E AREE a EE a Ea EE EEN nid 18 a IRD ERR DR ER 18 10 3 Boost PRO a a era adieu denis 18 TBR IG bic PYO Ne irerneenanrmmnions dansante sen 19 11 1 Flottants pr cision T NABRS nn niet dad 19 11 2 L acc s aux librairies de la communaut python http pypi python org pypi 19 LS PACA INR en gi 20 OSU R union nt ums3365 guide developpement logiciels_vbO 3 22 1 DOCUMENTATION 1 1 Documents de r f rence Code R f rence DROI gestion information devspot nt _ums3365 memo utilisation git gitlab_devspot_va0 1 2 Sites internet Code R f rence STO1 http python developpe z com cours TutoSwinn en STO2 http http sametmax c om STO3 _ http franckh developp ez com tutoriels outils doxygen OSU R union Titre Auteurs M mo d utilisation de F Gabarrot Git et GitLab sur devspot Titre Auteurs Adaptation libre de G rard Swinnen How to think like a computer scientist de Allen B Downey Jeffrey Elkner et Chris Meyers Blog Sam amp Max sur python entre autre DOxygen nt ums3365 guide developpement logiciels_vbO Date 2014 07 28 Date 4 22 2 INTRODUCTION Ce document est un recensement de nos pratiques et de nos r gles de fonctionnement pour le d veloppement de logiciels Il a pour objectif de faciliter le tra
20. omatique et g n re une documentation technique en HTML bien pratique La seule chose a faire bien structurer les commentaires du code en utilisant les balises Doxygen Voir http www stack nl dimitri doxygen Le document de validation on trace dans ce document la d marche de validation utilis e et l volution du logiciel C est lui qu on se r f re quand on cherche savoir qu est ce qui a t test et comment Ce n est pas non plus la peine d en faire des tonnes bien souvent mettre a disposition une fonction permettant de tester la valider d une fonctionnalit est plus pertinente qu un long discours N h sitez pas a pr ciser ce qui n a pas t test les limites de la fonction qu on a identifi es et celles dont on se doute Le plus pratique est bien s r d crire ce document au fur et mesure du d veloppement C est aussi un document qui va nous permettre d assurer le suivi du logiciel r f rencement des tudes de performances du logiciels qui seront r alis es dans le temps des anomalies ou faiblesses identifi es Plan type 1 M thode de validation 2 Validation d taill e un sous chapitre pour chaque version revision 3 Suivi un sous chapitre pour chaque version revision Le manuel d utilisation c est le seul document que l utilisateur lira peut tre Il a besoin d un document court qui lui indique quoi sert le logiciel comment on l installe comment il fonctionne quelles sont les limites
21. s find_packages votre pti nom author Sam et Max Votre email sachant qu il sera publique visible avec tous les risques que a implique author email lesametlemax D gmail com Une description courte description Proclame la bonne parole de sieurs Sam et Max Une description longue sera affich e pour pr senter la lib G n ralement on dump le README ici long_ description open README md read Vous pouvez rajouter une liste de d pendances pour votre lib et m me pr ciser une version l installation Python essayera de les t l charger et les installer Ex gunicorn docutils gt 0 3 Ixml 0 5a7 Dans notre cas on en a pas besoin donc je le commente mais je le laisse pour que vous sachiez que a existe car c est tr s utile install_requires Active la prise en compte du fichier MANIFEST in include package data True Une url qui pointe vers la page officielle de votre lib url http github com sametmax sm lib Il est d usage de mettre quelques metadata propos de sa lib OSU R union nt_ums3365_guide developpement logiciels_vb0 21 22 Pour que les robots puissent facilement la classer La liste des marqueurs autoris es est longue alors je vous l ai mise sur Obin http is gd AajTjj Il n y a pas vraiment de r gle pour le contenu Chacun fait un peu comme il le sent Il y en a qui ne mettent rien classifiers Programm
22. vail en collaboration et de nous permettre d changer et de perfectionner ces pratiques et ces r gles N h sitez pas a donner vos id es et remplir les parties en attentes Pour commencer voila notre liste de cl s garder en t te pour le d veloppement de logiciels Pr vil gier les langages C et Fortran pour les langages compil s et Python et Bash pour les langages interpr t s Mais sans se bloquer non plus Pr vil gier les outils libres et gratuits gcc gfortran eclipse geany etc Ne pas sous estimer la phase de conception mais ne pas s y noyer non plus be Agile http fr wikipedia org wiki M C3 A9thode_agile UML2 allons y ti lamb ti lamb Lucidchart pour les sch mas c est bien pratique aussi S assurer que les fonctionalit s d velopp es font le job et qu elles sont les plus simples possibles utiliser et re exploiter KISS http fr wikipedia org wiki Principe KISS Assurer la gestion du code en configuration Git et GitLab sur le devspot voir DRO1 Organiser les paquets logiciels de fa on la plus standardis e possible pour que le code soit facilement reprenable voir chapitres suivants rien n est fig chacun a le droit d apporter des volutions Documenter tous les codes afin qu ils soient facilement utilisables et re exploitables gt commentaires dans les fichiers sources gt documentation de conception et de d veloppement gt documentation utilisateur gt
Download Pdf Manuals
Related Search
Related Contents
1 a APC 230V Smart-UPS XL 3000VA Philips shaving head cleaner HQ100 Kingston Technology ValueRAM 1GB 667MHz DDR2 ECC CL5 DIMM User Guide プリンタードライバー インストール・設定手順書 ~モノクロ複合機編~ Pheonix drills Eng only. User Manual A pEF6/His A, B, and C - Thermo Fisher Scientific DeLOCK SATA 70cm Copyright © All rights reserved.
Failed to retrieve file