Software Engineering

¡Supera tus tareas y exámenes ahora con Quizwiz!

True

An architectural decision is often documented using an architecture decision description template.

constraints components semantic models

An architectural style encompasses which of the following elements?

The Incremental Model

A good approach when a working core product is required quickly

False

A good software development team always uses the same task set for every project to insure high quality work products.

The Waterfall Model

A reasonable approach when requirements are well defined

what was reviewed who reviewed it what were the findings

A review summary report answers which three questions?

engineering work tasks, milestones, deliverables

A task set is a collection of

The Prototyping Model

A useful approach when a customer cannot define requirements quickly

The Spiral Model

A useful approach when large-scale systems and software are developed in a series of evolutionary releases

flow dependencies sharing dependencies

A useful technique for evaluating the overall complexity of a proposed architecture is to look at the component

end users

Acceptance tests are normally conducted by the

casual meeting desk check pair programming

An informal review may consist of which of the following?

accept the work product without modification reject the product due to severe errors

At the end of a formal technical review all attendees can decide to

incorrect or missing functions interface errors performance errors

Black-box testing attempts to find errors in which of the following categories

Linear Process Flow

Building a routine product similar to something the team has done before

Evolutionary Process Flow

Building projects (e.g. WebApps) that need to be developed in a rapid, but controlled manner that avoids unnecessary rework

Parallel Process Flow

Building self-contained work products simultaneously for systems that are composed of subsystems

are being properly followed.

Check whether risk aversion steps ___________________________________________________

exercise the logical conditions in a program module

Condition testing is a control structure testing technique where the criteria used to design test cases is that they

1. Citizens can log onto website. 2. Citizens can report the location and severity of potholes. 3. Citizen is given an identifying number. 4. Citizen is stored by street address, size (scale 1-10), location, district, and repair priority.

Conduct a grammatical parse of the following user story and create a list of potential analysis classes: Citizens can log onto a website and report the location and severity of potholes. As potholes are reported they are logged within a "public works department repair system" and are assigned an identifying number, stored by street address, size (on a scale of 1 to 10), location (middle, curb, etc.), district (determined from street address), and repair priority (determined from the size of the pothole).

select test paths based on the locations and uses of variables

Data flow testing is a control structure testing technique where the criteria used to design test cases is that they

The purpose of domain analysis is to create analysis classes and to find broadly applicable patterns so they can be reused for common problems.

Describe the purpose of domain analysis modeling in your own words.

Do not generally produce throwaway systems. Are iterative in nature. Can easily accommodate product requirements changes.

Evolutionary software process models...

define software objectives.

Designer and customer

It is important to look for places where stakeholders have communications problems. When the requirement validation uncovers an error, it has each requirement against a set of checklist questions. It then has a review team looking into it. The review team includes software engineers, customers, users, and other stakeholders who examine the specification looking for errors in content or interpretation, areas where clarification may be required, missing information, inconsistencies (a major problem when large products or systems are engineered), conflicting requirements, or unrealistic (unachievable) requirements.

Differentiate among causes of errors uncovered by requirements validation.

A defect is a problem that is found only after the software has been released to end users. An error is a problem that is found before the software is released to end users.

Differentiate between defects and errors.

Software quality is an effective software process applied in a way that creates a useful product that provides measurable value for those who produce it and use it. Software reliability is the probability of failure-free operation of a computer program in a specified environment for a specified amount of time.

Differentiate the concepts of software reliability from software quality.

A responsibility is an attribute and operation that are relevant to the class, or anything the class knows or does. A collaboration is a class that is required to provide a class with the information needed to complete a responsibility. It implies a request for information or a request for some action.

Distinguish between a responsibility and a collaborator in a CRC model.

Risk drivers are what affect risk components. These include performance, cost, schedule, and support. Risk components include performance risks- the degree of uncertainty that the product will meet its intended use, cost risk- the degree of uncertainty that the product will remain on budget, support risk- degree of uncertainty that the software is easy to maintain, and schedule risk- the degree of uncertainty that the project is delivered on time.

Distinguish between risk components and risk drivers.

documentations created early.

Documents developed in a timely mannnered

peer-level systems subordinate systems superordinate systems

During the process of modeling the system in context, systems that interact with the target system are represented as

Just because the program is correct does not mean it is reliable. The program could run without errors but still not be able to complete the tasks needed at hand. The software should also have a measure of availability, meaning the program is operating according to requirements at a given point in time. Software reliability is failure free for a specified amount of time in a specified environment.

Explain how program can be correct and not be reliable.

When you have better cohesion and less coupling, there is less chunking that needs to be attended to at the same time.

Explain why chunking is important during the component-level design review process.

Similar to the question above, just because the program is correct does not mean it has the quality needed. It could run without errors, but run at a very slow time, or run without meeting the requirements needed. It could also run, but not have very good design or be a very useful product. Software quality ensures that the program is an effective process proving a useful product that provides value for those making it and using it.

Explains how a program can be correct but not exhibit high quality.

each critical team member.

Have a backup person for

an entire system to fail

Hazard analysis focuses on the identification and assessment of potential hazards that can cause

performance, support, cost, schedule

Software risk impact assessment should focus on consequences affecting

Software increments must be delivered in short time periods Software processes must adapt to changes incrementally

How do you create agile processes to manage unpredictability?

start on the right foot track progress

How does a software project manager need to act to minimize the risk of software failure?

Can gain direct access to the device hardware

Identify a characteristic that distinguishes a MobileApp from a WebApp.

develop an abbreviated solution for the problem

Identify poor reasons for developing a requirements model.

implements all analysis model requirements provides a complete software picture quality assessment guidelines

Identify the characteristics that belong to good design.

False

In agile process models the only deliverable work product is a working program.

databases files

In component-level design persistent data sources refer to

data flow view module view process view

In the architecture trade-off analysis method, the architectural style should be described using the

control component infrastructure component problem domain component

In traditional software engineering, modules must serve in which of the following roles?

risk management software quality assurance project tracking formal technical reviews

Indicate the umbrella activities that would be applied across the entire software engineering process.

cluster testing thread-based testing use-based testing

Integration testing of object-oriented software can be accomplished by which of the following testing strategies?

focus on testing the validity of loop constructs

Loop testing is a control structure testing technique where the criteria used to design test cases is that they

Make a judgment about why it is important to begin testing with object-oriented analysis and design.

Make a judgment about why it is important to begin testing with object-oriented analysis and design.

Coupling measures a module's connections to other modules. Cohesion is the extent to which a module focuses on just one thing.

Mark the correct statements to indicate the differences between software coupling and cohesion.

False

Modern WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice.

true

One means of defining user interface objects and actions is to conduct a grammatical parse of the user scenario.

give team members more control over process and technical decisions.

One of the best ways to avoid frustration during the software development process is to

As product development cycles shorten, there are pressures to streamline requirements engineering so that products come to market more quickly. But the fundamental problem remains the same: getting timely, stable, and accurate stakeholder input.

Outline reasons that many software developers do not pay enough attention to requirements engineering.

may cause an entire system to fail

Software safety is a quality assurance activity that focuses on hazards that

control logic is invoked data flow paths are established

Regression testing should be a normal part of integration testing because as a new module is added to the system new

up to a particular stage.

Review works done

likelihood and consequences

Risk projection attempts to rate each risk in which two ways?

error handling system response time

Several common design issues surface for almost every user interface including

number of user errors time spent using help materials

Several usability measures can be collected while observing users interacting with a computer system including

Multiple change requests introduce errors in component interactions

Software deteriorates rather than wears out because

False

Software is a product and can be manufactured using the same technologies used for other engineering artifacts

errors in design errors in implementation

Software reliability problems can almost always be traced to

uncertainty and loss

Software risk always involves two characteristics

coding

The 40-20-40 rule suggests that the least of amount of development effort be spent on

and successful review of a defined software work product

The best indicator of progress on a software project is the completion

the conflicts of interest between developers and testers is reduced

The best reason for using independent software test teams is that

False

The communication activity is best handled for small projects using six distinct actions (inception, elicitation, elaboration, negotiation, specification, validation).

True

The essence of software engineering practice might be described as: understand the problem, plan a solution, carry out the plan, and examine the result for accuracy.

establish the objectives and scope.

The first step in project planning is to

functionality to be delivered process used to deliver functionality

The major areas of problem decomposition during the project scoping activity are the

fewer people are required

The software equation can be used to show that by extending the project deadline slightly

Includes project risks evaluation during each iteration.

The spiral model of software development...

detecting intertask dependencies determining the critical path

The task (activity) network is a useful mechanism for

project risks, technical risks, business risks

Three categories of risks are

characteristics and constraints

To determine the architectural style or combination of styles that best fits the proposed system, requirements engineering is used to uncover

scenario-based elements

UML activity diagrams are useful in representing which analysis model elements?

planning, design, coding, testing

What are the four framework activities found in the Extreme Programming (XP) process model?

Agile teams need to be free to adapt their organization to the task at hand. Agile teams are self-organizing and may change their organizational structure during different phases of the project lifetime.

What is the most significant attribute that distinguishes an agile team from a conventional software team?

operations and classes that are critical or suspect

What is the purpose of fault-based testing?

concentrates on actor and software interaction

What is the purpose of scenario-based testing?

control data procedural

What types of abstraction are used in software design?

logic errors typographical errors

What types of errors are missed by black-box testing and can be uncovered by white-box testing?

study existing computer-based solutions observe users performing tasks manually

Which approaches to user task analysis can be useful in user interface design?

The incremental model of software development

Which is a good approach when a working core product is required quickly?

The waterfall model of software development

Which is a reasonable approach when requirements are well defined?

The incremental model of software development

Which is a useful approach when a customer cannot define all requirements clearly but need to release the product quickly?

adds value for developers and end users effective software process creates infrastructure useful products satisfy stakeholder requirements

Which of the following are attributes of software quality?

observability simplicity stability

Which of the following are characteristics of testable software?

attentive to detail brutally honest resilient under pressure

Which of the following are important traits of an effective software engineer?

uncover errors in software work products

Which of the following are objectives for formal technical reviews?

frenzied work atmosphere poorly coordinated software process unclear definition of team roles

Which of the following can contribute to team toxicity?

attributes interfaces operations

Which of the following elements to need to be described in detail during component design elaboration?

only provide one rigid method for completing a task

Which of the following interface design principles does not allow the user to remain in control of the interaction with a computer?

define intuitive shortcuts disclose information progressively establish meaningful defaults

Which of the following interface design principles reduce the user's memory load?

external failure costs

Which of the following is likely to be the most expensive cost of quality?

market assessment

Which of the following is not one of the guiding principles of software project scheduling:

validation

Which of the following is not one of the major activities of domain engineering?

estimation decisions risk-oriented decisions scheduling decisions

Which of the following management decisions have the potential to impact software quality?

error handling execution paths

Which of the following need to be assessed during unit testing?

events people structures

Which of the following should be considered as candidate objects in a problem space?

Social media has become pervasive of our everyday activities. Software is embedded in cars and appliances. Services are delivered on demand using the Internet and mobile devices.

Which of the following statements indicate the extent of the impact of software on society?

Only essential work products are produced Process allows team to streamline tasks Uses incremental product delivery strategy

Which of the the following are benefits of using agile process models?

defect tracking against quality target empirical cost estimation formal risk management

Which of these are critical practices for performance-based project management?

complexity of problem different views of the problem law of unintended consequences risk associated with decision

Which of these factors complicate decision-making by global software teams?

data elements

Which of these is not an element of a requirements model?

context function information objectives performance

Which of these software characteristics are used to determine the scope of a software project?

equivalence class partitioning

Which of these techniques is not useful for partition testing at the class level?

quality

Which of these words summarizes the importance of the software design process?

Why does computer hardware cost so much?

Which question no longer concerns the modern software engineer?

random

Which team organizational paradigm would you expect to use for a team developing an extremely innovative computer-based video game?

Iterative Process Flow

building systems involving technologies that are new to the development team

component-level design

detailed room view

interface design

drawing of access points and utilities

architectural design

house floor plan

top-down integration testing

major decision points are tested early

bottom-up integration testing

no stubs need to be written

SelectCamera( );

operation that manipulate data in some way

Displayview( );

operations inquiring about the state of an object

SoundAlarm( );

operations that monitor an object for the occurrence of a controlling event

ComputeArea( );

operations that perform computations

black-box testing

test cases demonstrate that each program function is called

white-box testing

test cases exercise the internal logic of a software module


Conjuntos de estudio relacionados

Chapter 18 - Male Genital system

View Set

Chapter 15: The Respiratory System

View Set

Ch. 6 Understanding Business: Entrepreneurship and Starting a Small Business

View Set

Chapter 1 - The Principles and Practice of Economics

View Set

6.3.3 - Quiz: Polar Form of Complex Numbers

View Set