Requirements Flashcards
what are product requirements?
Any kind of requirement that concerns the software or system itself is a product requirement
what are functional requirements?
what should the software be doing
what are nonfunctional requirements?
what kind of constraints do we have in order to solve this problem. e.g. technical environment, network bandwidth
what are emergent properties?
requirements that include all various components of the system and how information flows between them. These depend on the level of abstraction that you’re working on.
what are process requirements?
any kind of action you are taking while you are building the software. They tell us something about the procedure or process about building the software
what are quantifiable requirements?
requirements that we can measure a specific value, that way they are testable.
what are system requirements?
requirements that specify what is the whole system, including humans and other non-software components, aiming to achieve. The goals of the software.
what is the difference between software vs system requirements?
We essentially build the software requirements from the system requirements. System are more of a high level description of the system overall, whereas software describes the internal functionality on a lower level
what are software requirements?
software requirements are properties that must be exhibited by something to solve a problem in the real world.
what are stakeholders?
those who have a part in the project
users: who uses the software
customers: who pay for the software
regulators: who check the software for compliance
software engineers: who design, create, maintains, tests and even uses the software
what is requirements elicitation?
the process of finding/figuring out requirements and writing them down. We take the system requirements and turn them into software requirements
what are requirements sources? examples?
where we get requirements from
goals or business concerns: what the client is telling us
domain knowledge: learn the industry
stakeholders: talk to those involved
what is the operational environment?
what environment you want (or need) to run the software on
what is the organizational environment?
how is your system going to affect peoples lives e.g. replacing people
what are some techniques to get requirements from sources?
interview stakeholders divise scenarios prototypes synchronization and brainstorming meetings observation user stories
what is requirements analysis?
go over the requirements and see how much we are actually going to proceed with this specific requirement and how the software is going to fit (operational and organizational). Its important because we will have contradictions in our requirements
what does being precise with the requirements enable?
validation: are these the correct specs
testing: can we verify implementation
estimate costs: requires talking to stake holders
what is formal analysis?
applying standard logic and proof techniques on the requirements. We write the requirements in such a way that we can put them into a computer and a program can tell us everything we’ve missed
what are some types of conceptual modelling?
use case diagrams data flow models state models goal based models user interactions object models SysML UML Sequence Diagram
what is negotiation?
Discuss with the stakeholders/client and finding middle ground because sometimes, they can ask for too much (even the impossible)
what is a requirements specification?
a software requirements specification SRS is a document which describes the requirements of the software, translated from the system requirements gathered from the stakeholders/client
what is requirements validation?
reviews
prototyping
model validation
acceptance tests