Software Engineering Final Exam
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