Software Engineering Methodologies Assignment
Purpose: 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.
Introduction:
The banks in Australia (and most of the other countries having 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 the identical flow. As for example, a transfer starts after usual login and standard authentication. After that, 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 system allows 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 the development of this software in a new Bank. Your task is to oversee the development of this Real-time system required to ensure secured money transfer.
Description:
The RMT should work according to the following rules:
Step-1: Sender enters the interface after successful authentication
Step-2: Selects the account (multiple account may be linked in one interface) and amount to transfer
Step-3: Select the recipient of the transfer either
a) from an already Save info and move to Step-6, OR
b) by entering the recipient name and account info
Step-4: The bank sends a code in SMS in sender's mobile number (which is already stored in the bank database)
Step-5: Sender retrieves that code from SMS and enters the code in the website/ app and resume the transfer
Step-6: Transfer is completed and a confirmation message is shown.
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. Process Specifications (Pspecs) - a psuedo-code or similar design language specification is required for each process at the lowest level.
4. 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".
5. 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.