Groep 8 Multidisciplinair Project
Volg ons project op de voet.
donderdag 23 december 2010
Einde van het project...
Wat zijn de positieve zaken die we vanuit dit project meenemen.
- Het belang van een planning en zich aan deze te houden.
- Leren omgaan met het feit dat niet altijd alles zal gaan zoals gepland werd.
- Leren omgaan met teamleden om samen een zo goed mogelijk eindresultaat te bereiken.
- Veel kennis opgedaan via zelfstudie, bv werken met database, libraries, GUI, ...
- Het project als ervaring opzich.
De zaken die we minder positief vonden en eventueel anders zouden doen bij een volgend project.
- Op tijd starten met onderzoek, kijken wat mogelijk is.
- Meer eenheidsgevoel en motivatie binnen de groep, om zo elkaar te stimuleren goed werk te leveren.
- Betere en duidelijkere afspraken aan het begin van het project.
Libraries & herbruikbaarheid
Libraries:
We hebben gebruik gemaakt van enkele libraries voor dit project.
Herbruikbare componenten:
woensdag 17 november 2010
vrijdag 12 november 2010
Architecturaal Ontwerp :
Controle Layer (façade klasse) -> Java 6
Business Logic -> Java 6
Database Layer -> Java 6 + J/connector naar mySQL
Database : mySQL 5.1.36
Klassendiagram voor GUI + extra
donderdag 28 oktober 2010
Use Case: Inloggen
Actor: Programmagebruiker
Doel: Inloggen
Succes Scenario:
- Gebruiker voegt zijn username in.
- Gebruikt voegt zijn wachtwoord in.
- Gebruiker krijgt een boodschap dat login succesvol was en wordt doorverwezen naar het volgende scherm, met opties om verder te gaan. Dit scherm zal aangepast worden naargelang welke soort gebruiker inlogged.
Alternatieve flows:
- Een foutieve username werd ingegeven, een error boodschap verschijnt op het scherm.
- Een foutief wachtwoord werd ingegeven, een error boodschap verschijnt op het scherm.
Use case zoekopdracht
Actor: Alle gebruikers
Doel: Nummer of Nummer zoeken
Succes scenario:
- 1. Gebruiker bepaald zoekcriteria
- 2. Gebruiker selecteerd gewenst nummers
- 3. Nummers worden doorgegeven aan bovenliggend proces
Alternative flows:
- 1. Geen resultaat voor criteria
- a. Gebruiker bepaald nieuwe zoekcriteria
- b. Gezocht nummer wordt door beheerder toegevoegd
Use Cases: Gebruikersbeheer
Use Case: Gebruiker toevoegen
Actor: Administrator
Doel: Nieuwe gebruikers toevoegen op het systeem kunnen inloggen
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Gebruikers.
2.De gebruiker kiest op het scherm voor de knop Nieuwe gebruiker.
3.De gebruiker vult de gegevens in van de nieuwe gebruiker
a) De gebruiker heeft de keuze tussen GAST, PROGRAMMAMAKER & BEHEERDER (ADMIN)
4.De gebruiker klikt op Opslaan.
5.De Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het menu Muziek toevoegen of bewerken.
Alternatieve flows:
1. Indien niet alle gegevens zijn ingevuld verschijnt er een mededeling en dient men alle velden in te vullen.
2. Indien er een overeenkomst is met een gebruikersnaam verschijnt er een mededeling dat de gebruiker al bestaat.
Use Case: Gebruiker bewerken
Actor: Administrator
Doel: Gegevens van bestaande gebruikers aanpassen
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Gebruikers.
2.De gebruiker kiest op het scherm voor de knop Gebruiker bewerken.
3.De gebruiker krijgt een lijst van alle bestaande gebruikers.
4. De gebruiker klikt op Bewerken naast de gebruiker in de lijst die men wilt bewerken.
5. De gebruiker krijgt de gegevens te zien van de bestaande gebruiker en kan de gewenste velden aanpassen.
4.De gebruiker klikt op Opslaan.
5.De Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het menu Gebruikers.
Alternatieve flows:
1. Indien niet alle gegevens zijn ingevuld verschijnt er een mededeling en dient men alle velden in te vullen.
2. Indien er een overeenkomst is met een gebruikersnaam verschijnt er een mededeling dat de gebruiker al bestaat.
Use Case: Gebruiker verwijderen
Actor: Administrator
Doel: Gegevens van bestaande gebruikers aanpassen
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Gebruikers.
2.De gebruiker kiest op het scherm voor de knop Gebruiker bewerken.
3.De gebruiker krijgt een lijst van alle bestaande gebruikers.
4. De gebruiker klikt op Verwijderen naast de gebruiker in de lijst die men wilt bewerken.
5.De Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het menu Gebruikers.
Alternatieve flows:
Use Cases: Songs beheren
Use Case: Nieuwe songs toevoegen:
Actor: Administrator
Doel: nieuwe muziekgegevens uploaden naar de database
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Muziek toevoegen of bewerken.
2. De gebruiker kiest voor de knop nieuwe gegevens.
2.De gebruiker vult de gegevens in van de nieuwe song.
3.De gebruiker drukt op de knop Opslaan
4.Gebruiker krijgt bericht of hij zeker is van zijn keuze.
5.Gebruiker keert terug naar het menu Muziek toevoegen of bewerken.
Alternatieve flows:
1. Indien niet alle gegevens zijn ingevuld verschijnt er een mededeling en dient men alle velden in te vullen.
2. Indien er een overeenkomst is met een bestaande titel en uitvoerder verschijnt er een mededeling dat de song al toegevoegd is geweest.
3. De gebruiker wenst het toevoegen van nieuwe gegevens te annuleren en klikt op de knop annuleren.
Use Case: Song bewerken
Actor: Administrator
Doel: bestaande muziekgegevens aanpassen in de database
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Muziek toevoegen of bewerken.
2.De gebruiker kiest op het scherm voor de knop bewerken.
3.De gebruiker krijgt een lijst van titels, uitvoerder, album en datum laatst gewijzigd, 20 per pagina.
a) De gebruiker kan bladeren door de verschillende pagina's indien er meer dan 20 titels in de database staan.
4.De gebruiker klikt op bewerken naast de lijn met gewenste nummer dat hij wil wijzigen.
5. De gebruiker verandert de gewenste gegevens.
3.De gebruiker drukt op de knop Opslaan.
5.De Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het menu Muziek toevoegen of bewerken.
Alternatieve flows:
1. Indien niet alle gegevens zijn ingevuld verschijnt er een mededeling en dient men alle velden in te vullen.
2. Indien er een overeenkomst is met een bestaande titel en uitvoerder verschijnt er een mededeling dat de song al toegevoegd is geweest.
3. De gebruiker wenst het toevoegen van nieuwe gegevens te annuleren en klikt op de knop annuleren.
Use Case: Song verwijderen
Actor: Administrator
Doel: bestaande muziekgegevens verwijderen in de database
Preconditions: Gebruiker is ingelogd als Admin
Succes Scenario:
1.De gebruiker kiest voor het menu: Muziek toevoegen of bewerken.
2.De gebruiker kiest op het scherm voor de knop bewerken.
3.De gebruiker krijgt een lijst van titels, uitvoerder, album en datum laatst gewijzigd, 20 per pagina.
a) De gebruiker kan bladeren door de verschillende pagina's indien er meer dan 20 titels in de database staan.
4.De gebruiker klikt op verwijderen naast de lijn met gewenste nummer dat hij wil wijzigen.
5.De Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het menu Muziek toevoegen of bewerken.
Alternatieve flows:
1. De gegevens kunnen niet verwijderd worden omdat er nog programmaplaylists zijn met het nummer. Verwijder eerst deze playlists.
Use case playlist aanpassen
Actor: Programmamaker
Doel: Inhoud playlist aanpassen
Succes scenario:
- 1.Programmamaker selecteerd programma aanpassen.
- 2.Programmamaker selecteerd het prgramma uit de lijst/schedule.
- 3.Programmamaker past inhoud aan.
- a.Verwijder nummmer
- b.Pas volgorde aan
- c.voeg nummer toe via zoekfunctie
- 4.Programmamaker slaagt programma op
Alternative flow:
- 1.Geen playlist beschikbaar, beheerder moet programma aanmaken
woensdag 27 oktober 2010
Specificatie van de muziek manager
De verwachte productie kostprijs zal XXX EURO bedragen. Een exacte berekening kan u terugvinden in de bijlagen.
Het programma zal gemaakt worden met oog op gebruiksvriendelijkheid en toegangelijkheid voor zowel de (muziek) programmamakers als de beheerder(s) en eventuele gast-gebruikers.
Als alles op schema zit verwachten wij de software af te leveren binnen 11 weken. Met name op 24-12-2010.
Functies:
Elke gebruiker zal beschikken over zijn eigen mogelijkheden binnen het programma:
- De gast zal enkel een lijst met liedje kunnen zien. Hij zal ook in staat zijn om er 1 liedje uit te halen en te versturen naar de programmamaker (als verzoek).
- De programmamaker heeft de mogelijkheid zelf een playlist samen te stellen door de nodige liedjes uit een lijst te selecteren. Ook zal hij de playlist kunnen aanpassen indien hij dit wenst. Er zal ook voor gezorgd worden dat de playlist die hij samenstelt de beschikbare uitzendtijd niet zal overschrijden.
- De beheerder kan users aanmaken alsook nieuwe type van users. Nieuws songs uploaden naar de server en de database updaten kan hij doen via een handig menu. Hij kan ook de volledige programmaregeling per week opstellen.
Alle informatie van de liedjes zal zichtbaar zijn in de playlist, dit kan gaan van duur van het liedje tot van welk album het komt. Ook zullen alle gekende standaard muziekformaten ondersteund worden.
Informatie uploaden naar de database zal ook weer via de gekende standaard formaten mogelijk zijn.
Verder zal het programma ook beschikken over een uiterst gebruiksvriendelijke werkomgeving. (GUI, Graphical User Interface)
Eisen:
De koper zal moeten beschikken over de nodige hardware en busteringssysteem om het programma op te laten werken.
Dit houdt in dat de koper beschikt over minstens 1 server en een netwerk van computer(s). De software zal werken op elk besturingssysteem. In geval van fouten en/of bugs zal er zo snel mogelijk gewerkt worden aan een oplossing. Dit kan zijn in de vorm van een software update of een patch.
De verwachte levensduur van dit programma is onbepaald, we leveren support alsook updates zolang het contract loopt en de software niet obsoleet is.
Er zullen ook trainingen nodig zijn om het personeel eigen te maken met de software, dit zit in het contract en zal dus ook in de uiteindelijk prijs verrekend zijn. Zo vermijden we de kans op onverwachte kosten.
Wensen:
Wij zullen zo goed mogelijk ons best doen om aan uw eisen te voldoen.
Het programma zal zeker uitbreidbaar zijn.
We leveren constante support alsook updates waar nodig.
Het programma zal erg gebruiksvriendelijk zijn, zodat de werknemers het programma vlug te baas zijn.
Uiteraard zal er bij het programma een volledige handleiding zitten, deze zal zowel op papier als digitaal beschikbaar zijn.
Er wordt rekening gehouden met een eventuele toename van gebruikers en de belasting die deze voor het systeem zou kunnen veroorzaken.
Via het login systeem zal het programma veilig zijn van misbruik, ook zal er een rapport worden gemaakt indien er iemand misbruik heeft gemaakt van het loginsysteem.
Het programma zal goed kunnen samenwerken met andere gangbare applicaties. Alsook wordt er voor gezorgd dat er een grote keuze aan standaard formaten zal ondersteund worden.
Use Case : Guest/Gast gebruiker
Actor: Programmagebruiker
Doel: muziek opzoeken via playlist/database + aanvragen
Succes Scenario:
1.Gebruiker kiest voor het menu: Aanvraag
2.Gebruiker vult in het tekstvak een zoekterm in.
3.Gebruiker krijgt alle beschikbare liedjes te zien.
4.Gebruiker kiest/klikt een liedje aan en drukt op de knop verzenden.
5.Gebruiker krijgt bericht of hij zeker is van zijn keuze.
6.Gebruiker keert terug naar het hoofdmenu.
Alternatieve flows:
1.Geen beschikbare muziek gevonden. Gebruiker kan een nieuwe zoekterm ingeven.
2.Indien de gebruiker niet zeker is van zijn keuze, kan hij opnieuw zoeken naar een lied.
maandag 25 oktober 2010
Risicoanalyse
Risicoanalyse groep 8
Om de risico’s te vermijden werken wij vooral met preventie en repressie.
De risico’s worden aangegeven via + en – waarbij +++ een zeer groot risico voorstelt en --- een zeer klein risico. Er wordt een maatregel gegeven waarmee wij de risico’s gaan vermijden eventueel gevolgd door een opmerking.
Voorbereiding en afbakening van het project
-Is het probleem voor alle groepsleden helder?
·risico: +
·maatregel: Communicatie en discussie
·opmerking: Op de vergaderingen is er plaats voor vragen en discussie .
Ook werd er een forum opgericht waar ieder van de groep terecht kan met problemen.
-Is er een duidelijke planning opgesteld?
·risico:+
·maatregel: Gedetailleerde planning opstellen.
·opmerking: zowel met interne als externe betrokkenen.
-Is het budget realistisch en van tevoren goed in te schatten?
·risico:++
·maatregel: Eventueel zoeken van sponsors en reserveren budget.
·opmerking: Een juiste schatting is van belang anders kan het project in gevaar komen
-Zijn er voorwaarden waaraan voldaan moet worden?
·risico:++
·maatregel: Duidelijke afbakening voorwaarden.
·opmerking: Deze mogen niet uit het oog verloren worden.
-Is er een deadline voorzien?
·risico:+++
·maatregel: Duidelijke planning
·opmerking: De planning is gedetailleerd er is zelfs nog een eventuele spatie voor vertragingen.
Resultaten van het project
-Is de projectdoelstelling bij iedereen bekend?
·risico:+
·maatregel: Communicatie en Discussie met de klant
·opmerking: Ook via het forum kan met nog verder onderling discussiëren.
-Is er plaats voor vernieuwing en uitbreiding?
·risico:++
·maatregel: Plaats laten voor uitbreiding en vernieuwing
·opmerking: Hieromtrent moet duidelijke communicatie met de klant plaatsvinden
-Kan het project in stappen of in delen uitgevoerd worden?
·risico:-
·maatregel: Opdelen project waarbij ieder vaste taak heeft
·opmerking: Er kan geholpen worden door andere teamleden.
Projectteam
-Hebben de medewerkers voldoende communicatievaardigheden?
·risico:-
·maatregel: Er is een wekelijkse vergadering en er werd een forum opgestart
·opmerking: Men kan elkaar nog op andere momenten aanspreken of zelfs mailen
-Is er een kwaliteitsplan of zijn er procedures om de kwaliteit van het project te bewaren?
·risico:++
·maatregel: Voldoenden testen uitvoeren zowel op basis van vereisten en als gebruik.
·opmerking: Ook hiervoor voldoende communicatie met de klant houden.
-Heeft het team ervaring met gelijkaardige projecten?
·risico:-
·maatregel: Ieder teamlid is als in aanraking gekomen met een project.
·opmerking: Bovendien zijn er genoeg externe personen om raad aan te vragen.
-Is er een geschikte projectleider met voldoende ervaring en tijd?
·risico:-
·maatregel: Er werd in samenspraak een projectleider gekozen.
·opmerking: Het team helpt de projectleider alles in goede banen te leiden.
Uitvoering
-Is er iemand aangewezen om tijd, geld eventuele andere middelen te bewaken?
·risico:+
·maatregel: Aanstellen van time- en moneymanager.
·opmerking: Alle groepsleden zorgen er mee voor.
-Zijn adviesorganen geraadpleegd?
·risico: +
·maatregel: Communicatie en discussie met klant en externen.
·opmerking: Ook is de klant op de hoogte van de planning.
-Wordt regelmatig verslag gedaan van de voortgang?
·risico:-
·maatregel: Er is een blog waar de vooruitgang wekelijks meegedeeld wordt, bovendien is er een pr aangesteld voor de communicatie met de klant.
·opmerking: /
-Worden –waar nodig- opleidingen gegeven om het project te ondersteunen?
·risico:+
·maatregel: Opleidingen geven.
·opmerking: De klant beschikt over een it-dienst maar indien nodig worden er mensen bijgeschoold en/of opgeleid.
Succesfactoren
-Enthousiaste en betrokken medewerkers
-Een ervaren projectleider
-Ervaren teamleden
-Realistische verwachtingen van het project en het projectteam
-Een goed kwaliteitbewakend systeem
-Een goede voorbereiding van project
De risicoanalyse is gebaseerd op de checklist van : http://www.schoolvoorbeeld.com/bedrijfskundigeinvalshoek/projectmanagement/risicoanalyse/index.html.
maandag 18 oktober 2010
Vragen aan de klant
1. Zoekt u naast een onderdeel muziekbeheer ook een deel dat instaat voor de planning van programma's?
De applicatie moet in ieder geval kunnen bijhouden wanneer een programma zou afgespeeld worden. De planning zelf gebeurt gewoon door mensen.
2. Moet muziek ook daadwerkelijk afgespeeld kunnen worden in het programma?
Het afspelen van de programma's in zijn geheel is niet de bedoeling. Wel moeten programmamakers en bezoekers gemakkelijk een fragment van een nummer kunnen beluisteren om te zien of ze het "juiste" nummer gevonden hebben.
3. In welke prijscategorie ligt uw budget?
:)
Doe een voorstel en we zien dan wel verder.
4. Heeft u een eigen IT-dienst met genoeg kennis om na een korte training zelf het programma te installeren en in te stellen?
Ik ben allicht niet in de juiste positie om de kennis van onze IT-dienst te beoordelen. We hebben inderdaad een IT-dienst.
5. Wat wensen jullie concreet te bereiken met deze software?
Uhm zie het tekstje dat ik heb bezorgd als opgave? Kort samengevat dat bezoekers muziek kunnen zoeken en aanvragen en dat programmamakers (oa op basis van lijst van aanvragen) een programma met nummers kunnen samenstellen.
6. Zijn er eventueel zaken die u hebt vergeten te melden in uw aanvraag, misschien wenst u nog enkele andere zaken zoals een login-systeem, eventueel een winkel, etc... Laat het ons zeker weten.
We zullen het laten weten.
7. Het toevoegen van songs, is dat iets dat on the fly moet kunnen gebeuren, of gaat u enkel sporadisch muziek toevoegen en dan in grote kwantiteiten?
Wekelijks komen er een 20-tal nummers bij.
8. Op wat soort besturingssysteem wilt u dit programma kunnen gebruiken?
De machines waarop deze applicatie zal draaien, gebruiken allemaal windows 7 of windows xp.
9. Wilt u live programma's kunnen opnemen zodat u deze later ter beschikking kunt stellen? En in welk formaat zou u dit graag hebben?
Niet nodig.
4. Hoe lang zou een gemiddeld programma ongeveer moeten zijn?
Pakweg 120 minuten.
5. Als een programma tijdens een uitzending stopgezet werd, welke opties hebt u dan in gedachten? Enkel de mogelijkheid om het programma verder af te spelen, of had u andere mogelijkheden in gedachten? Ik dacht dat voornamelijk aan het aanpassen van het programma of bijvoorbeeld een ander programma in laden.
De programmamaker kan het programma altijd nog aanpassen. De beheerder kan programma's wisselen. Dat zou normaal alle problemen moeten oplossen.
6. Het sorteren van de database, is er een voorkeur op wat er standaard gesorteerd moet worden? Artiest, songnaam of andere?
Geen voorkeur, ik neem aan de bezoekers en programmamakers zelf kunnen kiezen waarop of hoe er gesorteerd wordt.
7. Wordt er via internet, radiogolf of beide uitgezonden?
De applicatie zelf zendt niets uit en stelt enkel programma's samen. Moeten jullie je dus niets van aantrekken.
8. Via welke wegen kunnen er nummers worden aangevraagd?
Telefonisch, via mail of rechtstreeks in de applicatie. In elk geval wordt de aanvraag uiteindelijk ingegeven in de applicatie.
9. Moet een programma kunnen worden aangepast tijdens het spelen?
Ja.
10. Moet er ondersteuning zijn voor het invoegen van spraak? Is dit realtime?
Ja, maar niet realtime.
11. Aflevering via internet?: via welke weg? Website/applicatie/..?
Ik weet niet precies wat je hier bedoelt. De applicatie zal niet beschikbaar zijn via de website of internet en zal enkel hier in de studio zelf kunnen gebruikt worden.
12. Audiobewerking? Fades/…?
Niet nodig, dat is niet de verantwoordelijkheid van de applicatie.
13. Werken programmamakers en beheerders vanuit één plaats? Is de databank daar ook aanwezig?
Ze werken allen vanuit de studio. De databank bestaat nog niet, en zullen jullie moeten aanleggen.
14. Is er reeds een databank met muziek?
Zie vraag 13.
Hoogachtend
R. Mathys
zaterdag 9 oktober 2010
Phase I: Inception: Planning
Zoals gisteren beloofd volgt er vandaag de planning voor de eerste fase in het project.
Deze ziet er uit als volgt:
Week 2 naar week 3: 8/10 tot 15/10
-Opstellen van vragenlijst voor onze klant. (Deadline woensdag 13/10) De lijst met vragen wordt dan ook op die avond naar onze klant gemailed.
Week 3 naar week 4: 15/10 tot 22/10
-Aan de hand van de antwoorden v/d klant kunnen we starten met het opstellen van Use Cases.
(Deadline n.o.t.k.)
-Eens de Use cases zijn uitgewerkt kunnen we beginnen aan de kosten en risk assessment. (Deadline n.o.t.k / ten laatste op DO 21/10)
-VRIJ 22/10 Acceptatiecriteria / Overleg met klant ?
Week 4 naar week 5: 22/10 tot 29/10
-Volgende Fase. Planning en deadlines volgen.
vrijdag 8 oktober 2010
Een nieuw jaar, een nieuwe uitdaging.
Vandaag heeft het lot besloten om vijf jonge mensen, elk met hun eigen talenten, samen te brengen voor een grootse uitdaging, namelijk het uitbouwen van een computerprogramma voor de welbekende radiozender Nostalgie 98.2 FM.
Laat mij ze u even voorstellen.
Het team wordt geleid door de zeer bekwame en steeds nuchtere projectmanager Jonas Sergeant. Voor het vlotte contact met de klant, de persoon die er altijd voor zal zorgen dat de klant krijgt wat hij wil, onze PR-manager, Bert Kempeneers. Uiteraard kan je geen programma's maken zonder getalenteerde programmeurs ! Gelukkig heeft het team de steun van Java-guru Lokke Bruyndonckx achter zich. Een team kan echter niet kompleet zijn zonder een creatieve kluizenaar, Julien Verbruggen is niet altijd aanwezig op een meeting maar maakt dit uiteraard goed door zijn unieke ingaven. Als laatste is er nog mijzelf, Lucas Van Deun, ik hoop het team alvast steun te bieden op gebied van planning en organisatie.
Met deze korte voorstelling besluit ik ook onze eerste blogpost.
Morgen zullen we u kunnen verrassen met de planning van de eerste fase in het project.
De komende weken zal u het hele project op de voet kunnen volgen, mogelijk zal er zelfs erg exclusieve informatie gepost worden.
Vergeet uiteraard deze blog zeker niet toe te voegen aan je internetfavorieten.
Tot binnenkort !
Groep 8.