Assignment00 SRS
Assignment00 SRS
1. SUBMISSION GUIDELINES
When you want to submit your individual work of in-class tasks for the Case Study,
you have to push your work to your individual GitHub repository, complied with
the naming convention “TeamName-StudentID.StudentName” (e.g.
TKXDPM.KHMT.20231.20192012.HoangNghiaPhu or TKXDPM.VP.20231-
20192122.LuongHongHai).
2. IN-CLASS TASKS
In this lab, we continue with the requirement modeling and try it ourselves with
Use case diagram, Flow of events, activity diagrams, and 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.
2.1. USE CASE DIAGRAM WITH ASTAH
Please see the following link to know how to make a use case diagram with Astah.
https://astah.net/support/astah-pro/user-guide/usecase-diagram/
2.2. USE CASE DIAGRAM FOR THE CASE STUDY
In this part, you are asked to draw the Use case diagram for AIMS Project by
using Astah. When you finish drawing the diagram, export your diagram to a PNG
file. Please create a directory named “Use case diagram” inside the directory
“Requirement Analysis” to store your diagram (include both .astah file and
exported PNG file).
Figure 1-An Example of Use Case Diagram for AIMS Project (not complete).
Figure 1 is an excample of use case diagram (incomplete). Please read the problem
statement of AIMS, and complete the use case diagram.
2.3. USE CASE SPECIFICATION
In use case models, a use case describes a flow of events which is performed by the
software and yields an observable result of value to a particular actor.
In this subsection, we would use the two use cases, UC “Place Order” and UC “Pay
Order”, to demonstrate how we can make a flow of events or use case specification.
Please note that there does not exist a best answer, but an reasonable answer.
2.3.1. Use Case Specification for UC “Pay Order”
In this part, you are asked to fill in the provided template for the use case
specification of UC “Pay Order” by using the following solution. When you
finish the task of this part, please export your work to a PDF file, namely “Use case
specification – Pay Order.”
This use case describes the interactions between the AIMS software with the
customer and Interbank when the customer desires to pay order. The precondition
of this use case is that the AIMS software has calculated the total amount of money
which the customer has to pay. On the other hand, there is no need of specification
of output data nor the postcondition. An incomplete example for 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 confirms to pay order
HANDS-ON LAB GUIDELINES
© SOICT- HUST
ITSS SOFTWARE DEVELOPMENT – IT4945E
3
Step 3. The AIMS software asks the Interbank to process the payment
transaction
Step 4. The Interbank processes the payment transaction
Step 5. The AIMS software saves the payment transaction
Step 6. The AIMS software displays transaction information
The alternative flows of events of this use case are illustrated in the following table.
1. At Step 3 If the card info is in invalid § The AIMS software notifies that At Step 1
the card info is invalid
2. At Step 5 If the card info is wrong § The AIMS software notifies that At Step 1
the card info is wrong
3. At Step 5 If the balance is not enough § The AIMS software notifies that At Step 1
the balance is not enough
Descrip
No Data fields Mandatory Valid condition Example
tion
1. Transaction ID
Transaction
4. Content
Sau khi thanh toán thành công, hệ thống sẽ hiển thị mã giao dịch (transaction ID), tên chủ
thẻ, số tiền bị trừ, nội dung giao dịch, số dư (balance), ngày giờ giao dịch.
Template of Use Case Specification is shown as below.
7. Input data
Table A-Input data of …
1.
8. Output data
Table B-Output data of …
6.
9. Postconditions
Receiver
1. Yes Do Minh Hieu
Name
Phone
2. Yes 10 digits 0987654321
Number
Choose from a
3. Province Yes Hanoi
list
Shipping
5. No
instructions
We also need to specify which the output to the actor(s) since it is the main factor
that impacts on the input from actor(s). For instance, the output data when
displaying the invoice is shown in the following tables (the rows with green
shading are repeated for all media products in the cart/invoice).
Table 2-Output data of displaying invoice
9. Currency VND
Phone
11. 0987654321
number
Shipping
14. instructions
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 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 valid condition for the phone number. Thus, we need inset at
least two more events into the flow so as to validate the two corresponding inputs.
Additionally, depending how you design, you might want to check the input from
UC “Pay order” at Step 9.
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 instances, the sub-flows for UC “Place Order” is shown as follows.
The alternative flows of events of the use case “Place order” are illustrated (not
complete) in Table 1.
1. At Step 3 If the products are not § The AIMS software notifies that Use case
available the the products in the cart are ends
not available and come back to
the use case “View cart”
2. At Step 5 If the delivery info is invalid § The AIMS software notifies that At Step 3
the delivery info is invalid (blank
or wrong format)
3. At Step 5 If the user chooses to place a § The AIMS software inserts use At Step 5
rush order case “Place rush order”
4. At Step 9 If the order payment is not § The AIMS software notifies that At Step 8
successul the payment is not successful
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 efforts for us, the system, and the
users. To illustrate, the customer cannot finish placing order for some reasons.
Thus, we can save some information for later such as the list of media in 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 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. 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.4.3. Activity diagram(s) of UC “Place Order” with “Place Rush Order”
As can be seen, the incomplete flow of events in the part 2.3.2 is clearly represented
in the activity diagram in 2.4.2. 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” with
“Place Rush Order” by using Astah. If you consider “Place Rush Order” as an
extension use case, you need to two activity diagrams: one for UC “Place Order”,
another for UC “Place Rush Order”. Otherwise, one activity diagram is enough.
When you finish the task of this part, please export your work to a PNG file, namely
“Activity Diagram – Place order with Place rush order,” and save your work in a
directory, namely “Activity diagrams.”
3. HOMEWORK ASSIGNMENTS
3.1. COMPLETE AT-CLASS EXERCISES
Complete all in-class exercises (in section 2,3) following the guidelines.