B.- Programmer des formulaires et des états + Extraire les informations utiles aux écrans ou aux documents à générer.
Je peux générer des formulaires pré-remplis en fonction de l’action qui les précède ou de la personne qui les utilise.
Référence : DPSE paragraphe 4.2.1.4, RS1 page 15
+ Programmer les traitements
Je récupère l’action demandée et les informations soumises par l’utilisateur d’un formulaire et je m’en sers pour le traitement. Voici par exemple une méthode C# qui définit les actions d’un bouton lorsqu’on y clique dessus (ici l’appel de la méthode LicenceCL.Renew) en récupérant les valeurs d’un autre champ de formulaire (la chaine produit qui vient du menu déroulant menuProduit) :
private void button1_Click(object sender, EventArgs e)
{
try
{
String produit = (string)menuProduits.SelectedItem;
List mesMessages = LicenceCL.Renew(produit, 'A');
string messageFinal = "";
foreach (string ligne in mesMessages)
{
messageFinal = messageFinal + ligne;
}
BoxReponse.Text = messageFinal; }
catch (Exception ex)
{
throw new FaultException(ex.Message);
}
}
Cette méthode renvoie également le résultat de l’action demandée dans une autre partie du formulaire
+ Documenter le programme.
Je commente le plus possible mes pages de code et laisse des notices explicatives à ceux qui vont l’utiliser.
Exemple : ce bout de code T-SQL avec les commentaires en vert
exec sp_xml_preparedocument @OutPutDoc OUTPUT, @licenceXML --péparation d'un document xml navigable SET @produit = (SELECT produit FROM OPENXML(@OutPutDoc, '/licences/*',1)
WITH (produit varchar(50) '@Nom')) -- sortons dynamiquement le nom du produit qui est la valeur du premier node enfant de la racine
SET @produitSansEspaces = REPLACE (@produit, ' ','') -- le même sans l'espace au milieu pour coller au nom du même node SET @XMLPath = '/licences/'+@produitSansEspaces+'/*' --construisons le chemin qui permet de décomposer tous les nodes enfants de <[NOMDUPRODUIT]>
/*On insère dans une variable table les trois colonnes qui nous intéressent à partir du document OPENXML :
-Variable (le nom du node),
-Valeur et Controle (les attributs du même node) */ declare @newData table (variableN varchar (50), valeurN varchar (50), controleN varchar (100))
INSERT @newData SELECT variable, valeur, controle FROM OPENXML(@OutPutDoc, @XMLPath,2)
WITH(variable varchar(50) '@mp:localname', --récupère le nom du node
valeur varchar(50) '@Valeur',--récupère les valeurs des attributs du node
controle varchar(100) '@Controle') exec sp_xml_removedocument @OutPutDoc + Tester à partir d'un jeu d'essai.
Le processus de développement implique des tests permanents, si possible avec des jeux d’essais proches des données de production. C’est ce qui a été fait dans le cadre du projet développé par MIMSO
Pour des données moins structurées car provenant de saisies utilisateurs, je cherche toujours à savoir ce qui se passe dans les cas suivants et construis les jeux d’essais en fonction :
-Valeur entrée vide (tolérance des nulls)
-Valeur incohérente ou doublon
-Chaine de caractère contenant des espaces indus
-Chaine de caractères comprenant des signes pouvant poser des problèmes car non interprétés par tous les encodages (apostrophes, lettres accentuées, caractères réservés du langage de programmation)
C.- Programmer des pages Web + Réaliser les scripts demandés,
J’ai programmé des pages Web à intégrer à l’Intranet de l’entreprise avec des feuilles de style factorisables.
Référence : la totalité du RS1
+ Concevoir les jeux d'essai permettant la mise au point des pages Web,
Les jeux d’essais pour les pages Web doivent toujours comprendre des chaines de caractère et des images de taille variable et on doit s’assurer du résultat sur la mise en page.
Il faut alors produire des jeux d’essais avec toutes les longueurs acceptables de chaines ou d’images et traiter les autres.
+ Documenter.
Je produis des commentaires dans le code Source et laisse des éléments de trouble shoot au support
|