Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Human Computer Interaction G52HCI
SWE Introduction to Software Engineering
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
Software Engineering Chapter 6 Software requirements
7M822 Software Requirements Introduction 7 September 2010.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
Chapter 4 Requirements engineering Chapter 4 – Requirements Engineering Lecture 1 1.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Software Requirements Descriptions and specifications of a system.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Software Requirements Lecture # 3. 2 Kinds of Software Requirements Functional requirements Non-functional requirements Domain requirements Inverse requirements.
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.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
What are Requirements?. "The hardest single part of building a system is deciding what to build... No other part of the work so cripples the resulting.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
Chapter 6+7 in textbook 1 Chapter 4 Software Requirements 1.
Chapter 4 Software Requirements
SOFTWARE REQUIREMENT ANALYSIS AND SPECIFICATION. What is a requirement? It may range from a high-level abstract statement of a service or of a system.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Week 3: Requirement Analysis & specification
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
Software Requirements. Objectives: l To introduce the concepts of user and system requirements l To describe functional / non-functional requirements.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Software Engineering, COMP201 Slide 1 Software Requirements.
Types and Characteristics of Requirements
Classifications of Software Requirements
Chapter 4 – Requirements Engineering
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Requirements Engineering
Software Requirements
SNS College of Engineering Coimbatore
Software Requirements
Software Requirements Engineering
Software requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Engineering Lesson 2

Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software Requirements are description of features and functionalities of the target system.  Requirements are description of the services that a software must provide and the constraints under which it must operate.  Requirements convey the expectations of users from the software product. The requirements can be obvious or hidden, known or unknown, expected or unexpected from client’s point of view.

Types of Requirements  User requirements  Statements in natural language plus diagrams of the services that the systems provides and its operational constraints.  Written for customers  System requirements  A structured document setting out detailed descriptions of the system services  Written as a contract between client and contractor  Software Specifications  A detailed description which can serve as a basis for a design or implementation  Written for developers

Functional and non- functional requirements

Functional Requirements  Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situations  Describe functionality or system services  Depend on the type of software, expected users and the and the type of system where the software is used.  Functional user requirements may be high-level statements of what the system should do; it should describe the system services in detail.

Functional Requirements Examples:  The user should be able to search either all of the initial set of databases or select a subset from it.  The system shall provide appropriate viewers for the user to read documents in the document store.  Every order shall allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area.

Non-functional Requirements  Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, among others.  It can be categorized as product requirements, organisational requirements, and external requirements.

Non-functional Requirements  Product Requirements  Requirements which specify that the delivered product must behave in a particular way  Portability, reliability, usability, efficiency – space & performance  Organisational Requirements  Requirements which are a consequence of organisational policies and procedures  Delivery, implementation and standards

Non-functional Requirements  External Requirements  Requirements which arises from factors which are external to the system and its development process  Ethical, interoperability, legislative (safety & privacy)

Requirement Engineering  The process to gather software requirements from client, analyze and document them is known as Requirement Engineering  The goal of requirement engineering is to develop and maintain sophisticated and descriptive ‘System Requirements Specification’ document.

Requirement Engineering Process 1. Feasibility Study 2. Requirements Gathering 3. Software Requirement Specification 4. Software Requirement Validation

1. Feasibility Study  Feasible – possible, achievable, practical. 1. When the client approaches the organizaiton for getting the desired product, 2. the analysts does a detailed study whether the system and its functionality are feasible to develop.  FS is focused towards goal of the organization. It also explores technical aspects of the project and product such as usability, maintainability, productivity and integration ability.

2. Requirement Gathering  If the feasibility is positive towards undertaking the project.  Next phase starts with gathering requirements from the user.  Analysts and engineers communicate with the client and end-users to know their ideas on what the software should provide and which features they want the software to include.

3. Software Requirement Specification  SRS is a document created by system analysts after the requirements are collected from various stakeholders.  The requirements received from a client are written in natural language.  It is the responsibility of system analyst to document the requirements in technical language so that they can comprehend and useful by the software development team.

SRS should come up with following features: 1. User Requirements are expressed in natural language. 2. Technical requirements are expressed in structured language, which is used inside the organization. 3. Design description should be written in pseudo code 4. Format forms and GUI screens prints 5. Conditional and mathematical notations for DFDs etc.

4. Software Requirement Validation  After SRS are developed, the requirements mentioned in this document are validated.  User might ask for illegal, impractical solutions or experts may interpret the requirements incorrectly. – Costly.  It can be checked against following conditions.  If they can be practically implemented  If they are valid and as per functionality and domain of software  If there any ambiguities (doubts)  If they are complete  If they can be demonstrated

Next topic  Requirement Elicitation Process  Techniques  Characteristics