Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid 8.00 12.00 Lärare Owen Eriksson Madelene Hermelin Johan Karlsson Mikael Fors Maxpoäng 60 För Godkänd krävs minst 50% (30 poäng) För Väl Godkänd krävs minst 80 % (48 poäng)
Fråga 1 I artikeln The Business of OPEN SOURCE beskrivs ett antal affärsmodeller (Business Models) dvs olika sätt att utveckla och distribuera program. Tre av dessa affärsmodeller är: Proprietary, Open communities och Corporate Distribution. a) Beskriv dessa tre olika affärsmodeller. 3 p Fråga 2 De tre grundläggande principerna för Open Source Software licenser innebär: 1. Free Redistribution (Fri återdistribution) 2. Source Code (Källkod) 3. Derived Works (Programvaran kan vara vidareutvecklad) a) Vad är innebörden i (vad betyder) dessa tre grundläggande principer? 3 p b) Varför är det viktigt för dig som utvecklare av etjänster att känna till dessa grundprinciper? 2 p Fråga 3 Följande figur beskriver sambandet mellan regelverket för analys av etjänster och kravspecifikation på IT- system. a) Beskriv vilka delar som ingår i en kravspecifikation. Det vill säga beskriv vad som ingår i den tomma rutan i figuren nedan. Ange inte bara en punktlista utan gör en riktig beskrivning. 3 p b) Beskriv varför det är viktigt att analysen av etjänsten utförs på ett noggrant sätt innan man implementerar själva IT- systemet. 2 p
Fråga 4 I avhandlingen etjänster som social interaktion via användning av IT- system betraktas kommunikation som utförandet av kommunikationshandlingar. a. Beskriv vad som menas med begreppet kommunikationshandling. 4 p b. I samband med kommunikation kan man tala om fyra olika aspekter eller nivåer av meddelandet: Fysisk nivå Syntaktisk nivå Semantisk nivå Pragmatisk nivå Beskriv vad som avses med dessa fyra nivåer. 4 p Fråga 5 Social interaktion utgör ett viktigt begrepp för att förstå etjänstebegreppet. a. Beskriv (Förklara) begreppet social interaktion? 4 p b. Beskriv den utmärkande skillnaden, ur ett tid- plats perspektiv, mellan social interaktion som sker via användning av IT- system och social interaktion som ej sker på ett sådant sätt. 2 p Fråga 6 I artikeln What is Web 2.0 beskriver O Reilly det han kallar för Data as the next Intel Inside. a) Ge exempel på två strategier som man kan använda sig av för att skapa värdefull information? 2 p b) O Reilly menar att kunskap om databashantering utgör en grundkompetens för alla företag som ska lyckas med etjänster på Internet. Vad menas med det? 2 p Fråga 7 Antag att vi har den programkod som finns under rubriken 'visabil.php' nedan, som skall söka information gentemot databasen mydb som innehåller tabellerna nedan.
Detta är koden för 'visabil.php' <?php function display_data($modell){ $conn = mysql_connect('localhost', 'mattias', '123456'); if (!$conn) exit; if (!mysql_select_db('mydb')) exit; $query = "Skriv SQL här"; // <A> Infoga SQL $result = mysql_query($query); // XXX: CODE <B> echo '<div class="cheader">'. $modell. '</div>'; echo <table><tr> ; echo <th>registreringsnummer</th><th>pris</th><th>mil</th></tr> ; while($r = mysql_fetch_assoc($result)){ // XXX: Code <C> } } if(array_key_exists($_get, 'modell')) display_data($_get['modell']);?> Detta är tabellerna i mydb. Tanken är att när scriptet 'visabil.php' körs med medföljande GET- nyckel för bilmodell, så ska en lista med de annonser som finns för denna bilmodell skrivas ut. Till exempel om bilmodellen som efterfrågas är Volvo ska följande information visas: Volvo Registreringsnummer Pris Mil DCA001 150000 10000
Uppgifter: A) Skapa en SQL- fråga som tar fram samtliga annonser av bilar där Modell är $modell. SQL- frågan skall infogas istället för nuvarande text vid // <A> 5p B) Om det inte finns några annonser med den inmatade bilmodellen ska meddelandet Ingen annons med denna modell finns!" och ingen tabell skrivas ut. Denna kod skall infogas vid // XXX: CODE <B> 2 p C) Om det finns annonser med den inmatade bilmodellen skall resultatet skrivas ut i tabellform enligt utseendet ovan. Denna kod skall infogas vid // XXX: CODE <C> 3p D) Förklara vilka ändringar som måste göras för att vi skall kunna begränsa utskriften med avseende på antal mil bilarna kört. Vi tänker oss att detta sker genom GET- nyckeln 'maxmil'. Exempelvis skall alla annonser med bilar av modell Volvo som har körts mindre än 10000 mil skrivas ut genom anropet visabil.php?modell=volvo&maxmil=10000. 5 p Fråga 8 Beskriv informationsmodellen som tabellerna i databasen MyDB ovan bygger genom att rita ett ER- diagram. 3 p Fråga 9 a) Både POST och GET nyttjas för att erhålla data från användaren. Vad skiljer dem åt? 2 p b) Ge ett exempel på när GET är mer fördelaktigt än POST. 1 p Fråga 10 Anders är medlem på ett forum och glömmer bort sitt lösenord och han väljer I have forgotten my password på forumets inloggningssida. Efter det att han har fyllt i den e- mailadress han registrerat sitt konto på får han ett mail. I mailet står det lösenord han glömt. Detta betyder att forumet har stora säkerhetsbrister i sin databas. Motivera varför det ligger till på detta sätt. 4 p Fråga 11 newscls är en class och newsheader ett id. Definiera dem båda i CSS genom att ange ett värde för en valfri egenskap. 2 p Fråga 12 I C# skriver vi int k = 3; för att deklarera variabeln k av typen int. Samma deklaration i PHP blir $k = 3;. a) Det betyder att variabeln k har en typ i C#, men har den det i PHP? Motivera ditt svar. 2 p