23
OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Embed Size (px)

Citation preview

Page 1: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

OOSObject geOrienteerdSoftware-ontwerp

1Organisatie OOS

Proces van software-ontwikkelingRequirements

Inleiding Analyse & Ontwerp

Page 2: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Proces van Software ontwikkeling

Page 3: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Watervalmodel

Page 4: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Iteratief proces

Page 5: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Interactief

Een systeem voor klanten Domeindeskundige

Communicatie mbv standaardtaal (UML) Use case (diagram) Klassendiagram (statisch) Sequentiediagram Klassendiagram (dynamisch) Toestanddiagram …

Page 6: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Incrementele softwareontwikkeling

Incrementeel

Iteratief

Interactief

Page 7: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Requirements

Page 8: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Use-case

Template: name actor(s) preconditions normal flow (alles gaat goed) results (alles gaat goed) alternate flow

Page 9: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Mediatheek ‘De Uitleen’

Uitlening van boeken, audio-cd’s, cd-rom’s, videocassettes, video en dvd’s. Er zijn allerlei categoriën voor de diverse uitleenbare media. Klanten kunnen lenen, reserveren, afgeschreven items kopen. Bij te laat terugbezorgen is boete verschuldigd. Van klanten worden naam, adres en telefoonnummer bijgehouden.

Page 10: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Use case (voorbeeld)

name Registreer klant

actors Baliemedewerker

pre

normal

flow

1. Medewerker voert klantgegevens in

2. Systeem toont klanten met hetzelfde adres

3. Medewerker bevestigt registratie

4. Systeem toont klantnummer

results Klant is geregistreerd met klantnummer

alternate

flow

Klant was al geregistreerd [3]

Medewerker annuleert registratie

Page 11: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Use case (voorbeeld 2)

name Leen uit

actors Baliemedewerker

pre Klant is bekend

normal

flow

1. Medewerker voert klantnummer in

2. Systeem toont klantgegevens

3. Medewerker voert item-nummers in

4. Systeem toont gegevens uit te lenen items

5. Medewerker bevestigt uitlening

results Uitlening van deze items is voor deze klant geregistreerd

alternate

flow

Klant bezit items waarvan de uitleentermijn is verstreken [2]

uitlening wordt door systeem geweigerd.

Klant wil te veel items lenen [3]

ga terug naar [3]

Page 12: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

voorbeeld 2: verbeterde versiename Leen uit

actors Baliemedewerker

pre

normal

flow

1. Medewerker voert klantnummer in

2. Systeem toont klantgegevens

3. Medewerker voert item-nummers in

4. Systeem toont gegevens uit te lenen items

5. Medewerker bevestigt uitlening

results Uitlening van deze items is voor deze klant geregistreerd

alternate

flow

Klant bezit items waarvan de uitleentermijn is verstreken [2]

uitlening wordt door systeem geweigerd.

Klant wil te veel items lenen [3]

ga terug naar [3]

Klantnr bestaat niet [2] ga terug naar [1]

Page 13: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Use Case Diagram

Page 14: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

OO Analyse en ontwerp

Page 15: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Object: 2 dimensies

creatie gedrag (inspectie, wijziging) (opruiming)

ged

rag

toestand

eigenschappen statische constraints

object

Page 16: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Klassendiagram

Bouwtekening Eigenschappen van objecten (statisch)

Associaties Attributen

Gedrag van objecten (dynamisch) Methoden Constructoren

Restricties (statische)

Page 17: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

0..*

start : Date

Praktijkperiode1 0..10..3

1

0..*

doet wordt begeleid

door

◄vindt plaats bij

id : Integernaam : Text

Student

naam : Textadres : Text

Bedrijf

afk : Text

Docent

Afstuderen

nr : Integer

Stage

is voorzitter bij

1

0..*

datum : Date

Voordracht◄i.v.m.

1 1

Statisch klassendiagram(voorbeeld)

Page 18: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Klassendiagram

Conceptueel perspectief communicatie analist/ontwerper communicatie met domeindeskundige?

Specificatie perspectief communicatie analist/ontwerper

Implementatie perspectief communicatie ontwerper/programmeur welke keuze in programmacode

Page 19: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Associatie

Relatie associatienaam

Uiteinden: rolnaam multipliciteit

Page 20: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Attribuut

verschil met associatie: conceptueel nivo

geen verschil minder details

specificatieniveau eenrichting

implementatieniveau: zichtbaarheid suggestie voor opslag van data

Page 21: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

Domeinmodel

GUI

Persistentie

NetwerkLegacy

Domeinmodel binnen totaal systeem

Page 22: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

deze week

keuze casus bestudeer: UML distilled

Hoofdstukken over Klassendiagram en Use Cases

opstellen use cases eerste aanzet klassendiagram (domein)

Page 23: OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling Requirements Inleiding Analyse & Ontwerp

volgende week

Together Werken met CRC Gedrag Navigatie Generalisatie Compositie