Feeds:
Posts
Comments

Posts Tagged ‘Database engineering’

temporaire

Let me be clear on this «smart form» thing and what, in my mind, it represents : one knows what a pdf form is: «Each PDF file encapsulates a complete description of a fixed-layout flat document, including the text, fonts, graphics, and other informations needed to display it whatever the application.» in other word, it’s an image, it’s a photo of a form encapsulating content of whatever format into a single document one supposedly cannot change.¹

Permettez moi de clarifier ce truc de «document intelligent» et ce que ça signifie, pour moi : on sait ce qu’est un document pdf : «le document PDF […] préserve les polices de caractères, les images, les objets graphiques et la mise en forme de tout document source, quelles que soient l’application et la plate-forme utilisées pour le lire.» En d’autres termes, c’est une image, une photo d’un formulaire comprenant du contenu de formats divers en un seul document que l’on ne devrait pas savoir modifier¹.

I came to realize there was something wrong in the way we were addressing, at work, the database issue : we started off with one particular set of datas (non conformances) and, because it’s also part of our job, it didn’t take long before we figured it would also be great if we could add various follow-ups (audits, inspections, corrective actions, etc.).

J’ai réalisé qu’il y avait quelque chose qui n’allait pas dans la façon que l’on avait d’aborder, au travail, le problème base de données : nous avons commencé avec un jeu de données (des non-conformités) et, parce que cela fait aussi partie de notre travail, ça ne nous a pas pris longtemps avant de nous figurer que ça serait bien si nous pouvions lui ajouter aussi différents suivis (des audits, des inspections, des actions correctives, etc.).

So basically the database is not even finished and running that we already add disruptive elements in it. The whole logic of its construction with one set of fields should then normally be reconsidered but because of budget constraints and the time factor that job is almost never done and from then on we’re in trouble.

Donc la base de données n’est simplement pas encore finie et en production qu’on lui ajoute des éléments perturbateurs. Toute la logique de sa construction avec un jeu de champs devrait alors être reconsidérée mais pour des raisons de contraintes budgétaires et de temps ce travail n’est presque jamais fait et dès cet instant on est mal.

I wrote about organizing documents like playing lego© some months ago (almost a year now, God time flies!). Basically this holds true if one (understand here an entity, an organization) figures out what its smallest brick is; from then on the ‘game’ consists in playing transcluding elements. In my opinion, this might be possible in very small entities, with a very good understanding of what a highly intergrated structured documents system implies. Or if said entity uses a wiki

J’ai déjà parlé d’organiser des documents comme de jouer aux lego© il y a quelques mois (presqu’un an, comme le temps passe!). En fait ceci est surtout vrai si on (comprendre ici une entité, une organisation) sait en quoi sa plus petite brique consiste; à partir de là le ‘jeu’ consiste à jouer à transclure des éléments. À mon avis ceci n’est possible que dans une très petite entité, avec une bonne compréhension de ce qu’implique un système documentaire très intégré. Ou si ladite entité utilise un wiki

I started with a definition of a pdf document, I’d like now to introduce the element making it «smart» or, at least, «rich» : the possibility to add fields (text, date, image even,…). All entities produce documents, how would one know what they work/ed on otherwise ? This is where the connection with a database may be established : feeding fields in databases with the content of fields in pdf documents. Wouldn’t it be a lot easier for each entity to be given a blank form for them to add whatever fields and have them diplayed as they fancy it ?

J’ai commencé avec la définition d’un document pdf, j’aimerais maintenant introduire l’élément le rendant «intelligent» ou, du moins, «riche» : la possibilité d’y ajouter des champs (texte, date, même une image, …). Toutes les entités  produisent des documents, comment saurait-on sur quoi elles (ont) travaillent/é autrement ? C’est ici que la connexion avec une base de données s’établit : nourrir les champs dans les bases de données avec le contenu des champs des documents pdf. Est-ce que ça ne serait pas plus facile pour chaque entité qu’on lui donne un document vierge à elles d’y ajouter des champs et de les y disposer comme elles le souhaitent ?

temporaire

Asking the IT department to come into play at the very early stages of designing a database seems logical, it might not be such a good idea though. Each department, be they in Engineering, Quality, Tooling, Finance, Commerce, Methods, Research, … needs, at first, to define their own ways of documenting work, of classifying it, archiving, retrieving it (or failing to sometimes). As they produce documents along side their activity, those documents never fail to meet same requirements : title, description, codes sometime, dates, names, … they may even have unique identifications (which, for someone who designs databases, is a godsend).

Demander à la DSI d’intervenir dès les premières étapes de la construction d’une base de données peut sembler logique, elle pourrait pourtant ne pas être une si bonne idée. Chaque département, qu’il soit Ingénierie, Qualité, Outillage, Finance, Commerce, les Méthodes, la Recherche, … a besoin, au début, de définir sa propre façon de documenter les travaux, de la classifier, de l’archiver, de le retrouver (ou de ne pas y parvenir parfois). Comme il produit des documents, en parallèle de ses activités, ces derniers n’échappent pas à la même règle : un titre, une description, des codes parfois, des dates, des noms, … ils peuvent même avoir des identifications uniques (ce qui, pour quelqu’un créant des bases de données, est pain bénit).

Take the picture at the top, we would be between the 2nd and the 3rd step : all pdf forms, with fields (2nd) from each department would need to have some fields which names and formats would be exactly the same³ so that a database would have no problem importing their datas. That’s when IT would come into play : along with ‘actors’² they would define all necessary key elements the latter should bring for IT to play with and design a database.

Prenez l’image du dessus, nous serions entre l’étape 2 et 3 : tous les formulaires pdf, avec les champs (2nde étape) de chaque département devraient avoir quelques champs dont le nom et le format seraient exactement pareils³ de telle façon qu’une base de données n’auraient aucun problème à importer leurs données. C’est là que la DSI interviendrait : avec les ‘acteurs’² ils définiraient tous les éléments clés nécessaires à fournir pour que la DSI puissent jouer avec et construire la base de données.

In other words, a clear definition of roles and responsibilities for all, called into play at appropriate times | En d’autres termes, une définition claire et des rôles et des responsabilités pour tous, appelés à jouer aux moments appropriés.

temporaire

¹ : in reality one can easily modify a pdf document | En réalité on peut aisément modifier un document pdf.

² : Engineering, Quality, Tooling, Finance, Commerce, Methods, Research, … | Ingénierie, Qualité, Outillage, Finance, Commerce, les Méthodes, la Recherche, …

³ : eg FieldName_Description, FieldName_Date, FieldName_Author, … | par exemple  ChampNom_Description, ChampNom_Date, ChampNom_Auteur, …

Advertisement

Read Full Post »

Document workflow

The thought crossed my mind whilst I was, again, venting about our lack of tools, the time needed to develop applications and above all the excessive delay between the start of the project and our realizing we wouldn’t be able to make do with only a couple of Excel©®™ spreadsheets.

Cela m’est venue alors que, encore une fois, je pestais à propos de notre manque d’outil, le temps nécessaire pour développer des applications et surtout le retard à l’allumage entre le début du projet et le fait que l’on se rende compte que nous ne serions pas capables de se débrouiller avec quelques tableaux Excel©®™.

All departments in a company produce … something : technical documents, drawings, various kinds of notes, forms, you name it. What I’ve witnessed over a reasonable period of time is, once we’ve passed that just-a-couple-of-Excel-spreadsheets-will-suffice-don’t-bother-wasting-money-on-apps-please phase, some entity finally receives delegation to develop … something.

Tous les départements dans un companie produisent … quelque chose : documents techniques, plans, toutes sortes de notes, de formulaires, pour n’en nommer que quelques-uns. Ce que j’ai pu voir sur une période de temps raisonnable, une fois passée la phase quelques-tableaux-Excel-suffiront-pas-la-peine-de-dépenser-de-l’argent-pour-des-applications-svp, une entité se voit finalement chargée de développer… quelque chose.

essai 3

Critical step, the 1st one:  how to begin ? Strangely enough, even though transversal projects are meant to be particularly that, transversal, I haven’t seen any such project beginning otherwise than let’s-adapt-to-most-urgent-process-all-others-will-follow-wise. In other words: most critical process will be the first one which specs will be fully translated into code lines all other following ones should fairly easily be to. Hopefully.

Étape critique, la première : comment commencer ? Assez étrangement, bien que les projets transverses soient supposés être en particulier ça, transverses, je n’en ai pas vu commençant autrement qu’à la façon adaptons-le-processus-le-plus-urgent-tous-les-autres-suivront. En d’autres termes : le processus le plus critique sera celui dont le cahier des charges se verra complètement traduit en lignes de code tous ceux qui suivront devraient l’être aussi assez facilement. Espérons le.

Fairly soon, during the process-translated-into-flowchart-then-code-lines … process there is always someone who manages to kind of suggest that other to-be-translated processes would be difficult to adapt if the first one is too strictly coded. Otherwise said: hey ! pay attention a little, other processes differ here and there.

Assez rapidement, pendant la phase de processus-traduite-en-logigramme-puis-lignes-de-codes il se trouve toujours quelqu’un qui réussit à faire entendre que les autres processus à-passer-à-la-moulinette s’avéreraient difficiles à adapter si le premier est codé trop strictement. Autrement dit : Faites gaffe ! les autres processus diffèrent ici et là.

At best the end result reproduces, digitally, maybe, 2 , 3, 4 processes but hardly can it reproduce them all. And what if it did ? what are the chances that, should one process change in time, the whole application wouldn’t need to be reprogrammed even partially not only to translate that change into code lines but also to make sure that all other processes are not impacted?

Au mieux le résultat final reproduit, numériquement, peut-être 2, 3, 4 processus mais difficilement l’intégralité. Et même s’il le faisait ? Quelle serait la chance qu’il ne soit pas nécessaire de revoir le programme pour correspondre au changement de processus mais, aussi, pour s’assurer que les autres processus ne sont pas impactés?

There’s no such thing as a one size fits all application. Ça n’existe pas une application taille unique.

One particular thing all processes have in common though is that, at some point, it is required of them that they relate to external processes. How do you describe a problem, what constitutes such and such equipment, how do call those item better yet what are they part-numbers, etc.

Une chose en particulier que tous ces processus ont en commun pourtant est le fait qu’ils leur faillent, à une moment ou à un autre, entrer en relation avec d’autres processus. Comment décrivez vous un problème, qu’est-ce qui constituent tel ou tel équipement, comment appelez-vous tel ou tel objet et mieux quel est son identifiant, etc. ?

Let me ask this then: Why bother putting into code a complete process (and having a hard time trying to adjust all others to the first one) when 1 – it is understood from the very beginning that although several processes are involved 2 – only a fraction¹ of all ‘fields’, for each process, really needs to be common, in format and content, to all others ?

Alors je pose cette question : Pourquoi s’embêter à coder tout un processus (et avoir des difficultés à essayer d’ajuster tous les autres au premier) quand 1 – on comprend depuis le début que bien que plusieurs processus soient impliqués 2 – seulement une fraction¹ de tous les ‘champs’, pour chaque processus, se doit réellement d’être commun, en format et contenu, avec tous les autres ?

(Like written above) all departments in a company produce something AND more often than not exchange between them. To me equally important is the exchange process (compared to producing) in that, depending of course on its visibility, it allows for statuses to be known: where is such and such document at?

(Comme écrit plus haut) tous les départements dans un compagnie produisent quelque chose ET presque tout le temps échangent entre eux. À mon avis tout aussi important est l’échange (par rapport à la production) en ce que, en fonction bien sûr de sa visibilité, cela permet de connaître les statuts : où en est tel ou tel document ?

I believe time dedicated to developping databases would be a lot shorter if only aforementioned fraction¹ was the only part that would be coded, each department continuing to manage their additional datas³ (making sure, still, that a constant bound be maintained with fraction¹ in question).

Je crois que le temps dédié au développement de bases de données serait beaucoup moins long si la fraction¹ mentionnée plus tôt était la seule à être mise en lignes de code, chaque département continuant à gérer le reste des données³ (tout en s’assurant qu’un lien constant soit maintenu avec la fraction¹ en question).

essai 1Here’s my attempt at sketching what I wrote about above. On the left: all datas (rectangles³) from each department extensively translated into lines of code (cloud² being the end result). On the right: ‘fraction’.

Ceci est ma tentative d’imager ce que j’ai écrit plus haut. À gauche : toutes les données (rectangles³) de chaque département intégralement traduites en lignes de codes (le nuage² représentant le résultat final). À droite : la ‘fraction’

essai 2Concerning exchanges, I tried to picture them, the way I see them (colored arrows), occurring within the cloud² (left pic) or externally (right pic). The latter could (and should) relatively easily be a process in itself, independant from all other processes, as it would offer mere communication vehicules. Conversely, one may readily comprehend the complexity of engineering exchanges within an integrated system (change something, anything, like adding a mere field, and the whole system needs adjustment).

En ce qui concerne les échanges, j’ai essayé de les imager (flèches colorées), tels que je les vois, se passant à l’intérieur du nuage² (image de gauche) ou à l’extérieur (image de droite). Ce dernier peut (et doit) relativement facilement être un processus à part entière, indépendant de tous les autres processus, en ce qu’il offrirait un moyen simple de communication. À l’inverse, on peut aisément appréhender la complexité de concevoir des échanges à l’intérieur d’un système intégré (changer quelque chose, n’importe quoi, comme d’ajouter un simple champs, et tout le système requiert d’être réajusté).

It doesn’t escape me that this post is already getting lengthy though I left a couple of matters³ unclear or, at least, needing explanations. I chose to leave it at that and keep those³ for a future post.

Il ne m’échappe pas que ce billet est déjà assez long bien que j’ai laissé quelques sujets dans la brume ou, du moins, en demande d’explications. Je choisis de laisser en l’état et de garder ceux-ci pour un prochain billet.

¹ : fraction : basic informations, common to all processes (description, a few dates {deadlines, targets and steps}, persons in charges, etc.) / informations de base, communes à tous les processus (descriptions, quelques dates {jalons, objectifs et étapes}, personnes en charges, etc.)

² : (not to be confused with remote solutions) representing the integrated system / (à ne pas confondre avec les offre à distance) représentant le système intégré

³ : rectangles for instance, what about them ? / les rectangles par exemple, qu’en fait-on ?

Read Full Post »

%d bloggers like this: