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 8th Edition Ian Sommerville - Solutions
Extreme programming expresses user requirements as stories, with each story written on a card. Discuss the advantages and disadvantages of this approach to requirements description.
Explain why test-first development helps the programmer develop a better understanding of the system requirements. What are the potential difficulties with test-first development?
Suggest four reasons why the productivity rate of programmers working as a pair is roughly the same as two programmers working individually.
You have been asked to investigate the feasibility of prototyping in the software development process in your organisation. Write a report for your manager discussing the classes of project for which prototyping should be used, and setting out the expected costs and benefits of prototyping.
What are the fundamental differences between components and web services (see Chapter 12).
Why is it important that components should be based on a standard component model?
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.
Give two reasons why all the system versions in an N-version system may fail in a similar way.
Using the techniques discussed here to produce safe software obviously involves considerable extra costs. What extra costs can be justified if 100 lives would be saved over the 15-year lifetime of a system? Would the same costs be justified if 10 lives were saved?How much is a life worth? Do the
Explain why a software system that is used in a real-world environment must change or become progressively less useful.
Explain the rationale underlying Lehman’s laws. Under what circumstances might the laws break down?
Briefly describe the three types of software maintenance. Why is it sometimes difficult to distinguish between them?
As a software project manager in a company that specialises in the development of software for the offshore oil industry, you have been given the task of discovering the factors that affect the maintainability of the systems developed by your company. Suggest how you might set up a programme to
From Figure 21.7, you can see that impact analysis is an important sub-process in the software evolution process. Using a diagram, suggest what activities might be involved in change impact analysis.
What are the principal factors that affect the costs of system re-engineering?
What are the essential conditions for software re-engineering to be successful?
Under what circumstances might an organisation decide to scrap a system when the system assessment suggests that it is of high quality and high business value.
What are the strategic options for legacy system evolution? When would you normally replace all or part of a system rather than continue maintenance of the software (with or without reengineering)?
Explain why problems with support software might mean that an organisation has to replace its legacy systems.
Do software engineers have a professional responsibility to produce code that can be readily evolved even if this is not explicitly requested by their employer?
It has been suggested that the control software for a radiation therapy machine (used to treat patients with cancer) should be implemented using N-version programming. Comment on whether you think this is a good suggestion.
Suggest circumstances where it is appropriate to use a fault-tolerant architecture when implementing a software-based control system and explain why this approach is required.
Explain why it is very difficult to validate a reusable component without the component source code. In what ways would a formal component specification simplify the problems of validation?
Design a reusable component that implements the search feature of the LIBSYS system discussed in previous chapters. This is not a simple keyword search of web pages. You have to be able to search the catalogues of several libraries, as specified by the user.
Using examples, illustrate the different types of adaptors needed to support sequential composition, hierarchical composition and additive composition.
Design the interfaces of components that might be used in a system in 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 and an incident type, finds the nearest suitable vehicle to
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?
Give four reasons why it is hardly ever cost-effective for companies to ensure that their software is free of faults.
Give two examples of diverse, redundant activities that might be incorporated into dependable processes.
Explain why inheritance is a potentially error-prone construct and why its use should be minimised when developing critical systems in an object-oriented language.
Discuss the problems of developing and maintaining ‘nonstop’ systems such as telephone exchange software. How might exceptions be used in the development of such systems?
Explain why you should explicitly handle all exceptions in a fault-tolerant system.
Briefly describe forward and backward fault recovery strategies. Why is backward fault recovery used more often than forward error recovery? Give two examples of classes of systems where backward error recovery might be used.
What is essential for forward error recovery to be implemented in a fault-tolerant system? Is forward error recovery possible in interactive systems?
Design an abstract data type or object class called RobustList that implements forward error recovery in a linked list. You should include operations to check the list for corruption and to re-build the list if corruption has occurred. Assume that you can check corruption by maintaining forward and
The management of an organisation has asked you to carry out a system assessment and suggested that they would like the results of that assessment to show that the system is obsolete and that it should be replaced by a new system. This will mean that a number of system maintainers will lose their
Explain why it may be necessary to design the system architecture before the specifications are written.
How is the CORBA IDL used to support communications between objects that have been implemented in different programming languages? Explain why this approach may cause performance problems if there are radical differences between the languages used for object implementation.
Using a distributed object approach, propose an architecture for a national theatre booking system where users can check seat availability and book seats at a group of theatres. The system should support ticket returns so that people may return their tickets for last-minute resale to other
Give two advantages and two disadvantages of decentralised and semi-centralised peer-topeer architectures.
What are the advantages of dynamic binding in a service-oriented system?
For the in-car information system, explain why it is best that the in-car software communicates with an aggregation service rather than directly with the information services.You should consider issues such as communication reliability in formulating your answer.
The development of service-oriented computing has been based on the early specification and adoption of standards. Discuss the general role of standardisation in supporting and restricting competition and innovation in the software market.
Explain how the generic applications architectures described here can be used to help the designer make decisions about software reuse.
Using the four basic application types introduced in this chapter, classify the following systems and explain your classification:■ A point-of-sale system in a supermarket■ A system that sends out reminders that magazine subscriptions are due to be paid■ A photo album system that provides
Based on an input-process-output model, expand the Compute salary function in Figure 13.2 and draw a data-flow diagram that shows the computations carried out in that function. You need the following information to do this:■ The employee record identifies the grade of an employee. This grade is
Explain why transaction management is necessary in systems where user inputs can result in database changes.
Using the basic model of an information system as presented in Figure 13.6, show the components of an information system that allows users to view information about flights arriving and departing from a particular airport.
Using the layered architecture shown in Figure 13.8, show the components of a resource management system that could be used to handle hotel room bookings.
In an editing system, all user interface events can be translated into implicit or explicit commands. Explain why, in Figure 13.10, the Event object therefore communicates directly with the editor data structure as well as the Command object.
Explain why the use of distributed objects with an object request broker simplifies the implementation of scalable client–server systems. Illustrate your answer with an example.
What are the basic facilities that must be provided by an object request broker?
Explain why design conflicts might arise when designing an architecture where availability and security requirements are the most important functional requirements.
Construct a table showing the advantages and disadvantages of the structural models discussed in this chapter.
Giving reasons for your answer, suggest an appropriate structural model for the following systems:■ An automated ticket-issuing system used by passengers at a railway station■ A computer-controlled video conferencing system that allows video, audio and computer data to be visible to several
Design an architecture for the above systems based on your choice of model. Make reasonable assumptions about the system requirements.
Real-time systems usually use event-driven models of control. Under what circumstances would you recommend the use of a call–return control model for a real-time system?
Giving reasons for your answer, suggest an appropriate control model for the following systems:■ A batch processing system that takes information about hours worked and pay rates and prints salary slips and bank credit transfer information■ A set of software tools that are produced by different
Discuss their advantages and disadvantages as far as distributability is concerned of the data-flow model and the object model. Assume that both single machine and distributed versions of an application are required.
You are given two integrated CASE toolsets and are asked to compare them. Explain how you could use a reference model for CASE (Brown, et al., 1992) to make this comparison.
Should there be a separate profession of ‘software architect’ whose role is to work independently with a customer to design a software system architecture? This system would then be implemented by some software company. What might be the difficulties of establishing such a profession?
Explain why distributed systems are inherently more scalable than centralised systems. What are the likely limits on the scalability of the system?
What is the fundamental difference between a fat-client and a thin-client approach to client–server systems development? Explain why the use of Java as an implementation language blurs the distinction between these approaches.
Your customer wants to develop a system for stock information where dealers can access information about companies and can 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 stocks
By making reference to the application model shown in Figure 12.4, discuss problems that might arise when converting a 1980s mainframe legacy system for insurance policy processing to a client–server architecture.
Modify Figure 13.10 to show the generic architecture of a spreadsheet system. Base your design on the features of any spreadsheet system that you have used.
What is the function of the syntax tree component in a language-processing system?
Using the generic model of a language-processing system presented here, design the architecture of a system that accepts natural language commands and translates these into database queries in a language such as SQL.
Discuss the strengths and weaknesses of Java as a programming language for real-time systems. To what extent will the problems of real-time programming on Java disappear when faster processors are used?
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 signalled with a red light (i.e., the segment should not be entered). Details are shown in Figure 15.15.Identify the
Suggest a possible process architecture for this system. Document this process architecture using the notation shown in Figure 15.8, clearly indicating if stimuli are periodic or aperiodic
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 5000 sensors organised into 100 neighbourhoods. Each sensor must be interrogated four times per second. When more than 30% of the sensors in a
Discuss the strengths and weaknesses of Java as a programming language for real-time systems. To what extent will the problems of real-time programming on Java disappear when faster processors are used?
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 signalled with a red light (i.e., the segment should not be entered). Details are shown in Figure 15.15.Identify the
Suggest a possible process architecture for this system. Document this process architecture using the notation shown in Figure 15.8, clearly indicating if stimuli are periodic or aperiodic.
If a periodic process in the on-board 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.
You are asked to work on a real-time development project for a military application but have no previous experience of projects in that domain. Discuss what you, as a professional software engineer, should do before starting work on the project.
I suggested in Section 16.1 that the objects manipulated by users should be drawn from their domain rather than from a computer domain. Suggest appropriate objects for the following users and systems.■ A warehouse assistant using an automated parts catalogue■ An airline pilot using an aircraft
Suggest situations where it is unwise or impossible to provide a consistent user interface.
What factors have to be taken into account in the design of a menu-based interface for ‘walkup’systems such as bank ATMs? Write a critical commentary on the interface of an ATM that you use.
Suggest ways in which the user interface to an e-commerce system such as an online bookstore or music retailer might be adapted for users who have a visual impairment or problems with muscular control.
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 5000 sensors organised into 100 neighbourhoods. Each sensor must be interrogated four times per second. When more than 30% of the sensors in a
Using the real-time system design techniques discussed in this chapter, redesign the weather station data collection system covered in Chapter 14 as a stimulus-response system.
Explain why adopting an approach to design that is based on loosely coupled objects that hide information about their representation should lead to a design that may be readily modified.
Using examples, explain the difference between an object and an object class.
Under what circumstances might you develop a design where objects execute concurrently?
Using the UML graphical notation for object classes, design the following object classes identifying attributes and operations. Use your own experience to decide on the attributes and operations that should be associated with these objects:■ A telephone■ A printer for a personal computer■ A
Develop the design of the weather station in detail by proposing interface descriptions of the objects shown in Figure 14.11. These may be expressed in Java, in C++ or in the UML.
Develop the design of the weather station to show the interaction between the data collection sub-system and the instruments that collect weather data. Use sequence charts to show this interaction.
Identify possible objects in the following systems and develop an object-oriented design for them. You may make any reasonable assumptions about the systems when deriving the design.■ A group diary and time management system is intended to support the timetabling of meetings and appointments
Write precise interface definitions in Java or C++ for the objects you have defined in Exercise 14.7.
Draw a sequence diagram showing the interactions of objects in a group diary system when a group of people arrange a meeting.
Draw a statechart showing the possible state changes in one or more of the objects that you have defined in Exercise 14.7.
Using examples, explain why real-time systems usually have to be implemented using concurrent processes.
Explain why an object-oriented approach to software development may not be suitable for real-time systems.
Draw state machine models of the control software for the following systems:■ An automatic washing machine that has different programs for different types of clothes.■ The software for a compact disk player.■ A telephone answering machine that records incoming messages and displays the number
Discuss the advantages of graphical information display and suggest four applications where it would be more appropriate to use graphical rather than digital displays of numeric information.
Discuss the differences between verification and validation, and explain why validation is a particularly difficult process.
Consult the literature and find other design quality metrics that have been suggested apart from those discussed here. Consider these metrics in detail and assess whether they are likely to be of real value.
Are process improvement programmes, which involve measuring the work of people in the process and changing the process, inherently dehumanising? What resistance to a process improvement programme might arise?
Showing 1900 - 2000
of 3990
First
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Last
Step by Step Answers