Software Requirements Flashcards
Define a requirement
A requirement is a specification of what should implemented, it drives the design choices that need to be made, as well as describe how the system should behave
Requirements gathering is the process of _
Requirements gathering is the process of gathering and documenting the functions that the system should perform for the users, in their language and from their perspective
Describe what happens in the analysis phase/activity
During the analysis process, the requirements are taken and built into a logical solution that satisfy the requirements, but does not need to take into account the physical constraints
Describe what happens in the design phase/activity
The design phase starts with the logical solution from the analysis phase, changing it to work effectively with the physical constraints, (e.g network latency, database performance, user interface, etc), and transforming it into specifications that can be used during the construction/development phase
Describe what happens during the construction phase/activity
The construction phase uses the output of the design phase to produce working code
Describe what happens during the testing phase/activity
The product from the construction phase is tested, and issues are detected, recorded and fixed, and user acceptance is acquired
Describe what happens during the deployment phase/activity
The tested application is put onto the production environment by deploying the code libraries to the destined machines, training users and fine-tuning the business procedures surrounding the new system
Describe what happens during the maintenance phase/activity
Administer and make changes to the working system in the production environment to adapt to ongoing business changes, technology changes, and system issues (bugs, design problems) etc
Define UML
UML is Unified Modeling Language, a language notation that governs the ways to document system specifications
What does UML do?
UML tells you how to structure your system documentation
What are sequence diagrams used for?
Sequence diagrams are used as a tool to illustrate the internal workings of a use case
What are collaboration diagrams used for?
Collaboration diagrams are used to illustrate complex interactions of a use case, such as conditional messaging
What do state and activity diagrams do?
State and activity diagrams illustrate the transition from one state to another of a system - they illustrate how the state of a program changes in response to input data
Describe class diagrams
Class diagrams show how classes are constructed and list their names, attributes, and operations. They also show the relationship between classes
Describe object diagrams
Object diagrams show the relationships between objects in the system