Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Release date: Wednesday, 22.04.14 - Due date: Sunday, 27.04.14, 23:59
11 points |
---|
One of your colleagues came back from an interview session with a customer. He has tried to create a preliminary use case diagram A03T08_CloudBakery
based on the notes he had taken during the interview. Unfortunately he got fired before he is able to complete his work. Congratulations to your recent promotion.
During the next interview session, you and the customer end up with a set of scenarios that represent typical uses of the system envisioned by the customer. Your boss asks you to build a use case model from those scenarios. Here is what you have got:
Description: “cloud BAKERY 2100”
Scenarios: Banker Bart wants to buy 10 bread rolls.
Scenarios: Student Sharon needs food for a late breakfast after a long night.
Scenarios: Maintainer Michael orders new ingredients for the “cloud BAKERY 2100” machine.
You decide to take your colleagues work as a starting point. As you can see, he failed to write down the flow of events in his early version of the use case model.
Your task is to complete the use case model so that all of the scenarios are covered and all use cases have a complete description. For your convenience you find the scenario texts in the astah file.
9 points |
---|
As we are developing our mobile app for ordering baked goods, we need to care as well for Non-Functional requirements.
We mentioned the following classification of requirements:
a) For a better understand of this list, we suggest that your read through the following section in [BD09] 4.3.2 “Non-functional Requirements”, Table 4-3 in 4.4.7 “Identifying Non-functional Requirements”, 4.6.5. “Identifying Non-functional Requirements” (Table 4-3 applied to an example). You can try online resources as well, but we do recommend the book.
b) For each of the 4 quality and 5 pseudo requirements in our list suggest a sensible requirement. You may as well take inspiration from the world wide web, but remember to cite your sources.
c) Argue with one sentence for each of your requirement, why you placed it in the respective category of the 4+5 categories.
12 = 3+6+3 Points |
---|
a) Set up your environment.
As this is quite some work, this is already worth 3 points.
1. Install plug-ins from two update-sites
JBehaveDependencies
A03T10_CloudBakery2100
From your group repository checkout:
A03T10_CloudBakery2100Scenarios
This project is where we expect your solution.
3. Create a proof that you got everything running
cloud_bakery_2100.story
in the package de.unibonn.oosc
in the project A03T10_CloudBakery2100Scenarios
and replace “YOUR NAME HERE” with your name. Right click on
CloudBakery2100Stories.java
in the package de.unibonn.oosc
in the project A03T10_CloudBakery2100Scenarios
and select “Run As” → “JUnit Test”. Expand the result of the JUnit run, make a screenshot that shows that the test uses your name4) and submit it as part of your solution. This screenshot is already worth 3 points.
b) Make scenario 2.1 executable and gather feedback for your colleagues
As mentioned in the lecture scenarios are a good foundation for functional tests. Making them executable is a perfect means to verify that implementation and requirements are consistent. That is your job now. You got from your colleagues:
cloud_bakery_2100.story
.7)CloudBakery2100Steps.java
If you compare the lines in the “*.story” file and the text in the annotations in CloudBakery2100Steps.java
you should get an idea how they are related. These annotations give you the language that you can use in your creation of the executable scenario. Based on this language complete the executable version of scenario 2.1 “Sharon orders Pumpernickel” in the “*.story” file. Try to be as complete as possible. Given
-lines set the scene, When
-lines describe some simulated actions, Then
-lines describe the expect behavior. As result we like to get form you:
cloud_bakery_2100.story
You can always run your scenario by right-clicking on CloudBakery2100Stories.java
and selecting “Run As” → “JUnit Test”.
c) Enjoy creating another scenario of your choice
By now you should be excited about the power of these tools. Create another meaningful scenario for our “cloud BAKERY 2100” that either succeeds or is a substantial contribution to the requirements or both. (10 sentences at least.)
de.unibonn.oosc.CloudBakery2100.java
to see what you have got.CloudBakery2100Steps.java
.