Question of Software Engineering
Question of Software Engineering
17.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.
17.4. What are the different logical layers in an application with a distributed client–
server architecture?
17.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 system and,
giving the reasons for your answer, propose how functionality should be distributed
between the client and the server systems.
17.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 stocks in question. Suggest a client–
server architecture for this system that shows where functionality is located. Justify
the client–server system model that you have chosen.
17.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.
Chapter 18 Service-Oriented SWE
18.3. Extend Figure 18.5 to include WSDL 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 consisting of an error code.
18.5. What is a workflow? List out the key stages in the process of system
construction by composition.
18.6. Design possible input and output messages for the services shown in Figure
18.13. You may specify these in the UML or in XML.
18.7. Giving reasons for your answer, suggest two important types of application
where you would not recommend the use of service-oriented architecture.
18.8. Explain what is meant by a “compensation action” and, using an example, show
why these actions may have to be included in workflows.
18.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 a hire car. You may assume
that the taxi and rental car companies offer web services to make a reservation.
18.10. Using an example, explain in detail why the thorough testing of services that
include compensation actions is difficult.
Chapter 19 System Engineering
19.1. Give two examples of government functions that are supported by complex
sociotechnical systems and explain why, in the foreseeable future, these functions
cannot be completely automated.
19.6. Explain why you need to be flexible and adapt system requirements when
procuring large off-the-shelf software systems, such as ERP systems. Search the web
for discussions of the failures of such systems and explain, from a sociotechnical
perspective, why these failures occurred. A possible starting point is:
http://blog.360cloudsolutions.com/blog/bid/94028/ Top-Six-ERP-Implementation-
Failures
19.7. Why is system integration a particularly critical part of the systems
development process? Suggest three sociotechnical issues that may cause difficulties
in the system integration process.
19.9. What are the arguments for and against considering system engineering as a
profession in its own right, like electrical engineering or software engineering?
19.10. You are an engineer involved in the development of a financial system. During
installation, you discover that this system will make a significant number of people
redundant. The people in the environment deny you access to essential information to
complete the system installation. To what extent should you, as a systems engineer,
become involved in this situation? Is it your professional responsibility to complete the
installation as contracted? Should you simply abandon the work until the procuring
organization has sorted out the problem?
Chapter 20 Systems Of Systems
20.1. Explain why managerial and operational independence are the key
distinguishing characteristics of systems of systems when compared to other large,
complex systems.
20.4. Explain what is meant by reductionism and why it is effective as a basis for
many kinds of engineering.
20.5. Define systems of systems engineering. List the problems of software SoS
engineering that are also common to problems of integrating large-scale application
systems.
20.6. How beneficial is a unified user interface in the interface design of SoS? What
are the factors on which the cost-effectiveness of a unified user interface is
dependent?
20.7. Sillitto suggests that communications between nodes in a SoS are not just
technical but should also include informal sociotechnical communications between
the people involved in the system. Using the iLearn SoS as an example, suggest
where these informal communica tions may be important to improve the effectiveness
of the system.
20.8. Suggest the closest-fit architectural pattern for the systems of systems
introduced in Exercise 20.3.
20.9. The trading system pattern assumes that there is no central authority involved.
However, in areas such as equity trading, trading systems must follow regulatory
rules. Suggest how this pattern might be modified to allow a regulator to check that
these rules have been followed. This should not involve all trades going through a
central node.
20.10. You work for a software company that has developed a system that provides
information about consumers and that is used within a SoS by a number of other retail
businesses. They pay you for the services used. Discuss the ethics of changing the
system interfaces without notice to coerce users into paying higher charges. Consider
this question from the point of view of the company’s employees, customers, and
shareholders.
Chapter 21 Real-time SWE
21.1. Explain why responsiveness in real time is the critical difference between
embedded systems and other software systems.
21.2. Identify possible stimuli and the expected responses for an embedded system
that controls a home refrigerator or a domestic washing machine.
21.4. What are the commonly used architectural patterns in real-time systems and
when are they used?
21.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, the windows should be
automatically opened.
21.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 21.20. Identify the stimuli that must be processed by the onboard
train control system and the associated responses to these stimuli.
21.10. With the help of examples, define what a real-time operating system is.
Explain how it is different from a conventional operating system. What are the
components included in real-time operating systems and what are their
responsibilities?