ITECH 7410: Software Engineering Methodologies
Due Date: Fri, May 01, 2020 - 23:59 (Week 6)
Submission: via Moodle
Assignment Type: Individual
Refer to Course Description, especially in regard to: Extensions, Special Consideration, Late Submissions, and Plagiarism.
The purposes of the assignment:
1. Understanding a real-time and time-critical system
2. Understanding Entity Relationship Diagram and Data Flow Diagram in terms of a real-time software system
3. Analyzing a real-time system and the flow of the corresponding software
The banks in Australia (and most of the other countries having a modern banking system) provide the customers to transfer money between two accounts in real-time. In most of the Australian banks, the transfer software/app, popularly known as Real-time Money Transfer (RMT), has an identical flow. As for example, a transfer starts after the usual log in and standard authentication. After that, the user selects a recipient for the transfer. Having proper authentication (if required), if the total amount to transfer is less than the current balance of the user, the system transfers the money immediately to the recipient. Some of the systems allow the sender to send an email to the recipient to let him know about the transfer. Although the transfer seems to be a straight-forward one, most of the bank enforce additional authentication to ensure the smooth and safe transfer of the money. You are now the in-charge of developing this software in a new Bank. Your task is to oversee the development of this Real-time system required to ensure secure money transfer.
The RMT should work according to the following rules:
Step-1: Sender enters the interface after successful authentication
Step-2: Selects the account (multiple accounts may be linked in one interface) and amount to transfer
Step-3: Select the recipient of the transfer either
a) from an already Saved info and move to Step-6, OR
b) by entering the recipient name and account info
Step-4: The bank sends an SMS code in the sender’s mobile number (which is already stored in the bank database)
Step-5: Sender retrieves that code from SMS and enter the code in the website/ app and resume the transfer
Step-6: Transfer is completed and a confirmation message is shown
Special Remark: Note that the code is valid for 5 minutes only and if you click on: “Send SMS again with Code” for 5 times within a minute, the account will be blocked for an hour. In addition, if the user requests to send multiple SMSs with different codes, only the final code will work.
Your task is to do a Real-Time Structured Analysis for the RMT considering the aforementioned steps and the Special Remark. You are to present your analysis including the following information:
1. An External Entity-Relationship Diagram (ERD) indicating relationships of the RMT and the other external entities in the system.
2. Data and Control Flow Diagrams (DFD/CFDs) - to sufficient detail that only a single task is carried out by each process at the lowest level. You should show the control events that occur on the same diagrams. Use the real-time extensions for control flows etc. shown in the lecture notes. You need to determine when and where events will occur. For example, whenever a piece of data becomes available it may need a control event to let the system know that it is available. These events must be clearly shown in these DFD/CFD diagrams and then handled in the Control Specification (CSPEC).
3. Control Specifications (Cspec) - use combinational or sequential FSMs as required, presented in an appropriate format. The idea is that the Cspec will completely describe how each and every event or control flow is handled in the system. Note you need to provide both -Process Activation Table- and -State Machine Diagram-.
4. A Data Dictionary is required to adequately describe each name or special term used in the analysis, which includes process names, data flow names, control flow names etc. If you think further information is required make reasonable assumptions and clearly state these in the submission.
The assignment must be submitted electronically through Moodle in a zip file (yourid.zip) that contains the following items in separate files:
1. An External Entity-Relationship Diagram (ERD)
2. Data and Control Flow Diagrams (DFD/CFDs)
3. Control Specifications (Cspec)
4. A PDF report in the following structure:
a. Introduction: In one or two paragraphs, describe the key features of the given problem
b. Screenshot ot ERD and a brief discussion on ERD
c. Screenshot of DFD/CFD and a brief discussion on DFD/CFD
d. Screenshot of Cspec and a brief discussion on Cspec
e. Data Dictionary and a brief discussion on Data Dictionary
f. Conclusion: In your own words, write down what you have learnt from this assignment, what are the hurdles you faced to complete the assignment and how did you overcome those issues.
An External Entity-Relationship Diagram 15
Discussion on ERD 5
Data and Control Flow Diagrams (DFD/CFDs) 15
Discussion on DFD/CFDs 5
Control Specifications (Cspec) 15
Discussion on Cspec 5
Data Dictionary 15
Discussion on Data Dictionary 5
Assignment Weight 20%
Include all the files in a ZIP file and name the ZIP file as YOURID_ITECH7410_A1.zip
Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks of assignment submission.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.