Prep Hard Win Easy

Category: Documentatie (page 1 of 2)

De fasen van het projectmatigwerken moeten afgesloten worden met een go / no go van de opdrachtgever. Dat betekent dat de opdrachtgever akkoord is met de inhoud van het projectdocument dat jullie aan het einde van iedere fase moeten inleveren.

Mediadevelopers

Als mediadeveloper kan er naar onderstaande documenten gevraagd worden:

  • schriftelijk advies of offerte;
  • projectplan;
  • functionele ontwerp;
  • technisch ontwerp;
  • beschrijving ontwikkelomgeving;
  • realisatieverslag of logboek;
  • testplan, testrapport en optimalisatieplan;
  • implementatieplan;
  • onderhoud- en beheerplan;

In onderstaand document vind je aanvullende informatie over de minimale eisen voor het maken van documentatie bij het uitvoeren van projecten als Mediadeveloper.

Gamedevelopers

Als gamedeveloper kan er naar onderstaande documenten gevraagd worden:

  • game high concept document;
  • planning;
  • functioneel ontwerp;
  • game design document;
  • game post mortem document;
  • game testplan, testrapport en optimalisatieplan;
  • game maintenance document;

In onderstaand document vind je aanvullende informatie over de minimale eisen voor het maken van documentatie bij het uitvoeren van projecten als Gamedeveloper.

Het beslisdocument

Op het beslisdocument moet de opdrachtgever de afronding van iedere fase aftekenen. Download het beslisdocument en bewaar het zodat jullie na afronding van iedere fase een handtekening kunnen halen bij de opdrachtgever of docent.

Projectdocumentatie

In dit document vind je informatie over de minimale eisen voor het maken van documentatie bij het uitvoeren van projecten als Gamedeveloper.

Deze inhoud is beschermd met een wachtwoord. Voer hieronder je wachtwoord in om het te bekijken:

Wat is DevOps?

DevOps is een gebruik die de samenwerking tussen het Development- en OperationsTeam bevordert om code sneller en op een geautomatiseerde en herhaalbare manier in te zetten voor productie. Het woord ‘DevOps’ is een combinatie van twee woorden ‘development’ en ‘operations’. DevOps helpt om de snelheid waarmee een organisatie applicaties en diensten kan leveren te verhogen. Het stelt organisaties in staat om hun klanten beter van dienst te zijn en sterker te concurreren in de markt.

In eenvoudige bewoordingen kan DevOps worden gedefinieerd als een afstemming van ontwikkeling en IT-operaties met betere communicatie en samenwerking.

Waarom is DevOps nodig?

Voor DevOps werkte het Development en Operations Team volledig geïsoleerd, een ieder voor zich. Testen en Deployment(opleveren en uitrollen) waren geïsoleerde activiteiten die werden uitgevoerd na het ontwerpen en bouwen deze namen meer tijd in beslag dan de eigenlijke bouwen. Zonder gebruik te maken van DevOps besteden teamleden een groot deel van hun tijd aan het testen, implementeren en ontwerpen in plaats van het bouwen van het project.

Handmatige opleveren en uitrollen van code leiden nogal eens tot menselijke fouten in de productie. Development- en OperationsTeams hebben hun eigen tijdlijnen en zijn niet synchroon waardoor verdere vertragingen ontstaan. Er is vraag naar een verhoging van het tempo van de levering van software door het bedrijfsleven. Volgens Forrester Consulting Study kan slechts 17% van de teams vaak en snel genoeg gebruik maken van geleverde software. Dit bewijst de noodzaak.

In de praktijk zijn er drie belangrijke thema’s die steeds genoemd worden in het kader van DevOps:

Continuous Integration
Het snel, geautomatiseerd en efficiënt mogelijk integreren van nieuw ontwikkelde code met bestaande code(basis) en bestaat uit het opslaan en omzetten van uw code tot bruikbare uitvoerbare code. Ook het en het uitvoeren van enkele basis controles en testen is een onderdeel van CI.
Continuous Delivery
Een uitbreiding van Continuous Integration, extra automatisering en testen toe, zodat u de code niet alleen vaak samenvoegt met bestaande code en omzet tot bruikbare uitvoerbare code, maar u de code klaar krijgt om in te zetten zonder menselijke tussenkomst. Continu in een kant-en-klare staat hebben.
Continuous Deployment
Een evolutie van Continuous Delivery. Het is de wens om zonder menselijke tussenkomst helemaal in productie te gaan. Nieuw gecreëerde code wordt door middel van geautomatiseerde tests uitgevoerd voordat deze naar de productie wordt uitgerold.

Veelgestelde vragen in het kader van DevOps

Voorbeeldplanning

Ontwerp
===
08:30 – 08:50 20 bestudeer aangeleverd materiaal/documentatie
08:55 – 08:55 05 stel indien nodig vragen
08:55 – 09:05 10 maken van de planning in trello
09:05 – 09:20 15 ontwikkelomgeving opzetten
09:20 – 10:05 45 creeer databasescript adhv TO
10:05 – 10:10 05 rol de database uit
10:10 – 10:20 10 vul de database met testgegevens
10:20 – 10:35 15 quickwins en prio bepalen
10:35 – 10:40 05 planning bijwerken/splitsen in trello
10:40 – 10:50 07 wireframe maken
10:50 – 11:00 10 scaffolding directory structuur inrichten
Realisatie
===
11:00 – 11:30 30 header en footer maken
11:30 – 11:45 15 algemene styling bepalen
11:45 – 12:15 30 pauze
12:15 – 14:20 125 Eerste functionaliteit
12:15 – 12:20 05 — wireframe
12:20 – 12:25 05 00 documenteren: technische benodigdheden en conventies in TO
12:25 – 12:40 15 00 controller: class en handleRequest of router maken
12:40 – 12:45 05 — controller: handleRequest switch/case en verwijzing of route bepalen
12:45 – 12:50 05 — controller: nieuwe method maken en naar model sturen
12:50 – 12:55 05 — model: DataHandler requiren
12:55 – 13:00 05 — model: nieuwe class maken indien nodig
13:00 – 13:05 05 — model: nieuwe class voorzien van __construct() en __destruct()
13:05 – 13:15 10 20 model: nieuwe method maken
13:15 – 13:20 05 — model: db data fetchen en var_dump testen
13:20 – 13:25 05 — view: nieuwe view maken
13:25 – 13:40 15 10 view: styling toepassen
13:40 – 13:45 05 — model: db data fetchen en ‘return‘ naar controller
13:45 – 13:50 05 — controller: db data klaarzetten voor view
13:50 – 13:55 05 — controller: include view in method
13:55 – 14:00 05 — documenteren: code
14:00 – 14:10 10 — testplan: functioneel en technische test uitvoeren
14:10 – 14:15 05 — documenteren: testresultaat in testplan
14:15 – 14:20 05 — documenteren: trello planning bijwerken

Port 80 in use, Apache WILL NOT start without the configured ports free!

Apache listens for requests on TCP/IP port 80 and cannot share the same port with another TCP/IP application, you may need to stop, uninstall or reconfigure certain other services before running Apache. These conflicting services include other webservers, some firewalls, and even some client applications (such as Skype) which will use port 80 to attempt to bypass firewall issues. To switch Skype off, start Skype and choose Tools > Options > Advanced > Connection. Ensure you untick “Use port 80 and 443 as alternatives for incoming connections”.

Runtime Error! httpd.exe

When an application has made an attempt to load the C runtime library a runtime error could occur. This issue is caused by a faulty Visual C++ Runtime Library or certain applications which use the Runtime. To fix this issue, reinstall Visual C++ Runtime. Download a fresh copy of Microsoft Visual C++ Runtime from https://www.microsoft.com/en-us/download/details.aspx?id=48145 and then install it. Be sure !! that you have install the latest (14.16.27024.1) C++ Redistributable Visual Studio 2017 : vc_redist_x64 or vc_redist_x86.

Apache HTTP Server for Windows 32 and 64bit unavailable

We are going to need to use the unofficial Windows binary from Apache Lounge. This version has performance and stability improvements over the official Apache distribution, it is provided as a manually installable ZIP file from www.apachelounge.com/download/. Select the 32bit or the 64bit binary.

Apache detected with wrong path

Apache can be installed anywhere on your Windows OS, but you will need to change the configuration file paths accordingly…

Apache is configured with the text file httpd.conf contained in the Apache folder. Open it with your favourite text editor.

Note that all file path settings use a ‘/’ forward-slash rather than the Windows backslash. If you installed Apache anywhere other than C:\Apache24, now is a good time to search and replace all references to “C:/Apache2″.

There are several lines you should change for your production environment:

Line 37, listen to all requests on port 80:

Define SRVROOT "c:/Apache24"

Line 60, listen to all requests on port 80:

Listen *:80

Line 162, enable mod-rewrite by removing the # (optional, but useful):

LoadModule rewrite_module modules/mod_rewrite.so

Line 226, specify the server domain name:

ServerName localhost:80

Line 271, allow .htaccess overrides:

AllowOverride All

Best htdocs location for backups and re-installation

By default, Apache returns files found in its htdocs folder. I would recommend using a folder on an another drive or partition to make backups and re-installation easier. For the purposes of this example, we will create a folder called D:/apps and change httpd.conf accordingly:

Line 250, specify the new DocumentRoot:

DocumentRoot "D:/apps"

Line 251, and change <Directory “${SRVROOT}/htdocs”> to:

<Directory "D:/apps">

Apache does not display any PHP files

Be sure !! that you have installed the latest PHP binary for Windows : php-7.3.1-Win32-VC15-x64 or php-7.3.1-Win32-VC15-x86.

Line 284 of your httpd.conf, tell the Apache Web Server to display the either the ‘index.php’ or ‘index.html’ file:

DirectoryIndex index.php index.html

We will install the PHP files to C:\Php7, so create that folder and extract the contents of the ZIP file into it.

PHP can be installed anywhere on your system, but you will need to change the paths referenced in the following steps. To check the PHP version enter the following command:

cd c:\Php7\
php -v

// Result should resemble
PHP 7.3.1 (cli) (built: Jan  9 2019 22:43:14) ( ZTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies

Copy C:\Php7\php.ini-production to C:\Php7\php.ini.. There are several lines you will need to change in a text editor (use search to find the current setting). Where applicable, you will need to remove the leading semicolon to uncomment these setting.

Define the extension directory:

Line 757, and change extension_dir = “ext” to:

extension_dir = "c:\Php7\ext\"

Enable extensions. This will depend on the libraries you want to use, but the following extensions should be suitable for the majority of applications:

Between Lines 910 and 943 uncomment:

extension=curl ; optional
extension=gd2 ; optional
extension=mbstring ; optional
extension=mysqli
extension=pdo_mysql
extension=xmlrpc ; optional

‘php’ is not recognized as an internal or external command

To ensure Windows can find PHP, you need to change the path environment variable. Open Settings, type ‘environment variables’ NL ‘Omgevingsvariabelen’ into the search field and open the result. Select the “Advanced” tab, and click the “Environment Variables” button.

Scroll down the “System variables” list and click on “Path” followed by the “Edit” button. Click “Edit text” and add ;C:\Php7 to the end of the Variable value line (remember the semicolon). Now click OK until you’re out. You need to reboot at this stage.

Configure PHP as an Apache module

Ensure Apache is not running. Open c:\Apache24\conf\httpd.conf configuration file in an editor. The following lines should be changed:

On line 239, add index.php as a default file name:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

At the bottom of the file line 537, add the following lines (change the PHP file locations if necessary):

# Tell apache where to look for a php.ini file.
PHPIniDir "C:/Php7"
# Link in the named object file or library.
LoadFile "C:/Php7/php7ts.dll"
#Loading of executable code and modules into the server.
LoadModule php7_module "C:/Php7/php7apache2_4.dll"
# Maps the filename extensions to the specified handler.
AddHandler application/x-httpd-php .php
# Maps the given filename extensions onto the specified content type.
AddType application/x-httpd-php .php

Testing your Apache configuration

Your Apache configuration can be tested. Open a command box (Start > Run > cmd) and enter:

cd Apache24/bin
httpd -t

Result should say Syntax OK if not correct any httpd.conf configuration errors and retest.

For an overview of possible params such as -t check out https://httpd.apache.org/docs/2.4/programs/apachectl.html

Create a file named index.html in Apache’s web page root (either htdocs or D:/apps) and add a little HTML code:

<html>
   <head>
      <title>testing Apache</title>
   </head>
   <body>
      <p>Apache is working!</p>
   </body>
</html>

Ensure Apache has started successfully, open a web browser and enter the address http://localhost/. If all goes well, your test page should appear.

Run Apache as a console application

Sometimes it is easier to work from the command line, especially during initial configuration and testing. To run Apache from the command line as a console application, use the following command:

cd Apache24/bin
httpd

You will receive a Windows Defender Firewall notification, make sure Private networks checkbox is checked and continue to Allow access.

Testing your PHP configuration

Create a file named index.php in Apache’s web page root (either htdocs or D:/apps) and add this code:

<html>
   <head>
      <title>testing PHP</title>
   </head>
   <body>
      <p>PHP is working!</p>
      <?php phpinfo() ?>
   </body>
</html>

Ensure Apache has started successfully, open a web browser and enter the address http://localhost/. If all goes well, a “PHP version” page should appear showing all the configuration settings.

Configure MySQL

Download MySQL from https://dev.mysql.com/downloads/mysql/. Follow MySQL Community Server, Windows and download the “Without installer” version.

We will install MySQL to C:/mysql, so extract the ZIP to your C: drive and rename the folder from “mysql-8.0.14-winx64” to “mysql”.

MySQL can be installed anywhere on your system. If you want a lightweight installation, you can remove every sub-folder except for bin, data, scripts and share.

Best MySQL data location for backups and re-installation

Place the data folder on another drive or partition to make backups and re-installation easier. For the purposes of this example, we will create a folder called D:/MySQL/data and move the contents of C:/mysql/data into it.

You should now have two folders, D:/MySQL/data/mysql and D:/MySQL/data/test. The original C:/mysql/data folder can be removed.

MySQL provides several configuration methods but, in general, it is easiest to to create a my.ini file in the mysql folder. There are hundreds of options to tweak MySQL to your exact requirements, but the simplest my.ini file is:

[mysqld]
# installation directory
basedir="C:/mysql/"

# data directory
datadir="D:/MySQL/data/"

(Remember to change these folder locations if you have installed MySQL or the data folder elsewhere.)

Testing your MySQL configuration

The MySQL server is started by running C:/mysql/bin/mysqld.exe. Open a command box (Start > Run > cmd) and enter the following commands:

cd mysql/bin
mysqld --initialize --console

This will generate all files needed for a first initialisation.

cd mysql/bin
mysqld --console

This will start the MySQL server which listens for requests on localhost port 3306.

MySQL login not starting

You can start the MySQL command line tool and connect to the database. Open another command box and enter:

cd mysql/bin
mysql -u root -p

After logging in with your generated password, it will show a welcome message and the mysql> prompt. Enter “show databases;” to view a list of the pre-defined databases.

Change the MySQL root user

The MySQL root user is an all-powerful account that can create and destroy databases. If you are on a shared network, it is advisable to change the default (blank) password. From the mysql> prompt, enter:

UPDATE mysql.user SET password=PASSWORD("my-new-password") WHERE User='root';
FLUSH PRIVILEGES;

You will be prompted for the password the next time you start the MySQL command line.

If any errors occur regarding password denials, try the following:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

If a running service prevents your installation and/or configuration of your environment.

Open an elevated command prompt(Win+X)

cmd

services.msc;

Lookup the name of the service to kill, back at the command prompt execute the following commands to stop and remove the service:

cmd

SC STOP [shortservicename];
SC DELETE [shortservicename];

If by any chance ports seem to be in use by some other process.

Execute the following command to find and stop the process:

cmd

netstat -aon | findstr :[PortInUse];

In the result, the last column represents the process identifier (PID), execute the following commands to stop the process:

cmd

taskkill /pid [PID];

Set Environment Variables

To set persistent environment variables at the command line, execute the following commands:

cmd

setx PHP "d:\xampp\php\";

If by any chance ports seem to be in use by some other process.

Execute the following command to find and stop the process:

cmd

netstat -aon | findstr :[PortInUse];

In the result, the last column represents the process identifier (PID), execute the following commands to stop the process:

cmd

taskkill /pid [PID];

Installation and configuration phpMyAdmin on Windows

To the d:\apps\ folder copy the content of phpMyAdmin-4.6.5.2-all-languages.zip. Rename phpMyAdmin-4.6.5.2-all-languages to phpmyadmin (for brevity).

In the c:\apps\phpmyadmin\ folder create config.inc.php file and copy there:


Open in your browser http://localhost/phpmyadmin/

Enter root as name, do not fill password.

Backup your Apache, MySQL and PHP installation

8. Usage and backup web-server

In the c:\Server\data\htdocs\ folder put your local web sites, create HTML, PHP and another files. For instance, I created c:\Server\data\htdocs\test\ajax.php file, so this file will be available at the address http://localhost/test/ajax.php and so on.

To create full backup including all web sites and databases, just copy data folder in a save place. If you will need restore your information, with backup you can do it easily.

Before updating web-server modules, backup bin folder, if you will have issues you can fallback to previous versions.

Make backup of the following files, with them you can deploy new instance of the server faster.

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\my.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpmyadmin\config.inc.php

These files keep all settings and when we are installing new web server instance most of the time we are engaged in their editing

Work In Progress gebaseerd op kwalificatiedossier Crebo 25187

B1-K1 Levert een bijdrage aan het ontwikkeltraject

Context

Beroepshouding

Resultaat

Complexiteit

Verantwoordelijkheid en zelfstandigheid

Vakkennis en vaardigheden

Sjablonen van StichtingPraktijkLeren

Sjabloon_testrapport
Sjabloon_technisch_ontwerpLet op! Komt niet/nauwelijks overeen met eerdere examens. Gebruik liever het onderliggende “Technisch ontwerp” gedeelte.
Sjabloon_projectplan
Sjabloon_functioneel_ontwerp
Sjabloon_configuratieoverzicht
Sjabloon_Programma_van_Eisen
Sjabloon_Aanpassingendocument
Bijlage_11_Sjabloon_evaluatieverslag
Bijlage_8_Sjabloon_document_versiebeheer
Bijlage_7_Sjabloon_testrapport
Bijlage_1_Sjabloon_Acceptatietest

B1-K1-W1 Stelt de opdracht vast

De ontwikkelaar overlegt met de opdrachtgever/projectleider om diens vraag naar de technische realisatie van
(onderdelen van) een applicatie, media-uiting of game duidelijk te krijgen. Hij analyseert de beschikbare informatie
en gegevens, eisen en wensen die hij heeft geïnventariseerd om een beeld te krijgen van zijn opdracht en vraagt om
een bevestiging van zijn opdrachtgever/projectleider. De ontwikkelaar neemt zijn kennis met betrekking tot nieuwe
ontwikkelingen op technologisch gebied mee in zijn gesprek.

B1-K1-W1 Stelt de opdracht vast
Resultaat Een door de opdrachtgever goedgekeurde opdracht waarin de beschikbare informatie en de eisen en behoeften van de opdrachtgever zijn verwerkt (programma van eisen).
Input Briefing / projectbeschrijving / klant en/of opdrachtgever gesprek
Op te leveren
  • Een gevoerd gesprek
  • Een gecommuniceerd Programma van Eisen
Samenwerking Opdrachtgever / projectleider
Voor wie Opdrachtgever
Competenties Analyseren, Op de behoeften en verwachtingen van de “klant” richten, Vakdeskundigheid toepassen

Creëren en innoveren, Onderzoeken, Bedrijfsmatig handelen

Probeer kort en bondig onderstaande vragen te beantwoorden en vat de antwoorden in een of meer volledige zinnen samen in het betreffende hoofdstuk. Gebruik niet meer dan 60 woorden.

Op te leveren product en/of dienst Toelichting
Een gevoerd gesprek
Een gecommuniceerd Programma van Eisen
Hoofdstuk|paragraaf|subparagraaf Vragen:
Inleiding:
  • Wie heeft de opdracht gekregen
  • Wat is de opdracht
  • Hoe is de opdracht ontstaan

Bedrijf:
  • Welke branche
  • Aanleiding
  • Huidig systeem

Probleemstelling:
  • Wie heeft een probleem?
  • Wat is het probleem, wat zijn mogelijke oorzaken, wat is de urgentie en wat zijn de consequenties voor het bedrijf en haar medewerkers?
  • Waar doet het probleem zich voor?
  • Wanneer is het een probleem?
  • Waarom is het een probleem?
  • Hoe is het probleem onstaan, hoe lang bestaat het probleem al en hoe groot is het probleem?
Doelgroep(en):
  • Beschrijf voor wie de applicatie bestemd is.
Vormgeving:
  • Beschrijf de vormgeving van de website (kleuren, lettertypes). Gebruik eventueel een vlekkenplan om de grove indeling van de vensters weer te geven.
Informatie:
  • Beschrijf globaal welke informatie door de applicatie gegeven wordt en welke overzichten en rapportages door de applicatie gegenereerd worden.
Overig:
  • Geef hier andere relevante informatie, indien nodig.

B1-K1-W2 Levert een bijdrage aan het projectplan

B1-K1-W2 Levert een bijdrage aan het projectplan
Resultaat Een realistische planning -inclusief voortgangsgesprekken – voor de realisatie van de applicatie, media-uiting of game.
Input Briefing / projectbeschrijving / klant en/of opdrachtgever gesprek
Op te leveren
  • Een projectplan
  • Een toelichting op het projectplan
Samenwerking Team / projectleider
Voor wie Opdrachtgever
Competenties

Samenwerken en overleggen, formuleren en rapporteren, plannen en organiseren

Probeer kort en bondig onderstaande vragen te beantwoorden en vat de antwoorden in een of meer volledige zinnen samen in het betreffende hoofdstuk. Gebruik niet meer dan 60 woorden.

Projectplan

Hoofdstuk|paragraaf|subparagraaf Vragen:
Inleiding In de inleiding van het projectplan staat voor welk bedrijf een applicatie wordt gemaakt, wat het bedrijf globaal doet en wat de opdracht is. Uiteraard kunnen hier nog andere onderwerpen aan toegevoegd worden.
Doelstellingen Onder de doelstellingen komen alle projectdoelstellingen te staan die uit de opdracht blijken.
Betrokkenen In een overzicht noem je de personen die meewerken aan het project. Neem in dit overzicht ook de contactgegevens van betrokkenen op.
Benodigdheden In een overzicht noem je op welke inzet en middelen nodig zijn om de werkzaamheden binnen dit project te kunnen verrichten. In het overzicht kunnen kantoorartikelen staan, hardware, software, gereedschappen/tools, verbindingen, beschikbare ruimtes en dergelijke.
Takenlijst De takenlijst is een overzicht met alle werkzaamheden die verricht moeten worden om het volledige project (tot en met de oplevering van de applicatie) uit te voeren. Zorg ervoor dat je ook zaken als gesprekken en mailen opneemt.
Planning

In de planning wordt de takenlijst chronologisch opgenomen. Daarbij wordt vermeld hoe lang een taak duurt en wanneer en door wie een taak wordt uitgevoerd. Maak gebruik van de onderstaande lay-out.

Planning ontwerp
Taak Begindatum Begintijd Einddatum Eindtijd Duur Betrokkenen
Plan van aan Aanpak schrijven dd-mm-jjjj uu:mm dd-mm-jjjj uu:mm uu:mm Naam of namen
Risico’s Maak een overzicht over wat jij denkt dat er fout kan gaan in het project en geef aan welke maatregelen je hiervoor treft.
Projectgrenzen Zet in een overzicht welke activiteiten er binnen het project niet worden uitgevoerd.

B1-K1-W3 Levert een bijdrage aan het ontwerp

B1-K1-W3 Stelt de opdracht vast
Resultaat Een bijdrage aan het ontwerp document
Input Programma van eisen, projectplan, bestaande data.
Op te leveren
  • Een functioneel ontwerp en technisch ontwerp
  • Een toelichting op het functioneel ontwerp en technisch ontwerp
Samenwerking Opdrachtgever / projectleider
Voor wie Klant en/of opdrachtgever
Competenties Analyseren, omgaan met verandering en aanpassen, overtuigen en beïnvloeden, presenteren, formuleren en rapporteren, vakdeskundigheid toepassen

Functioneel Ontwerp

Hoofdstuk|paragraaf|subparagraaf Uitwerking
Inleiding In dit ontwerp maak je een overzicht van de functionaliteiten waaraan de applicatie moet voldoen
Functionaliteiten Hier vermeld je alle functionaliteiten (zie PvE) die de applicatie gaat bieden. Geef hierbij duidelijk aan wat eisen en wensen zijn (prioriteiten). Zorg ervoor dat het ook voor niet vakgenoten duidelijk omschreven is. Maak gebruik van lijsten of schema’s.
Basis lay-out

Geef in één of meer schetsen aan, hoe de applicatie er uit gaat zien. In deze schets(en) moeten duidelijk de onderstaande punten naar voren komen.

  • Lay-out applicatie
    • Plaats menu
    • Plaats content
    • Plaats titel
    • Plaats logo
    • enzovoorts
  • Opmaak
    • Kleurgebruik
    • Lettertype
    • enzovoorts
  • Bediening van de applicatie (indien van toepassing)

Navigatiestructuur Geef aan hoe er binnen de applicatie genavigeerd gaat worden. Geef hierbij in hoofdlijnen aan welke schermen/vensters(view/secties/pagina’s) er zijn binnen de applicatie en hoe deze in relatie met elkaar staan. Laat notificaties achterwege.
Gebruikersscherm Geef, indien van toepassing, van elk formulier aan welke gegevens er gebruikt worden. Laat in een of meer schetsen zien hoe deze gegevens worden weergegeven.
Uitvoerontwerp Beschrijf hoe de uitvoer/output van de applicatie is. Het betreft hier online- en printbased output. Denk daarbij aan rapportages/overzichten/rekeningen/bewijzen/geluid/pdf/doc/xls/email.

Technisch Ontwerp

Hoofdstuk|paragraaf|subparagraaf Uitwerking
Technische specificaties Werk het functioneel ontwerp uit naar technische specificaties. Gebruik, indien gewenst, schematechnieken (Vooral een Class Diagram en in sommige gevallen Use – of Activity Diagram). Je dient ervoor te zorgen dat de oplossing/uitwerking haalbaar en realistisch is.
Relationeel datamodel
  • Normaliseer de overzichten en eventueel formulieren. Gebruik hiervoor de 0e tot en met 3e normaalvorm.
  • Voeg de 3e normaalvormen samen tot één 3e normaalvorm.
  • Maak op basis van de samenvoeging het EntiteitRelatieDiagram (ERD), waarin duidelijk naar voren komt:
    • Welke entiteiten gebruikt worden
    • Welke eigenschappen of attributen gebruikt worden en bij welke entiteiten zij horen
    • Welke sleutels gebruikt worden
    • Welke relaties er zijn.
  • Maak op basis van het ERD de datadictionary. Gebruik daarvoor het onderstaand schema per entiteit.
Naam entiteit
Definitie
Attribuutnaam Datatype Toelichting
Relatie Toelichting
R1
R2

B1-K1-W4 Bereidt de realisatie voor

B1-K1-W4 Bereidt de realisatie voor
Resultaat De realisatie is voorbereid en startklaar.
Input Ontwerp.
Op te leveren
  • Een ontwikkelomgeving
  • Een configuratieoverzicht

Samenwerking
Voor wie Bijvoorbeeld een toekomstige medeontwikkelaar.
Competenties Materialen en middelen inzetten, plannen en organiseren, kwaliteit leveren, formuleren en rapporteren

Beschrijving Ontwikkelomgeving

Hoofdstuk|paragraaf|subparagraaf Uitwerking
Te gebruiken hardware

Onderstaande hardware is nodig om de applicatie te kunnen maken en is gebaseerd op bijvoorbeeld de minimale vereisten om Android Studio Simulator te kunnen draaien:

Onderdeel Vereisten
Processor XX-bit Dual-core AMD of Intel processor
RAM X GB
Harde schijf XXX GB
Grafische kaart XXXX x XXXX minimum schermresolutie met X GB of meer onboard graphics
Internetverbinding XX Mb/s
Overig Buro, Stoel, Scherm, Keyboard en Muis.
Te gebruiken software

Hieronder staat de software die nodig is om de applicatie in de vorm van een webapplicatie te bouwen:

Software Opmerkingen
Besturingssysteem XX-bit Microsoft Windows XX pro, versie XX.X.XXXXX Build XXXXX of Chrome OS voor Chromebooks platform XXXXX.XX.X versie XX.X.XXXX.XXX of macOS versie XX.X
IDE Microsoft Visual Studio Code, versie X.XX.X, etc
Ondersteunende frameworks en servers .net Framework versie X.X, Java SDK SE XXXXX, Microsoft Visual C++ XXXX Redistributable, etc
Webserver Apache versie X.X.XX, etc
Applicatieserver PHP versie X.X.X en/of Tomcat versie X.X.XX, Strawberry Perl versie X.XX.X.X, etc
Databaseserver MariaDB XX.X.XX
FTP- en/of mailserver FileZilla FTP Server versie X.X.XX, Mercury Mail Transport System versie X.XX, etc
Browsers Naar eigen inzicht Google Chrome versie XX.X.XXXX.XXX, Mozilla Firefox Standard Release voor Desktop versie XX.X.X, Microsoft Edge versie XX.X.XXX.XX, Opera voor Desktop versie XX.X.XXXX.XX, etc

B1-K2 Realiseert en test (onderdelen van) een product


B1-K2-W1 Realiseert (onderdelen van) een product

B1-K2-W1 Realiseert (onderdelen van) een product
Resultaat Gerealiseerde (onderdelen van een) applicatie, media-uiting of game die voldoen aan de eisen van de opdracht. Complete en goed verzorgde documentatie.
Input Materialen en middelen
Op te leveren
  • Het kwaliteitshandboek
  • Het creatiescript
  • De broncode van de applicatie of van onderdelen ervan
  • De werkende applicatie of onderdelen ervan
Samenwerking
Voor wie
Competenties Materialen en middelen inzetten, analyseren, plannen en organiseren, kwaliteit leveren, et druk en tegenslag omgaan.

Kwaliteitshandboek

Hoofdstuk|paragraaf|subparagraaf Toelichting
De planning van de realisatie en de test

Maak gebruik van de onderstaande tabel om een planning van de realisatie en de test te maken.

Planning van de realisatie en test
Onderdeel / Scherm / Venster Programmeur Van Tot
De realisatie

Maak gebruik van de onderstaande tabel om de realisatie te documenteren.

Realisatie
Onderdeel / Scherm / Venster Programmeur Klaar op Opmerking
De wijzigingen na de test <- Hier Germain

Maak gebruik van de onderstaande tabel om te documenteren welke wijzigingen er na de test zijn doorgevoerd.

Wijzigingen
Naam bestand Programmeur Van Tot Wijziging


B1-K2-W2 Test het ontwikkelde product

B1-K2-W2 Test het ontwikkelde product
Resultaat Correct uitgevoerde testactiviteiten en (vervolg)acties die bijdragen aan een goed functionerend product. Bijgewerkte documentatie en duidelijk beschreven testresultaten en eventuele verbetervoorstellen.
Input Applicatie, ontwerp
Op te leveren
  • Het testplan
  • Het testlog
Samenwerking
Voor wie
Competenties Formuleren en rapporteren, vakdeskundigheid toepassen, materialen en middelen inzetten, analyseren, creëen innoveren.

Testplan

Hoofdstuk|paragraaf|subparagraaf Toelichting
Inleiding Het testrapport bestaat uit een testplan en testlog.
Testvoorbereiding Het testplan bestaat uit een gegevensset en een lijst met te testen onderdelen van de applicatie. Zorg ook voor een gegevensset voor het toevoegen en het wijzigen van gegevens.
Gegevensset

Maak gebruik van onderstaande tabel om een gegevensset te maken.

Activiteit
Productcode Product
kf Koffie
ts Tomatensoep
Te testen onderdelen

Maak gebruik van de onderstaande tabel om te bepalen welke onderdelen van de applicatie getest moeten worden.

Onderdeel Formulier Functie Afwijkend paginaontwerp
Reservering Ja Medewerker kan een reservering toevoegen. Nee
Bon Ja Medewerker kan een bon voor de klant genereren. Ja
Testlog

Het tweede deel van het testrapport bestaat uit een testlog. Maak gebruik van onderstaande tabel bij het testen van de onderdelen van de applicatie.

Testlog
Pagina Datum test Tester Defect Prioriteit Verbeteractie Datum actie Afgehandeld door
Reservering 2-12-2015 Koos 0
Bon 3-12-2015 Joke Totaal te betalen wordt niet zichtbaar. 3 Selectiequery moet naar database gestuurd worden. 19-12-2015 Peter

De prioriteit van problemen wordt door middel van een getal aangeduid.

  • 0 = Geen prioriteit
  • 1 = Lage prioriteit voor een probleem waar niet meteen een oplossing voor hoeft te worden gevonden.
  • 2 = Prioriteit voor een probleem dat opgelost dient te worden, maar waar voorlopig mee gewerkt kan worden.
  • 3 = Hoogste prioriteit voor een probleem dat onmiddellijk opgelost dient te worden.

B1-K3 Levert een product op


B1-K3-W1 Optimaliseert het product

B1-K3-W1 Optimaliseert het product
Resultaat Een optimaal werkend product en waar nodig bijgewerkte documentatie.
Input Gebruikersreacties, testresultaten.
Op te leveren
  • Een in- en aangevuld sjabloon acceptatietest
  • Het testrapport van de aanpassingen
  • Een (export van) de gewijzigde database gevuld met testdata
  • Een gewijzigde broncode van de applicatie of van onderdelen ervan
  • Een werkende gewijzigde applicatie of onderdelen ervan
Samenwerking Opdrachtgever en/of toekomstige applicatie gebruikers, projectleider.
Voor wie Projectleider
Competenties Samenwerken en overleggen, vakdeskundigheid toepassen, op de behoeften en verwachtingen van de “klant” richten, formuleren en rapporteren, aandacht en begrip tonen.

In het kort:

  • Jij maakt van één functionaliteit met diverse scenarios een acceptatietest.
  • De opdrachtgever test en jij noteert en verwerkt dit in de bestaande acceptatietest.
  • Bespreek gewenste aanpassingen en verwerk dit in de bestaande acceptatietest.
  • Jij programmeert, test en verwerkt dit in een testrapport en in de bestaande acceptatietest.
  • Jij levert complete applicatie op.

Acceptatietest

Functionaliteit
Actie
Scenario
Verwacht resultaat
Werkelijk resultaat
Aanpassingen
Uitvoering Uren Prioriteit Door

Testrapport

Functionaliteit
Actie
Scenario
Resultaat Aanpassingen
Akkoord ontwikkelaar Datum Initialen

B1-K3-W2 Levert het product op

B1-K3-W2 Levert het product op
Resultaat Een door de opdrachtgever /projectleider opgeleverd product.
Input
Op te leveren
  • De applicatie in de productieomgeving
  • Documentversiebeheer
  • De presentatie van de applicatie
  • De demonstratie van de applicatie
Samenwerking
Voor wie Oprachtgever / projectleider
Competenties Presenteren, op de behoeften en verwachtingen van de “klant” richten.

Documentversiebeheer

Versienummer 1.00
Releasedatum
Tickets
Ontwikkelomgeving
Broncode
Database
Database-verbinding
Ontwikkeltool
Productieomgeving
Applicatie
Database
Database-verbinding

B1-K3-W3 Evalueert het opgeleverde product

B1-K3-W3 Evalueert het opgeleverde product
Resultaat Het proces en product zijn geëvalueerd door de ontwikkelaar en de betrokkenen en schriftelijk vastgelegd.
Input Opleverproces.
Op te leveren
  • Een geaccordeerd evaluatieverslag
Samenwerking Projectteam, opdrachtgever, leidinggevende.
Voor wie
Competenties Samenwerken en overleggen, kwaliteit leveren, formuleren en rapporteren.

Evaluatieverslag

Hoofdstuk|paragraaf|subparagraaf Toelichting
Inleiding In dit evaluatieverslag wordt het product en het proces met betrekking tot de ontwikkeling van de nieuwe restaurantapplicatie voor Excellent Taste beschreven.
Betrokkenen Noteer welke betrokkenen uit het proces jij om feedback vraagt.
Evaluatie product Beschrijf de punten die goed zijn gegaan en benoem eventuele verbeterpunten.
Evaluatie proces Beschrijf de punten die goed zijn gegaan en benoem eventuele verbeterpunten.

P1-K1 Onderhoudt en beheert de applicatie


P1-K1-W1 Onderhoudt een applicatie

P1-K1-W1 Onderhoudt een applicatie
Resultaat Incidenten (vragen, verzoeken, verstoringen) zijn op correcte wijze afgehandeld. Goed functionerende applicatie, die up to date is.
Input sla,
Op te leveren
  • De ingevulde en geaccordeerde Bijlage 3 Persoonlijke ticketlijst opdracht 1
  • Het ingevulde aanpassingendocument
  • De gewijzigde applicatie met de doorgevoerde wijzigingen voor twee tickets
    • Het creatiescript voor de database (indien gewijzigd)
    • Een (export van) de database gevuld met testdata
    • De broncode van onderdelen van de applicatie die je gewijzigd hebt.
    • De applicatie die je gewijzigd hebt.
Samenwerking opdrachtgever, organisatie, [applicatie leverancier]
Voor wie
Competenties Formuleren en rapporteren, analyseren, onderzoeken, op de behoeften en verwachtingen van de “klant” richten, kwaliteit leveren, instructies en procedures opvolgen.

P1-K1-W2 Beheert gegevens

P1-K1-W2 Beheert gegevens
Resultaat De documentatie m.b.t. de in beheer zijnde producten is volledig en digitaal gearchiveerd. content getoets op juistheid, volledigheid en bruikbaarheid.
Input
Op te leveren
  • Gearchiveerde applicatiedocumentatie
Samenwerking
Voor wie
Competenties Formuleren en rapporteren, analyseren, kwaliteit leveren, instructies en procedures volgen.

Keuzedelen


Beoordeling communicatie

Tijdens het beoordelen van de communicatie wordt er op de volgende punten gelet:

  • Zijn er vooraf afspraken over onderlinge normen en waarden gemaakt?
  • Hoe is er met problemen om gegeaan?
  • Welke communicatiemiddelen zijn er gebruikt?
  • Hoe is de samenwerking verlopen?
  • Voelen de teamleden zich serieus genomen?
  • Is een ieders mening en idee welkom?
  • Is er voldoende motivatie- of vaardigheid?
  • Worden hoofd- en bijzaken herkend?
  • Is er gebruikt gemaakt van LSD:)(Luisteren, Samenvatten en Doorvragen)

Beoordeling documentatie

Tijdens het beoordelen van de documentatie wordt er op de volgende punten gelet.

Onderdeel: Uitleg:

Titelblad:

een duidelijk voorblad met daarop vermeld:

  • de titel van het document
  • plaats, de maand en het jaartal van publicatie (inlever datum)
Inhoudsopgave:

de inhoudsopgave vermeldt de titels van de hoofdstukken, paragrafen met de daarmee corresponderende nummering en de pagina’s. Deze moet automatisch worden gegenereerd met Word.

De inhoudsopgave moet een duidelijk overzicht geven van het document.

Voorwoord:

hierin behandel je zaken die niet rechtstreeks in verband staan met het onderwerp zoals:

  • bedankjes aan medewerkers en instellingen
  • de aanleiding tot het document
  • als er een vorige document bestaat: het verband met het vorige

Inleiding:

een definitie en afbakening van het onderwerp:

  • de probleemstelling (tip: gebruik hierbij de project naam)
  • een uitleg over de opbouw van het document
  • toelichting op de methode van onderzoek

Opmerking: het voorwoord en de inleiding mogen op 1 pagina worden gezet.

Kern:

de antwoorden op alle vraagstukken en opdrachten:

  • Geef niet te veel maar zeker niet te weinig antwoord op vragen en opdrachten.
  • Verwerk de vraag of opdracht in uw antwoord, vermeld anders de vraag of opdracht voorafgaand aan uw antwoord.
  • Geef duidelijk aan om welke vragen opdrachten en/of hoofdstukken het gaat.

In de inleiding heeft je voor een probleemstelling gekozen waardoor het document zich kan beperken tot een thema. De probleemstelling is de centrale vraag die beantwoord moet worden. De belangrijkste aspecten die je bij het schrijven in de gaten moet houden zijn:

  • de overzichtelijkheid: die moet blijken uit de indeling in hoofdstukken en paragrafen (Zie ook de inhoudsopgave)
  • de objectiviteit: beperk je bij de weergave van de feiten tot die feiten. Loop niet op conclusies vooruit.

Slot:

Dit is het laatste hoofdstuk waarin:

  • een terugblik op de kern wordt gegeven (samenvatting)
  • conclusies uit de voorafgaande hoofdstukken worden getrokken
  • een mening van de schrijver wordt geformuleerd. (o.a. Wat vond je ervan en wat heb je ervan geleerd)

Bronvermelding:

  • geef precies aan waar je de informatie gevonden hebt (boeken, tijdschriften, kranten, Internet). Bij internet vermeldt je de site naam.
  • Opmerking: het slot en de bronvermelding mogen op 1 pagina worden gezet.

De verzorging:

  • Zorg dat je alle koppen en subkoppen een opmaakprofiel geeft. Dit heb je nodig om later uw inhoudsopgave te genereren.
  • De hoofdstukken en paragrafen dienen exact dezelfde benaming te hebben als in de inhoudsopgave. (Gebruik hiervoor de optie Inhoudsopgave in Word)
  • Gebruik een voettekst met daarin, (links)namen, (midden)documentnaam, (rechts)blz. nummering.
  • nummer de pagina’s behalve titelblad.
  • De (hoofd)letters die jij voor de hoofdstuktitels enz. gebruikt moeten consequent van dezelfde soort zijn.
  • Het standaard lettertype dat je gebruikt is Arial 11pt.
  • De hoofdstukken dienen boven aan een volgende pagina te beginnen.

Verwijzingen en/of voetnoten dienen steeds op dezelfde wijze te zijn aangegeven.

Algemeen

Wanneer je informatie van Internet haalt let dan op het volgende:

  • letterlijk kopiëren van Internet is niet goed. Filter alle onnodige informatie er tussenuit en geef duidelijk antwoord op de vragen, niet meer en niet minder.

Bewaar zelf altijd een digitale kopie van de instructie. Op deze manier heb je altijd een back-up van jouw document en kun je dit document later gebruiken als referentie materiaal.

Standaarden coderen

Er zijn een aantal redenen waarom de layout van de code van groot belang is. Met name zorgt een goede layout voor een verhoging van de kwaliteit van de code. In de code sluipt heel gemakkelijk een foutje. Bij een goede layout is het vaak al moeilijk een fout te vinden en te herstellen, laat staan bij code die onoverzichtelijk is opgesteld. De code moet later bij onderhoud van het programma met zo min mogelijk moeite gelezen kunnen worden. Onoverzichtelijk geschreven code maakt dit juist moeilijk zo niet onmogelijk. De code moet door anderen gelezen kunnen worden. Als je samenwerkt met anderen, is het handig als die anderen ook de code kunnen lezen die jij geschreven hebt.

Codeblokken

Codeblokken zijn regels code die tussen accoladen staan. Binnen een codeblok kunnen weer andere codeblokken voorkomen. Zo staat in het voorbeeld hieronder de codeblok van een lus binnen de codeblok van een methode staan. Een codeblok wordt voorafgegaan door een openingsaccolade { en wordt afgesloten met een sluitaccolade }. Na een openingsaccolade springt je op de volgende regel één tab in. Na de sluitaccolade springt je op de volgende regel terug.. De openingsaccolade staat als laatste teken op een regel na een spatie meteen na bijvoorbeeld het sluithaakje na van een methode. De sluitaccolade staat als enig teken op de regel en in de kolom van de eerste letter die staat op de regel van de openingsaccolade.

Voorbeeld:

tekenTekst($ tekst) {
int teller;   
           coderegel;  
           coderegel;  
           for( teller = 0; teller < 10; teller ++)  {  
                       coderegel ;  
                       coderegel ;  
           }  
           coderegel ;  
           coderegel ;  
}  

Operatoren

Vergelijkingsoperatoren (==, !=, <, <=, > en >=) worden altijd omgeven door spaties.

Voorbeelden:

for( teller = 0; teller < 10; teller ++)

Ook numerieke operatoren ( *, /, +, -, %, *=, /=, +=, -=, %=, ++, en --) worden omgeven door spaties, één ervoor en één erachter.

Voorbeeld:

som = a + b;

In dit voorbeeld komt ook de toekenningsoperator ( =) voor die ook door spaties omgeven wordt.

Commentaar

Toelichting op je code is heel belangrijk. Zo kan de ander met wie je samenwerkt, de code begrijpen en kun je zelf de code een jaar later ook nog begrijpen.

Om op één regel commentaar te leveren gebruik je // en om op meerdere regels achter elkaar commentaar te zetten, gebruik je /* … */. Zet in ieder geval boven elk blok PHP-code commentaar, boven elke klasse en elke methode in de klasse:

In commentaar dat over de gehele klasse gaat, staat de naam van de klasse, een algemene beschrijving van de klasse, de naam van de auteur en het versienummer met de datum van de laatste wijziging.

Boven elke methode staat de naam van de methode, een algemene beschrijving van de methode, de parameters en wat de teruggave is. Als er geen parameters zijn, dan staat er achter Parameters: geen. Hetzelfde geldt voor return. Ook wordt er eventueel naar andere methodes binnen (zoals in het voorbeeld) of buiten de klasse verwezen.

Door deze manier van commentaar schrijven (zie de dubbele asteriksen aan het begin en het einde van het commentaar) kan er op eenvoudige manier een PHPdoc gemaakt worden.

Voor een voorbeeld van een PHPdoc, zie:

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock

Zie verder voor de conventies van coderen:

http://framework.zend.com/manual/1.12/en/coding-standard.coding-style.html

ROCMN | Project documentatie 2016 v1.2

Gebaseerd op het KD Applicatie- en mediaontwikkeling

Inleiding

In dit document vind je informatie over de fases en voor het maken van documentatie bij het uitvoeren van projecten als Applicatieontwikkelaar.

Algemeen

De volgende opmerkingen gelden voor elk document dat je schrijft binnen de uitvoering van een project. Controleer dus elke document voor dat je inlevert of laat controleren op deze punten:

Begin elk document met een duidelijke inleiding. In de inleiding vertel je waar het document over gaat zodat de lezer weet wat hij gaat lezen. Probeer daarbij zo specifiek mogelijk te zijn; geef geen uitleg wat een Schriftelijk Advies, FO of TO is maar leg kort uit wat je gaat vertellen, hoe het document is op gebouwd of iets dat de lezer moet weten voordat hij het document gaat lezen.

Zorg dat de opmaak van de documenten consequent is. Gebruik niet onnodig veel verschillende soorten opmaak van de tekst zonder dat je daar een reden voor hebt, dit leidt alleen maar af van de inhoud. Vermijdt onnodig gebruik van ingewikkelde formuleringen als het document is bedoeld voor de opdrachtgever. Gebruik zoveel mogelijk de functies van je teksteditor om het document netjes op te maken, bijvoorbeeld kop- en voetteksten, automatische inhoudsopgave, opmaakprofielen etc. De verschillende documenten binnen een project moeten een gelijke opmaak hebben zodat je duidelijk kunt zien dat ze bij elkaar horen.

Zorg dat belangrijke informatie duidelijk in of op het document vermeld staat. Als je een document op de grond vindt moet je kunnen zien van wie het is, waarvoor en wanneer het is geschreven en welke pagina.

Geef alle documenten een duidelijk versienummer zodat je weet wat je laatste versie is, en wat een eerdere versie is.. Elke keer als je een document (voorlopig) oplevert geef het een nieuw nummer. Aan het nummer moet ook te zien zijn dat het een definitieve versie is. Begin je nummering bijvoorbeeld met 0.1, 0.2, 0.3 … De definitieve versie krijgt dan het nummer 1.0. Als het definitieve document in de loop van het project toch nog moet aanpassen, door bijvoorbeeld nieuwe informatie of inzichten, ga je verder met 1.1, 1.2 etc. Zo is duidelijk te zien dat de laatste documenten een aanpassing is op de definitieve versie.

Beoordeling documentatie

Naast dat de documentatie een zakelijke lay-out en taalgebruik bevat en dat het inhoudelijk correct is wordt bij de beoordeling van de documentatie wordt er op de volgende punten gelet:

Onderdeel: Uitleg:

Titelblad:

een duidelijk voorblad met daarop vermeld:

  • de naam van het project
  • de naam van het product, denk aan Plan van aanpak, Functioneel ontwerp…etc
  • plaats, de maand en het jaartal van publicatie (inlever datum) en een versienummer
  • de naam of namen van degenen die aan het product hebben meegewerkt.
Inhoudsopgave:

de inhoudsopgave vermeldt de titels van de hoofdstukken, paragrafen met de daarmee corresponderende nummering en de pagina’s. Deze moet automatisch gegenereerd worden. Zo krijgt de lezer een beeld van de grote lijn van de structuur.

De inhoudsopgave moet een duidelijk overzicht geven van het document. Tip: is de opbouw van de hoofdstukken logisch?

Voorwoord:

Een voorwoord zegt niets over de inhoud van de tekst, maar verhaalt over de totstandkoming ervan, vaak in een persoonlijke vorm. Hierin behandel je zaken die niet rechtstreeks in verband staan met het onderwerp zoals:

  • bedankjes aan medewerkers en instellingen
  • de aanleiding tot het document
  • als er een vorige document bestaat: het verband met het vorige

Inleiding:

een definitie en afbakening van het onderwerp:

  • de probleemstelling (tip: gebruik hierbij de project naam)
  • een uitleg over de opbouw van het document
  • toelichting op de methode van onderzoek

Opmerking: het voorwoord en de inleiding mogen op 1 pagina worden gezet.

Kern:

Onder de volgende links is de kernonderverdeling van onderstaande documenten nauwkeurig uitgewerkt.

Over het algemeen geldt dat de overzichtelijkheid moet blijken uit de indeling in hoofdstukken en paragrafen (Zie ook de inhoudsopgave)

Slot:

Dit is het laatste hoofdstuk waarin:

  • een terugblik op de kern wordt gegeven (samenvatting)
  • conclusies uit de voorafgaande hoofdstukken worden getrokken

Bronvermelding:

  • geef precies aan waar je de informatie gevonden hebt (boeken, tijdschriften, kranten, Internet). Bij internet vermeldt je de site naam.
  • Opmerking: het slot en de bronvermelding mogen op 1 pagina worden gezet.

De verzorging:

  • Zorg dat je alle koppen en subkoppen een opmaakprofiel geeft. Dit heb je nodig om later uw inhoudsopgave te genereren.
  • De hoofdstukken en paragrafen dienen exact dezelfde benaming te hebben als in de inhoudsopgave. (Gebruik hiervoor bijv. de optie Inhoudsopgave in Word)
  • Gebruik een voettekst met daarin, (links)namen, (midden)documentnaam, (rechts)blz. nummering in het format Pagina X van X.
  • nummer de pagina’s behalve titelblad.
  • De (hoofd)letters die jij voor de hoofdstuktitels enz. gebruikt moeten consequent van dezelfde soort zijn.
  • Het standaard lettergrootte dat je gebruikt is 11pt.

Verwijzingen en/of voetnoten dienen steeds op dezelfde wijze te zijn aangegeven.

Algemeen

Wanneer je informatie van Internet haalt let dan op het volgende:

  • letterlijk kopiëren van Internet is niet goed. Filter alle onnodige informatie er tussenuit en geef duidelijk antwoord op de vragen, niet meer en niet minder.

Bewaar zelf altijd een digitale kopie van de instructie. Op deze manier heb je altijd een back-up van jouw document en kun je dit document later gebruiken als referentie materiaal.

Beoordeling communicatie

Tijdens het beoordelen van de communicatie wordt er op de volgende punten gelet:

  • Zijn er vooraf afspraken over onderlinge normen en waarden gemaakt?
  • Hoe is er met problemen om gegeaan?
  • Welke communicatiemiddelen zijn er gebruikt?
  • Hoe is de samenwerking verlopen?
  • Voelen de teamleden zich serieus genomen?
  • Is een ieders mening en idee welkom?
  • Is er voldoende motivatie- of vaardigheid?
  • Worden hoofd- en bijzaken herkend?
  • Is er gebruikt gemaakt van LSD:)(Luisteren, Samenvatten en Doorvragen)

Kerntaak 1: Ontwerpen van de applicatie, (cross)media-uiting

De volgordelijke plaats van de documenten binnen het proces:

Behoefteanalyse --------> Functioneel ontwerp --------> Technisch ontwerp ------------->
Plan van aanpak --------------------------------------------------------------------------->

Bovenstaande betekent dat werkproces 1.2 parallel loopt aan de andere werkprocessen en van invloed is op alle te schrijven documenten binnen kerntaak 1.

Werkproces 1.1 Stelt de vraag en/of informatiebehoefte vast

Doel: Verwachtingen afstemmen
Input: Projectbeschrijving/Briefing/RFP
Output: Schriftelijk advies/Offerte
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever

Vragen die gesteld moeten worden

Hieronder staan een aantal voorbeeldvragen, onderverdeeld in groepen. Zowel de vragen als de groepen zijn niet absoluut. Het gaat erom dat je na je gesprek een duidelijk beeld hebt van de vraag van de klant.

Uitleg:
Het is handig te beginnen met wat algemene vragen:
  • Wat is de aanleiding?
  • Wanneer moet het af zijn?
  • Noem vijf tot tien termen/woorden die van toepassing moeten/kunnen zijn op de toekomstige applicatie/website.
Natuurlijk wil je weten wat het doel is en wie de doelgroep is:
  • Wat wilt u met de applicatie bereiken? (Nieuwe klanten aantrekken, producten verkopen, imagoversterking, bepaalde omzet halen)
  • Welke boodschap moet de website vertellen?
  • Wanneer is de website een succes?
  • Welke taken wilt u dat een websitebezoeker uitvoert?
Vervolgens moet je weten hoe een en ander eruit gaat zien, de zogenoemde ‘look and feel’:
  • Wat voor gevoel moet de gebruiker krijgen?
  • Beschrijf de gewenste uitstraling.
  • Moet er een bepaalde huisstijl gebruikt worden?
  • Werk met voorbeelden van bestaande applicaties/websites en laat er commentaar op geven.
Ook wil je weten welke functionaliteit er moet zijn:
  • Welke informatie moet de applicatie/website bieden?
  • Welke informatie moeten gebruikers krijgen?
  • Moeten er berichten worden getoond?
  • Om wat voor soort berichten gaat het en hoe vaak komen ze voor?
  • Moet de gebruiker kunnen zoeken?
  • Wie beheert de content en wie levert deze aan?
  • Wie is verantwoordelijk voor de redactie?
  • Is er een koppeling met sociale media en wie is hier verantwoordelijk voor?
Vragen over onderhoud:
  • Wie is verantwoordelijk voor het onderhoud?
  • Moet er gebruik gemaakt worden van een Content Management Systeem, zo ja, welk?
  • Is er ervaring met een Content Management Systeem?
  • Hoe moet het onderhoud (intern of extern) geregeld worden?

Werkproces 1.2 Maakt een plan van aanpak

Doel: Vastleggen wat je gaat doen
Input: Schriftelijk advies, !! Feedback van de opdrachtgever
Output: Plan van aanpak
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

Plan van aanpak:

Toelichting

In dit onderdeel geef je achtergrondinformatie over het project. Je geeft een situatieschets en je omschrijft de aanleiding van het project. Vaak komt een project voort uit een probleem dat moet worden opgelost. Als dat zo is, dan omschrijf je hier het probleem en eventueel de oorzaken ervan. In dit onderdeel kun je ook de structuur van het plan van aanpak benoemen. Dat geeft de lezer duidelijkheid over wat hij kan verwachten. Let er op dat je de aanleiding niet verwart met de doelstelling, deze bespreek je pas onder het volgende kopje.

Uitleg:
Situatieschets:
  • Korte bondige bedrijfsomschrijving
  • In welke omgeving (sector, markt, afdeling etc.) speelt het probleem zich af?
Aanleiding:
  • Waar komt de vraag vandaan, wat is de reden van de opdracht?
Probleemanalyse:
  • Wat is het probleem? Waarom is het een probleem? Wanneer is het een probleem? Waar doet het probleem zich voor? Wie heeft het probleem? Hoe lang bestaat het probleem al? Wat zijn mogelijke oorzaken? Wat is de urgentie? Hoe groot is het probleem?

Doelstelling

Onder dit kopje vertel je wat je wilt bereiken met het project. Wat is het doel? Waartoe leidt het project? Het kan zijn dat een project meerdere doelstellingen heeft, noem deze dan allemaal. Vertel ook waarom het (voor de opdrachtgever) van belang is dat de doelen worden bereikt.

Uitleg:
Doelstelling:
  • Waarom wordt dit project uitgevoerd?
  • Wat is het belang van de opdrachtgever?
  • Wie heeft welk mogelijk voordeel van uitvoering van dit project?

Omschrijving

Uitleg:
Wat: Wat wordt er opgeleverd (definieer dit in concrete en/of meetbare resultaten)?

Leden projectgroep

Uitleg:
Wie:
  • Wie gaat het project uitvoeren? Wie zit er in het ontwikkelteam?
  • Wie is jouw projectleider?
  • Wie is de opdrachtgever?

Documenteer van een ieder de naam, emailadres en functie.

Benodigdheden

Uitleg:
Waarmee: Waarmee is dit project te realiseren? Denk aan werkplek, vergaderplek, voorzieningen, hardware en software

Takenlijst

Uitleg:
Hoofdtaken: Beschrijf de hoofdtaken in dit project? Denk aan ontwerpen, realiseren, implementeren en beheren
Begin- en einddata: Noteer jouw inschatting van de begin- en einddata voor elke hoofdtaak? En geef in uren aan hoeveel tijd hiermee gepaard gaat.

Planning

Als laatste neem je in je plan van aanpak een projectplanning op. Zo verdeel je de taken onderling. In de planning staat overzichtelijk (vaak schematisch) aangegeven wie wat wanneer doet. Wees kritisch en zorg dat je geen onderdelen vergeet. Je neemt bijvoorbeeld ook in de planning op wanneer er geëvalueerd wordt of er een overleg gewenst is.

Uitleg:
Subtaken: Beschrijf de subtaken om de hoofdtaak ontwerp op te kunnen leveren, denk aan dit PvA, FO en TO
Begin- en einddata en tijden: Noteer jouw inschatting van de begin- en einddata en tijden voor elke subtaak? En geef in uren aan hoeveel tijd hiermee gepaard gaat.
Betrokkenen: Documenteer wie er voor de subtaak nodig is.
Oplevering: Documenteer op welke manier de subtaak wordt opgeleverd, denk aan op papier, digitaal of overleg/presentatie.

Werkproces 1.3 Levert een bijdrage aan een functioneel ontwerp of Game Design Document

Doel: Vastleggen hoe je het gaat doen vanuit de gebruikers
Input: Schriftelijk advies en PvA
Output: Functioneel ontwerp
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

Functioneel ontwerp:

  • Doelgroep/Eindgebruikers > Wie zijn ze?, wat verwachten ze, hoe benaderen we ze
  • Eisen omzetten naar functionaliteiten/userstories
  • Per functionaliteit/userstory een wireframe of klikbare prototype
  • Sitemap/Menustructuur
  • Stroomdiagram van een belangrijke functionaliteit/userstory
  • Opzet van een acceptatietestplan uit te voeren in KT2
  • Eenvoudige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Werkproces 1.4 Maakt een technisch ontwerp

Doel: Vastleggen hoe en waarom je het gaat doen vanuit de techniek
Input: Schriftelijk advies, Functioneel ontwerp
Output: Technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

Technisch ontwerp:

  • Per complexe functionaliteit/userstory een wireframe met gedetailleerde uitwerking
  • Toelichten van de gekozen oplossing(en)
  • Database ontwerp/model / Entity Relation Diagram / Type velden
  • Sequence diagram van een complexe functionaliteit/userstory
  • Volledige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Werkproces 1.5 Richt de ontwikkelomgeving in

Doel: Inzicht verkrijgen van OTAP omgevingen
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Resultaat opnemen in het technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

Beschrijving inrichting van ontwikkelomgeving:

  • Welke ontwikkelomgeving er gebruikt gaat worden
  • Welke taal ga je gebruiken
  • Welke hulpmiddelen heb je nodig
  • Hoe pak je de inrichting aan en is het gelijk aan de productieomgeving

Kerntaak 2: Realiseren van de applicatie, (cross)media-uiting

Werkproces 2.1 Legt een gegevensverzameling aan

Doel: Aantonen van kennis van het bewerken en analyseren van data
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Digitaal formaat met data
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Database aanmaken
  • Back up/dump van database
  • Database moet op zijn minst gevuld zijn met voorbeeld data

Werkproces 2.3 Realiseert een (cross)media uiting en/of systeem

Doel: Aantonen dat je in staat bent om te programmeren volgens documentatie en planning
Input: FO, TO en planning
Output: Digitaal formaat met data, screenshots van het systeem en een realisatieverslag
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Gehele back up van project
  • Moet gevuld zijn met voorbeelddata
  • Opgenomen in versiebeheer
  • Screenshots van het systeem (applicatie en database)
  • Conventie en documentatie

Realisatieverslag:

  • Persoonlijke logboek in verhaalvorm
  • Wat ging goed of fout -> noem voorbeelden

Werkproces 2.5 Test het ontwikkelde product

Input: Testplan uit het Functioneel Ontwerp en TO
Output: Acceptatietestrapport
Beoordeling: Projectbegeleider
Voor wie: De opdrachtgever

Acceptatietestrapport:

  • Beschrijving van wat je gaat testen zoals beschreven in FO
  • Overzicht van testers en hun inzet
  • Uitvoeren van de test
  • Screenshots van het testen (eventuele foutmeldingen)
  • Verzamelen testresultaten en verbeteringen beschrijven
  • Uitvoeren van de verbeteringen

Werkproces 2.6 Optimaliseert de game of (cross)media-uiting

Input: Acceptatietestrapport
Output: Optimalisatieplan
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en teamleden

Optimalisatieplan:

  • Gebruiksvriendelijkheid rapport
  • Toegankelijkheid rapport
  • Overzicht zoekmachine instellingen

Werkproces 2.7 Bewaakt de voortgang en evalueert het project

Input: Plan van aanpak en teamvergaderingen
Output: Actuele gedetailleerde activiteitenplanning en Evaluatie
Beoordeling: Projectbegeleider
Voor wie: Opdrachtgever en teamleden

Actuele gedetailleerde activiteitenplanning:

  • Teamleden
  • Tijdindeling
  • Meetpunten

Evaluatie

  • Verzamelen teamfeedback betreft jouw eigen inzet en verbeterpunten beschrijven

Kerntaak 3: Implementeren van de applicatie of (cross)media-uiting

Werkproces 3.1 Maakt of levert een bijdrage aan het implementatieplan

Input: De gerealiseerde applicatie
Output: Implementatieplan en presentatie
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatieplan:

Beschrijf het volgende:

  • Ingrijpende veranderingen in de organisatie
  • Hoe en wie de gegevens gaan converteren, importeren of invoeren
  • Procedures en verantwoordelijkheden
  • Uitrol(deploy) aanpak(big bang, gefaseerd, parallel, gecombineerd?)
  • Stappen in de vorm van een draaiboek op basis van tijd
    • Alle te installeren hard- en software
    • Infrastructuur, Servers(Web, DB, Mail etc.) en modules
    • Systeemtest
  • Beheerders training bij ingrijpende veranderingen
  • Te verwachten toekomstige applicatie-, gegevens- en technisch beheer

Presentatie hand-out

  • Presentatie van het implementatieplan aan projectbegeleider, opdrachtgever en betrokken medewerkers

Werkproces 3.3 Implementeert een applicatie of (cross)media-uiting en/of -systeem

Input: Implementatieplan
Output: Implementatierapport
Beoordeling: Projectbegeleider
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatierapport:

  • Uitvoeren en documenteren van installatie volgens implementatieplan in samenwerking met beheerder

Werkproces 3.4 Evalueert een implementatie

Input: Implementatieplan en uitkomst van implementatie
Output: Rapport met conclusies en verbeterpunten en procesverslag
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Procesverslag van het gehele implementatietraject:

  • Hoe verliep de voorbereiding
  • Hoe verliep de uitvoering, denk aan: conversie, invoering, tijdpadbewaking, training, procedures hanteren, overdracht naar beheer

Rapport met conclusies en verbeterpunten

Kerntaak 4: Onderhouden en beheren van de applicatie, (cross)media-uiting

Werkproces 4.1 Onderhoudt applicaties of (cross)media-uiting

Input: Functioneel ontwerp
Output: Onderhoud- en beheerplan, Rapport over de uitvoering van het onderhoud
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerders en toekomstige ontwikkelaars

Onderhoud- en beheerplan:

  • Beschrijven, uitvoeren(en documenteren) van procedures voor:
    • preventief onderhoud zoals updates, monitoring en unit-tests
    • virus bescherming
    • back-up en restore
    • incidenten-registratie
    • (nieuwe) eisen en wensen registratie
  • Rapporteren van alle ondernomen stappen en vervolgacties aan opdrachtgever/projectbegeleider

Werkproces 4.2 Verzamelt, controleert, bewerkt en archiveert (cross)mediabestanden

Input: Alle projectdocumenten
Output: Resultaat opnemen in het onderhoud- en beheerplan en het archief
Beoordeling: Projectbegeleider
Voor wie: Toekomstige beheerders en ontwikkelaars

Archivering (procedures voor het archiveren van (gegevens van) applicaties):

  • Toelichting gewenste format, type, kwaliteit en compressiefactor van de mediabestanden
  • Analyse aangeleverde format, type, kwaliteit en compressiefactor van de mediabestanden
  • Conversie mediabestanden

Archief:

  • Digitaal formaat

Werkproces 4.3 Bewaakt de samenhang van media-uitingen

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Media-uitingen:

  • Audio en visuele stijl samenhang controle(sluit de stijl aan bij andere media-uitingen van de opdrachtgever)
  • Advies over andere (sociale)media mogelijkheden

Werkproces 4.4 Stelt script samen ten behoeve van het samenvoegen van content

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Opmaak:

  • Weergave en uitleg van gebruikte opmaak/gridsysteem/theme/template

Werkproces 4.5 Beheert de content

Input: Onderhoud- en beheerplan
Output: Resultaat opnemen in het onderhoud- en beheerplan en fysiek bewijs in digitaal formaat met screenshots van het systeem
Beoordeling: Projectbegeleider
Voor wie: Toekomstige gebruikers, beheerders en ontwikkelaars

Contentbeheer:

  • Korte beschrijving van de route die content aflegt vanaf creatie tot publicatie
  • Beschrijving van verdeling van rollen, rechten en verantwoordelijkheden
  • Beschrijving van procedures/regels voor aanleveren van bruikbare content
  • Gebruikershandleiding en instructies van de wijze waarop content in de applicatie(s) wordt bewerkt en ingebracht
  • Bewerking van analoge naar digitale content (scannen, converteren, etc.)

Behoefteanalyse

Het Plan Van Aanpak

Functioneel ontwerp

Technisch ontwerp

Beschrijving van de ontwikkelomgeving

MA | Gamedeveloper Project-documentatie 2015 v1.1

Gebaseerd op het kwalificatiedossier Applicatieontwikkeling geldig vanaf 1 augustus 2015

Inleiding

In dit document vind je informatie over de fases en voor het maken van documentatie bij het uitvoeren van projecten als Gamedeveloper.

Algemeen

De volgende opmerkingen gelden voor elk document dat je schrijft binnen de uitvoering van een project. Controleer dus elke document voor dat je inlevert of laat controleren op deze punten:

Begin elk document met een duidelijke inleiding. In de inleiding vertel je waar het document over gaat zodat de lezer weet wat hij gaat lezen. Probeer daarbij zo specifiek mogelijk te zijn; geef geen uitleg wat een definitiestudie, FO of TO is maar leg kort uit wat je gaat vertellen, hoe het document is op gebouwd of iets dat de lezer moet weten voordat hij het document gaat lezen.

Zorg dat de opmaak van de documenten consequent is. Gebruik niet onnodig veel verschillende soorten opmaak van de tekst zonder dat je daar een reden voor hebt, dit leidt alleen maar af van de inhoud. Gebruik zoveel mogelijk de functies van je teksteditor om het document netjes op te maken, bijvoorbeeld kop- en voetteksten, automatische inhoudsopgave, opmaakprofielen etc. De verschillende documenten binnen een project moeten een gelijke opmaak hebben zodat je duidelijk kunt zien dat ze bij elkaar horen.

Zorg dat belangrijke informatie duidelijk in of op het document vermeld staat. Als je een document op de grond vindt moet je kunnen zien van wie het is, waarvoor en wanneer het is geschreven en welke pagina.

Geef alle documenten een duidelijk versienummer zodat je weet wat je laatste versie is, en wat een eerdere versie is.. Elke keer als je een document (voorlopig) oplevert geef het een nieuw nummer. Aan het nummer moet ook te zien zijn dat het een definitieve versie is. Begin je nummering bijvoorbeeld met 0.1, 0.2, 0.3 … De definitieve versie krijgt dan het nummer 1.0. Als het definitieve document in de loop van het project toch nog moet aanpassen, door bijvoorbeeld nieuwe informatie of inzichten, ga je verder met B1-K1-W1, B1-K1-W2 etc. Zo is duidelijk te zien dat de laatste documenten een aanpassing is op de definitieve versie.

Planning en logboek

Om het proces van het maken van een project of opdracht goed te laten verlopen is het handig om een planning te maken. Hierdoor kan je zien wanneer welk onderdeel af moet zijn, of er verschillende fasen zijn die je moet plannen en hoeveel tijd het project of de opdracht in beslag gaat nemen.

Om tijdens een project of een opdracht, de werkzaamheden die je doet goed te volgen, zul je een logboek bij moeten houden. Het logboek verschaft de projectbegeleider inzicht in het verloop van je project (uitvoering), in de planning en in het realiseren van je product. Je werkzaamheden leg je vast om je voortgang te bewaken.

Lever bij elk product dat je oplevert je planning en je logboek als bijlage in. De planning en het logboek zijn documenten die de projectbegeleider van jou wil zien. Dit zijn dus geen documenten die de opdrachtgever wil zien.

Naam: Groep: Project:
Datum Tijd Activiteit

Kerntaak 1: Levert een bijdrage aan het ontwikkeltraject

De volgordelijke plaats van de documenten binnen het proces:

Part Production Schedule ----> Part Functional specs --------> Part Technical specs ------------->
Game Design Doc --------------------------------------------------------------------------------->

Bovenstaande betekent dat werkproces B1-K1-W2 parallel loopt aan de andere werkprocessen en van invloed is op alle te schrijven onderdelen binnen alle kerntaken

Werkproces B1-K1-W1 Stelt de opdracht vast

Input: Projectbeschrijving / Briefing
Output: Game High Concept Document
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever

Game High Concept Document:

  • Eisen en wensen opdrachtgever(MoSCoW)
  • Haalbaarheid eisen en wensen
  • Voor- en nadelen afwegen van keuzes en conclusie trekken
  • Uren- en kostenopgave, kosten alleen indien mogelijk
  • Grove planning op basis van pre-production, production, post-production fases

Werkproces B1-K1-W2 Levert een bijdrage aan het projectplan

Input: Game High Concept Document, !! Feedback van de opdrachtgever
Output: Opzet Game Design Document hoofdstukken
Output: Opzet en verwijzing naar iteratieve planning(Scrumboard) in hoofdstuk ‘Production Schedule’ opnemen
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: De opdrachtgever en teamleden

Game Design Document > Hoofdstukken

Dit is een goed voorbeeld van een Game Design Document die toegegeven wat gedateerd is maar toch veel tussen- en eindproducten bevat.

  • Game description
    • Design Goals
    • Influences & Sources
    • Target Market
  • Functional specifications
    • Game Mechanics
      • Core Game Play
      • Game Flow
      • Characters / Units
      • Game Play Elements
      • Game Physics and Statistics
      • Artificial Intelligence
      • Multiplayer
  • User interface
    • Flowchart
    • GUI Objects
  • Art and video
    • Overall Goals
    • 2D Art & Animation
    • GUI
    • Marketing and Packaging Art
    • Terrain
    • Game Play Elements
    • Special Effects
    • 3D Art & Animation
    • Cinematics
    • Assets Pipeline
  • Sound and music
    • Overall Goals
    • Sound FX
  • Story
    • Player Characters
    • Secondary Characters
    • Enemy Characters
    • Story theme
    • Visual theme
    • Story Outline
  • Level requirements
    • Level Diagram
    • Asset Revelation Schedule
    • Level Design Seeds
  • Technical specifications
    • Game Mechanics
      • Game engine
      • Platform and OS
      • Performance Budget
      • Devices
      • External Code
      • Code Objects
      • Control Loop
      • Game Object Data
      • Data Flow
      • Artificial Intelligence
  • Production schedule
    • Scope
    • Scheduling
    • Dependencies
    • Cost Estimate

Werkproces B1-K1-W3 Levert een bijdrage aan het ontwerp

Input: Game High Concept Document, Game Design Document !! Feedback van de opdrachtgever
Output: Uitwerking hoofdstuk ‘Functional specifications’ en ‘Technical specifications’
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie:De opdrachtgever en teamleden

  • Functional specifications
    • Game Mechanics
      • Core Game Play
      • Game Flow
      • Characters / Units
      • Game Play Elements
      • Game Physics and Statistics
      • Artificial Intelligence
      • Multiplayer
  • Technical specifications
    • Game Mechanics
      • Game engine
      • Platform and OS
      • Devices
      • Performance Budget
      • External Code
      • Code Objects
      • Control Loop
      • Game Object Data
      • Data Flow
      • Artificial Intelligence

Werkproces B1-K1-W4 Bereidt de realisatie voor

Input: Functional- en Technical Specifications
Output: Uitwerking hoofdstuk ‘Technical specifications’
Beoordeling: Projectbegeleider
Voor wie: Teamleden en toekomstige teamleden

  • Technical specifications
    • Game mechanics
      • Game engine
      • Platform and OS
      • Devices
      • Performance Budget
      • External Code
      • Code Objects

Kerntaak 2: Realiseert en test (onderdelen van) een product

Werkproces B1-K2-W1 Realiseert (onderdelen van) een product

Input: Game Design Document
Output: Gerealiseerde game(onderdelen) die voldoen aan de eisen van de opdracht en complete en goed verzorgde documentatie.
Beoordeling: Projectbegeleider
Voor wie: OPdrachtgever en teamleden

Fysiek bewijs in digitaal formaat:

  • Volledige speelbare export van de game, bestaande uit:
    • Geeintegreerde animaties, grafische, audiovisuele, functionele en technische componenten
  • Screenshots van de game
  • Opgenomen in een versiebeheersysteem
  • Toegepaste conventies en documentatie

Realisatieverslag:

  • Persoonlijke logboek in verhaalvorm
  • Wat ging goed of fout -> noem voorbeelden

Werkproces B1-K2-W2 Test het ontwikkelde product

Doel: Correct uitgevoerde testactiviteiten en (vervolg)acties
Input: User stories
Output: Alpha testrapport
Beoordeling: Projectbegeleider
Voor wie: De opdrachtgever

Alpha testrapport:

  • Beschrijving van wat je gaat testen (testplan) op basis van userstories, sfeer en beleving
  • Overzicht van testers en hun inzet
  • Video en/of screenshots van het testen (eventuele foutmeldingen)
  • Beschrijving van de uitgevoerde verbeteringen

Kerntaak 3: : Levert een product op

Werkproces B1-K3-W1 Optimaliseert het product

Input: Alpha testrapport
Output: Beta testrapport, Stijl samenhang beoordeling, Optimalisatieplan en een optimaal werkende game(onderdelen)
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en teamleden

Beta testrapport:

  • Beschrijving van wat is getest op basis van beleving
  • Overzicht van testgroep en hun inzet
  • Video en/of screenshots van het testen (eventuele foutmeldingen)
  • Beschrijving van de uitgevoerde verbeteringen

Optimalisatieplan:

  • Beoordelen van de samenhang stijl van algemene, audio- en visuele elementen
  • Verzamelen gebruikerservaringen, testresultaten en verbeterpunten
  • Optimalisatieplan, rekening houdend met nieuwe ideeën, verbeterpunten, de commerciële- en verkoopdoelen van de game

Werkproces B1-K3-W2 : Levert het product op

Doel: Een door de opdrachtgever/projectleider opgeleverd product
Input: optimaal werkende game(onderdelen)
Output: Final demo/Presentatie
Beoordeling: Projectbegeleider
Voor wie: Opdrachtgever

Final demo/presentatie:

  • Overtuigende en begrijpelijke demo van de game die aansluit op de vooraf gestelde eisen

Werkproces B1-K3-W3 : : Evalueert het opgeleverde product

Input: De gerealiseerde game
Output: Game Post Mortem Document
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Teamleden

Game Post Mortem Document:

  • Verslag volgens het STARRT model, denk aan: briefing, onderzoek, brainstorming, doelstellingen, samenwerking binnen het team, realisatie, testing, launch, tijdbewaking en afspraken
    • Situatie
    • Taak
    • Actie
    • Resultaat
    • Reflectie
    • Transfer

Beoordeling communicatie

Tijdens het beoordelen van de communicatie wordt er op de volgende punten gelet:

  • Zijn er vooraf afspraken over onderlinge normen en waarden gemaakt?
  • Hoe is er met problemen om gegeaan?
  • Welke communicatiemiddelen zijn er gebruikt?
  • Hoe is de samenwerking verlopen?
  • Voelen de teamleden zich serieus genomen?
  • Is een ieders mening en idee welkom?
  • Is er voldoende motivatie- of vaardigheid?
  • Worden hoofd- en bijzaken herkend?
  • Is er gebruikt gemaakt van LSD:)(Luisteren, Samenvatten en Doorvragen)

Beoordeling documentatie

Tijdens het beoordelen van de documentatie wordt er op de volgende punten gelet.

Onderdeel: Uitleg:

Titelblad:

een duidelijk voorblad met daarop vermeld:

  • de titel van het document
  • plaats, de maand en het jaartal van publicatie (inlever datum)
Inhoudsopgave:

de inhoudsopgave vermeldt de titels van de hoofdstukken, paragrafen met de daarmee corresponderende nummering en de pagina’s. Deze moet automatisch worden gegenereerd met Word.

De inhoudsopgave moet een duidelijk overzicht geven van het document.

Voorwoord:

hierin behandel je zaken die niet rechtstreeks in verband staan met het onderwerp zoals:

  • bedankjes aan medewerkers en instellingen
  • de aanleiding tot het document
  • als er een vorige document bestaat: het verband met het vorige

Inleiding:

een definitie en afbakening van het onderwerp:

  • de probleemstelling (tip: gebruik hierbij de project naam)
  • een uitleg over de opbouw van het document
  • toelichting op de methode van onderzoek

Opmerking: het voorwoord en de inleiding mogen op 1 pagina worden gezet.

Kern:

de antwoorden op alle vraagstukken en opdrachten:

  • Geef niet te veel maar zeker niet te weinig antwoord op vragen en opdrachten.
  • Verwerk de vraag of opdracht in uw antwoord, vermeld anders de vraag of opdracht voorafgaand aan uw antwoord.
  • Geef duidelijk aan om welke vragen opdrachten en/of hoofdstukken het gaat.

In de inleiding heeft je voor een probleemstelling gekozen waardoor het document zich kan beperken tot een thema. De probleemstelling is de centrale vraag die beantwoord moet worden. De belangrijkste aspecten die je bij het schrijven in de gaten moet houden zijn:

  • de overzichtelijkheid: die moet blijken uit de indeling in hoofdstukken en paragrafen (Zie ook de inhoudsopgave)
  • de objectiviteit: beperk je bij de weergave van de feiten tot die feiten. Loop niet op conclusies vooruit.

Slot:

Dit is het laatste hoofdstuk waarin:

  • een terugblik op de kern wordt gegeven (samenvatting)
  • conclusies uit de voorafgaande hoofdstukken worden getrokken
  • een mening van de schrijver wordt geformuleerd. (o.a. Wat vond je ervan en wat heb je ervan geleerd)

Bronvermelding:

  • geef precies aan waar je de informatie gevonden hebt (boeken, tijdschriften, kranten, Internet). Bij internet vermeldt je de site naam.
  • Opmerking: het slot en de bronvermelding mogen op 1 pagina worden gezet.

De verzorging:

  • Zorg dat je alle koppen en subkoppen een opmaakprofiel geeft. Dit heb je nodig om later uw inhoudsopgave te genereren.
  • De hoofdstukken en paragrafen dienen exact dezelfde benaming te hebben als in de inhoudsopgave. (Gebruik hiervoor de optie Inhoudsopgave in Word)
  • Gebruik een voettekst met daarin, (links)namen, (midden)documentnaam, (rechts)blz. nummering.
  • nummer de pagina’s behalve titelblad.
  • De (hoofd)letters die jij voor de hoofdstuktitels enz. gebruikt moeten consequent van dezelfde soort zijn.
  • Het standaard lettertype dat je gebruikt is Arial 11pt.
  • De hoofdstukken dienen boven aan een volgende pagina te beginnen.

Verwijzingen en/of voetnoten dienen steeds op dezelfde wijze te zijn aangegeven.

Algemeen

Wanneer je informatie van Internet haalt let dan op het volgende:

  • letterlijk kopiëren van Internet is niet goed. Filter alle onnodige informatie er tussenuit en geef duidelijk antwoord op de vragen, niet meer en niet minder.

Bewaar zelf altijd een digitale kopie van de instructie. Op deze manier heb je altijd een back-up van jouw document en kun je dit document later gebruiken als referentie materiaal.

Standaarden coderen

Er zijn een aantal redenen waarom de layout van de code van groot belang is. Met name zorgt een goede layout voor een verhoging van de kwaliteit van de code. In de code sluipt heel gemakkelijk een foutje. Bij een goede layout is het vaak al moeilijk een fout te vinden en te herstellen, laat staan bij code die onoverzichtelijk is opgesteld. De code moet later bij onderhoud van het programma met zo min mogelijk moeite gelezen kunnen worden. Onoverzichtelijk geschreven code maakt dit juist moeilijk zo niet onmogelijk. De code moet door anderen gelezen kunnen worden. Als je samenwerkt met anderen, is het handig als die anderen ook de code kunnen lezen die jij geschreven hebt.

Codeblokken

Codeblokken zijn regels code die tussen accoladen staan. Binnen een codeblok kunnen weer andere codeblokken voorkomen. Zo staat in het voorbeeld hieronder de codeblok van een lus binnen de codeblok van een methode staan. Een codeblok wordt voorafgegaan door een openingsaccolade { en wordt afgesloten met een sluitaccolade }. Na een openingsaccolade springt je op de volgende regel één tab in. Na de sluitaccolade springt je op de volgende regel terug.. De openingsaccolade staat als laatste teken op een regel na een spatie meteen na bijvoorbeeld het sluithaakje na van een methode. De sluitaccolade staat als enig teken op de regel en in de kolom van de eerste letter die staat op de regel van de openingsaccolade.

Voorbeeld:

tekenTekst($ tekst) {
int teller;   
           coderegel;  
           coderegel;  
           for( teller = 0; teller < 10; teller ++)  {  
                       coderegel ;  
                       coderegel ;  
           }  
           coderegel ;  
           coderegel ;  
}  

Operatoren

Vergelijkingsoperatoren (==, !=, <, <=, > en >=) worden altijd omgeven door spaties.

Voorbeelden:

for( teller = 0; teller < 10; teller ++)

Ook numerieke operatoren ( *, /, +, -, %, *=, /=, +=, -=, %=, ++, en --) worden omgeven door spaties, één ervoor en één erachter.

Voorbeeld:

som = a + b;

In dit voorbeeld komt ook de toekenningsoperator ( =) voor die ook door spaties omgeven wordt.

Commentaar

Toelichting op je code is heel belangrijk. Zo kan de ander met wie je samenwerkt, de code begrijpen en kun je zelf de code een jaar later ook nog begrijpen.

Om op één regel commentaar te leveren gebruik je // en om op meerdere regels achter elkaar commentaar te zetten, gebruik je /* … */. Zet in ieder geval boven elk blok C#-code commentaar, boven elke klasse en elke methode in de klasse:

In commentaar dat over de gehele klasse gaat, staat de naam van de klasse, een algemene beschrijving van de klasse, de naam van de auteur en het versienummer met de datum van de laatste wijziging.

Boven elke methode staat de naam van de methode, een algemene beschrijving van de methode, de parameters en wat de teruggave is. Als er geen parameters zijn, dan staat er achter Parameters: geen. Hetzelfde geldt voor return. Ook wordt er eventueel naar andere methodes binnen (zoals in het voorbeeld) of buiten de klasse verwezen.

Door deze manier van commentaar schrijven (zie de dubbele asteriksen aan het begin en het einde van het commentaar) kan er op eenvoudige manier een broncodedocumentatie gegenereerd worden.

Voorbeelden van doc generators, zie:

Zie verder voor de conventies van coderen:

http://framework.zend.com/manual/B1-K1-W12/en/coding-standard.coding-style.html

MA | Project documentatie 2016 v1.2

Gebaseerd op het KD Applicatie- en mediaontwikkeling

Inleiding

In dit document vind je informatie over de fases en voor het maken van documentatie bij het uitvoeren van projecten als Mediadeveloper.

Algemeen

De volgende opmerkingen gelden voor elk document dat je schrijft binnen de uitvoering van een project. Controleer dus elke document voor dat je inlevert of laat controleren op deze punten:

Begin elk document met een duidelijke inleiding. In de inleiding vertel je waar het document over gaat zodat de lezer weet wat hij gaat lezen. Probeer daarbij zo specifiek mogelijk te zijn; geef geen uitleg wat een Schriftelijk Advies, FO of TO is maar leg kort uit wat je gaat vertellen, hoe het document is op gebouwd of iets dat de lezer moet weten voordat hij het document gaat lezen.

Zorg dat de opmaak van de documenten consequent is. Gebruik niet onnodig veel verschillende soorten opmaak van de tekst zonder dat je daar een reden voor hebt, dit leidt alleen maar af van de inhoud. Vermijdt onnodig gebruik van ingewikkelde formuleringen als het document is bedoeld voor de opdrachtgever. Gebruik zoveel mogelijk de functies van je teksteditor om het document netjes op te maken, bijvoorbeeld kop- en voetteksten, automatische inhoudsopgave, opmaakprofielen etc. De verschillende documenten binnen een project moeten een gelijke opmaak hebben zodat je duidelijk kunt zien dat ze bij elkaar horen.

Zorg dat belangrijke informatie duidelijk in of op het document vermeld staat. Als je een document op de grond vindt moet je kunnen zien van wie het is, waarvoor en wanneer het is geschreven en welke pagina.

Geef alle documenten een duidelijk versienummer zodat je weet wat je laatste versie is, en wat een eerdere versie is.. Elke keer als je een document (voorlopig) oplevert geef het een nieuw nummer. Aan het nummer moet ook te zien zijn dat het een definitieve versie is. Begin je nummering bijvoorbeeld met 0.1, 0.2, 0.3 … De definitieve versie krijgt dan het nummer 1.0. Als het definitieve document in de loop van het project toch nog moet aanpassen, door bijvoorbeeld nieuwe informatie of inzichten, ga je verder met 1.1, 1.2 etc. Zo is duidelijk te zien dat de laatste documenten een aanpassing is op de definitieve versie.

Planning en logboek

Om het proces van het maken van een project of opdracht goed te laten verlopen is het handig om een planning te maken. Hierdoor kan je zien wanneer welk onderdeel af moet zijn, of er verschillende fasen zijn die je moet plannen en hoeveel tijd het project of de opdracht in beslag gaat nemen.

Om tijdens een project of een opdracht, de werkzaamheden die je doet goed te volgen, zul je een logboek bij moeten houden. Het logboek verschaft de projectbegeleider inzicht in het verloop van je project (uitvoering), in de planning en in het realiseren van je product. Je werkzaamheden leg je vast om je voortgang te bewaken.

Lever bij elk product dat je oplevert je planning en je logboek als bijlage in. De planning en het logboek zijn documenten die de projectbegeleider van jou wil zien. Dit zijn dus geen documenten die de opdrachtgever wil zien.

Naam: Groep: Project:
Datum Tijd Activiteit

Kerntaak 1: Ontwerpen van de applicatie, (cross)media-uiting

De volgordelijke plaats van de documenten binnen het proces:

Schriftelijk advies --------> Functioneel ontwerp --------> Technisch ontwerp ------------->
Plan van aanpak --------------------------------------------------------------------------->

Bovenstaande betekent dat werkproces 1.2 parallel loopt aan de andere werkprocessen en van invloed is op alle te schrijven documenten binnen kerntaak 1.

Werkproces 1.1 Stelt de vraag en/of informatiebehoefte vast

Doel: Verwachtingen afstemmen
Input: Projectbeschrijving/Briefing/RFP
Output: Schriftelijk advies/Offerte
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever

Schriftelijk advies/Offerte:

  • Algemene aanleiding/inleiding/omschrijving van de gewenste werkzaamheden
  • Bij een waterval proces, alle eisen en wensen van de opdrachtgever beschrijven en indelen op prioriteit volgens MoSCoW methode
  • Bij een Agile proces, omzetten van alle eisen en wensen van de opdrachtgever naar userstories
  • Haalbaarheid van cruciale eisen en wensen
  • Voor- en nadelen beschrijven van cruciale eisen en wensen en adviseren
  • Uren- en kostenopgave
  • Grove planning op basis van ontwerp, realisatie, implementatie en onderhoud/beheer fase

Werkproces 1.2 Maakt een plan van aanpak

Doel: Vastleggen wat je gaat doen
Input: Schriftelijk advies, !! Feedback van de opdrachtgever
Output: Plan van aanpak
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

Plan van aanpak:

  • Projectomschrijving
  • Aanleiding > Wat is ‘de uitdaging’ en waarom nu?
  • Doelstelling > Wat wil de opdrachtgever bereiken en gericht op welke doelgroep?
  • Op te leveren resultaten, producten en/of diensten
  • Alle activiteiten benoemen en koppelen aan projectleden (zie FO en TO)
  • Fasering en gedetailleerde activiteitenplanning
  • Risico’s benoemen
  • Taken, verantwoordelijkheden en contactgegevens van de projectleden
  • Hoe ga je communiceren, onderling, maar ook met opdrachtgever; welke tools ga je daar evt voor gebruiken.(Elke week Skypen, per mail, etc.)

Werkproces 1.3 Levert een bijdrage aan een functioneel ontwerp of Game Design Document

Doel: Vastleggen hoe je het gaat doen vanuit de gebruikers
Input: Schriftelijk advies en PvA
Output: Functioneel ontwerp
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

Functioneel ontwerp:

  • Doelgroep/Eindgebruikers > Wie zijn ze?, wat verwachten ze, hoe benaderen we ze
  • Eisen omzetten naar functionaliteiten/userstories
  • Per functionaliteit/userstory een wireframe of klikbare prototype
  • Sitemap/Menustructuur
  • Stroomdiagram van een belangrijke functionaliteit/userstory
  • Opzet van een acceptatietestplan uit te voeren in KT2
  • Eenvoudige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Werkproces 1.4 Maakt een technisch ontwerp

Doel: Vastleggen hoe en waarom je het gaat doen vanuit de techniek
Input: Schriftelijk advies, Functioneel ontwerp
Output: Technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

Technisch ontwerp:

  • Per complexe functionaliteit/userstory een wireframe met gedetailleerde uitwerking
  • Toelichten van de gekozen oplossing(en)
  • Database ontwerp/model / Entity Relation Diagram / Type velden
  • Sequence diagram van een complexe functionaliteit/userstory
  • Volledige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Werkproces 1.5 Richt de ontwikkelomgeving in

Doel: Inzicht verkrijgen van OTAP omgevingen
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Resultaat opnemen in het technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

Beschrijving inrichting van ontwikkelomgeving:

  • Welke ontwikkelomgeving er gebruikt gaat worden
  • Welke taal ga je gebruiken
  • Welke hulpmiddelen heb je nodig
  • Hoe pak je de inrichting aan en is het gelijk aan de productieomgeving

Kerntaak 2: Realiseren van de applicatie, (cross)media-uiting

Werkproces 2.1 Legt een gegevensverzameling aan

Doel: Aantonen van kennis van het bewerken en analyseren van data
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Digitaal formaat met data
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Database aanmaken
  • Back up/dump van database
  • Database moet op zijn minst gevuld zijn met voorbeeld data

Werkproces 2.3 Realiseert een (cross)media uiting en/of systeem

Doel: Aantonen dat je in staat bent om te programmeren volgens documentatie en planning
Input: FO, TO en planning
Output: Digitaal formaat met data, screenshots van het systeem en een realisatieverslag
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Gehele back up van project
  • Moet gevuld zijn met voorbeelddata
  • Opgenomen in versiebeheer
  • Screenshots van het systeem (applicatie en database)
  • Conventie en documentatie

Realisatieverslag:

  • Persoonlijke logboek in verhaalvorm
  • Wat ging goed of fout -> noem voorbeelden

Werkproces 2.5 Test het ontwikkelde product

Input: Testplan uit het Functioneel Ontwerp en TO
Output: Acceptatietestrapport
Beoordeling: Projectbegeleider
Voor wie: De opdrachtgever

Acceptatietestrapport:

  • Beschrijving van wat je gaat testen zoals beschreven in FO
  • Overzicht van testers en hun inzet
  • Uitvoeren van de test
  • Screenshots van het testen (eventuele foutmeldingen)
  • Verzamelen testresultaten en verbeteringen beschrijven
  • Uitvoeren van de verbeteringen

Werkproces 2.6 Optimaliseert de game of (cross)media-uiting

Input: Acceptatietestrapport
Output: Optimalisatieplan
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en teamleden

Optimalisatieplan:

  • Gebruiksvriendelijkheid rapport
  • Toegankelijkheid rapport
  • Overzicht zoekmachine instellingen

Werkproces 2.7 Bewaakt de voortgang en evalueert het project

Input: Plan van aanpak en teamvergaderingen
Output: Actuele gedetailleerde activiteitenplanning en Evaluatie
Beoordeling: Projectbegeleider
Voor wie: Opdrachtgever en teamleden

Actuele gedetailleerde activiteitenplanning:

  • Teamleden
  • Tijdindeling
  • Meetpunten

Evaluatie

  • Verzamelen teamfeedback betreft jouw eigen inzet en verbeterpunten beschrijven

Kerntaak 3: Implementeren van de applicatie of (cross)media-uiting

Werkproces 3.1 Maakt of levert een bijdrage aan het implementatieplan

Input: De gerealiseerde applicatie
Output: Implementatieplan en presentatie
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatieplan:

Beschrijf het volgende:

  • Ingrijpende veranderingen in de organisatie
  • Hoe en wie de gegevens gaan converteren, importeren of invoeren
  • Procedures en verantwoordelijkheden
  • Uitrol(deploy) aanpak(big bang, gefaseerd, parallel, gecombineerd?)
  • Stappen in de vorm van een draaiboek op basis van tijd
    • Alle te installeren hard- en software
    • Infrastructuur, Servers(Web, DB, Mail etc.) en modules
    • Systeemtest
  • Beheerders training bij ingrijpende veranderingen
  • Te verwachten toekomstige applicatie-, gegevens- en technisch beheer

Presentatie hand-out

  • Presentatie van het implementatieplan aan projectbegeleider, opdrachtgever en betrokken medewerkers

Werkproces 3.3 Implementeert een applicatie of (cross)media-uiting en/of -systeem

Input: Implementatieplan
Output: Implementatierapport
Beoordeling: Projectbegeleider
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatierapport:

  • Uitvoeren en documenteren van installatie volgens implementatieplan in samenwerking met beheerder

Werkproces 3.4 Evalueert een implementatie

Input: Implementatieplan en uitkomst van implementatie
Output: Rapport met conclusies en verbeterpunten en procesverslag
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Procesverslag van het gehele implementatietraject:

  • Hoe verliep de voorbereiding
  • Hoe verliep de uitvoering, denk aan: conversie, invoering, tijdpadbewaking, training, procedures hanteren, overdracht naar beheer

Rapport met conclusies en verbeterpunten

Kerntaak 4: Onderhouden en beheren van de applicatie, (cross)media-uiting

Werkproces 4.1 Onderhoudt applicaties of (cross)media-uiting

Input: Functioneel ontwerp
Output: Onderhoud- en beheerplan, Rapport over de uitvoering van het onderhoud
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerders en toekomstige ontwikkelaars

Onderhoud- en beheerplan:

  • Beschrijven, uitvoeren(en documenteren) van procedures voor:
    • preventief onderhoud zoals updates, monitoring en unit-tests
    • virus bescherming
    • back-up en restore
    • incidenten-registratie
    • (nieuwe) eisen en wensen registratie
  • Rapporteren van alle ondernomen stappen en vervolgacties aan opdrachtgever/projectbegeleider

Werkproces 4.2 Verzamelt, controleert, bewerkt en archiveert (cross)mediabestanden

Input: Alle projectdocumenten
Output: Resultaat opnemen in het onderhoud- en beheerplan en het archief
Beoordeling: Projectbegeleider
Voor wie: Toekomstige beheerders en ontwikkelaars

Archivering (procedures voor het archiveren van (gegevens van) applicaties):

  • Toelichting gewenste format, type, kwaliteit en compressiefactor van de mediabestanden
  • Analyse aangeleverde format, type, kwaliteit en compressiefactor van de mediabestanden
  • Conversie mediabestanden

Archief:

  • Digitaal formaat

Werkproces 4.3 Bewaakt de samenhang van media-uitingen

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Media-uitingen:

  • Audio en visuele stijl samenhang controle(sluit de stijl aan bij andere media-uitingen van de opdrachtgever)
  • Advies over andere (sociale)media mogelijkheden

Werkproces 4.4 Stelt script samen ten behoeve van het samenvoegen van content

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Opmaak:

  • Weergave en uitleg van gebruikte opmaak/gridsysteem/theme/template

Werkproces 4.5 Beheert de content

Input: Onderhoud- en beheerplan
Output: Resultaat opnemen in het onderhoud- en beheerplan en fysiek bewijs in digitaal formaat met screenshots van het systeem
Beoordeling: Projectbegeleider
Voor wie: Toekomstige gebruikers, beheerders en ontwikkelaars

Contentbeheer:

  • Korte beschrijving van de route die content aflegt vanaf creatie tot publicatie
  • Beschrijving van verdeling van rollen, rechten en verantwoordelijkheden
  • Beschrijving van procedures/regels voor aanleveren van bruikbare content
  • Gebruikershandleiding en instructies van de wijze waarop content in de applicatie(s) wordt bewerkt en ingebracht
  • Bewerking van analoge naar digitale content (scannen, converteren, etc.)

Beoordeling communicatie

Tijdens het beoordelen van de communicatie wordt er op de volgende punten gelet:

  • Zijn er vooraf afspraken over onderlinge normen en waarden gemaakt?
  • Hoe is er met problemen om gegeaan?
  • Welke communicatiemiddelen zijn er gebruikt?
  • Hoe is de samenwerking verlopen?
  • Voelen de teamleden zich serieus genomen?
  • Is een ieders mening en idee welkom?
  • Is er voldoende motivatie- of vaardigheid?
  • Worden hoofd- en bijzaken herkend?
  • Is er gebruikt gemaakt van LSD:)(Luisteren, Samenvatten en Doorvragen)

Beoordeling documentatie

Tijdens het beoordelen van de documentatie wordt er op de volgende punten gelet.

Onderdeel: Uitleg:

Titelblad:

een duidelijk voorblad met daarop vermeld:

  • de titel van het document
  • plaats, de maand en het jaartal van publicatie (inlever datum)
Inhoudsopgave:

de inhoudsopgave vermeldt de titels van de hoofdstukken, paragrafen met de daarmee corresponderende nummering en de pagina’s. Deze moet automatisch worden gegenereerd met Word.

De inhoudsopgave moet een duidelijk overzicht geven van het document.

Voorwoord:

hierin behandel je zaken die niet rechtstreeks in verband staan met het onderwerp zoals:

  • bedankjes aan medewerkers en instellingen
  • de aanleiding tot het document
  • als er een vorige document bestaat: het verband met het vorige

Inleiding:

een definitie en afbakening van het onderwerp:

  • de probleemstelling (tip: gebruik hierbij de project naam)
  • een uitleg over de opbouw van het document
  • toelichting op de methode van onderzoek

Opmerking: het voorwoord en de inleiding mogen op 1 pagina worden gezet.

Kern:

de antwoorden op alle vraagstukken en opdrachten:

  • Geef niet te veel maar zeker niet te weinig antwoord op vragen en opdrachten.
  • Verwerk de vraag of opdracht in uw antwoord, vermeld anders de vraag of opdracht voorafgaand aan uw antwoord.
  • Geef duidelijk aan om welke vragen opdrachten en/of hoofdstukken het gaat.

In de inleiding heeft je voor een probleemstelling gekozen waardoor het document zich kan beperken tot een thema. De probleemstelling is de centrale vraag die beantwoord moet worden. De belangrijkste aspecten die je bij het schrijven in de gaten moet houden zijn:

  • de overzichtelijkheid: die moet blijken uit de indeling in hoofdstukken en paragrafen (Zie ook de inhoudsopgave)
  • de objectiviteit: beperk je bij de weergave van de feiten tot die feiten. Loop niet op conclusies vooruit.

Slot:

Dit is het laatste hoofdstuk waarin:

  • een terugblik op de kern wordt gegeven (samenvatting)
  • conclusies uit de voorafgaande hoofdstukken worden getrokken
  • een mening van de schrijver wordt geformuleerd. (o.a. Wat vond je ervan en wat heb je ervan geleerd)

Bronvermelding:

  • geef precies aan waar je de informatie gevonden hebt (boeken, tijdschriften, kranten, Internet). Bij internet vermeldt je de site naam.
  • Opmerking: het slot en de bronvermelding mogen op 1 pagina worden gezet.

De verzorging:

  • Zorg dat je alle koppen en subkoppen een opmaakprofiel geeft. Dit heb je nodig om later uw inhoudsopgave te genereren.
  • De hoofdstukken en paragrafen dienen exact dezelfde benaming te hebben als in de inhoudsopgave. (Gebruik hiervoor de optie Inhoudsopgave in Word)
  • Gebruik een voettekst met daarin, (links)namen, (midden)documentnaam, (rechts)blz. nummering.
  • nummer de pagina’s behalve titelblad.
  • De (hoofd)letters die jij voor de hoofdstuktitels enz. gebruikt moeten consequent van dezelfde soort zijn.
  • Het standaard lettertype dat je gebruikt is Arial 11pt.
  • De hoofdstukken dienen boven aan een volgende pagina te beginnen.

Verwijzingen en/of voetnoten dienen steeds op dezelfde wijze te zijn aangegeven.

Algemeen

Wanneer je informatie van Internet haalt let dan op het volgende:

  • letterlijk kopiëren van Internet is niet goed. Filter alle onnodige informatie er tussenuit en geef duidelijk antwoord op de vragen, niet meer en niet minder.

Bewaar zelf altijd een digitale kopie van de instructie. Op deze manier heb je altijd een back-up van jouw document en kun je dit document later gebruiken als referentie materiaal.

Standaarden coderen

Er zijn een aantal redenen waarom de layout van de code van groot belang is. Met name zorgt een goede layout voor een verhoging van de kwaliteit van de code. In de code sluipt heel gemakkelijk een foutje. Bij een goede layout is het vaak al moeilijk een fout te vinden en te herstellen, laat staan bij code die onoverzichtelijk is opgesteld. De code moet later bij onderhoud van het programma met zo min mogelijk moeite gelezen kunnen worden. Onoverzichtelijk geschreven code maakt dit juist moeilijk zo niet onmogelijk. De code moet door anderen gelezen kunnen worden. Als je samenwerkt met anderen, is het handig als die anderen ook de code kunnen lezen die jij geschreven hebt.

Codeblokken

Codeblokken zijn regels code die tussen accoladen staan. Binnen een codeblok kunnen weer andere codeblokken voorkomen. Zo staat in het voorbeeld hieronder de codeblok van een lus binnen de codeblok van een methode staan. Een codeblok wordt voorafgegaan door een openingsaccolade { en wordt afgesloten met een sluitaccolade }. Na een openingsaccolade springt je op de volgende regel één tab in. Na de sluitaccolade springt je op de volgende regel terug.. De openingsaccolade staat als laatste teken op een regel na een spatie meteen na bijvoorbeeld het sluithaakje na van een methode. De sluitaccolade staat als enig teken op de regel en in de kolom van de eerste letter die staat op de regel van de openingsaccolade.

Voorbeeld:

tekenTekst($ tekst) {
int teller;   
           coderegel;  
           coderegel;  
           for( teller = 0; teller < 10; teller ++)  {  
                       coderegel ;  
                       coderegel ;  
           }  
           coderegel ;  
           coderegel ;  
}  

Operatoren

Vergelijkingsoperatoren (==, !=, <, <=, > en >=) worden altijd omgeven door spaties.

Voorbeelden:

for( teller = 0; teller < 10; teller ++)

Ook numerieke operatoren ( *, /, +, -, %, *=, /=, +=, -=, %=, ++, en --) worden omgeven door spaties, één ervoor en één erachter.

Voorbeeld:

som = a + b;

In dit voorbeeld komt ook de toekenningsoperator ( =) voor die ook door spaties omgeven wordt.

Commentaar

Toelichting op je code is heel belangrijk. Zo kan de ander met wie je samenwerkt, de code begrijpen en kun je zelf de code een jaar later ook nog begrijpen.

Om op één regel commentaar te leveren gebruik je // en om op meerdere regels achter elkaar commentaar te zetten, gebruik je /* … */. Zet in ieder geval boven elk blok PHP-code commentaar, boven elke klasse en elke methode in de klasse:

In commentaar dat over de gehele klasse gaat, staat de naam van de klasse, een algemene beschrijving van de klasse, de naam van de auteur en het versienummer met de datum van de laatste wijziging.

Boven elke methode staat de naam van de methode, een algemene beschrijving van de methode, de parameters en wat de teruggave is. Als er geen parameters zijn, dan staat er achter Parameters: geen. Hetzelfde geldt voor return. Ook wordt er eventueel naar andere methodes binnen (zoals in het voorbeeld) of buiten de klasse verwezen.

Door deze manier van commentaar schrijven (zie de dubbele asteriksen aan het begin en het einde van het commentaar) kan er op eenvoudige manier een PHPdoc gemaakt worden.

Voor een voorbeeld van een PHPdoc, zie:

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock

Zie verder voor de conventies van coderen:

http://framework.zend.com/manual/1.12/en/coding-standard.coding-style.html

Taxikosten

Een taxibedrijf hanteert het volgende tarief:

  • Per gereden km € 1,=. Daarboven een bedrag per gereden minuut: € 0,25 tussen 8.00 en 18.00 uur, € 0,45 buiten deze periode.
  • Van vrijdagavond 22.00 uur tot maandagochtend 7.00 uur worden de ritprijzen verhoogd met een weekendtoeslag van 15%. Deze toeslag wordt alleen toegepast als de rit begint in de genoemde periode.

De te ontwikkelen software moet aan de hand van de ritgegevens de ritprijs berekenen. Je mag er vanuit gaan dat een rit op één en dezelfde dag begint en eindigt.

Ouderbijdrage school

Een basisschool berekent de ouderbijdrage als volgt:

  • Een basisbedrag van € 50,=. Daarnaast voor elk kind jonger dan 10 jaar € 25,= (voor maximaal 3 kinderen) en voor elk kind van 10 jaar en ouder € 37,= (voor maximaal 2 kinderen).
  • De maximale ouderbijdrage bedraagt € 150,=.
  • Voor éénoudergezinnen wordt op de berekende bijdrage (nádat de controle op het maximum heeft plaatsgevonden) een reductie toegepast van 25%.

De te ontwikkelen software moet aan de hand van de gezinsgegevens de verschuldigde ouderbijdrage bepalen. De leeftijd van elk kind moet aan de hand van geboortedatum en een peildatum worden berekend.

Autoverhuur

Een autoverhuurbedrijf hanteert de volgende tarieven:

  • Voor personenauto’s: Per gereden kilometer een bedrag van € 0,20 (voor elke dag dat de auto verhuurd is zijn de eerste 100 km vrij). Daarnaast een bedrag van € 50,= per dag.
  • Voor personenbusjes bedraagt de kilometerprijs € 0,30 en het dagtarief € 95,=.

De auto wordt uitgegeven met een volle tank benzine. Bij het inleveren van de auto wordt de tank weer volledig gevuld.

De te ontwikkelen software moet aan de hand van de verhuurgegevens het verschuldigde bedrag berekenen. Het aantal dagen moet worden bepaald aan de hand van begin- en einddatum verhuurperiode. Je mag er vanuit gaan dat elke maand 30 dagen telt. Bij het bepalen van de kosten moet onderweg getankte benzine ook betrokken worden.

Dierenpark

Het Noorder Dierenpark in Emmen hanteert onder andere de volgende tarieven voor abonnementen:

  • Echtpaar € 61,=
  • Gezin met 1 kind € 71,=
  • Gezin met 2 kinderen € 82,=
  • Persoonlijk € 30,=
  • Elk kind extra € 11,=
  • Echtpaar 65+ € 65,=
  • Persoonlijk 65+ € 26,=

De te ontwikkelen software moet aan de hand van de gegevens van de abonnementaanvrager de abonnementsprijs bepalen.
De leeftijd van de volwassene(n) moet aan de hand van geboortedatum en een peildatum worden berekend.

Kinderbijslag

Een kinderbijslagregeling ziet er als volgt uit:

  • Voor elk kind jonger dan 12 jaar bedraagt de kinderbijslag € 150,= per kwartaal, voor elk kind vanaf 12 jaar en jonger dan 18 jaar is dit bedrag € 235,=.
  • Afhankelijk van het totale aantal kinderen kan het berekende bedrag nog worden verhoogd met een opslagpercentage:
  • Dit opslagpercentage bedraagt 2% bij 3 of 4 kinderen, 3% bij 5 kinderen en 3.5% bij 6 of meer kinderen.

De te ontwikkelen software moet aan de hand van de gezinsgegevens de aan dat gezin toegekende kinderbijslag bepalen. De leeftijd van elk kind moet aan de hand van geboortedatum en een peildatum worden berekend.

Camping

Bij een camping in de omgeving van Emmen gelden in het hoofdseizoen (11 juli tot en met 15 augustus) de volgende tarieven (alle genoemde bedragen zijn per etmaal):

  • plaatshuur (breedte 10 meter) € 30,=
  • per persoon € 5,=
  • hond € 4,=
  • per meter meer € 3,=
  • per meter minder € 2,= (korting)
  • auto bij tent € 6,=

Buiten het hoofdseizoen bedraagt de plaatshuur € 25,= (de overige bedragen zijn gelijk aan die in het hoofdseizoen).

De te ontwikkelen software moet aan de hand van de reserveringsgegevens het verschuldigde campinggeld bepalen. Het aantal dagen binnen en buiten het hoofdseizoen moet worden bepaald aan de hand van begin- en einddatum (je mag er vanuit gaan dat de begin- en einddatum in juli en/of augustus vallen).

Containerverhuur (voor bouwafval, puin etc)

Bij een containerverhuurbedrijf gelden de volgende tarieven:

  • De huur bedraagt € 40,= per m3 per dag.
  • Het afvoeren van een volle bak (inclusief het eventueel plaatsen van een lege) kost € 60,= als het volume van de bak 2 m3 of minder bedraagt, anders € 125,=.
  • Vaste klanten krijgen op het totale verschuldigde bedrag een korting van 15%.

De te ontwikkelen software moet aan de hand van de verhuurgevens het verschuldigde huurbedrag berekenen. De lengte van de huurperiode moet worden bepaald aan de hand van begin- en einddatum.
De begin- en einddatum vallen in hetzelfde kalenderjaar. Je mag bij deze opdracht uitgaan van maanden van 30 dagen).

Transportbedrijf

Een transportbedrijf hanteert tarieven die gebaseerd zijn op zowel het volume als op het gewicht van de te vervoeren lading:
Voor niet-vloeibare ladingen:

  • Volume-component: € 0,80 per m3
  • Gewicht-component: € 0,55 per kg

Voor vloeibare ladingen bedragen deze tarieven resp. € 1,25 en € 0,45.

De som van de beide componenten levert de transportkosten per kilometer. Voor buitenlandse ritten geldt een toeslag van 45% op de buiten Nederland gereden kilometers. Voor buitenlandse ritten wordt tevens een toeslag berekend voor douanekosten: 3.5% van de waarde van de lading. De minimum toeslag voor douanekosten bedraagt € 45,=.

De te ontwikkelen software moet aan de hand van de gegevens van een transport het verschuldigde bedrag berekenen.

Waterverbruik

Voor de kosten van het waterverbruik gelden drie mogelijke tarieven:

  • tarief 1: vastrecht € 100,= per jaar
  • tarief 1: verbruikskosten € 0,25 per m3
  • tarief 2: vastrecht € 75,= per jaar
  • tarief 2: verbruikskosten € 0,38 per m3
  • tarief 0: Voor de betreffende verbruiker wordt de voordeligste mogelijkheid (tarief 1 of tarief 2) gekozen.

De te ontwikkelen software moet voor een verbruiker het verschuldigde bedrag over het afgelopen jaar bepalen.

Glashandel

Een glashandel werkt met de volgende tarieven:

  • Gewoon glas: Glaskosten € 30,= per m2, snijkosten € 10,= per bestelling.
  • Speciaal glas: Glaskosten € 55,= per m2, snijkosten € 25,= per bestelling.

Voor de berekening van de glaskosten wordt uitgegaan van gehele vierkante meters (bijvoorbeeld 0,6 m2 besteld, 1 m2 berekend), tenzij de bestelde grootte uit restanten kan worden gesneden; dit wordt aangegeven met een restantcode.
Als de totale glaskosten € 145,= of hoger zijn worden geen snijkosten in rekening gebracht.
Als de glaskosten meer bedragen dan € 250,= dan wordt een korting van 5% gegeven.

De te ontwikkelen software moet aan de hand de gegevens van een bestelling het verschuldigde bedrag bepalen.

Houthandel

Bij een houthandel gelden de volgende tarieven:
Voor klasse 1 bedraagt de houtprijs € 300,= per m3, voor klasse 2 is de prijs € 500,= en voor klasse 3 is het € 450,=.
Het schaafloon bedraagt € 0,60 per m2.
Als de totale houtkosten € 200,= of meer bedragen dan wordt geen schaafloon in rekening gebracht.
Afhankelijk van de gevraagde levertijd wordt een korting gegeven:

  • 14 dagen <= levertijd < 21 dagen : 1 % korting
  • 21 dagen <= levertijd < 28 dagen : 2 % -
  • 28 dagen <= levertijd : 2,5% -

De te ontwikkelen software moet aan de hand van de gegevens van een bestelling het verschuldigde bedrag bepalen. De levertijd in dagen dient te worden bepaald met behulp van de gevraagde leverdatum en de huidige datum. De huidige datum en de gevraagde leverdatum vallen in hetzelfe kalenderjaar. Je mag bij deze opdracht uitgaan van maanden van 30 dagen.

Opleidingsinstituut

Bij een opleidingsinstituut gelden de volgende tarieven:

  • Voor schriftelijke vakken: Lesgeld € 50,=, voor het studiemateriaal €50,=.
  • Voor mondelinge vakken: Lesgeld € 150,=, voor het studiemateriaal € 50,=
  • Voor practische vakken: Lesgeld € 150,=, voor het studiemateriaal € 125,=.

Als het totale aantal vakken 5 of meer bedraagt wordt alléén op het lesgeld een korting gegeven van 5%.
Cursisten jonger dan 19 jaar ontvangen op het totale cursusgeld een korting van 2%.
Cursisten die de cursussen door bemiddeling van het arbeidsbureau volgen hoeven het studiemateriaal niet te betalen.

De te ontwikkelen software moet voor een cursist (die zich voor meerdere cursussen kan inschrijven) het aan het opleidingsinstituut verschuldigde bedrag te bepalen. De leeftijd van elke cursist moet aan de hand van geboortedatum en een peildatum worden berekend.

Schijventarief Inkomstenbelasting

De verschuldigde inkomstenbelasting wordt als volgt bepaald:
Het belastbaar inkomen (het eindbedrag van de belastingaangifte) wordt verminderd met de belastingvrije som (afhankelijk van de tariefgroep (zie verderop)); het resultaat heet de belastbare som.
Deze belastbare som vormt de basis voor het berekenen van de inkomstenbelasting:

  • Over de eerste € 8.000 bedraagt de belasting : 35,75%
  • Over het gedeelte € 8.001 t/m € 25.000 : 37,05%
  • Over het gedeelte € 25.001 t/m € 54.000 : 50%
  • Over het gedeelte vanaf € 54001 : 60%

De belastingvrije som is afhankelijk van de tariefgroep:

  • tariefgroep 1: € 419,=
  • tariefgroep 2: € 8.799,=
  • tariefgroep 3: € 17.179,=
  • tariefgroep 4: € 15.503,=
  • tariefgroep 5: € 15.503,=
  • + 12% van het belastbaar inkomen met een maximum van € 6.704,=

De te ontwikkelen software moet voor een belastingplichtige de verschuldigde belasting over het afgelopen jaar bepalen.

Bestelling (1)

De verschillende artikelen zijn genummerd met behulp van zescijferige artikelnummers: de eerste 4 posities geven het jaar aan waarin het artikel is gefabriceerd en de laatste 2 posities een volgnummer.
Afhankelijk van de leeftijd van de artikelen wordt een leeftijdskorting gegeven:

  • 2 jaar <= leeftijd < 3 jaar : leeftijdskorting = 5%
  • 3 jaar <= leeftijd < 5 jaar : - 10%
  • 5 jaar <= leeftijd : - 25%

Behalve deze leeftijdskorting is er nog een andere korting mogelijk: als het vijfde cijfer van het artikelnummer even is dan wordt een extra korting van 2% gegeven.

De te ontwikkelen software moet voor een bestelling (die kan bestaan uit meerdere bestelregels) het verschuldigde bedrag bepalen. De leeftijd van de bestelde artikelen moet worden bepaald met behulp van een peildatum.

Eenmalige uitkering

Werknemers met een huidig maandsalaris beneden een bepaalde grens ontvangen een eenmalige uitkering.
Deze grens is afhankelijk van de leeftijd en burgelijke staat van de werknemer:

  • Voor ongehuwde werknemers jonger dan 21 jaar bedraagt deze grens € 1300,=, voor de overige werknemers € 1425,=.
  • Deze uitkering bedraagt 1,75% van het totale salaris verdiend in het afgelopen jaar.
  • Als de uitkering volgens bovenstaande berekening minder dan € 250,= bedraagt dan wordt deze opgetrokken naar € 250,=.

De te ontwikkelen software moet aan de hand van de salarisgegevens van een werknemer de uitkering bepalen waar die werknemer recht op heeft. De leeftijd van de werknemers moet worden bepaald met behulp van een peildatum.

Vakantiedagen

Elke werknemer binnen een bedrijf heeft recht op een aantal zogenaamde basis-vakantiedagen:
dit aantal is afhankelijk van de afdeling waarbinnen de betreffende werknemer werkzaam is: Voor de werknemers uit afdeling 1 is dit aantal 24, voor afdeling 2 23, voor afdeling 3 22, voor de overige afdelingen 20. Het afdelingsnummer is het eerste cijfer van het personeelsnummer.
Afhankelijk van leeftijd en diensttijd kan dit aantal verhoogd worden:
Als de betreffende werknemer 10 jaar of langer in dienst is wordt het aantal dagen verhoogd met 3; als de werknemer 50 jaar of ouder is dan ontvangt hij of zij 5 dagen extra. Werknemers vanaf 55 jaar krijgen er elk jaar nog eens 1 dag bij.
Zo krijgt een werknemer van 58 jaar aan leeftijdsdagen 5 (ouder dan 50) plus 4 (voor 55, 56, 57 en 58 jaar).

De te ontwikkelen software moet aan de hand van de gegevens van een werknemer het aantal vakantiedagen bepalen. De leeftijd van de werknemers en het aantal dienstjaren moeten worden bepaald met behulp van een peildatum.

Contributie Sportvereniging (1)

Binnen een sportvereniging gelden de volgende regels voor het bepalen van de jaarlijkse contributie:
Seniorleden betalen € 75,=, juniorleden € 40,=. Men is seniorlid als men 18 jaar of ouder is. Men kan spelend – of niet spelend lid zijn.
Spelende leden betalen naast de clubcontributie ook nog bondscontributie: deze bedraagt voor zowel senior- als juniorleden € 45,=.
Op de clubcontributie (dus niet de bondscontributie) wordt een korting gegeven die afhankelijk is van de duur van het lidmaatschap:

  • 4 jaar <= duur lidmaatschap < 7 jaar : korting 2%
  • 7 jaar <= duur lidmaatschap : korting 3,5%

De te ontwikkelen software moet aan de hand van de lidgegevens de verschuldigde contributie bepalen.
De leeftijd van de leden en het aantal jaren lid moeten worden bepaald met behulp van een peildatum.

Contributie Sportvereniging (2)

Binnen een sportvereniging kunnen één of meer van de volgende sporten beoefend worden: voetbal, volleybal, basketbal, handbal, atletiek.
De jaarlijkse contributie wordt als volgt bepaald: De basiscontributie bedraagt € 40,=. Per beoefende sport komt hier een bedrag bij; dit bedrag is afhankelijk van het aantal sporten dat men beoefend:

  • bij 1 of 2 sporten € 25,= per sport
  • bij 3 of 4 sporten € 22,= per sport
  • bij 5 sporten € 20,= per sport.

Juniorleden (jonger dan 18 jaar) en veteranen (40 jaar en ouder) krijgen 10% korting. Is men 5 jaar of langer lid dan geldt er een (extra) korting van 5%.

De te ontwikkelen software moet aan de hand van de lidgegevens de verschuldigde contributie bepalen.
De leeftijd van de leden en het aantal jaren lid moeten worden bepaald met behulp van een peildatum.

Bibliotheek

Op basis van uitleendatum en retourdatum wordt bepaald hoe lang een boek uitgeleend is geweest. Voor het gemak wordt er vanuit gegaan dat elke maand 30 dagen heeft.
Een eventuele uitleenboete is afhankelijk van het aantal uitleendagen en van het soort boek:

  • Romans: Als dagen > 21 een boete van € 0,25 per dag.
  • Studieboeken: Als dagen > 30 een boete van € 1,= per week. Een deel van een week telt hierbij als volle week: stel dagen = 39, dus 9 dagen te laat, 2 x € 1,= boete.

Het soort boek kan worden bepaald aan de hand van het vier-cijferig boeknummer: romans 1e cijfer = 9, studieboeken 1e cijfer <> 9.

De te ontwikkelen software moet voor een terugbezorgd boek de eventuele boete bepalen.

Verkopersprovisie

Een bedrijf berekent de provisie voor haar verkopers over de afgelopen kalendermaand als volgt:
3% van de omzet in euro’s plus € 4,= per verkochte eenheid. Het berekende provisiebedrag wordt daarna verhoogd met een percentage dat afhankelijk is van het aantal verkochte eenheden in het afgelopen 12 maanden.
Dit percentage wordt als volgt berekend:

  • voor de eerste 10.000 stuks : 1% per 1000
  • voor de tweede 10.000 stuks : 1,5% per 1000
  • daarboven : 2% per 1000

Het percentage kan nooit hoger worden dan 50%

De te ontwikkelen software moet aan de hand van de omzetgegevens van een verkoper het uit te keren provisiebedrag bepalen.

Peildatum

De peildatum is een tijdstip op de tijdlijn dat aangeeft wanneer de waarde van het gegeven bepaald is. Informatie is gerelateerd aan een tijdstip. Bij gegevens die in de loop van de tijd relatief veel veranderen, is de datum relevant. In feite zijn er eigenlijk geen gegevens die niet gebonden zijn aan tijd. Een peildatum wordt toegepast bij gegevens die sterk afhankelijk zijn van tijd.

Datúúúm©* oefeningen

(*I. Aachboun)

  1. Schrijf een PHP-script dat de copyrightinformatie in het volgende formaat weergeeft. Om het huidige jaar te krijgen kunt u de datum() functie gebruiken.

    Verwacht formaat: © 2013 PHP-oefeningen - UnboundiT

  2. Maak een eenvoudig ‘verjaardagsaftelprocedure’ script, het script telt het aantal dagen tussen de huidige dag en de verjaardag.
  3. Schrijf een PHP-script om de huidige datum af te drukken in de volgende indeling. Om de informatie over de huidige datum te verkrijgen, kunt u de functie datum() gebruiken.

    Voorbeeld formaat : (ga ervan uit dat de huidige datum 1 september 2013 is).
    2013/09/01
    13.09.01
    01-09-13

  4. Schrijf een PHP-script om het verschil tussen twee data te berekenen.

    Voorbeeld data: 1981-11-04, 2013-09-04
    Verwacht resultaat: 31 jaar, 10 maanden, 11 dagen

  5. Schrijf een PHP-script om een datum om te zetten van yyyy-mm-dd naar dd-mm-yyyy.

    Voorbeeld datum: 2012-09-12
    Verwacht resultaat: 12-09-2012

  6. Schrijf een PHP-script om de datum om te zetten naar een timestamp.

    Voorbeeld datum: 12-05-2014
    Verwacht resultaat: 139985852800

  7. Schrijf een PHP-script om een aantal dagen tussen twee data te berekenen.
  8. Schrijf een PHP-script om de eerste en laatste dag van een maand vanaf een bepaalde datum te krijgen.
  9. Schrijf een PHP-script om de huidige datum af te drukken als: Zaterdag de 7e of Friday the 13th
  10. Schrijf een PHP-script om te controleren of de opgegeven data geldig zijn of niet?
  11. Schrijf een PHP-script om het tijdsverschil in dagen en jaren, maanden, dagen, uren, minuten en seconden tussen twee data te krijgen.
    Opmerking: Gebruik de DateTime klasse.
  12. Schrijf een PHP-script om het maandnummer te veranderen in de naam van de maand.
  13. Schrijf een PHP-script om de datum van gisteren te krijgen.
  14. Schrijf een PHP-script om de huidige datum/tijd van ‘Australia/Melbourne’ te krijgen.
  15. Schrijf een PHP-script om te controleren of een datum een weekend is of niet.
  16. Schrijf een PHP-script om het aantal dagen van een bepaalde datum op te tellen/af te trekken.

    Voorbeeld output : Oorspronkelijke datum : 2011-01-01-01
    Voor 40 dagen : 2010-11-22 2010-11-22
    Na 40 dagen : 2011-02-10

  17. Schrijf een PHP-functie om de begin- en einddatum van een week (per weeknummer) van een bepaald jaar te krijgen.

    Voorbeeld week en jaar : 12, 2014
    Output:
    Startdatum van de week: 2014-3-24
    Einde van de week: 2014-3-30

  18. Schrijf een PHP-script om de huidige leeftijd van een persoon te berekenen.

    Geboortedatum van de steekproef: 11.4.1987
    Output : Uw leeftijd : 27 jaar, 1 maand, 29 dagen.

  19. Schrijf een PHP-script om de weken tussen twee data te berekenen.

    Voorbeeld output: De weken tussen 1/1/2014 en 12/31/2014 bedraagt 52 weken.

  20. Schrijf een PHP-script om het nummer van de maand voor de huidige maand te krijgen.
  21. Schrijf een PHP-script om seconden om te zetten in dagen, uren, minuten en seconden.

    Voorbeeld seconden: 200000
    Verwachte output: 2 dagen, 7 uur, 33 minuten en 20 seconden.

  22. Schrijf een PHP-script om de voorgaande 6 maanden gerekend vanaf de huidige maand te krijgen.
  23. Schrijf een PHP-script om de huidige maand en de voorgaande drie maanden te krijgen.
  24. Schrijf een PHP-script om de datum met een maand te verhogen

    Voorbeeld datum: 2012-12-21
    Verwachte output: 2013-01-21

  25. Schrijf een PHP-script om de huidige datum in het Italiaans te krijgen.

    Voorbeeld output: Vandaag is lun on ott 06, 2014.

  26. Schrijf een PHP-script om het nummer om te zetten naar een maandnaam.
  27. Schrijf een PHP-script om het aantal dagen van de huidige maand op te vragen.
  28. Schrijf een PHP-script om de tijd in een bepaalde tijdzone weer te geven.

Einde schooljaar is in zicht, je gaat op stage. Om het mogelijk te maken om jou te introduceren bij een stagebedrijf en het bedrijf de gelegenheid te geven om jouw competenties en vaardigheden te beoordelen is een portfolio essentieel.

Het portfolio bestaat uit drie onderdelen; introductiedeel, bewijsdeel en een show case. Jij gaat de komende tijd van start met het maken van de intro- en het bewijsdeel.

Taak 1 Instructie Portfolio

Deze taak heeft als doel dat jij:

  • Weet wat een portfolio is
  • Weet hoe een portfolio is samengesteld
  • Weet voor wie jij een portfolio maakt

Opdrachten:

4hr4 timebox

  • maak een Word template/sjabloon volgens de spelregels zoals die in de sectie Beoordeling documentatie zijn beschreven(bijvoorbeeld voorblad, inhoudsopgave, inleiding etc)
  • onderzoek en maak een overzicht en omschrijving van de doelgroepen voor jouw portfolio site
  • beschrijf wat elke doelgroep graag zou willen zien aan informatie
  • maak een overzicht van de informatie die jij op jouw portfolio wil/moet tonen

4hr4 timebox

Wat je nodig hebt

Op te leveren producten

Een document met daarin:

  • Overzicht van de doelgroepen
  • Overzicht van de eisen en verwachtingen van de doelgroepen
  • Minimaal 10 veelgebruikte portfolio onderdelen

En een bijgewerkte logboek


Taak 2 Ontwerp van het portfolio en opzet ontwikkelomgeving

Deze taak heeft als doel dat jij:

  • Weet welke informatie je gaat opnemen in jouw portfolio
  • Weet hoe je jouw portfolio gaat indelen
  • Weet hoe jij de gebruiker door de informatie heen gaat leiden
  • Weet wat met de term “mobile first design” wordt bedoeld
  • Weet hoe een beschrijving van een ontwikkelomgeving wordt gemaakt

Wireframing is een belangrijke stap in elk ontwerpproces. In de eerste plaats is het bedoeld om de informatie hiërarchie van uw ontwerp te definiëren, waardoor het makkelijker is om de indeling(layout) te maken op basis van hoe jij wil dat de gebruiker de informatie verwerkt.

Opdrachten:

4hr4 timebox

  • Maak een overzicht van de data(informatie) die jij in jouw portfolio gaat opnemen
  • Maak wireframes van de verschillende views/secties/pagina’s

4hr4 timebox

  • Maak een sitemap met behulp van Gliffy, een voorbeeld kan je hier vinden.
  • Maak een scenario hoe jij wil dat een personeelsmedewerker van een toekomstige stagebedrijf door jouw portfolio heen gaat
  • Maak een beschrijving van jouw ontwikkelomgeving aan de hand van de productieomgeving(shared-hosting)

Wat je nodig hebt

Een wireframing tool:

Een diagram tool:

Een responsive CSS Grid of Flexbox Layout en webfonts:

Proef teksten en afbeeldingen


Informatie over projectdocumentatie ontwikkelomgeving

Op te leveren producten

  • Overzicht van de te gebruiken data
  • Wireframes van alle views op basis van een (responsive) grid of flexbox layout
  • Korte scenario van een bezoeker die jou wil gaan uitnodigen voor een stage sollicitatie gesprek
  • Beschrijving van jouw ontwikkelomgeving


Taak 3 Realisatie van het grid/flexboxes en vlakken-indeling

Deze taak heeft als doel dat jij:

  • Weet wat een grid is
  • Weet wat een flexbox layout is
  • Weet wat responsive- en adaptivewebdesign is
  • Weet hoe jij de gebruiker door de data heen wil leiden
  • Weet hoe jij een vlakken-indeling kan maken

Het wordt nu tijd dat jij jouw wireframes gaat omzetten naar daadwerkelijk HTML/CSS. Begin met het scripten van hoekige vlakken op het grid/flexbox. Denk na over de flow oftwel volgorde van de informatie die jij de bezoekers wil presenteren, van boven naar beneden is de gemakkelijkste, gevolgd door van links naar rechts. Zorg er voor dat de manier waarop gebruikers dingen doen op verschillende views/sectie’s/pagina’s niet veranderen oftwel zorg voor “consistency“. Het zal in sommige gevallen erin resulteren dat jij jouw wireframes moet aanpassen om die consistentie van header, navigatie, content, footer, sidebars, subnavigatie en kleuren te bereiken.

Hieronder is een voorbeeld van een wireframe die een lay-out gebruikt die tegenwoordig vaak voorkomt.

Opdrachten:

4hr4 timebox


  • Onderzoek veelgebruikte portfolio layouts(vlakken-indelingen) bijvoorbeeld met de hulp van Wirify
  • Maak een indeling in grid/flexboxes, gebruik hiervoor de instructies op w3schools Grid of w3schools Flexbox
  • Maak jouw grid/flexboxes responsive, gebruik ook hier de instructies van w3schools Mediaqueries

4hr4 timebox

  • Maak HTML/CSS layouts van al jouw views/secties/pagina’s op basis van jouw in taak 2 gemaakte wireframes
  • Voorzie al jouw views/secties/pagina’s van proef content

Wat je nodig hebt

Proef content zoals teksten, afbeeldingen en iconen

Een responsive Grid of Flex layout:

  • w3schools Flexbox
  • w3schools Grid
  • w3schools Mediaqueries
  • Gebruik de Mobile first methode en maak gebruik van onderstaande breakpoints:
        
        /* Small Devices, Tablets */
        @media only screen and (min-width : 768px) {
    
        }
    
        /* Medium Devices, Desktops */
        @media only screen and (min-width : 992px) {
    
        }
    
        /* Large Devices, Wide Screens */
        @media only screen and (min-width : 1200px) {
    
        }
    

Bronnen

Op te leveren producten

  • Een responsive grid/flexbox layout
  • Doordachte HTML/CSS layouts gevuld met proef content


Taak 4 Realisatie van de navigatie

Deze taak heeft als doel dat jij:

  • Weet wat Ajax is
  • Weet wat de HTML DOM is

Het is nu tijd om jouw views/secties/pagina’s zichtbaar te maken door gebruik te maken van navigatie-elementen. We gaan gebruik maken van AJAX, AJAX maakt webpagina’s asynchroon dit houdt in dat deze worden bijgewerkt door het achter de schermen uitwisselen van gegevens met een web-server. Hierdoor is het mogelijk is om delen van een webpagina te veranderen zonder dat de hele pagina wordt herladen. Om dynamisch de inhoud, structuur en stijl van een pagina te kunnen veranderen moet je weten dat er zoiets is als de DOM.

Opdrachten:

4hr4 timebox

  • Stel vast welk vlakken in jouw layout niet veranderen zoals de sidebar, header en footer.
  • Maak jouw navigatie-elementen(links/buttons) in het daarvoor bedoelde vlak in jouw layout.
  • Stel vast in welk vlak(DOM element) in jouw layout de content moet veranderen.
  • Script in JS een AJAX functie die het mogelijk maakt om achter de schermen HTML content te laden.

4hr4 timebox

  • Voorzie elke link/button van een onclick event die de AJAX functie called en aangeeft welk vlak(DOM element) moet veranderen.
  • Controleer jouw HTML en CSS met de beschikbare validators.
  • Test de koppelingen naar jouw views/secties/pagina’s. Als het goed is bevatten deze nu nog uitsluitend proef content. In de volgende taak gaan wij alle views/secties/pagina’s vullen met content.

Wat je nodig hebt

Op te leveren producten

  • Javascript: een AJAX functie om HTML pagina’s op te halen
  • HTML: Navigatie koppelingen naar alle views/secties/pagina’s vlakkenindeling


Taak 5 Realisatie, invoegen van de content en werkend maken van de navigatie

Deze taak heeft als doel dat jij:

  • De te gebruiken content zoals projecten, opdrachten en experimenten verzameld
  • Content netjes structureerd en opmaakt
  • Content views/secties/pagina’s realiseerd
  • Koppelen van de navigatie aan de diverse views/secties/pagina’s

Nu is het moment dat jij jouw content gaat verwerken, dit houdt in dat jij het werk dat je inmiddels voor school hebt gemaakt verzameld en opmaakt. Zoals jij in de vorige taak hebt gedaan weet jij hoe jij jouw navigatie koppeld aan proefcontent, nu ga jij jouw echte content koppelen/ontsluiten.

Opdrachten:

4hr4 timebox

  • Verzamel alle content die jij op jouw portfolio wil tonen, denk naast alle schoolopdrachten en projecten ook aan thuisexperimenten.
  • Maak screenshots van jouw content en zorg voor een korte tekstuele omschrijving, voorzie elke stukje content van bijvoorbeeld een link naar GIThub, teamgrootte, jouw rol binnen het team, gebruikte technieken, datum van uitvoer…etc.
  • Elk stukje content is een article bestaande uit bijvoorbeeld een header, footer, title, subtitle etc.
  • Realiseer nu daadwerkelijk jouw content views/secties/pagina’s zorg voor een duidelijke opmaak uiteraard gebaseerd op jouw grid/flexboxes.

4hr4 timebox

  • Zorg nu voor koppelingen vanuit jouw navigatie naar al jouw content. Zorg er ook voor dat links naar bijvoorbeeld GIThub die in de content zitten ook echt werken.
  • Zorg er voor dat waar nodig interne links in de views/secties/pagina’s ook werken. Bijvoorbeeld…op de opdrachten pagina een link naar opdracht 7.
  • Controleer of jouw views/secties/pagina’s wel een duidelijke outline hebben met een online outline service. Pas deze waar nodig aan.
  • Controleer de optimalisatie van jouw website met behulp van Google Pagespeed, mik op een score van minimaal 70. Volg waar nodig de adviezen op.

Wat je nodig hebt

Op te leveren producten

  • Een volledig geoptimaliseerde werkende portfolio in een lokale testomgeving.






MA | Project documentatie 2017 v0.1

Gebaseerd op het KD Applicatie- en mediaontwikkeling geldig vanaf Cohort 2017

Inleiding

In dit document vind je informatie over de fases en voor het maken van documentatie bij het uitvoeren van projecten als Mediadeveloper.

Algemeen

De volgende opmerkingen gelden voor elk document dat je schrijft binnen de uitvoering van een project. Controleer dus elke document voor dat je inlevert of laat controleren op deze punten:

Begin elk document met een duidelijke inleiding. In de inleiding vertel je waar het document over gaat zodat de lezer weet wat hij gaat lezen. Probeer daarbij zo specifiek mogelijk te zijn; geef geen uitleg wat een Behoefteanalyse, FO of TO is maar leg kort uit wat je gaat vertellen, hoe het document is op gebouwd of iets dat de lezer moet weten voordat hij het document gaat lezen.

Zorg dat de opmaak van de documenten consequent is. Gebruik niet onnodig veel verschillende soorten opmaak van de tekst zonder dat je daar een reden voor hebt, dit leidt alleen maar af van de inhoud. Vermijdt onnodig gebruik van ingewikkelde formuleringen als het document is bedoeld voor de opdrachtgever. Gebruik zoveel mogelijk de functies van je teksteditor om het document netjes op te maken, bijvoorbeeld kop- en voetteksten, automatische inhoudsopgave, opmaakprofielen etc. De verschillende documenten binnen een project moeten een gelijke opmaak hebben zodat je duidelijk kunt zien dat ze bij elkaar horen.

Zorg dat belangrijke informatie duidelijk in of op het document vermeld staat. Als je een document op de grond vindt moet je kunnen zien van wie het is, waarvoor en wanneer het is geschreven en welke pagina.

Geef alle documenten een duidelijk versienummer zodat je weet wat je laatste versie is, en wat een eerdere versie is.. Elke keer als je een document (voorlopig) oplevert geef het een nieuw nummer. Aan het nummer moet ook te zien zijn dat het een definitieve versie is. Begin je nummering bijvoorbeeld met 0.1, 0.2, 0.3 … De definitieve versie krijgt dan het nummer 1.0. Als het definitieve document in de loop van het project toch nog moet aanpassen, door bijvoorbeeld nieuwe informatie of inzichten, ga je verder met 1.1, 1.2 etc. Zo is duidelijk te zien dat de laatste documenten een aanpassing is op de definitieve versie.

Planning en logboek

Om het proces van het maken van een project of opdracht goed te laten verlopen is het handig om een planning te maken. Hierdoor kan je zien wanneer welk onderdeel af moet zijn, of er verschillende fasen zijn die je moet plannen en hoeveel tijd het project of de opdracht in beslag gaat nemen.

Om tijdens een project of een opdracht, de werkzaamheden die je doet goed te volgen, zul je een logboek bij moeten houden. Het logboek verschaft de projectbegeleider inzicht in het verloop van je project (uitvoering), in de planning en in het realiseren van je product. Je werkzaamheden leg je vast om je voortgang te bewaken.

Lever bij elk product dat je oplevert je planning en je logboek als bijlage in. De planning en het logboek zijn documenten die de projectbegeleider van jou wil zien. Dit zijn dus geen documenten die de opdrachtgever wil zien.

Naam: Groep: Project:
Datum Tijd Activiteit

Kerntaak 1: Levert een bijdrage aan het ontwikkeltraject

De volgordelijke plaats van de documenten binnen het proces:

Behoefteanalyse --------> Functioneel ontwerp --------> Technisch ontwerp ------------->
Plan van aanpak --------------------------------------------------------------------------->

Bovenstaande betekent dat werkproces K1-W2 parallel loopt aan de andere werkprocessen en van invloed is op alle te schrijven documenten binnen kerntaak 1.

Werkproces K1-W1 Stelt de opdracht vast

Doel: Verwachtingen afstemmen
Input: Projectbeschrijving/Briefing/RFP
Output: Behoefteanalyse/Offerte
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever

Behoefteanalyse/Offerte:

  • Bij een waterval proces, alle eisen en wensen van de opdrachtgever beschrijven en indelen op prioriteit volgens MoSCoW methode
  • Bij een Agile proces, omzetten van alle eisen en wensen van de opdrachtgever naar userstories
  • Haalbaarheid van cruciale eisen en wensen
  • Voor- en nadelen beschrijven van cruciale eisen en wensen en adviseren
  • Uren- en kostenopgave
  • Grove planning op basis van ontwerp, realisatie, implementatie en onderhoud/beheer fase

Werkproces K1-W2 Levert een bijdrage aan het projectplan

Doel: Vastleggen wat je gaat doen
Input: Behoefteanalyse, !! Feedback van de opdrachtgever
Output: Plan van aanpak
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

Plan Van Aanpak(PvA)

De inhoud van een volledige PvA moet minimaal bestaan uit het volgende:

  • Inleiding : Voor welk bedrijf?, Wat doet het bedrijf?, Hoe is de opdracht tot stand gekomen?
  • Doelstelling : Wat is het doel van dit project?
  • Omschrijving van het project : Wat zijn de ‘high-level’ functionaliteiten?
  • Leden van de projectgroep : Wie zijn betrokken?, Hoe ga je communiceren, onderling, maar ook met opdrachtgever; welke tools ga je daar evt voor gebruiken.(Elke week Skypen, per mail, etc.)
  • Benodigdheden : Welke middelen heb je nodig voor succes?
  • Takenlijst Ontwerpen, Realiseren, Implementeren en Onderhouden en beheren

Planning

De planning bestaat uit twee onderdelen: de algemene projectplanning en de planning voor de huidige taak.

Algemene project Planning
Taak Begindatum Einddatum Duur
Ontwerpen 23-02-2017 30-03-2017 240
Realiseren
Implementeren
Onderhouden en beheren
Planning ontwerpen
Subtaak Begin datum/tijd Eind datum/tijd Duur Wie Opleveren*
Plan van aanpak schrijven 23-03-2017 12:45 23-03-2017 14:45 120 Naam Medewerker
Naam Projectleider
S

*S=schriftelijk    T=toelichting    D=digitaal

Werkproces K1-W3 Levert een bijdrage aan het ontwerp

Functioneel ontwerp:

Doel: Vastleggen hoe je het gaat doen vanuit de gebruikers
Input: Behoefteanalyse en PvA
Output: Functioneel ontwerp
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en team

  • Doelgroep/Eindgebruikers > Wie zijn ze?, wat verwachten ze, hoe benaderen we ze
  • Eisen omzetten naar functionaliteiten/userstories
  • Per functionaliteit/userstory een wireframe of klikbare prototype
  • Sitemap/Menustructuur
  • Stroomdiagram van een belangrijke functionaliteit/userstory
  • Opzet van een acceptatietestplan uit te voeren in KT2
  • Eenvoudige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Technisch ontwerp:

Doel: Vastleggen hoe en waarom je het gaat doen vanuit de techniek
Input: Behoefteanalyse, Functioneel ontwerp
Output: Technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

  • Per complexe functionaliteit/userstory een wireframe met gedetailleerde uitwerking
  • Toelichten van de gekozen oplossing(en)
  • Database ontwerp/model / Entity Relation Diagram / Type velden
  • Sequence diagram van een complexe functionaliteit/userstory
  • Volledige beschrijving van afhankelijkheden van andere systemen/bronnen/diensten/API’s/sites

Werkproces K1-W4 Bereidt de realisatie voor

Doel: Inzicht verkrijgen van OTAP omgevingen
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Resultaat opnemen in het technisch ontwerp
Beoordeling: Projectbegeleider
Voor wie: Teamleden en nieuwe medewerkers

Beschrijving inrichting van ontwikkelomgeving:

  • Welke ontwikkelomgeving er gebruikt gaat worden
  • Welke taal ga je gebruiken
  • Welke hulpmiddelen heb je nodig
  • Hoe pak je de inrichting aan en is het gelijk aan de productieomgeving

Kerntaak 2: Realiseren van de applicatie, (cross)media-uiting

Werkproces 2.1 Legt een gegevensverzameling aan

Doel: Aantonen van kennis van het bewerken en analyseren van data
Input: Functioneel Ontwerp en Technisch Ontwerp
Output: Digitaal formaat met data
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Database aanmaken
  • Back up/dump van database
  • Database moet op zijn minst gevuld zijn met voorbeeld data

Werkproces K2-W1 Realiseert (onderdelen van) een product

Doel: Aantonen dat je in staat bent om te programmeren volgens documentatie en planning
Input: FO, TO en planning
Output: Digitaal formaat met data, screenshots van het systeem en een realisatieverslag
Beoordeling: Projectbegeleider
Voor wie: Teamleden

Fysiek bewijs in digitaal formaat:

  • Gehele back up van project
  • Moet gevuld zijn met voorbeelddata
  • Opgenomen in versiebeheer
  • Screenshots van het systeem (applicatie en database)
  • Conventie en documentatie

Realisatieverslag:

  • Persoonlijke logboek in verhaalvorm
  • Wat ging goed of fout -> noem voorbeelden

Werkproces K2-W2 Test het ontwikkelde product

Input: Testplan uit het Functioneel Ontwerp en TO
Output: Acceptatietestrapport
Beoordeling: Projectbegeleider
Voor wie: De opdrachtgever

Acceptatietestrapport:

  • Beschrijving van wat je gaat testen zoals beschreven in FO
  • Overzicht van testers en hun inzet
  • Uitvoeren van de test
  • Screenshots van het testen (eventuele foutmeldingen)
  • Verzamelen testresultaten en verbeteringen beschrijven
  • Uitvoeren van de verbeteringen

Werkproces 2.6 Optimaliseert de game of (cross)media-uiting

Input: Acceptatietestrapport
Output: Optimalisatieplan
Beoordeling: Projectbegeleider vervolgens opdrachtgever
Voor wie: Opdrachtgever en teamleden

Optimalisatieplan:

  • Gebruiksvriendelijkheid rapport
  • Toegankelijkheid rapport
  • Overzicht zoekmachine instellingen

Werkproces 2.7 Bewaakt de voortgang en evalueert het project

Input: Plan van aanpak en teamvergaderingen
Output: Actuele gedetailleerde activiteitenplanning en Evaluatie
Beoordeling: Projectbegeleider
Voor wie: Opdrachtgever en teamleden

Actuele gedetailleerde activiteitenplanning:

  • Teamleden
  • Tijdindeling
  • Meetpunten

Evaluatie

  • Verzamelen teamfeedback betreft jouw eigen inzet en verbeterpunten beschrijven

Kerntaak 3: Implementeren van de applicatie of (cross)media-uiting

Werkproces K3-W1 Optimaliseert het product

Input: De gerealiseerde applicatie
Output: Implementatieplan en presentatie
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatieplan:

Beschrijf het volgende:

  • Ingrijpende veranderingen in de organisatie
  • Hoe en wie de gegevens gaan converteren, importeren of invoeren
  • Procedures en verantwoordelijkheden
  • Uitrol(deploy) aanpak(big bang, gefaseerd, parallel, gecombineerd?)
  • Stappen in de vorm van een draaiboek op basis van tijd
    • Alle te installeren hard- en software
    • Infrastructuur, Servers(Web, DB, Mail etc.) en modules
    • Systeemtest
  • Beheerders training bij ingrijpende veranderingen
  • Te verwachten toekomstige applicatie-, gegevens- en technisch beheer

Presentatie hand-out

  • Presentatie van het implementatieplan aan projectbegeleider, opdrachtgever en betrokken medewerkers

Werkproces K3-W2 Levert het product op

Input: Implementatieplan
Output: Implementatierapport
Beoordeling: Projectbegeleider
Voor wie: Systeem- en/of Applicatiebeheerder van de productieomgeving

Implementatierapport:

  • Uitvoeren en documenteren van installatie volgens implementatieplan in samenwerking met beheerder

Werkproces K3-W3 Evalueert het opgeleverde product

Input: Implementatieplan en uitkomst van implementatie
Output: Rapport met conclusies en verbeterpunten en procesverslag
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Procesverslag van het gehele implementatietraject:

  • Hoe verliep de voorbereiding
  • Hoe verliep de uitvoering, denk aan: conversie, invoering, tijdpadbewaking, training, procedures hanteren, overdracht naar beheer

Rapport met conclusies en verbeterpunten

Kerntaak 4: Onderhouden en beheren van de applicatie, (cross)media-uiting

Werkproces P1-K1-W1 Onderhoudt een applicatie

Input: Functioneel ontwerp
Output: Onderhoud- en beheerplan, Rapport over de uitvoering van het onderhoud
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Systeem- en/of Applicatiebeheerders en toekomstige ontwikkelaars

Onderhoud- en beheerplan:

  • Beschrijven, uitvoeren(en documenteren) van procedures voor:
    • preventief onderhoud zoals updates, monitoring en unit-tests
    • virus bescherming
    • back-up en restore
    • incidenten-registratie
    • (nieuwe) eisen en wensen registratie
  • Rapporteren van alle ondernomen stappen en vervolgacties aan opdrachtgever/projectbegeleider

Werkproces 4.2 Verzamelt, controleert, bewerkt en archiveert (cross)mediabestanden

Input: Alle projectdocumenten
Output: Resultaat opnemen in het onderhoud- en beheerplan en het archief
Beoordeling: Projectbegeleider
Voor wie: Toekomstige beheerders en ontwikkelaars

Archivering (procedures voor het archiveren van (gegevens van) applicaties):

  • Toelichting gewenste format, type, kwaliteit en compressiefactor van de mediabestanden
  • Analyse aangeleverde format, type, kwaliteit en compressiefactor van de mediabestanden
  • Conversie mediabestanden

Archief:

  • Digitaal formaat

Werkproces 4.3 Bewaakt de samenhang van media-uitingen

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Media-uitingen:

  • Audio en visuele stijl samenhang controle(sluit de stijl aan bij andere media-uitingen van de opdrachtgever)
  • Advies over andere (sociale)media mogelijkheden

Werkproces 4.4 Stelt script samen ten behoeve van het samenvoegen van content

Input: De gerealiseerde applicatie
Output: Resultaat opnemen in het onderhoud- en beheerplan
Beoordeling: Projectbegeleider en opdrachtgever
Voor wie: Toekomstige beheerders en ontwikkelaars

Opmaak:

  • Weergave en uitleg van gebruikte opmaak/gridsysteem/theme/template

Werkproces P1-K1-W2 Beheert gegevens

Input: Onderhoud- en beheerplan
Output: Resultaat opnemen in het onderhoud- en beheerplan en fysiek bewijs in digitaal formaat met screenshots van het systeem
Beoordeling: Projectbegeleider
Voor wie: Toekomstige gebruikers, beheerders en ontwikkelaars

Contentbeheer:

  • Korte beschrijving van de route die content aflegt vanaf creatie tot publicatie
  • Beschrijving van verdeling van rollen, rechten en verantwoordelijkheden
  • Beschrijving van procedures/regels voor aanleveren van bruikbare content
  • Gebruikershandleiding en instructies van de wijze waarop content in de applicatie(s) wordt bewerkt en ingebracht
  • Bewerking van analoge naar digitale content (scannen, converteren, etc.)

Beoordeling communicatie

Tijdens het beoordelen van de communicatie wordt er op de volgende punten gelet:

  • Zijn er vooraf afspraken over onderlinge normen en waarden gemaakt?
  • Hoe is er met problemen om gegeaan?
  • Welke communicatiemiddelen zijn er gebruikt?
  • Hoe is de samenwerking verlopen?
  • Voelen de teamleden zich serieus genomen?
  • Is een ieders mening en idee welkom?
  • Is er voldoende motivatie- of vaardigheid?
  • Worden hoofd- en bijzaken herkend?
  • Is er gebruikt gemaakt van LSD:)(Luisteren, Samenvatten en Doorvragen)

Beoordeling documentatie

Tijdens het beoordelen van de documentatie wordt er op de volgende punten gelet.

Onderdeel: Uitleg:

Titelblad:

een duidelijk voorblad met daarop vermeld:

  • de titel van het document
  • plaats, de maand en het jaartal van publicatie (inlever datum)
Inhoudsopgave:

de inhoudsopgave vermeldt de titels van de hoofdstukken, paragrafen met de daarmee corresponderende nummering en de pagina’s. Deze moet automatisch worden gegenereerd met Word.

De inhoudsopgave moet een duidelijk overzicht geven van het document.

Voorwoord:

hierin behandel je zaken die niet rechtstreeks in verband staan met het onderwerp zoals:

  • bedankjes aan medewerkers en instellingen
  • de aanleiding tot het document
  • als er een vorige document bestaat: het verband met het vorige

Inleiding:

een definitie en afbakening van het onderwerp:

  • de probleemstelling (tip: gebruik hierbij de project naam)
  • een uitleg over de opbouw van het document
  • toelichting op de methode van onderzoek

Opmerking: het voorwoord en de inleiding mogen op 1 pagina worden gezet.

Kern:

de antwoorden op alle vraagstukken en opdrachten:

  • Geef niet te veel maar zeker niet te weinig antwoord op vragen en opdrachten.
  • Verwerk de vraag of opdracht in uw antwoord, vermeld anders de vraag of opdracht voorafgaand aan uw antwoord.
  • Geef duidelijk aan om welke vragen opdrachten en/of hoofdstukken het gaat.

In de inleiding heeft je voor een probleemstelling gekozen waardoor het document zich kan beperken tot een thema. De probleemstelling is de centrale vraag die beantwoord moet worden. De belangrijkste aspecten die je bij het schrijven in de gaten moet houden zijn:

  • de overzichtelijkheid: die moet blijken uit de indeling in hoofdstukken en paragrafen (Zie ook de inhoudsopgave)
  • de objectiviteit: beperk je bij de weergave van de feiten tot die feiten. Loop niet op conclusies vooruit.

Slot:

Dit is het laatste hoofdstuk waarin:

  • een terugblik op de kern wordt gegeven (samenvatting)
  • conclusies uit de voorafgaande hoofdstukken worden getrokken
  • een mening van de schrijver wordt geformuleerd. (o.a. Wat vond je ervan en wat heb je ervan geleerd)

Bronvermelding:

  • geef precies aan waar je de informatie gevonden hebt (boeken, tijdschriften, kranten, Internet). Bij internet vermeldt je de site naam.
  • Opmerking: het slot en de bronvermelding mogen op 1 pagina worden gezet.

De verzorging:

  • Zorg dat je alle koppen en subkoppen een opmaakprofiel geeft. Dit heb je nodig om later uw inhoudsopgave te genereren.
  • De hoofdstukken en paragrafen dienen exact dezelfde benaming te hebben als in de inhoudsopgave. (Gebruik hiervoor de optie Inhoudsopgave in Word)
  • Gebruik een voettekst met daarin, (links)namen, (midden)documentnaam, (rechts)blz. nummering.
  • nummer de pagina’s behalve titelblad.
  • De (hoofd)letters die jij voor de hoofdstuktitels enz. gebruikt moeten consequent van dezelfde soort zijn.
  • Het standaard lettertype dat je gebruikt is Arial 11pt.
  • De hoofdstukken dienen boven aan een volgende pagina te beginnen.

Verwijzingen en/of voetnoten dienen steeds op dezelfde wijze te zijn aangegeven.

Algemeen

Wanneer je informatie van Internet haalt let dan op het volgende:

  • letterlijk kopiëren van Internet is niet goed. Filter alle onnodige informatie er tussenuit en geef duidelijk antwoord op de vragen, niet meer en niet minder.

Bewaar zelf altijd een digitale kopie van de instructie. Op deze manier heb je altijd een back-up van jouw document en kun je dit document later gebruiken als referentie materiaal.

Standaarden coderen

Er zijn een aantal redenen waarom de layout van de code van groot belang is. Met name zorgt een goede layout voor een verhoging van de kwaliteit van de code. In de code sluipt heel gemakkelijk een foutje. Bij een goede layout is het vaak al moeilijk een fout te vinden en te herstellen, laat staan bij code die onoverzichtelijk is opgesteld. De code moet later bij onderhoud van het programma met zo min mogelijk moeite gelezen kunnen worden. Onoverzichtelijk geschreven code maakt dit juist moeilijk zo niet onmogelijk. De code moet door anderen gelezen kunnen worden. Als je samenwerkt met anderen, is het handig als die anderen ook de code kunnen lezen die jij geschreven hebt.

Codeblokken

Codeblokken zijn regels code die tussen accoladen staan. Binnen een codeblok kunnen weer andere codeblokken voorkomen. Zo staat in het voorbeeld hieronder de codeblok van een lus binnen de codeblok van een methode staan. Een codeblok wordt voorafgegaan door een openingsaccolade { en wordt afgesloten met een sluitaccolade }. Na een openingsaccolade springt je op de volgende regel één tab in. Na de sluitaccolade springt je op de volgende regel terug.. De openingsaccolade staat als laatste teken op een regel na een spatie meteen na bijvoorbeeld het sluithaakje na van een methode. De sluitaccolade staat als enig teken op de regel en in de kolom van de eerste letter die staat op de regel van de openingsaccolade.

Voorbeeld:

tekenTekst($ tekst) {
int teller;   
           coderegel;  
           coderegel;  
           for( teller = 0; teller < 10; teller ++)  {  
                       coderegel ;  
                       coderegel ;  
           }  
           coderegel ;  
           coderegel ;  
}  

Operatoren

Vergelijkingsoperatoren (==, !=, <, <=, > en >=) worden altijd omgeven door spaties.

Voorbeelden:

for( teller = 0; teller < 10; teller ++)

Ook numerieke operatoren ( *, /, +, -, %, *=, /=, +=, -=, %=, ++, en --) worden omgeven door spaties, één ervoor en één erachter.

Voorbeeld:

som = a + b;

In dit voorbeeld komt ook de toekenningsoperator ( =) voor die ook door spaties omgeven wordt.

Commentaar

Toelichting op je code is heel belangrijk. Zo kan de ander met wie je samenwerkt, de code begrijpen en kun je zelf de code een jaar later ook nog begrijpen.

Om op één regel commentaar te leveren gebruik je // en om op meerdere regels achter elkaar commentaar te zetten, gebruik je /* … */. Zet in ieder geval boven elk blok PHP-code commentaar, boven elke klasse en elke methode in de klasse:

In commentaar dat over de gehele klasse gaat, staat de naam van de klasse, een algemene beschrijving van de klasse, de naam van de auteur en het versienummer met de datum van de laatste wijziging.

Boven elke methode staat de naam van de methode, een algemene beschrijving van de methode, de parameters en wat de teruggave is. Als er geen parameters zijn, dan staat er achter Parameters: geen. Hetzelfde geldt voor return. Ook wordt er eventueel naar andere methodes binnen (zoals in het voorbeeld) of buiten de klasse verwezen.

Door deze manier van commentaar schrijven (zie de dubbele asteriksen aan het begin en het einde van het commentaar) kan er op eenvoudige manier een PHPdoc gemaakt worden.

Voor een voorbeeld van een PHPdoc, zie:

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock

Zie verder voor de conventies van coderen:

http://framework.zend.com/manual/1.12/en/coding-standard.coding-style.html

De volgordelijke plaats van de documenten binnen het proces:

Behoefteanalyse

ToDo

Plan Van Aanpak(PvA)

De inhoud van een volledige PvA moet minimaal bestaan uit het volgende:

Inleiding

  • Voor welk bedrijf?
  • Wat doet het bedrijf?
  • Hoe is de opdracht tot stand gekomen?

Doelstelling

  • Wat is het doel van dit project?

Omschrijving van het project

  • Wat zijn de 'high-level' functionaliteiten?

Leden van de projectgroep

  • Wie zijn betrokken?
  • Hoe ga je communiceren, onderling, maar ook met opdrachtgever; welke tools ga je daar evt voor gebruiken.(Elke week Skypen, per mail, etc.)

Benodigdheden

  • Welke middelen heb je nodig voor succes?

Takenlijst

De taken zijn de volgende:

  1. Ontwerpen
  2. Realiseren
  3. Implementeren
  4. Onderhouden en beheren

Planning

De planning bestaat uit twee onderdelen: de algemene projectplanning en de planning voor de huidige taak.

Overall Fase Planning
Taak Begindatum Einddatum Duur
Ontwerpen 23-02-2017 30-03-2017 240
Realiseren
Implementeren
Onderhouden en beheren
Fase Planning ontwerpen
Subtaak Begin datum/tijd Eind datum/tijd Duur Wie Opleveren*
Plan van aanpak schrijven 23-03-2017 12:45 23-03-2017 14:45 120 Naam Medewerker
Naam Projectleider
S

*S=schriftelijk    T=toelichting    D=digitaal

Functioneel Ontwerp(FO)

ToDo

Technisch ontwerp(TO)

ToDo

Ontwikkelomgeving

ToDo

Acceptatietest

Een volledige Acceptatietest moet minimaal het volgende bevatten:

Installatie documentatie

ToDo

Evaluatie implementatie

ToDo

Implementatieplan

ToDo

Snapshot documentatie

ToDo

Procedureboek

ToDo

Kwaliteitshandboek

ToDo

Bestandsformaten documentatie

ToDo

Archivering

ToDo

Olderposts

Copyright © 2024 Prep Hard Win Easy

Theme by Jim DunkUp ↑