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