Software Engineering Test #1
(Fill in the blanks) Requirements specification is the process of writing down the ______ and ______ requirements in a requirements document
system, user
Customer involvement is very low with the agile method. The customer will only involve in the process at the delivery stage.
False
You were asked to develop a "University enrolment system." In this system, a student sends in a course registration application containing his/her personal details and desired course to be enrolled in. Since federal law prohibits educational institutions from disclosing "personally identifiable information in education records," this system must keep all students' personal information secure. After getting this enrollment request from the student, the university enrolment system checks to see if the course is available. If available, the student is enrolled in the course. Then the university confirms the enrolment by sending a confirmation letter to the student, indicating that the student has been registered with the requested course. Or if the course is unavailable, the student is sent a rejection letter. This system should send out this email within 5 minutes of the student's initial enrolment request.
• Keep the students' details private. • The system sends the confirmation letter within 5 minutes of enrollment request. Functional requirements define what a product must do, and what its features and functions are. Nonfunctional requirements describe the general properties of a system. They are also known as quality attributes. Nonfunctional Requirements define system attributes such as security, reliability, performance, maintainability, scalability, and usability.
Assume you developed an android app for employees at a local warehouse named "WoodPackers" (A warehouse is a building for storing goods). From the following list, select the ones that could be stakeholders of this system:(Select all that apply)
• Managers at WoodPackers. • Investors of this company. • Owner of WoodPackers. A stakeholder of a system is a person or an organization that has a (direct or indirect) influence on the requirements of the system. Typical stakeholders are investors, employees, customers, suppliers, communities, governments or trade associations. An entity's stakeholders can be both internal and external to the organization.
What would be possible reasons for requirements to change later on?
• New hardware has been introduced into the system. • Legislation and regulations regarding the system change. • Discovering conflicting requirements in the system
Different types of software applications will require different software engineering methodologies. There are eight application types introduced in chapter 1. Which are stand-alone applications, interactive transaction-based applications, embedded control systems, batch processing systems, entertainment systems, systems for simulation, data collection systems, and systems of systems. Which one of the following describes a batch processing system?
Business systems that are designed to process a large amount of data such as electric billings and salary payments.
What is "velocity" in the scrum method?
Estimation of things that the team can cover in a single sprint.
In agile processes, all of the process activities are planned in advance, and progress is measured against this plan.
False
With the Scrum method the whole team does not have visibility of everything that's going on in the team.
False
With increment development, it is not very easy to get customer feedback on the development work that has been done. Customers can easily comment on demonstrations of the software and see how much has been implemented.
False • It is easier to get customer feedback on the development work that has been done. Customers cannot easily comment on demonstrations of the software and see how much has been implemented.
The prototype of the software will be very close to the final software version. Therefore, the prototype should not be discarded.
False • Prototypes usually will not meet normal organizational quality standards and the structure is usually degraded through rapid changes. Prototypes should be discarded after development as they aer not a good basis for a production system.
With a user story, we can felicitate all requirements of a system.
False • User stories and scenarios are a description of how a system may be used for a particular task. It will not give a full description. These are mostly written on note cards.
Evolving the software through several versions until the required system has been developed is known as the _______________________ model.
Incremental development
There are three stages to testing: component testing, system testing, and customer testing. What type of testing is performed at the component testing stage?
Individual components are tested independently, without other system components. Components may be functions or objects or coherent groupings of these entities.
What would be one of the roles of the scrum master?
Keep the team away from external distractions. • The role of the Scrum master is to protect the development team from external distractions.
Software engineering ethics. There are areas where standards of acceptable behavior are not bound by laws, but more of professional responsibility. One of the ethics software engineers should be aware of is intellectual property rights. What are intellectual property rights?
Legal power given to an inventor or a creator to protect his/her invention. Such as patents, copyrights, etc...
Multi-team Scrum uses "Scrum of Scrums". What is "Scrum of Scrums"?
Meeting where representatives of each team meet to discuss progress and plan work. • Getting customer participation in the development team. • Asking the team to improve the productivity of Scrum.
Why agile development is not a good choice for long-lifetime system?
Original developers will not always stay at the same job. • For a long-lifetime systems, this is real problem as the original developers will not always work on the system. Since there isn't enough documentation with agile development, when an experienced team member leaves, knowledge of the software leaves with him. It will be hard for a new employee to learn the system without adequate documentation.
What is a "product backlog" in the scrum method?
Product owner's wish list • The product owner has a product backlog (similar to a wish list). This is a list of 'to do' items which the Scrum team must tackle.
What would be a direct benefit of requirement validation?
Reduce the cost of having to fix issues after delivery.
One of the principal practices of extreme programming is refactoring. What is refactoring?
Restructuring existing code without changing any of its functionality.
What is multi-team scrum and who uses it?
Scrum has been adapted for large-scale development. Multiple Scrum teams are set up to handle part of a large system. Each team has a Product Owner for their work component and ScrumMaster.
How does software get developed using the "Integration and configuration" model?
Software is assembled from existing (reusable) components.
There are two types of software products: Generic products and customized products. Which of the following statements is true about a generic product
Software made for any customer who wants to buy it. • Banking app made for a specific bank to manage its internal activities.
A software process is a sequence of activities that leads to the production of a software product. These activities include: software specification, software development, software validation, and software evolution. Which one of the following statements is true about software evolution?
Software that is modified to reflect changing customer and market requirements.
What would be a problem that requirements engineers may face during requirements elicitation? (Select the best option)
Stakeholders having conflicting requirements.
Different types of software applications will require different software engineering methodologies. There are eight application types introduced in chapter 1. Which are stand-alone applications, interactive transaction-based applications, embedded control systems, batch processing systems, entertainment systems, systems for simulation, data collection systems, and systems of systems. Which one of the following describes a data collection system?
Systems that collect information from their environment using a set of sensors and send that information to other systems for processing.
Which of the following is the main characteristic of extreme programming:
Test cases are developed before the implementation starts.
One of the principal practices of extreme programming is small releases. What are small releases?
The minimal useful set of functionality that provides business value is developed first. Small releases: The minimal useful set of functionalities that provides business value is developed first.
Software implementation is the process of translating "software design (structure of the software)" into an executable program
True
Software is a computer program and associated documentation.
True
The aim of agile methods is to be able to respond quickly to changing requirements without excessive rework.
True
In the waterfall model, there are several phases. In principle, a phase has to be completed before moving on to the next phase.
True • The waterfall model is an example of a plan-driven process. Because of the cascade from one phase to another, this model is known as the waterfall model. With this model, a phase has to be completed before moving on to the next phase.
Fundamental activities that are common to all software processes includes: specification, design and implementation, validation, and evaluation. What does a software engineer do during the validation process?
checking that it does what the customer wants
What are some of the requirements elicitation techniques?(Select all that apply)
• Interview uses of the system. • Observe the existing system. During requirements elicitation/discovery, you need to spend time understanding how people work, what they produce, how they use other systems, and how to make changes to accommodate a new system. There are two fundamental approaches to requirements elicitation: 1. Interviewing, where you talk to people about what they do. 2. Observation or ethnography, where you watch people doing their job to see what artifacts they use, how they use them, and so on.
What are the characteristics of agile development?
• Program specification, design and implementation are inter-leaved. • the system is developed as a series of versions or increments with stakeholders involved in version specification and evaluation. • Frequent delivery of new versions for evaluation. • Extensive tool support (e.g. automated testing tools) used to support development. • Minimal documentation - focus on working code.
Despite the many advantages the "integration and configuration" model brings to the table, there are several disadvantages to using such a model.(Select all disadvantages)
• Requirements may be compromised due to reusable components not having everything the user needs. • Loss of control over evaluation due to reused elements belonging to another company.
What are the 3 main roles in the scrum method?
• Team • Product Owner • Scrum Master
What is extreme programming?
• With Extreme Programming, new versions may be build several times per day. • Increments are delivered to customers every 2 weeks. • All test must be run for every build and the build is only accepted if tests run successfully.