Software Engineering Final Exam

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

State which one of the following is true of a UP phase.

A phase is an organziation of work activities. It groups related activities.

Which of the following is a good example that should be shown as an "attribute" in a UML class diagram?

A pure data value, for example a number or text.

A Conceptual (Domain) Model is:

A representation of concepts in the problem domain

A conceptual (Domain) Model is:

A representation of concepts in the problem domain

Which of the following is the best description on "a use case"?

A scenario that models an end-to-end usage of a system.

Software Architecture

A set of high-level decisions that determine the structure of the solution

Which one of the following is NOT a true statement about subsystem design? Note: While the architectural modeling is done to show static/dynamic relations among subsystems, the subsystem modeling shows the design of each subsystem.

A subsystem design describes only the signatures of operations in a subsystem's interface.

We will use UML notation to model a system. To do this we will identify system _________, which are external to a system, and ___________ which are internal to a system (and often invisible).

Actors, concepts

Which of the following is NOT a good description on information that should be described in a contract? (MULTIPLE ANSWERS)

All primary actors of the use case that this operation can occur with ; All actions to be performed during the operation

Which of the following are the kinds of "steps" in a scenario? An Interaction between actors. A state change by the system. A calculation done by the system internally. A validation (usually by the system).

An Interaction between actors. A state change by the system. A validation (usually by the system).

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, the events that external actors generate.; For the events shown by external actors, an order is also shown.

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

An algorithm or solution of the operation

When constructing a domain model: (CHoose all correct answers)

Association names should start with a capital letter; Two classes may have several different associations between them

The F in the acronym FURPS came form "Functional". Which of the following is the best description of "Functional" in requirements categories?

Features, capabilities, security.

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

Find nouns or noun-phrases in the problem description, use cases, and requirements specification.

Which of the following is the best way to determine the functional requirements?

Find steps in use case scenarios that have a phrase similar to "the system does ..." or are in the system response column.

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

False

Winston Royce advocated the waterfall model? T/F

False

The development of a conceptual domain model:

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

During a project "change happens". Requirements change, in particular. According to a study by Boehm and Papaccio, a typical software project had __________________ percent of its requirements change. And for large projects that percentage of change can be even higher, i.e., 35% to _______________

25, 50%

There are only _______ Scrum roles. The product _________, the Scrum __________, and a team __________.

3; owner; master; member

With regard to the Waterfall method, what percentage of waterfall-specified features were of little or no value?

65%

A Scrum team usually consists of about ____________ people, "plus or minus two". (Another reference suggests that the team should be based on how many people two pizzas would feed. Too many people, too many pizzas.) In Scrum parlance, when a team works in short, sustainable bursts it is called a ___________________-

7; Sprint

Which one of the following is NOT true for an association?

A binary relationship between two classes must be represented by two separate associations.

Marsic uses the following analogy to describe software engineering?

A bridge

Which of the following statements about UML dependencies are true? (MULT ANS)

A dependency represents a transient relationship between class objects.; When an object A creates another object B, a create dependency exists between the objects A and B.; If an object of class A is passed in as a parameter to a method defined in class B, then a dependency exists between class A and class B.

Which of the following is NOT true in requirements modeling?

A domain model represents software classes

Which of the following is NOT true in requirements modeling?

A domain model represents software classes.

Which of the following is true? (MULTIPLE ASNWERS)

A facade could be any concept which the designer chooses to represent the whole system or a subsystem.; If A uses B closely, then A is a creator of B.

To handle the logic (e.g., looping) required for a sequence being modeled, we can use frames with appropriate operators (e.g., loop for looping), which is formally called "sequence diagram fragments". Which one of the following statements about sequence diagram fragments is NOT true?

A neg fragment describes interactions that are optional.

With regard to the creator pattern, we should assign class B the responsibility of creating an instance of class A if which of the following conditions are true.(MULTIPLE ANSWERS)

B records A; B closely uses A

Identify each responsibility/characteristic (below) with one of the following, by typing the appropriate letter: A. Scrum master B. Team member C. Product owner Owns the product backlog __ Coaches __ Represents customer and stakeholders __ Prioritizes items in the product backlog __ Facilitates __ Creates and owns estimates __ A peer within the team __ Set apart by knowledge and responsibilities, but not by rank __ Initiates User stories __ Completes user Stories __

C; A; C; C; A; B; A; A; C; B;

On p. 125, low _______________ is represented by the Swiss Army Knife with multiple tools. On the other hand, the knife with only one blade represents high __________. On that same page, two people rowing represents tight __________ -- in other words, both must cooperate to make progress. In the boat with only one person rowing, there is no need for cooperation since only one person is rowing -- in other words, their behavior is no longer________.

Cohesion, cohesion, coupling, coupled

Which of the following is true?

Controller pattern decides what first object after UI layer should receive the message from UI layer.

When there are other design alternatives, the book suggests to take a look at what?

Coupling; Cohesion

When a class diagram is used for the purpose of representing a problem domain we call it a what?

Domain class diagram

What type of modeling are interaction diagrams used for?

Dynamic

What does the acronym EBP stand for?

Elementary Business Process

Who are the four authors who wrote the "Bible" of design pattern books, often referred to as the GoF, "Gang-Of-Four".

Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides

The manager for a small publishing company wants a Java program that would read a file of employee records and print out a sorted list of employees with their salaries. The program will only be used for a few weeks (a larger integrated system that will include this functionality is currently being tailored and installed). The manager has decided to hire someone to develop the program. Which set of skills should the manager emphasize in the job description for the developer.

Expertise in Java programming; working knowledge of good programming and testing practices; ability to communicate with the customer (the manager).

A design class diagram contains less information than a domain model. T/F

False

A domain model describes software objects. T/F

False

A foreign key attribute should be listed in the attribute compartment of a class to show its association to the other conceptual class. (T/F)

False

A foreign key attribute should be listed in the attribute compartment of a class to show its association to the other conceptual class. T/F

False

A main success scenario may contain branching, such as if-then-else statements. 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 engineer's only focus should be on the construction of high-quality code. T/F

False

According to Fowler, people may use UML as sketch and as blueprint, but nothing further

False

Based on Fig. 2.3, a system with 1000 function points (a measure of size) would have roughly 5% of its requirements change, compared to a system of size 10,000 which would have roughly 20% of its requirements change -- a ration of 1 to 4. T/F

False

Based on the example in Fig. 1.6, a domain model identifies type information and methods for the two classes. T/F

False

Both a conceptual perspective and a specification perspective are associated with the application of UML, but an implementation perspective is not. T/F

False

Design emphasizes the implementation of a system. T/F

False

In the text, use cases are defined after the domain model has been defined. T/F

False

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

False

Program code is the best way to document a software system. Only the code can describe what the system really does. T/F

False

Requirements (and specifications) are predictable and stable for most system development efforts. T/F

False

Software Engineering is equivalent to "good programming". T/F

False

Software engineering assumes that the persons designing a software system are the same people who will program (i.e., implement) the system. T/F

False

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

False

The UML is a development methodology. In other words, it guides the developer by indicating what should be done, when it should be done, and who should do it. T/F

False

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

False

Use cases should emphasize describing non-functional requirements. 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

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

False

When I write a use case I am doing design. T/F

False

Which of the following statements about GRASP is correct? (MULTIPLE ASNWERS)

GRASP is a methodology for object-oriented design based on responsibility-driven design; GRASP consists of a collection of design patterns that help us think in terms of object-oriented design

Which GRASP pattern could we use when we are concerned about change in the system and its impact?

High Cohesion; Low Coupling

The Agile Manifesto contains four basic statements:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

Which of the following are major sub-headings in a vision document. (MULTIPLE ANSWERS) Introduction Conclusion Position Stakeholder Descriptions

Introduction Position Stakeholder Descriptions

Responsibility-driven design classifies responsibilities as: Type 1 responsibility (________): Memorizing data or references Type 2 responsibility (______): Performing Computations Type 3 responsibility (________): Communicating with other objects

Knowing, Doing, Communicating

Which of the following is NOT illustared in UML class diagrams?

Lifelines

Which of the following is a problem with the use of UML models?

Maintaining consistency of UML models and code is difficult to do manually.

Why should the vision document contain less than 10 features?

More than 10 features and it becomes hard to grasp the vision quickly.

How should use cases be written during the inception phase?

Most use cases are identified by name, some will be written in their fully dressed format. The use cases that are identified form the core architecture.

What is the acronym for UML's formal specification language for constraints?

OCL (Object Constraint Language)

State which one of the following is true of OOA/D.

Object-Oriented design emphasizes defining software objects and how they collaborate to fulfill the system requirements.

Fig. 2-33 shows several ________ at the top of the diagram, each represented by a rectangle. Each rectangle labeled with a colon followed by a class name represents an anonymous _____________ . The k:Key object, however, is a named object -- its name is "k".

Objects, object

Concepts in a conceptual (domain) model should include:

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

Concepts in a conceptual (domain) model should include:

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

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

Post-conditions in operation contracts should always be expressed in the present tense.

Based on Figure 1-6, the so-called Waterfall model (a.k.a., process) consists of the following sequence:

Requirements Design Implementation Testing Deployment and Maintenance

The title of Section 2.6 is Design: Assigning ___________, which constitutes ______________ and not analysis. Analysis focuses on the "what and design focuses on the ________ . Also, analysis uses abstract _______, wheras software design deals with concrete software __________

Responsibilities, Design, How, Concepts, Objects

What does "RDD" stand for?

Responsibility-Driven Design

On pg. 336 under, "calculating sale total" who did they determine to be responsible for calculating the sale total?

Sale

What is another name for a use case instance?

Scenario

A system sequence diagram is a visual representation of a usage __________ what we have called the "Main Success Scenario". In Fig. 2-20 the User represents the primary __________ from the use case and the system is represented as a single object. Here System is a class and the colon in front of the class name indicates that the rectangle represents an instance of System, i.e., an ________. The key purpose of the system sequence diagram (SSD) is to characterise the conversation that occurs between the actors and the _______________, where the system is treated as a "black box".

Scenario, Actor, Object, System

"Interaction diagram" in a design model is a generalization used to refer to more specialized UML diagram types. What are those types? (MULT ANS)

Sequence Diagram; Communication Diagram

When talking about the GRASP Controller pattern the book mentions two types of controllers, what are they? (MULTIPLE ASNWERS)

Session Controller; Facade Controller

We show a strong aggregation (composition) with which type of arrow in association?

Solid diamond arrow

How are asynchronous messages shown in sequence diagrams?

Stick arrow with solid line

Which of the following are good examples of specialization in a requirements model? Indicate all good examples.

Student specializes Person Oak specializes Tree

Which of the following are good examples of specialization in a requirements model? Indicate all good examples.

Student specializes Person; Oak specializes Tree

A use case realization describes how a particular use case is realized with the Design model in terms of what?

The Collaborating Objects

A sequence diagram describes

only the interactions between objects; it does not describe what happens inside of an object.

Which one of the following are true statements about UML stereo types? Select all correct answers.

The Object Management Group (OMG) provides many pre-defined stereotypes in the UML specification.; A stereotype is defined within in a UML profile.; A stereotype represents a refinement of an existing modeling concept.; destroy and create (used on sequence diagrams) are examples of stereotypes.

What linguistic test can be used to determine if something is a feature of the system?

The system does <something>.

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 critical ability of object-oriented development is assigning responsibilities to software objects. T/F

True

A domain model can be seen as a "visual dictionary" of terms or concepts that are associated with the given problem domain. (T/F)

True

A domain model can be seen as a "visual dictionary" of terms or concepts that are associated with the given problem domain. T/F

True

A domain model is the most important model created during object-oriented analysis. (T/F)

True

A domain model is the most important model created during object-oriented analysis. T/F

True

A low cohesive object with many source lines of code probably collaborates with many other objects and all that interaction tends to also create high coupling.

True

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

True

Although Marsic appears to use "task" to represent an "activity" (as in Fig. 1-2), systems engineering assumes that an activity (such as design) is made up of various tasks. Therefore, we will assume that a task is not equivalent to an activity. [You may answer this True, because it is true.] T/F

True

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

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

Analysis focuses on finding and describing objects, whereas design design is concerned with defining software objects and how they collaborate to fulfill the requirements. T/F

True

Collaboration among software objects can be described using a sequence diagram.

True

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

True

Knowing an object-oriented language is necessary but not sufficient when creating object-oriented systems. T/F

True

Object-oriented design emphasizes defining software objects and how they collaborate to fulfill the system requirements. T/F

True

Object-oriented design is strongly related to requirements analysis. T/F

True

Software development usually involves a high amount of change an instability -- unlike manufacturing which is characterized by predictability and stable requirements. T/F

True

The UML has become the de facto standard for diagramming object-oriented systems.

True

The UML is both a tool of thought and a form of communication. T/F

True

The so-called "three amigos" are credited with definingn UML: Grady Booch, Jim Rumbaugh, and Ivar Jacobson.

True

There is nothing object-oriented about use cases. T/F

True

True of false. Patterns help to facilitate communication.

True

True or false. UML class diagrams support showing template classes that are typically known as templates or parameterized types in many programming languages.

True

When I define software objects I assign responsibilities and identify how the objects collaborate. T/F

True

When building a large software system it is difficult (if not impossible) to devise a correct solution without investigating several possible solutions before choosing one. 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

Pick the answer that best describes what constitutes business rules under the Unified Process.

Typically business rules describes requirements or policies that transcend one software project.

Communication diagrams work well for which of the following?

UML as sketch; formal modeling; agile modeling environment

UML stands for _____________ ____________ _________. It is a digramming ______ that is used to specify, construct, and document artifacts associated with a system.

Unified Modeling Language, notation

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

Use an association

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

Use an association.

____ is the ability of one object to "see" or have a reference to another object.

Visibility

Which should be written first, the vision or the use cases?

Vision

Object-oriented analysis focuses on understanding the ________ domain. IN other words, analysis tries to understand the __________ and identify the ________________.

problem, problem, requirements

In the Low Coupling example in textbook, which of the following is a true statement as a solution in assigning responsibilities? (MULTIPLE ANSWERS)

We remove the call to create() from Register to Payment and place that responsibility with Sale; Because Register no longer has to know about Payment and only about Sale, instead of both, we have decreased the coupling of our objects

Which one of the following is a true statement about synchronous messages?

When an object sends a synchronous message, it must wait for a response.

How do we indicate a Singleton instance in a class diagram?

With a '1' in the upper right-hand corner

An agile process is:

a process in which the steps can be adapted to changes in the development environment

When developing a complex system, feedback and _______________ are key ingredients for success. Feedback from tests can be used to refine the ______________ or models. Feedback can also involve observing how fast the team is completing tasks -- this can allow you to refine the ____________ and cost estimates.

adaption, design, schedule

When constructing a domain model:

association names should start with a capital letter two classes may have several different associations between them

Each user story should * identify the user (or users) who will ________ * describe the desired ____________ * state why it is ___________ * estimate how much work would be required to ________ it * state the ____________ requirement

benefit; functionality; valuable; implement; acceptance;

To perform requirements analysis, use __________ modeling is often used, which treats the system as a __________ box. This represents a ___________ between the user and the system (where the user is called an "actor"). Also, a particular use case is supposed to describe how the user can achieve a _______ goal. In other words, each use case should represent something significant with respect to the user. Therefore, this approach describes information passing through the boundary of the system (without considering what is happening within the system).

case, black, dialog, business

During a UP iteration

developers carry out requirements, design, implementation and testing activities on a subset of software features.

In Fig. 1.6., the conceptual perspective is represented by a ________ model. and the specification perspective ____________ _____________ diagram

domain, design, class

True or false. It is NOT possible to nest frames in a frame within a sequence diagram.

false

The analogy used to illustrate the complexity of software development -- especially scheduling many construction tasks -- is building a [1]. However, the construction of a large building would be a better analogy due to its large size and obvious complexity.

fence

The waterfall process is suitable for developing systems

in which changes are not likely to occur

Rather than using a strictly linear development method -- especially for large projects -- it is better to use an _______ and __________ development method where the problem is broken down in to smaller pieces called __________. After an increment is completed the developer should seek _____________ from the customer so that the next increment is more in line with what the customer wants.

incremental, iterative, increments, feedback

A good software engineer is one who?

is familiar with many development techniques, methods, and tools, and works closely with the customer to understand the requirements.

Scrum is a _______________ software process, as opposed to a "heavy" process that is document-driven. It's mantra is "_________ and __________", which means that the process intentionally tries to improve both the product and the process during development.

lightweight; inspect; adapt;

In figure 18.6 on pg. 330, which message is the system message?

makeNewSale

Marsic indicates that software engineering is largely about ______________, which requires ___________ and ________________ skills. "Successful software projects convey a blend of careful objective ___________, adequate prepartion, continuous _________________ and _______________ of the environment and progress".

management, organizational, managerial, evaluation, observation, assessment

The development of a conceptual (domain) model:

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

During requirements analysis (which is an activity), the developer attempts to understand the __________ and to delimit its ___________. It also identifies the types of _________ who will interact with the system, and identifies other ___________ who will interact with the new system.

problem, scope, users, systems

Software engineering involves understanding business _______, inventing ______________, evaluating ________, and making design ____________ or _____________.

problems, solutions, alternatives, tradeoffs, choices

A lifeline in a sequence diagram

represents an instance.

Design (as distinct from analysis) focuses on identifying a conceptual __________ that fulfills the ______________ (which were identified during analysis). In other words, design defines software ________________ and describes how they _____________.

solution, requirements, objects, collaborate

Each iteration involves choosing a small ________________ of the requirements and quickly designing, implementing, and testing. The primary reason for "quickly" is to received early ____________

subset, feedback

Software engineering is concerned with

systematic creation and evolution of useful software systems and the artifacts created during the software's lifetime.

An iterative-incremental approach is preferred when

the solution or problem is not well-understood

An iteration should probably be between _________ and ______ weeks long. One week is normally too short because you cant get much done in one week -- and if the iteration goes beyond six weeks then feedback is delayed (and you miss the benefits of iterative development).

two, six

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 only

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 only

At the requirements level, behavior is described in

use cases only.

The product backlog contains a prioritized list of _________ stories. These backlog items could describe features, bug _________, documentation ______, or anything else that takes time and commitment. The highest priority items should be _________, i.e., specific and limited. Toward the lower end of the list the items will be ________ and much less well _____________

user; fixes; changes; small; larger; understood


Kaugnay na mga set ng pag-aaral

anthropology 2019 concept questions

View Set

CSI Practice Guide Glossary of Terms #2

View Set

Chapter 7 B Law (Negligence and Strict Liability)

View Set

Introduction to Central Nervous System Pharmacology

View Set

ch 22 NCLEX questions, Chapter 22, Chapter 22: Neurodevelopmental Disorders, Psych CH 22

View Set

Texas Principles of Real Estate 2 - Chp. 2 Real Estate Appraisal

View Set

BJU Earth Science Fourth Edition Chapter 22 Review

View Set

Queen Elizabeth 1 - interesting and useful facts

View Set

Ch.15 Homework Personal Safety and Injury Prevention

View Set

Intro to Computers - Ch 13 (book)

View Set