Showing posts with label Requirements Gathering. Show all posts
Showing posts with label Requirements Gathering. Show all posts

Saturday, 6 January 2018

SRE Lec # 13 - Non-Functional Requirements

>>>> Download Link Here <<<<<



In this slide
_______________________________________________________

SRE – 
 
Non-Functional Requirements
BSEF15 (V)
Abdul Razaq Ali
Objectives
● To introduce non-functional requirements
● To explain the schemes used to classify non-functional requirements
● To illustrate various derivation techniques for non-functional requirements
● To demonstrate the importance of non-functional requirements in critical systems
Non-Functional Requirements (NFRs)
Non-functional requirements:
● Define the overall qualities or attributes of the resulting system
● Place restrictions on the product being developed & its development process
● Specify external constraints that the product must meet.
Types of NFRs
The ‘IEEE-Std 830 - 1993’ lists 13, non-functional requirements to be included in a Software Requirements Document.
● Performance requirements
● Interface requirements
● Verification requirements
● Documentation requirements
● Security requirements
● Quality requirements
● Reliability requirements
● Maintainability requirements
Classification of NFRs
● NFRs may be classified n terms of qualities that a software must exhibit (Boehm)
● A more general classification distinguishes between product, process and external requirements
Product Requirements
● Specify the desired characteristics that a system or subsystem must possess.
● Most NFRs are concerned with specifying constraints on the behaviour of the executing system.
● The System service X shall have an availability of 999/1000 or 99%. This is a reliability requirement which means that out of every 1000 requests for this service, 999 must be satisfied.
● System Y shall process a minimum of 8 transactions per second. This is a performance requirement.
● The executable code of System Z shall be limited to 512Kbytes. This is a space requirement which specifies the maximum memory size of the system.
Source-code requirements
There are product requirements which relate to the source code of the system
Examples:
The system shall be developed for PC and Macintosh platforms. This is a portability requirement which affects the way in which the system may be designed
The system must encrypt all external communications using the RSA algorithm. This is a security requirement which specifies that a specific algorithm must be used in the product
Process Requirements
Process requirements are constraints placed upon the development process of the system
Process requirements include:
● Requirements on development standards and methods which must be followed
● CASE tools which should be used
● The management reports which must be provided
● Examples:
The development process to be used must be explicitly defined and must be conformance with ISO 9000 standards
● The system must be developed using the XYZ suite of CASE tools
Management reports setting out the effort expanded on each identified system component must be produced every two weeks
● A disaster recovery plan for the system development must be specified
External Requirements
● May be placed on both the product and the process
● Derived from the environment in which the system is developed
● External requirements are based on:
● Application domain information
● Organisational considerations
● The need for the system to work with other systems
● Health and safety or data protection regulations
● OR even basic natural laws such as the laws of physics
Relationship between User needs, concerns and NFRs
Goal-based Derivation
● Relates non-functional requirements to the goals of the enterprise
● Goal converted into a NFR:
● Goal (unverifiable)
● The system should be easy to use by experienced controllers and should be organized in such a way that user errors are minimized
● Non-functional requirement (verifiable)
● Experienced controllers shall be able to use all the system functions after a total of two hours’ training. After this training, the average number of errors made by experienced users shall not exceed two per day
Testable NFRs
● Stakeholders may have vague goals which cannot be expressed precisely
● Vague and imprecise ‘requirements’ are problematic
● NFRs should satisfy two attributes for being Testable:
● Make it objective
● Use measurable metrics
Objective NFR is based on facts, can be measured and can be verified.
Subjective NFR is based on personal choices and desires
** It is not always possible to express NFRs objectively
Examples of measurable metrics for NFRs
Reliability
● Describe the run-time behaviour of the system
● Can be considered under two separate headings:
● Availability - is the system available for service when requested by end-users.
● Failure rate - how often does the system fail to deliver the service expected by end-users.
Performance
● Describe the speed of operation of a system
● Types of performance requirements:
● Response requirements
Security
● Security requirements are included in a system to ensure:
● Unauthorised access to the system and its data is not allowed
● Ensure the integrity of the system from accidental or malicious damage
● Examples of security requirements are:
● The access permissions for system data may only be changed by the system’s data administrator
● All system data must be backed up every 24 hours and the backup copies stored in a secure location which is not in the same building as the system
● All external communications between the system’s data server and clients must be encrypted
Usability
Concerned with specifying the user interface and end-user interactions with the system.
Well structured user manuals, informative error messages, help facilities and consistent interfaces enhance usability
Questions ?

Sunday, 17 December 2017

SRE Lec # 12 - Bespoke RE Vs. MDRE

>>>>> Download link here <<<<<


_______________________________________________________

This paper aims to present a comparative study on
Bespoke Requirements Engineering (RE) and Market-
Driven Requirements Engineering (MDRE). Differences
between both the approaches are discussed that leads to
importance of MDRE and the challenges it faces.
Moreover, conclusions are drawn based on the
comparative discussion.


In this paper, two basic approaches of requirements
engineering are discussed i.e. Bespoke RE and MDRE.
Section 2 described the differences between both the
approaches that are continued in Section 3 in the form of
challenges faced by MDRE with respect to Bespoke RE.
There are certain attributes similar in both the RE
approaches but they are different at many places due to
nature and environment of projects. Both the RE
processes face challenges but some challenges are
particularly related to market-based projects because of
the unique environmental factors associated with it. In a
nutshell, this report has presented a comparative study on
Bespoke RE and MDRE and described the challenges
associated with MDRE with respect to Bespoke RE.

SRE Lec # 11 - MDRE and Bespoke RE

>>>>> Download link here <<<<<


--------------------------------------------------
in this slide:

Differences  Between Bespoke RE & MDRE( Market Driven Requirement Engineering)

1. Start or Initiation of the project
2. Objective
3. Success Criteria
4. Elicitation.
5. Analysis and negotiation
6. Validation
7. Financial Risk
8. Relationship
9. Constraint Based Delivery.
 Start Of the Project
In market Driven model the project is
initiated, and it’s a continuous process because the focus of
MDRE is on large pool of customers, According to their
needs the requirements also change (each customer may
have different needs),in order to fulfill the requirements of
the customers the products are released in different version
according to the changes in the requirements.
              Objective

Delivering right product at the right time
 is the key to be successful.
This is done by envisioning and fostering the new set of requirements on the existing software products to capture market before the competitor companies
In MDRE the key objective is time to market besides this the other objectives are :
 to achieve the large number of Customers Satisfaction
Concentrate on the correct market for the product ,where
,when and how to release the product in to the market with
right time and in right place.
 These objectives that are defined depends on the success Criteria of the product. I.e., if the product is success full in the market it implies that
the objective of the company is achieved..

            Success Criteria

Success rate depends on the acceptance of the product   by the customers.
In MDRE the Success depends onthe
      product value
product  reviews,
     market share ,
                     time to release(correct time ),
the satisfaction of large number of  customers

ELICITATION PHASE:

in MDRE the source of requirements will be huge and
it will be difficult to satisfy each and every requirement of the customer .
 In order to achieve this goal the requirements are identified by the team in the first release of the particular product
ANALYSIS AND NEGOTIATION

in MDRE though analysis of the product is done ,negotiation with the
customer is not possible alternatively to satisfy the customer new versions of the product is released into the market.
Nature of requirements

The requirements are innovative and new ideas are implemented.
 It is important that market needs should be considered important in defining requirements along with the new ideas implementation.
VALIDATION:

Validation of the product is done to prove that a particular product meets the essential requirements of a customer for a particular purpose.
In MDRE the product is validated after the release i.e., the validation is done by the customers on the beta version of the product,
If there are any flaws in the product those flaws are corrected and the original version of the product is released.


Sunday, 29 October 2017

SRE Assignment # 1

Title: Requirement Elicitation & Specification (of desktop personal assistant application)

Goal: Get Familiar with Elicitation Technique and SRS

Submission:

·        Method you used for Elicitation

·        SRS

Deadline: Before November 13, 2017

Description:

                Client wants a simple Personal Assistant Desktop application which has following high level requirements:
1.       App should be able to remind user about his/her meetings.
2.       App should be able to remind the user about the birthdays of friends & family, due bill payments and all important events around him/her.
3.       App should be able to maintain a to-do list for user.
4.       If possible then app should be able to speak and perform according to users’ voice commands.

Group member limits: 1 to 5 members



Don’t try to copy. Viva will be conducted at the time of submission.


Good Luck!

SRE Lec # 6

>>>>>Download Slide Here <<<<<



In this slide:
__________________________________________________


SRE –
 Requirement Elicitation
BSEF15 (V)
Abdul Razaq Ali
Objectives
To describe the processes of requirements elicitation and analysis.
To introduce a number of requirements elicitation and requirements analysis techniques.
To discuss how prototypes may be used in the RE process.
Elicitation, Analysis &Negotiation: Zig-zagging and Backtracking
Components of Requirements Elicitation
Application domain understanding
Application domain knowledge is knowledge of the general area where the system is applied.
Problem understanding
The details of the specific customer problem where the system will be applied must be understood.
Business understanding
You must understand how systems interact and contribute to overall business goals.
Understanding the needs and constraints of system stakeholders
You must understand, in detail, the specific needs of people who require system support in their work.
Requirement Elicitation Process
Elicitation Stages
Objective setting
The organizational objectives should be established including general goals of the business, an outline description of the problem to be solved, why the system is necessary and the constraints on the system.
Background knowledge acquisition
Background information about the system includes information about the organization where the system is to be installed, the application domain of the system and information about existing systems.
Knowledge organization
The large amount of knowledge which has been collected in the previous stage must be organized and collated.
Stakeholder requirements collection
System stakeholders are consulted to discover their requirements.
Elicitation Techniques
Interviews
Scenarios
Observations and social analysis
Requirements reuse
Prototyping
Interviews
The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements.
Types of interview:
Closed interviews. The requirements engineer looks for answers to a predefined set of questions
Open interviews There is no predefined agenda and the requirements engineer discusses, in an open-ended way, what stakeholders want from the system.
Often it is MIXED
Interviewing Essentials
Interviewers must be open-minded and should not approach the interview with pre-conceived notions about what is required.
Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system.
Interviewers must be aware of organizational politics -many real requirements may not be discussed because of their political implications.
Scenarios
Scenarios are stories which explain how a system might be used.
They should include:
a description of the system state before entering the scenario
the normal flow of events in the scenario
exceptions to the normal flow of events
information about concurrent activities
a description of the system state at the end of the scenario
Scenarios are examples of interaction sessions which describe how a user interacts with a system
Discovering scenarios exposes possible system interactions and reveals system facilities which may be required
Library Scenario – document ordering
1.Log on to EDDIS system
2.Issue order document command
3.Enter reference number of the required document
4.Select a delivery option
5.Log out from EDDIS
6.This sequence of events can be illustrated in a diagram
Library Scenario
Scenarios and OOD
Scenarios are an inherent part of some object-oriented development methods
The term use-case (i.e. a specific case of system usage) is sometimes used to refer to a scenario
There are different views on the relationship between use-cases and scenarios:
A use-case is a scenario
A scenario is a collection of use-cases. Therefore, each interaction is represented as a separate use-case
Observations and Social Analysis
People often find it hard to describe what they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work.
Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes.
Actual work processes often differ from formal, prescribed processes.
An ethnographer spends some time observing people at work and building up a picture of how work is done.
Spend time getting to know the people and establish a trust relationship
Keep detailed notes of all work practices. Analyze them and draw conclusions from them
Combine observation with open-ended interviewing
Organize regular de-briefing session where the ethnographer talks with people outside the process
Combine ethnography with other elicitation techniques
Requirements Reuse
Reuse involves taking the requirements which have been developed for one system and using them in a different system
Requirements reuse saves time and effort as reused requirements have already been analyzed and validated in other systems
Currently, requirements reuse is an informal process but more systematic reuse could lead to larger cost savings
Reuse leads to a consistency of style across applications.
Prototyping
A prototype is an initial version of a system which may be used for experimentation
Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticize
Rapid development of prototypes is essential so that they are available early in the elicitation process
Types of Prototyping
Throw-away prototyping
Intended to help elicit and develop the system requirements.
The requirements which should be prototyped are those which cause most difficulties to customers and which are the hardest to understand. Requirements which are well-understood need not be implemented by the prototype.
Evolutionary prototyping
Intended to deliver a workable system quickly to the customer.
Therefore, the requirements which should be supported by the initial versions of this prototype are those which are well-understood and which can deliver useful end-user functionality. It is only after extensive use that poorly understood requirements should be implemented.
Prototyping Benefits
The prototype allows users to experiment and discover what they really need to support their work
Establishes feasibility and usefulness before high development costs are incurred
Essential for developing the ‘look and feel’ of a user interface
Can be used for system testing and the development of documentation
Forces a detailed study of the requirements which reveals inconsistencies and omissions
Prototyping – costs and problems
Training costs -prototype development may require the use of special purpose tools
Development costs -depend on the type of prototype being developed
Extended development schedules -developing a prototype may extend the schedule although the prototyping time may be recovered because rework is avoided
Incompleteness -it may not be possible to prototype critical system requirements
Questions ?

Tuesday, 10 October 2017

SRE - Lec # 1



What's in this Slide

Software Requirement Engineering 
BSEF15 (V)
Abdul Razaq Ali
Introduction
Purpose -Why this course?
System requirements and the requirements engineering process.
Requirements engineering and a Software Engineer
Importance of the requirements documentations -SRS
This course -Blend of Bespoke and MDRE

Introduction  (Cont. )
What is SRE impact in Software engineering learning curve?
Requirements Management vs Project Management
Understanding role of RE in SDLC
Introduction  (Cont. )
What are pre-requisites – Previous experience? 
Basic concepts of software engineering and understanding of overall software project cycle. 
Understanding of project management processes 
Good grip on software testing and Object oriented analysis & Design 

Introduction  (Cont. )
What are outcomes – Future expertise ? 
Requirements Analyst 
Composed software engineers 
Better project team member

Course Site Details 
Website URL: http://pucitbookstore.blogspot.com/
Go to the site, press subscribe button to get  emails about latest posts. 

I suggest you to check blog daily for latest updates on course.

Course Details 
Assignments & Final Project 
Assignment 1 
– Requirement Elicitation & SRS for Library software  or Rent a car website.
Assignment 2 
– Requirement Engineering Trend Analysis - Case Study: Comparison in 5 years 
Final Term Project 
– Report submission – Your own experience with client and whole requirement engineering process.
Course Assessment Criteria