• No results found

7 Analys

7.3 Programmet

Här följer en analys av vilka prioriteringar vi gjort i programmet, samt vilka kända buggar programmet har och vilka utökningar som kan vara aktuella i framtida versioner av programmet.

7.3.1 Prioriteringar

Då vi började utvecklingen av programmet var vårt mål ett program där man kunde hämta information från Visma SPCS om en viss order, faktura eller

liknande och grundat på detta visa information om vilka kontakter som fanns för företaget som dokumentet gällde.

Eftersom en av anledningarna till projektet var att åstadkomma ett användarvänligt program som förenklade och effektiviserade arbetet för

befintliga användare låg även en automatiserad lösning högt upp på önskelistan. Även möjlighet för programmet att självt skriva tillbaka kontaktinformation till SPCS var en önskvärd uppgift.

Ett annat önskemål var också möjlighet att se vilken kommunikation som förekommit mellan det egna företaget och den aktuella kunden.

7.3.2 Kända fel

Vi har under utvecklingens gång stött på ett par buggar som vi inte hunnit med eller kunnat lösa.

Krock mellan meny och tooltip

När en förändring i SPCS identifieras av vårt program skickar den upp en så kallad tooltip, det vill säga en pratbubbla som användaren kan klicka på för att visa kontaktkortet för det aktuella företaget. Användaren kan samtidigt som tooltip är uppe klicka på programmets ikon med höger musknapp för att på så sätt visa programmets meny. Programmet anser då både att användaren klickat på tooltip och på ikonen, så när användaren sedan väljer något alternativ i

menyn eller klickar på en tom yta för att stänga menyn, skickas en andra impuls som i sin tur öppnar kontaktkortet för det aktuella företaget.

Vi försökte att lösa problemet genom att använda semaforer, men detta hjälpte inte. En kvalificerad gissning var nämligen att impulsen för att öppna menyn (klick på höger musknapp) kördes först. Om detta hade varit korrekt, skulle det ha varit möjligt att vid identifieringen av klickningen sätta en flagga som

Detta visade sig inte stämma. Vi kan dock inte förklara varför, men det beror sannolikt på att båda impulserna skickas samtidigt och att visningen av menyn gör så att klick på tooltip blockeras. Eftersom man endast kan identifiera

huruvida användaren klickat på tooltip och inte med vilken musknapp detta skett innebär detta vissa problem. Om vi på något sätt skulle veta om vilken

musknapp som klickats på skulle vi kunna säga att vi endast ville köra koden för tooltip om man klickat med vänster musknapp.

Flera användare av samma företagskort

I Outlook kan ett kontaktkort endast köras i en instans i taget. För att förhindra det synkroniseringsfel vi annars skulle få har vi lagt in en räknare i kontaktkortet som ökas då kortet öppnas och minskas då kortet stängs. Om räknaren har ett värde större än 0, får man upp ett meddelande att det redan används.

Problematiken beror på en inbyggd, men förståelig begränsning i Outlook. Om flera instanser skulle vara öppna samtidigt kan detta innebära att sparad

information går förlorad. På sätt och vis är detta inte ett fel utan endast en begränsning i vårt program.

Önskvärt skulle vara om man som användare fick upp en skrivskyddad version av företagskortet, där man kunde välja bland befintliga referenser. Vi har diskuterat möjligheten, men till följd av begränsad tid har vi dock valt att inte göra denna uppdatering. För mera information se 7.3.4 Framtida utökningar.

7.3.3 Kända svagheter

En av de största svagheterna med den lösning vi har valt är att programmet är väldigt beroende på hur SPCS gränssnitt är konstruerat. Detta innebär att om gränssnittet ändras i en kommande version av SPCS så måste eventuellt även vårt program ändras för att det ska fortsätta fungera vilket naturligtvis är en begränsning av programmets livslängd och användbarhet.

Allteftersom programmet används kommer en större och större databas att byggas upp med referensinformation lagrade i kontaktkort för olika företag. En svaghet med detta kommer när man vill uppdatera kontaktkortsmallen med ytterligare funktionalitet eller av något annat skäl behöver uppdatera mallen. De kontaktkort som redan finns lagrade kommer nu att fortsätta använda den gamla mallen medan nya kort kommer använda den nya mallen, detta leder till

kompabilitetsproblem eftersom de gamla korten kanske inte kommer att kunna användas av vårt program (fält som behövs kanske inte finns i de gamla korten etc.).

7.3.4 Framtida utökningar

Här nedan beskrivs några möjliga utökningar som skulle ge programmet bättre funktionalitet.

Temporära företagskort vid samtidig användning

Som beskrivs under 7.3.2 Kända fel kan inte samma företagskort öppnas av flera användare samtidigt. Istället för den lösning som vi för närvarande har där

användaren får upp en dialogruta som informerar att kontaktkortet redan används, borde användaren få möjlighet att öppna en lokal kopia av

företagskortet, så att referenser kan väljas, men där ändringar i företagskortet inte kan skrivas tillbaka.

Detta skulle kunna åstadkommas genom att skapa en kopia av företagskortet i användarens privata mapp i Outlook, om det redan är öppet och sedan radera detta temporära kontaktkort när det stängs.

Automatisk uppdatering av företagskort

En begränsning som vi insett är eventuellt framtida behov att skapa nya versioner av vårt företagskort. Vi har undersökt möjligheten att automatiskt uppdatera befintliga företagskort då mall-filen ändras, men inte funnit något stöd för detta i Outlook. I dagsläget är det enbart de kort som skapas nya efter det att mallen publicerats som får den utökade funktionaliteten. Detta skulle alltså betyda att användaren skulle behöva kopiera data manuellt från redan existerande kontaktkort.

En möjlighet skulle vara att skapa ett program som kunde köras av

systemadministratören, då mallen för företagskortet uppdaterats. På så sätt kunde nya kopior skapas av korten och man kunde i detta läge lägga över den information som lagrats i ett befintligt företagskort.

8 Slutsats

Att koppla samman två eller flera befintliga datorprogram är i sig en invecklad uppgift. Du har oftast inte tillgång till programkod eller möjlighet att på annat sätt kan komma åt eller anropa programmets funktioner.

Vårt program är en fristående applikation som hjälper användare av SPCS att snabbt få tillgång till kontaktinformation. Dessa uppgifter presenteras som ett utökat kontaktkort i Outlook. Detta gör att användaren själv slipper leta upp informationen, något som effektiviserar arbetet. Samtidigt behöver inte användaren vänja sig vid en ny programmiljö.

Referenslista

[1] Microsoft Corporation. Windows [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/winui/winui/windowsuserinterface/windowing/windows.asp> 2006-04-11 [2] Microsoft Corporation. COM Objects and Interfaces [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/com/html/a3b78086-0f02-4b3f-a856-46bfcf4457f4.asp> 2006-04-20 [3] Microsoft Corporation. Interfaces and Interface Implementations [www]. Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/com/html/f50b3e8f-bf87-4525-b47b-96e75b3a05b9.asp> 2006-04-20 [4] Microsoft Corporation. Interface Pointers and Interfaces [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/com/html/f50b3e8f-bf87-4525-b47b-96e75b3a05b9.asp> 2006-04-20 [5] Microsoft Corporation. COM Clients and Servers [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/com/html/f50b3e8f-bf87-4525-b47b-96e75b3a05b9.asp> 2006-04-20 [6] Scandinavian PC Systems AB (2004). Referensmanual – SPCS Integration version 4.1 [pdf]. 2004-09-16

[7]] Refsnes Data. VBScript Tutorial [www].

Hämtat från <http://www.w3schools.com/vbscript/default.asp> 2006-04-19 [8] Jupitermedia Corporation. VBScript Tutorial [www].

Hämtat från <http://www.intranetjournal.com/corner/wrox/progref/vbt> 2006- 04-19

[9] Jacob, Bill & Rice, Frank C (2003). Developing Custom Forms Using Microsoft Outlook 2002 [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnout2k2/html/odc_olcustfrm1.asp> 2006-04-10

[11] Gajic, Zarko. Delphi History [www].

Hämtat från <http://delphi.about.com/cs/azindex/a/dhistory.htm> 2006-04-20 [12] Dragon Soft. History of Delphi [www].

Hämtat från <http://www.dragonsoftru.com/delphi_hist.php> 2006-04-20 [13] Thorpe, Danny (1999). Why the name ”Delphi?” [www].

Hämtat från

<http://delphi.about.com/gi/dynamic/offsite.htm?zi=1/XJ&sdn=delphi&zu=http %3A%2F%2Fbdn.borland.com%2Farticle%2F0%2C1410%2C20396%2C00.ht ml> 2006-04-20

[14] Moffatt, Neil Delphi Basics for .Net [www].

Hämtat från <http://www.delphibasics.co.uk/Net.html> 2006-04-20

[15] Microsoft Corporation (2005). NET Frequently Asked Questions [www]. Hämtat från <http://www.microsoft.com/net/basics_faq.mspx> 2006-04-20 [16] 128K-Communications Ltd. What is Microsoft.NET platform? [www]. Hämtat från <http://www.programmersheaven.com/2/FAQ-DOTNET-What-Is- DOTNET> 2006-04-20

[17] DeepSearcher Inc. Microsoft Outlook Glossary [www].

Hämtat från <http://www.intelligentedu.com/microsoft_outlook_glossary.html> 2006-04-20

[18] Microsoft Corporation. CreateObject Method [www].

Hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en- us/odc_2003_ta/html/odc_landoffice03_vba.asp> 2006-04-20

[19] Gajic, Zarko. How to Parse a Delimited String Into a String List [www]. Hämtat från <http://delphi.about.com/od/adptips2005/qt/parsedelimited.htm> 2006-04-27

På svenska

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra- ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/

In English

The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.

The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement.

For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/

Related documents