Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdSterre Abbink Laatst gewijzigd meer dan 10 jaar geleden
1
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 117 October 2000 - 14:27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear hoofdstuk 6: Software Engineering
2
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 217 October 2000 - 14: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
3
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 317 October 2000 - 14: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’
4
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 417 October 2000 - 14: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?
5
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 517 October 2000 - 14:27 Basiscursus Informatica 98/995 Moeilijkheden in SE
6
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 617 October 2000 - 14: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
7
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 717 October 2000 - 14: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
8
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 817 October 2000 - 14: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
9
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 917 October 2000 - 14:27 Basiscursus Informatica 98/999 De ontwikkelfasen n Analyse n Ontwerp n Implementatie n Testen
10
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1017 October 2000 - 14: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
11
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1117 October 2000 - 14: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,...
12
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1217 October 2000 - 14:27 Basiscursus Informatica 98/9912 Implementatie n Het schrijven van de programma code n Het ontwikkelen van databases
13
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1317 October 2000 - 14: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
14
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1417 October 2000 - 14:27 Basiscursus Informatica 98/9914 Waterval model analyse ontwerp implementatie testen op maat standaard strakke controle om risico’s te beperken
15
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1517 October 2000 - 14: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
16
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1617 October 2000 - 14: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
17
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1717 October 2000 - 14: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
18
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1817 October 2000 - 14: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
19
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 1917 October 2000 - 14: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
20
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2017 October 2000 - 14:27 Basiscursus Informatica 98/9920 Data koppeling bepaal salaris bepaal bruto pensioen eraf belasting eraf lokale belasting rijks belasting ID werknemer bruto salaris
21
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2117 October 2000 - 14: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
22
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2217 October 2000 - 14: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
23
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2317 October 2000 - 14: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
24
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2417 October 2000 - 14: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
25
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2517 October 2000 - 14: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
26
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2617 October 2000 - 14: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
27
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2717 October 2000 - 14: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
28
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2817 October 2000 - 14: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)
29
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 2917 October 2000 - 14: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)
30
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3017 October 2000 - 14: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
31
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3117 October 2000 - 14: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
32
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3217 October 2000 - 14: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
33
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3317 October 2000 - 14: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)
34
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3417 October 2000 - 14: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
35
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3517 October 2000 - 14: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”
36
Inleiding Informatica, 2000-2001 College 6, H 6 – sheet nr. 3617 October 2000 - 14:27 Basiscursus Informatica 98/9936 Look and Feel n 1985-1994: 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)
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.