Modelling Software Requirements
Exercise on comparing two methods in an empirical
study. –
BLUE 2
ndsession
Experiment package mss-‐U
Surname:
Name:
Color: BLUE
Application:
mssTreatment:
UML Use CasesStart Time:
End Time:
The Meeting Scheduler System story
Organizing a meeting (such as a project meeting, a faculty gathering, or a family reunion) may become a complex and time consuming task, especially when several meetings, sharing a set of participants, are going to be organized in parallel. Moreover, participants to a meeting would like to have their preference for time and location for the meeting to be taken into account. A software application that supports organizing a meeting (called Meeting Scheduler System -‐ MSS) will be considered. The MSS will be used in the context of an organization (such as a faculty) having a database of the meeting rooms. Each meeting room in the room DB appears with its resources (number of seats, projectors, microphones, etc.) and its availability or its allocation status (including the name of the person who allocated it). Room’s availability can be checked and an available room can be allocated by a meeting initiator (MI), who wants to organize a meeting in an effective way (e.g., a project manager or a dean). An allocated room can be de-‐allocated by the MI who had previously allocated it. Moreover, the MSS is supposed to be interfaced with an existing web-‐based agenda (such as doodle.com), which can provide functions that support proposing a meeting and collecting participants availability for the meeting, including dates with maximum number of potential participants available.
The meeting initiator, may also be a potential participant (PP) in the meeting or not, as in the case a secretary organizes a meeting, but does not participate in it. The meeting initiator will use the MSS system to call the meeting (defining a set of features, such as the purpose of the meeting, list of participants, candidate time period and locations) and to communicate this call to the involved participants. The MSS will take care of collecting availabilities, both concerning the meeting location and the date, in order to ensure the largest participation, on behalf of the MI.
The MSS may also support negotiation about the best date/time for a meeting that might be necessary in order to maximize the number of people attending the meeting.
A parallel negotiation for room availability can be also necessary, for instance proposing a room exchange to someone who had allocated a room, which has better resources for the meeting under organization.
Use Case Model
UML UC legend
Use case template
USE CASE Label
Type Primary /Secondary
Precondition What should be true before
Postcondition What will be true after
Main flow Description of the principal task realizing the UC
Alternative flow Description of task(s) alternative to the main one (if any; 1 for each alternative behaviour)
Scheduler System’ s UC Diagram:
Meeting Scheduler System’ s UC description
USE CASE Schedule a Meeting
Type Primary (system function invoked by the MI)
Precondition The user is enabled to access the Meeting Scheduler software system
Postcondition The meeting has been scheduled with a precise date/time, location and list of participants
Main flow The user log-in and is recognized by the system. The function realizing the Schedule a meeting will include calls to the functions realizing use-cases: Collect Availability from Participants, Choose Schedule and Room Assignment.
Alternative flow _
USE CASE Call a Meeting
Type Primary (system function is directly invoked by the MI user).
Precondition The user is enabled to access the Meeting Scheduler software system.
Postcondition The meeting call has been defined and posted
Main flow A new meeting is defined in terms of a set of features: purpose of the meeting, list of participants, candidate time period and location. The call is set up via direct e-mailing. Alternative flow Post call via a web-based system (doodle).
USE CASE Modify a Call
Type Primary (system function is directly invoked by the MI user).
Precondition The user is enabled to access the Meeting Scheduler software system. A meeting call has been previously defined.
Postcondition An existing meeting call has been modified
Main flow An existing meeting call is modified by changing one or more features.
Alternative flow _
USE CASE Collect Availability from Participants
Type Primary (invoked by the PP user); Secondary (invoked by the function realizing the Schedule a meeting use case)
Precondition The MSS function realizing Schedule a Meeting has been activated by the MI user or the user PP accesses the MSS for specifying his/her availability for a meeting
Postcondition Data on PP(s) availability has been collected
Main flow The MSS collects PP(s)’ availability through direct e-mailing that each PP has specified
Alternative flow Each PP can set her/his own availability via a web-based system (doodle). This info is collected on the web-based system, which can also give to the MSS the dates with maximum number of potential participants.
USE CASE Choose Schedule
Type Secondary (invoked by the function realizing the Schedule a Meeting use case)
Precondition The MSS function realizing Schedule a Meeting has been activated by the MI user.
Postcondition A schedule for a meeting has been chosen
Main flow Date/time for the meeting is selected, based on the PP availabilities that has been collected by the MSS.
Alternative flow The selection of the schedule ensuring the maximum number of PP is performed on the basis of the info about maximal intersection of PPs availabilities provided by the web-based system (doodle).
Alternative flow The selection of the schedule is based on a negotiation with PPs about the meeting date/time.
USE CASE Room Assignment
Type Primary (system function is invoked by the MI); Secondary (invoked by the function realizing the Schedule a Meeting
use case)
Precondition The user accessed the Meeting Scheduler software system
or the function realizing the Schedule a Meeting use case has been activated.
Postcondition A meeting room has been assigned for the meeting
Main flow The system access the Room DB to get info on allocation status and resources of room. It can set a request for allocation of an available room.
The function realizing Room Assignment will include calls to the functions realizing use-cases: Check Room Availability,
Allocate /Deallocate Room Alternative flow -
USE CASE Check Room Availability
Type Secondary (not directly invoked by the user)
Precondition The function realizing the Room Assignment use case has been activated.
Postcondition A room status has been checked for availability
Main flow The system accesses the Room DB to get info about the availability of a room at a given date/time by checking the allocation status of the room.
Alternative flow -
USE CASE Allocate /Deallocate Room
Type Secondary (not directly invoked by the user)
Precondition The function realizing the Room Assignment use case has been activated.
Postcondition A meeting room status has been changed.
Main flow The system accesses the Room DB and set the room allocation status to allocated (or free, i.e. deallocated).
Comprehension and Modeling Questions:
In answering the questions, please remember that “UC model” includes
the UC diagram and the UC templates
1. How many actors, mentioned in the case study’s story, have been modeled?
[A] -‐ What are their names: _____________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
2. Are there actors in the model who are not mentioned in the case study's story?
[A]-‐ If so, name them: : _____________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
3. Are there any stakeholders, mentioned in the case study’s story, who have NOT been modeled as actors? [A]-‐ If so, name them: : _____________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
4. Is there any functionality in the case study’s story, which is NOT represented in the model?
[A]-‐If so, describe it (them) in a few words: ______________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
5. How many relationships involving actors and relationships between use cases, have been modeled?
[A]-‐ Specify the number of relationships per type
Participation Inclusion
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
6. Which info can the MSS get from the web-‐based agenda (doodle.com), according to the model?
[A]-‐ Please provide a short description:
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
7. How many relationships between the PP and the MSS appear in the model?
[A]-‐ What are their type
Participation Inclusion
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
8. According to the model, what are the ways the MSS can support calling a meeting?
[A]-‐ What are they? Please provide a short description _____________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
9. According to the model, who is providing the data about PP availabilities to the MSS?
[A]-‐Actor name(s): _________________________________________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
10. According to the model, which type of information about the meeting rooms can be used by the MSS system?
[A]-‐ Please provide a short description: __________________
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
In questions 11-‐14, make the modifications directly on the model
(both actor and goal diagrams) given at the beginning of this
questionnaire and describe the changes by words in the following
tables. Note that there may be questions that do not require changes
in both types of diagram.
11. How do you modify the model to include the fact that the MSS shall get information about the person who has allocated a room?
[A]-‐ Make the modification directly on the model and describe here by words which modification you made
Diagram type Description of change(s) Indication on the diagram UC diagram UC templates
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
12. How do you modify the model if the MSS can support calling a meeting ONLY through the web-‐based agenda (doodle.com)?
[A]-‐ Make the modification directly on the model and describe here by words which modification you made
Diagram type Description of change(s) Indication on the diagram UC diagram UC template
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
13. How do you modify the model if the MSS will get information about the PPs availability directly from the PPs themselves instead of from web-‐based agenda (doodle.com)?
[A]-‐ Make the modification directly on the model and describe here by words which modification you made
Diagram type Description of change(s) Indication on the diagram UC diagram UC template
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏
14. How do you modify the model to represent the fact that the MSS, WITHOUT the direct participation of the MI, will perform the room assignment?
[A]-‐ Make the modification directly on the model and describe here by words which modification you made
Diagram type Description of change(s) Indication on the diagram UC diagram UC template
Very Low Low Medium High High Very How confident are you about your answer?
❏
❏
❏
❏
❏
How difficult do you judge this question?❏
❏
❏
❏
❏