INF5120 - Modellering med objekter (Oblig 2) **TimeregistreringSystem** (Designet av Alen Cemer alence@ifi.uio.no) 1
2
2-1: Business Model... 5 Scoping Statements Context Statements... 5 Goal modell... 9 Business resource model... 10 Business Process & Role Model... 11 2-2: Requirements Model... 12 System Boundary Model... 12 Utdypende Use Case beskrivelse... 13 Sekvensdiagram... 14 2-3: Architecture model... 15 Interface & Interaction Specification... 15 Component Structure... 15 2-4: Platform Specific model... 16 Component implementation Model... 16 Deployment Model... 16 Figur 1: Use Case... 6 Figur 2: Overordnet aktivitetsdiagram... 8 Figur 3: Goal modell... 9 Figur 4: Business Modell... 10 Figur 5: Business Prosess... 11 Figur 6: System Boundary Modell... 12 Figur 7: Sekvensdiagram - Avslutt arbeidsuke... 14 Figur 8: Registrer timer... 15 Figur 9: Component Stucture... 15 Tabell 1: Aktør beskrivelse... 5 Tabell 2: Use Case spesifikasjon... 7 Tabell 3: Use Case - Registrer timer... 13 Tabell 4: Use Case - Finn info om ansatt... 13 3
4
2-1: Business Model Scoping Statements Context Statements Jeg vil i utgangspunktet ikke gjøre noen spesielle avgrensninger i forholt til problembeskrivelsen. Jeg anser den som greit definert kravspesifikasjon, så jeg vil forholde meg til den. VIKTIG: Min gruppe har i utgangspunktet bestått av meg og en annen student til. Like før denne innlevering (på kort varsel) meldte den andre studenten seg av fra dette kurset, og jeg ble alene med denne oppgaven. Dette resulterte i det at denne løsningen på oppgaven ikke blir så utfyllende på noen punkter. Både tidspress og det at jeg sitter fast på noen punkter, og ikke får diskutert/konsultert meg fram med noen andre til en løsning kan være årsak til manglende elementer. Jeg håper at dette kan tas i betraktning, da jeg har fire ganger så mye å gjøre som en fullkommen gruppe i dette kurset, som er fire gruppemedlemmer. Aktør Prosjekt leder Ansatt ProsjektSystem AnsattSystem Beskrivelse Dette er en ansatt i bedriften som har fått en utvidende oppgave i prosjektet. Denne personen vil være prosjekt leder, og har ansvaret utvover de andre ansatte som har forbindelse til et prosjekt. Denne personen er ansatt i bedriften og vil være tildelt jobb/ansvar på en eller flere prosjekter. Dette er et kommuniserende system til TimeregistreringSystem, altså dette systemet som jeg beskriver i denne oppgaven. Dette er et kommuniserende system til TimeregistreringSystem, altså dette systemet som jeg beskriver i denne oppgaven. Tabell 1: Aktør beskrivelse 5
Figur 1: Use Case 6
Use Case Aktør Beskrivelse Registrer timer Ansatt Ansatt registrerer timer han/hun har jobbet på et bestemt prosjekt. Her sjekkes om prosjekt og ansatt er eksisterer. Slett registrerte timer Avslutt arbeidsuke Vis registrerte timer Finn gyldig prosjekt Ansatt Ansatt Prosjekt leder ProsjektSystem Ansatt sletter timer han/hun har jobbet på et bestemt prosjekt. Her sjekkes om prosjekt og ansatt er eksisterer. Ansatt avslutter arbeidsuke. Dette brukes for uregningen av avspasering og feriedager. Prosjekt leder viser registrerte timer på et prosjekt han/hun har ansvar for. Underbyggende funksjon som søker etter gyldig prosjekt. Et sikkerhets aspekt for å unngå inkonsistens. Legg til nytt ProsjektSystem Funksjon som legger til et nytt prosjekt. prosjekt Finn info om ansatt AnsattSystem Legg til ansatt AnsattSystem Funksjon som legger til ansatt. Underbyggende funksjon som finner info om ansatt. Et sikkerhets aspekt for å unngå inkonsistens. Tabell 2: Use Case spesifikasjon 7
Figur 2: Overordnet aktivitetsdiagram 8
Goal modell Figur 3: Goal modell 9
Business resource model Figur 4: Business Modell 10
Business Process & Role Model Figur 5: Business Prosess 11
2-2: Requirements Model System Boundary Model Figur 6: System Boundary Modell 12
Utdypende Use Case beskrivelse Grunnet arbeidsmengde som er å beskrive alle Use Case, vil jeg her beskrive bare to vilkårlige tilfeller. USE CASE: Register timer Aktør: Ansatt Mål: Registrere arbeidstimer som en ansatt har brukt på et bestemt prosjekt. Pre-condition: Ingen SCENARIO 1. Systemet viser kalender (Default: Aktuell uke) 2. Ansatt velger en bestemt tidsperiode 3. Inkluderer Use Case Finn gyldig prosjekt 4. Ansatt velger prosjekt 5. Ansatt registrerer antall timer som er brukt på prosjektet Gjenta punkt 4 for nødvendig antall registreringer 6. Systemet oppdaterer timene UTVIDELSE 2a. Ugyldig tidsperiode Systemet viser en feilmelding og ber brukeren om å gjenta handlingen. Tabell 3: Use Case - Registrer timer USE CASE: Finn info om ansatt Aktør: Ansatt via tilhørende Use Cases Mål: Finne info om en ansatt for videre bruk av brukeren eller systemet Pre-condition: Ingen SCENARIO 1. Ansatt taster inn brukernavn og passord 2. Systemet verifiserer brukernavn og passord 3. Systemet returnerer informasjon UTVIDELSE 1a. Skrivefeil kontrolleres Systemet viser en feilmelding og ber brukeren om å gjenta inntastingen. 2a. Brukernavn og passord eksisterer, dvs. ansatt er blitt registrert i systemet via Use Case Legg til en ansatt Tabell 4: Use Case - Finn info om ansatt 13
Sekvensdiagram Grunnet arbeidsmengde som er å tegne alle sekvensdiagrammer, vil jeg her tegne ett vilkårlig tilfelle. Figur 7: Sekvensdiagram - Avslutt arbeidsuke 14
2-3: Architecture model Interface & Interaction Specification Jeg har avgrenset meg til applikasjonskomponenten Registrer timer Component Structure Figur 8: Registrer timer Figur 9: Component Stucture 15
2-4: Platform Specific model Component implementation Model Deployment Model LES DETTE: I denne deloppgaven har jeg hatt en del vanskeligheter, og det faktum at jeg har jobbet alene har resultert at jeg sitter fast og får ikke presentert noe svar. Jeg har hittil prøvd å gjøre det så godt som mulig ut fra den arbeidssituasjonen jeg havnet i. Jeg håper at min innsats skal sees under lys av det. Med vennlig hilsen! 16