Philadelphia University Lecturer: Dr. Moayad A. Fahdil Coordinator: Dr. Moayad A. Fahdil Internal Examiner: Dr. Samer Hana Faculty of Information Technology Software Engineering Department Examination Paper …………………………………………………………………………………………………………………... Software Architecture (721320) Final Exam 1st Semester - 2015/2016 Date: 3/2/2016 Section: 1 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 (14 marks) 1. What are the fundamental understandings of software architecture?(2 marks) - Architecture is a set of principal design decisions about a software system Three fundamental understandings of software architecture 1. Every application has an architecture 2. Every application has at least one architect 3. Architecture is not a phase of development 2- Fill in the blanks using a suitable answer (2 marks) (Publish subscribe, Layered, event-based, rule-based, interpreter, peer-to-peer) 1234- Operating systems architecture could be represented best using Layered . YouTube architecture could be represented using Publish subscribe or event-based style. rule-based style is suited for AI applications. Client-server architecture is a special kind of Layered. 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: Procedure call Data access Stream Distributor Software Architecture (721320) Final Exam First Semester 2015/2016 1 Peer-to-peer connectors: Arbitrator Data access Stream Distributor 5-What are the properties of DSSA? (2 marks) u 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. Multiple Client/Server b. What are the properties of the specified pattern? 7. for the following connectors’ diagrams: (1 marks) “Specify the type (EVENT) and service (FACILITATION) of them.” Software Architecture (721320) Final Exam First Semester 2015/2016 2 8. For the following diagram what is the architectural pattern. (1 marks): N-Tier Architecture 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 (8 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- What are the ccomponents of the architecture? 3- Specify the connectors and its types. 4- Draw Software Architecture Style. Question 3 (10 marks – 2.5 Marks for each) A- For the following software architecture model determine (Components, Connectors, and Topology) Software Architecture (721320) Final Exam First Semester 2015/2016 3 Components: Objects (software components exposing services through well-defined provided interfaces) Connector: (Remote) Method invocation Topology: General graph of objects from callers to callees. B- Consider the following diagram: 1- Specify the software architectural style. (Batch Sequential) 2- What are the properties of the specified style? a. Separate programs are executed in order; data is passed as an aggregate from one program to the next. b. Connectors: “The human hand” carrying tapes between the programs, a.k.a. “sneakernet ” c. Data Elements: Explicit, aggregate elements passed from one component to the next upon completion of the producing program’s execution. C- For the following diagram determine its software architecture style and its advantages(C2) D- Determine the software architecture for the following diagrams, Justify your answer. MVC Software Architecture (721320) Final Exam First Semester 2015/2016 4 : 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 generate alarm use case in Emergency Monitoring system: Use Object-Oriented Software Architecture Style specifies: a) Components (objects). b) Connectors (messages and method invocations). c) Draw Software Architecture Style through specifying: Software Architecture (721320) Final Exam First Semester 2015/2016 5 Software Architecture (721320) Final Exam First Semester 2015/2016 6