| Software Developer's Optimal Employment Problem |
Programuotojo parinkimo uždavinys, naudojant nuotakos algoritmą
Lapkričio 17, 2005
TIKSLAS
Realizuoti tinkamiausio darbuotojo parinkimo uždavinį, taikant vienkartinės nuotakos algoritmą. Pagal nurodomus kriterijus ir tam tikrus pradinius duomenis apie įsidarbinti siekiančius asmenis, naudojantis programa darbdavys turėtų išsirinkti tinkamiausią darbuotoją.
PAKEITIMAI
Pagrindiniai pradinės programos versijos pakeitimai yra:
- Panaudotas daugkartines nuotakos modelis.
- Pritaikytas modelis konkrečiai profesijai (programuotojo).
- Suteikta galimybė ne tik įvesti atskirų rodiklių svarbumą (šiuo atveju programavimo kalbų patirties "svorius"), bet ir esant duomenims užpildyti jų vidurkius ir dispersijas (sklaidą).
- Programos veikimo ir skaičiavimų tikslams pridėtas duomenų (parametrų ir darbuotojų) generavimas.
- Patobulinta programos ir rezultatų grafiko atvaizdavimas ir tikslumas, neatimant galimybės didinti arba mažinti programos lango matmenis.
- Patobulinta programos išvaizda, panaudojant Swing komponentus.
- Lankstesnis duomenų apie darbuotojus įvedimas, neužkoduojant juos tik programos kode.
- Suteikta galimybė ateityje lengvai ir greitai tobulinti programą (objektinis programavimas, neribotas parametrų ir svorių kiekio keitimas, pateikiamas Eclipse SDK projektas ir pan.)
INSTRUKCIJA
Programą sudaro penki skirtingų temų skirsniai:
- Parameters - suvedami ir/ar generuojami darbdavio nuožiūra ir skaičiavimams reikalingi duomenys (programavimo kalbų vidurkiai, sklaidos ir svoriai.)
- Employees - suvedami ir/ar generuojami duomenys apie darbuotojus (skaičiai atitinka darbuotojo patirtis programavimo kalbose).
- Calculations - vykdomi skaičiavimai ir išvedami rezultatai, bei paruošiami duomenys sekančiam skirsniui.
- Graph - skaičiavimų skirsnyje rezultatų interpretavimas Dekarto koordinačių sistema.
- About - informacija apie programą ir programos autorių.
Programos naudojimasis atliekamas paeiliui renkantis skirsnius ir užpildant reikalingus duomenis:
- Parameters skirsnyje duomenys suvedami rankomis arba mygtukų pagalba:
- Reset - visi parametrai įgauna nulio reikšmes.
- Defaults - parametrai įgauna reikšmes, užrašytas programos kode.
- Minimum - parametrai įgauna programos kode nustatytas minimalias reikšmes.
- Maximum - parametrai įgauna programos kode nustatytas maksimalias reikšmes.
- Generate - duomenys sugeneruojami atsitiktine reikšme.
- Employees skirsnyje suvedami ar mygtuku "Generate" sugeneruojami duomenys apie darbuotojus.
- Mygtuku "Calculate" Calculations skirsnyje vykdomi skaičiavimai bei gaunami rezultatai.
- Graph skirsnyje grafinis rezultato atvaizdavimas.
PALEIDIMAS
Programa paleidžiama paleidžiant pagrindinę klasę Main.class, kuri laikoma lib/darbas2.jar archyve. Veiksmas atliekamas interneto naršyklių, palaikančių Java, pagalba (paleidžiant darbas2.html failą), arba paleidžiant AppletViewer pagalbinę programą, parametruose nurodant vykdomaji failą darbas2.html
(pvz.: C:\>AppletViewer darbas2.html).
TEORIJA
Programoje naudota elektroninė literatūra:
- 1. A SET OF EXAMPLES OF GLOBAL AND DISCRETE OPTIMIZATION. Home Work for Graduate Students (stud2.pdf)
- 2. Nuosekūs sprendimai ir dinaminis programavimas. (Bride_lithuanian.pdf)
TAIKYMAS
Modelis tinkamas, kai darbdavys nori iš turimų kandidatų į programuotojus pasirinkti viena tinkamiausią. Čia pateikiami populiariausios programavimo kalbos, dažniausiai reikalaujamos renkantis darbuotojus - programuotojus. Konkretus darbdavys savo nuožiura nurodo kriteriju svorius, dispersijas, bei kriteriju reikšmiu svorius.
Projekto autorius: Artūras Gudkovas, VGTU FMF IT-2/2, Email.: [email protected]