Software Engineering Final Exam

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

A persona description states the user's

Educational background Technology experience Reason why they might want to use your product

"imagined users"

Personas

What is not a part of product vision?

How the product is to be implemented and tested

The sentence "Emma, age 41, is a history teacher in a secondary school (high school) in Edinburgh." is a part of a

Persona

A set of software products that share a common core is called

Software Product Line

Aspects of product vision

Why should the customers buy the product Who the target customers are What the product is about

Focusing on the essential elements of a system or software component without concern for its details.

Abstraction

the process of verifying that a software release meets the goals set out in the product roadmap and that the product is efficient and reliable. The PM should be involved in developing tests of the product features that reflect how customers use the product.

Acceptance Testing

Virtually all software products are developed using what approach?

Agile

The __________________ of a software product affects its performance, usability, security, reliability and maintainability. It is the fundamental organization of a software system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution.

Architecture

Examples of non-functional system quality attributes are

Availability Usability Resilience Security

Three Factors that drive the design of software products:

Business and consumer needs that are not met by current products Dissatisfaction with existing business or consumer software products Changes in technology that make completely new types of product possible

*Select the incorrect DevOps principle.

Change the process first, then measure the result.

Which technique below is not used for understanding the ways people work and use software?

Code Development

*Source code management systems support (Select all that apply)

Code transfer Code version storage and retrieval Merging Branching

An element that implements a coherent set of functionality or features

Component

Concerns that are systemic, that is, they affect the whole system.

Cross-Cutting

taking a release of a product to customers and getting feedback on the product's features, usability and business. PMs are involved in selecting customers to be involved in the customer testing process and working with them during that process.

Customer Testing

Analyzing large-scale components and representing them as a set of finer-grain components.

Decomposition

Benefits of using timeboxed sprints

Demonstrable Progress Problem Discovery Work Planning

Following are some responsibilities of a Product Manager

Ensure that the product meets the business goals of the software development company Stay in regular contact with customers and potential customers to understand their needs Make developers aware of important technology issues Be involved in all stages of a product's lifetime

You have written a program to identify the even numbers between 1000 and 2000, inclusive. That is, when you enter a number in the given range, the system is to state if it is even or not. In equivalence-partition testing, which partition below is valid for this program?

Even numbers in the range 1000-2000, inclusive Odd numbers in the range 1000-2000, inclusive Odd numbers less than 1000 Even numbers less than 1000

Who owns software requirements?

External clients

Moore's vision template

FOR (target customer) WHO (statement of the need or opportunity) The (PRODUCT NAME) is a (product category) THAT (key benefit, compelling reason to buy) UNLIKE (primary competitive alternative) OUR PRODUCT (statement of primary differentiation)

*Automated system building tools reduce the time needed to compile and integrate the system by recompiling all the components of a software product. T/F

False

A product backlog contains a set of items retrieved from the sprint backlog

False

A software product is designed to address the needs of a particular customer. An example of such product is the air traffic control system.

False

A vision template is used to state how a vision should be designed.

False

After you develop a code unit, you should develop tests for that code. T/F

False

Code reviews involve the developer of a code to examine his/her code to check for error and anomalies and then discussing them with one or more developers. T/F

False

Dissatisfaction with agile software development led to the creation of plan-driven methods in the 1990s

False

In unit testing, the integrated units of code will be tested. T/F

False

Multiple authentication layers you build into the system in order to improve its security, increases the usability of the system.

False

The first stage of product development is to identify the list of Personas in which you name each role in the product and give a brief description of its responsibilities.

False

The layered architecture defines the organization of the servers in a system and the allocation of components to these servers.

False

The more features means the easier the product is to use. T/F

False

User stories are high-level (not detailed) stories of system use. They should describe a sequence of interactions with the system but should not include details of these interactions.

False

When designing software architecture, you design the component interface and the respective implementation of the interface.

False

a multi-database architecture may run more quickly and is cheaper to implement change than a single shared database. T/F

False

*The benefits of DevOps are (select all that apply)

Faster repair Reduced risk Faster deployment

A fragment of functionality. Something a user needs or wants.

Feature

When new features are added in response to user requests without considering whether or not these features are generally useful or whether they can be implemented in some other way.

Feature Creep

What should be your starting point for product design and development?

Feature List

Following are some elements, which a standard feature template should contain.

Feature name Output Input

What protocol does Client-server communication use?

HTTP

Part of the software's functionality is implemented on the customer's computer but some features are implemented on the developer's server.

Hybrid

Follow the below guideline while unit testing a software programming unit.

If your program does numeric calculations, choose test inputs that cause it to calculate very large or very small numbers Choose test inputs that cause all input buffers to overflow. If your program deals with sequences, always test with sequences that have a single value.

Following are some activities in an incremental development methodology.

Implement and test a selected features Integrate feature and test Choose features to be included in an increment

Web-based system layers

Interface Application-Specific Database

Software architecture consists of

Its components Principles guiding its design and evolution Relationship among the components

What are some principles of agile methods?

Maintain simplicity Embrace change Incremental delivery Customer involvement

What are the most commonly used architectures for web-based systems.

Multi-tier Client-server Service-oriented

The requirements of a software product is generated and owned by the

Organization who develops the product

Name some important agile techniques that were introduced in extreme programming.

Pair programming Requirements expressed as scenarios or user stories Refactoring Test-first development

Following are some elements, which a persona description should contain.

Personalization Education Job-related Relevance

Following are the author's recommended steps leading to product features

Personas --> Scenarios --> Stories --> Features

What should be the scenario starting point?

Personas the team has created.

A software product that includes functionality so that new applications can be built on it.

Platform

the process of developing an early version of a product to test your ideas and to convince yourself and company funders that your product has real market potential.

Product Prototyping

The starting point for software product.

Product Vision

Personas that are developed on the basis of limited user information:

Proto-Personas

The architecture of a software system has a significant influence on

Reliability Security Efficiency

A narrative that describes a situation

Scenario

an agile method that provides a framework for agileproject organization and planning. It does not mandate anyspecific technical practices.

Scrum

Select all the correct answers related to different types of testing.

Security testing ensures that system can protect user information. In functional testing, we are to provide evidence that the system fits its intended purpose. In user testing, we need to show that the features of the system help users do what they want to do with the software.

All of the product's features are implemented on the developer's servers and the customer accesses these through a browser or a mobile app.

Software Service

Following items influence architectural decisions.

Software reuse Product lifetime Number of users

Which software execution model relies completely on the user's computer?

Stand-alone

*DevOps team is skilled in

Support Development Deployment

Select correct definitions related to different types of testing again,

System testing involves testing the system as a whole, rather than the individual system features. In Feature testing, features have to be tested to show that the functionality is implemented as expected and that the functionality meets the real needs of users. In Unit testing, program modules are tested in isolation. In Release testing, the system that's intended for release to customers is tested.

Which of the following systems is not an example of a software product, as we have defined it in class?

The tax system used by the Internal Revenue Service (IRS)

What is the main benefit of personas?

They help development team members empathize with potential software users. "Step into the users shoes"

*Git is a distributed code management system allowing developers to work with their own copy of the repository, which may be merged with the shared project repository. T/F

True

*On a code management system, the repository ensures that branch files that have been changed cannot overwrite repository files without a merge operation. T/F

True

A development team should design and discuss the software product architecture before starting the final product implementation. Software architecture design. T/F

True

A service-oriented architecture is usually easier to scale as demand increases and is resilient to failure. T/F

True

If the behavior of the program does not match the behavior that you expect, then this means that there are bugs in your program that need to be fixed. T/F

True

In Test-driven development (TDD), you write an executable test or tests for code that you are writing before you write the code. T/F

True

In a layered model, components in lower layers should never depend on higher-level components. T/F

True

In the case of security breach, loss of entire data in a centralized security architecture is more likely than in a distributed security architecture.

True

Informal user analysis are inexpensive and very valuable. T/F

True

Infrastructure as code means that the infrastructure (network, installed software, etc.) on which software executes is defined as a machine-readable model. T/F

True

It is always preferable to use local data wherever possible and to avoid sharing data if you can. T/F

True

Making decisions about technologies such as database is an important part of the architectural design process.

True

RIS can deliver diagnostic reports and images to physicians.

True

Rapid delivery is essential for bringing a software product to market.

True

Scenarios are high-level stories of system use. They should describe a sequence of interactions with the system but should not include details of these interactions. T/F

True

Software product engineering methods and techniques have evolved from software engineering techniques that support the development of one-off, custom software systems. T/F

True

The methods and techniques used to develop software products are evolved from the software engineering techniques used to develop custom software systems.

True

To improve maintainability, we should build a system from small-contained components, which can be replaced or enhanced if needed.

True

User stories are finer-grain narratives that setout in a more detailed and structured way a single thing that a user wants from a software system. T/F

True

Following is usually the SEQUENCE of tests one performs on a software.

Unit testing --> Feature testing --> System testing --> Release testing

What can be used to describe features in your product that should be implemented?

User Stories

The key influences in feature identification:

User research Domain Knowledge Product Knowledge Technology Knowledge

Which statements below, appropriately, describe a scenario?

a description of a situation where a user is using your product's features to do something that they want to do. a narrative that describes how a user, or a group of users, might use your system. descriptions may vary in length up to usually a page of text.

In Scrum, a product backlog is a to-do-list of items such as ___________ that the Scrum team has not yet completed.

bugs features product improvements

In the agile manifesto

customer collaboration is valued more than contract negotiation individuals and interactions are valued more than processes and tools working software over comprehensive documentation responding to change over following a plan

A plan-driven development, vs. agile development, is usually used for

developing long-lived software systems developing large software systems such as air traffic control system large teams involved in developing a large system

User understanding techniques

interviews surveys ethnography task analysis

Agile software engineering focuses on

responding to changing product specifications minimizing development overheads delivering functionality quickly


Kaugnay na mga set ng pag-aaral

Chapter 3 - Job-order Costing Cost Flows and External Reporting

View Set

NASM 7th ed, Chapter 15: Cardiorespiratory Fitness Training

View Set

mastering biology questions--gene to protein & gene expression

View Set

Fin 303 Ch 2: Financial Markets and Institiutions

View Set

Lesson #2: Safety & Infection Control

View Set

Introduction to Information Technology - sophia.org

View Set

OB - chapter 19 Nursing Management of Pregnancy at Risk: Pregnancy-Related Complications

View Set