Philadelphia University Lecturer: Dr. Moayad A. Fahdil Coordinator: Dr. Moayad A. Fahdil Internal Examiner: Dr. Samer Hanna Faculty of Information Technology Software Engineering Department Marking Scheme …………………………………………………………………………………………………………………... Software Architecture (721320) Second Exam 1st Semester 2015-2016 Date: December 29, 2015 Section: 1 Time: 50 Minutes ………………………………………………………………………………………………………… Information for Candidates 1. This examination paper contains 3 questions totaling 20 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 (10 marks) a) A common approach to architectural recovery is clustering of the implementation-level entities into architectural elements; Syntactic clustering and Semantic clustering, define them. (2 marks) Syntactic clustering: Focuses exclusively on the static relationships among code-level entities Can be performed without executing the system Embodies inter-component (a.k.a. coupling) and intra-component (a.k.a. cohesion) connectivity May ignore or misinterpret many subtle relationships, because dynamic information is missing Semantic clustering: -Includes all aspects of a system’s domain knowledge and information about the behavioral similarity of its entities. -Requires interpreting the system entities’ meaning, and possibly executing the system on a representative set of inputs. -Difficult to automate -May also be difficult to avail oneself of it Software Architecture (721320) Second Exam First Semester 2015/2016 December 29, 2015 1 b) Describe an appropriate example of application for the following styles: (2 marks) 1- Peer-to-Peer. 2- C2. 3- CORBA. 4- Mobile Code. 1- Supports decentralized computing with flow of control and resources distributed among peers. 2- More complex styles created through composition of simpler styles 3- Distributed Objects 4- Mobile applications c) For the following 4-diagrams determine their software architecture style, justify your answer: (6 marks) Fig.-1: CORBA Fig.-2:BLACKBORAD Software Architecture (721320) Second Exam First Semester 2015/2016 December 29, 2015 2 Fig.-3:3-TIERS SYSTEM Fig.-4:LAYER SYSTEM Software Architecture (721320) Second Exam First Semester 2015/2016 December 29, 2015 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 (7 marks, 3.5 marks each) (a) You are a member of the user interface team. You are responsible for designing, and implementing forms that collect information about users of the system (e.g., first name, last name, address, E-mail address, level of expertise). The information you are collecting is stored in the database and used by the reporting subsystem. You are not sure which fields are required information and which are optional. How do you find out?. Which Architecture Style you will use for this system, and why? (b) Consider a file system with a graphical user interface, such as Windows Explorer. The following objects were identified from a use case describing how to copy a file from a floppy disk to a hard disk: File, Icon, Recycle-Bin, Folder, Disk, Pointer. Consider a scenario consisting of selecting a File on a floppy, dragging it to Folder and releasing the mouse. -Name all the components for the above case. -Suggest an architecture style for the case then draw the architecture. Software Architecture (721320) Second Exam First Semester 2015/2016 December 29, 2015 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 3 (3 marks) Consider the following Use case: (3 marks) Design and draw a suitable architecture style for the use case. Software Architecture (721320) Second Exam First Semester 2015/2016 December 29, 2015 5