Você está na página 1de 7

Software Engineering Fundamentals: Chapter Seven 1

Chapter Seven Exercise

Shani Samuels

Software Engineering Fundamentals

February 21, 2017

William Sims

South University
Software Engineering Fundamentals: Chapter Seven 2

6.1. When describing a system, explain why you may have to start the design of

the system architecture before the requirements specification is complete.


When describing a system, it is best to start the design of the system architecture before

the requirements specification is complete. The architecture design illustrates how the

entire system will be structured and how it should be organized. The requirements

specification, however, is very complex and hard to devise. The architecture therefore

provides the structure.

6.2. You have been asked to prepare and deliver a presentation to a nontechnical

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 in which you explain the

importance of software architecture.


Software architecture provides the framework on which the system is structured and

requires careful consideration when it comes on to its design. Because the software

architecture is of such great importance, the company must hire someone who has

experience and is competent. Key points highlighting the importance of software

architecture are as follows:


The non-functional requirements of the system are dependent upon its system

architecture.
Performance, security and maintainability are some non-functional requirements

that the systems architecture is dependent.


The systems architecture highlights how the system should be organized.
Software architecture affects the systems performance, maintainability, durability

and distributability; this highlights its importance.

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.
Software Engineering Fundamentals: Chapter Seven 3

Security and availability are important requirements. Security requires the use of a

layered architecture where the most important properties of the system are protected

within the innermost layers as a high level of security validation is applied. As for

availability, the design of the architecture should include redundant components so that

components can be updated or replaced without interfering with the system. Conflicts

may arise when designing an architecture for both because the use of redundant

components while maintaining security presents a challenge. The use of distinct

architectural patterns for the different parts of the system is a way that this can be

remedied.

6.4. Draw diagrams showing a conceptual view and a process view of the

architectures of the following systems:


A ticket machine used by passengers at a railway station.

Pricing Calculation of Route planning


Statistics

Central Data Repository

Ticket Machine
A computer-controlled video conferencing system that allows video, audio, and

computer data to be visible to several participants at the same time.

Computer Audio mike Video camera


Terminal

Network
Software Engineering Fundamentals: Chapter Seven 4

A robot floor-cleaner that is intended to clean relatively clear spaces such as


Display client Display client Display client
corridors. The cleaner must be able to sense walls and other obstructions.

Sensors Vision System Route planning

Blackboard

Cleaning parts Drive motors


6.5. Explain why you normally use several Architectural patterns when designing

the architecture of a large system.


Architectural patterns are used to present, share and reuse knowledge about software

systems. Several architectural patterns are normally used when designing the architecture

of a large system because this large system has many different components; which are its

sub-systems. Because these sub-systems have different functions, they require a different

architectural pattern. A single architectural pattern would not be able to represent the

complete system.

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 your

proposed architecture?

An architecture suitable for a system, such as iTunes, that is used to sell and distribute

music on the internet is the client-server architecture. Client-server architecture employs


Software Engineering Fundamentals: Chapter Seven 5

the use of a set of services where each service is delivered by a separate serve. This is

used when data needs to be accessed from different locations.

6.7. An information system is to be developed to maintain information about

assets owned by a utility company such as buildings, vehicles, and equipment. It is

intended that this will be updatable by staff working in the field using mobile

devices as new asset information becomes available. The company has several

existing asset databases that should be integrated through this system. Design a

layered architecture for this asset management system based on the generic

information system architecture shown in Figure 6.18.

User Interface layer


Web browser accessing

the server
Business Interface layer Business Securit Custom
Service
BusinessLogic
y layer logic
Data access layer
Database layer Stored procedures
Tables Views
SQL SERVER
Software Engineering Fundamentals: Chapter Seven 6

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.

Dictionary Abstract Syntax Tree

Lexical Part of Speech Command Parameter SQL code


Analysis tagger Parser Analysis generator

6.9. Using the basic model of an information system as presented in Figure 6.18,

suggest the possible components of an app for a mobile device that displays

information about flights arriving and departing from a particular airport.


Possible components of an app for a mobile device that displays information about flights

arriving and departing from a particular airport are:

Level 1 (Database level)

Flight database; Flight status database; Airport information;

Level 2: (Information retrieval level)

Flight management; Status management; Search;

Level 3: (User interaction level)

Authentication; session management; forms processing ()

Level 4 (User interface)

Input checking (Javascript), browser


Software Engineering Fundamentals: Chapter Seven 7

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?


The system architecture cannot be based solely on the customers input therefore to have

a software architecture who should work independently with the customer is impractical.

The difficulties of establishing this are that the company may not be able to fully

comprehend the architecture, the architecture may be incompatible with the system and

the architecture would not be able to meet all the functional requirements.

Você também pode gostar