Home » Software Engineering
Category Archives: Software Engineering
“JSON, XML, .Net, C++, Java, Middleware”. These are some of the technical jargon which many IT professionals use while having a discussion with business users to implement business requirements. Business users might not be interested into how the system will be developed technically. Mostly, they are interested in if the proposed or existing systems are aligned with business requirements or expectations.
Use cases fill that gap and help stakeholders to understand “what software does”. Use cases offer the business analysts, development, and testing teams an invaluable guidebook. It does not include too many technical details and it is not as abstract as the business requirement.
A typical use case should capture how a user will interact with the system to achieve a specific goal, it should highlight alternate and exceptions flow if normal flows are preventing users to execute further steps.
Benefits of having use cases in Software Development Life Cycle:
Use cases can help business stakeholders:
- To understand proposed or existing software better without going into technical details.
- They can evaluate use cases against business requirements; it will be easy to provide sign-off to IT team.
- Highlight assumptions, out-of-scope items, outstanding issues for specific use case flow.
Use cases can help development and testing team:
- To understand business processes and flows.
- To understand functional context, Exceptions, Alternate flows.
- To understand Pre-Conditions, Post-Conditions & Triggers for use case flow.
- Work as a foundation for making test cases and testing delivered software against business requirements.
Use Case Document
Use cases can be depicted in a document with the visual and textual representation of workflows. It can be structured into following elements:
- Introduction – Brief description of use case scope.
- Actors – A list of the types of users who can engage in the activities described in the use case. Actor names should not correspond to job titles.
- Participants – A list of software applications or systems which will be used in use case flow.
- Description – description of use case.
- Triggers – anything which will invoke use case to begin.
- Data Flow / Activity Diagram/ Use Case: Represent user
- Preconditions – Anything the solution can assume to be true when the use case begins.
- Normal/Basic Flow – The set of steps the actors take to accomplish the goal of the use case. A clear description of what the system does in response to each user action.
- Alternate Flows – Capture the less common user/system interactions, such as being on a new computer and answering a security question.
- Exception Flows – The things that can happen that prevent the user from achieving their goals, such as providing an incorrect username and password.
- Post-Conditions – Anything that must be successfully done when the use case is complete.
- Assumptions – Write assumptions if any.
- Notes and Issues – List down any issues or points to highlight.
I have uploaded sample use case document for reference.
I found really nice article on OOPS. I believe, this is good for brushing up OOPS concepts in quick time. Thanks to its author.
I have also extracted as PDF which can be downloaded here.
Download link: OOPS-ReadyReckoner