Software engineering, Autumn 2002, Exercise 5 (14.10.-22.10.)

 
  1. Suppose your task is to develop a tool to assist Function Point Analysis. This tool takes files that contain textual descriptions of the system as its starting point. These texts are used in search for elements that produce function points. Searching elements need not be automatic. When an element is found, it is classified as simple, average or complex. To assist classification the tool should provide a list of questions for each element type. The answers for these questions determine the class. An initial classification may be done also without questions. The tools is assumed to provide all the functions needed in FP Analysis. Determination of complexity factors should also be based on questions. Users should be able to adjust the question sets by adding new questions. The amount of writing should be minimized. FP Analysis of a large system may continue over several sessions.

    Identify the use cases for this system.

    Page http://www.well.com/user/hirst/use_cases.html contains slides of defining use cases.

  2. Outline the class diagram to model the information contents of the Function Point Analysis system (task 1).

  3. The definition of composite has changed in each version of UML. Below is the definition of UML 2.0 draft (September 2002). How do you interpret it? Is it possible to define a class as a member in two composite associations?

    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. Let us consider the publishing process of a scientific periodical. Authors submit the editors abstracts as proposals for articles. Editors check the proposals and either reject them or request for the whole article for evaluation. A request specifies the deadline by which the article must be submitted. When the article arrives the editor may reject it or accept it for evaluation. If he accepts it, he informs the chief editor. The chief editor and the editor together select the referees (at least 2) and send them an evaluation request. If the referee agrees to take the job, he receives a copy of the article. Referees should prepare their statements before a given deadline. If the statement is not ready by the deadline, the chief editor defines a new deadline. If the statement will not arrive by this, a new referee is selected. Referees may pass the job. Then a new referee must be selected.

    When the chief editor has got at least two evaluation statements, he makes his decision about publishing the article. He may reject it, accept it or return it for corrections. The chief editor is entitled to accept a corrected version of an article without referee evaluation. If no decision is made within 6 months from the submission of the article the author is entitled to withdraw it. When the article is withdrawn the evaluation process is stopped. The author may refuse to do the corrections. In this case the article is also considered as withdrawn.

    Authors are given time to finalize their accepted articles. After receiving the finalized version, the chief editor makes the final decision about publishing (which volume and number).

    Draw a state diagram for the life cycle of an article.

  5. What should be the relation between object states and use cases?


Harri Laine, 10.10.2002