Isd Lab02-Srs
Isd Lab02-Srs
1. SUBMISSION GUIDELINES
You are required to push all your work to the valid GitHub repository complying with the
naming convention:
“<FacebookGroupName>-<StudentID>.<StudentName>”.
For this lab, you have to turn in your work twice before the following deadlines:
§ Right after class: Push all the work you have done during class time to Github.
§ 10 PM the day after the class: Create a branch named “release/lab02” in your
GitHub repository and push the full submission for this lab, including in-class tasks
and homework assignments, to this branch.
2. IN-CLASS TASKS
In this lab, we continue with the requirement modeling process and practice with flows
of events, activity diagrams, and the use case (UC) specification for the Case Study AIMS.
You are asked to work individually for this section, and then put all your file(s) and
directories to a parent directory, namely “Requirement Analysis”. After that, push your
commit to your individual repository before the announced deadline. Remember to
submit astah file(s).
This use case describes the interactions between the AIMS software with the customer
and Interbank when the customer desires to pay an order. The precondition of this use
case is that the AIMS software has calculated the total amount of money that the customer
has to pay. On the other hand, there is no need for the specification of output data or the
postcondition. An incomplete example of the basic flow of events is listed as follows.
Step 1. The AIMS software displays the payment screen
Step 2. The customer enters credit card info and confirm to pay order
Step 3. The AIMS software check if the credit card info is in the correct format
Step 4. The AIMS software asks the Interbank to pay order
Step 5. The Interbank processes the payment transaction
Step 6. The AIMS software saves the payment transaction.
The alternative flows of events of this use case are illustrated in the following table.
1. At Step 4 If the card info has wrong § The AIMS software notifies that At Step 1
format the card info has wrong format
2. At Step 5 If the card info is invalid § The AIMS software notifies that At Step 1
the card info is valid
3. At Step 5 If the balance is not enough § The AIMS software notifies that At Step 1
the balance is not enough
Consist of month
3. Expiration date Yes and last 2 digits of 01/23
year only
7. Input data
Table A-Input data of …
1.
8. Output data
Table B-Output data of …
1.
9. Postconditions
that heavily affect the input from other systems, e.g., noise in transmission. Hence, we
need to give them the chance to try repeatedly until their input is valid or within an
acceptable limitation to be at least. However, there are cases in which we must take the
input for granted since it is unnecessary or beyond the control of the system. To illustrate,
in the form of delivery information, we should not check if the user has filled the real name
of the receiver in the field for receiver name, yet we must not let the user left it blank.
Consequently, after each of Step 1 and Step 5, the AIMS software should validate the input
of the customer and ask he or she to redo the step until the input is valid. Just then the
software proceeds to next step.
<Customer may also go back to previous step to update the information>
Question: What data is exchanged between actor and use case and between use case and use
case?
In this use case, there are two inputs we need from the customer up to now: information
of media in the cart (for displaying cart, order confirmation, shipping fees, and payment)
and delivery information (for shipping and shipping fees). Some or all attributes of these
information may play critical roles in input validation, so we need to specify the attributes
of the input. To illustrate, the input data of delivery information may include these data
fields:
Table 1- Input data of delivery information
Receiver
1. Yes Do Minh Hieu
Name
Phone
2. Yes 0987654321
Number
Choose from a
3. Province Yes Hanoi
list
Shipping
5. No
instructions
We also need to specify the output to the actor(s). For instance, the output data when
displaying the invoice or the cart is shown in the following tables (the rows with green
shading are repeated for all media products in the cart/invoice).
5 HANDS-ON LAB GUIDELINES
© SOICT – HUST
ITSS SOFTWARE DEVELOPMENT – IT4945E
6
9. Currency VND
Phone
11. 0987654321
number
Shipping
14. instructions
CD Em về tinh
1. Title Title of a media product
khôi – Hà Trần
7. Currency VND
Note that we do not describe the details of the user interface unless it is necessary to
understand the behavior of the system. Specifying user interface details too early will limit
design options.
Now, we can finally validate the data. For the list of media in the cart, we need to check if
a media is out-of-stock. For delivery information, we need to check if a mandatory field is
left blank and the validity of the phone number field. Thus, we need to insert at least two
more events into the flow so as to validate the two corresponding inputs.
Additionally, depending on how you design, you might want to check the input from UC
“Pay order” at Step 10.
After validation, in case there is an exception, the flow cannot continue normally.
Consequently, we need alternative flows or sub-flows for the next events in these cases.
For instance, the sub-flows for UC “Place Order” is shown as follows.
Resume
No Location Condition Action
location
1. At Step 2 If there is media of which § The AIMS software asks the Resumes
quantity in the stock is less customer to update the cart. at Step 2
than the ordered quantity § The customer updates the cart.
2. At Step 5 If a mandatory field is left § The AIMS software asks the Resumes
bank customer to fill all the mandatory at Step 3
blank.
3. At Step 5 If the phone number is § The AIMS software asks the Resumes
invalid customer to enter a valid phone at Step 3
number.
The last questions are what we should save and when we save it.
By saving the data, we can save a lot of time and effort for us, the system, and the users.
To illustrate, the customer cannot finish placing order for some reason. Thus, we can save
some information for later such as the list of media in the cart, so that the customer does
not have to add them to the cart again.
Finally, we may provide the pre-condition and the post-condition. For example, the pre-
condition for UC “Place Order” can be “there is an active network connection to the
Internet.” A post-condition can be “the logs have been updated accordingly” in the case of
a failure condition.
For this part, given the above suggestion, you are asked to make a use case
specification for UC “Place Order” by using the template as illustrated in subsection
2.1. Remember to validate data and save information if need be. When you finish the task
of this part, please export your work to a PDF file, namely “Use case specification – Place
Order”. Then put both files in the directory “Use case specification”.
When you finish the task of this part, please export your work to a PNG file, namely
“Activity Diagram – Pay order”, and save your work in a directory, namely “Activity
diagrams”.
2.2.3. Activity diagram(s) of UC “Place Order”
As can be seen, the incomplete flow of events in subsection 2.1.2 is clearly represented in
the activity diagram in Figure 1. We can convert an activity diagram into flows of events
with very little effort.
In this part, you are asked to draw activity diagram(s) of UC “Place Order” by using Astah.
When you finish the task of this part, please export your work to a PNG file, namely
“Activity Diagram – Place order” and save your work in a directory, namely “Activity
diagrams”.
3. HOMEWORK ASSIGNMENTS
3.1. USE CASE SPECIFICATION FOR “PLACE RUSH ORDER”
For this assignment, you are asked to update the use case specification for UC “Place
order” and/or to make another use case specification by using the provided template
(e.g., you can model the relationship between UC “Place Rush Order” and UC “Place Order”
as an extension) for the additional UC “Place Rush Order”.
When you finish, please export your work to a PDF file, namely “Use case specification –
Place Order with Place Rush Order.” Then put your work and the exported file in the
directory “Use case specification”.