Business Analysis Documentation

How to write business requirements?

Implementing a business software solution requires a clear understanding of the problems the systems is solving, the business goals the be served, the current business processes the "As-Is", and the sought future solution the client is looking for, the "To-Be" solution. 

The business analyst will develop serveral documents, which are, Business Requirements Document BRD, Software Requirements Specifications SRS, which will need to be detailed using the following diagrams. 

The business analyst (BA) need to use some of the following tools and techniques to demonstrate the As-Is and the To-Be stats of the business processes to different stack-holders. each type of documentation focus on specific areas, and provide modeling at different level of details that relates to the end user of the document. It's worth to mention that this documentation is largely affected by the object-Oriented system the most -if not all- current systems are based-on. 

Use Case Diagram

Aims to graphically represent the interaction between the user 'Actor"  and the system. 
These are high-level diagrams listing all business functions and the interaction point with the system user, the actor. 

 

Odoo text and image block

Use Case Descriptions 

Each use case will be textually presented  to describe the activities of the user interaction with the system.

It details the pre-conditions, the flow of processes or events, and the post-conditions for the use case. 


Class Diagrams

Presenting the static relationship between the system classes. A class represent things in real world, like people, things, concepts. After specifying the use cases we need to identify the main function required by the use case, which is called a module. The modules manipulate the system information (inputs and outputs) to the expected results. 

The class diagram represent the modules (classes) relationships, with their attributes and methods. This will communicate the systems functions to the programmer. 


Sequence Diagrams

Presenting the dynamic behavior of the use cases within the system. It will represent the use case processes or events in order and aims to capture the sequence of the messages between the class' objects. 
To capture this sequence we use rectangles to present the objects and arrows to present the flow of messages. 


There are many tools for diagram drawing either online or not. One of online tools is https://sequencediagram.org/ .