Share this
How to Model Requirements Effectively | Free UML Guide
by Sugirtha Murugesan on Jul 16, 2020 12:00:00 AM
Scroll down to access Adaptive's Free UML Guide
From a business analyst’s perspective, the right requirement modeling plays a vital role in letting various stakeholders understand the requirements with ease.
Major styles of requirement modeling currently in practice are as follows – scenario-based model, data or flow model, class model, and behavioral model.
Scenario-based model - This model is prepared from an end-user perspective. Techniques such as use cases, user stories, and activity diagrams would be a major contributor to this model.
Flow-based model – When a requirement deals with a specific data flow that affects various modules of a system, data-based modeling is the best method that can accommodate the system flow and the data flow within the system. This could be a tedious model but it is a helpful model to do impact analysis. Data Flow diagrams, activity diagrams are types of this model.
Class-based model – Class diagrams are the most popular UML diagrams used for the construction of software applications. They are a graphical representation of the static view of the system and represent different aspects of the application. This involves identifying the classes such as the event occurrences, roles, places, structures, and other artifacts involved.
Behavioral model – This modeling happens from a user perspective. Mainly state diagram and sequence diagram builds up this model.
In short, the 5 common types that make up a requirement model are use case, user stories, activity diagram, flow diagram, state diagram, and sequence diagram.
The different modeling technique is individually understandable. However, it is highly important to know how to use these models and when to use them. In some cases, certain models may be more appropriate than the others may, whereas in other cases, almost all the models may be applicable with a difference in weightage. There are 5 major aspects to consider when it comes to deciding on the usage of requirement models. The five aspects are:
- Nature of the requirement
- Type of requirement
- Impact of the requirement in the system
- Users related to the requirement
- The phase of the process that would deal with the requirement
Nature of the requirement – This aspect deals with identifying if a given requirement is an enhancement requirement or a foundation requirement for a new system or a process
Type of requirement – Three major types of requirements that could be considered for deciding the usage of requirements models are a functional requirement, performance requirement, and technical requirement. The functional requirement deals with the operation processes, where the change of state of various parameters would result in the required end-point. Performance requirements are add-ons of an existing process or for a functional requirement, to enhance the process efficiency. Technical requirements can either be allocated requirement that automatically flows from a functional or performance requirement to an element of the system or is a derived requirement that deals with the interfaces between the various stages within a system.
Impact of the requirement in the system – An impact of a requirement in a system could be considered in three different fashions – minimum, medium, and maximum. A minimum impact could be defined as an impact that changes the user experience or the system parameter for a specific instance. An impact would be considered medium if the requirement is indirectly affecting the other related process or system parameters. A maximum impact would be considered where the majority of the parameters of the system or the related processes appear transformed.
Users related to the requirement – Three major types of users would be business users, functional users, and technical users. Business users would have the objective of knowing the business value proposition that would be obtained if the endpoint of the requirement is reached. Functional users would be oriented towards understanding the changes or the impact that could be expected in the direct and indirect process related to the requirement where the technical concern is not a major aspect. Technical users would be aligned towards the development estimation of effort and risk for the given requirement initially and later during the development, they would need the detail related to the nuances to achieve the required endpoint.
Phases of a process – The common phases of a process would be the following- Initial understanding phase, Work estimation & Overall impact analyzing phase, Work initiation, Work in progress, Work in last phase, Quality analysis, End-user acceptance, Delivery.
The judiciousness of choosing the modeling technique depends on choosing the priority of having those five elements of modeling based on the variation in the five aspects of a requirement discussed above.
For each of the modeling types, here’s how the above five aspects are considered:
User Stories: Of the five different types, this style of requirement modeling known as ‘User Stories’ would be easy to understand for any kind of user irrespective of the nature or type of the requirement. User stories are short, concise statements that capture the needs of stakeholders and their expectations out of the system. The impact factor of the requirement may not be considered here because; this model is in the style of one step at a time. User stories would be highly utilized at the time of understanding the requirement, followed by final development testing, quality analysis, and final sign-off. The acceptance criteria of user stories form the guideline for delivery.
Use Case: This technique would be suitable when the requirement is functional in-nature. Use cases depict the high-level functionalities that one would want the system to perform. This technique would be useful to get a foundation level understanding or a holistic style of the requirement. More than a business user, this would be handy for a functional or technical user. This would play a major role in defining the scope of work, risk, and effort estimation for a given requirement.
Activity diagram – This technique deals with the overall business process or system process – which is suitable for all types of users in line with the nature of requirement being functional and the type being foundational. This technique can aid in impact analysis by just defining the system or process scope but this technique can’t be of assistance for detailed impact analysis.
Flow diagram – This technique is helpful for a specific functional segment of a system or a process. So enhancement requirements of any nature would fit in this technique that would be easy for functional and technical users. After having defined the scope of the system or the process, this flow chart will guide in analyzing the impact in detail. On this front, technical and functional users are the ones who use the flow diagram for their work more than the business users. As a process, the requirement represented as a flow diagram would be highly utilized until the last phase of the development.
State diagram – This technique is more specific compared to a flow chart. Regarding the objects of a system or the process, the various states of an object that happens during a process flow are depicted only in a state diagram. In line with this, only technical and functional users would find this useful especially during the development phase more than the initial and final phases. This element can’t be a direct contributor to the impact analysis parameter.
Sequence diagram – This is more relevant for a technical user, especially when many processes happen in parallel. It provides a visual representation of how processes or objects interact during a scenario. This technique adds more value for technical users, as this will help in drilling down to detailed technical specifications. On the other side, this is the most preferred methodology for requirement reference majorly during the development phase.
Here’s a summary of the above-stated aspects in the form of ‘Requirements modeling techniques’ vs ‘Usage aspects’ matrix -
Requirement modeling techniques |
Nature of requirement |
Requirement type |
Requirement impact |
Users |
Phases of a process |
User Stories |
All category |
All type |
Doesn’t reflect any impact |
All users |
High-level usage – for all phases |
Use case |
Preferred for functional requirement |
Preferred for foundational type |
Reflects the scope/outline for the impact sections |
Functional & Technical users. Can be discussed with business users also. |
High-level usage – for all phases |
Activity diagram |
Preferred for functional requirement |
Preferred for foundational type |
Reflects the scope/outline for the impact sections |
Functional & Technical users. Can be discussed with business users also. |
High-level usage – for all phases |
Flow diagram |
Preferred for functional & technical requirement |
Preferred for enhancement type |
Preferred for high impact requirement |
Functional & Technical users. Can be discussed with business users also. |
High-level usage – for all phases Detailed usage – For estimation phase, development phase & QA phase |
State diagram |
Preferred for functional & technical requirement |
All type |
All levels of impact would be reflected. Mandatory for high impact requirements |
Primarily - Technical users Secondary – Functional users |
Detailed usage – For the development phase |
Sequence diagram |
Preferred for functional & technical requirement |
All type |
All levels of impact would be reflected. Mandatory for high impact requirements |
Technical users |
Detailed usage – For the development phase |
In a nutshell, business analysts play an instrumental role in modeling needs, requirements, designs, and solutions to facilitate effective analysis and communication and this calls for knowing which techniques to use and when. This article and particularly the matrix provided will act as a guide in understanding the various factors to consider while choosing a requirement modeling technique and understanding which technique applies best in a particular scenario.
Adaptive US UML Training – Model Like a Pro!
Share this
- Business analysis (135)
- CBAP (41)
- Business analysis skill (34)
- CBAP Certification (32)
- #CCBA (31)
- Career (29)
- ECBA (22)
- #AdaptiveUS (20)
- #BA Certification (18)
- #BA (16)
- IIBA Certifications (16)
- BABoK (15)
- #IIBA (14)
- #AdaptiveUS #BusinessAnalysis (13)
- Uncategorized (13)
- Most Popular (12)
- Announcements (11)
- cbap certification training (11)
- Requirement engineering (10)
- #CBAP_Certification (8)
- #LNMishra (8)
- countdowns (8)
- #BA Skills (7)
- #BA Techniques (7)
- CPRE (7)
- Press Release (7)
- #AdaptiveUS #BusinessAnalysis #BA #BABoK (6)
- #CCBA_Certification (6)
- #Elicitation (6)
- #business analyst (6)
- #BusinessAnalysis (5)
- #PressRelease (5)
- #Business_Analysis (4)
- #ECBA_Certification (4)
- #Requirements engineering (4)
- #cbap_exam_ preparation_tips (4)
- #certifications #AdaptiveUS #BusinessAnalysis #BA (4)
- Business analysis certification training (4)
- Most Recent (4)
- #AdaptiveRocks (3)
- #BA_Certification (3)
- #IIBA Membership (3)
- cbap certification cost (3)
- cbap certification course (3)
- cbap training certification online (3)
- #LearnwithLN (2)
- Business analysis study guides (2)
- CCBA Recertification (2)
- CPOA (2)
- Scrum (2)
- businessanalyst (2)
- cbap question banks (2)
- cbap study guide (2)
- ecba question banks (2)
- ecba study guide (2)
- #AAC (1)
- #AgileBA (1)
- #BAOT (1)
- #BATrends (1)
- #BridgingtheGap (1)
- #ECBA #IIBA #IIBAWorkshop #Certification (1)
- #IIBA #Agile (1)
- #IIBAEgyptChapter (1)
- #IREB (1)
- #NFR (1)
- #OneWorksGroup (1)
- #Partnership (1)
- #SimpleSim (1)
- #ba #businessanalysis #jobdescription #adaptiveus (1)
- #performancemetrics (1)
- Adaptive US (1)
- Agile BA (1)
- Awesome BA (1)
- BABoKV3 based certification (1)
- BACOE (1)
- CBAP Certification Tips (1)
- CBAP Exam Preparation (1)
- CBAP Exam Tips (1)
- CBAP Preparation Tips (1)
- CBAP certification preparation (1)
- CBDA (1)
- ECBA Certification steps (1)
- ECBA V3 certification (1)
- ECBA certificate (1)
- From our Archive (1)
- IIBA CBAP Certification (1)
- KPI (1)
- PMI PBA (1)
- PMP vs CBAP (1)
- Requirements Management (1)
- Scrum rules (1)
- Transitioning to BA (1)
- cbap e-learning (1)
- cbap training material (1)
- ccba certification training online (1)
- ccba or cbap certification (1)
- conflicts resolution techniques (1)
- iiba ecba online course (1)
- productowner (1)
- stakeholders (1)
- testing (1)
- what is scrum? (1)
- March 2023 (2)
- February 2023 (5)
- January 2023 (1)
- December 2022 (4)
- November 2022 (3)
- October 2022 (2)
- September 2022 (4)
- August 2022 (3)
- July 2022 (4)
- June 2022 (9)
- May 2022 (4)
- April 2022 (7)
- March 2022 (6)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (4)
- October 2021 (4)
- September 2021 (2)
- August 2021 (4)
- July 2021 (4)
- June 2021 (2)
- May 2021 (1)
- April 2021 (1)
- March 2021 (4)
- February 2021 (2)
- January 2021 (3)
- December 2020 (3)
- November 2020 (3)
- October 2020 (3)
- September 2020 (5)
- August 2020 (8)
- July 2020 (3)
- May 2020 (5)
- April 2020 (2)
- March 2020 (7)
- February 2020 (6)
- January 2020 (4)
- December 2019 (1)
- November 2019 (3)
- October 2019 (5)
- September 2019 (3)
- August 2019 (2)
- July 2019 (4)
- June 2019 (2)
- May 2019 (3)
- April 2019 (6)
- March 2019 (3)
- February 2019 (8)
- January 2019 (7)
- December 2018 (8)
- November 2018 (6)
- October 2018 (8)
- September 2018 (11)
- August 2018 (11)
- July 2018 (23)
- June 2018 (12)
- May 2018 (19)
- April 2018 (11)
- February 2018 (1)
- January 2018 (3)
- December 2017 (1)
- November 2017 (5)
- October 2017 (2)
- September 2017 (2)
- August 2017 (30)
No Comments Yet
Let us know what you think