Ohjelmistotuotanto, syksy 2002, Harjoitus 8

 
  1. Tarkastellaan kääntöpuolelle listattua luokkaa TableNameParser. Sen tehtävänä on löytää SQL-kyselyyn sisältyvät taulunimet. Sen ei tarvitse toimia oikein, jos kyselyssä on syntaksivirheitä. Piirrä vuoverkot luokan metodeille.

  2. Määrää luokan TableNameParser metodien kompleksisuudet McGaben mittaa käyttäen.

  3. SQL-kyselyn syntaksi on seuraava
     
      SELECT <tulostietomäärittely>
      FROM <taulut>
      [WHERE <ehdot>]
      [GROUP BY <ryhmitys> [HAVING <ryhmäehto>]]
      [ {UNION | INTERSECT | MINUS } <sql-kysely> ]
      [ORDER BY <järjestys>]
    
      <taulut>= <tlauseke> | <tlauseke>, <taulut>;
      <tlauseke>= {<taulunimi> | (<alikysely>)} [[AS] <alias>]
      <alikysely>= sql-kysely ilman ORDER BY -osaa.
      sekä <ehdot> että <ryhmäehto> voi sisältää alikyselyn. 
    
    Laadi haarakattava testiaineisto moduulille getTableNames.

  4. Tarkastellaan metodin getTableNames testaamista tekijäpohjaisella black box - tekniikalla. Mitä tekijöitä liittäisit metodin getTableNames parametriin ja millaisia ekvivalenssiluokkia niihin liittyy.

  5. Harrasta koodikatselmusta. Toimiiko TableNameParserin getTableName -metodi? Perustele.

  6. Miten toteuttaisit testiympäristön luokalle TableNameParser?

  7. Vastaa kurssikyselyyn osoitteessa: http://ilmo.cs.helsinki.fi/kurssit/servlet/Valinta


Harri Laine, 30.10.2002