Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Release date: Wednesday, 21.04.15 - Due date: Sunday, 26.04.15, 23:59
Assume you were developing your Software Vision (from task 02) or the “Reliable Rescue Team Companion”1) or the “Explore the Opportunities”2) or the “we.share.our.travels”3) from the introductory slides. Pick any of these, but stay with it for the whole task. We need to care for Non-Functional requirements of this system.
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.
Now we are switching to the “cloud BAKERY 2100” that we gave as an example in task 02. 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: Developer Dennis wants to buy bread rolls for his party.
Scenarios: System-analyst Susan 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.
We expect to get the complete use case diagram and as well a complete use case description for each use case5).
|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
3. Create a proof that you got everything running
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:
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 “Susan 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:
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.javato see what you have got.