Philadelphia University Faculty of Information Technology
Lecturer: Dr. Moayad A. Fahdil Software Engineering Department
Coordinator: Dr. Moayad A. Fahdil Marking Scheme
Internal Examiner: Dr. Mourad M.
…………………………………………………………………………………………………………………...
Software Architecture (721320) Final Exam 1 st Semester - 20110/2012
Date: 24/1/2012 Section: 2 Time: 120 Minutes
…………………………………………………………………………………………………………
Information for Candidates
1.
This examination paper contains 4 questions totaling 40 marks.
2.
The marks for parts of questions are shown in square brackets:
Advice to Candidates
1.
You should attempt ALL questions and write your answers clearly.
2.
You are not allowed to split answers of one question and mix up sections of different questions.
……………………………………………………………………………………………..…………
I. Basic Notions
Objectives: The aim of the questions in this part is to evaluate your required minimal knowledge and understanding skills in the basics of Software Architecture .
Question 1 (15 marks)
1.
What are the fundamental understandings of software architecture?
(2 marks)
a. Every application has architecture
b. Every application has at least one architect
c. Architecture is not a phase of development
2.
What are the benefits of first-class connectors? (2 marks)
Separate computation from interaction
Minimize component interdependencies
Support software evolution
At component-, connector-, & system-level
Potential for supporting dynamism
Facilitate heterogeneity
Become points of distribution
Aid system analysis & testing
3.
What are the Non-Functional Properties which related to architectural choices?
(2 marks)
NFPs are the result of architectural choices
NFP questions are raised as the result of architectural choices
Specification of NFP might require an architectural framework to even enable their statement
An architectural framework will be required for assessment of whether the properties are achievable
4.
What are the types of connectors for Composite Connectors (Grid connectors and Peer-to-peer connectors)?
(2 marks)
Grid connectors (e.g., Globus)
Procedure call
Data access
Stream
Distributor
Peer-to-peer connectors (e.g., Bittorrent)
Arbitrator
Data access
Stream
Distributor
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 1
5.
What are the properties of DSSA? (2 marks)
Capturing and characterizing the best solutions and best practices from past projects within a domain
Production of new applications can focus on the points of novel variation
Reuse applicable parts of the architecture and implementation
Applicable for product lines
Recall the Philips Koala example discussed in the previous lecture
6.
Consider the following diagram: (2 marks) a.
Specify the software architectural pattern. b.
What are the properties of the specified pattern?
State-Logic-Display: Three-Tiered Pattern
Front Tier
Contains the user interface functionality to access the system’s services
Middle Tier
Contains the application’s major functionality
Back Tier
Contains the application’s data access and storage functionality
7. For the following connectors’ diagrams: (2 marks)
“Specify the type and service of them.”
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 2
8.For the following diagram what is the architectural pattern.
(1 mark)
Sense-Compute-Control
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 3
II. Familiar Problems Solving
Objectives: This part aims to evaluate that you have some basic knowledge of the key aspects of the lecture material and can attempt to solve familiar problems.
Question 2 (9 marks)
Consider the Course Registration Problem Statement:
The registration process works as follows: Students send an application form containing their personal details and their desired course The University checks that the course is available and that the student has necessary academic qualifications. If the course is available the student is enrolled in the course, and the university confirms the enrolment by sending a confirmation letter to the student. If the course is unavailable the student receives a rejection letter.
1- Choose the suitable software architecture style , justify your choice. (2 marks)
2- What are the ccomponents of the architecture? (2 marks)
3- Specify the connectors and its types.
(2 Marks)
4- Draw Software Architecture Style. (3 marks)
Question 3 (8 marks – 2 Marks for each)
AFor the following software architecture model determine (Components, Connectors, and Topology)
Components: Objects (software components exposing services through welldefined provided interfaces)
Connector: (Remote) Method invocation
Data Elements: Arguments to methods, return values, and exceptions
Topology: General graph of objects from callers to callees.
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 4
B - Consider the following diagram:
1Specify the software architectural style.
2What are the properties of the specified style?
Batch-Sequential: A Financial Application
Batch Sequential
Separate programs are executed in order; data is passed as an aggregate from one program to the next.
Connectors: “The human hand” carrying tapes between the programs, a.k.a. “sneaker-net
”
Data Elements: Explicit, aggregate elements passed from one component to the next upon completion of the producing program’s execution.
Typical uses: Transaction processing in financial systems. “The Granddaddy of Styles”
C- For the following diagram determine its software architecture style and its advantages:
KLAX in C2
An indirect invocation style in which independent components communicate exclusively through message routing connectors. Strict rules on connections between components and connectors induce layering.
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 5
D- For the following diagram determine its software architecture style and its disadvantages:
Mobile Code LL a data element (some representation of a program) is dynamically transformed into a data processing component.
Unfamiliar Problems Solving
Objective: This part aims to evaluate that you have some basic knowledge of the key aspects of the lecture material and can attempt to solve unfamiliar problems.
Question 4 (8 marks)
The following concerns a simplified system of an airplane flight simulator for a video game system:
“The video game system has already been implemented and consists of a computer with joystick and pushbutton inputs and an output interface for a colour television. Your job is to develop the software for the computer to display the view from the cockpit of an airplane. The joystick and pushbutton control the airplane. The display should be based on a terrain description stored in memory.”
Use Object-Oriented Software Architecture Style specifies: a) Components (objects). (2 marks) b) Connectors (messages and method invocations). (2 marks) c) Draw Software Architecture Style. (4 marks)
Software Architecture (721320) Final Exam 1 st Semester 2011/2012 24/1/2012 6