Chapter 5 System Modeling Letizia Jaccheri Norsk Professor Institutt for Datateknikk (IDI) Office 106, tel. (735)93469, letizia@idi.ntnu.no www.letiziajaccheri.org English Course home page http://www.idi.ntnu.no/emner/tdt4140/ Italiano Slides made by Sommerville adapted by Letizia Jaccheri This lecture will be filmed Chapter 5 System modeling 1
Innhold Modellering: hvorfor, hva, når, hvem UML Case study Conclusions Chapter 5 System modeling 2
Modellering Spesifikasjon (forstå problem og kunde) Konstruksjon (forstå løsning/blue print til implementasjon) Implementasjon (automatisering ikke fokus i dette kurset) Vedlikehold (forstå på en abstrakt nivå) Modellering Programmering Menneske - Maskin En modell er en abstrakt rep. av en system som ignorerer detaljer. Komplementære systemmodeller kan utvikles til å vise systemets kontekst, interaksjoner, struktur og behavior (adferd). Chapter 5 System modeling 3
UML: Unified Modelling Language 1. Class diagrams: klassene i systemet og assosiasjoner mellom disse klassene. 2. Activity diagrams: aktivitetene som er involvert i en prosess 3. Use case diagrams: samspillet mellom et system og dets omgivelser 4. Sequence diagrams: samspillet mellom aktører og systemet og mellom systemkomponenter 5. State diagrams: hvordan systemet reagerer på interne og eksterne hendelser (senere) Not in Pasientinformasjonssystem http://db.tt/a1xinwbq 6. Package; 7. deployment; 8. object; 9. communication: 10. composite structures; 11. component; 12. collaboration; 13. interaction overview; 14. timing. See UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) NOT SYLLABUS Chapter 5 System modeling 4
Et pasientinformasjonssystem Et system som brukes til å holde oversikt over personer som mottar omsorg for psykiske helseproblemer. Et pasientinformasjonssystem for å støtte psykisk helsevern er et medisinsk informasjonssystem som vedlikeholder informasjon om pasienter som lider av psykiske problemer og behandlinger som de har mottatt. De fleste psykiske pasienter krever ikke dedikert sykehusbehandling, men trenger å besøke spesialist klinikker regelmessig der de kan møte en lege som har detaljert kunnskap om deres problemer. Chapter 1 Introduction 5
Mål: For å gjøre det lettere for pasienter å delta, er disse klinikkene ikke bare på sykehus. De kan også holdes i lokale medisinske praksis eller samfunnshus. For å generere styringsinformasjon som muliggjør at helsetjenesten ledere kan vurdere ytelse mot lokale og offentlige mål. Å gi medisinsk personale informasjon for å støtte behandling av pasienter. Chapter 1 Introduction 6
Funksjoner Individuell omsorg: helsepersonell kan lage record for pasienter, redigere informasjonen i systemet, se pasientens historie, etc. Systemet støtter data sammendrag slik at leger kan raskt lære om de viktigste problemene og behandlinger som er blitt foreskrevet. Pasientovervåkning: Systemet overvåker registreringer av pasienter som er involvert i behandling og saker advarsler hvis mulige problemer blir oppdaget. Administrativ rapportering. Systemet genererer månedlige rapporter som viser antall behandlede pasienter ved hver klinikk, antall pasienter som har gått inn og omsorg system, antall pasienter seksjoneres, medisiner foreskrevet og kostnader, etc. Chapter 1 Introduction 7
Krav Hvorfor? Et slikt system: det er viktig å forstå før man programmerer i veien a) Personvern Det er viktig at pasienten informasjon er konfidensiell og er aldri gitt til noen bortsett fra autorisert helsepersonell og pasienten selv. b) Sikkerhet (safety) Noen psykiske lidelser fører pasienter til å bli suicidal eller en fare for andre mennesker. Der det er mulig, skal systemet varsle medisinsk personell om potensielt suicidale eller farlige pasienter. Systemet må være tilgjengelig når det trengs, ellers sikkerhet kan være kompromittert, og det kan være umulig å foreskrive riktig medisin til pasienter. Chapter 1 Introduction 8
UML: Unified Modelling Language 1. Class diagrams: klassene i systemet og assosiasjoner mellom disse klassene (!) 2. Activity diagrams: aktivitetene som er involvert i en prosess 3. Use case diagrams: samspillet mellom et system og dets omgivelser 4. Sequence diagrams: samspillet mellom aktører og systemet og mellom systemkomponenter 5. State diagrams: hvordan systemet reagerer på interne og eksterne hendelser (--) Violet open source by By Cay S. Horstmann (http://www.horstmann.com) and Alexandre de Pellegrin (http://alexdp.free.fr) TDT4100 Objektorientert programmering Chapter 5 System modeling 9
UML classes and association 1 = cardinality Class name Is associated with klassediagrammer bidrar til å etablere et vokabular om problemet og løsningen Violet fil figure5.8 Chapter 5 System modeling 10
Classes and associations in the MHC-PMS Figure 5.9 Fil mental-health.class.violet Flere pasienter henvendt til en spesialist En pasient kan lide av en eller flere medisinske tilstand En tilstand kan være assosierte med en eller flere pasienter Allmennlege, møter opp, sykehuslege kjører konsultasjon, foreskriver behandling, medisinering Chapter 5 System modeling 11
The Consultation class Figur 5.10 mental-health-consultation.class.violet name attributes methods Chapter 5 System modeling 12
A generalization hierarchy Figur 5.11 mental-health-5.11.class.violet Chapter 5 System modeling 13
A generalization hierarchy with added detail Figur 5.12 -- violet er En allmennlege er en lege og derfor har han navn, tel, Email, register og deregister. I tillegg har han en praksis og en address Chapter 5 System modeling 14
The aggregation association Figur 5.13 mental-health-5.13.class.violet Består av Chapter 5 System modeling 15
UML: Unified Modelling Language 1. Class diagrams: klassene i systemet og assosiasjoner mellom disse klassene. 2. Activity diagrams: aktivitetene som er involvert i en prosess (!) 3. Use case diagrams: samspillet mellom et system og dets omgivelser 4. Sequence diagrams: samspillet mellom aktører og systemet og mellom systemkomponenter 5. State diagrams: hvordan systemet reagerer på interne og eksterne hendelser (--) Chapter 5 System modeling 16
Aktivitetsdiagram (Activity Diagram) start Finne sikkert sted bekrefte forvaring avgjørelse Figur 5.2 mental-health.activity.violet Fork Begge Parallelt flow activity Bare en Decision Bare en Join Fork Informere Myndighet stop informere pasienten om rettigheter innleggelse Informere pårørende Eksterne systemer Chapter 5 System modeling 17
UML: Unified Modelling Language 1. Class diagrams: klassene i systemet og assosiasjoner mellom disse klassene. 2. Activity diagrams: aktivitetene som er involvert i en prosess 3. Use case diagrams: samspillet mellom et system og dets omgivelser (!) 4. Sequence diagrams: samspillet mellom aktører og systemet og mellom systemkomponenter 5. State diagrams: hvordan systemet reagerer på interne og eksterne hendelser (senere) Chapter 5 System modeling 18
Use cases in the MHC-PMS involving the role Medical Receptionist Figur 5.5 mental-health.ucase.violet Chapter 5 System modeling 19
use case in the MHC-PMS Figur 5.3 mental-health2.ucase.violet actor actor Use case Actor: Rolle Ekstern system Chapter 5 System modeling 20
Tabular description of the Transfer data usecase MHC-PMS: Transfer data Actors Description Data Stimulus Response Medical receptionist, patient records system (PRS) A receptionist may transfer data from the MHC-PMS to a general patient record database that is maintained by a health authority. The information transferred may either be updated personal information (address, phone number, etc.) or a summary of the patient s diagnosis and treatment. Patient s personal information, treatment summary User command issued by medical receptionist Confirmation that PRS has been updated Comments The receptionist must have appropriate security permissions to access the patient information and the PRS. Chapter 5 System modeling 21
Use case modeling Use cases ble opprinnelig utviklet for å støtte krav elicitation og er en del av UML. Hvert use case representerer en oppgave som innebærer ekstern samhandling Aktører i et use case kan være mennesker eller andre systemer. skjematisk og i en mer detaljert tekstlig form Chapter 5 System modeling 22
UML: Unified Modelling Language 1. Class diagrams: klassene i systemet og assosiasjoner mellom disse klassene. 2. Activity diagrams: aktivitetene som er involvert i en prosess 3. Use case diagrams: samspillet mellom et system og dets omgivelser 4. Sequence diagrams: samspillet mellom aktører og systemet og mellom systemkomponenter (!) 5. State diagrams: hvordan systemet reagerer på interne og eksterne hendelser (senere) Chapter 5 System modeling 23
Sequence diagram for View patient information Figur 5.6 mental-health.seq.violet Participant Message Return Life line Activation Self-call Chapter 5 System modeling 24
Sequence diagrams Sekvensdiagrammer er en del av UML og brukes til å modellere samspillet mellom de aktører og objekter innenfor et system. En sekvens diagrammet viser rekkefølgen av interaksjoner som finner sted i en bestemt use case Objektene og aktører involvert er oppført langs toppen av diagrammet, med en prikket linje trukket ned vertikalt Interaksjoner mellom objekter er merket med kommenterte piler. Chapter 5 System modeling 25
Chapter 5 System modeling 26
Sequence diagram for Transfer Data mental-health5.7-info.seq.violet Chapter 5 System modeling 27
State diagram of a microwave oven Figur 5.16 Figure5.16microoven.state.violet Initial state State Transition Event Final state Superstate; concurrent boundary Condition (later) Chapter 5 System modeling 28
States and stimuli for the microwave oven (a) State Waiting Half power Full power Set time Disabled Enabled Operation Description The oven is waiting for input. The display shows the current time. The oven power is set to 300 watts. The display shows Half power. The oven power is set to 600 watts. The display shows Full power. The cooking time is set to the user s input value. The display shows the cooking time selected and is updated as the time is set. Oven operation is disabled for safety. Interior oven light is on. Display shows Not ready. Oven operation is enabled. Interior oven light is off. Display shows Ready to cook. Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for five seconds. Oven light is on. Display shows Cooking complete while buzzer is sounding. Chapter 5 System modeling 29
States and stimuli for the microwave oven (b) Stimulus Half power Full power Timer Number Door open Door closed Start Cancel Description The user has pressed the half-power button. The user has pressed the full-power button. The user has pressed one of the timer buttons. The user has pressed a numeric key. The oven door switch is not closed. The oven door switch is closed. The user has pressed the Start button. The user has pressed the Cancel button. Chapter 5 System modeling 30
Microwave oven operation Figur 5.16 -violet Chapter 5 System modeling 31
Conclusions Modellering: forstå problem og løsning UML er ikke et programmering språk Class statisk synspunkt Activity: flyt Use case: roller Sequence: behavior mellom objekter State: Behavior i en komponent Slides available, read all Read chapter 5 Time for repetitions with focus on examples Model the examples by using Violet http://alexdp.free.fr/vio letumleditor/page.php Chapter 1 Introduction 32
2. Time Referanse gruppen plan ImprovedSlides in itslearning originalsommerville My blog Agile teaching lectures exercises Verktøy Chapter 5 System modeling 33
Chapter 5 The whole chapter is syllabus Context models show how a system that is being modeled is positioned in an environment with other systems and processes. Executable UML Chapter 5 System modeling 34
The context of the MHC-PMS Figur 5.1 mental-health-organization.class.violet Chapter 5 System modeling 35