Oponentura -- RentAir

Transkript

Oponentura -- RentAir
Oponentura – RentAir
Petr Pavlů
21. dubna 2010
1
Úvod
Projekt RentAir je jednoduchý informačnı́ systém na rezervaci letadel a leteckých služeb. Je vyvı́jen jako semestrálnı́ projekt do předmětu X36RSF.
Stojı́ za nı́m studenti Jan Hlaváček, Miloš Kovalčik, František Kraml, Petr
Kraus, Martin Kropuch, Juraj Leškanič, Miroslav Moňok, Marek Polcar,
Dominik Salai, Ondřej Semmler, Jiřı́ Vaněk a Michal Zykov.
Tento report je postupným průchodem přes dokumentaci a implementaci
tohoto projektu. Obsahuje popis chyb, poznámky, kde by šlo udělat něco
lépe, a také několik otázek, na které by si měli autoři odpovědět.
2
Vision dokument
• V popisu správce systému je popsán systém údržby produktů a atributy zákaznı́ků (spolehlivost a důležitost klienta). Toto nenı́ nikde dále
reflektováno. Dalo by se očekávat, že atributy zákaznı́ka se odrazı́ např.
v class diagramu.
• Z části o financı́ch vyplývá, že jedna objednávka může obsahovat vı́ce
letadel. To je nesprávně vymodelováno v class diagramu. Dále se zde
pı́še o tzv. klubové kartě, ta opět nenı́ dále zpracována.
• Slovenština nenı́ vhodný jazyk pro tento dokument.
• Typografické chyby: Polovina seznamů je napsána správně, polovina
ne. Chybı́ pevné mezery za jednopı́smennými předložkami.
3
Class diagram
• NamesOfProducts by bylo dobré přejmenovat na TypesOfProducts.
Prvnı́ nedává smysl, protože Product má své jméno určené již pomocı́
atributu name.
• Ve vztahu Reservation–StateOfReservation jsou zaměněny násobnosti.
• Spojenı́ User–Reservation má prohozeny násobnosti. V database diagramu je to již správně.
1
• U třı́dy User je přebytečný atribut rights (práva jsou vyjádřena
výčtem RightsOfUser). Pokud se tedy nejedná o nějaké dalšı́ podrobnějšı́ dělenı́ práv. . .
• U výčtu StateOfPlace nenı́ zřejmý význam stavu taken.
• Několik překlepů: adress“, Rezervation“.
”
”
• Chybı́ třı́dy pro návštěvnı́ knihu.
• Hesla nejsou solená!
4
Database diagram
• Zvážil bych vynechánı́ tohoto diagramu, vše je vyjádřeno již v class
diagramu.
• Chybı́ atribut estate u třı́dy Plane, který byl v class diagramu. Dále
chybı́ typ produktu.
• Sůl, sůl, sůl!
5
Use case diagram
• U aktéra Registered user je nejasné, jak Edit own reservation
rozšiřuje Create reservation. Proč je to u administrátora naopak?
• U administrátora by se pravděpodobně mohly vynechat některé akce,
protože je odvozen od registrovaného uživatele.
• Překlepy: presonal“.
”
6
COCOMO
Autoři předpokládali napsánı́ 3 000 řádků kódu. Nynı́ jich majı́ přibližně
2 300 (bez testů). Zdá se tedy, že jejich odhad byl správný.
7
Instalačnı́ přı́ručka
• Typografické chyby: spojovnı́k v mı́stě pomlčky, nevhodná volba typů
a řezů pı́sma, špatně psané seznamy, relativně úzké okraje stránky, . . .
• Jelikož se jedná o návod pro unixový systém, tak bych zvážil použitı́
termı́nu adresář namı́sto obecného označenı́ složka.
• Debian nenı́ UNIX! IP“ je zkratka. mysql“ na MySQL apod.
”
”
8
Uživatelská přı́ručka
Uživatelská přı́ručka nebyla dodána, nicméně ovládánı́ systému je dostatečně
intuitivnı́, takže by byla veskrze zbytečná.
2
9
Implementace
• Ve vision dokumentu se mluvı́ o jakési lokalizaci produktů, jak je
promı́tnuta do implementace?
• Kód obsahuje různorodé programátorské styly.
• Málo dokumentace u kódu.
• Oddělenı́ logiky od pohledu by mělo být ještě důslednějšı́. Slovenština
je natvrdo zakódována.
• Nedostatečná kontrola uživatelského vstupu. Přı́klad takové kontroly:
if($rok_od < 2010 || $rok_od > $rok_do){
$error[] = "Zadali ste nesprávny rok";
}
if($mesiac_do > 12 || $mesiac_od > 12){
$error[] = "Zadali ste nesprávny mesiac";
}
if($den_do > 31 || $den_od > 31){
$error[] = "Zadali ste nesprávny den";
}
• Stejně jako je vytvořena třı́da na práci s databázı́, tak by bylo dobré
napsat i třı́du na práci s výsledkem databázové operace.
• Zbytečné použitı́ uvozovek namı́sto apostrofů v mnoha mı́stech.
10
Testy
• Zvážil bych odstraněnı́ DBTest, protože se jedná spı́še o test použité
databáze než nějaké práce s nı́.
• Nezapomeňte použı́t třı́du TextHelper v konečné implementaci, protože jinak je jejı́ kód i test zbytečný. . .
• Málo pročištěný kód. Př.: Metoda testDatabaseInitialization()
nenı́ dostupná.
function setUp(){
...
$this->db = DB::getInstance();
$this->db->delete( "‘Plane‘" );
...
}
function testDatabaseInitialization(){
$this->assertNotNull( $this->db );
}
3
11
Závěr
Projekt hodnotı́m průměrně, i když obsahuje až moc dětských nemocı́“.
”
Implementace pokrývá přibližně polovinu z dokumentace, a tak již majı́
autoři našlápnuto k úspěšnému dokončenı́ své práce. Za největšı́ chybu pak
považuji nehašovánı́ a nesolenı́ hesel.
4

Podobné dokumenty

Základní typografická pravidla

Základní typografická pravidla Smı́šená sazba je sazba složená z různých řezů, druhů a stupňů pı́sma

Více

3 OpenOffice.org 101 3.1 Kancelárský balık OpenOffice.org

3 OpenOffice.org 101 3.1 Kancelárský balık OpenOffice.org Pomlčka je vytvářena ze spojovnı́ku automaticky, nastavuje se v Automatických opravách na kartě Volby, položka Nahradit pomlčky. Dlouhou pomlčku můžeme vyrobit napsánı́m dvou spojovnı́k...

Více

Ilja Iljič je jen trochu naším současníkem

Ilja Iljič je jen trochu naším současníkem v Městském divadle v Brně režírovala právě Hana Burešová, věkem přesně odpovídá tomu, co „předepsal“ Gončarov – Isteník je ročník 1983, jen ta jeho postava má více rysy pyknika než rysy střední. Pr...

Více

Název práce - ShareLaTeX

Název práce - ShareLaTeX Mezi nejvı́ce citované statistické články patřı́ práce Kaplana a Meiera a Coxe (Kaplan a Meier, 1958; Cox, 1972). Student (1908) napsal článek o t-testu. Prof. Anděl je autorem učebnice m...

Více