Forums for the Business Analyst

 
  Modern Analyst Forums  Business and Sy...  Requirements  Context Diagram: Bank ATM Example
Previous Previous
 
Next Next
New Post 5/16/2008 9:59 AM
User is offline Adrian M.
764 posts
3rd Level Poster




Re: Context Diagram: Bank ATM Example 

 Jay wrote

Hello Adrain and team members

Below is a link that gives good info in data flow diagrams and context diagrams. After reading this,  i have made some changes to my context diagram which I am uploading right now.

http://www.cems.uwe.ac.uk/~tdrewry/dfds.htm

Thanks :- Jay

Hi Jay & Sonavi,

Let me address some of your questions and comments:

  • Jay: the Login process would NOT be part of the Context Diagram (Level 0 DFD).  The Context Diagram should only show the main process/function/system and the related external entities or even external data stores (if any).  This type of detail would be covered in the lower levels of the DFD probably even lower then Level 1.
  • Jay: You are correct... when moving on to the next level you would consider what are the key sub-processes of the system and show those as processes at Level 1, for example: "Withdraw Cash", "Deposit Money", etc.
  • Jay: Yes - you can, if you want, use both DFDs and Use Cases on the same project.  Think of these diagrams as tools available to you.  On my part, I tend to create a Context Diagram for the project to show the system and the external entities (systems, users, etc.) and then stop there and use Use Case Diagrams to show the more detailed functionality.  However, on projects which are data flow intensive I will decompose the Context Diagram (Level 0) into lower levels. 
  • KEY POINT: Use each tool/method for the right purpose and only if it make sense or else you'll get frustrated with the worldFor example, the hammer is a great tool if you are trying to drive nails into wood.  If you are trying to put some screws in the same piece of wood I would suggest a screwdriver.  Now in the BA world, many folks would use the hammer to drive in the screws into the wood.  Depending on the type of wood, this might work in some case, but in most case you'll crack your piece of wood (aka project), get frustrated with the hammer (aka the tool) and you will think that hammers suck (aka.  use cases are bad), or smack your fingers and think you are a bad carpenter (aka you'll think you are not a good analyst).
  • Sonavi:  you are correct... in the Context Diagram you don't want to add much details on the data flows since that will be handled by the subsequent levels of the DFDs.  The main purpose of the Context Diagram is to put the system in the context of the external entities.  What I like to do is, between any two objects on the Context Diagram, I have at most 2 data flows.  If data flows (regardless of what data) in only one direction (such as providing daily data feeds to an external reporting system) then I show one data flow between the two objects in the correct direction.  If there are instances where the data flows both ways then I show two data flows one pointing one direction and the other in the opposite direction.
  • Generally, at the Context Diagram level I don't label the data flows since the focus is on 3 things:
    • The system/process being described
    • The external entities
    • The direction of the data flow

- Adrian


Adrian Marchis
Business Analyst Community Blog - Post your thoughts!
 
New Post 5/16/2008 10:34 AM
User is offline sonavi
37 posts
9th Level Poster


Re: Context Diagram: Bank ATM Example 

Hi Adrian

Thank you for your advise. I have few more questions if you can please clarify

1. I read online in a document that we dont include data store in the context level diagram, but we use it in the next level diagrams. Is this correct?

2. I didnt know the exact procedure as to how the cheques and non-cash instruments will be collected from the ATM. Is there a seperate process for that or do the cyber bank employees go and collect them. I have drawn a two-way process in the context level diagram is that how we are supossed to handle.

3. Jay has included a new external entity as WEB SERVICES   in his context diagram i didnt think that it is a seperate entity in the process . What i understood is that webservices is part of the the online banking systems . Please correct me

if i am wrong.

4. I have included an external entity as XYZ company which delilvers the cash to the ATM whenever the bank employee sends them an alert message. I thought that is also a part of the

requirements when i read that please correct me if i am wrong.

I already attached my context level diagram but i am again attatching it and if you can go through the diagram and please let me knwo if i am in the right direction i will go ahead

and proceed to the Level 1 diagram and then to the Use case

Thanks

sonavi


 
 Login to download attachment
New Post 5/16/2008 12:02 PM
User is offline Adrian M.
764 posts
3rd Level Poster




Re: Context Diagram: Bank ATM Example 

Hi Guys,

1. I don't claim to be an expert in all the detailed rules for DFD diagrams (since there isn't a standards body managing this) so you might be correct.  I guess if the system needs to pass data to an external database that database can be modeled as an external entity.

2. This is a good question.  The Cyberbank employee would do this.  If not in the requirements let add this to the requirements doc.  Can you guys update this?

3. The Web Service does not need to be in the Context Diagram as it's just a technical constraint on the "how" the OBS would expose its functions to the ATM system.

4. This is not part of the requirements.  You said that you thought this is also a part of the requirements.  I read the requirements and did not see anything related to a cash deliver company, unless I'm reading the wrong version of the doc.  Lesson Learned:  Make sure to verify and document assumptions which are not already documented.  Until the assumption is validated the business analyst should not act on it by modifying the analysis documents and models.

I have a favorite line I use with the teams of analysts that I work with: 

"When you ASSUME you make an ASS of U and ME.!"  ;-)

A few more thoughts:

  • In Sonavi's diagram there is a relationship between the "Cash Company" and the "Cyberbank Employee".  My understanding is that Data Flow Diagrams do not provide/allow for relationships among external entities.  I don't think that data flow should be in the Context Diagram.
  • I mentioned this in my previous post: I would not put data flow labels in the Context Diagram to avoid confusion:
    • if data flow labels are very generic then they have no purpose since it does not communicate anything specific
    • if data flow labels are very specific and detailed then you will likely not be able to include all details and now you have a diagram which shows some details but not others which causes confusion. 

While for this specific example, there would not be a need to detail out both the Data Flow Diagrams and the Use Cases, for the purpose of learning, go ahead and create the Level 1 Diagram and maybe level 2.  Then we can move one and create a separate thread for Use Cases.

- Adrian


Adrian Marchis
Business Analyst Community Blog - Post your thoughts!
 
New Post 5/19/2008 9:09 AM
User is offline Jay
10 posts
10th Level Poster


Re: Context Diagram: Bank ATM Example 
Modified By Jay  on 5/19/2008 11:25:57 AM)

Hello Adrian

 

I have gone ahead and created a new context diagram, Level 1 and Level 2 diagrams. I have yet to complete 3 more processes in level 2. I am not sure whether I am heading in the right direction. I have a lot of queries :

  1. In Level 1 diagram, what I understand is that we show data stores also. I do not know whether it is mandatory ? I have not shown in my diagram as I wanted to highlight on the main functionality.
  2. Cyberbank Online :  Is it a direct entity or indirect ?
  3. I have show a process named Error which could be decomposed further. It throws a exception which could be due to various reasons. It should actually be going back to the main menu giving the user the chance to redo the transaction. Do I show all this in Level 2 or for that I need to do it in Level 3 diagram.
  4. In the process Deposits : the user has two choices of deposits : depositing cash and deposting cheques. If they are depositing cash, does the ATM take the money and count or the user puts it into a envelope and fills in the amount it has deposited.
  5. Print Mini Statements : Does the user get the chance to select the dates for which he wants to print the statement or there is a standard format. Does the user have to pay a fee on this.
  6. Print Receipt : Does this choice come in the end of every transaction or it has to be shown right in the beginning before we start any transacation.

Thanks a lot  for your advice and bearing up with us : Jay

 
 Login to download attachment
New Post 5/19/2008 11:20 AM
User is offline sonavi
37 posts
9th Level Poster


Re: Context Diagram: Bank ATM Example 

Hello Team,

I apologize for wroking slow, it was a weekend and i just took a break. Thank you adrian for your advise and helping us in learning. I did make some changes in the context level diagram as advised by you. I realized my mistake that the data cannot flow between external entities, and i thank  you for pointing out that mistake.

Jay I saw your diagrams and looks like you have been working the whole weekend. Great going! I am actually inspired by your work and I will try my best to work as hard as you are working. I finished my Level 1 Diagram and it is quite different from yours.

I have few questions for Adrian andSr. Business Analyst

1. Do we have to show the detail process in Level 1 diagram. What i have understood is that at the Level 1 diagram we show the main process and then at the later stages we decompose each process into sub process. Please correct me if i am wrong.

2. Cyber Bank ATM is a process and how do we show the data store ( ie., whenever the customer deposits cash/ cheque/ non-cash instruments they  are stored in the ATM machine so in the context level diagram how do we show this.)

3. Customer Exits/Ends the transaction so after that process should we leave it just like that   or should we again  connect that process back to the customer.

4.Jay has few more questions which were not clearly mentioned in the requirements. So does this mean that we still have to work on the requirements part because we might get more questions in future which are not clear by reading the requirements. So does this mean that requirements gathering is an ongoing process?

I am attaching the level 1 diagram please point out  mistakes what we have made and  help us in learning more. We appreciate all your help

 

Thanks

Sonavi

 
 Login to download attachment
Previous Previous
 
Next Next
  Modern Analyst Forums  Business and Sy...  Requirements  Context Diagram: Bank ATM Example

Community Blog - Latest Posts

Fabricio Laguna talks Business Analysis and AI
I recently connected with Fabricio Laguna, aka The Brazilian BA. Fabricio is a passionate and pioneering business analyst from Brazil. During our conversation, we had a thought-provoking discussion on how artificial intelligence stands to shape the field of business analysis in the years ahead. While AI promises to transform many aspects of busines...
Business Architecture, Ontology and More with Terry Roach
It's been a privilege meeting Terry Roach, a visionary in the field of enterprise architecture and business architecture. Terry's insights into the evolution of business models, the importance of ontology in architecture, and the potential of AI to shape our future were not only thought-provoking but also a reflection of his extensive exper...
Today I had the pleasure of chatting to Jignesh Jamnadas, Chief Operations Officer at Mosaic, about his Blueprints for Success. As a Senior Finance and Operations Executive, Jigs (as he is known to many) has a holistic understanding of all facets of business and a flair for managing both people and processes. Having worked with Jigs, I was struc...

 



Upcoming Live Webinars




 

Copyright 2006-2024 by Modern Analyst Media LLC