SE_6

6
MAE ROSE BIBIT BSCS III 6.1. When describing a system, explain why you may have to design the system architecture before the requirements specification is complete. - The system architecture may have to be designed first before requirements specifications is complete to provide a means of organizing the specification and developing different subsystem specifications synchronously. Architectural design is the first stage in the design process and represents critical link between the design and requirements engineering process. 6.2. You have been asked to prepare and deliver a presentation to a non-technical manager to justify the hiring of a system architect for a new project. Write a list of bullet points setting out the key points in your presentation. Naturally, you have to explain what is meant by system architecture. - 6.3. Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements. - Fundamentally, to provide availability, you need to have (a) replicated components in the architecture so that in the event of one component failing, you can switch immediately to a backup component. You also need to have several copies of the data that is being processed. Security requires minimizing the number of copies of the data and, wherever possible, adopting an architecture where each component only knows as much as it needs to, to do its job. This reduces the chance of intruders accessing the data. Therefore, there is a fundamental architectural conflict between availability (replication, several copies) and security (specialization, minimal copies). The system architect has to find the best compromise between these fundamentally opposing requirements. 6.4. Draw diagrams showing a conceptual view and a process view of the architectures of the following systems: An automated ticket-issuing system used by passengers at a railway station.

description

Answers to Chapter 6 (Software Engineering)

Transcript of SE_6

Page 1: SE_6

MAE ROSE BIBITBSCS III

6.1. When describing a system, explain why you may have to design the system architecture before the requirements specification is complete.- The system architecture may have to be designed first before requirements specifications is complete to provide a means of organizing the specification and developing different subsystem specifications synchronously. Architectural design is the first stage in the design process and represents critical link between the design and requirements engineering process.

6.2. You have been asked to prepare and deliver a presentation to a non-technical manager to justify the hiring of a system architect for a new project. Write a list of bullet points setting out the key points in your presentation. Naturally, you have to explain what is meant by system architecture.-

6.3. Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements.- Fundamentally, to provide availability, you need to have (a) replicated components in the architecture so that in the event of one component failing, you can switch immediately to a backup component. You also need to have several copies of the data that is being processed. Security requires minimizing the number of copies of the data and, wherever possible, adopting an architecture where each component only knows as much as it needs to, to do its job. This reduces the chance of intruders accessing the data. Therefore, there is a fundamental architectural conflict between availability (replication, several copies) and security (specialization, minimal copies). The system architect has to find the best compromise between these fundamentally opposing requirements.

6.4. Draw diagrams showing a conceptual view and a process view of the architectures of 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 participants at the same time.A robot floor cleaner that is intended to clean relatively clear spaces such as corridors. The cleaner must be able to sense walls and other obstructions.

Automated Ticket-Issuing System

Payment

Processing

System

Ticket

Issuance

System

User

Interface

System

Page 2: SE_6

MAE ROSE BIBITBSCS III

Computer-Controlled Video Conferencing System

Robot Floor Cleaner

Computer

Control

System

Video

Server

System

Network System

Client SystemClient SystemClient System

Floor Cleaner

System

Vision System Object

Identification

SystemObstruction

Identification

System

Foot Control System

Joint Controller

Leg

Controller

Arm Control System

Gripper

Controller

Arm

Controller

Page 3: SE_6

MAE ROSE BIBITBSCS III

6.5. Explain why you normally use several architectural patterns when designing the architecture of a large system. Apart from the information about patterns that I have discussed in this chapter, what additional information might be useful when designing large systems?- When designing a system you would normally use several architectural patterns when designing the architecture of a large system because you may need different architectures for different components. For example, a large system may be a distributed system and the overall architecture may reflect that but one component may be best implemented using a client server pattern and another component structured as a repository. In designing a large system it is most useful to know how the components that make up the large system are going to communicate. Once you know how the components are going to communicate it is easier to design the components themselves and properly structure the entire system to maximize the benefits of each decision and minimize the drawbacks.

6.6. Suggest an architecture for a system (such as iTunes) that is used to sell and distribute music on the Internet. What architectural patterns are the basis for this architecture?- For sales and distribution system such as iTunes music via the Internet, it is recommended to use the service based systems architecture (Service-oriented architecture). The basic idea of this architecture is that the service must support the business processes, because an organization has a wide range of processes and services that can be run. Therefore, the identification of a service such as the sale and distribution of products must involve understanding and analysis of business processes to decide the services that can be used and reapplied to support this process, e.g. services for product discounts. In addition, this architecture allows the use of standard protocols that support interoperability across platforms. The basic pattern that can support this architecture is centralized control (centralized control). In the centralized control model, a component of which is designated as a controller and is responsible for managing the implementation of the other components. The process control system of the process of deciding when to be started or stopped, depending on the system state variables. It checks if another process has produced information to be processed or to convey information to them for processing. So that it fits the pattern of sales and product distribution systems.

6.7. Explain how you would use the reference model of CASE environments (available on the book’s web pages) to compare the IDEs offered by different vendors of a programming language such as Java.- You can make the comparison between the IDEs by taking the different components of the reference model in turn than assess how well the IDE being studied provides these services. You also have to look at how these services are used in particular toolsets. Generally, IDEs are tightly integrated systems and all parts of the reference model may not be applicable. In this case, comparisons would be drawn using:1. Data repository services. What kind of data management is supported?2. Data integration services. How well can data be interchanged with other tools and what support is provided for configuration management?3. User interface services. What facilities are supported to allow presentation integration? How well integrated at the user interface level are different parts of the systems?

Page 4: SE_6

MAE ROSE BIBITBSCS III

4. Task management services. This is really for general purpose environments so is probably inapplicable to Java IDEs.5. Message services. How do different components of the IDE communicate?

6.8. 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.

6.9. Using the basic model of an information system, as presented in Figure 6.16, suggest the components that might be part of an information system that allows users to view information about flights arriving and departing from a particular airport.

DatabaseFlight database; Flight status database; Airport information;

Information retrievalStatus management; Flight management; Search;

User interactionAuthentication; session management; forms processing ()

User interfaceInput checking (Javascript), browser

6.10. Should there be a separate profession of ‘software architect’ whose role is to work independently with a customer to design the software system architecture? A separate software company would then implement the system. What might be the difficulties of establishing such a profession?