01 Flashcards
Give two reasons for starting to talk about requirements as early as possible in software development.
Having a good understanding of the requirements makes it easier to organize and plan the software development project, for this reason, the earlier you start talking about it, the easier and more accurate it will be to organize the project plans, increasing productivity and profitability.
Talking about requirements has the effect of helping people’s mind concentrate on the problems and how to solve it, talking about it early gives the developers a deeper understanding of the project, resulting in the increase of the chances of developing a program that better meets the customer’s needs
Suggest two benefits that agile can bring into the development of requirements.
Agile flexibility facilitates requirement changes because it takes the approach that requirements will change during the development, which is very helpful due to the continuous realignment of development goals that is very common during the development of requirements resolving in software that better suits the customer’s purpose
Agile has a pragmatic approach to documentation and traceability trying to find a balance between the amount of documentation and the return it brings resulting in clear, purposeful and easy-to-understand documentation that offers maximum result for the applied efforts.
The manifesto for agile software development sets out four values, list them.
- individuals and interactions over processes and tools
- working software over comprehensive documentation
- customer collaboration over contract negotiation
- responding to change over following a plan.
Compare a plan-driven approach to modelling to an agile approach.
Plan driven modelling is done as part of a rigorous process while agile modelling is only for a purpose.
Plan driven modelling is well documented while agile modelling documentation can be throw-away.
Plan driven modelling may be done by an individual while agile modelling is done collaboratively.
Plan driven techniques are dictated by the process while agile modelling techniques are dictated by the problem.
In a software development projects, who are the stakeholders? (name four interested parties)
. the people who are going to use the system
. those who are paying for it (the clients)
. those who are to benefit from it
. those who are developing it.
In a software development project, what is the meaning of ‘Naming conventions and terminology’
The vocabulary of the project, including terms and definitions that are commonly used in communication with the stakeholders
What is a functional requirement? Give examples
Functional requirements are what the system shall do for example: record, display, handle, calculate
What is a non-functional requirements? Give examples
Non-functional requirements are qualities the system shall have for example usability.
Example: validate the user’s identity and password within
three seconds
Identify the eight classes of non-functional requirements:
MOLLUSC
Maintainability and support requirements. Expected changes, and the time allowed to make them.
Operational and environmental requirements. The environment on which the product will have to work (under water, for example), and what considerations must be made for this environment.
Look-and-feel requirements. The spirit of the product’s appearance.
Legal requirements. The laws and standards that apply to the product.
Usability and humanity requirements. The product’s ease of use and any special usability considerations.
Security requirements. The security and confidentiality of the product.
Cultural requirements. Special requirements that come about because of the people involved in the product’s development and operation.
Here’s a non-functional requirement:
The requirement: System should be easy to use for club members who will be using the internet.
For this example:
1-say what category of non-functional requirement it belongs to
2- provide a suitable fit criterion for the requirement.
The requirement: System should be easy to use for club members who will be using the internet.
The category: Usability and humanity requirements
Fit Criterion: No training will be required for using the system online. At least 95% of users should be able to make a booking in 4 minutes.
What does an activity diagram show?
An activity diagram shows a process as a set of activities and describes how they must be coordinated – which ones depend on others having been completed first and where activities can be carried out in parallel.
What does activity diagrams help us understand? What do they model?
Activity diagrams help us to understand the business situation before any decisions are taken about a software solution and its boundaries. They model behavioural aspects of the domain.
An activity diagram has two types of synchronization bars, name and explain them. Use making a cup of tea as an example.
Fork: allows for separate activities to be carried out in parallel.
Ex: you could invite a friend to add the coffee to the cup while you fill the kettle!
Join: prevents you from carrying on until both strands that lead into it are completed.
Ex: You cannot add the water until it has boiled and there is coffee in the cup.
In activity diagram, explain decision nodes and merge nodes
A decision node is drawn as a diamond. It’s used when there are two or more alternative ways out of an activity, It represents alternative mutually exclusive, ways out of an activity
A merge node brings together alternative mutually exclusive flows it has a single outgoing flow.
What are the main elements of a use case diagram?
. the actors, represented by stick figures
. the use cases, represented by ovals
. the relationships between actors and use cases – their associations – represented by lines.