A requirement analysis has a
Specific Goal Specific Input Specific Output Uses resources Has a number of activities to be performed in some order May affect more than one organization unit Creates value of some kind for the customer
Requirement Analysis Techniques
Requirement analysis techniques are mainly used to map the business workflow so that you can analyze, understand and make required changes to that workflow or process. There are various requirement analyzing techniques that can be used as per the software development process like
Business process modeling notation (BPMN)
BPMN (Business Process Modeling & Notation) is a graphical representation of your business process using simple objects, which helps the organization to communicate in a standard manner. Various objects used in BPMN includes
Flow objects Connecting objects Swim lanes Artifacts.
A well design BPMN model should be able to give the detail about the activities carried out during the process like,
Who is performing these activities? What data elements are required for these activities?
The biggest benefit of using BPMN is that it is easier to share, and most modeling tools support BPMN.
UML (Unified Modeling Language)
UML is a modelling standard primarily used for specification, development, visualization and documenting of software system. To capture important business process and artifacts UML provides objects like
State Object Activity Class diagram
There are 14 UML diagrams that help with modelling like the use case diagram, interaction diagram, class diagram, component diagram, sequence diagram, etc. UML models are important in the IT segment as it becomes the medium of communication between all stakeholders. A UML-based business model can be a direct input to a requirements tool. A UML diagram can be of two type’s Behavioral model and Structural model. A behavioral model tries to give information about what the system do while a structural model will give what is the system consist of.
Flow chart technique
A flowchart is a visual representation of the sequential flow and control logic of a set of related activities or actions. There are different formats for flowcharts which include Linear, Top-down and cross-functional (swim lanes). A flow chart can be used for different activities like representing data flows, system interactions, etc. The advantage of using Flowchart is that it can be easy to read and write even for non-technical team members, and can show the parallel process by function, critical attributes of a process, etc.
Data flow diagram
Data flow diagrams show how data is processed by a system in terms of inputs and outputs. Components of data flow diagram includes
Process Flow Store Terminator
A logical data flow diagram shows system’s activities while a physical data flow diagram shows a system’s infrastructure. A data flow diagram can be designed early in the requirement elicitation process of the analysis phase within the SDLC (System Development Life Cycle) to define the project scope. For easy analyzing a data flow diagram can be drilled down into its sub-processes known as “levelled DFD”.
Role Activity Diagrams- (RAD)
Role activity diagram is similar to flowchart type notation. In Role Activity Diagram, role instances are process participants, which has start and end state. RAD requires a deep knowledge of process or organization to identify roles. The components of RAD includes
Activities External events States
Roles group activities together into units of responsibility, according to the set of responsibility they are carrying out. An activity can be carried out in isolation with a role, or it may require coordination with activities in other roles. External events are the points at which state changes occur. States are useful to map activities of a role as it progresses from state to state. When a particular state is reached, it indicates that a certain goal has been achieved. RAD is helpful in supporting communication as it is easy to read and present a detailed view of the process and permitting activities in parallel.
Gantt Charts
A Gantt chart is a graphical representation of a schedule that helps to coordinate, plan and track specific tasks in a project. It represents the total time span of the object, broken down into increments. A Gantt chart represents the list of all task to be performed on the vertical axis while, on the horizontal axis, it list the estimate activity duration or the name of the person allocated to the activity. One chart can demonstrate many activities.
IDEF (Integrated Definition for Function Modeling)
IDEF or Integrated Definition for Function Modeling is a common name referred to classes of enterprise modeling languages. It is used for modeling activities necessary to support system analysis, design or integration. There are about 16 methods for IDEF, the most useful versions of IDEF are IDEF3 and IDEF0.
Colored Petri Nets (CPN)
CPN or colored petri nets are graphically oriented language for specification, verification, design and simulation of systems. Colored Petri Nets is a combination of graphics and text. Its main components are Places, Transitions, and Arcs.
Petri nets objects have specific inscription like for
Places: It has inscription like .Name, .Color Set, .Initial marking etc. While Transition : lt has inscription like .Name (for identification) and .Guard (Boolean expression consist of some of the variables) Arcs: It has inscription like .Arc. When the arc expression is assessed, it yields multi-set of token colors.
Workflow Technique
Workflow technique is a visual diagram that represent one or more business processes to clarify understanding of the process or to make process improvement recommendations. Just like other diagrams like flowcharting, UML activity and process map, the workflow technique is the oldest and popular technique. It is even used by BA for taking notes during requirements elicitation. The process comprises of four stages
Information Gathering Workflow Modeling Business process Modeling Implementation, Verification & Execution
Object oriented methods
Object-oriented modeling method uses object oriented paradigm and modeling language for designing a system. It emphasis on finding and describing the object in the problem domain. The purpose of object oriented method is
To help characterizing the system To know what are the different relevant objects How do they relate to each other How to specify or model a problem to create effective design To analyze requirements and their implications
This method is applicable to the system which has dynamic requirements (changes frequently). It is a process of deriving use cases, activity flow, and events flow for the system. Object oriented analysis can be done through textual needs, communication with system stakeholder and vision document. The object has a state, and state changes are represented by behavior. So, when the object receives a message, state changes through behavior.
Gap Analysis
Gap Analysis is the technique used to determine the difference between the proposed state and current state for any business and its functionalities. It answers questions like what is the current state of the project? Where do we want to be? etc. Various stages of Gap Analysis include
Review System Development Requirements Comparison Implications Recommendations