Programrendszerek fejlesztese Valaszthato projektfeladatok P1. Feladatkezelő
A projekt célja: o Olyan alkalmazás létrehozása, amely képes TODO-listákat kezelni, felhasználók között megosztani. Nem szükséges felhasználók adminisztrációja, egy minimális felhasználói regisztrációs felület azonban igen. Továbbá cél, hogy adott feladathoz lehessen erőforrást rendelni (eszköz, ember, helyszín, stb). Entitások: o Task (Feladat) o TaskType (Feladattípus) o User (Felhasználó) o Resource (Erőforrás) Elvárt felületek: o Feladat: szerkesztő, listázó o Feladattípus: szerkesztő, listázó, feladatok típusonként o Erőforrás szerkesztő listázó o Feladathoz rendelhető erőforrások Összetett felületek: o Adott felhasználó erőforrásai o Felhasználónként teljesített/teljesítetlen feladatok száma
P2. Wikipedia
A projekt célja: o Olyan alkalmazás készítése, mely kezel felhasználókat, szerepköröket, és elkészített wiki oldalakat. A wiki oldalak továbbá tartalmaznak magukról egy listát, hogy mely más oldalak érhetők el belőlük, ezt tartalom alapján frissíteni kell. Minden wiki oldalnak rendelkeznie kell egy úgynevezett slug name-mel (böngészőbarát név), a hivatkozásokat pedig a [wiki:slugname] formátumban kell megadni. Mentéskor ezekből kell a hivatkozásokat kiszedni és külön tárolni. Entitások: o User o WikiPage o WikiPageEditing o PageCategory Elvárt felületek: o oldalak címeinek listázása keresővel o kategóriák listázása o adott oldal megtekintése, az oldal alján, hogy ki mikor szerkesztette az oldalt. Innen vissza lehessen nézni a változtatásokat Összetett felületek: o ki hány szerkesztést hajtott végre o hány különböző oldalt szerkesztett o naponta hányan szerkesztették az oldalakat
P3. Szavazás kezelő
A projekt célja: o Olyan alkalmazás készítése, mely képes különböző online szavazások lebonyolítására. Támogatni kell a multiple choice és single choice típusú válaszokat (checkboxos és rádiógombos választás). A poll-okat egy meghatározott oldalon kell elérni. (Felhasználókezelést nem kell megvalósítani) Entitások: o Poll o PollQuestion o PollFilling o PollAnswer Elvárt felületek: o Poll-ok listája o Poll kitöltése o Poll összerakó admin felület Összetett felületek: o Poll statisztikák
P4. Raktárkészlet cikktörzs kezelő
A projekt célja: o Olyan alkalmazás készítése, mely minimális cikktörzs kezelést valósít meg. A rendszernek kezelnie kell a raktárat, a raktár állapotát, és a raktárban lévő áruk mennyiségét. Adott áru a raktárban adott helyet foglal el (store slot). Az áruk mozgatását naplózni kell (product movement), ami lehet befelé érkező, vagy a raktárból távozó. Entitások: o StoreSlot o Product o ProductCategory o ProductMovement Elvárt felületek: o store slot lista: mik vannak adott store slot-on (ez reprezentálja egy raktáron belül a tárolóhelyet) o termékek listája o termékkategóriák listája o termékmozgatás felület o raktár bekerülés-kikerülés Összetett felületek: o havi termékmozgatás mennyiség statisztika
P5. Raktárkészlet felhasználás kezelő
A projekt célja: o Olyan rendszer készítése, amely egy gyár anyagfelhasználását reprezentálni tudja. A raktárkészlet cikktörzs kezelővel ellentétben, itt nem diszkrét elemeket, hanem nyersanyagokat (pl.: fa, acél) és nyersanyag mennyiségeket kell kezelni. Entitások: o Resource o ResourceStorage o ResourceUsage o ResourceIncome Elvárt felületek: o anyagfelvitel o anyagfelhasználás o tárolók és tartalmuk Összetett felületek: o havi anyagmozgatás statisztika o havi felhasználás
P6. Blogmotor
A projekt célja: o Egyszerű blog motor megvalósítása a szabványos szükséges elemekkel. A post-hoz kommenteket lehet fűzni. A post-ot lehessen címkézni, kategóriába helyezni (taxonomy). Egy komment egy post-hoz kell, hogy tartozzon. Entitások: o Post o Taxonomy o Comment o User o Visiting Elvárt felületek: o post felvitel/szerkesztés o postok listája o post megtekintése, kategóriákkal, tagekkel Összetett felületek: o blog szerkesztési statisztika o blog látogatási statisztika (pl. havi statisztika napi összesítéssel, külön a bejelentkezett és be nem jelentkezett felhasználók)
P7. Webstorage
A projekt célja: o A projekt célja egy webes storage megvalósítása. A feladat célja, hogy lehessen fájlokat feltölteni, letölteni, megjeleníteni. Entitások: o Folder o File o User o Role Elvárt felületek: o Fájl listázó o Fájl feltöltése o Felhasználókezelés o Szerepkör kezelés Összetett felületek: o felhasználó szintű statisztika, ki melyik nap mennyi fájlt töltött fel/le
P8. Vállalati struktúra
A projekt célja: o Vállalati dolgozók adatainak kezelése webes rendszerrel. A rendszernek kezelnie kell, hogy ki, hol és mit dolgozik. Entitások o Site (telephely) o Workplace (a telephelyen belüli hely, pl.: szoba, üzemegység) o Employee (dolgozó) o Schedule (ki, melyik nap, hol dolgozik) Összetett felületek: o időbeosztások agendája o ütközések ellenőrzése (azon emberek listája, akik egy nap több helyen is dolgoznak)
P9. Szerelőüzem
A projekt célja: o Egy szerelőüzem webes nyilvántartó rendszerének létrehozása. A rendszer különféle alkatrészek és termékek nyilvántartásáért felelős. A termékek különféle kategóriákba sorolhatók, illetve különféle alkatrészekből állnak. Entitások: o Part (alkatrész) o PartQuantity (alkatrészmennyiség) o Product (termék) o ProductCategory (termék kategória) Elvárt felületek: o Alkatrészek listázása, szerkesztése o Termékek listázása, szerkesztése, alkatrészek hozzárendelése o Kategóriák listázása, szerkesztése, termékek hozzáadása Összetett felületek: o Adott termék alkatrészeinek összköltsége o Legdrágább alkatrészek o Legtöbb alkatrészből álló termékek
P10. Szoftverbolt
A projekt célja: o Egy webshop létrehozása, amelyben szoftvereket lehet vásárolni. A rendszernek tudnia kell kezelni a különféle szoftvertermékeket. A szoftvereket kategóriákba kell tudni sorolni, hogy könnyebben áttekinthetők és kereshetők legyenek a webshopban. Továbbá a rendszerbe regisztrálhatnak felhasználók, akik bejelentkezés után szoftvereket vásárolhatnak, így tudni kell kezelni az eladásokat is. Entitások: o Product (termék) o ProductCategory (termék kategória) o User (felhasználó) o Sale (eladás) Elvárt felületek: o Product: listázás, szerkesztés o ProductCategory: listázás, szerkesztés, termék hozzárendelése kategóriához o User: listázás o Sale: listázás, adott eladásban szereplő termékek listázása Összetett felületek: o Adott felhasználó által rendelt termékek listázása o Adott termék eladott példányszáma, termékenkénti bevétel o Legnépszerűbb termékek listája eladások alapján
P11. Üzenetküldő
A projekt célja: o Egy webes üzenetküldő alkalmazás létrehozása. A rendszerbe felhasználók regisztrálhatnak, akik bejelentkezés után üzeneteket küldhetnek egymásnak. A felhasználók különböző csoportokba tartozhatnak, így lehetőség van csoporttagság esetén a csoportnak is üzenetet küldeni. Az üzenetküldés üzenetszálakba szervezve történik. Entitások: o User (felhasználó) o Group (felhasználói csoport) o Message (üzenet) o MessageThread (üzenetszál) Elvárt felületek: o Adott felhasználóhoz kapcsolható üzenetszálak listázása o Adott üzenetszálon belül az üzenetek listázása o Csoportok létrehozása, szerkesztése, csoporttagság kezelésének megvalósítása o Üzenetküldési lehetőség felhasználónak vagy csoportnak Összetett felületek: o Adott felhasználó számára küldött üzenetek száma, feladónként csoportosítva o Legtöbb üzenetet küldő felhasználók o Legtöbb üzenetet tartalmazó szálak
P12. Projektmenedzsment
A projekt célja: o Egy általános, projektek fejlődését nyomon követő eszköz létrehozása. A projekt során task-okat kell megoldani, tehát a task-ok jellegét, állapotát kell kezelhetővé tenni. Három féle felhasználója van a rendszernek: az adminisztrátor, aki felhasználókat, projekteket kezel, a projektmenedzser, aki adott projekthez fér hozzá, illetve a felhasználó, aki a hozzá tartozó feladatról tud állapotjelentést adni. A projektekhez TaskData entitások tartoznak, a task állapotok pedig TaskState entitásokhoz. A TaskData rendelkezik egy User típusú tulajdonossal, csakúgy, mint a TaskState. A TaskData-k között nincs kapcsolat. Entitások: o TaskData (a task adatlapja, ki a felelős érte, mely projekthez tartozik, határidő) o TaskState (task állapotának adatai: ki mikor, milyen módosítást hajtott végre, a projekt hány %-on áll) o User o Project (projekt adatai) Elvárt felületek: o Project CRUD o TaskDate CRUD o UserState lista, új state hozzáadása o User Összetett felületek: o User-ek egy adott projekten o Projekt task-jainak átlagos állapota projektenként o Késő task-ok projektenként.
P13. Termeléskezelés
A projekt célja: o Egy termeléskezelő webalkalmazás létrehozása. A rendszer termelési folyamatokat kezel, amelyek különféle bemenetekkel (pl.: anyagok) és kimenetekkel (termékek) rendelkeznek. Illetve a termelési folyamatban dolgozókat foglalkoztatnak. Entitások: o Worker (dolgozó) o ProductionProcess (termelési folyamat) o ProductionInput (termelési folyamat bemenete) o ProductionOutput (termelési folyamat kimenete) Elvárt felületek: o Dolgozók listázása, szerkesztése o Bemenetek és kimenetek listázása, szerkesztése o Folyamatok listázása, szerkesztése, bemenetek és kimenetek hozzárendelése, dolgozók hozzárendelése Összetett felületek o Legtöbb dolgozót foglalkoztató folyamatok o Legtöbb bemenetet/legnagyobb összköltségű bemenetet igénylő folyamatok o Legtöbb folyamatban foglalkoztatott dolgozók