Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 117 October 2000 - 14:27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear.

Slides:



Advertisements
Verwante presentaties
Hydrodynamica van rivieren en kanalen
Advertisements

Objectgeoriënteerd Programmeren in C++
De zin en onzin van escrow
Testen van embedded systemen
INTERACTION DESIGN Week 3.
Unleash your productivity with Startup TOOLS today •Configuratie voor de PTC product ontwikkeling omgeving, •Applicaties voor een gecentraliseerd, grafisch.
Stijn Hoppenbrouwers Software Engineering les 1 Algemene inleiding en Requirements Engineering.
OOS Object geOrienteerd Software-ontwerp
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
1 Demo of Praktijk Over de problematiek bij het ontwerpen van informatiesystemen Mark Dumay Afstudeervoordracht 15 oktober 2004.
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Basiscursus Informatica, College 7, H 7 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 7, Data Structures Brookshear H7 Richard.
Leerlijn: Programmeertechnieken, Databanken, Algoritmen Gent, 7 januari 2013 met dank aan: Annemie Vorstermans, Joost Vennekens, Koen Pelsmaekers, Jeroen.
Hoofdstuk 4 Globale structuur van een project
Kwaliteit en betrouwbaarheid van simulaties ir. Rudolf van Mierlo Efectis Nederland BV.
Hoofdstuk 6: Controle structuren
Activiteit 1.6 Bepalen niet-functionele eisen
1 Orientatie InformatieSystemen K.M.van Hee hgl. architectuur van informatiesystemen dir. Deloitte & Touche Bakkenist TU/e 2001.
Ontwerpen van Informatiesystemen met
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
1 Het probleem RO Milieu Landbouw SocZekerheid Etc. LerenWerkenWonenPensioenEtc. Overheids- organisatie Burger ??? Regelgeving per domein Vraag op levensmoment.
Schatten Robert de Hoog College 25 januari College Projectmanagement 25 januari Onderwerpen De methode van DeMarco Functiepunt analyse Complexiteits.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
Kwaliteitszorg van de informatievoorziening
Inleiding Kennistechnologie §Hoofdstuk 4: Ontwikkeltraject §Hoofdstuk 5: MYCIN en complexiteit §Hoofdstuk 6: Symbolen en semantiek.
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Basiscursus Informatica, College 3, H 3 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 3, Operating Systems and Networks Brookshear.
Informatieanalyse.
College Projectmanagement 2 februari Schatten Robert de Hoog College 2 februari 2001.
Schatten Robert de Hoog College 9 mei College Projectmanagement 9 mei Onderwerpen De methode van DeMarco Functiepunt analyse Kleine projecten.
Inleiding Informatica, College 5, H 5- sheet nr. 117 October :19 Basiscursus Informatica 98/991 Inleiding Informatica College 6, Brookshear.
C/S varianten s /CSpaginas/
Inleiding Informatica, College 4, H 4 – sheet nr. 117 October :17 Basiscursus Informatica 98/991 Inleiding Informatica College 5 Brookshear.
Basiscursus Informatica, College 8, H 8 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 8, File Structures Brookshear H8 Richard.
Basiscursus Informatica, College 5, H 5 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 5, Programming Languages Brookshear H5 Richard.
Basiscursus Informatica, College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob.
Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.
Module 7 – Hoofdstuk 3 Unified Modeling Language.
LauwersCollege Buitenpost Informatica
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Minicollege Service Oriented Architecture
Quality Function Deployment
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Basiscursus Informatica, College 9, H 9 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 9, Database Structures Brookshear H9 Richard.
Basiscursus Informatica, College 4, H 4 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 4, Algoritmes Brookshear H4 Richard Benjamins.
Erasmushogeschool Brussel Naim Ben Tanfous Stef De Spiegeleer Joeri Verdeyen iCafe Een digitaal bestelsysteem voor de horeca. 2de zittijd.
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Objectgeoriënteerd Ontwerp
ArchiValue: de APG-Case
Fase 2 – Functioneel ontwerp
Fase 3: Technisch Ontwerp
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Informatiesystemen in de Bouw 7M711 Joran Jessurun en Jos van Leeuwen Week 1.
APP Platform Rivium, 5 maart 2013 Rik Vietsch.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Beyond Object-Orientation?
OOS Object geOrienteerd Software-ontwerp
Datum Task Force Architectuur development in 2008.
UML 1. Use cases1. Use cases. Het probleem: Hoe inventariseer ik wensen en eisen voor mijn project? Hoe leg ik ze vast? Hoe geef ik vorm en structuur.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Organisatie en Beleid Bijeenkomst 1: Werken in een organisatie I
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
P. van der Terp DienstverleningPlus. 2 Agenda Historisch perspectief Ingreep Overgangsjaar 2007 Historische kosten Vergelijking kosten Filenet.
VISUALISATIE Rogier van der Linde & Davy De Winne, 2014.
Hogeschool Informatica
Lectora als ontwikkeltool voor interactieve multimedia programma’s
Don’t be ‘sneaky’, use a Wiki!
Software Development fundamentals
Transcript van de presentatie:

Inleiding Informatica, College 6, H 6 – sheet nr. 117 October :27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear hoofdstuk 6: Software Engineering

Inleiding Informatica, College 6, H 6 – sheet nr. 217 October :27 Basiscursus Informatica 98/992 Overzicht college 7 n Software engineering als discipline n Software levenscyclus n Modulariteit n Ontwerpmethodologieën n Testen - Documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr. 317 October :27 Basiscursus Informatica 98/993 Sotware “engineering”? n Software is integraal onderdeel van onze samenleving en heeft grote invloed op dagelijks leven n Traditionele ‘engineering’: ontwikkelen van complex produkt adhv modellen ä Geldt ook voor software, daarom SE nodig n Geschiedenis: software crisis ä hardware goedkoper --> grotere applicaties ä niet alleen probleem van algoritmes, maar van ook van management en ‘user centered design’

Inleiding Informatica, College 6, H 6 – sheet nr. 417 October :27 Basiscursus Informatica 98/994 Project management n Hoe kosten inschatten in termen van tijd, geld, mensen, etc.? n Hoe project opdelen in hanteerbare delen? n Hoe de verschillende delen later integreren? n Hoe communiceert men met elkaar? n Hoe meet je vooruitgang?

Inleiding Informatica, College 6, H 6 – sheet nr. 517 October :27 Basiscursus Informatica 98/995 Moeilijkheden in SE

Inleiding Informatica, College 6, H 6 – sheet nr. 617 October :27 Basiscursus Informatica 98/996 Onderzoek in SE n Hoe kan de kwaliteit van software verbeterd worden? ä formele technieken ä betrouwbare bouwstenen ä ontwerppatronen n Internationale beroepsorganisaties: IEEE en ACM stimuleren onderzoek: ä organiseren congressen en SIG’s ä geven hoogwaardige tijdschriften uit

Inleiding Informatica, College 6, H 6 – sheet nr. 717 October :27 Basiscursus Informatica 98/997 Overzicht college 7 n Software engineering als discipline n Software Life Cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr. 817 October :27 Basiscursus Informatica 98/998 SE Life Cycle Development Modification Use SE onderzoek met name in deze fase Is de software begrijpelijk? Documentatie en code conventies van belang SWI: gebruikers betrekken bij ontwerp en evaluatie

Inleiding Informatica, College 6, H 6 – sheet nr. 917 October :27 Basiscursus Informatica 98/999 De ontwikkelfasen n Analyse n Ontwerp n Implementatie n Testen

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9910 Analyse n Het begrijpen van het probleem ä Het ‘wat’ n Behoeften van opdrachtgever (en gebruikers) vertalen in: ä systemvereisten en daarna in: ä technische specificatie

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9911 Ontwerp n Technische invulling van software systeem ä het ‘hoe’ n Onderscheiden van modules ä aan elke module kan onafhankelijk gewerkt worden ä helpt latere implementatie en modificatie n Keuze van data-structuren, architectuur ä arrays, bomen, parallel, serieel,...

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9912 Implementatie n Het schrijven van de programma code n Het ontwikkelen van databases

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9913 Testen n Is de software correct? n Deel van testen al tijdens implementatie ä elke module afzonderlijk n Ook het geheel moet getest worden n Testen is geen garantie

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9914 Waterval model analyse ontwerp implementatie testen op maat standaard strakke controle om risico’s te beperken

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9915 Recentere trends n Watervalmodel te star, zeker als gebruikersbehoeften niet duidelijk zijn n Meer flexibele modellen ä prototyping –evolutionary prototyping –throw-away prototyping ä spiral model: –steeds kleine stukjes in elke fase analyse ontwerp implementatie testen

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9916 Overzicht college 7 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9917 Modulariteit n Opdelen van software in hanteerbare eenheden, waarbij elke eenheid een deel van de totale taak op zich neemt betaal salaris bepaal bruto pensioen eraf belasting eraf lokale belasting rijks belasting Structure chart Imperatieve paradigma Controle koppeling

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9918 UML n Unified Modelling Language ä de facto standaard diagramtechniek voor object- georiënteerde systemen ä klassen, objecten, attributen, methoden ä compositie, overerving ä relaties tussen klassen ä ‘swim lanes’: boodschappen tussen objecten ä toestanden van objecten

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9919 Koppeling n Ideaal: minimale koppeling ä modules zo onafhankelijk mogelijk ä latere wijzigingen hebben lokale consequenties n Controle koppeling (vorige sheet) n Data koppeling: gemeenschappelijke data van modules n OO weinig data koppeling, want relevante data zit al in object

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9920 Data koppeling bepaal salaris bepaal bruto pensioen eraf belasting eraf lokale belasting rijks belasting ID werknemer bruto salaris

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9921 Neveneffecten n Vaak gevolg van impliciete koppeling ä door gemeenschappelijke globale variabele ä probleem: verandering in x door A of B kan onverwachte gevolgen hebben ä side-effect: niet expliciet geprogrammeerd effect AB globale gegevens x x x

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9922 Cohesie n Ideaal: maximale cohesie = sterke interne samenhang in een module n Functionele cohesie: onderdelen dragen bij aan eenzelfde actie, bv in een OO methode n Logische cohesie: aktiviteiten in logisch verband, bv het object is het logische middelpunt in een OO klasse met diverse methodes n OO: logisch en functioneel samen

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9923 Overzicht college 7 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwerpmethodologieën n Testen en documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9924 Top-down ontwerp n Begin globaal en ga steeds meer in detail n Hiërarchische structuur n Kan soms inflexibel zijn

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9925 Bottom-up ontwerp n Begin met kleine (kant en klare) modules n Hoeft niet hiërarchisch te zijn ä Soms zijn modules gelijkwaardig n Belangrijk voor bouwen dmv hergebruik n OO

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9926 Data Flow diagrams n Geeft aan hoe data stroomt door het systeem ä waar het bij elkaar komt, gesplitst wordt, gecreeerd, veranderd, etc data mani- pulatie data opslag data flow data bron en afvoer

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9927 Entity-Relationship diagrams professorcursusstudent onder- wijst volgt n Belangrijke data-eenheden en relaties n Cardinaliteit: one-to-to, one-to-many, many- to-one, many-to-many n Ook voor OO van belang

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9928 Data dictionaries n Centraal bijhouden van alle data items in het hele systeem ä identifier, legale entries (numeriek, letters), value restrictions, waar opgeslagen (DB, file), welke modules gebruiken item n Bevordert: ä verbeteren van communicatie tussen gebruiker en analist ä uniformiteit (ontdekken van redundantie en inconsistentie)

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9929 CRC kaarten n Beschrijving van Class-Responsibility- Collaboration per object n systeem simulatie in een team, een object wordt gespeeld (video Peter Coad)

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9930 Design Patterns n Architectuur inspireert software bouwers: ä voor ontwerpproblemen kristalliseren algemene oplossingen uit op den duur n Beroemde boeken: ä Alexander: A Pattern language ä ‘gang of four’: Design Patterns

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9931 Overzicht college 7 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Testen en documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9932 Testen n Testen levert geen bewijs van foutloosheid n diverse testmanieren: ä glass-box: zwakke modules inspecteren ä glass-box: alle paden nalopen ä black-box: alle grenswaarden ä black-box: programma redundancy ä black-box: alfa-beta testen

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9933 Documentatie n Gebruikers-documentatie ä manuals en online help ä door onafhankelijke tekstschrijver (vgl Word) n Systeem-documentatie ä goed geschreven code (conventies) ä goed gedocumenteerd op moeilijke punten ä goed beschreven klassen/objecten/methoden ä synchronisatie (vgl Javadoc)

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9934 Overzicht college 7 n Software engineering als discipline n Software life cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9935 Eigendomsrecht n Literair: copyright op vorm en niet op idee n In software is het idee belangrijker (algoritme) en niet de vorm (programma) n Patent aanvragen duurt lang ä tijdens aanvraag niet beschermd n Aansprakelijkheid: disclaimers ä “In no event will Company X be liable for any damages arising out of the use of this software”

Inleiding Informatica, College 6, H 6 – sheet nr October :27 Basiscursus Informatica 98/9936 Look and Feel n : 9 jaar durende juridische strijd tussen Apple en Microsoft over GUI look- and-feel van de Macintosh n door Apple verloren: je kunt geen patent aanvragen op look-and-feel n (zie videotape introductiedag)