na čelo
do školičky

PSWI

1) Co je to FURPS, jaké vlastnosti systému sleduje a k čemu slouží?
2) Popište spirálový model softwarového procesu.
3) Jak se používá dokumentační nástroje jako JavaDoc? Jaké zásady by se měly dodržovat, aby bylo použití efektivní?
4) Vyjmenujte rysy softwarové krize.
5) Popište třívrstvou architekturu.
6) Popište způsob jakým se specifikují (přesně definují) požadavky metodou 4(+1) pohledů.
7) Definujte co je to požadavek. Proč se musí hledat?
8) Něco o strukturální analýze. Jak se navrhují řídící bloky?
9) Postup, kterým se na základě použití najdou či navrhnou základní třídy pro implementaci systému. Ilustrujte na příkladě on-line zápisů na zkoušku.
10) Strukturální analýza. Kontextový diagram pro příklad knihovny -- výpůjčky, rezervace, katalog. Jak se při tvorbě takového diagramu postupuje?
11) Na jedné z levelů CMM ukažte na čem všem závisí kvalita projektu. Vysvětlete základní princip systémů řízení jakosti.
12) Jak napsat "vypisy.c", aby byl preprocesor jazyka C schopen rozhodnout o překladu buďto Borlandem C++ nebo GCCéčkem.
13) Která z možností je správná pro strukturované programování?
  1. zápis zdrojových textů odpovídá logice běhu programu
  2. program se snadno píše
  3. program je dobře čitelný pro ostatní programátory
Zdůvodněte svou volbu.
[BTW: Správně je a) a tak trochu i c) ]
14) Vývoj software by měl mít určité znaky inženýřiny. Jmenujte alespoň tři. Jaké znáte nástroje a postupy pro jejich dosažení?
15) Metody pro návrh testovacích dat pro testování metodou white-box.

Př. za deset bodů:
-- webová aplikace pro server s návštevností cca 50 tisíc zobrazení stránky za hodinu
-- je nutno otestovat níže uvedené třídy
-- třída Users je jako cache dat v lokální databázi, která je aktualizována s periodou 20s. Dále víme, že v aplikaci je jen jedna instance třídy Users.
-- o implementaci nic dalšího nevíme
-- právě je registrováno 30 tisíc uživatelů a noví přibývají tempem 60 za den

úkoly:

  1. zvolte 3 druhy testů, jestliže chceme testovat jak funkčnost tak vlastnosti aplikace
  2. zdůvodněte svou volbu těchto druhů testů
  3. pro každý druh napište 2 kompletní testovací případy
třídy:
class SessionUser {
  // atributy
  public String login;
  public String jmeno;
  public String prezdivka;
  public Session??? session;
  public int kredit;
  // metody
  ... jo, tak tady byly nejaky metody ...
  ...
}

class Users {
  // metody
  ... byly tam:
  pridej, zrus, getPocet, jeZnam
  ... presne hlavicky a co dal si fakt nevzpominam
}  

Honck, 17.o6.2oo2, http://agentka.kgb.cz/