Ohjelmistotuotanto, syksy 2002, Harjoitus 5

 
  1. Harjoituksissa 3 tehtiin toimintopisteanalyysiä. Nyt lähdemme kehittelemään työkalua analyysin tueksi. Olkoon lähtökohtana joukko tekstitiedostoja, joissa on karkea määrittely ohjelmistosta. Toimintopisteanalyysi tehdään tähän määrittelyyn perustuen etsimällä tekstistä toimintopisteitä tuottavia elementtejä ja luokittelemalla niitä. Etsinnän ei tarvitse olla automaattista. Luokittelun tueksi on määritelty joukko kysymyksiä, joihin vastaamalla saadaan selville löydetyn elementin vaikeusaste. Eri tyyppisillä kohteilla on omat kysymyksensä, esimerkiksi tiedostoilla omansa. Kunkin elementin alustava luokittelu voidaan tehdä ilman kysymyksiä ja tarkentaa tarvittaessa kysymysten avulla. Ohjelmiston käyttäjän pitäisi pystyä tekemään luokittelu kokonaan välineen avulla ja mahdollisimman vähällä kirjoittamisella. Ison järjestelmän (=pitkän tai moniosaisen tekstin) analyysi voi vaatia useita istuntoja. Kompleksisuustekijöiden arvojen selvitys tapahtuu myös kysymysten avulla. Välineen pitäisi olla muokattavissa siten että käyttöönottaja voi määritellä omia lisäkysymyksiään. Määrittele järjestelmän käyttötapaukset (use cases).

    Sivulta http://www.well.com/user/hirst/use_cases.html löytyy käyttötapoihin liittyvää kalvomateriaalia.

  2. Laadi luokkakaavio, joka mallintaa tehtävän 1 analyysityökalun keskeisen tietosisällön.

  3. Komposition (composite) määritelmä on muuttunut UML:n jokaisessa versiossa. Alla UML 2.0:n määritelmä (syyskuu 2002). Miten tulkitset sitä? Onko sen mukaan mahdollista määritellä luokka jäseneksi useaan kompositioyhteyteen?

    An association may represent an aggregation (i.e., a whole/part relationship). Only binary associations can be aggregations. At the instance level, a link of an Aggregation relates an instance of a classifier connected at the part end to an instance of a classifier connected at the aggregate end. The added meaning of an aggregate link over a nonaggregate link is that the instance at the part end is “part of” the instance at the aggregate end. Composite aggregation is a strong form of aggregation that requires a part instance be included in at most one composite at a time. If a composite is deleted, all of its parts are deleted with it. Note that a part can (where allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite. Compositions define transitive asymetric relationships—their links form a directed, acyclic graph. A noncomposite aggregation, also called shared aggregation, denotes weak aggregation, where the part may be included in multiple separate aggregates. Deletion of an instance does not cause deletion of its noncomposite parts.

  4. Tarkastellaan tieteellisen lehden julkaisuprosessia. Kirjoittajat lähettävät tiivistemäluonteisia artikkeliehdotuksia lehden toimittajille. Toimittajat analysoivat ehdotuksen ja joko hylkäävät sen tai pyytävät kirjoittajalta koko artikkelin tarkempaa analyysiä varten. Artikkelipyyntöön liitetään määräaika, johon mennessä artikkeli pitää toimittaa analyysiin. Kun artikkeli saapuu, toimittaja voi suoraan hylätä sen tai ilmoittaa päätoimittajalle kelpuuttavansa artikkelin referoitavaksi. Päätoimittaja ja toimittaja valitsevat yhdessä referoijat (vähintään 2), joille lähetetään referointipyyntö. Jos referoija vastaa pyyntöön annettuun määräaikaan mennessä myönteisesti, hänelle lähetetään kopio artikkelista. Referoijan tulisi palauttaa lausunto määräaikaan mennessä. Ellei näin tapahdu, päätoimittaja pyytää uudelleen lausuntoa. Ellei lausuntoa tule uuteenkaan määräaikaan mennessä päätoimittaja etsii uuden lausunnonantajan. Referoija voi myös ilmoittaa peruvansa lupauksensa antaa lausunto. Tällöin valitaan uusi referoija. Kun lausunto on saatu vähintään kahdelta lausunnonantajalta päätoimittaja päättää artikkelin kohtalosta. Se voidaan hylätä, hyväksyä julkaistavaksi tai palauttaa korjattavaksi. Korjattavaksi palautetun version hyväksymisestä korjausten jälkeen päättää päätoimittaja. Kirjoittajalla on kuuden kuukauden kuluttua artikkelin jättämisestä oikeus vetää artikkeli pois, jos mitään päätöstä ei ole tullut. Tällöin myös arvointiprosessi keskeytetään ja asiasta ilmoitetaan referoijille. Kirjoittaja voi myös kieltäytyä tekemästä korjauksia, jolloin artikkelin julkaisuprosessi merkitään keskeytyneeksi.

    Hyväksytylle artikkelille annetaan viimeistelyaika, jonka kuluessa artikkelista on toimitettava viimeistelty versio. Vasta viimeistellyn version saapumisen jälkeen päätoimittaja tekee päätöksen siitä, missä lehden numerossa artikkeli julkaistaan.

    Laadi artikkelin elinkaarta kuvaava tilakaavio. Täydennä tarvittaessa prosessin kuvausta lisäoletuksin.

  5. Miten ohjelmiston käyttötapaukset liittyvät tietosisältöolioiden tilakäyttäytymiseen?


Harri Laine, 10.10.2002