Class diagram & Business Analyst

What is Class diagram? and what is Business Analyst to do with a class diagram ?

Class diagram is type of structural diagram which show cases the entire system in different blocks of classes in a structural format. A class diagram will be mostly used in the UML (Unified Modelling Language).

 

Class diagram sample

Class diagram sample

So, A class diagram shows the structure of the system by representing a Systems Classes and its sub classes. In the above diagram, Checking account, savings account & Loans are classes. Home loan, Car loan are sub classes of ‘Loans’.

Normally these class diagrams are drawn in MS Visio where different shapes can be drawn with less effort. Other tools can also be used depending upon your company licensing.

Use case diagram Sample

Use case diagram definition:

A use case diagram is the pictorial representation of how a user interacts with the system. Use case diagram typically contains ‘Actors’ and ‘Events’. Actors are the entities who trigger the events. Event is a set of rules or a transaction that will occur by an actors action. Below is the sample use case diagram how it looks like.,

 

use case diagram sample

use case diagram sample

Business Analyst Interview Questions

It is very important to know the fact that Business Analyst interview questions vary from domain to domain. If you are applying for a Business Analyst position in an insurance company, you might face some insurance domain based questions, if you are applying for a financial firm like bank or investment banking etc.. then you might likely face some financial based questions.

Being said that, there are common Business Analyst interview questions which you will face by the interviewer irrespective of the domain of the company. In this training session, we will be discussing those common Business Analyst interview questions.

Q1: What are the roles and responsibilities of a Business Analyst?
A1:

  • Business Analyst must be well versed with gathering requirements from the stake holders and should have good understanding of the business.
  • Need not be good at technical front, but it is always a plus if you have some technical understanding as it will help you while dealing with developers.
  • after gathering requirements, a Business Analyst will make a fine documentation from those and they are called as functional specifications.
  • These functional specifications will be given to developers and testers for their understanding of the task in question.
  • Will have to attend daily ongoing meetings with stake holders and developers to discuss about the progress of the project.
  • Will act as a bridge between stake holders (Business owners) and developers. If developers got some questions, they reach out to Business Analyst. At the same time if stake holders got a question about development, they reach out to Business Analyst.
  • Business Analyst will interact with quality team as well to see if the testing process is going smoothly.
  • Business Analyst will draw flow charts, use case diagrams, business flow, data flow diagrams if necessary. This pictorial representation of business is helpful to both stake holders, developers and quality team.

Q2: What are the main deliverable of a Business Analyst?

A2: Requirements documents, Functional specifications, Use case diagrams, flow charts, ongoing support to development team and quality team until end of the project.

Q3: What is the use of use case diagrams? is it really helpful?

A3: Use case diagram is very helpful to understand the project. It gives the pictorial view of the application so any body with  no technical back ground can easily understand whats going on. Hence it is very useful.

Q4: What is the difference between Business Analyst & SME ?

A4: This is some what interesting to differentiate the differences between these two. Both Business Analyst and SME (Subject matter expert) must have good understanding of the business. But a Business Analyst must have some technical knowledge such as familiarity with MS tools, drawing use case diagrams etc..

But an SME must have excellent business knowledge unlike a business analyst. SME is purely dedicated to the business and in other words, he is one of the real team who is working with the business from long time. He is mostly limited to clarifying any questions or some critical discussions that a Business Analyst can not answer or has some confusion.

In most organizations, business analyst and SME work together.

Business Analyst should learn these tools

Though a Business Analyst need not be a good coder, but he should have moderate to expert level knowledge to some simple tools. In this training session we will see what are the most important tools that a Business Analyst should be familiar with.

MS Word: MS Word is one of the must and most widely used tool for any Business Analyst. In fact this is a must know documenting tool for most of the computer literates, at least to make your curriculum vitae.

Excel: Microsoft Excel sheet is also an important tool to be familiar with. Test cases, requirements documents are most commonly written in Excel sheet. So for a Business Analyst it is important to learn Excel.

MS Visio: Is Microsoft’s popular diagramming application. This tool is popularly used by Business Analyst to draw flow charts, data flow diagrams etc..

Requisite Pro: IBM’s Requisite pro is one of the popular tools used to store requirements of a project. A ‘Business Analyst’/’Requirements analyst’ who is responsible to write the requirement must know this tool to load the business requirements.

QTP/CLear Quest: This is a bug tracking tool or also called a defect tracking tool. QTP is a HP’s product and Clear Quest is a IBM’s product. But both are used for same purpose and more or less the usability is some what similar and any one can learn the basics in just 1 hr or so. A business analyst will not create a defect in this tool, so you dont need excellent knowledge in this, you only need to know how to open an existing defect and see its status. Because normally a tester who will mostly use this tool.

RQM: Rational quality management tool is another IBM’s popular tool which is mainly used to maintain documentation for Test plan, test cases and test execution records. This is mostly used by testers but it is good to have a basic navigational skills for any business analyst.

Requirements Document Template

Requirements Document Template Sample:

requirements document template

requirements document template

In the earlier article we know what is a requirement and what does a Requirement Analyst do as part of his responsibility in the organization. Now in this tutorial we will see how does a requirements document template look like and what are the key fields this document have?

Requirements document template can be written in either a word document or an Excel file depending upon the practice in your organization. Here are the common fields any type of requirements document will have.

1. Requirement No
2. Requirement Name
3. Requirement Description
4. Reason for the requirement
5. Author (of the requirement)
6. Comments

Now we will see in detail what is each field meant and how to write a sample requirement that fits the template.

Requirement no is just for indexing purpose or can be used for mapping between requirement number and testcase number(Remember these requirements will be later converted into test cases by testers.). Mapping between requirement and test case is called as traceability matrix.

Requirement Name: Just give a meaning full short name to the requirement. This name will be used mostly in team meetings for convenience. Because if you refer by req number, it might be hard to remember the description of that number.

Requirement Description: Here you must give some detail description of what the requirement is, what is the purpose of it and how to achieve it? All possible details of the requirement can be presented here. You need to mention if the requirement is an extension to the existing application? or it is an enhancement?

Reason for requirement: Though this is an optional field in requirements document, you can explain the reason behind this requirement. Example, to improve the business? Customer needs this? Reduce the man power ? Saving operating cost? etc…

How to gather requirements?

requirements-gathering

requirements-gathering

Requirements gathering is not as tough as the name sounds. In fact it is a job that needs some or none technical knowledge and a reasonable business knowledge with good communication skills (Both written and Oral).  When it comes to requirements, simply think about a builder that you hired to build your new house. What does the builder do when he first approach you?

He will ask you several questions such as ‘How many bed rooms you need?’, ‘How many bath rooms you need?’ etc… these are nothing but requirements for the new house.

In the same way, a Business Analyst or Requirements Analyst will talk to the business owner and ask him several questions or simply take the notes of his requirements for the new business or some modification to the existing business etc..

These requirements can be taken as a rough copy in a note book or computer while the business is speaking. After the meeting, the requirement Analyst will make them into a fair copy by adding some detail explanation so that every one in the organization can understand them. We will see more about the sample documentation of Requirements template in next session.

What are requirements ?

requirementsRequirements and Business Requirements are two very common words that are often used interchangeable in an organization. Being said that, ‘Requirements’ are the first and foremost step in the software life cycle management.

What any one can do with out requirements? If some one ask a tester to create test cases with out giving them requirements, is not it foolishness? I have seen in some websites as one of the most popular interview question for a tester position is “How can you write test cases when there are no requirements? “.

Well, If you seriously thinking about a quality product, then never ask this question. Ok, lets come back to the topic again. Requirements are the first step that the business takes into consideration before they have decided to built a new product/piece of application, or a change in the current application or product.

There is some one called ‘Requirements analyst’ whose responsibility is to prepare requirements document based on the business needs. These requirements are further classified into two types such as ‘Functional requirements’, and ‘Technical requirements’.

Functional Requirements give the over view of the current business and also gives a over all view on future business. This document does talk about what is needed in future or what changes are required now in a simplistic language that a common man can understand.

Technical requirements give the more detailed specifics of the problem and how to solve the problem in a technical front so the dev leads and technical folks can clearly understand.

Please ask questions below if you have any questions?

Sample Business Analyst Job Description

Lot of folks get confused and send me emails almost every day, especially those who just entered the BA world recently. They asked me in the emails that they come across different similar sentences like “Business Analyst Job description”,

“Business Analyst Job responsibilities”,

“Business Analyst duties” etc… Guess what, these are almost same and similar in nature, only difference is different companies use different terminology at times. So in simple, the basic definition of “Business Analyst Job description” is : It is the common roles and responsibilities of a ‘Business Analyst’ in a company in any domain.

I will explain more about what are the roles and responsibilities of a Business Analyst in another post where I also give some of the practical problems of a Business Analyst at work while coordinating between developers and testers(Quality Analyst).