Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika

Slides:



Advertisements
Similar presentations
Lecture 5: Requirements Engineering
Advertisements

Software Requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Software Requirements
SE 555 – Software Requirements & Specifications Introduction
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Requirements Engineering Process – 1
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Requirements Engineering
Requirements Engineering Processes
Dr Suad AlRamouni. ◦ Understand some key terms used in software requirements engineering. ◦ Distinguish requirements development from requirements management.
S/W Project Management
Chapter 2 Introduction to Requirements Management
Chapter 4 – Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
IT Requirements Management Balancing Needs and Expectations.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Requirements Engineering Overview Senior Design Don Evans.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 Quality Attributes of Requirements Documents Lecture # 25.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
RequisitePro Software Requirement Management Tool A peresentation by: Mojdeh Jalali-Heravi Maryam Daneshi.
Requirements Engineering Process
SWE 513: Software Engineering
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Software Requirements Specification Document (SRS)
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
1 Requirements Engineering for Agile Methods Lecture # 41.
Requirement Classification Nisa’ul Hafidhoh Teknik Informatika
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Software Requirements Descriptions and specifications of a system.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
 System Requirement Specification and System Planning.
REQUIREMENTS ANALYSIS CONCEPTS & PRINCIPLES. Requirement  IEEE defines Software Requirements as:  A condition or capability needed by user to solve.
Requirement Elicitation Nisa’ul Hafidhoh Teknik Informatika
CHAPTER.2: Requirements Engineering Processes
SYSTEM ANALYSIS AND DESIGN
CS 790M Project preparation (I)
UNIT II.
Requirements Analysis
Requirements Engineering Introduction
Software Engineering Furqan Rustam.
Introduction to Requirements Management
Software Engineering Lecture #3
Scrum Science NGSS: Engineering, Technology, Applications of Science
Introduction to Requirements Engineering
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika

“ The hardest single part of building a software system is deciding precisely what to build ” - F. Brooks

Requirements Engineering is accepted as one of the most crucial stages in software design and development as it addresses the critical problem of designing the right software for the customer.

Background Only 16.1% of all US software projects are developed on-schedule, on-budget and with all originally planned features 31.1% of projects are terminated before completion Survey of 350 organizations in the USA (> 8000 projects), 1/3 of projects were never completed, 1/2 succeeded only partially 1/2 of the managers interviewed identified poor requirements as a major source of problems, along with other factors such as low user involvement and unclear objectives

Background [2] 3800 organizations from over 17 countries in Europe, most problems are in the area of requirements specifications (50%) and requirements management (50%) Standish group report revealed that 3 of the top 10 reasons for project failure were – lack of user involvement – unstable requirements – poor project management

What is a Requirement? “Something that the product must do or a quality that the product must have” (Robertson99) “A description of how the system shall behave, an information about the application domain, constraints on operations, a system property etc.” (Kotonya98) “A requirement specifies how a goal should be accomplished by a proposed system” (Anton96)

What is a Requirement? All project begin with a statement of requirements. Requirements are descriptions of how a software product should perform. The widely cited IEEE standard defines a requirement as : – A condition or capacity needed by a user to solve a problem or archive an objective – A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents,

Requirement Requirements include not only user needs but also those arising from general organizational, government and industry standards Requirement is a collection of needs arising from the user and various other stakeholders Requirements are independent of design, showing “what” the system should do, rather than “how” it should be done

Requirement Classification

What is a Requirement? Example ¤ a constraint : the system shall include a spelling checker ¤ a required function : the system shall identify “old customers” ¤ a required quality : the print out for old customers shall be in colour

Requirements Engineering is the activity which transforms a fuzzy idea into a precise specification of stakeholders’ needs that shape the system to be built and therefore, defines the intended link between a system and its environment WHAT WHY Requirement Engineering

What is RE about? The WHY question – Why the system needs to be developed? The WHAT question – What the system shall do? Requirements definition must say – why a system is needed, based on current or foreseen conditions, – what system features will satisfy this context, (Ross77)

What is RE about? Mission statement, goals Requirements Specification WHY ? WHAT ? The Requirements Engineering process

Requirement Engineering Process Requirements engineering activities : elicitation, interpretation and structuring (analysis and documentation), negotiation, verification and validation, change management and requirements tracing.

Requirement Engineering Process A complex process with intertwined activities and multiple actors Elicitation Negotiation Specification Documentation Validation Client Requirements Engineer User Project manager Domain expert System Analyst facilitator

RE Stakeholder Typical stakeholders are product managers Various types of users and administrators from the client side Software team members from the software development side

The Role of Stakeholders in RE In essence, requirements engineering aims to transform potentially incomplete, inconsistent and conflicting stakeholder goals into a complete set of high quality requirements Stakeholders…”as those participants in development process together with any other individuals, groups or organizations whose actions can influence or be influence by the development and use of the system whether directly or indirectly”

Requirements Management Requirements Elicitation, Specification and Modeling Prioritization Requirements Dependencies and Impact Analysis Requirements Negotiation Quality Assurance

Requirements Elicitation, Specification and Modeling This involves understanding the needs of stakeholder, elicitation management, modeling and collecting them in a repository. This is important stage for s/w development, because the requirement tent to be incomplete and inconsitent

Prioritization It’s not always easy for developers to decide which requirements are important to customers. This activity assists project managers with resolving conflicts (where customers and developers collaborate on requirements prioritization), plan for stage delivers, and make necessary trade-off decisions.

Requirements Negotiation Req. engineering is essentially a complex communication and negotiation process involving customers, designers, project managers and maintainers. People, or stakeholders involved in the process are responsible for deciding What to Do, When to Do it, What information is needed, and What Tools need to be Used

Quality Assurance The objective is to ensure that high quality requirements are recorded in the specification documents. The purpose of quality assurance is to establish reasonable and realistic levels of confidence when writing and managing requirements

Reference Aybuke Aurum, Claes Wohlin (Eds.), “Engineering and Managing Software Requirements”, Springer