Quizes 1-3 Flashcards
There exist universal software engineering methods that are suitable for all types of systems and companies (true/false)
False
Software development processes are a set of related activities that lead to the production of a software product (true/false)
True
Waterfall development is an example of incremental development (true/false)
False
A characteristic of Agile development is that you can update the project at runtime (true/false)
True
In the classic notion, the goal of requirement engineering is to have complete and unambiguous requirements prior to design (true/false)
True
Plan driven processes are still used nowadays (true/false)
True
Non-functional requirements prescribe what services the software-to-be should provide (true/false)
False
A project can be successful only by applying requirement engineering on it (true/false)
False
Requirements need to be elicited, documented , validated and managed systematically (true/false)
True
Creating shared knowledge between stakeholders is a reason of performing requirement engineering (true/false)
True
What are 4 activities that are fundamental to software engineering?
- Software design and implementation
- Software specification
- Software evolution
- Software validation
What are differences between system engineering and software engineering?
System engineering is concerned with all aspects of computer-based systems development including hardware, software, and process engineering. Software engineering is part of this more general process
Does the deployed system actually match the stakeholders desires and needs?
Choose between following principles : systematic-work, value-orientation, validation, innovation
Validation
Don’t just automate - satisfying stakeholders is not enough
Choose between following principles : systematic-work, value-orientation, validation, innovation
Innovation
Eliciting, documenting, validation, and managing the requirements
Choose between following principles : systematic-work, value-orientation, validation, innovation
Systematic - work
Requirements should be something that indirectly create value to the product
Choose between following principles : systematic-work, value-orientation, validation, innovation
Value-orientation
The system should allow customers to download the invoice after doing the purchase
Classify requirement as functional/non-functional
Functional
Each sale shall be processed within 60 seconds
Classify requirement as functional/non-functional
Non-functional
The system shall delete inactive users after 1 year if not using the app
Classify requirement as functional/non-functional
Non-functional
A sales report needs to be created by the system
Classify requirement as functional/non-functional
Functional
The background shall be in light blue for all types of screens
Classify requirement as functional/non-functional
Non-functional
In application that rents bikes to the customers, if one bike is unclaimed from a use, it becomes available in the app
Classify requirement as functional/non-functional
Functional
Which of these requirements are considered to be specific quality requirements?
- portability
- speed
- availability
- volume
- usability
- portability
- availability
- usability
You should always give your user exactly what they want (true/false)
False
The more requirements the better your project will be (true/false)
False
You directly gain money from applying requirements engineering (true/false)
False
The riskier your project, the more requirements engineering is needed (true/false)
True
Agile processes are the way to go for all types of projects (true/false)
False
Plan-driven processes were used in the 70s and are not used anymore, it has been 50 years after all (true/false)
False
Software engineering is concerned with all aspects of software production (true/false)
True
There are some main activities that are shared among all types of software processes (true/false)
True
It is sometimes not possible to create a shared understanding among all stakeholders (true/false)
True
You can elicit requirements by applying data science techniques on social media posts (true/false)
True
Pick the right answers
Some of the reasons for performing requirements engineering in software processes are :
• Create a shared understanding between critical stakeholders
• Reduce the risk of developing the wrong product
• Polish developers writing and drawing skills
• Reduce the cost of reworking errors
• Create beautiful documents
• Understand key stakeholders needs
• Reduce the cost of developing the wrong products
- Create a shared understanding between critical stakeholders
- Reduce the risk of developing the wrong product
- Reduce the cost of reworking errors
- Understand key stakeholders needs
- Reduce the cost of developing the wrong products
The main activities of the plan-driven and incremental software processes covered in class are ?
- Requirements engineering/specification
- Design and implementation
- Validation
- Evolution/Maintenance
Each robot shall communicate its position to the central station every 200ms (functional/non-functional)
Non-functional
The system should be available on both phones and laptops (functional/non-functional)
Non-functional
Modified data in a database should be updated for all users accessing it within 2 seconds (functional/non-functional)
Non-functional
The system shall be shutdown in the case of a cyber attack (functional/non-functional)
Functional
The system should prompt a message that the submission was successful (functional/non-functional)
Functional
What are common techniques for eliciting requirements?
- storyboards
- prototypes
- interviews
- questionnaires
- workshops
What is a sprint?
A sprint is a fixed-length timeboxed activity lasting around two to four weeks
Which of the following are part of the agile development principle? •involve the customer •focus on the development process •develop and deliver incrementally •maintain simplicity •embrace change •document everything •do everything sequentially •focus on the people
- involve the customer
- develop and deliver incrementally
- maintain simplicity
- embrace change
- focus on the people
What are typical tasks of a product owner?
- Review the work done and help to test the product
- Identify product features and attributes
- Coach the team
- Ensure that the development team always focuses on the product they are building
- Guide the team in the effective use of the scrum method
- Review the work done and help to test the product
- Identify product features and attributes
- ensure that the development team always focuses on the product they are building
What are typical tasks of a scrum master?
•Review the work done and help to test the product
• Identify product features and attributes
•Coach the team
•Ensure that the development team always focuses on the product they are building
•Guide the team in the effective use of the Scrum method
- Coach the team
* Guide the team in the effective use of the Scrum method
What should your team do when planning a sprint? (True/false)
Agree on sprint goals
True
What should your team do when planning a sprint? (True/false)
Listen to the scrum master
False
What should your team do when planning a sprint? (True/false)
Decide on the list of items from the product backlog to be implemented
True
What should your team do when planning a sprint? (True/false)
Create a sprint backlog
True
What should your team do when planning a sprint? (True/false)
Have a stand-up meeting once a week
False
What should your team do when planning a sprint? (True/false)
Estimate the velocity of the team
False
What should your team do when planning a sprint? (True/false)
Estimate the number of items from the product backlog(PBIs)
True
What should your team do when planning a sprint? (True/false)
Elicit requirements
False
What are the main purposes of the sprint review meeting?
•plan next sprint
•set out new problems that have emerged during the sprint
•decide on the new velocity of the team based on the finished sprint
•review if the sprint met its goal
•reflect on improvements
•clean the backlog
•reflect on individual accomplishments
•help the team connect with each other
- set out new problems that have emerged during the sprint
- review if the sprint met its goal
- reflect on improvements
What are some of the traits that all successful google teams shared? •People liked each other •Healthy mix of personality types •People had empathy •High average IQ •They listened to the team leaders •Similar backgrounds •They spoke in roughly the same proportion
- People had empathy
* They spoke in roughly the same proportion
Which of the following requirements are specified correctly? Which break the recommendations seen in class and need revision
The system shall react in case of errors
Needs revision
Which of the following requirements are specified correctly? Which break the recommendations seen in class and need revision
When a card is sensed by the contactless payment system, the coffee vending machine shall provide the status of the payment within 20seconds
Follow recommendations
Which of the following requirements are specified correctly? Which break the recommendations seen in class and need revision
When a payment is unsuccessful, the system shall always allow the user to try again
Needs revision
Which of the following requirements are specified correctly? Which break the recommendations seen in class and need revision
When a Vu employee checks-in at the terminal, the system shall record the time within 5seconds
Follows recommendations
Which of the following examples are well formed user stories and which are not?
As a user, i want to share pictures with my friends in the platform
Well formed
Which of the following examples are well formed user stories and which are not?
Share pics with friends
Not well formed
Which of the following examples are well formed user stories and which are not?
As a dog owner, i want to find people that can walk my dog with the application
Well-formed
Which of the following examples are well formed user stories and which are not?
App should allow users to share pictures with friends
Not well formed
Which of the following examples are well formed user stories and which are not?
Software should allow for storage of 100 TB of data for each user
Not well formed
Which of the following examples are well formed user stories and which are not?
As a developer of the software, i want my software to be the best out there
Not well formed
Which of the following examples are well formed user stories and which are not?
As a developer of the software, i want the components of my system to communicate with a REST API
Not well formed
Which of the following examples are well formed user stories and which are not?
As a professional dog walker, i want to be able to advertise my services in the app
Well formed
For the given goals, find the corresponding elicitation technique (storyboard, prototypes&mock-up , background study)
Make sure that all stakeholders are on the main page with regard to the product vision and main use case scenario
Storyboard
For the given goals, find the corresponding elicitation technique (storyboard, prototypes&mockups , background study)
Check requirements adequacy from direct user feedback, by showing reduced sketch of software-to-be in action
Prototypes&mockups
For the given goals, find the corresponding elicitation technique (storyboard, prototypes&mock-up , background study)
Get the basics and prepare before meeting stakeholders
Background study
Which of the following is considered to be advantaged of the observation elicitation technique?
• Very accurate
• May reveal hidden problems through tricky ways of doing things
• Fast and economic
• Contextualization of acquired information
- May reveal hidden problems through tricky ways of doing things
- Contextualization of acquired information
Which of the following are considered to be disadvantages of interviews as a requirements elicitation technique?
•Acquired information might be subjective
•Effectiveness critically relies on interviewer’s attitude, appropriateness of questions
•Very expensive to be performed
•Not revealing information that can be acquired through other techniques
- Acquired information might be subjective
* Effectiveness critically relies on interviewer’s attitude, appropriateness of questions
All agile methods are based on incremental development and delivery (true/false)
True
With incremental development, you delay decisions until you really need to make them (true/false)
True
In incremental development, most important features are developed at the end (true/false)
False
All agile methods share a set of principles based on the agile manifesto, so they have much in common (true/false)
true
In incremental development, it is hard for the product manager to interact with the development team. (true/false)
false
Customers are not involved in agile development, because the whole work is handled by the development team. (true/false)
false
One problem with up-front project planning is that it involves making detailed decisions about the software long before the implementation begins. (true/false)
true
Scrum is based on a set of technical practices.(true/false)
false
In Scrum, the product owner reviews work done and helps to test the product. (true/false)
true
In Scrum terminology, the product backlog refers to the output of a sprint that is of a high enough quality to be deployed for customer use. (true/false)
false
In Scrum terminology, Sprint refers to a short period, usually 2-4 weeks, when a product is incrementally developed.
(true/false)
true
In Scrum terminology, Velocity refers on how fast a team can develop a product.
(true/false)
false
A fundamental principle of all agile development methods is that the software development team should be self-organizing (true/false)
true
In a Scrum project, the ScrumMaster and the Product Owner should be jointly responsible for managing interactions with people outside the team. (true/false)
true
Self-organizing teams have a project manager who assigns tasks and makes decisions for the team. (true/false)
false
Every Sprint involves three fundamental activities. Select these activities.
- Sprint planning
- Sprint debugging
- Sprint compiling
- Sprint reviewing
- Sprint execution
- Sprint planning
- Sprint reviewing
- Sprint execution
Which of the following are the purposes of a review meeting at end of each sprint?
- To reflect how the team can improve the way they work
- To review whether or not the sprint has met its goal
- To decide who is going to work for the team
- To discuss about financial estimates
- To set out any new problems and issues that have emerged during the sprint
- To reflect how the team can improve the way they work
- To review whether or not the sprint has met its goal
- To set out any new problems and issues that have emerged during the sprint
What are the reasons for which technological companies encourage employees to work together? (According to video: Insights from Google)
- Have less innovation costs
- Time efficiency
- Easier to coordinate
- Find better solutions to problems
- Less workload
- Innovate faster
- Achieve higher productivity
- See mistakes more quickly
- Find better solutions to problems
- Innovate faster
- Achieve higher productivity
- See mistakes more quickly
Which of the following sentences belong to a product backlog?
- As a parent, I want to be able to view my children’s work and the assessments made by their teachers
- Implement SSL encryption for the website, to protect the customer data
- Recruit persons to work in your project.
- Establish criteria for the assessment of open source software that might be used as a basis for parts of this system.
- Make a marketing plan for the innovation
- As a parent, I want to be able to view my children’s work and the assessments made by their teachers
- Implement SSL encryption for the website, to protect the customer data
- Establish criteria for the assessment of open source software that might be used as a basis for parts of this system.
How can data science help requirements engineering? (Select one or more)
- Data science techniques can help for having as much feedback as possible.
- Data science techniques can help prioritize requirements.
- Data science techniques can help for filtering requirements from unusual information
- Data science techniques can help for detecting duplicate requirements.
- Data science techniques guarantee 100% accuracy.
- Data science techniques can help prioritize requirements.
- Data science techniques can help for filtering requirements from unusual information
- Data science techniques can help for detecting duplicate requirements.
Identify requirements expressed in the “traditional” form
- The system shall allow up to 100 users be connected.
- As a customer, I want to have an invoice emailed at end of the month so that I’m aware of the purchases I did.
- The system receives the applications and stores them in the database.
- The system shall allow users to share files.
- The game shall not allow users to be connected with VPN.
- The system shall allow up to 100 users be connected.
- The system shall allow users to share files.
- The game shall not allow users to be connected with VPN.
When are full-fledged requirements specifications needed?
- Customers have a set of not fixed requirements.
- Development of the system is done by an internal contractor.
- Customers want contractually fixed requirements, costs and deadlines.
- Customers do not have preferences for costs and deadlines.
- Systems are built by an external contractor based on a set of given requirements.
- In regulated environments where regulators check compliance of developed systems to their requirements.
- Customers want contractually fixed requirements, costs and deadlines.
- Systems are built by an external contractor based on a set of given requirements.
- In regulated environments where regulators check compliance of developed systems to their requirements.
In agile development, no classic requirements specification document is needed, even if it is mandated by regulators. (true/false)
false
A system vision provides an abstract overview of the system to be developed
(true/false)
true
As a general guideline, in agile development, it is suggested to add as much things as possible. (true/false)
false
In agile requirements, stories organized in a product backlog. (true/false)
true
Adapting the degree of detail to the risk associated with a requirement, is one of the general rules when documenting the requirements. (true/false)
true
Phase templates are used for creating well-formed natural language requirements.
(true/false)
true
Which aspects needs to be documented?
- Velocity
- Performance
- Functionality
- Constraints
- Reliability
- Sprint
- Compatibility
- Performance
- Functionality
- Constraints
- Reliability
According to Kohn, which are the requirements for writing agile user stories?
- Expected benefit is a must to be included in the requirements.
- Acceptance criteria can be excluded.
- Written from a stakeholder’s perspective.
- It must include the production costs.
- Acceptance criteria makes the story more precise
- A single sentence about a requirement.
- A paragraph about the requirement.
- Written from customer perspective.
- Optionally including the expected benefit
- Accompanied by acceptance criteria for requirement.
- Written from a stakeholder’s perspective.
- Acceptance criteria makes the story more precise
- A single sentence about a requirement.
- Optionally including the expected benefit
- Accompanied by acceptance criteria for requirement.