0% found this document useful (0 votes)
57 views2 pages

Domain Model for BATS System Lab

The document discusses developing a domain model to represent objects, attributes, and associations for a banking system called BATS. It provides instructions on identifying concepts, listing attributes, and modeling the relationships between classes. Students are asked to create a partial domain model for BATS by listing conceptual classes, attributes, and showing class associations.

Uploaded by

ahmadijlal17
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views2 pages

Domain Model for BATS System Lab

The document discusses developing a domain model to represent objects, attributes, and associations for a banking system called BATS. It provides instructions on identifying concepts, listing attributes, and modeling the relationships between classes. Students are asked to create a partial domain model for BATS by listing conceptual classes, attributes, and showing class associations.

Uploaded by

ahmadijlal17
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • LAB 4: Domain Model
  • Case Study: BATS System

BS (Software Engineering) 2023

LAB 4: Domain Model


Objective
In this lab, students will learn how to identify real-world objects, their attributes, associations and how
to model all this using Domain Model.

Theoretical Description
A Domain Model is used to represent entities and it illustrates meaningful concepts in a
problem domain. It may show concepts, associations between concepts and attributes of
concepts.
A UML domain model will relate objects in the system domain to each other. It will define concepts
and terms. Objects in the domain model can be:

* Physical objects
* Abstract concepts

List Objects (Concepts)


To help the development of a domain model, it is important to identify nouns and noun phrases.
Concepts that may not ultimately become objects may be listed for completeness and for discussion.
The following types of concepts should be listed:
* Actor roles
* Events
* Transactions
o Transaction line items
* Objects (physical)
o Containers
+ Items (in container)
o Other systems
o Organizations

Nouns can be taken from the requirements definitions and use case drawings. This means at this point
all your use case drawings should be done. Actors should not be emphasized in the domain model.

Domain Model Syntax


After the list of concepts is complete a domain model should be made. Consider which simple items
should be attributes of objects. The domain model is a static model. Time flow, with sequence of events
or information flow is not shown in the domain model. The objects in the domain model are candidates
for programming objects.
NOTE: Domain Models are created using Class Diagram notations.

1. Start MS Visio. Select Softwares and Databases category. Select UML Model
Diagrams.
2. Select Static Structure.

Class Structure:

11
BS (Software Engineering) 2023

Note: To modify this structure to suit needs of a domain model, right click it, select shape
display Options, Uncheck Operation Parameters from General group and Check Operations in
Suppress group.

Case Study: BATS System


The Bank Accounts and Transactions System (BATS) is to be built for the Prime Bank
Corporation. It must handle clients' bank accounts and the services on these accounts, i.e.,
deposit, withdraw, transfer, get balance, etc.
The transactions are recorded, because at the end of each month, the system sends out account
statements to all clients showing all transactions performed for their accounts during the last
period. The system sends the statements to the printer from where a junior clerk posts them.
The system is accessed by the bank's clients only indirectly, i.e., either via a teller, or an ATM,
or the Internet. All transactions and queries are possible via a teller; all transactions and queries
are possible except deposits via an ATM; and all except deposits and withdrawals via the
Internet. Opening an account can be performed only via a teller and the Internet; however, if a
client opens an account via the Internet they must identify themselves with a teller to have their
account activated (this is government policy to avoid money laundering, e.g.). Closing an
account can only be performed by a teller, and it requires a final statement to be sent out to the
client. The Bank offers various account types, which fall into two categories: savings and
checking. Savings accounts cannot be overdrawn. There can be a credit limit, subject to
agreement by the bank, on checking accounts; a checking account cannot be overdrawn beyond
this limit.
Lab Task
Develop a partial Domain model for the given BATS system. Identify the concepts, attributes,
and associations explicitly. This lab task submission must include:
1. List of possible conceptual classes
2. Attributes for each class
3. A partial domain model showing the conceptual classes and association between them.

12

Common questions

Powered by AI

The domain model for the BATS system illustrates operational constraints through its depiction of entities, attributes, and associations. For instance, it demonstrates the restrictions on transactions by highlighting the different methods of accessing services: tellers can facilitate all transactions, ATMs can perform actions except deposits, and the Internet is limited further by excluding withdrawals. It conveys the necessity of teller identification for Internet-based account openings to prevent fraud, as per government policy. Additionally, the model shows account constraints such as savings accounts being non-overdraft and credit limits on checking accounts. This level of detail in the domain model ensures compliance with operational policies and regulatory requirements .

The requirement for an account opened via the Internet to be activated by a teller is a security measure designed to reinforce identity verification and comply with government regulations, such as those preventing money laundering. This policy ensures that an individual's identity is confirmed in person before full account functionality is granted, thus controlling fraudulent access and verifying customer authenticity .

Identifying nouns and noun phrases is crucial in developing a domain model because they often represent potential concepts or entities within the system. These concepts might include physical objects, roles, transactions, or abstract entities necessary for modeling the problem domain accurately. By recognizing these, a clearer picture of the essential components and their relationships emerges, facilitating more consistent and comprehensive domain models .

In a domain model, actors are typically those entities that interact with the system but are not the primary focus of the model itself. The actors, such as users or external systems, initiate interactions and influence the flow of data or processes. However, they should not be emphasized in the domain model because the primary goal of the model is to define and understand the core concepts and relationships within the problem domain, focusing on the entities and their attributes and associations rather than the entities that drive the system's functions .

Domain models inherently lack the capability to represent time-dependent behaviors and procedural flows, focusing instead solely on static structure. In the context of the BATS system, this means the domain model will not depict the sequence of operations needed for transaction processing or customer interactions in real-time, such as the steps a client goes through when making a deposit at an ATM. While it effectively defines entities and their relationships, it does not convey how the system dynamically performs transactions or handles concurrent operations, requiring complementary modeling techniques for a full operational understanding .

Illustrating associations between concepts in a domain model is critical as these associations define how different entities interact or relate to each other within the system. Understanding these relationships provides insights into how the system operates and reveals dependencies that are essential for accurate software development. These associations inform how changes in one part of the system might affect others, aiding in impact analysis, ensuring data integrity, and assisting in the comprehensive design of the system's structure and functionality .

Closing an account is restricted to being performed solely via a teller to ensure accurate verification and completion of all necessary procedures involved in account termination. This restriction can facilitate comprehensive user identification, careful processing of final statements, and adherence to all regulatory requirements, reducing errors or fraudulent account closures and ensuring that all financial obligations are addressed before finalizing the process .

In the domain model for the banking system, 'transaction line items' serve as detailed records within a broader transaction entity, capturing the individual elements or actions undertaken during a financial operation. This concept is significant because it allows the model to represent the granularity of financial transactions, maintaining a precise historical record of all actions that can be audited or referenced for compliance and customer account history. It ensures that each transaction is itemized and accounted for, providing clarity and accountability .

A domain model is a static representation of a system that focuses on the identification and relationships of objects and concepts at rest, rather than their behavior over time. It emphasizes the entities, their attributes, and the associations between them without considering the temporal flow of events. In contrast, dynamic models such as behavioral or sequence diagrams detail how the system responds to events, showcasing the interaction sequences, state changes, and time-dependent behaviors. These dynamic models capture functional behavior and show how entities interact within processes, providing a time-based viewpoint of system operations .

In representing BATS operations, the domain model would employ UML class diagram notations to define entities like 'Account', 'Transaction', and 'Client', alongside their attributes such as account number, balance, and client ID. Associations would portray relationships like clients holding accounts or transactions being linked to specific accounts. By using class specifications, the model encapsulates operational rules, such as account constraints (e.g., savings accounts cannot be overdrawn), ensuring these are visually represented in the classes and their interconnections .

BS (Software Engineering)  2023 
 
11 
 
LAB 4: Domain Model 
Objective 
In this lab, students will learn how to identify rea
BS (Software Engineering)  2023 
 
12 
 
Note: To modify this structure to suit needs of a domain model, right click it, sele

You might also like