questo è lo schema di partenza per la progettazione del database per le traduzioni. lo schema è fatto con umbrello
<?xml version="1.0" encoding="UTF-8"?> <XMI xmlns:UML="org.omg/standards/UML" verified="false" timestamp="" xmi.version="1.2" > <XMI.header> <XMI.documentation> <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter> <XMI.exporterVersion>1.2.0</XMI.exporterVersion> <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding> </XMI.documentation> <XMI.model xmi.name="schemaDatabase1Bozza" href="/home/masotti/Desktop/schemaDatabase1Bozza.xmi" /> <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" /> </XMI.header> <XMI.content> <docsettings viewid="11" documentation="" uniqueid="43" /> <UML:Model> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="2" name="int" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="3" name="char" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="4" name="bool" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="5" name="float" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="6" name="double" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="7" name="long" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="8" name="short" /> <UML:DataType stereotype="tipo dati" visibility="public" xmi.id="9" name="string" /> <UML:Actor visibility="public" xmi.id="12" name="Coordinatore" /> <UML:Actor visibility="public" xmi.id="13" name="traduttori" /> <UML:Actor visibility="public" xmi.id="18" name="Database SQL" /> <UML:Actor visibility="public" xmi.id="37" name="directory dei sorgenti" /> <UML:Association visibility="public" xmi.id="22" name="inserisce file in inglese" > <UML:Association.connection> <UML:AssociationEndRole visibility="public" aggregation="none" type="12" /> <UML:AssociationEndRole visibility="public" isNavigable="true" type="18" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="24" name="assegna files da tradurre" > <UML:Association.connection> <UML:AssociationEndRole visibility="public" aggregation="none" type="12" /> <UML:AssociationEndRole visibility="public" isNavigable="true" type="13" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="38" > <UML:Association.connection> <UML:AssociationEndRole visibility="public" aggregation="none" type="18" /> <UML:AssociationEndRole visibility="public" isNavigable="true" type="37" /> </UML:Association.connection> </UML:Association> </UML:Model> <diagrams> <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1011" snapy="10" showatts="1" xmi.id="1" documentation="" type="402" showops="1" showpackage="0" name="diagramma delle classi" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Sans,13,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="833" > <widgets/> <messages/> <associations/> </diagram> <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1011" snapy="10" showatts="1" xmi.id="11" documentation="" type="400" showops="1" showpackage="0" name="database Mandrake" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Sans,13,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="833" > <widgets> <UML:ActorWidget usesdiagramfillcolour="1" width="74" usesdiagramusefillcolour="1" x="27" linecolour="none" y="185" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="59" usefillcolor="1" isinstance="0" xmi.id="12" font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:ActorWidget usesdiagramfillcolour="0" width="56" usesdiagramusefillcolour="0" x="46" linecolour="#ff0000" y="355" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="59" usefillcolor="1" isinstance="0" xmi.id="13" font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:ActorWidget usesdiagramfillcolour="1" width="81" usesdiagramusefillcolour="1" x="255" linecolour="none" y="272" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="59" usefillcolor="1" isinstance="0" xmi.id="18" font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:NoteWidget usesdiagramfillcolour="1" width="228" usesdiagramusefillcolour="1" x="32" linecolour="none" y="444" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="79" usefillcolor="1" isinstance="0" xmi.id="34" text="i traduttori scaricano i file in inglese asegnati e caricano i files in italiano tradotti(o parti di essi)" font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:ActorWidget usesdiagramfillcolour="1" width="112" usesdiagramusefillcolour="1" x="662" linecolour="none" y="175" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="59" usefillcolor="1" isinstance="0" xmi.id="37" font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:NoteWidget usesdiagramfillcolour="1" width="375" usesdiagramusefillcolour="1" x="431" linecolour="none" y="334" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="253" usefillcolor="1" isinstance="0" xmi.id="39" text="database SQL 1 inserito il file in inglese lo si scompone in stringhe e lo memorizza in tutti i suoi vari tag 1.1 ne fa una copia nella cartella dei sorgenti 2 se viene inserito lo stesso file ma con delle modifiche memorizza solo le stringhe nuove e quelle cambiate , avisando il traduttore che ci sono delle modifiche da fare e delle cose nuove da tradurre. 3 per ogni nuova versione di mandrake usare un database vergine salvando tutti i glossari " font="Sans,10,-1,5,50,0,0,0,0,0" /> <UML:NoteWidget usesdiagramfillcolour="1" width="501" usesdiagramusefillcolour="1" x="162" linecolour="none" y="4" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="179" usefillcolor="1" isinstance="0" xmi.id="40" text="Cose non rappresentate in questo schema: http://www.csr.unibo.it/descrizione.asp?ID=614 3) Tener traccia delle diverse e successive versioni dei file, (e permettere un recupero delle versioni vecchie) 5) Eseguire controlli di (ortografia, lunghezza...) sulle stringhe. 6) Permettere la traduzione dei file di stringhe in diversi formati. 7) Permettere la costruzione di un glossario (concordato) che serva di aiuto a tutti. 8) Mettere a disposizione di tutti un mini portale di interfaccia. " font="Sans,10,-1,5,50,0,0,0,0,0" /> </widgets> <messages/> <associations> <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="18" widgetaid="12" xmi.id="22" > <linepath> <startpoint startx="101" starty="214" /> <endpoint endx="255" endy="291" /> </linepath> <UML:FloatingTextWidget usesdiagramfillcolour="1" width="113" usesdiagramusefillcolour="1" x="136" linecolour="none" y="237" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="18" usefillcolor="1" pretext="" isinstance="0" xmi.id="22" text="inserisce file in inglese" font="Sans,10,-1,5,50,0,0,0,0,0" /> </UML:AssocWidget> <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="13" widgetaid="12" xmi.id="24" > <linepath> <startpoint startx="64" starty="244" /> <endpoint endx="74" endy="355" /> </linepath> <UML:FloatingTextWidget usesdiagramfillcolour="1" width="128" usesdiagramusefillcolour="1" x="9" linecolour="none" y="277" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="18" usefillcolor="1" pretext="" isinstance="0" xmi.id="24" text="assegna files da tradurre" font="Sans,10,-1,5,50,0,0,0,0,0" /> </UML:AssocWidget> <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="2" widgetbid="18" widgetaid="13" roleBdoc="" roleAdoc="" type="503" changeabilityA="900" changeabilityB="900" visibilityA="200" > <linepath> <startpoint startx="102" starty="384" /> <endpoint endx="255" endy="311" /> </linepath> </UML:AssocWidget> <UML:AssocWidget totalcounta="3" indexa="1" totalcountb="2" indexb="1" widgetbid="37" widgetaid="18" xmi.id="38" > <linepath> <startpoint startx="336" starty="291" /> <endpoint endx="662" endy="204" /> </linepath> </UML:AssocWidget> <UML:AssocWidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="39" widgetaid="18" roleBdoc="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > <linepath> <startpoint startx="336" starty="311" /> <endpoint endx="431" endy="460" /> </linepath> </UML:AssocWidget> <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="34" widgetaid="13" roleBdoc="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > <linepath> <startpoint startx="74" starty="414" /> <endpoint endx="146" endy="444" /> </linepath> </UML:AssocWidget> </associations> </diagram> </diagrams> <listview> <listitem open="1" type="800" id="-1" label="Viste" > <listitem open="1" type="801" id="-1" label="Vista logica" > <listitem open="0" type="807" id="1" label="diagramma delle classi" /> <listitem open="1" type="830" id="-1" label="Tipi di dati" > <listitem open="1" type="829" id="4" label="bool" /> <listitem open="1" type="829" id="3" label="char" /> <listitem open="1" type="829" id="6" label="double" /> <listitem open="1" type="829" id="5" label="float" /> <listitem open="1" type="829" id="2" label="int" /> <listitem open="1" type="829" id="7" label="long" /> <listitem open="1" type="829" id="8" label="short" /> <listitem open="1" type="829" id="9" label="string" /> </listitem> </listitem> <listitem open="1" type="802" id="-1" label="Vista dei casi d'uso" > <listitem open="0" type="805" id="11" label="database Mandrake" /> <listitem open="1" type="811" id="12" label="Coordinatore" /> <listitem open="1" type="811" id="18" label="Database SQL" /> <listitem open="1" type="811" id="37" label="directory dei sorgenti" /> <listitem open="1" type="811" id="13" label="traduttori" /> </listitem> <listitem open="1" type="821" id="-1" label="Vista componente" /> <listitem open="1" type="827" id="-1" label="Vista di dispiegamento" /> </listitem> </listview> <codegeneration> <codegenerator language="Java" > <codedocument writeOutCode="false" package="" id="ANTDOC" fileExt=".xml" fileName="build" > <textblocks> <codeblockwithcomments tag="xmlDecl" text="<?xml version="1.0"?>" > <header> <codecomment tag="" writeOutText="false" /> </header> </codeblockwithcomments> <xmlelementblock nodeName="project" tag="projectDecl" canDelete="false" > <header> <codecomment tag="" text="Java ANT build document" /> </header> <textblocks/> </xmlelementblock> </textblocks> <header> <codecomment tag="" /> </header> </codedocument> </codegenerator> <codegenerator language="Cpp" > <codedocument writeOutCode="false" package="" id="Makefile_DOC" fileExt="" fileName="Makefile" > <textblocks/> <header> <codecomment tag="" /> </header> </codedocument> </codegenerator> </codegeneration> </XMI.content> </XMI>