Informa5onsmodellering

Relevanta dokument
Chapter 3: Data, informa5on and knowledge. Paul Beynon- Davies: Business Informa5on Systems

Chapter 3: Data, informa5on and knowledge. Paul Beynon- Davies: Business Informa5on Systems

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara. Kapitel 6 sid

Betydelsen av informa1onsmodellering

Informationsmodellering och e-infrastrukturer

Kap 1-3. Databasen (1.2.2) Database Management System DBMS (Kap 1.6), Teknisk Programvara SQL (Kap 3) Den relationella modellen (Kap 2)

Varför ska du läsa kursen? Brist på kravställarkompetens Brist på förändrings- och utvecklingskompetens Bristande förståelse för hur

Varför ska du läsa kursen? Kunskapen om informa/onsystem är för dålig Brist på kravställarkompetens Brist på förändrings- och utvecklingskompetens

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

TDDD52 Databas. Databas. Databas 1/3/13

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Lösningsförslag, tentamen i Databaser

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Ladok en vik+g del av universitetens/högskolornas verksamhetskommunika+on och e- infrastruktur

Sample exam questions. Database exam TIG058

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Övningar i SQL. SQLAccess.doc Ove Lundgren

1.Lär känna MS SQL Observera. Tips. Förberedelse

Chapter 12: Development

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Databasspråket SQL - online.

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

Databasspråket SQL - online.

Databaser - Design och programmering

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

732G16: Databaser - Design och programmering

Karlstads Universitet, Datavetenskap 1

Föreläsning 2: Översikt över ett databassystem

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

2. Change log Datamodell/XML

Databasspråket SQL - online.

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

TENTAMEN DATABASKUNSKAP ITEK12

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Starta MySQL Query Browser

Databasspråket SQL - online.

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Design och underhåll av databaser

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Konceptuella datamodeller

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

Structured query language (SQL)

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Skapa exempeldatabasen

Kursintroduk+on etjänster och Webbprogrammering

Genomgång av tentamen. Databasteknik ITHS 4/3 2016

Structured Query Language (SQL)

NORMALISERING. Mahmud Al Hakim

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

Databasdesign. E-R-modellen

Tentamen. TDDB38 - Databasteknik

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Databasutveckling Introduktion till SQL och TSQL

Databaser och Datamodellering Foreläsning IV

Relationsmodellen och syntetisk databasdesign

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Databasspråket SQL - online.

3. Dynamiska webbplatser, 20 Yhp (4 v)

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

VAD GÖR DU / VEM ÄR DU?

UNB INTERCHANGE HEADER

WCMS-15, Webbutvecklare CMS

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Reducering till relationsscheman

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

Tentamen i Databasteknik

Lite om databasdesign och modellering

Analytisk relationsdatabasdesign

UNB INTERCHANGE HEADER

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

Tentamen för DD1370 Databasteknik och informationssystem

Lösningar till tentamen i EDAF75

Föreläsning 3 Dagens föreläsning går igenom

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Informationssystem och Databasteknik

Grunderna för relationsmodellen!

Databaser och SQL - en kort introduktion

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Transkript:

Informa5onsmodellering - Ett viktigt syfte med systemutveckling är att specificera verksamhetens informationsbehov för att kunna kartlägga detta informationsbehov bör vi skapa en informationsmodell (konceptuell modell) - Syftet med att skapa en informationsmodell är att beskriva informationsstrukturen i verksamheten - Detta utgör den grundläggande semantiken för verksamhetsspråket - Beskriver de begrepp och termer som används i verksamhetsspråket

Sy:e med informa5onsmodellering ur e; systemperspek5v Skapa en Konceptuell modell (Informa5onsmodell) som beskriver informa5onsstrukturen Informa5onsmodellen visar en sta5sk bild av informa5onen Iden5fiera och modellera klasser Klasser iden5fieras med utgångspunkt gemensamma egenskaper hos 5ng

Grundläggande konstruk5oner i samband med informa5onsmodellering ur e; systemperspek5v (avbildningsperspek5v) Klasser och en5ter (Classes, En55es) ACribut (ACribute) Rela5oner (Rela5onship)

Klasser och objekt/en5ter EC objekt (en5tet, instans) är någon5ng som man har intresse av ac iden5fiera i en verksamhet och som har en oberoende existens Man refererar oia 5ll ec objekt med ec unikt namn, kod eller nummer EC objekt kan vara: ec fysiskt objekt (fysiskt 5ng), t.ex. en bil eller person en händelse eller transak5on, t.ex. en order En klass = en objekcyp (bil som ec generellt begrepp) EC objekt är en instans i klassen (en unik specifik bil)

A;ribut (A;ribute) En klass karaktäriseras med utgångspunkt med utgångspunkt från ec antal egenskaper (proper5es) eller acribut (Bil = drivs av motor, kan köras på land har minst 3 hjul)

Rela5oner (Rela5onships) En rela5on är en associa5on mellan två klasser OIa beskrivs binära rela5oner dvs rela5oner mellan två klasser (Bil ägs av person) Samma två klasser kan ha flera rela5oner 5ll varandra (Bil körs av person) Rela5onens kardinalitet beskriver hur många en5teter av en klass sam5digt får relateras 5ll en5teterna i den andra klassen En 5ll ec 1:1 En 5ll många 1:M Många 5ll många M:N Rela5onens kardinalitet beskriver hur många en5teter av en klass Valfrihet (Opionality) visar om alla en5teter måste delta i rela5onen eller inte

Hur genomför man informa5onsmodellering? Det gäller ac hica de grundläggande klasser som är av intresse för det verksamhetssystem som analyseras.

Hur genomför man informa5onsmodellering? Det gäller ac hica de grundläggande objekt och klasser (objekcyper) som är av intresse för den verksamhet som analyseras. 1. Analysera de objekt människor vanligast pratar om i verksamhetssystemet och rela5onerna mellan dessa objekt 2. Analysera de vik5gaste meddelanden som man funnit med utgångspunkt från genomför processanalys. Dessa meddelanden innehåller ju den informa5on som används och det man kommunicerar om verksamheten 3. Leta eier iden5fierare. Dessa används för ac unikt refera 5ll objekt inom en klass (objekcyp). Till exempel kundnummer (iden5fierare) eller kundnamn (iden5fierare) används för referera 5ll objekt i klassen kund (objekcyp).

Figure 1.15: The informa5on system at Goronwy

Figure 1.14: Sample dispanote

Customer (1) Attributes: Customer Name Order lines (3) Attributes: Order no., Delivery qty, Weight Product (4) Attributes: Product Code, Description, Item length Delivery advice note (2) Attributes: Advice no., Date, Instructions, Haulier, Status

(1) (2) (4) 1..M (3)

Job Sheet (5) Product (4) Attributes: Job no., Attributes: Product Code, Count discrepancy, Description, Non conforming black Non conforming white Item length Non conforming no change Glvanised Order line (3) Attributes: Order no., Order qty, Batch weight Dispatch line (6) Attributes: Dispatch no., Dispatch date, Qty returned, Weight returned

Figure 1.14: Sample dispanote Dispatch Advice Note (7) Attributes: Advice no., Date, Driver, Received by Product (4) Customer (1) Attributes: Product Code, Attributes: Customer Name Description, Customer Address Item length Dispatch line (6) Attributes: Order no., Order qty, Weight, Returned Qty, Returned weight

Identifierade Klasser och Rel. baserat på analys av Meddelandet Dispatch advice Note 7 1 Identifierade Klasser och Rel. baserat på analys av Meddelandet Deliver advice note 2 6 4 3 Identifierade Klasser och Rel. baserat på analys av Meddelandet Job sheet 5 Figure 1.16: Informa5on model for Goronwy Galvanising

Customer (1) ACributes: Customer Name Delivery advice note (2) ACributes: Advice no., Date, Instruc5ons, Haulier, Received in good order Order lines (3) ACributes: Order no., Delivery qty, Weight Product (4) ACributes: Product Code, Descrip5on, Item length Verksamhetsspråket Job Sheet (5) ACributes: Job no., Count discrepancy, Non conforming black Non conforming white Non conforming no change Dispatch line (6) ACributes: Order no., Qty returned, Weight returned Dispatch Advice Note (7) ACributes: Advice no., Date, Driver, Received by

Begreppslista (Grundläggande begrepp, dess defini5on och iden5fierare) Begrepp Defini5on Iden5fierare Order line (3) Order line Order number Product (4) Type of steel products Product code Delivery advice note (2) Job sheet (5) Customer (1) Dispatch advice note (7) A descrip5on of all the black material on a par5cular trailer A separate job sheet contains for every orderline all the informa5on from the delivery advice note A company that provides steel products to be galvanised Informa5on used to stack white material on trailer. One trailer to each dispatch note Advice number Job number Customer name Advice number Dispatch line (6) Shows separate dispatches Order number

Databas (Database) En organiserad samling av data Ska motsvara informa5onmodellen Data i databasen ska vara åtkomligt av flera användare sam5digt

Rela5onsdatabaser Data lagras i tabeller Tabellerna består av rader och kolumner I en tabell måste det all5d finnas en unik primärnyckel (primary key), d.v.s. man måste välja en iden5fierare som primärnyckel Referenser mellan olika tabeller sker med hjälp av primärnycklarna Om en primärnyckel finns i en annan tabell där den inte är primärnyckel kallas den för främmande nyckel (foreign key)

Exempel tabeller ur databasen

1 1 1..M 1..M 1 1 1..M 0..M 1 1 0..M 1..M 0..1 1 1 0..M 1 0..M Figure 1.16: Informa5on model for Goronwy Galvanising

Databashanteringssystem Database Management System Programvara som används för ac hantera databaser Tillhandahåller följande funk5onalitet: Structural maintenance, förändra datastrukturerna i databasen Transac/on processing, lägga 5ll, förändra och ta bort data I databasen Informa/on retrieval, söka och presentera data från databasen 5ll applika5oner (business layer) och användare Data base administra/on, sköta behörighet, trimma databsen etc.

(1) Create Table Customer ( Customer_No Varchar(10), Customer_name Varchar(100), Primary key(customer_no) ); (2) Create table Delivery_advice_note (Advice_no Varchar(10), Date Varchar(10), Instruction Varchar(50), Haulier Varchar(50), Received_in_good varchar(1), Customer_No Varchar(10), primary key(advice_no), foreign key(customer_no) references Customer(Customer_No) ); (3) Create table Order_lines ( Order_no Varchar(10), Delivered_Qty int, Weight int, Product_code varchar(50), Advice_no varchar(10), Primary key(order_no), foreign key(product_code) references Product(Product_code), foreign key(advice_no) references delivery_advice_note(advice_no) ); (4) Create table Product ( Product_code Varchar(10), Length int, Product_description varchar(100), Primary key(product_code)); (5) Create table Job ( Job_no Varchar(50), Count_Disc int, Non_con_black Varchar(50), Non_conf_white Varchar(50), Non_conf_no_change Varchar(50), Order_No Varchar(10), Primary Key(job_no), Foreign key(order_no) references order_lines(order_no), Product_code varchar(20), foreign key(product_code) references Product(Product_code) ); (6) Create table Dispatch_line (Order_No Varchar(50), Delivery_Qty int, Weight int, Advice_No Varchar(10), Product_code Varchar(50), Job_no Varchar(50), Primary key(order_no), foreign key(advice_no) references Dispatch_advice_note(advice_No), foreign key(product_code) references Product(Product_code), foreign key(job_no) references Job(Job_no)); (7) Create Table Delivery_advice_note ( Advice_no varchar(50), Date varchar(20), Driver Varchar(50) Customer_No Varchar(10), Received _by Varchar(1), Primary key(advice_no), Foreign key(customer_no) references Customer(Customer_no) );

Transac5on Processing med hjälp av SQL (Ändra data i databasen) DeCa innebär ac Lägga 5ll, ändra, ta bort data i tabellerna DeCa görs med följande kommandon: INSERT UPDATE DELETE Dessa databaskommandon kan uhöras direkt mot databasen Dessa databaskommandon anropas normalt av applika5onsprogram (som finns i skiktet verksamhetslogik) skrivna i programspråk som Visual Basic, C#, C++

Informa5on retrieval, söka och presentera data från databasen DeCa görs med SELECT SELECT- kommandot uhörs oiast av ec applika5onsprogram (som finns i skiktet verksamhetslogik) Exempel SELECT * FROM Order_Lines Denna SELECT sats listar alla rader i tabellen Order_Lines SELECT Order_No, date, Job_No, Product_Descrip5on, Product_Code, Length, Delivered_Qty, Weight FROM Order_Lines, Product WHERE Order_Lines.Product_Code = Product.Product_code (Denna SELECT- sats söker ut alla rader I Order- Lines tabellen och matchar dessa rader mot Product tabellen på Product Code).

Transac5on Processing med hjälp av SQL (Ändra data i databasen) Exempel lägga 5ll data i databasen INSERT INTO Customer ( 10067K, Blackwell Steel ) INSERT INTO Delivery_advice_note ( 13/1193G, 2010-11- 09, 10067K ) INSERT INTO Order_lines ( 13/1193G, 20, 145, UL150 ) Exempel ändra data i databasen UPDATE Order_Lines SET Delivered_Qty = 25 WHERE Order_No = 13/1193G Exempel ta bort data i databasen DELETE FROM Order_Lines WHERE Order_No = 13/1193G

Exempel tabeller ur databasen

INSERT UPDATE DELETE Program skrivna i t.ex. C#, Visual Basic, C++, Pearl som Verksamhetsspråket bygger på verksamhetsär implementerat logik och styr hur som tabeller i databasen man använder sig av data management layer Figure 1.18: Layers of an ICT system "

Typiska kravdokument som återfinns i en krav specifika5on Processgraf eller dataflödesdiagram Informa5onsmodell (konceptuell modell) Tabellexempel Begreppslista Funk5onslista

Figure 1.15: The informa5on system at Goronwy

1 1 1..M 1..M 1 1 1..M 0..M 1 1 0..M 1..M 0..1 1 1 0..M 1 0..M Figure 1.16: Informa5on model for Goronwy Galvanising

Begreppslista (Grundläggande begrepp, dess defini5on och iden5fierare) Begrepp Defini5on Iden5fierare Order line (3) Order line Order number Product (4) Type of steel products Product code Delivery advice note (2) Job sheet (5) Customer (1) Dispatch advice note (7) A descrip5on of all the black material on a par5cular trailer A separate job sheet contains for every orderline all the informa5on from the delivery advice note A company that provides steel products to be galvanised Informa5on used to stack white material on trailer. One trailer to each dispatch note Advice number Job number Customer name Advice number Dispatch line (6) Shows separate dispatches Order number

Exempel tabeller ur databasen