Requirements/Systems analyst

Slides:



Advertisements
Similar presentations
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Advertisements

Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Capturing the requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirements (recap)‏
Overview of Software Requirements
1 Software Requirements Specification Lecture 14.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
SYSTEM ANALYSIS AND DESIGN
The Software Development Life Cycle: An Overview
Foundation Degree IT Project Methodologies (for reference)
S/W Project Management
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Chapter 8: Systems analysis and design
Requirements Analysis
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
Lecture 7: Requirements Engineering
Requirement Elicitation Process Lesson 3. Requirements Elicitation  Is the process to find out the requirements for an intended software system by communicating.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
1 Quality Attributes of Requirements Documents Lecture # 25.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
Requirements Engineering Process
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
The Engineering Design Process
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Systems Analysis Lecture 5 Requirements Investigation and Analysis 1 BTEC HNC Systems Support Castle College 2007/8.
 System Requirement Specification and System Planning.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Fundamentals of Information Systems, Sixth Edition
Chapter 4 – Requirements Engineering
Fundamentals of Information Systems, Sixth Edition
Requirements Engineering (continued)
Requirements Analysis Scenes
SYSTEM ANALYSIS AND DESIGN
Software Requirements analysis & specifications
UNIT II.
Foundation Degree IT Project
Lecture # 7 System Requirements
SWE 3313 Requirements.
Presentation transcript:

Requirements/Systems analyst Person performing the tasks of determining the requirements for a proposed software system (problem analysis) breaking down what the customer wants into discrete requirements

Requirements Goal of requirements phase What is requirements? understand the customer’s problems and needs What is requirements? An expression of desired behaviour Deals with objects/entities, states they can be in, and functions that are performed to change state or object characteristics Designates what behaviour the customer wants without saying how the behaviour will be realised

Specification and Design Specification makes decisions on which requirements will be fulfilled by our software system As opposed to those that are addressed by special purpose hardware devices, by other software systems or by human operator or users In design, a plan is devised as to how the specified behaviour will be implemented

Requirements process

Requirements Process - Elicitation Collecting the user requirements by: Asking questions Examining current behaviour Demonstrating similar systems

Requirements Process - Analysis Understanding and modelling the desired behaviour Modelling or prototyping the requirements helps us to better understand the required behaviour Also raises additional questions about what the customer wants to happen in certain situations May expose problems or omissions in our models that cause us to revisit the customer and revise our models

Requirements Process - Specification Documenting the behaviour of the proposed software system Requirements are well understood Then it is decided which parts of the required behaviour will be implemented in this software system

Requirements Process - Validation Checking that our specification matches the user’s requirements Matches developer’s specifications with user’s expectations of the final product May expose problems or omissions in our specifications that cause us to revisit the customer and revise our specifications

Requirements Process – Software Requirements Specifications Eventual outcome of the requirements process Is used to communicate to the other software developers (designers, testers, maintainers) how the final product ought to behave

Requirements Elicitation Critical part of the process Must use a variety of the techniques to determine what the users and the customers really want Discussion with everyone who has a stake in the system and coalescing these different views into a coherent set of requirements

Stakeholders in Requirements Elicitation Process Clients Customer Users Domain Experts Market Researchers Lawyers or auditors Software engineers or other technology experts

Stakeholders in Requirements Elicitation Process Clients Pay for software to be developed Ultimate stakeholders as they have final say on what product does Customers Buy software after it is developed Users Experts on how current system works (most useful features, features that need improvement) Need to understand particular needs of special groups (differently-abled individuals, persons unfamiliar with computers, expert users)

Stakeholders in Requirements Elicitation Process Domain experts Familiar with the problem that software must automate (financial expert for a financial package, meteorologist for software to model weather) Also know about kinds of environment to which product will be exposed Market Researchers Conduct surveys to determine future trends and potential customers’ needs

Stakeholders in Requirements Elicitation Process Lawyers/auditors Familiar with government, safety or legal requirements (tax expert ensures payroll package adheres to tax law, experts on standards which are relevant to product’s functions) Software Engineers/other technology experts Ensures that the product is technically and economically feasible Educate customer about innovative technology, recommend new functionality taking advantage of these technologies, and can estimate cost and development time

Techniques for Eliciting Requirements Interviewing stakeholders Reviewing available documentation Observing current system (if one exists) Apprenticing with users Interviewing users/stakeholders in groups Using Domain-specific strategies Brainstorming

Techniques for Eliciting Requirements Interviewing stakeholders To capture the many views of the system and how it should work Reviewing available documentation Documented procedures of manual tasks Specifications or user manuals of automated system Observing current system (if one exists) Gather objective information about how users perform their tasks Better understand the system that the developers are about to automate or change

Techniques for Eliciting Requirements Apprenticing with users Learn more about users’ tasks in more detail as the user performs them Interviewing users/stakeholders in groups So that they will be inspired by one another’s ideas Using domain-specific strategies To ensure that stakeholders consider specific types of requirements that are relevant to their particular situations Brainstorming with current and potential users about how to improve the proposed product

Types of Requirements – Functional Requirements Describes a required behaviour in terms of required activities e.g. reactions to inputs, states of each entity before and after an activity occurs Defined boundaries of a solution space for our problem Solution space is the set of possible ways that software can be designed to implement the requirements

Types of Requirements – Quality / Non-Functional Requirements Describes some quality characteristic that the software solution must posses e.g. fast response time, ease of use, high reliability and low maintenance costs Design criteria that can be optimised and used to choose among alternative implementations of functional requirements

Make Requirements Testable Make requirements testable so the conclusion of whether or not a proposed solution meets the requirement, must not vary according to who is doing the evaluation Fit criteria Objective standards for judging whether a proposed solution satisfies the requirements

Constraints on Requirements – Design Constraints Design decision that has already been made and that restricts the set of solutions to our problem e.g. choice of platform or interface components Process constraint Restriction on the techniques or resources that can be used to build the system e.g. customer may insist that we use agile methods, so that they can use early versions of the system while we continue to add features

Requirements Problem - Conflict May encounter conflicting ideas of what requirements ought to be, when eliciting from stakeholders Possible solutions are Ask customer to prioritise requirements Negotiation

Conflict Solutions – Customer prioritises requirements Helps customer reflect on which of requested services and features are most essential Loose prioritisation scheme separates requirements into 3 categories Essential  Requirements that absolutely must be met Desirable  Requirements that are highly desirable but not necessary Optional  Requirements that are possible but could be eliminated

Conflict Solutions – Negotiation Requires skills, patience and experience in finding mutually acceptable solutions With effective negotiation, stakeholders will understand and appreciate each other’s fundamental needs and strive for a resolution that satisfies everyone

Different Purposes of Requirements Requirements analysts and their clients To explain their understanding of how the system would behave Designers As constraints on what would be considered an acceptable solution Test team To derive a suite of acceptance tests Maintenance team To help ensure that the system enhancements do not interfere with the system’s original intent

Requirements Documents Requirements Definition Aimed at a business audience, such as clients, customers and users Complete listing of everything customer wants to achieve Written entirely in terms of environment, describing how the environment will be affected by the proposed system Requirements Document Aimed at a technical audience, such as designers, testers and project managers Restates requirements as a specification of how proposed system will behave Written entirely in terms of environment, except that refers solely to environmental entities that are accessible to the system via its interface

Characteristics of Requirements Correctness Consistency Unambiguity Completeness Feasibility Relevance Testability Traceability

Characteristics of Requirements Correctness Developer and customer should ensure conformity to our understanding of the requirements Consistency No conflicting requirements, as inconsistent requirements cannot be satisfied simultaneously Unambiguity Multiple readers of requirements should have different but valid interpretations

Characteristics of Requirements Completeness Set of requirements is defined as complete if it specifies required behaviour and output for all possible inputs in all possible states under all possible constraints Externally complete  if all states, state changes, inputs, products, and constraints are described by some requirement Internally complete  if there are no undefined terms among the requirements

Characteristics of Requirements Feasibility Existence of a solution to customer’s need Relevance Indirectly related to customer’s need or may restrict developers unnecessarily Testability Existence acceptance tests that would clearly demonstrate whether the eventual product meets the requirements Traceability Organisation of requirements for easy reference There should be correspondence between every entry in the requirement definition and requirements specification, and vice versa

Purpose of characteristics Help in making the decision when we have collected enough information Also when we need to learn more about what a particular requirement means

Purpose of characteristics The degree to which we want to satisfy these characteristics will affect: Type of information that we gather during requirements elicitation, and how comprehensive we want to be Specification language we choose to express the requirements and the validation and verification checks that we eventually perform to assess the requirements