Requirements Engineering Flashcards
What is requirements engineering?
the process of defining ,documenting and maintaining requirements in the engineering design process, indicating constraints of the system. Requirements are based on what the customer wants
What is a requirement
Initial a requirement is an abstract statement as there is no picture of how the system should look like and overtime the requirements become more detailed and are refined
Requirements may form as part of a contract or may be part of the basis for negotiations for a contract
What are the types of requirements
User Requirements
-requirements written for customers with services that will be provided and the constraints
User requirements describe what the user should do
-System Requirements
document of the systems functions ,services and operational constraints. Defines what should be implemented, may be part of a contract between a client and contractor
System requirements describe how will the user achieve user requirements when interacting with the system plus non functional requirements such as “the system should handle 100000 users at the same time”.
What is a system stakeholder
any person or organization who is affected by the system in some way and so who has legitimate interest
Agile methods usually use incremental requirements engineering and express requirements as user stories. What is incremental requirements engineering
Refinement of requirements
When is agile not suitable?
When systems require pre-delivery anlysis(e.g. critical systems)
What are functional requirements?
state what a system should do , may include what the system should not include
What are non-functional requiremenrts
constraints on the services or functions offered by the system (often apply to the system as a whole)
What are domain requirements
constraints on the system from the the domain of operation
What is the difference between functional and non-functional requirements?
Functional requirements define what the system should do ,
non-functional requirements are not directly concerned with specific functions by specify systems properties or place constraints on the system or its development process(must use a specific language)
What are some ways functional requirements are not properly stated ?
Ambiguous words are used to define requirements and cause confusion for developers and users
Can requirements be complete and consistent,what does complete and consistent mean?
Requirements should both be complete and consistent ,in practise it is impossible to produce a complete and consistent requirements document. Complete means they should include descriptions of all that is required. Consistent means there should be no contradictions in the description of the system requirements
The three types of non-functional requirements and explain each
Product requirements: that specify or constrain the software behaviour
Organizational requirements,are general requirements derived from policies and procedures in the customer’s organization
External requirements,which cover all requirements derived from factors external to the system and its development process
What is the general intention of non-functional requirements
Making things more efficient for the user
Requirement engineering is an iterative process what are the principal stages of that process (E&A ,S,V)
Requirements Elicidation and Analysis, Specification, Validation
What are the benefits of specifying requirements in a standard format
Requirements have same format easier to read,its possible to automate the process,What should be included in each portion is specify so it is less difficult to forget to include information
What is another name for requirements elicidation
Requirements discovery
What is ethnography
social scientist that observes and analyses how people work
What is structured specification
an approach to writing requirements where little freedom is given to the writer
What is the software requirements document
it is the official statement of what is required of the system’s developers
What is requirements validation
Concerned with demonstrating that the requirements are what customer really wants
What are some requirement validation techniques
Requirement reviews,Prototyping, generating tests
Requirements checking.What are some things to have in mind when checking requirements
Are requirements valid? Are the requirement complete, are the requirements consistent, are the requirements realistic /valuable with budget and other things