BSAD Exam 3
List and describe the four XP Core Values.
1. Communication -- Effective communication involves not only documentation, but also verbal discussion. 2. Feedback -- Feedback on functionality and requirements should come from the users, feedback on designs and code should come from other developers, and feedback on satisfying a business need should come from the client. XP integrates feedback into every aspect of development. 3. Courage -- Developers always need courage to face the harsh choice of doing things right or throwing away bad code and starting over. XP practices are designed to give developers the courage to ? "do it right.?" 4. Simplicity -- The simplest and most straightforward approach should be taken on all aspects of the project. XP includes techniques to reinforce this principle and make it a standard way of developing systems.
List the three steps required to develop a detailed schedule of the work to be done within an iteration.
1. Develop a work breakdown structure. 2. Estimate effort and identify dependencies 3. Create the schedule with a Gantt chart.
List several (at least four) of the internal responsibilities of a project manager.
1. Develop the project schedule 2. Recruit and train team members 3. Assign work to teams and team members 4. Assess project risks 5. Monitor and control project deliverables and milestones
List several (at least four) reasons why projects fail.
1. Undefined project management practices 2. Poor IT management and poor IT procedures 3. Inadequate executive support 4. Inexperienced project managers 5. Unclear business objectives 6. Inadequate user involvement
List the six main UP development disciplines.
Business modeling Requirements Design Implementation Testing Deployment
List at least 6 principles of Agile Modeling.
Develop software as your primary goal Enable the next effort as your secondary goal. Minimize your modeling activity—few and simple. Embrace change, and change incrementally. Model with a purpose. Build multiple models. Build high-quality models and get feedback rapidly. Focus on content rather than representation. Learn from each other with open communication. Know your models and how to use them. Adapt to specific project needs.
A project that has high technical risk should use the predictive approach. True False
False
Acceptance testing is an informal activity in most development projects. True False
False
Agile project managers do not try to answer the question "How much will the project cost?" True False
False
CRC stands for Class-Responsibility-Communication. True False
False
Dependency relationships cannot exist between classes within packages. True False
False
Design class diagrams and interaction diagrams should be developed independent of each other. True False
False
Developers do not typically add more classes to design class diagrams than were originally defined in the domain model. True False
False
High coupling is usually better than low coupling because it makes the system more integrated. True False
False
In Agile Modeling, change is seen as the exception, not the norm. True False
False
In XP, each programmer is responsible for her or her own code. True False
False
In the design of a complex use case, both a communication diagram and a sequence diagram may be needed. True False
False
Maintaining simplicity in Agile Modeling eliminates the need for validating the models with code. True False
False
Performing the risk analysis is part of Core Process 2, (Plan and monitor the project). True False
False
Since the Agile philosophy embraces change, project scope management is not important for Agile projects. True False
False
Testing and construction should be done independently of each other. True False
False
The UP should not be tailored to the needs of a specific organization or system project. True False
False
The controller object is usually part of view layer. True False
False
The initial version of a communication diagram contains view layer and business layer. True False
False
The only difference between a domain class diagram and a design class diagram is the addition of the methods. True False
False
The purpose of a Scrum daily meeting is to find solutions for any issues that have arisen since the last meeting. True False
False
The purpose of system documentation is to help the end users understand the details of how the system works. True False
False
Visibility is a design property that indicates whether a class can be "seen" by the user interface classes. True False
False
XP recommends that system code be written before test code. True False
False
What considerations should be taken into account when choosing the type of interaction diagram for a system design model?
Many designers use communication diagrams to sketch out a solution. If the use case is smaller or not too complex, a simple communication diagram may suffice. Drawing a communication diagram is an effective way to get a quick overview of the objects that work together. However, for more complex situations, a sequence diagram may be required to visualize the flow and sequence of the messages. It is not unusual to find a mix within the same set of specifications: some use cases described by communication diagrams and others shown with sequence diagrams.
A "persistent" class is sometimes referred to as an "entity" class. True False
True
A class level attribute applies to all instances of a class. True False
True
A major reason that software development projects to fail is due to poor project management. True False
True
A tool is a software support that helps create models or other components required in the project. True False
True
Adding a use case controller to a sequence diagram is an example of applying a design pattern. True False
True
Agile Modeling emphasizes creating only models that are necessary. True False
True
All adaptive approaches include iterations. True False
True
An Agile Modeling practice used in incremental modeling is to create several models in parallel. True False
True
Attributes within a property class can have their own properties. True False
True
Both a communication diagram and a sequence diagram have the same purpose and provide basically the same information. True False
True
Detailed Object-oriented design (OOD) is done on a use case-by-use case basis. True False
True
Frequently customer payments for new systems are tied to specific acceptance tests. True False
True
In Agile Development, contracts include options for the customer to cancel if the project is not progressing, as measured by the incremental deliverables. True False
True
In object-oriented design, the design models are extensions of the analysis models. True False
True
In the UP life cycle, some working software is tested and reviewed with system users at the end of each iteration. True False
True
It is better to have the data access object create a new object when multiple objects may be created. True False
True
It is usually impossible to make an accurate estimate of the time required to complete a development project. True False
True
Links on communication diagram simple show the flow of messages and are not the associations between classes. True False
True
Messages on communication diagrams use the same syntax as messages from on sequence diagrams. True False
True
Separation of responsibilities is the basic principle upon which multilayer design is founded. True False
True
The Unified Process (UP) life cycle has four phases: inception, elaboration, construction, and conversion. True False
True
The best technique for accessing the database when multiple objects are needed is just to let the data access object instantiate objects. True False
True
The modified waterfall approach requires overlapping phases. True False
True
The objective of object-oriented design is to identify and specify all the classes and messages that work together to carry out each use case. True False
True
The primary difference between a design class symbol and a problem domain class symbol is the addition of method signatures. True False
True
Which is the correct notation for a message label on a sequence diagram? a. * [true/false]RetVal := name (param) b. [true/false]RetVal == name (param) c. [true/false]seq# RetVal := name (param) d. * [true/false] seq# Retval := name (param)
a. *[true/false]RetVal := name (param)
Missing milestones on a project may be an indication of project that has high _______ risk. a. Schedule b. Resource c. Deployment d. Technological
a. Schedule
An approach to the SDLC that plans the project in advance and then progresses according to the plan is called what? a. a predictive approach b. An adaptive approach c. An agile approach d. a project management approach
a. a predictive approach
An input window class is an example of a(n) ____ design class type. a. boundary b. control c. entity d. persistent
a. boundary
An approach to the SDLC where the phases overlap is often referred to as the _______ approach. a. modified waterfall b. waterfall c. modified predictive d. spiral
a. modified waterfall
Domain layer classes should ____. a. prepare persistent classes for storage to the database b. start up and shut down the system c. edit and validate input data d. establish and maintain connections to the database
a. prepare persistent classes for storage to the database
In Scrum, the ____ maintains the product backlog list. a. product owner b. Scrum master c. Scrum team d. project manager
a. product owner
Communication diagrams indicates the order of the messages with ____. a. sequence numbers b. activation lifelines c. arrows d. links
a. sequence numbers
Which of the following is NOT one of the external responsibilities of a project manager? a. Report project status b. Assess project risks c. Work with the client d. Identify resource needs
b. Assess project risks
Which diagram is directly used to identify methods and write programming code for object-oriented systems? a. Sequence diagram b. Design class diagram c. Package diagram d. State-machine diagram
b. Design class diagram
Which of the following is NOT one of the design models used for object-oriented design. a. Communication diagram b. System sequence diagram c. CRC cards d. Design class diagram
b. System sequence diagram
Estimating the effort required and identifying task dependencies is usually part of the work to create what? a. The project iteration schedule b. The detailed work schedule c. The project time estimate d. The critical path
b. The detailed work schedule
Which of the following is the best coupling choice for an input window, domain, and database object in a system? a. The input window is coupled to both the domain and database objects. b. The input window is coupled to the domain and the domain is coupled to the database. c. The input window and the domain are both coupled to the database object. d. All objects are coupled to each other.
b. The input window is coupled to the domain and the domain is coupled to the database
Which of the following is a basic value of agile software development? a. Following a plan over responding to change b. Working software over comprehensive documentation c. Processes and tools over individuals and interactions d. Contract negotiation over customer collaboration
b. Working software over comprehensive documentation
A(n) ____ class acts as a switchboard between the view layer and the domain layer. a. boundary b. controller c. entity d. persistent
b. controller
In XP development, a(n) ____ can guide members toward a vision and help them understand the system. a. product backlog b. system metaphor c. object framework d. meta model
b. system metaphor
A(n) "_______" is a guideline to help an analyst complete a specific task and often includes step-by-step instructions to do something such as how to create a model. a. tool b. technique c. methodology d. SDLC
b. technique
User interface objects in a sequence diagram often are labeled with the stereotype ____. a. entity b. view or boundary c. control d. persistent
b. view or boundary
Which analysis model serves as an input model to a design class diagram? a. Use case diagram b. Activity diagram c. Domain model class diagram d. System sequence diagram (SSD)
c. Domain model class diagram
What technique is used to control the scope in an Agile project? a. Not important to worry about scope. b. Freeze the requirements in an early iteration. c. Keep a prioritized list of required functions. d. Let the client and the users worry about the scope
c. Keep a prioritized list of required functions
Which of the following is true of class-level methods? a. They depend on the existence of a particular object. b. They cannot access data across all objects. c. They are executed by the class instead of a specific object of the class. d. There can only be one class method per class.
c. They are executed by the class instead of a specific object of the class
High coupling ____ in a system. a. is easier to maintain b. reduces ripple effects in a system when changes occur c. adds complexity d. decreases visibility between classes
c. adds complexity
View layer classes should do all of the following EXCEPT _______. a. capture clicks and data entry b. start and shut down the system c. create problem domain classes d. display forms
c. create problem domain classes
UP disciplines are involved in each iteration, which is typically planned to span ____. a. one week b. two weeks c. four weeks d. eight weeks
c. four weeks
A(n) _____ provides guidelines to follow for completing every activity in systems development, including specific models, tools, and techniques. a. predictive approach b. object-oriented analysis c. system development methodology d. systems development life cycle
c. system development methodology
System designers frequently create a class called a ____ that can serve as a collection point for incoming messages. a. switchboard b. message controller c. use case controller d. message collector
c. use case controller
Which of the following is valid Unified Modeling Language (UML) notation for a method signature? a. visibility name:type-expression {parameter list} b. name:class-name (parameter list):type-expression c. visibility name(parameter list):type-expression d. visibility class-name:name:type-expression {parameter list}
c. visibility name (parameter list):type-expression
The _____ approach is an SDLC approach that assumes the output of each phase are frozen before moving on to the next phase. a. iterative b. spiral model c. waterfall model d. prototyping
c. waterfall model
Which of the following methodologies use an adaptive approach to systems development? a. Unified Process b. Extreme Programming c. Scrum d. All of them
d. All of them
Which of the following is an example of an interaction diagram? a. Design class diagram b. Data access diagram c. Package diagram d. Communication diagram
d. Communication diagram
Which of the following is NOT part of a multilayer object-oriented design (OOD)? a. Database access b. Problem domain object c. User input form d. Functional module
d. Functional module
Which of the following is NOT an Agile Modeling principle? a. Minimize your modeling activity b. Know your models and how to use them c. Focus on content rather than representation d. Maintain core models to verify past decisions
d. Maintain core models to verify past decisions
Which of the following is NOT an XP practice? a. Simple designs b. Anyone can change code c. Small releases d. No required coding standards
d. No required coding standards
Which of the following is completed in the inception phase of the UP? a. Prepare the deployment b. Resolve high risks c. Design and implement the core architecture and functions d. Produce rough estimates of cost and schedule
d. Produce rough estimates of cost and schedule
The organization and direction of other people to achieve a planned result within a predetermined schedule and budget is called what? a. Project delivery management b. Project integration management c. Project human resource management d. Project management
d. Project management
Which would be the least desirable reason to initiate a new development project? a. To take advantage of a new sales opportunity b. To solve an internal business problem c. To respond to a legislative requirement d. To take advantage of new technology
d. To take advantage of new technology
Which of the following best describes the reason why projects fail? a. Technological problems b. System is too complex c. Wrong development methodology d. Undefined project management practices
d. Undefined project management practices
A(n) _____ approach to the SDLC is used when the exact requirements of a system or needs of users are not well understood. a. predictive b. persistent c. incremental d. adaptive
d. adaptive
Data access layer classes should ____. a. process all business rules with appropriate logic b. accept input data c. display data fields d. contain Structure Query Language (SQL) statements
d. contain Structure Query Language(SQL) statements
The primary models used for OO detailed design are ____ diagrams. a. design class and statechart b. package and statechart c. package and deployment d. design class and interaction
d. design class and interaction
What is the primary goal in Agile Modeling? a. building model templates for future projects b. building multiple models c. focusing on representation with good models d. developing software
d. developing software
A class named SaleItem which has methods to calculate its own price is said to have good ______. a. API b. cohesion c. coupling d. object responsibility
d. object responsibility
The final step in the object-oriented design (OOD) process consists of developing the ____. a. attributes of the design classes b. method names of the design classes c. interaction diagrams d. package diagrams
d. package diagrams
An adaptive approach to a development project is best used when _______. a. the system has low technical risk b. the requirements are simple and the system is small c. the requirements are well understood d. the requirements are uncertain
d. the requirements are uncertain
Which of the following figures is not correct?
d. timeline to interaction