New Semester
Started
Get
50% OFF
Study Help!
--h --m --s
Claim Now
Question Answers
Textbooks
Find textbooks, questions and answers
Oops, something went wrong!
Change your search query and then try again
S
Books
FREE
Study Help
Expert Questions
Accounting
General Management
Mathematics
Finance
Organizational Behaviour
Law
Physics
Operating System
Management Leadership
Sociology
Programming
Marketing
Database
Computer Network
Economics
Textbooks Solutions
Accounting
Managerial Accounting
Management Leadership
Cost Accounting
Statistics
Business Law
Corporate Finance
Finance
Economics
Auditing
Tutors
Online Tutors
Find a Tutor
Hire a Tutor
Become a Tutor
AI Tutor
AI Study Planner
NEW
Sell Books
Search
Search
Sign In
Register
study help
business
software testing and quality assurance
Software Engineering 9th Edition Ian Sommerville - Solutions
22.9. You are asked by your manager to deliver software to a schedule that you know can only be met by asking your project team to work unpaid overtime. All team members have young children. Discuss whether you should accept this demand from your manager or whether you should persuade your team to
22.8. Write a case study in the style used here to illustrate the importance of communications in a project team. Assume that some team members work remotely and it is not possible to get the whole team together at short notice.
22.7. What problems do you think might arise in extreme programming teams where many management decisions are devolved to the team members?
22.6. Explain why keeping all members of a group informed about progress and technical decisions in a project can improve group cohesiveness.
22.5. Fixed-price contracts, where the contractor bids a fixed price to complete a system development, may be used to move project risk from client to contractor. If anything goes wrong, the contractor has to pay. Suggest how the use of such contracts may increase the likelihood that product risks
22.4. In addition to the risks shown in Figure 22.1, identify at least six other possible risks that could arise in software projects.
22.3. Using reported instances of project problems in the literature, list management difficulties and errors that occurred in these failed programming projects. (I suggest that you start with The Mythical Man Month, by Fred Brooks)
22.2. Explain why the best programmers do not always make the best software managers. You may find it helpful to base your answer on the list of management activities in Section 22.1.
22.1. Explain why the intangibility of software systems poses special problems for software project management.
understand key issues that influence team working, such as team composition, organization, and communication.
understand factors that influence personal motivation and what these might mean for software project managers;
have been introduced to the notion of risk management and some of the risks that can arise in software projects;
know the principal tasks of software project managers;
21.10. Suggest how you could use aspects to simplify the debugging of programs.
21.9. Explain why expressing pointcut specifications as patterns increases the problems of testing aspect-oriented programs. To answer this, think about how program testing normally involves comparing the expected output to the actual output produced by a program.
21.8. Explain how aspect interference can arise and suggest what should be done during the system design process to reduce the problems of aspect interference.
21.7. Using the aspect stereotype notation illustrated in Figure 21.15, develop in more detail the Ordering and Monitor aspects, shown in Figure 21.14.
21.6. Using the outline functionality for each viewpoint shown in Figure 21.9, identify six further use cases for the equipment inventory system, in addition to those shown in Figure 21.11.Where appropriate, show how some of these might be organized as extension use cases.
21.5. What viewpoints should be considered when developing a requirements specification for the MHC-PMS? What are likely to be the most important cross-cutting concerns?
21.4. What assumptions underlie the idea that a system should be organized as a core system that implements the essential requirements, plus extensions that implement additional functionality? Can you think of systems where this model would not be appropriate?
21.3. What is the difference between a join point and a pointcut? Explain how these facilitate the weaving of code into a program to handle cross-cutting concerns.
21.2. Summarize what is meant by tangling and scattering. Using examples, explain why tangling and scattering can cause problems when system requirements change.
21.1. What are the different types of stakeholder concern that may arise in a large system? How can aspects support the implementation of each of these types of concern?
be aware of the difficulties of testing aspect-oriented systems.
understand how an aspect-oriented approach may be used for requirements engineering, software design, and programming;
have been introduced to the fundamental ideas underlying aspects and aspect-oriented software development;
understand why the separation of concerns is a good guiding principle for software development;
20.10. Why are general-purpose operating systems, such as Linux or Windows, not suitable as real-time system platforms? Use your experience of using a general-purpose system to help answer this question.
20.9. If a periodic process in the onboard train protection system is used to collect data from the trackside transmitter, how often must it be scheduled to ensure that the system is guaranteed to collect information from the transmitter? Explain how you arrived at your answer.
20.8. Suggest a possible process architecture for this system.
20.7. A train protection system automatically applies the brakes of a train if the speed limit for a segment of track is exceeded or if the train enters a track segment that is currently signaled with a red light (i.e., the segment should not be entered). Details are shown in Figure 20.19.Identify
20.6. Design a process architecture for an environmental monitoring system that collects data from a set of air quality sensors situated around a city. There are 5,000 sensors organized into 100 neighborhoods. Each sensor must be interrogated four times per second. When more than 30% of the sensors
20.5. Show how the Environmental Control pattern could be used as the basis of the design of a system to control the temperature in a greenhouse. The temperature should be between 10 and 30 degrees Celsius. If it falls below 10 degrees, the heating system should be switched on; if it goes above 30,
20.4. Explain why an object-oriented approach to software development may not be suitable for real-time systems.
20.3. Using the state-based approach to modeling, as discussed in Section 20.1.1, model the operation of an embedded software system for a voice mail system included in a landline phone. This should display the number of recorded messages on an LED display and should allow the user to dial in and
20.2. Identify possible stimuli and the expected responses for an embedded system that controls a home refrigerator or a domestic washing machine.
20.1. Using examples, explain why real-time systems usually have to be implemented using concurrent processes.
understand the organization of real-time operating systems and the role that they play in an embedded, real-time system.
understand three architectural patterns that are commonly used in embedded real-time systems design;
have been introduced to a design process for real-time systems, where the software systems are organized as a set of cooperating processes;
understand the concept of embedded software, which is used to control systems that must react to external events in their environment;
19.10. Using an example, explain in detail why the thorough testing of services that include compensation actions is difficult.
19.9. For the example of the vacation package reservation service, design a workflow that will book ground transportation for a group of passengers arriving at an airport. They should be given the option of booking either a taxi or renting a car. You may assume that the taxi and car rental
19.8. Explain what is meant by a ‘compensation action’ and, using an example, show why these actions may have to be included in workflows.
19.7. In Section 19.2.1, I introduced an example of a company that has developed a catalog service that is used by customers’ web-based procurement systems. Using BPMN, design a workflow that uses this catalog service to look up and place orders for computer equipment.
19.6. Giving reasons for your answer, suggest two important types of applications where you would not recommend the use of service-oriented architecture.
19.5. Design possible input and output messages for the services shown in Figure 19.11. You may specify these in the UML or in XML.
19.4. Define an interface specification for the Currency Converter and Check credit rating services shown in Figure 19.7.
19.3. Using the same notation, extend Figure 19.5 to include definitions for MaxMinType and InDataFault. The temperatures should be represented as integers with an additional field indicating whether the temperature is in degrees Fahrenheit or degrees Celsius. InDataFault should be a simple type
19.2. Explain why SOAs should be based on standards.
19.1. What are the most important distinctions between services and software components?
understand how business process models may be used as a basis for the design of service-oriented systems.
have been introduced to the notion of service composition as a means of service-oriented application development;
understand the service engineering process that is intended to produce reusable web services;
understand the basic notions of a web service, web service standards, and service-oriented architecture;
18.10. Your company wishes to move from using desktop applications to accessing the same functionality remotely as services. Identify three risks that might arise and suggest how these risks may be reduced.
18.9. Explain why deploying software as a service can reduce the IT support costs for a company.What additional costs might arise if this deployment model is used?
18.8. Give two advantages and two disadvantages of decentralized and semicentralized peer-to-peer architectures.
18.7. Using a distributed component approach, propose an architecture for a national theater booking system. Users can check seat availability and book seats at a group of theaters. The system should support ticket returns so that people may return their tickets for last-minute resale to other
18.6. Your customer wants to develop a system for stock information where dealers can access information about companies and evaluate various investment scenarios using a simulation system. Each dealer uses this simulation in a different way, according to his or her experience and the type of
18.5. You have been asked to design a secure system that requires strong authentication and authorization. The system must be designed so that communications between parts of the system cannot be intercepted and read by an attacker. Suggest the most appropriate client–server architecture for this
18.4. What is the fundamental difference between a fat-client and a thin-client approach to client–server systems architectures?
18.3. Using an example of a remote procedure call, explain how middleware coordinates the interaction of computers in a distributed system.
18.2. Explain why distributed software systems are more complex than centralized software systems, where all of the system functionality is implemented on a single computer.
18.1. What do you understand by ‘scalability ’? Discuss the differences between ‘scaling up’ and‘scaling out’ and explain when these different approaches to scalability may be used.
understand the notion of software as a service, providing web-based access to remotely deployed application systems.
have been introduced to commonly used patterns for distributed systems architectures and know the types of system for which each architecture is most applicable;
understand the client–server computing model and the layered architecture of client–server systems;
know the key issues that have to be considered when designing and implementing distributed software systems;
17.10. It has been suggested that an independent certification authority should be established.Vendors would submit their components to this authority, which would validate that the component was trustworthy. What would be the advantages and disadvantages of such a certification authority?
17.9. Design the interfaces of components that might be used in a system for an emergency control room. You should design interfaces for a call-logging component that records calls made, and a vehicle discovery component that, given a post code (zip code) and an incident type, finds the nearest
17.8. Using examples, illustrate the different types of adaptor needed to support sequential composition, hierarchical composition, and additive composition.
17.7. Design the ‘provides’ interface and the ‘requires’ interface of a reusable component that may be used to represent a patient in the MHC-PMS.
17.6. Explain why it is difficult to validate a reusable component without the component source code. In what ways would a formal component specification simplify the problems of validation?
17.5. Using an example of a component that implements an abstract data type such as a stack or a list, show why it is usually necessary to extend and adapt components for reuse.
17.4. Why is it important that components should be based on a standard component model?
17.3. What are the fundamental differences between components as program elements and components as services?
17.2. The principle of component independence means that it ought to be possible to replace one component with another that is implemented in a completely different way. Using an example, explain how such component replacement could have undesired consequences and may lead to system failure.
17.1. Why is it important that all component interactions are defined through ‘requires’ and‘provides’ interfaces?
understand some of the difficulties and problems that arise during the process of component composition.
know the principal activities in the CBSE process for reuse and the CBSE process with reuse;
understand what is meant by a component and a component model;
know that component-based software engineering is concerned with developing standardized components based on a component model, and composing these into application systems;
16.10. The reuse of software raises a number of copyright and intellectual property issues. If a customer pays a software contractor to develop a system, who has the right to reuse the developed code? Does the software contractor have the right to use that code as a basis for a generic component?
16.9. Explain why adaptors are usually needed when systems are constructed by integrating COTS products. Suggest three practical problems that might arise in writing adaptor software to link two COTS application products.
16.8. Identify six possible risks that can arise when systems are constructed using COTS. What steps can a company take to reduce these risks?
16.7. Why have many large companies chosen ERP systems as the basis for their organizational information system? What problems may arise when deploying a large-scale ERP system in an organization?
16.6. Most desktop software, such as word processing software, can be configured in a number of different ways. Examine software that you regularly use and list the configuration options for that software. Suggest difficulties that users might have in configuring the software. If you use Microsoft
16.5. Using the example of the weather station system described in Chapters 1 and Chapter 7, suggest a product line architecture for a family of applications that are concerned with remote monitoring and data collection. You should present your architecture as a layered model, showing the
16.4. Explain what is meant by ‘inversion of control’ in application frameworks. Explain why this approach could cause problems if you integrated two separate systems that were originally created using the same application framework.
16.3. Give four circumstances where you might recommend against software reuse.
16.2. Suggest why the savings in cost from reusing existing software are not simply proportional to the size of the components that are reused.
16.1. What are the major technical and nontechnical factors that hinder software reuse? Do you personally reuse much software and, if not, why not?
have learned how systems can be developed by configuring and composing off-the-shelf application software systems.
have been introduced to software product lines, which are made up of a common core architecture and configurable, reusable components;
understand the concept of an application framework as a set of reusable objects and how frameworks can be used in application development;
understand the benefits and problems of reusing software when developing new systems;
15.10. Assume you were part of a team that developed software for a chemical plant, which failed, causing a serious pollution incident. Your boss is interviewed on television and states that the validation process is comprehensive and that there are no faults in the software. She asserts that the
15.9. The door lock control mechanism in a nuclear waste storage facility is designed for safe operation. It ensures that entry to the storeroom is only permitted when radiation shields are in place or when the radiation level in the room falls below some given value(dangerLevel). So:i. If remotely
15.8. List four types of systems that may require software safety cases, explaining why safety cases are required.
Showing 1500 - 1600
of 3990
First
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Last
Step by Step Answers