Cards (21)

  • Requirement analysis in Software development is important as it helps to meet the needs of the clients and end-users and not just their wants.
  • Requirement analysis in software development involves understanding the problem they need to solve, and the tasks they need to accomplish with the software.
  • Software development must start with a quality set of software requirements, which are later planned, designed, implemented, and tested
  • A requirement is a software capability needed by the user to solve a problem or to achieve an objective.
  • All stakeholders in a project must achieve a common understating of what the product will be and do.
  • Requirement analysis
    • Eliciting Requirements: the task of communicating with customers and users to determine what their requirements are.
    • Requirements Modelling: Requirements might be documented in various forms.
    • Analysing Requirements: determining whether the stated requirements are unclear, incomplete, ambiguous, or contradictory, and then resolving these issues.
    • Review and Retrospective: Team members reflect on what happened in the iteration
  • There are 2 types of requirements. Functional requirements (capabilities/features that the system must have) and non-functional requirements (constraints that the new system must meet)
  • Properties of a requirement:
    • Unambiguous: Documentation must be clear and everyone must be able to understand.
    • Consistent
    • Comprehensive: Steps must be clear and precise
    • Prioritised: Be realistic of what can you can do and prioritise the important things first
    • Verifiable: project must be able to be verified
  • Steps of requirement analysis: 1. Gather detailed information
    • Talk to users of new system or similar systems
    • Read documentations on existing system
    • Develop expertise in business area of the system
    • Collect technical information (computers and stuff)
  • Steps of required analysis: 2. Identify Functional requirements
    • System requirement that describes what the system must perform
    • Typically, it is needed to support business processes
  • Steps of required analysis: 3. Identify non-functional requirements
    • Constraints or characteristics expected from the system.
    • Typically includes Performance, usability, reliability, security.
  • Steps of required analysis: 4. Prioritise requirements
    • Manage users requests according to user needs, urgency, complexity, estimated efforts needed.
    • Balance between limitation of resources vs user needs.
    • Scope creep: the tendency for a function list to grow in a uncontrolled manner.
  • Steps of required analysis: 5. Evaluate requirements
    • Evaluate requirements with user till an acceptable requirement model is developed.
    • Evaluate all possibilities in the design and implementation of system
    • Validate the accuracy and correctness of requirements
    • Process is iterative
  • Techniques for requirement gathering:
    • Questioning, Observing, Researching, Modelling
    • Good questions initiate process
    • Questions center around three themes.
    • What are business processes?
    • How is the business process performed?
    • What information is required?
  • Techniques for requirement Gathering - Interview users and other stakeholders:
    • Most widely used fact-finding technique
    • Types of questions involved: Mixture of open and close ended questions.
    • Pros
    • Effective way to understand business functions and business rules
    • Cons
    • Time-consuming and requires further rework on the interview information gathered.
    • When to use: Require in-depth information on new/existing system.
  • Techniques for requirement gathering - Distribute and collect questionnaires.
    • Typically includes close-ended question and opinions questions.
    • Explanation of procedure or problem
    • Pros
    • Economical for large group which supports distributed geographical location
    • Cons
    • Hard to construct good questions and constraint to research further.
    • When to use: Input from large number of people who are geographically dispersed.
  • Techniques for requirement Gathering - Review inputs, outputs, and documentation
    • 2 Sources of information
    • External to the organisation
    • Industry journals and magazines report the findings of "best practices" studies
    • Existing business documents and procedure descriptions within the organisation
    • Gets preliminary understanding of the processes
    • Serves as visual aids
    • Pros
    • Allow analysts to get an understanding of the organisation before meeting the users.
    • Cons
    • Documents may not match up to actual operations or outdated.
    • When to use: in the initial stages when an analyst is unfamiliar
  • Techniques for requirement Gathering - Observe and Document Business Processes
    • Diagram all information gathered into workflows
    • create activity diagrams (Identify activities, relationships between activities, personnel responsible for the activities)
    • Pros
    • First-hand experience in system operations allowing validation of information and business performance.
    • Cons
    • Can be intrusive with information confidentiality issue
    • When to use: gather quantitative data about business and validation of conflicting information provided.
  • Techniques for requirement Gathering - Building Effective Prototypes
    • It is an initial, look alike model with limited features of a real production system
    • Discovery prototype
    • model created to verify concept and discarded
    • Evolving prototype
    • working model that grows and may become part of system
    • Mock-up
    • example of final product for viewing only, not executable
  • Techniques for requirement Gathering - Building Effective Prototypes
    • Pros
    • Time and cost saving
    • Inaccurate user requirements can be discovered earlier with greater user involvement
    • Cons
    • Too much time spent on prototype rather than analysis.
    • When to use: Projects with high interactivity with users.
  • Techniques for requirement Gathering - Research Vendor Solution
    • Pros
    • Provides a platform for learning from past experiences
    • Cheaper and less risky to buy a solution rather than to build it
    • Cons
    • Features to support business is general and a lot of companies find out that they only support half the functions that were needed after purchase
    • When to use: Features to support business is general and nothing too specific.