RE_Lecture 20

RE_Lecture 20

Introduction to Use Case in Banking System

Overview of Withdrawal Process

  • The discussion begins with an introduction to a use case scenario in a banking system, specifically focusing on the process of withdrawing money.
  • The banker must first determine the account from which the withdrawal will be made.
  • Verification is required to ensure that the customer is authorized to perform transactions on their account.

Steps for Money Withdrawal

  • The banker checks how much money the customer wishes to withdraw and verifies if it complies with bank regulations.
  • It’s essential for the bank to confirm that the funds being withdrawn are permissible under its policies.
  • The status of the account is also checked; for instance, whether it is blocked or has any restrictions.

Customer Requirements for Withdrawal

Conditions for Successful Transaction

  • Customers must have an active account at the bank and possess an ATM card along with a PIN code.
  • After fulfilling these conditions, customers may either receive cash or explanations from ATM machines if withdrawals fail.

Exception Handling

  • Various exceptions can prevent successful transactions; understanding these exceptions is crucial for both customers and bankers.

Object Modeling in Banking Systems

Understanding Class Diagrams

  • Discussion shifts towards object modeling, emphasizing class diagrams as essential tools in system design.
  • Class names should not have underscores beneath them, indicating they are distinct entities within a model.

Interaction Between Classes

  • Users (customers), who interact with classes like 'Bank' or 'Account', typically lack knowledge about underlying class structures or functions.

Transitioning from Analysis to Design

Importance of Detailed Specifications

  • As systems transition from analysis to design phases, more detailed specifications are added based on initial requirements gathered during analysis.

Role of Designers and Developers

  • Designers focus on creating interfaces while developers implement functionality based on those designs. This collaboration ensures effective communication between teams.

Challenges in Identifying Classes

Techniques for Class Identification

  • Identifying classes can be challenging; techniques such as forward engineering (designing new systems based on requirements).

Utilizing Existing Knowledge

  • Reusing existing solutions can help streamline class identification by leveraging previous experiences and established patterns.

Analyzing Scenarios for Class Creation

Scenario Analysis Methodology

  • Analyzing scenarios helps identify potential classes by examining actions and interactions described within those scenarios.

Defining Relationships Among Classes

  • Establishing relationships among identified classes aids in structuring data effectively within a system architecture.

This structured approach provides clarity into complex discussions surrounding banking processes, object modeling, and software design methodologies.