Likes

SENGLHS4 Lab at home 4 ans 2

The design team at Janes Technologies has been assigned a task to model the flow of activities required to be performed for withdrawing cash from an ATM. For this, the team needs to create an Activity diagram. Help the team at Janes Technologies to create the Activity diagram.



To create the activity diagram of the cash withdrawal process, you need to perform the following tasks:
1. Identify activities and decisions.
2. Identify partitions.
3. Create an activity diagram.
Identifying Activities and Decisions
A process consists of various activities that you need to identify before you can establish control flow among them. The sequential activities for the cash withdrawal process are:
Insert Card: Signifies the activity to insert the ATM card in the ATM.
Enter PIN: Signifies the activity of the bank customer to enter the PIN.
Accept PIN: Signifies the activity of ATM machine to accept the PIN.
Validate PIN: Signifies the activity of ATM card to validate the PIN.
Display Invalid Card Message: Signifies the activity of ATM to display an invalid message, if the PIN entered by the user is incorrect.
Prompt User Input: Signifies the activity of ATM to prompt the user to initiate a transaction.
Initiate Withdrawal: Signifies the activity for the bank customer to initiate the cash transaction.
Prompt User for Withdrawal Amount: Signifies the activity of ATM to prompt the user to enter the amount in the system.
Enter Amount: Indicates the activity to enter the amount in the system.
Check Available Balance: Signifies the activity of bank account to check the available balance in the user's account.
Display Insufficient Balance Message: Signifies the activity of ATM to display a message for insufficient balance to the user.
Prompt User to Continue: Signifies the activity of ATM to ask the user to continue.
Collect Cash: Indicates the activity of the bank customer to take the money from the ATM machine.
Supply Cash: Signifies the activity of ATM to supply cash to the customer.
Eject Card: Indicates the activity of the bank customer to take the card back from the ATM machine.
The following decisions are made in the process of withdrawing money:
Validate PIN: Confirms the validation of the PIN entered by the user. If it is invalid, the system prompts the customer to enter another PIN.
Check Available Balance: Checks the available balance in the account. If the amount withdrawn by the user is greater than the available balance, the system prompts the user to enter an amount less than the available balance.
Identifying Partitions
Partitioning is done to logically group the activity states so that each group represents the responsibility of a particular class. To partition the activity states, you need to create swim lanes for the following classes:
Bank Customer
ATM
ATM Card
Account

SENGLHS4 Lab at home 4 ans 1

The design team at Janes Technologies has been assigned a task to create a state chart diagram for the InfoSuper bank ATM system. For this, the team needs to perform the following tasks:
. Identify the states of the ATM.
. Identify events responsible for state changes.
. Model the flow of control between the states of the ATM.



To create the state chart diagram for the InfoSuper bank ATM system, you need to perform the following tasks:
1. Identify states.
2. Identify events and transitions.
3. Model the flow of control between the states.
Identifying States
The following states can be attained by an ATM system:
Reading ATM Card
Authenticating Customer
o Reading PIN
o Sending to Bank System for Validation
Accepting Transaction Type
Accepting Transaction Details
Sending to Bank System for Approval
Processing Transaction
Prompting for Another Transaction
Handling Invalid PIN
Dispensing Cash
Printing Slip
Ejecting Card
Identifying Events and Transitions
The following events and transitions take place in the state machine diagram:
When a customer inserts a card into the ATM machine, the state of the machine changes from initial state to Reading ATM Card.
When a customer inserts a PIN. the state of the machine changes from Reading ATM Card to Reading PIN. which is the sub state of the Authenticating Customer state.
To authenticate the PIN. the state changes from Reading PIN to Sending to Bank System for Validation. If the customer enters a valid PIN. the state changes to Accepting Transaction Type. Otherwise, it changes to Handling Invalid PIN.
If the customer enters the PIN maximum number of times, the state changes to Ejecting Card. Otherwise, it changes to Authenticating Customer state.
After successful authentication of a PIN. the state changes to Accepting Transaction Type.
When the customer selects the transaction type, such as Cash Withdrawal or PIN change, the state changes to Accepting Transaction Details.
When the customer enters the transaction details, the state changes to Sending to Bank System for Approval. If the transaction is approved by the Bank System, the state changes to Processing Transaction. Otherwise.it changes to Prompting for Another Transaction.
Similarly, if the customer selects cash withdrawal as the type of the transaction.the state changes from Processing Transaction to Dispensing Cash. However, if the customer selects to get the transaction summary, the state changes to Printing Slip.
When the transaction is complete, the state changes to Prompting for Another Transaction.
If the customer does not wish to continue for another transaction, the state changes from Prompting for Another Transaction to Ejecting Card. However, if the customer wishes to continue, the state changes to Accepting Transaction Type.

SENGLHS4 Lab at home 3 ans 2

The design team at Janes Technologies has identified the various classes involved in the ATM withdrawal process. The team now wants to depict the interaction between various objects using a sequence diagram. Help the team to create the sequence diagram.



To create the activity diagram of the cash withdrawal process, you need to perform the following tasks:
1. Identify activities and decisions.
2. Identify partitions.
3. Create an activity diagram.
Identifying Activities and Decisions
A process consists of various activities that you need to identify before you can establish control flow among them. The sequential activities for the cash withdrawal process are:
Insert Card: Signifies the activity to insert the ATM card in the ATM.
Enter PIN: Signifies the activity of the bank customer to enter the PIN.
Accept PIN: Signifies the activity of ATM machine to accept the PIN.
Validate PIN: Signifies the activity of ATM card to validate the PIN.
• Display Invalid Card Message: Signifies the activity of ATM to display an invalid message, if the PIN entered by the user is incorrect.
Prompt User Input: Signifies the activity of ATM to prompt the user to initiate a transaction.
Initiate Withdrawal: Signifies the activity for the bank customer to initiate the cash transaction.
Prompt User for Withdrawal Amount: Signifies the activity of ATM to prompt the user to enter the amount in the system.
Enter Amount: Indicates the activity to enter the amount in the system.
Check Available Balance: Signifies the activity of bank account to check the available balance in the user's account.
Display Insufficient Balance Message: Signifies the activity of ATM to display a message for insufficient balance to the user.
Prompt User to Continue: Signifies the activity of ATM to ask the user to continue.
Collect Cash: Indicates the activity of the bank customer to take the money from the ATM machine.
Supply Cash: Signifies the activity of ATM to supply cash to the customer.
Eject Card: Indicates the activity of the bank customer to take the card back from the ATM machine.
The following decisions are made in the process of withdrawing money:
Validate PIN: Confirms the validation of the PIN entered by the user. If it is invalid, the system prompts the customer to enter another PIN.
Check Available Balance: Checks the available balance in the account. If the amount withdrawn by the user is greater than the available balance, the system prompts the user to enter an amount less than the available balance.
Identifying Partitions
Partitioning is done to logically group the activity states so that each group represents the responsibility of a particular class. To partition the activity states, you need to create swim lanes for the following classes:
Bank Customer
ATM
ATM Card
Account

SENGLHS4 Lab at home 3 ans 1

The design team at Janes Technologies has created the sequence diagram for representing the order of the messages in a time sequence. Now, the design team wants to create a UML diagram focusing more on the collaborations of objects than the time sequence. Help team to perform this task.




To create the communication diagram for the cash withdrawal process, you need to perform the following tasks:
1. Identify the collaboration and interactions.
2. Create the communication diagram.
Identifying the Collaboration and Interactions

Class/Actor Responsibilities
Bank Customer Inserts the card. Provides PIN. States the amount to be withdrawn.
ATM Accepts and reads the card information. Prompts the user for input. Accepts PIN from the user. Initiates the validation of PIN. Accepts inputs from the user. Checks the account balance of a customer. Supplies cash to a customer. Initiates the action of balance update. Generates the receipt of any transaction. Ejects the card after the transaction is complete.
ATM Card Validates PIN.
Account Retrieves the balance in the user's account. Updates the balance in the account after a transaction.

SENGLHS4 Lab at home 2

1. The design team at Janes Technologies has created the prototype for the InfoSuper bank ATM system. Now, the InfoSuper bank wants the team to model the static structure of the system. For this, the team needs to derive classes and relationships from the use cases of the ATM machine and create the corresponding class diagram. Help the team at Janes Technologies to perform this task.

Solution



To create the required class diagram, you need to perform the following tasks:
1. Identify the classes with their attributes and methods.
2. Identify the relationships between the classes.
Identifying the Classes with Their Attributes and Methods
The following classes can be created for the ATM system:
ATM Card: Maintains the details of the ATM card, such as pin and card id. It performs the actions of accepting PIN from the user, validating PIN based on the information stored in the database, and updating PIN on user demand.
ATM: Maintains the details of the ATM machine, such as its location, bank branch, and available cash. It performs the actions of making a transaction from the ATM, such as accepting the card, reading the card, accepting PIN. withdrawing cash, and printing transaction summary.
Account: Maintains the details of an account, such as the account number, and balance. It performs the actions of retrieving the account details and checking and updating account balance.
Current Account: Maintains the details of the current account. Apart from the details mentioned in the Account class, it also includes an additional attribute for maintaining the overdraft limit for the current account.
Saving Account: Maintains the details of the savings account. Apart from the actions mentioned in the Account class, it also calculates the rate of interest for the savings account type.
Bank Customer: Maintains the details of the bank customer, such as customer name, phone number, and email address. It performs the actions of retrieving and updating the customer details.
Address: Maintains the details of the address of the bank customer, such as house number, city, state, country, and zip code. It performs the actions of retrieving and updating the address details.

Identifying the Relationships Between the Classes
The following relationships can exist between the classes of the system:
Each ATM card is associated with an account. Therefore, the ATM Card class has one-to-one association relationship with the Account class.
ATM verifies whether an ATM card is valid or not. Therefore, the ATM class has a directed association relationship with the ATM Card class.
A bank customer uses ATM for money transactions. Therefore, the Bank Customer has a directed association relationship with the ATM class.
An account can be of the type, current or savings. The accounts have some common as well as different attributes. Therefore, there are two classes. Current Account and Savings Account, which generalize to form the Account class.
A customer can have multiple bank accounts. In addition, one account can be associated with multiple account holders. Therefore, the Bank Customer class has a many-to-many association relationship with the Account class.
A bank customer can have one permanent address. Therefore, the Bank Customer class has a one-to-one composition relationship with the Address class.

SENGLHS4 Lab at home 1

The Project Manager at Janes Technologies has created the use case diagram for the InfoSuper bank ATM system. Now, the InfoSuper bank wants Janes Technologies to develop a prototype with few basic functions of the proposed software system before proceeding with the final software development. The functions that the InfoSuper bank wants in the ATM prototype are:
¦ Allow customers to withdraw cash from the current and savings accounts.
¦ Allow customers to change their PIN.
¦ Allow customers to obtain a transaction summary.
Moreover, the ATM machine validates the ATM card and PIN of the bank customers before allowing them to use other features.
The Project Manager. Jennifer, adopts an iterative approach for the development of the software system. She decides to deliver the prototype after the second iteration of the software development life cycle. In the first iteration. Jennifer plans to implement the required functions only for the savings accounts. In the second iteration, she plans to implement the required functions for the current accounts as well. Help Jennifer to identify the system boundaries and create the use case diagrams for each prototype.
SOLUTION




To create the use case diagram of the ATM system, you need to perform the following tasks:
1. Identify the use cases and actors for the first iteration.
2. Identify the use cases and actors for the second iteration.
Identifying the Use Cases and Actors for the First Iteration
To identify the system boundary for the first iteration, you need to identify the use cases and actors. The use cases for the first iteration are:
Cash Withdrawal (Savings)
PIN Change (Savings)
Transaction Summary (Savings)
The actors for the first iteration are:
Bank Customer
Centralized Bank System
In the first iteration, the Cash Withdrawal (Savings). Change PIN (Savings), and Transaction Summary (Savings) use cases can be performed only when the customer is validated by the centralized bank system. Therefore, the Validation use case should be included in the Cash Withdrawal (Savings), Change PIN (Savings), and Transaction Summary (Savings) use cases.
Identifying the Use Cases and Actors for the Second Iteration
In the first iteration, the use case diagram for the savings account is created. Now. in the second iteration, the use cases need to implement the current account function. The basic functions of the corresponding use cases in both the iterations are the same. Therefore, the functions of the use cases of the first iteration can be extended to obtain the use cases of the second iteration.
The following figure depicts the use case diagram that represents how the functions of the use cases of the first iteration can be extended to obtain the use cases of the second iteration.