Dr. Samer

advertisement
Philadelphia University
Lecturer
: Dr. Moayad
Coordinator
: Dr. Moayad
Internal Examiner: Dr. Samer
Software Architecture (721320)
Date: 22th November 2015
Faculty of Information Technology
Department of Software Engineering
Marking Scheme
First Exam
Section: 1
1st semester 2015-2016
Time: 60 Minutes
Information for Candidates
1.This examination paper contains 4 questions. The total is 20 marks.
2.The marks for parts of questions are shown in round brackets.
I. Basic Notions
Objectives: The aim of the question is to evaluate your knowledge and skills concerning with the basic concepts of Software
Architecture.
Question 1: (7 marks)
A) Circle the correct answer of the following: (4 marks, 0.5 mark for each)
1. What is pipes and filter style?
a) They emphasize on incremental transformation of data by successive components
b) It is used in UNIX family of the system
c) They return no state information
d) All of the mentioned
2) The architectural representations can enable communication among project stakeholders.
a) True
b) False
3) Data design actually begins during the creation of the analysis model, not the architectural model.
a) True
b) False
4) An architectural style encompasses which of the following elements?
a) Constraints
b) Set of components
c) Semantic models
d) Syntactic models
e) a, b and c
5) To determine the architectural style or combination of styles that best fits the proposed system,
requirements engineering is used to uncover
a) Algorithmic complexity
b) Characteristics and constraints
c) Control and data
d) Design pattern
6) Which of these steps are followed in architectural design process?
a) Analyze SRS
b) Evaluate Candidate Architectures
c) Select architecture and finalize architecture
d) All of the mentioned
7) Which of these are the content for SAD?
a) Product Overview
b) Architectural Models
c) Architectural design rationale
d) All of the mentioned
e) None of the mentioned
8) What does software architecture describe?
a) The system as a whole.
b) The system as a whole, its parts and how parts communicate to meet the system's goal.
c) The system's parts and how they are built.
d) The system's parts and how they behave at run-time.
B) What are the main features of Domain-Specific Software Architectures? (1.5 marks)
• A DSSA is an assemblage of software components
1. specialized for a particular type of task (domain),
2. generalized for effective use across that domain, and
3. composed in a standardized structure (topology) effective for building successful applications.
• Since DSSAs are specialized for a particular domain they are only of value if one exists for the domain
wherein the engineer is tasked with building a new application.
• DSSAs are the pre-eminent means for maximal reuse of knowledge and prior development and hence for
developing a new architectural design.
C) What are the basic Benefits of software architectural styles? (1.5 marks)
• Design reuse
o Well-understood solutions applied to new problems
• Code reuse
o Shared implementations of invariant aspects of a style
• Understandability of system organization
o A phrase such as "client-server" conveys a lot of information
• Interoperability
o Supported by style standardization
• Style-specific analyses
o Enabled by the constrained design space
• Visualizations
o Style-specific depictions matching engineers' mental models
II. Familiar Problems Solving
Objectives: The aim of the question is to evaluate your basic knowledge of the key aspects of the lectures material and your
ability to solve familiar problems.
Question 2 (6 marks – 1.5 Marks for each)
A- For the following model determine (components[Blue Box], connectors[Yellow Box], interfaces[Left Box], and
configuration[The Graph])
B- Consider the following diagram:
1- Specify the software architectural style.
2- What are the properties of the specified style?
Hierarchical system organization
“Multi-level client-server”
Each layer exposes an interface (API) to be used by above layers
Each layer acts as a
Server: service provider to layers “above”
Client: service consumer of layer(s) “below”
Connectors are protocols of layer interaction
C- For the following diagram determine its software architecture style and its advantages:
OO software architecture style
1.
Infinite malleability” of object internals
2.
ystem decomposition into sets of interacting agents
D- For the following diagram determine its software architecture style and its disadvantages:
Batch Sequential
Typical uses: Transaction processing in financial
Question 3 (4 marks)
Consider a system that includes a Web server and two data base servers. Both data base servers are identical; the first acts as a main
server, and the second acts as a redundant back-up in case the first one fails.
Users use Web browsers to access data through the Web server. They also have the option of using a proprietary client that accesses
the data bases directly.
Draw a client/server descriptive software architecture diagram representing the hardware/software
mapping of this system.
III. Unfamiliar Problems Solving
Objectives: The aim of the question is to evaluate your knowledge of the key aspects of the lectures material and your ability
to solve unfamiliar problems.
Question 4 (3 marks)
“Assume you are developing an online system for managing bank accounts for mobile customers. A major design issue is how to
provide access to the accounts when the customer cannot establish online connections. One proposal is that accounts are made
available on the mobile computer, even if the server is not up. In this case, the accounts show the amounts from the last connected
session.”
a) What software architecture design you will use? Justify your answer. [client/server descriptive software
architecture]
b) Draw a descriptive software architecture diagram (according to “a”) representing the hardware/software mapping of
this application.
Download