Requirements engineering

Add to Favourites
Post to:

Description
software requirements

Comments
Presentation Transcript Presentation Transcript

Requirements Engineering : Requirements Engineering 1 Requirements Engineering - A Study

Definition : Requirements Engineering 2 Definition The process of establishing the services the system should provide and the constraints under which it must operate is called requirements engineering. The purpose is to establish the specification which are correct, consistent and free of all errors.

Slide 3 : Requirements Specification 3

Stages of Requirements Engineering : Requirements Engineering 4 Stages of Requirements Engineering Feasibility Study- An estimate is made of whether the identified user needs may be satisfied using current hardware and software technology. Requirement Analysis-This is the process of deriving the system requirements through observation of existing system ,discussion with users and task analysis Requirements Definition- Requirements definition is the activity of translating the information gathered during the analysis activity into a document that defines a set of requirements . Requirements Specification-A detailed and precise description of the system requirements is set out to act as a basis of the contract between the client and the software developer Requirements Validation- It is a means of testing the requirements for their correctness, consistensy and evoution

Slide 5 : Feasibbility Study 5

Slide 6 : Feasibility Study 6

Requirement Analysis : Requirements Analysis 7 Requirement Analysis Domain Understanding Requirements Collection Classification Conflict Resolution Prioritization Requirements Validation

Viewpoint Analysis : Requirements Analysis 8 Viewpoint Analysis Requirements Viewpoint Viewpoint Viewpoint Viewpoint

System Context Analysis An Example : Requirements Analysis 9 System Context Analysis An Example Auto-teller System Security System Maintenance System Branch Counter System Branch Accounting System Accounts Database Usage Database

Requirements Specification : Requirements Specification 10 Requirements Specification Requirements Specification- a) Structured Natural Language b) Design Description Language c) Requirements Specification Language d) Graphical Notation e) Mathematical Specification

Structure of requirements document : Requirements Specification 11 Structure of requirements document Introduction System Models Functional requirements definition Non-functional requirements definition System evolution Requirements Specification

Software Prototyping : Requirements Specification 12 Software Prototyping Outline Requirements Outline Requirements Outline Requirements Evolutionary Prototype Throwaway Prototype

Prototyping using 4GL : Requirements Specification 13 Prototyping using 4GL Simplest 4GL’s are the database query languages such as SQL. 4GL’s may also contain packages like report genarator,screen form design to provide interactive facility.

Formal Specification : Requirements Specification 14 Formal Specification A formal specification is a specification expressed in a language where vocabulary ,syntax and semantic are formally defined. These languages are based on mathematics Example- Function search(X:Integer_Array, key:Integer) Return Integer Pre: exists i in X_first..X_Last Post: Search(X,key)==1

Slide 15 : Requirements Specification 15

Slide 16 : Requirements Specification 16

Algebraic Specification : Requirements Specification 17 Algebraic Specification It involves specification structure, operator selection, syntax definition and axiom definition. Example- a,b,c : Integers a,b,c: a>b,a=b,a>c a,b,c: a=b.c,a=b+c

Structured Specification : Requirements Specification 18 Structured Specification Define the variables- X,Key,I Define the purpose- The function searches for a key in a given list of integers. Define the Functions – Search(List,Key)

Slide 19 : Requirements Validation 19

Slide 20 : Requirements Validation 20

Slide 21 : Requirements Validation 21

Validation inputs and outputs : Requirements Specification 22 Validation inputs and outputs

Requirements review process : Requirements Specification 23 Requirements review process

Review team membership : Requirements Specification 24 Review team membership Reviews should involve a number of stakeholders drawn from different backgrounds People from different backgrounds bring different skills and knowledge to the review Stakeholders feel involved in the RE process and develop an understanding of the needs of other stakeholders Review team should always involve at least a domain expert and an end-user

Review checklists : Requirements Specification 25 Review checklists Understandability Can readers of the document understand what the requirements mean? Redundancy Is information unnecessarily repeated in the requirements document? Completeness Does the checker know of any missing requirements or is there any information missing from individual requirement descriptions? Ambiguity Are the requirements expressed using terms which are clearly defined? Could readers from different backgrounds make different interpretations of the requirements?

Review checklists : Requirements Specification 26 Review checklists Consistency Do the descriptions of different requirements include contradictions? Are there contradictions between individual requirements and overall system requirements? Organisation Is the document structured in a sensible way? Are the descriptions of requirements organised so that related requirements are grouped? Conformance to standards Does the requirements document and individual requirements conform to defined standards? Are departures from the standards, justified? Traceability Are requirements unambiguously identified, include links to related requirements and to the reasons why these requirements have been included?

Prototyping for validation : Requirements Specification 27 Prototyping for validation

User manual development : Requirements Specification 28 User manual development Writing a user manual from the requirements forces a detailed requirements analysis and thus can reveal problems with the document Information in the user manual Description of the functionality and how it is implemented Which parts of the system have not been implemented How to get out of trouble How to install and get started with the system

Model validation : Requirements Specification 29 Model validation Validation of system models is an essential part of the validation process Objectives of model validation To demonstrate that each model is self-consistent If there are several models of the system, to demonstrate that these are internally and externally consistent To demonstrate that the models accurately reflect the real requirements of system stakeholders Some checking is possible with automated tools Paraphrasing the model is an effective checking technique

Data-flow diagram for Issue : Requirements Specification 30 Data-flow diagram for Issue

Requirements testing : Requirements Specification 31 Requirements testing Each requirement should be testable i.e. it should be possible to define tests to check whether or not that requirement has been met. Inventing requirements tests is an effective validation technique as missing or ambiguous information in the requirements description may make it difficult to formulate tests Each functional requirement should have an associated test

Test case definition : Requirements Specification 32 Test case definition What usage scenario might be used to check the requirement? Does the requirement, on its own, include enough information to allow a test to be defined? Is it possible to test the requirement using a single test or are multiple test cases required? Could the requirement be re-stated to make the test cases more obvious?

Test record form : Requirements Specification 33 Test record form The requirement’s identifier There should be at least one for each requirement. Related requirements These should be referenced as the test may also be relevant to these requirements. Test description A brief description of the test and why this is an objective requirements test. This should include system inputs and corresponding outputs. Requirements problems A description of problems which made test definition difficult or impossible. Comments and recommendations These are advice on how to solve requirements problems which have been discovered.

Requirements test form : Requirements Specification 34 Requirements test form

Hard-to-test requirements : Requirements Specification 35 Hard-to-test requirements System requirements Requirements which apply to the system as a whole. In general, these are the most difficult requirements to validate irrespective of the method used as they may be influenced by any of the functional requirements. Tests, which are not executed, cannot test for non-functional system-wide characteristics such as usability. Exclusive requirements These are requirements which exclude specific behaviour. For example, a requirement may state that system failures must never corrupt the system database. It is not possible to test such a requirement exhaustively. Some non-functional requirements Some non-functional requirements, such as reliability requirements, can only be tested with a large test set. Designing this test set does not help with requirements validation.

Key points : Requirements Specification 36 Key points Requirements validation should focus on checking the final draft of the requirements document for conflicts, omissions and deviations from standards. Inputs to the validation process are the requirements document, organisational standards and implicit organisational knowledge. The outputs are a list of requirements problems and agreed actions to address these problems. Reviews involve a group of people making a detailed analysis of the requirements. Review costs can be reduced by checking the requirements before the review for deviations from organisational standards. These may result from more serious requirements problems.

Key points : Requirements Specification 37 Key points Checklists of what to look for may be used to drive a requirements review process. Prototyping is effective for requirements validation if a prototype has been developed during the requirements elicitation stage. Systems models may be validated by paraphrasing them. This means that they are systematically translated into a natural language description. Designing tests for requirements can reveal problems with the requirements. If the requirement is unclear, it may be impossible to define a test for it.

Slide 38 : Requirements Validation 38

Slide 39 : Requirements Validation 39

Want to learn?

Sign up and browse through relevant courses.

Name:
Your Email:
Password:
Country:
Contact no:


Area code Number
Subjects you are interested in:
Word verification: (Enter the text as in image)


Sign Up Already a member? Sign In
I agree to WizIQ's User Agreement & Privacy Policy
Navin Kr Sehgal
Assistant Professor Computer Science
7 Followers

Your Facebook Friends on WizIQ

Give live classes, create & sell online courses

Try it free Plans & Pricing

Connect