Lösungsvorschlag Software Architecture And Engineering FS12

Aus VISki
Wechseln zu: Navigation, Suche

Sample (Student-) Solution to the exam of 2012, when the course was held by P.Müller.


Task 1

Discussion is here: VIS Forum FS2012 Task 1 discussion


A: b, c
B: a, c
Depends on whether the question means "always", "sometimes", or "often". I think "often" makes most sense here.
-> a e.g. if you move multiple similar parts of your program into a function
-> not d because the program might have been wrong before the refactoring
C: b, c
D: b, d
-> not a, UML contains informal specification
-> b e.g. multiple inheritance
-> not c (slightly far-fetched: you could add a preprocessor that copies contracts around according to the inheritance structure)
-> d e.g. if you ship your software and turn off contract checking for better performance
E: a, b
F: a, b, d
G: a, d
-> not b (not suited for interactive systems)
-> not c (concurrency is a problem)
H: a, c (or None, depends on argumentation)
-> argumentation for not a: the model includes behaviour, I consider behaviour to part of core functionality
-> not b (might only have one view e.g. if you want to be able to flexible change the view later on)
-> argumentation for not c (at least some state changing behaviour is implemented in model)
-> not d (no coupling model<->view)
I: a, b
J: b, c
K: a, d
L: a, b, d
-> not c (path else r=2 and else r=8 can never happen)
M: a

Task 2

Task A

Diagram

  • Add some AlreadyBegun use case which extends the BuyNow use case if there has already been a bid in the auction.
  • Add a EndAuction use case. It is meant to end expired auctions by inactivating them and notifying the seller and all bidders that it has ended (and some bidder won).

Use case 2

  • "The auction has been closed" is a needed entry condition.

There is also a problem with the exit condition of use case 1, which should not hold if the extension point has been taken. But I am not sure about how to resolve it.

Task B

Work in progress.png

Diese Aufgabe wurde noch von niemandem gelöst und wartet noch immer auf einen Musterlöser.
Hast du dieses Fach bereits besucht? Hilf mit, die Qualität dieser Seite zu verbessern, indem du eine plausible Lösung für diese Frage notierst!

Task C

Scenario 1

  • A seller creates an auction
  • A bidder hits the "buy now" button

Scenario 2

  • A seller creates an auction
  • Bidder 1 bids for the product
  • The auction expires and bidder 1 wins

Task 3

Task A

FS2012-Task3-PartAUML.png

Task B

Work in progress.png

Diese Aufgabe wurde noch von niemandem gelöst und wartet noch immer auf einen Musterlöser.
Hast du dieses Fach bereits besucht? Hilf mit, die Qualität dieser Seite zu verbessern, indem du eine plausible Lösung für diese Frage notierst!

Task 4

Task A

b

I numbered the BBs by iterating them always taking the "true" branch first.

The DU pairs are

  • 1,5
  • 1,6
  • 1,8
  • 6,5
  • 6,6
  • 6,8

c

One test case, (i=1,j=2) gives us 5/6*100% coverage, only the DU pair (1,8) will be missing. Expected output is cnt=1. We cannot reach 100% since from the precondition and k initially 0 one can conclude that the first while loop is taken for the integer k=1 and in that iteration arr is written since both ifs are true. So the initial definition will never (in practice) reach BB 8.

Task B

The prefix stuff has not been covered in FS16. However, executing the program with the given input covers all feasible DU pairs, as explained above.

Task 5

Task A

Work in progress.png

Diese Aufgabe wurde noch von niemandem gelöst und wartet noch immer auf einen Musterlöser.
Hast du dieses Fach bereits besucht? Hilf mit, die Qualität dieser Seite zu verbessern, indem du eine plausible Lösung für diese Frage notierst!

Task B

Work in progress.png

Diese Aufgabe wurde noch von niemandem gelöst und wartet noch immer auf einen Musterlöser.
Hast du dieses Fach bereits besucht? Hilf mit, die Qualität dieser Seite zu verbessern, indem du eine plausible Lösung für diese Frage notierst!

Task C

Work in progress.png

Diese Aufgabe wurde noch von niemandem gelöst und wartet noch immer auf einen Musterlöser.
Hast du dieses Fach bereits besucht? Hilf mit, die Qualität dieser Seite zu verbessern, indem du eine plausible Lösung für diese Frage notierst!