Het zijn vragen die in elk project terug komen.
Deze week m'n persoonlijke antwoorden.
Conceptueel model
Het conceptueel model is het resultaat van
modellering op logisch niveau.
GUI design
Voor een web applicatie kan dit een
HTML prototype
zijn
- met de exacte layout, look & feel en met de juiste
cascaded style sheet.
Voor een internet applicatie moet de HTML code
een variabele schermgrootte
aan kunnen.
- met entiteit en attribuut naam op de plaats van variabele informatie
en een beschrijving van afgeleide gegevens.
- een beschrijving van bijzonderheden, zoals ingewikkelde access paths of complexe logica.
- een gebruiker die achter het ontwerp staat, na
een Discount Usability Test.
Voor een efficiënt ontwikkeltraject moeten zowel het conceptueel ontwerp als het GUI ontwerp stabiel zijn.
Rapid Application Development
kenmerkt zich door iteratie, diverse ontwerp versies, waarbij de ene versie voortbouwt op de vorige.
Een goede ontwerper zal het ontwerp
in de ontwerp fase fijn slijpen, voordat het programmeren begint.
Natuurlijk is het altijd mogelijk om software aan te passen, maar dat is naar verhouding vrij duur en tijdrovend.
Liever in 1x goed.
Het volgende diagram toont een zeer efficiënte aanpak
met
minimale afhankelijkheid tussen de stappen.
Een
OO
aanpak, met een
drie lagen architectuur
biedt meer mogelijkheden om parallel te ontwikkelen.
- Begin met
Object modellering van Classen,
en parallel daaraan het
ontwerp van het fysieke database model.
- De Object classes krijgen dummy get methodes.
De GUI programmeurs kunnen hiermee alvast beginnen te coderen.
Zij hoeven zich geen zorgen te maken om de implementatie van de methodes.
Die implementatie komt later wel.
Dit is een mooi voorbeeld hoe
encapsulatie de
afhankelijkheden kan minimaliseren.
- De database specialist en OO specialist spreken een interface af, om gegevens uit de data-laag naar instances van objecten te mappen.
Een voorbeeld van zo'n interface is een alias voor kolommen in een SQL result set, of een
XML achtige hiërarchische boomstructuur.
- In de database en objectenlaag komt nu de echte coding in plaats van de dummy methodes.
In de GUI-laag verandert er niets.
Toch begint het systeem echt te werken, data element voor data element, scherm voor scherm.
Wanneer alle methodes af zijn kan de geïntegreerde systeem test beginnen.
De software ontwikkelaars hebben elke methode, elk scherm al getest.
De test van de hele applicatie concentreert zich dan ook meer op het geheel.
Werkt de combinatie van de schermen goed?
Tot de volgende week!
Henk Jan Nootenboom
|