Tentamen Informationsinfrastruktur Institutionen för informatik och media, Informationssystem Datum 16/2 2012 Tid 8.00 12.00 Lärare Owen Eriksson Mattias Nordlindh Maxpoäng 55 För Godkänd krävs minst 50% För Väl Godkänd krävs minst 80 %
Teoridel (30 p) 1) Hanseth och Lyytinen (2010) beskriver fem designprinciper som man bör tillämpa i samband med utformning (design) av informationsinfrastrukturer. Tre av dessa designprinciper handlar om hur man ska kunna skapa en självförstärkande process för den utvecklade IT-komponenten som gör att den installerade basen kan växa. Dessa principer lyder på följande sätt. Design initially for direct usefulness. Build on installed bases: Expand installed base with persuasive enrollment tactics: a) Beskriv dessa tre designprinciper 3 p b) Beskriv hur dessa tre designprinciper kan exemplifieras på den IT-komponent (klient och gateway) som ni utvecklat under kursen i ert projektarbete 3 p 2) Enligt Searle och talhandlingsteorin kan man använda språket till att referera på två olika sätt (det finns två refereringsmekanismer i språket), antingen genom att använda en identifierare eller med hjälp av en definite description. a) Vad är skillnaden mellan en definite desription och en identifierare? 2 p b) Vilka problem finns det med att använda en definite description? 2 p 3) SOA Service Oriented Architecture är den dominerande arkitekturen när det gäller att utveckla e-infrastrukturer. a) Beskriv vad som menas med SOA? 3p b) I samband med SOA kan man använda sig av olika understödjande infrastrukturer (eller protokoll) för säkerhet och datatransport. Ge exempel på och beskriv kortfattat två sådana understödjande protokoll 2 p c) Ett viktigt val i samband med att man väljer den understödjande infrastrukturen är om man har behov av asynkron eller synkron överföring av meddelande. Vad menas med asynkron eller synkron överföring i detta sammanhang, och när bör man välja respektive överföringssätt 2 p 4) Eriksson och Goldkuhl (2012) beskriver i sin artikel Pre-conditions for public sector e-infrastructure development fyra olika förutsättningar (pre-conditions, OBS! en av dessa förutsättningar är underindelad i tre subkategorier), som är viktiga i samband med e-infrastruktur utveckling inom e-förvaltning. a) Beskriv dessa förutsättningar. 4 p b) Beskriv varför det är viktigt att vara medveten och att ha kunskap om dessa förutsättningar i samband med e-infrastrukturutveckling 2p? 5) Enligt Hanseth och Lyytinen (2004) skiljer sig ett informationsinfrastrukturperspektiv på IT-utveckling, från ett traditionellt perspektiv på IT-utveckling. a. Vad kännetecknar ett traditionellt perspektiv på IT-utveckling? 5 p b. Vilka problem finns med det traditionella perspektivet om man betraktar det ur ett e-infrastruktur-perspektiv? 2 p
Programmerings- och modelleringsdel (25 p) Läs igenom hela frågan noggrant innan du börjar skriva din lösning! Informationsmodellering, programmering och XML-design Tänk följande scenario: Du arbetar för ett konsultbolag som ska bygga en ny e-tjänst åt en bank. E-tjänsten ska automatiskt besluta om lån till privatpersoner. E-tjänsten ska utnyttja två andra system-till-system tjänster, en tjänst som banken har utvecklat som hämtar låneansökningar, samt en annan tjänst som ägs av ett kreditupplysningsföretag som ger kreditupplysningar om privatpersoner (innevånare i Sverige) Arbetet med kommunikationen till dessa tjänster är redan gjord av en av dina kollegor och du kan använda metoderna HämtaLåneansökningar och HämtaKreditupplysning med följande signaturer: XElement HämtaKreditUpplysning(string personnummer); XElement HämtaLåneansökningar(); Bankens tjänst förmedlar ett XML-svar med låneansökningar som följer XML-schemat Låneansökningar.xsd och Kreditupplysningsföretagets tjänst förmedlar kreditupplysningar om privatpersoner i ett XML-format som följer schemat Kreditupplysning.xsd. Din uppgift blir att implementera en tjänst (en gateway) som hämtar alla låneansökningar och för varje ansökan skapas ett låneärende (observera skillnaden mellan låneansökning och låneärende). För att kunna göra ett beslut i ett låneärende görs en kreditupplysning av låntagaren och sedan utförs en bearbetning om låntagaren ska beviljas ett lån eller ej. Lån beviljas enbart till de låntagare som uppfyller nedanstående krav: Inga betalningsanmärkningar Inga skulder till kronofogden Lånsumman överskrider ej en årsinkomst Gör din implementation av tjänsten i följande metod: XElement HämtaBeslutFörLåneansökningar(); Tjänsten utnyttjar XML för att förmedla svaret, designen av XML-svaret är ännu inte definierat utan även det blir en uppgift för dig. I tabellen nedan anges den information och termer som ska finnas i XML-svaret från tjänsten (gatewayen). Banken lägger stor vikt vid designen av XML-svaret som ska vara logisk och välstrukturerad. Termer och Information Långivare Tid Beskrivning Namnet på banken som lånar ut pengarna Tiden för XML-svaret För varje låneärende ska följande information finnas: Låneansökan Personnummer Identiteten för låneansökan Låntagarens personnummer
Beslut Beslutsunderlag Beslutet om lånet beviljas eller ej, benämns antigen med Beviljas eller Beviljas ej De uppgifter som beslutet grundar sig på, alltså om låntagaren uppfyller kraven för lån: Betalningsanmärkningar Skuld till kronofogden Hur stor andel av en årslön lånet avser Banken har bestämda regler för vilken plattform, språk och tekniker som ska användas i utveckling av deras mjukvara. Din implementationen ska vara i C# och all hantering med XML ska ske med LINQ-To-Xml, alltså foreach-loopar är förbjudna. Uppgifter a) Implementera tjänsten (gatewayen) som är beskriven ovan i metoden HämtaBeslutFörLåneansökningar (20 p) b) Gör en informationsmodell baserat på ovanstående meddelande från tjänsten, till modellen ska även en beskrivande text finnas som både förklarar modellen och dina designbeslut (5 p)
Låneansökningar.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema id="låneansökningar" elementformdefault="qualified" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="svarhämtalåneansökningar"> <xs:element name="långivare" type="xs:string" /> <xs:element name="låneansökningar"> <xs:element name="lånansökan" minoccurs="0" maxoccurs="unbounded"> <xs:element name="id" type="xs:string" /> <xs:element name="datum" type="xs:date" /> <xs:element name="låntagare"> <xs:element name="namn" type="xs:string"/> <xs:element name="personnummer" type="xs:string" /> <xs:element name="adress" type="xs:string" /> <xs:element name="lån"> <xs:element name="typ" type="xs:string" /> <xs:element name="belopp" type="xs:int" /> <xs:element name="ränta" type="xs:double" /> </xs:schema>
Kreditupplysning.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema id="kreditupplysning" elementformdefault="qualified" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="svarhämtakreditupplysning"> <xs:element name="ansvarigmyndighet" type="xs:string" /> <xs:element name="kreditupplysning"> <xs:element name="personnummer" type="xs:string"/> <xs:element name="betalningsanmärkningar"> <xs:element name="antalanmärkningar" type="xs:int" /> <xs:element name="datumsenasteanmärkning" type="xs:date" /> <xs:element name="kronofogdeuppgifter"> <xs:element name="summaskuldsaldo" type="xs:int" /> <xs:element name="skuldsanering" type="xs:string" /> <xs:element name="taxeringsuppgifter"> <xs:element name="taxeringsår" type="xs:string" /> <xs:element name="sammanräknadinkomst" type="xs:int" /> </xs:schema>