De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Basiscursus Informatica, 98-99 College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob.

Verwante presentaties


Presentatie over: "Basiscursus Informatica, 98-99 College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob."— Transcript van de presentatie:

1 Basiscursus Informatica, College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob Wielinga Richard Benjamins

2 Basiscursus Informatica, College 6, H 6 2 Basiscursus Informatica 98/992 Overzicht college 6 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

3 Basiscursus Informatica, College 6, H 6 3 Basiscursus Informatica 98/993 Sotware “engineering”? n Software is integraal onderdeel van onze samenleving en heeft grote invloed op dagelijks leven (Y2K) n Engineering: ontwikkelen van produkt adhv modellen ä Geldt ook voor SE n Geschiedenis: software crisis ä hardware goedkoper --> grotere applicaties ä niet probleem van algoritmes, maar van management, communicatie

4 Basiscursus Informatica, College 6, H 6 4 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?

5 Basiscursus Informatica, College 6, H 6 5 Basiscursus Informatica 98/995 Moeilijk in SE

6 Basiscursus Informatica, College 6, H 6 6 Basiscursus Informatica 98/996 Onderzoek in SE n Methoden en technieken voor direct gebruik in praktijk n Principes en theorieen als basis voor toekomstige methoden en technieken ä formele verficatie, bewijzen ä nieuwe specificatie-notaties

7 Basiscursus Informatica, College 6, H 6 7 Basiscursus Informatica 98/997 Overzicht college 6 n Software engineering als discipline n Software Lyfe Cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

8 Basiscursus Informatica, College 6, H 6 8 Basiscursus Informatica 98/998 SE Life Cycle Development Modification Use ook zodat wijzigingen makkelijker gedaan kunnen worden 1. fouten in software 2. verandering in omgeving (nieuwe wetten, eisen, Y2K)

9 Basiscursus Informatica, College 6, H 6 9 Basiscursus Informatica 98/999 De ontwikkel-fase n Analyse n Ontwerp n Implementatie n Testen

10 Basiscursus Informatica, College 6, H 6 10 Basiscursus Informatica 98/9910 Analyse n Het begrijpen van het probleem ä Het ‘wat’ n Bepalen van informatiebehoefte van user ä requirements doc in termen van gebruiker –bv. alleen toegang voor bepaalde personen ä doc in termen van technische specs –bv. password is nodig voor toegang

11 Basiscursus Informatica, College 6, H 6 11 Basiscursus Informatica 98/9911 Ontwerp n Technische invulling van Informatiesysteem ä 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,...

12 Basiscursus Informatica, College 6, H 6 12 Basiscursus Informatica 98/9912 Implementatie n Het schrijven van de code n Het ontwikkelen van databases

13 Basiscursus Informatica, College 6, H 6 13 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 n Verificatie en validatie

14 Basiscursus Informatica, College 6, H 6 14 Basiscursus Informatica 98/9914 V&V MODELSYSTEEM werkelijkheid beschrijft schrijft voor validatie verificatie

15 Basiscursus Informatica, College 6, H 6 15 Basiscursus Informatica 98/9915 Waterfall model analyse ontwerp implementatie testen op maat standaard strakke controle om risico’s te beperken

16 Basiscursus Informatica, College 6, H 6 16 Basiscursus Informatica 98/9916 Recentere trends n Watervalmodel te star, zeker als gebruikersbehoeften niet duidelijk zijn n Meer flexibele modellen ä prototyping –evolutionary prototyping –throw-away prototyping ä spiral model analyse ontwerp implementatie testen

17 Basiscursus Informatica, College 6, H 6 17 Basiscursus Informatica 98/9917 Overzicht college 6 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

18 Basiscursus Informatica, College 6, H 6 18 Basiscursus Informatica 98/9918 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

19 Basiscursus Informatica, College 6, H 6 19 Basiscursus Informatica 98/9919 Koppeling n 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

20 Basiscursus Informatica, College 6, H 6 20 Basiscursus Informatica 98/9920 Data koppeling bepaal salaris bepaal bruto pensioen eraf belasting eraf lokale belasting rijks belasting ID werknemer bruto salaris

21 Basiscursus Informatica, College 6, H 6 21 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

22 Basiscursus Informatica, College 6, H 6 22 Basiscursus Informatica 98/9922 Cohesie n Maximale cohesie n Interne binding van een module ä hoe sterk zijn de delen van een module verbonden ä ondersteunt latere wijzigingen (is eenheid) n Logische cohesie: onderdelen doen zelfde soort actie (in OO is dit standaard) n Functionele cohesie: onderdelen dragen bij aan zelfde actie

23 Basiscursus Informatica, College 6, H 6 23 Basiscursus Informatica 98/9923 Overzicht college 6 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

24 Basiscursus Informatica, College 6, H 6 24 Basiscursus Informatica 98/9924 Top-down ontwerp n Begin globaal en ga steeds meer in detail n Hierarchische structuur n Kan soms inflexibel zijn

25 Basiscursus Informatica, College 6, H 6 25 Basiscursus Informatica 98/9925 Bottom-up ontwerp n Begin met kleine (kant en klare) modules n Hoeft niet hierarchisch te zijn ä Soms zijn modules gelijkwaardig n Belangrijk voor bouwen dmv hergebruik n OO

26 Basiscursus Informatica, College 6, H 6 26 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

27 Basiscursus Informatica, College 6, H 6 27 Basiscursus Informatica 98/9927 Entity-Relationship diagrams professorcursusstudent onder- wijst volgt n Belangrijke concepten en relaties n one-to-to, one-to-many, many-to-one, many- to-many n Overleeft OO

28 Basiscursus Informatica, College 6, H 6 28 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)

29 Basiscursus Informatica, College 6, H 6 29 Basiscursus Informatica 98/9929 Overzicht college 6 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

30 Basiscursus Informatica, College 6, H 6 30 Basiscursus Informatica 98/9930 Documentatie n Gebruikers-documentatie ä manuals ä online help ä door onafhankelijke tekstschrijver (vgl Word) n Systeem-documentatie ä technisch ä erg belangrijk voor onderhoud ä in alle fasen van life-cycle, en bijhouden! (CASE)

31 Basiscursus Informatica, College 6, H 6 31 Basiscursus Informatica 98/9931 Overzicht college 6 n Software engineering als discipline n Software lyfe cycle n Modulariteit n Ontwikkel tools en technieken n Documentatie n Software eigendomsrecht en aansprakelijkheid

32 Basiscursus Informatica, College 6, H 6 32 Basiscursus Informatica 98/9932 Eigendomsrecht n 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 ä “In no event will Company X be liable for any damages arising out of the use of this software”


Download ppt "Basiscursus Informatica, 98-99 College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob."

Verwante presentaties


Ads door Google