Door
Jurrian Nijland
op 01-06-2011 22:58
gewijzigd op 01-06-2011 22:59
1.237 views
Omdat mijn gemiddelde op school iets omhoog moet en ik redelijk goed bezig ben met HTML & PHP vond mijn docent Handvaardigheid (oke, waarom hij komt later) dat ik voor een extra cijfer wel een mooie website in elkaar mocht draaien.
Nu vind ik het design op zich niet zo'n groot probleem, en het idee voor wat ik dan wil maken is er ook al en natuurlijk ook goedgekeurd door de docent. Laat ik het idee even uitleggen.
Ons huidige systeem op school is Magister. Niets mis mee en super veilig. De enige optie die magister vooral mist, is een optie om cijfers toe te lichten en speciaal per project aan te passen. Wat dus het idee is;
Een speciale site waar o.a resultaten besproken kunnen worden, en nieuwe projecten toegevoegd en bekeken kunnen worden, het liefst per klas.
Wat kan de leraar;
- Nieuwe projecten toevoegen, daar een plaatje aan toevoegen en een beschrijving
- Nieuwe klassen toevoegen, en daarin dan leerlingen toevoegen
- Per klas met een dropdown een leerling kiezen, en die dan een cijfer geven, dit cijfer kan dan per project ingevuld worden. Ook kan hierbij een toelichting gegeven worden op het cijfer
- Nieuws toevoegen, en plaatjes van projecten
- Leerlingen verwijderen, klassen ook
Wat kan de leerling;
- Projecten van zijn/haar klas bekijken, daarbij ook de introductie
- Zijn/haar cijfers bekijken in een overizchtje per project
- Contact opnemen met leraar via een formuliertje
Ik zou, met heel lang snippets combineren&manipuleren en al mijn eigen kennis toevoegen, natuurlijk een schitterend systeem hier uit kunnen krijgen. Maar mijn vraag is, zijn er hier mensen die mij even op weg kunnen helpen. Even kunnen zeggen hoe ik dit het beste kan aanpakken, ook qua dataplan voor de MYSQL database. En zou het dan haalbaar zijn, om dit voor volgende week maandag(-avond) af te hebben? Ik kan de rest van deze week bijna de hele dag er aan doorwerken.
Het hoeft natuurlijk niet 100% veilig te zijn. Het systeem voor raportcijfers is natuurlijk gewoon Magister. Hoewel, ik wil natuurlijk wel m'n uiterste best doen om het toch een beetje veilig en anti-spam te maken. Ook dat kan ik natuurlijk redelijk zelf.
Snappen jullie het een beetje? Voorbeeldjes zijn altijd welkom. Vooral PHP stukjes natuurlijk, of een dataplan ;)
En als wij het gaan voorkauwen is het geen download en copy? Wat verwacht je nou van ons? Dat wij de motor gaan starten zodat jij alleen het gaspedaal hoeft in te drukken? Laat eens zien wat jij zelf kan verzinnen met je opgedane kennis, waarna wij er op kunnen "schieten".
En als wij het gaan voorkauwen is het geen download en copy? Wat verwacht je nou van ons? Dat wij de motor gaan starten zodat jij alleen het gaspedaal hoeft in te drukken? Laat eens zien wat jij zelf kan verzinnen met je opgedane kennis, waarna wij er op kunnen "schieten".
Ik verwacht van jullie, een aanzet tot hoe ik dit het beste kan doen, niet dat jullie alles gaan uitleggen.
Ofterwijl een simpel dataplan en of ik dit met sessie's of iets dergelijks moet doen.
Laat zelf eens een dataplan zien dan. En waar heb je zelf al aan gedacht en waarom? Iets meer zelfinitiatief is wel gewenst als je geholpen wilt worden. Want dit gaat meer richting een opdracht dan een vraag.
Hoe wil je dat de leerlingen gaan inloggen. Ga je ze allemaal een gebruikersnaam & wachtwoord geven? Waarmee laat je ze inloggen? email-adres + wachtwoord misschien? Dat email-adres kan je dan meteen weer gebruiken voor het contact opnemen met de docent. Is er altijd maar één docent?
Moet de leraar alle gegevens met de hand invoeren? Hoe kan hij dit voor nieuwe klassen zo snel en makkelijk mogelijk doen? Kan hij ook foutjes verbeteren? Wat willen de leerlingen kunnen zien, waarom willen ze dat zien, met welke vraag/idee komen ze naar de website en hoe kan je die het beste 'beantwoorden'? Denk vanuit de gebruikers, maak alleen dat wat de gebruikers nodig hebben en niet meer dan dat. Hoe simpeler het is, hoe simpeler het te gebruiken is. ofzo. (als het eenmaal gebruikt wordt krijg je vast wel suggesties voor verbeteringen en ontbrekende dingen) En zo heb je je interface.
Wat wil je precies opslaan en terug kunnen vinden in het systeem? Maak er een lijstje van, of beter, een mindmap. Iets als een cijfer hoort bij een project en een leerling en heeft een waarde, (weging?), en opmerking. Een leerling heeft een leerlingnummer en een naam. Een project heeft een naam en een foto. Dan ga je vanzelf al een beetje normaliseren, en als je dat dan daadwerkelijk genormaliseerd hebt, heb je je database.
Nu nog je interface en database koppelen, en klaar ben je. Post je tussenstapjes op PHPhulp zodat anderen er opmerkingen op kunnen maken, dat voorkomt dat je een doodlopende weg inslaat of te ingewikkeld bezig gaat. Maak alleen dat wat echt nodig is, zeker gezien je deadline, want een project uitbreiden met handige features waar mensen wat aan hebben is makkelijker dan mensen gaan uitleggen hoe je te ingewikkelde site werkt. En te ingewikkeld wordt hij al snel, zeker omdat jij het niet kan beoordelen, jij bent immers de bedenker ervan, jij kijkt op een hele andere manier naar de applicatie. Probeer het uit op leerlingen of op je ouders, geef ze geen hints, laat ze er mee klooien. Zorg ervoor dat mensen ermee kunnen klooien en niet van alles stuk kunnen maken, of bang zijn van alles stuk te maken. In mijn ervaring durven gebruikers niet zelf te ontdekken hoe het werkt omdat ze bang zijn dingen stuk te maken.
Laat zelf eens een dataplan zien dan. En waar heb je zelf al aan gedacht en waarom? Iets meer zelfinitiatief is wel gewenst als je geholpen wilt worden. Want dit gaat meer richting een opdracht dan een vraag.
Ik citeer: "Maar mijn vraag is, zijn er hier mensen die mij even op weg kunnen helpen. Even kunnen zeggen hoe ik dit het beste kan aanpakken, ook qua dataplan"
Op weg kunnen helpen. Niet alles voorkauwen dus. Even zeggen hoe ik dit het beste kan doen. Begrijp je dat, of moet ik het nog 10 keer uitleggen?
Jelmer rrrr op 02/06/2011 00:55:28
Hoe wil je dat de leerlingen gaan inloggen. Ga je ze allemaal een gebruikersnaam & wachtwoord geven? Waarmee laat je ze inloggen? email-adres + wachtwoord misschien? Dat email-adres kan je dan meteen weer gebruiken voor het contact opnemen met de docent. Is er altijd maar één docent?
Moet de leraar alle gegevens met de hand invoeren? Hoe kan hij dit voor nieuwe klassen zo snel en makkelijk mogelijk doen? Kan hij ook foutjes verbeteren? Wat willen de leerlingen kunnen zien, waarom willen ze dat zien, met welke vraag/idee komen ze naar de website en hoe kan je die het beste 'beantwoorden'? Denk vanuit de gebruikers, maak alleen dat wat de gebruikers nodig hebben en niet meer dan dat. Hoe simpeler het is, hoe simpeler het te gebruiken is. ofzo. (als het eenmaal gebruikt wordt krijg je vast wel suggesties voor verbeteringen en ontbrekende dingen) En zo heb je je interface.
Wat wil je precies opslaan en terug kunnen vinden in het systeem? Maak er een lijstje van, of beter, een mindmap. Iets als een cijfer hoort bij een project en een leerling en heeft een waarde, (weging?), en opmerking. Een leerling heeft een leerlingnummer en een naam. Een project heeft een naam en een foto. Dan ga je vanzelf al een beetje normaliseren, en als je dat dan daadwerkelijk genormaliseerd hebt, heb je je database.
Nu nog je interface en database koppelen, en klaar ben je. Post je tussenstapjes op PHPhulp zodat anderen er opmerkingen op kunnen maken, dat voorkomt dat je een doodlopende weg inslaat of te ingewikkeld bezig gaat. Maak alleen dat wat echt nodig is, zeker gezien je deadline, want een project uitbreiden met handige features waar mensen wat aan hebben is makkelijker dan mensen gaan uitleggen hoe je te ingewikkelde site werkt. En te ingewikkeld wordt hij al snel, zeker omdat jij het niet kan beoordelen, jij bent immers de bedenker ervan, jij kijkt op een hele andere manier naar de applicatie. Probeer het uit op leerlingen of op je ouders, geef ze geen hints, laat ze er mee klooien. Zorg ervoor dat mensen ermee kunnen klooien en niet van alles stuk kunnen maken, of bang zijn van alles stuk te maken. In mijn ervaring durven gebruikers niet zelf te ontdekken hoe het werkt omdat ze bang zijn dingen stuk te maken.
edit: ik moet eerder stoppen met typen.
Dit lijkt er meer op! Ik ga dit eens even goed doorlezen. Vervolgens in stappen beginnen en als ik ergens vastloop, dan post ik het direct in een topic :)
Zo komen we niet echt ergens heh. Je kunt eens gaan visualiseren hoe het traject er uit komt te zien. De zogenaamde omgevingsvariabelen (wat je op het scherm ziet en wacht er eventueel (half)verborgen achterlangs gaat (user_id's, datums, etc.). Gebruik bijv. MySQL Workbench (gratis te downloaden voor elke OS op www.mysql.com) en begin eens te knutselen.
Een website begint altijd met een goed uitgewerkte ERD (dat mag je Googlen ;) ) die correct genormaliseerd is tot ten minste de 3e normaalvorm.
Als je model af is kun je voor zowel de top-down als de bottom-up methode gebruiken om het systeem te scripten op basis van de HTML die je maakt of de HTML ontwerpen op basis van je PHP script die je op dat moment maakt.
Hoe meer je je aan standaarden en de "regeltjes" houd, hoe kleiner de kans op fouten.
Begin bijv. met de database tabbellen LERAREN en LEERLINGEN. Dat is de hoofdmoot. Doormiddel van de normalisering ga je kijken welke redudanties er zijn en wat relatieve entiteiten zijn.
Zo komen we niet echt ergens heh. Je kunt eens gaan visualiseren hoe het traject er uit komt te zien. De zogenaamde omgevingsvariabelen (wat je op het scherm ziet en wacht er eventueel (half)verborgen achterlangs gaat (user_id's, datums, etc.). Gebruik bijv. MySQL Workbench (gratis te downloaden voor elke OS op www.mysql.com) en begin eens te knutselen.
Een website begint altijd met een goed uitgewerkte ERD (dat mag je Googlen ;) ) die correct genormaliseerd is tot ten minste de 3e normaalvorm.
Als je model af is kun je voor zowel de top-down als de bottom-up methode gebruiken om het systeem te scripten op basis van de HTML die je maakt of de HTML ontwerpen op basis van je PHP script die je op dat moment maakt.
Hoe meer je je aan standaarden en de "regeltjes" houd, hoe kleiner de kans op fouten.
Begin bijv. met de database tabbellen LERAREN en LEERLINGEN. Dat is de hoofdmoot. Doormiddel van de normalisering ga je kijken welke redudanties er zijn en wat relatieve entiteiten zijn.
Bedankt! Dat is alweer een hele hoop waar ik weer veel mee kan! Nu ga ik eens beginnen met stoeien.. Ik hoop dat ik er uit kom en anders is het één druk op de knop om een nieuw topic te maken met m'n vraag! :)
Ook goed :)
Ik typ mijn idee nu eerst als compleet stappenplan uit. Dan ga ik het stap voor stap maken. En uiteindelijk komt er, vast met nog een extra vraag er tussen door, een mooi eindproduct.