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