Corso di Sistemi informativi C Batini A model
Corso di Sistemi informativi C. Batini A model for services 1
A model for services • • Functional properties Non functional properties Qualities Abstract service Concrete Service Data schema (of a service) Part-of semantic hierarchy Is-a semantic hierarchy 2
A model for services • • Functional properties Non functional properties Qualities Abstract service Concrete Service Data schema (of a service) Part-of semantic hierarchy Is-a semantic hierarchy 3
Informal description of the get a visa service Service goal Agency 1 Agency 2 Need a visa to go to India If you come to our agency we will provide you the visa to India in 7 days, the price is 30 euros, and the penalty for one day delay is 2 euros If you come to our agency we will provide you the visa to India. We will do our best effort to provide you the visa in two weeks, the price is 20 euros.
Structured description of the “get a visa” service Type of property Agency 1 Agency 2 Functional property - visa to India Quality of service - very fast (in 7 days), - we will do our best effort to provide you the visa in two weeks. Non functional properties -the price is 30 euros, -the penalty for each one day delay is 2 euros. - the price is 20 euros
Service properties • Functional properties, expressing “what” we get from the service; • Non-functional properties, expressing “how” the service is delivered to us. • Qualities of service, referring to characteristics (e. g. , time of delivery) that specify perceived advantages or utilities associated to the service. 6
Functional property • Functional properties FP(s)={fp 1, …fpn} of a service s describe what the service does for the customer. • Each fpi in FP(s) enables a change of state of the real world, coherently with the goals expressed by the customer. • Example: rent a bike • The change of state is from not having a bike to getting it with a rental in change of money 7
Non functional properties Non-functional properties express “how” the service is delivered to the user. Examples: price, warranty. The interested reader may find an exhausitve list of on functional properties in the excel file with the same title. 8
Qualities Services are produced by primary processes We have seen qualities for processes, the same for services – Efficiency – Effectiveness – Objective value of quality dimensions – Subjective value of quality dimensions 9
Abstract and concrete services 10
A model for services • • Functional properties Non functional properties Qualities Abstract service Concrete Service Data schema (of a service) Part-of semantic hierarchy Is-a semantic hierarchy 11
Example of abstract “get a visa” service Type of property Agency 1 Agency 2 Functional property - Visa to India Quality of service 1. Service delivery time Non functional properties 1. Pricing 2. Penalty 1. Pricing
Example of concrete “get a visa” service Type of property Agency 1 Agency 2 Functional property - Visa to India Quality of service 1. Service delivery time: 7 days 1. Service delivery time: best effort Non functional properties 1. Pricing: 30 euros 1. Pricing: 20 euros 2. Penalty: 2 euros for each one day of delay
Abstract and concrete services • Abstract services, when services are considered at a conceptual level, independently from their concrete realization in a context; • Concrete services, when services are considered in a specific technological production and management context, and within a process that produces the services using ICT technologies • a concrete service corresponds to a unique abstract service, while an abstract service corresponds to several concrete services. 14
Example of service model for the abstract «hotel reservation» service Service name Hotel Reservation Functional property Reserve a room in a hotel Non-functional properties 1. Price 2. Payment method Service data schema 15
A model for services • • Functional properties Non functional properties Qualities Abstract service Concrete Service Data schema (of a service) Part-of semantic hierarchy Is-a semantic hierarchy 16
Service data schema • A service data schema describes the types of data representing the state of real world when the service is executed. • Abstract services can be seen as changes of states of the real world at a high level of abstraction, so we describe types of data involved in such changes as data conceptual schemas, adopting – the Entity Relationship model – (or else a simplified models with data types/attributes) 17
Example of service model for the abstract «hotel reservation» service Service name Hotel Reservation Functional property Reserve a room in a hotel 1. Price 2. Payment method Non-functional properties Service data schema Person reservation check-in date Hotel check-out date 18
Service model • Functional properties • Non functional properties • Data schema 19
Logical relations between services 20
A model for services • • Functional properties Non functional properties Qualities Abstract service Concrete Service Data schema (of a service) Part-of semantic hierarchy (or relationship) Is-a semantic hierarchy (or relationship) 21
Tra tutti questi servizi esistono due tipi di relazioni semantiche e’ opportuno rappresentare • Part-of Il servizio S 1 e’ parte del servizio S 2 – Es la scelta del medico di base e’ PART-OF del cambio di residenza • Is-a Il servizio S 1 e’ un caso particolare del servizio S 2 – Es il cambio di residenza da comune a stato estero e’ IS-A del cambio di residenza 22
Esempio • La vostra famiglia o voi avete cambiato residenza? • Anzitutto ci sono “tanti” cambi di residenza, dentro un comune, o tra due comuni, o tra un comune e uno stato estero. • Inoltre, quando si cambia residenza, cambiano tanti altri aspetti della nostra vita, per esempio dobbiamo cambiare il medico di base 23
Set of services related to the «change of home address» Change of home address Change of addr. between Italy and abroad Update home address Change of addr. between two municipalities Update addr. in driver’s licence Choose new electricity supplier Choose new doctor Change of addr. between two foreing countries 24
Part/of relationship • A part-of relationship holds between a service si (the part) and a service sj (the whole) when the specification of sj has as component part the specification of si. 25
A composite service with elementary part-of services Change of home address Update addr. in driver’s licence Choose new doctor Choose new electricity supplier 26
A composite service with elementary part-of services Change of home address part-of Update home address Update addr. in driver’s licence Choose new doctor Choose new electricity supplier 27
Exercise Bike rental Use and Pay a booked bycicle Use and Pay a booked tandem Book a bycicle Book a tandem 28
Elementary and composite services We say that • “change of home address” is a composite service, and • the four services in part-of with it are elementary services, meaning we are not interested to further represent them in terms of more atomic components being in part-of relationships with them, such as, e. g. for the “update home address” service, – the acquisition of the ID of the citizen, – the access to the home address data base, and – the print of the certificate. 29
Elementary and composite services • Basically, a service sj is an elementary service if and only if it does not exist a service si with a part-of relationship with sj. • Viceversa, sj is a composite service. • To be noticed that part-of relationships can hold between composite services generating multi-level hierarchies, e. g. , si part-of sj, and sj part-of sz. 30
Servizi composti ed elementari • Un servizio S e’ elementare quando non ha altri servizi che sono in part-of con S • Un servizio S e’ composto quando vi e’ almeno un servizio S’ (elementare o cmposto) per cui S’ e’ part-of di S 31
Is/a relationship • An is-a relationship holds between a service si (child service) and a service sj (parent service) when si is a specialization (specific case) of sj. • According to the inheritance property of is-a relationships, si inherits all the (functional and non-functional) properties of sj. • Moreover, si inherits all the part-of relationships between sj and its components, and all is-a relationships of sj. si may have additional properties not owned by sj. 32
Services related by is-as Change of home address Change of addr. between two municipalities Change of addr. between Italy and abroad Change of addr. between two foreing countries 33
Services related by is-a Change of home address is-a Change of addr. between two municipalities Change of addr. between Italy and abroad Change of addr. between two foreing countries 34
The example The three services – change of address between two municipalities, – change of address between Italy and abroad, and – change of address between two foreign countries can be considered as specific cases of the generic “change of home address” service. • Common characteristics to all the four services are the need of updating two data bases, while the specific databases will change according to the places involved in the change of address. • Furthermore, when moving from Italy abroad, we can imagine that further specific administrative procedures will be activated, e. g. for issues related to citizenship. 35
Composite service with is-a and part-of Change of home address is-a Change of addr. between two municipalities part-of Change of addr. between Italy and abroad Change of addr. between two foreing countries Update home address Update addr. in driver’s licence Choose new doctor Choose new electricity supplier 36
Operations on services 37
Operations on services • Due to the great variety of services, it may happen that we have to compose them to produce higher level services • See an example of composition of two apparently equivalent services 38
Repository of services for a given domain • A repository of services for a given domain (e. g. tourism) is a set of services offered in that domain, related with part-of and is-a relationships 39
The repository of tourism services Contiene • 153 servizi e relative classificazioni e • 150 relazioni part-of tra essi 40
Two apparently equivalent services Rent a bike Service name Functional property 1. 2. 3. 4. 5. Absolute Price, Payment Method, Physical location, Service Accessibility, Weekly Service Availability (1, 1) Data schema Functional property Rent a bike in a park for a given period Non-functional properties rentt Person start (1, 1) Non-functional properties Rent a bike in a park for a given period 1. 2. 3. 4. 5. Absolute Price, Payment Method, Physical location, Service Accessibility, Weekly Service Availability (2, 2) Bike Data schema Person end Property Local Analysis Identical Non-functional properties Same set Different cardinalities between two relationships representing the same concept (1, 1) rentt start Names + Functional properties Data schemas Rent a bike Service name end Global Analysis RELATEDNESS: The two services are different. The first should be renamed “Rent a bike for single person”. The second should be renamed “Rent a tandem”. Bike
Result of composition Rent a bike Service name Functional property Rent a bike in a park for a given period 1. 2. 3. 4. 5. Non-functional properties Absolute Price, Payment Method, Physical location, Service Accessibility, Weekly Service Availability (n, m) Data schema Person t start Bike end Is-a Service name (1, 1) rentn Rent a bike for single person Functional property Non-functional properties Data schema Person (1, 1) rentt start end Single Bike Rent a tandem Service name Data schema (1, 1) (2, 2, ) Person rentt start end Tandem Bike
Esercizio facoltativo con premio (2 punti) Creare il repository dei seguenti servizi, cioè l’insieme delle relazioni part-of e is-a ed eventualmente aggiungere altri servizi «genitori» di gerarchie is-a e/o part-of. Per rendere le gaeraqrchie is-a e part-of complete, cioè con un unico servizio al vertice del grafo, aggiungere eventualmente altri servizi • • • • • Acq. Pa. Vac Acquisto pacchetto vacanze Acq. RBTr. Staz Acquisto e ritiro biglietto treno in stazione An. Pa. Vac Annullamento pacchetto vacanze An. Pa. Vac. Pen Annullamento pacchetto vacanze con penale An. Pa. Vac. Ass Annullamento pacchetto vacanze con assicurazione Pr. Acq. BTr Prenotazione e acquisto biglietto treno Pr. Acq. BViag. AComp+ Prenotazione e acquisto biglietto viaggio aereo multi compagnia Pr. Acq. Fr. Viag Prenotazione, acquisto e fruizione viaggio Pr. Acq. Pa. Vac Prenotazione e acquisto pacchetto vacanze Pr. Alb Prenotazione albergo Pr. Auto. Nol Prenotazione auto a noleggio Pr. B&B Prenotazione bed and breakfast Pr. BTr Prenotazione biglietto treno Pr. Pa. Vac Prenotazione pacchetto vacanze Pr. Viag. Ae+Comp Prenotazione viaggio aereo multi compagnia (es e. Dreams) Pr. Viag. C+Vett Prenotazione viaggio complesso con più vettori Pr. SRec Prenotazione di struttura recettiva PViag. Ae. Comp 1 Prenotazione viaggio aereo mono compagnia RPrev. PVac Richiesta preventivo pacchetto vacanze 43
- Slides: 43