F P h

advertisement
Faculty of Information Technology
Philadelphia University
Department of Software Engineering
Lecturer
: Dr. Moayad
Coordinator
: Dr. Moayad
Internal Examiner: Dr. Morad M.
Software Architecture (721320)
Date: 25th March 2012
Examination Paper
First Exam
Section: 1
2nd semester 2011-2012
Time: 50 Minutes
Information for Candidates
1.This examination paper contains 4 questions. Question 1 carries 7 marks. Question 2 carries 5
marks. Question 3 carries 5 marks. Question 4 carries 3 marks. The total is 20.
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)
1. What are the Benefits of Using Architectural Styles? (2 marks)

Design reuse
u Well-understood solutions applied to new problems
 Code reuse
u Shared implementations of invariant aspects of a style
 Understandability of system organization
u A phrase such as “client-server” conveys a lot of information
 Interoperability
u Supported by style standardization
 Style-specific analyses
u Enabled by the constrained design space
 Visualizations
u Style-specific depictions matching engineers’ mental models
2. Consider the following diagrams: (3 marks)
A- MVC
B- Sense-Compute-Control
a. The diagrams can be representing a Software Architectural Pattern, What are they?
b. What are the suitable words which can be written in the empty shapes?
3. What are the basic properties of software architectural styles? (2 marks)
 A vocabulary of design elements
u Component and connector types; data elements
u e.g., pipes, filters, objects, servers
 A set of configuration rules
u Topological constraints that determine allowed compositions of elements
u e.g., a component may be connected to at most two other components
 A semantic interpretation
u Compositions of design elements have well-defined meanings
 Possible analyses of systems built in a style
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 (5 marks)
Consider the Course Registration Problem Statement:
• At the beginning of each semester, students may request a course catalog containing a list of course offerings for the
semester. Information about each course, such as professor, department, and prerequisites will be included to help
students make informed decisions.
• The new system will allow students to select four course offerings for the coming semester. In addition, each student
will indicate two alternative choices in case a course offering becomes filled or canceled. No course offering will
have more than ten students or fewer than three students. A course offering with fewer than three students will be
canceled. Once the registration process is completed for a student, the registration system sends information to the
billing system so the student can be billed for the semester.
• Professors must be able to access the online system to indicate which courses they will be teaching, and to see which
students signed up for their course offerings.
• For each semester, there is a period of time that students can change their schedule. Students must be able to access
the system during this time to add or drop courses.
Draw prescriptive software architecture for the above problem statement using Three-Tiered
Pattern Software Architecture.
Question 3 (5 marks)
The following is a simple ticket distributor for a train system:
"The system includes two actors: a traveller who purchases different types of tickets and a central computer system
that maintains a reference database for the tariff. Use cases should include BuyOneWayTicket, BuyWeeklyCard,
BuyMonthlyCard, and UpdateTariff. Also include the following exceptional cases: TimeOut (i.e. traveller took too
long to insert the right amount), TrensactionAborted (i.e. traveller select the cancel button without completing the
transaction), DistributorOutOfChange, and DistributorOutOfPaper."
Use Main Program and Subroutines Architecture Style to specify the following:
a) Components.
b) Connectors.
c) Draw Software Architecture Style.
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)
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.
Download