Book a Demo

Author Topic: Help with UML  (Read 5348 times)

finnious

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Help with UML
« on: March 24, 2009, 01:45:55 pm »
Any help would be greatly appreciated! This is what I'm suppose to do


"We are going to create a banking application. The bank will keep track of bank accounts
and transactions associated with these accounts. Bank accounts will have an owner’s name, an
account number, a balance, and a set of transactions related to the account. Transactions will
store an ID, an amount, a reference to the account it applies to, a type (which could be “deposit”,
“withdrawal”, “earned interest”, or “overdrawn penalty”), and a “note” area where an English
description of the transaction can be placed. We will need to be able to make deposits and
withdrawals to accounts. Doing so should create an “audit trail” of transactions, so that the bank
can keep track of account activity (i.e., a new transaction should be created for each activity).
The bank needs to be able to create and delete accounts. It also needs to be able to apply
monthly interest to all of its accounts with a positive balance and add a monthly overdrawn
penalty to all accounts with a negative balance.
Transactions should be able to “undo” themselves, which is to say that the monetary
impact a given transaction has on an account should be reversible. In order to reverse the impact
of a transaction, another transaction should take place for the account that has the opposite effect.
So, for instance, if the transaction being reversed is an “earned interest” or a “deposit”, then the
compensating transaction should be a “withdrawal” transaction for the same amount that also
includes a phrase like “Reversal of transaction # <id of the transaction being reversed>”. If the
transaction being reversed is a “withdrawal” or an “overdrawn penalty”, then the compensating
transaction will be a “deposit” with the same style of note recording the ID of the transaction it is
being used to reverse."

UML Class Diagram

I just have no idea where to start.
« Last Edit: March 24, 2009, 01:46:34 pm by finnious »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Help with UML
« Reply #1 on: March 24, 2009, 07:44:10 pm »
Hmm, smells a lot like homework to me ;D

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Help with Homework
« Reply #2 on: March 25, 2009, 09:00:52 am »
Nothing wrong with your sense of smell, Geert!

Homework isn't necessarily OT for this forum, although I'm not sure why it landed in the Suggestions board.
« Last Edit: March 25, 2009, 09:02:16 am by KP »
The Sparx Team
[email protected]

bioform

  • EA User
  • **
  • Posts: 230
  • Karma: +0/-0
  • Forty-Two?
    • View Profile
Re: Help with UML
« Reply #3 on: March 25, 2009, 10:00:08 am »
Well start identifying the "things", then the types of activities (maybe these could be related to a use case, where you could describe the "steps".)

Then walk through a very simple scenario with the scope of your use cases, and see what kind of info you would need to satisfy some of those "requirements" that are talked about within that run-on paragraph.

Again, I would:
1. Identify candidates for "things" and give them a brief definition (a sentence or two at the most)
2. Review the list of "things" and see if some of them are really the same thing, just called something else (e.g., Car and Auto) – kind of like normalization in the database world...
3. Identify "actors" and "Stakeholders" and think about how the actors will be interacting with the system, and what are the stakeholder’s needs that need to be fulfilled/protected (e.g., Every customer needs to be uniquely identified, so I know who's account we are dealing with. The accountants would certainly want to be able to "follow" the transaction paths, so what info would you need to meet their auditing needs?)

Once you are that far, you should start to see your classes fall out of your analysis with attributes and the context of their use should help you identify the needed operations....

Hope that helps!

You are learning about a very important part of software engineering (requirements and analysis.) If you learn to think in an object oriented analysis mode, then your chances of success greatly increase.

Good luck and let us know how you are progressing...

And yes it would be better to post in the "general" forum.
BTW are you using EA?

bioform
Time is what keeps everything from happening at once, Space is what keeps it all from happening to you. <unknown>