Software Engineering Exam 1

Ace your homework & exams now with Quizwiz!

The person (or persons) responsible for purchasing the software is called the ____________.

Customer

Which quality assurance metrics are not in the IEEE Standard 982.21988:

Defect traceability

Audit trails are an example of what type of requirement:

Security

The Web Service Description Language is considered part of a:

Service Oriented Archirecture

SOA is gaining in popularity. SOA stands for:

Service Oriented Architecture

A diagram that depicts the different states within an application is called

State diagram

What is the prime input for defining the logical architecture?

Supplementary Specification

In order to validate a requirement it must be:

Testable

The IEEE definition of software engineering

"The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software."

What analogy was used at the NATO conference to describe how we build software systems?

"We build systems like the Wright brothers build airplanes build the whole thing, push it off the cliff, let it crash, and start over again."

A Conceptual (Domain) Model is:

A representation of concepts in the problem domain.

To deal with a set of requirements, we should be able to access the ones we want, when we want them This is the quality of

Accessibility

Which of the following is NOT a category that postconditions of an operation contract fall into?

An algorithm or solution of the operation

The "product" of a software development effort includes more than source code and more than documentation. It also include test plans/results, and productivity measurements. All of these products are called "work products" or ______________.

Artifacts

Rational Rhapsody and Rational Rose created by the IBM corporation are examples of a:

CASE tool

Which of the following is true about clientserver architecture?

Client‐server relationships in client‐server architecture have the advantage of low coupling between the participating components.

A common way to analyze stakeholder requirements is to:

Interview the stakeholders face-to-face

The logical architecture can show the largescale organization of software classes into logical units. Which of the following ARE considered as typical logical units to be shown in a logical architectural model

Layers Subsystems Packages

The development of a conceptual (domain) model:

May occur in parallel to the development of the use cases.

Which of the following are true statements about operation contracts?

Operation contracts are useful to understand and identify what should happen when a complex system operation is invoked. Postconditions in operation contracts should be expressed in the context of the Domain Model objects. When new instances are created, it is likely that associations to several objects need be established.

A software process identifies when activities should be performed during software development. It usually identifies different ________, how they are ordered, how frequently they occur, and the project _________.

Phases Deliverables

Which of the following is an example of dynamic models in UML?

System sequence diagram

What are "typical" layers in an OO system? (MULTIPLE ANSWERS: Select all correct answers.)

Technical services User interface Domain objects

Using layers helps address several problems. Which of the following does it NOT address?

There is not enough collaboration or coupling between parts

Changing from one GUI state to another is called a:

Transition

"The player can decide the qualities of Encounter characters", is an example of an ambiguous requirement. (T/F)

True

A batch sequential data flow is where processing elements are only given batches of data. (T/F)

True

A conceptual class represents a concept from the real world, which could be almost anything with a label. Even a "thought" could be viewed as a conceptual class. (T/F)

True

A use case defines a contract with respect to how the system should behave (T/F)

True

Agile process is an alternative to more classical approaches which are considered too "process heavy". (T/F)

True

An architectural layer is a coherent collection of software artifacts, typically a package of classes. In its common form, a layer uses at most one other layer, and is used by at most one other layer. (T/F)

True

Detailed requirements are the first software process documents that can be inspected against prior documentation. (T/F)

True

Detailed requirements can be considered the "currency" of a project because they track the amount that's been accomplished (T/F)

True

Domain classes are used to categorize requirements using the class style method to organizing requirements (T/F)

True

People who have a vested interest in the development and use of a software system are called stakeholders. (T/F)

True

Poor programming skills is not listed in Section 1.3 as a reason why software projects are unsuccessful. (T/F)

True

Software architecture describes the overall components of an application and how they relate to each other. (T/F)

True

Software engineering is concerned with completing a project within budget and within schedule. (T/F)

True

The Agile Manifesto contains fundamental values and principles which should be followed when developing software. (T/F)

True

The responsibilities of the objects in a layer should be strongly related to each other and should not be mixed with responsibilities of other layers.

True

With regard to agile processes and other processes, agile processes

accept frequent change in requirement

When capability needs to be reduced from a project perspective it is good to:

appropriate triage the requirements

There are multiple ways to organize detailed requirements, they are:

by feature by usecase by state

An architecture built primarily around data is called a:

client‐server architecture

Pair programming is:

continual inspection of by one team member of the work of a teammate

Traceability of detailed requirements means:

ensure that the requirement is documented

SOA architecture takes advantage of:

façade objects

A set of requirements is self complete if:

it contains every part whose inclusion is necessitated by parts already present

A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as:

measuring progress clearing obstacles

Test driven development is when:

tests are written before code is implemented

An architecture which includes, a presentation, application and database layer is called:

three tiered architecture

Organizing detailed requirements by operational sequences is called:

use case organization

At the requirements level, behavior is described in

use cases

Within agile projects, the description of user actions through the application is called:

user stories

During development, the FBI Virtual Case File system was abandoned after _________ dollars had been spent. As a result, ________ lines of code were also abandoned.

100 million. 700,000

The NATO conference that coined the term "sotware engineering" occurred in the year _____.

1968

Which of the following are true about an SSD? (MULTIPLE ANSWERS)

An SSD is a picture that shows, for one particular scenario of a use case, interactions between external actors and the system. For the events shown by external actors, an order is also shown.

Although Object Oriented (OO) technology can be applied at all levels, many of ObjectOriented Analysis/Design (OOA/D) approaches recommend us to focus on two layers the most among six layers given in Common Layers in an information system logical architecture when learning OOA/D. Which are those two? (MULTIPLE ANSWERS)

Core application logic Domain

Which of the following is NOT what we can show using UML package diagrams?

Dynamic interactions between subsystems

Even when a requirement is testable, it can be time consuming. In order to be complete, we should also consider:

Estimate the cost of testing

"The system shall display the difference in salary between the client and the worldwide average for the same trade" is a testable requirement. (T/F)

False

A data flow diagram can be depicted as processing elements accepting streams as input at any time, and produce output streams. (T/F)

False

A software class is less specific than a conceptual class because the latter is specific to a particular programming language whereas the former is not. (T/F)

False

A software process prescribes the interrelationship among the phases by expressing their order and frequency, but does not define the deliverables of the project (T/F)

False

A word processor, for example, waits for the user to click on an icon or menu item, this is an example of parallel system architecture. (T/F)

False

Agile methods advocate delivering working software, but not testing the working software. (T/F)

False

Agile processes should not merge with nonagile processes. (T/F)

False

An advantage of using the waterfall process is that resources are always active and never idle waiting for others to complete dependent tasks. (T/F)

False

Collaboration among software objects can be described using a requirementslevel class diagram. (T/F)

False

Data flow diagrams describe the flow of end‐user activity and processing throughout an application (T/F)

False

In a clientserver architecture, the server component serves the needs of the client upon request. Clientserver relationships have the advantage of high coupling between the participating components. (T/F)

False

Most System Sequence Diagrams (SSDs) are created in inception. (T/F)

False

Requirements analysis is performed before the planning phase (T/F)

False

Since the choice of software architecture is so important, it is wise to choose only one and not invest in any alternatives. (T/F)

False

Software engineering is synonymous with "writing high-quality software" (T/F)

False

System events should be expressed in terms of the physical input device. (T/F)

False

The Agile manifesto is antimethodology and advocates not using any methodology when developing a software product. (T/F)

False

The Agile process has been in use now since the early 60's. (T/F)

False

The Software Engineering Code of Ethics and Professional Practice was written by the ACM (Association of Computing Machinery) (T/F)

False

The oldest manner of organizing detailed requirements is by use case

False

The results of the design phase are typically captured in the Software Project Management Plan. (T/F)

False

Things have greatly improved since the NATO conference of 1968. Today very few large software projects end in disaster. (T/F)

False

UML SSDs are used to illustrate the system internal behaviors as UML Sequence Diagrams (SDs) do. (T/F)

False

Understandability appears to be a highly subjective quality because it depends on peoples' opinion and it cannot be measured (T/F)

False

Using evolutionary development, it is important to create a domain model that is as accurate as possible before creating sequence diagrams. (T/F)

False

We usually think of details as being far less important than the ''big picture,'' but a missing requirements detail does not have that large an affect on projects. (T/F)

False

While drawing an SSD, it is NOT relevant to know what events are coming into the system. (T/F)

False

When using the SCRUM process, daily scrum meetings should last no more than an hour. (T/F)

False - 10 minutes

One way to identify concepts to include in a Conceptual (Domain) Model is to:

Find nouns or nounphrases in the problem description, use cases, and requirements specification.

A software design document is used as input to the:

Implementation

The following requirements, "A player can choose the hair color of a character" and "The hair color of a character can only be brown" are considered what type of requirements?

Inconsistent

Which are practices of Agile:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation

Which of the following is CAN a category that postconditions of an operation contract fall into?

Instance creation or deletion. Attribute change of value. Associations formed or broken

The implementation of complete virtual machine architecture requires a(n):

Interpreter

Several software engineering principles are listed in the text book. They are:

Make quality number 1 High quality software is possible Give products to customers early Use an appropriate software process Minimize intellectual distance inspect code people are the key to success

The stakeholders who are responsible for monitoring the progress of a project as well as establishing the schedule and budget are the project ________________.

Managers

What are the four P's of software engineering? (Recall them without consulting the book.) Briefly describe each

People - The stakeholders Product - The software and any associated documents Project - The events to build the product Process - The framework in which the team carries out the events necessary to build the product

Concepts in a conceptual (domain) model should include:

Physical objects, places, transactions, events, policies, catalogs, contracts.

The activities within a software development project can include:

Planning Requirements elicitation Determining how the software should be constructed to address the requirements Implementing the software Evaluating the quality of the work products

The Ariane 5 was purposely exploded, only 40 seconds after launch, because a floating point operation caused an Operand Error. The function in which this occurred was "correct". So, what caused the problem?

Poor coordination between the project management, quality assurance, configuration management, architecture, detailed design, programming, and the testing organizations.

Which of the following is NOT a true statement about operation contracts?

Postconditions in operation contracts should always be expressed in the present tense.

Identify the phases of the waterfall model, in the order in which they would occur:

Requirements Design Implementation Testing Maintenance

After the FBI Virtual Case File project was abandoned, investigators concluded poorly defined ________ - in addition to poor networking ______ and poor development ______ were to blame.

Requirements Plans Plans

Advantages of the spiral model are:

Risks are managed early and throughout the process

When using repository architectures, it would be appropriate to obtain information from the database using:

SQL

Please choose priorities which adhere to the Crystal methodology:

Safety in the project outcome Efficiency in development Habitability of the conventions

What affects the complexity of software probably more than any other factor?

Size

The Agile process advocates the following:

Small, close knit teams Regular, frequent, customer meetings code-centric approach

During the maintenance phase, modifications are made to the software usually arise due to:

Software defects Customer enhancement requests Performance or reliability improvements

Which of the following is TRUE when we describe common layers in an information system "logical" architecture example shown in Slides #9~#11? (i.e., Layered Architecture example with 6 layers)

Some layers can be distributed.

Explain the difference between a software process and a software process model.

The software process are the events that take place to build the project. The software process model is the framework in which these events are held.

What linguistic test can be used to determine if something is a feature of the system (or one of functional requirements)?

The system does <something>.

Which is a reasons for an organization to make a project open source:

To gain market knowledge To have many individuals add to the code base To support services

An association between two conceptual classes is inherently bidirectional. In other words, each class is aware of the other class via the identified association (T/F)

True

Ensuring the application is compliant with the HIPAA privacy act, is an example of a security requirement. (T/F)

True

In an agile project, the detailed requirements are usually expressed in terms of in‐code comments and unit tests rather than being written explicitly in a separate document. (T/F)

True

Individuals and interactions over process and tools is a main principle of the Agile software process. (T/F)

True

It is common to work on varying scenarios of the same use case over several iterations. (T/F)

True

Pair programming is a practice found in extreme programming. (T/F)

True

The inception of a product is where product ideas are formulated and a vision is established (T/F)

True

The independent components architecture consists of components operating in parallel and communicating with each other from time (T/F)

True

The intention of internal releases is to send to customers for evaluation. (T/F)

True

The people who have some interest in the outcome of the product are called its stakeholders. (T/F)

True

The radiation overdose example illustrates how timerelated issues in software can be very difficult to detect. (T/F)

True

Typically after an interview with a stakeholder, it is common to draft a SRS of the high‐level requirements. (T/F)

True

Use cases describe the typical sequence of interactions between users of an application and the application itself, and provide a narrative of how the application is used (T/F)

True

When customers develop the vision of the application, it is referred to as the applications model. (T/F)

True

When defining a use case, you should ask yourself, "What are the goals of the actor?" opposed to "What does the actor typically do?" (T/F)

True

Within a requirements analysis document, an overview is intended to allow readers to quickly understand the main purpose of the intended application. (T/F)

True

Rather than use an attribute as a key that associates two types, you should do which one of the following?

Use an association.

The simplest software process is called the _________ process (i.e. model). Its phases are executed in a strictly _______ order.

Waterfall Sequential

During SCRUM the following questions need to be answered:

What items have been completed since last meeting? What issues have been discovered that need to be resolved? What new assignments make sense for the team to complete until the next scrum meeting?

A major principle of the Agile software is:

Working software is the primary measure of progress

Typically, In a three‐tiered architecture the middle layer can act as:

a common bus which brokers communication

Repository architectures are built to perform transactions against:

a database

The SCRUM agile process insists that the customer community supply:

a single stakeholder

For simple projects requirements can be tracked:

in a spreadsheet

Within most software process models, the following phases are followed:

inception, planning, requirements analysis, design, implementation, testing, maintenance

According to the authors of this chapter, which of the following does the acronym IDE stand for? (it is often used for "Integrated Development Environment" as well. )

interactive development environment

A requirement is considered to be traceable if:

it maps back to the design, implementation and test

In understanding detailed GUI requirements, it is important to:

know your user apply principle of good screen design

Which of the following could cause a software project to be unsuccessful?

poor estimates of necessary development time managers failed to identify and manage risks unrealistic project goals poor communication among developers, customers, and users inability to recognize and manage the complexity of the system

Comprehensive requirements means:

the extent to which the customer's wants and needs are included

A data flow diagram describes:

the flow of data through the application

A software project would be unsuccessful if:

the project is overbudget and/or misses its scheduled release date the performance of the software fails to meet expectations the system is difficult to use the quality of the software is too low the system does not meet the requirements identified by the customer

A teams' velocity is the assessment of:

the relative difficulty of stories and the rate at which it is able to implement them

The artifacts that can help your requirements modeling are use case diagrams, use cases and requirements level class diagrams. Among theses, behavioral aspects of the domain are described in:

use cases


Related study sets

FIL Q3 - mga popular na babasahin, salita na ginagamit sa impormal na komunikasyon, at sanaysay

View Set

Econ Chapter 6 Practice Questions

View Set

Entrepreneurial Small Business Ch. 9 and 10

View Set

Trigonometry - Solving Trig Equations

View Set

Chapter 8: Fluid and Electrolyte Management QUESTIONS

View Set