Skip to main content

Test Bank For Software Engineering A Practitioner's Approach, 9th Edition Roger S. Pressman , Bruce

Page 1

Test Bank For Software Engineering A Practitioner's Approach, 9th Edition Roger S. Pressman , Bruce R. Maxim Chapters 1-29 Chapter 1 - Test Questions 1. How does software differ from the artifacts produced by other engineering disciplines? Answer (Section 1.1): Software is both a product and a vehicle for delivering a product. As a product, software is an information transformer. As a vehicle for delivering a product, software serves as a basis for computer control, communication, and creation of other programs. 2. How do software characteristics differ from hardware characteristics? Answer (Section 1.1.1): Software is developed, not manufactured. Software does not wear out. Most software is custom built, not assembled out of components. 3. Explain what is wrong with the notion that computer software does not need to evolve over time. Answer (Section1.1.3): Computer software must be revised as errors are discovered and corrected. Software must be updated to accommodate changes in the computing environment. Many times a customer will request changes to add new functions to an existing product or to accommodate changes in the business environment. Sometimes an older system will need to be reengineered to provide benefits to the user in a modern context. The bottom line is that software that does not evolve will eventually become unusable.

4. List three areas in which process models may differ from one another. Answer (Section 1.3.3): Overall flow and level of interdependencies among tasks Degree to which work tasks are defined within each framework activity Degree to which work products are identified and required Manner in which quality assurance activities are applied Manner in which project tracking and control activities are applied


Overall degree of detail and rigor of process description Degree to which stakeholders are involved in the project Level of autonomy given to project team Degree to which team organization and roles are prescribed 5. Describe how Polya‘s problem solving principles describe the essence of engineering practice? Answer (Section 1.4):    

Understand the problem (communication and analysis) Plan a solution (modeling and design) Carry out the plan (code generation) Examine the result for accuracy (testing and quality assurance)

Chapter 2 - Test Questions


1. How does software team choose the task set for a particular project? Answer (Section 2.3): The software chooses the task set based on the characteristics of the team, the project, and the problem to be solved. 2. How can process patterns assist a development team build software products efficiently? Answer (Section 2.4): Process patterns are proven solutions to commonly encountered development problems. If developers can recognize that that this is problem seen before they can use a previously known means of solving it, without have to take the time to invent a new solution. 3. Why it important for software processes to be agile? Answer (Chapter 2 Overview): Software process provides the stability, control, and organization to an activity to prevent it from becoming chaotic. Yet, modern software processes must only demand the activities, controls, and work products that are appropriate for the team and product to be produced – to ensure that it can accommodate changes easily and deliver a high quality software product. 4. Describe the phases of the prototyping model for software development? Answer (Section 2.5.2): Requirements are gathered by having the customer and developer meet and identify whatever objectives and requirements they can. Quick design follows, focusing on representation of the software that will be visible to the customer. A prototype is constructed by the developer and evaluated by the customer and used to refine the requirements. Iteration occurs and the prototype is tuned to satisfy the customer's needs. 5. Why are evolutionary models considered by many to be the best approach to software development in a modern context? Answer (Section 2.5.3): Because timelines for the development of modern software are getting shorter and


shorter, customers are becoming more diverse (making the understanding of requirements even harder), and changes to requirements are becoming even more common (before delivery), we need a way to provide incremental or evolutionary delivery. The evolutionary process accommodates uncertainty better than most process models, allows the delivery of partial solutions in an orderly and planned manner, and most importantly, reflects what really happens when complex systems are built.

Chapter 3 - Test Questions 1. List the key issues stressed by an agile philosophy of software engineering. Answer (Section 3.3): The importance of self-organizing teams Communication and collaboration between team members and customers Recognition that change represents opportunity Emphasis on rapid delivery of software that satisfies the customer 2. What are the tradeoffs proposed by the ―Manifesto for Agile Software Development‖? Answer (Section 3.3.1): Individuals and interactions valued over processes and tools Working software valued over comprehensive documentation Customer collaboration valued over contract negotiation Responding to change valued over following a plan 3. Describe the role of customers and end-users on an agile process team? Answer (Chapter 3 Overview): Customers and end-users participate as full collaborators on agile process teams. They are the source of information used to create use cases and provided needed information on the business value of proposed software feature and functionality. They also provide much needed feedback on operational prototypes during incremental delivery of software increments. 4. Describe the three key assumptions regarding software projects that every agile software process must address. Answer (Section 3.3):


It is difficult to predict in advance which software requirements and customer priorities will change and which will not. For many types of software design and construction must be interleaved, it is difficult to predict how much design is needed before construction can be used to prove the design. Analysis, design, construction, and testing are not always predictable processes and this makes planning difficult. 5. What are the three questions that should be answered by each team member at the daily Scrum meeting? Answer (Section 3.4.3) What did you do since the last team meeting? What obstacles are you encountering? What do you plan to accomplish by the next team meeting? Chapter 4 - Test Questions 6. Why should requirements engineering be an iterative process? Answer (Section 4.1): It is impossible for stakeholders to describe an entire system before seeing the working software, and it is difficult for stakeholders to describe quality requirements needed for the software before seeing it in action as a prototype. Developers must recognize that requirements will be added and refined as the software increments are created. Using prototypes may increase the volatility of the requirements if stakeholders are not focused on getting things right the first time. 7. Why is software decision making critical to the success of software system? Answer (Section 4.2): The architecture of a software system determines its qualities and impacts the system throughout its life cycle. architects are prone to making errors when their decisions are made under levels of uncertainty. Architects make fewer bad decisions if they can reduce this uncertainty through better architectural knowledge management. Documenting your lessons learned is one of the reasons that retrospectives should be conducted after evaluating the delivered prototype and before beginning the next program increment. 8. Why should you create prototypes with deployment in mind? Answer (Section 4.4):


Turn static files into dynamic content formats.

Create a flipbook
Test Bank For Software Engineering A Practitioner's Approach, 9th Edition Roger S. Pressman , Bruce by AnswerDone - Issuu