CSDP: Sample Test Questions

1. Software configuration management involves identifying the configuration of the software:

[a] prior to the beginning of the lifecycle.
[b] at the beginning of the lifecycle only.
[c] at predefined points of time during the lifecycle.
[d] at the end of the lifecycle only.

2. Which of the following is not required of a software component?

[a] A unit of independent deployment
[b] Exploits commonalities in large software systems
[c] A unit of third-party composition
[d] Exposes source code for modification

3. In Modern Structured Analysis, the ?event list? is used to:

[a] improve requirements traceability.
[b] build an Entity-Life History diagram.
[c] document the data transactions in the Entity-Relationship Diagram.
[d] build a preliminary Data Flow Diagram for the system.

4. An engineer is developing a web presentation layer for a mission critical project. The technology chosen for the presentation layer is making it difficult to implement the user interface design. The engineer reads about a new technology for creating the type of web interface the project needs. It is decided that a rapid prototype will be created to perform an initial evaluation of the new technology.

Which of the following criteria is the LEAST important when doing the prototype?

[a] Exercising the entire breadth of functionality
[b] Simulating the operational environment
[c] Exercising critical functionality
[d] Stepping through source with a debugger

5. Cleanroom Software Engineering techniques:

[a] emphasize defect prevention rather than defect removal.
[b] minimize formal verification practices.
[c] do not require a well-defined software development process.
[d] require that each member of the development team has a unique responsibility.

6. A technical lead is working on an iterative lifecycle project that is creating a well understood application using a technology the team has experience with. The project has 10 major use cases to implement; two have just been delivered on schedule in the first iteration. At the request of the project manager, who is concerned about the amount of effort being spent fixing defects, the lead has collected some data on quality performance during the first iteration. The data shows that planned reviews of requirements and design are not occurring. It shows that 22 defects are being detected during unit and system testing per 100 SLOC.

The lead is asked to predict the defect trend for the project going forward. They calculate that with no changes in process the defect rate:

[a] will likely drop later in the project as kinks are worked out.
[b] will remain the same.
[c] will likely increase as the project progresses .
[d] cannot be predicted at this point.

7. During a software development project two similar requirements defects were detected. One was detected in the requirements phase, and the other during the implementation phase. Which of the following statements is mostly likely to be true?

[a] The most expensivedefect to correct is the one detected during the requirements phase.
[b] The most expensive defect to correct is the one detected during the implementation phase.
[c] The cost of fixing either defect will usually be similar.
[d] There is no relationship between the phase in which a defect is discovered and its repair cost. .

8. An engineer is tasked to verify a software release for a mission critical system. The plan is for the release of software for verification to occur on a Monday, with verification complete the following Friday. The release turns out not to be available until Thursday. The best route for the engineer is to:

[a] verify release criteria regardless of time line.
[b] do whatever testing they can by Friday.
[c] volunteer to work the weekend.
[d] relax release criteria .

9. The IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practice allows you to accept a position for which you have no pertinent training or experience if:

I. The extent of your limitations are fully disclosed.
II. Appropriate training in the pertinent area is taken concurrently.
III. The position is in a field where engineering decisions are well known.
IV. No conflict of interest is present.

[a] I only
[b] I and II only
[c] I, II, and III only
[d] I, II, III, and IV

10. Which of the following do NOT affect the accuracy of the reliability estimate during statistical testing?

I. The validity of the usage profile.
II. The number of test cases executed.
III. The programming language used to implement the code.
IV. The cyclomatic complexity of the code.

[a] I and II only.
[b] II and III only.
[c] III and IV only.
[d] I and III only.
11. Two different implementations of an abstract class (or interface) have been created. If members of the software engineering team are to be able to correctly select the appropriate implementation to use, then the documentation for each of these implementations must include:

[a] a list of functions available and data used.
[b] the source code for the implementation.
[c] information about the side effects and resource usage for each function.
[d] name of the authors of each implementation and change history.

12. A new engineer has been assigned to a project team. The current project is 1 month into construction, and another 6 months of construction are expected. The engineer discovers that the only design document is an overview of the logical architecture. There are over 70 source code files, most over 600 lines long, residing in a single folder.

It is very difficult to follow the module design of the system, but there appears to be functionality redundantly coded among the files shared between files. The best steps for improvement would be to:

I. Combine files together to reduce the number of files
II. Rework files to group functionality together
III. Use folders to group related files together
IV. Change programming languages

[a] I and II
[b] I and III
[c] II and III
[d] II and IV

13. In Structured Design, why are afferent and efferent flows identified when performing Transform Analysis?

[a] The flows represent data internal to the system.
[b] The flows are limited by the physical constraints of the devices.
[c] The system design should be independent of the format of the data.
[d] The system performance depends mainly on the time of the flows.

14. Which of the following is NOT a force that acts to encourage the generation of reference architectures?

[a] Future developers need to understand how to program future applications in a domain.
[b] A user community wants to interchange components and to inter-operate among systems.
[c] Potential customers need a principled basis for comparison among systems.
[d] The key aspects of an application domain remain invariant over time.

15. Paul has drafted a software project management plan. Which of the following items should be discussed in this plan?

I. Schedule
II. Budget
III. Requirements
IV. Staffing

[a] I, III, IV only
[b] I, II, III only
[c] I, II, IV only
[d] I, II, III, IV

16. Jo is developing a web presentation layer for a mission critical project with a challenging schedule. The project manager, who does not have a technical background, is always pressing for ways to reduce schedule risk. The project is following a staged delivery lifecycle. Requirements and architecture are completed, along with the first stage that delivered the initial database. Vertical slices of functionality are now being developed incrementally. The technology chosen for the presentation layer is making it difficult to implement the user interface design. Jo has just read about a new technology for generating the specified user interface.

Adopting a new technology at this stage of a project introduces the following risks:

I. increased integration effort and time
II. decreased usability
III. increased testing effort and time
IV. lower system performance
V. lower system reliability

[a] I and III only
[b] I, II, and III only
[c] I, III, IV, and V only
[d] I,II, III, IV, and V

17. Software metrics should be evaluated for their utility in certain areas of application. Which one of the following areas of application should NOT be considered when evaluating the utility of software metrics?

[a] Determining product complexity.
[b] Determining productivity of individual staff members.
[c] Determining when a desired state of quality has been achieved.
[d] Determining the validity of project processes.

18. Quality assurance may be applied to:

I. Requirements
II. Design
III. Code
IV. Testing

[a] I and II only
[b] I, II, and III only
[c] I, II, III, and IV
[d] IV only

19. Equivalence partitioning is:

[a] a modular programming technique where the application domain is sub-divided into similarly sized functional areas
[b] a black box testing technique that divides the input domain of a program into classes of data from which test cases can be derived
[c] an object oriented design technique for improving program structure by replacing inheritance with delegation
[d] a software project management technique for distributing test responsibility within a project

20. A project manager is assigned to a new client who needs a web interface and database for online ordering. After assessing the scope of work, the manager decides that three GUI designers would be sufficient, and that they work at the client's site. The manager assigns the work to the first three people listed on the available staff sheet, knowing that each of them has less than two months experience at the company, but also knowing that company policy is to hire only personnel who have graduated from an accredited university with a BS degrees in a computing science.

The list below shows four ethical principles taken from the Software Engineering Code of Ethics and Professional Practice. Which principles might the manager have violated?

I. Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.
II. Assign work only after taking into account appropriate contributions of education and experience tempered with a desire to further that education and experience.
III. Not unjustly prevent someone from taking a position for which that person is suitably qualified.
IV. Ensure that software engineers are informed of standards before being held to them.

[a] I, II and III only
[b] I and II only
[c] I, II, III and IV
[d] II and III only

21. Early development on a new product development project proceeded smoothly. Each member of the team was given responsibility for their own component of the final system, and they developed their code independently. Integration was the first time that different code modules were brought together, but clear specifications enabled this phase to complete quickly.

Now that testing is underway the team is thrashing: lots of work seems to be going on, but very little progress is being made. In particular, bug fixes often introduce new bugs, so the total bug count just keeps increasing.

What steps should be taken to improve the team's performance?

I. Implement version control
II. Establish a baseline for all the code
III. Require that all changes to a module only be performed by the module's original author
IV. Perform a configuration audit for each proposed change
V. Send configuration status reports to all team members.

[a] II and III
[b] I and III
[c] I, II and IV
[d] I, II, and V

22. You are a requirements engineer working on a project to develop a new racing game. Your organization has experience in developing educational games, but this genre is new. In order to gain market share in the gaming market your organization needs to deliver a next generation product. Several features are planned, which require hardware that is itself under development. You have access to the hardware, which introduces some risk. Thankfully, the development schedule is much longer than that of typical game development projects. In order to maximize user satisfaction, your organization can pay local high school students to play the game while it is in development.

The company is re-examining the lifecycle development model to be used for this product. Which of the following life cycle models will enable you to leverage user feedback during the development of the game?

I. Waterfall
II. Spiral
III. Evolutionary
IV. Code-and-Fix

[a] III and IV
[b] II and III
[c] I and IV
[d] II and IV

23. A design team is working on the design of a payroll system. The system is being revised to accommodate new features that the customer desires. Previous versions of the design were not well documented, and the team is taking advantage of the current version to document the new design.

Analysis of the previous design noted that functions were grouped into modules in a haphazard way. This design property is BEST described as:

[a] Coincidental cohesion
[b] Logical cohesion
[c] Content coupling
[d] Common coupling

24. The most important aspect of an abstract data type is:

[a] Knowledge about the implementation of an abstract data
type can be used for memory optimization.
[b] All signatures are encapsulated within the abstract data
type's interfaces.
[c] The separation of the implementation of the abstract date
type from its use.
[d] The polymorphism that results from defining a data structure
as an abstract data type.

25. A design team is working on the design of a payroll system. The system is being revised to accommodate new features that the customer desires. Previous versions of the design were not well documented, and the team is taking advantage of the current version to document the new design.

During product implementation, a mixture of experienced and inexperienced developers were assigned to the project. An orientation process is not in place that creates a consistent process where expectations were clearly defined. During coding inspection, the lead developer told the developers that were new to the organization that their code was difficult to follow and understand. Inspecting their work would need to be rescheduled so that improvements to their code could be made. Which is the MOST effective way to improve the understandability of their code?

[a] The developers need to improve the naming of variables and functions.
[b] The developers need to follow well-known industry coding standard in their work.
[c] The developers need to follow company coding standards in their work.
[d] The developers need to explain their work to their teammates so that they can better understand it.