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