OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling...

Post on 13-May-2015

219 views 0 download

Transcript of OOS Object geOrienteerd Software-ontwerp 1 Organisatie OOS Proces van software-ontwikkeling...

OOSObject geOrienteerdSoftware-ontwerp

1Organisatie OOS

Proces van software-ontwikkelingRequirements

Inleiding Analyse & Ontwerp

Proces van Software ontwikkeling

Watervalmodel

Iteratief proces

Interactief

Een systeem voor klanten Domeindeskundige

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

Incrementele softwareontwikkeling

Incrementeel

Iteratief

Interactief

Requirements

Use-case

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

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.

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

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]

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]

Use Case Diagram

OO Analyse en ontwerp

Object: 2 dimensies

creatie gedrag (inspectie, wijziging) (opruiming)

ged

rag

toestand

eigenschappen statische constraints

object

Klassendiagram

Bouwtekening Eigenschappen van objecten (statisch)

Associaties Attributen

Gedrag van objecten (dynamisch) Methoden Constructoren

Restricties (statische)

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)

Klassendiagram

Conceptueel perspectief communicatie analist/ontwerper communicatie met domeindeskundige?

Specificatie perspectief communicatie analist/ontwerper

Implementatie perspectief communicatie ontwerper/programmeur welke keuze in programmacode

Associatie

Relatie associatienaam

Uiteinden: rolnaam multipliciteit

Attribuut

verschil met associatie: conceptueel nivo

geen verschil minder details

specificatieniveau eenrichting

implementatieniveau: zichtbaarheid suggestie voor opslag van data

Domeinmodel

GUI

Persistentie

NetwerkLegacy

Domeinmodel binnen totaal systeem

deze week

keuze casus bestudeer: UML distilled

Hoofdstukken over Klassendiagram en Use Cases

opstellen use cases eerste aanzet klassendiagram (domein)

volgende week

Together Werken met CRC Gedrag Navigatie Generalisatie Compositie