Specify which of the following statements are functional requirements and which are nonfunctional requirements (Comment your answer):
In the following, you are going to refine our model of the CoffeeMaker, which we introduced in the last assignment. Below you find a use case diagram. In addition, we have put together a class diagram showing the CoffeeMaker DOM.
As usual, the the DOM does not contain any boundary or control objects, but only entities. Your tasks:
Next, we want you to map the functional behavior defined by the use case model onto our analysis object model. In other words, we want you to express the use cases as interaction between objects of the analysis model. Please pick one of the two “Process Order” use cases fragments and draw a sequence diagram that reflects the interaction described by the use case.
In this task, you will use the analysis model completed in Task 10 and take it as a starting point for the model of the solution. Usually one starts with deviding the system into small concise units which can then be refined (moreless) independently. Those units are called subsystems. Please define a decomposition into subsystems. Try to adhere to the Heuristics to identify subsystems. we collected for you.
Part 1 - Implement the classes and methods so that these tests work properly. Be sure to implement the correct intention.
Part 2 - specify for all methods that you implemented if they use overloading or overriding (→Solutions file)
Please do not change the test file. If you feel like adding some stuff, or want to modify for test purposes, you could copy&paste/rename this file and could also check it in.
You will find the source code in the project
A3T13-O1-Shapes in your team's repository (https://svn.iai.uni-bonn.de/repos/IAI_Software/se/oosc2008ss/team#).
The Square() class in Task 13 does not have a setPoints(ArrayList<Point>) methode. Write a JUnit4 test for that method and implement it: The methode should accept 4 points in an ArrayList if and only if the 4 points are actually creating a square. In any other case you should throw some Exceptions.