P h i

advertisement
Faculty of Information Technology
Philadelphia University
Department of Software Engineering
Lecturer
: Dr. Moayad A.
Coordinator
: Dr. Moayad A.
Internal Examiner: Dr. Mourad
Software Design (721322)
Date: 19th January 2012
Examination Paper
1st semester 2011-2012
Time: 120 Minutes
Final Exam
Section: 1
Information for Candidates
1.This examination paper contains 6 questions. Question 1 carries 5 marks. Question 2 carries 15 marks. Question 3
carries 4. Question 4 carries 4. Question 5 carries 4. Question 6 carries 8. The total is 40.
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
Design.
Question 1: (5 marks; 0.5 mark each)
Circle the correct answer of the following: (10 marks)
1- The input to the design process is the:
a. specification document
b. feasibility study
c. test case document
d. software project management plan
e. all of these
2- The process specifications of the DFD may be:
a. Structured English
b. Pre/Post Conditions
c. Decision Tables
d. all the above.
3- Activity diagrams:
a. describe the static structure of the system.
b. describe the functional behavior of the system.
c. flowchart.
d. describe the dynamic behavior of an individual object.
4- General design, logical design and high-level design are also known as:
a. functional design
b. structural design
c. analysis
d. detailed design
e. architectural design
5- Class diagram consists of the following modeling element:
a. classes and their structure and behavior.
b. relationships among classes.
c. multiplicity and navigation indicators.
d. All of the above.
6- The design phase consists of three activities:
a. feasibility study, requirements definition and functional design.
b. planning, analysis and design.
c. analysis, design and testing.
d. architectural design, detailed design and design testing.
e. architectural design, structural design and detailed design
7- In sequence diagrams what do vertical lines represent?
a. Actors and Objects
b. Messages and Transactions
c. Scenarios and Collaborations
d. Classes and Interactions
e. States and Operations
8- Boundary, Entity and Control are:
a. Use-Cases.
b. analysis classes.
c. attributes.
d. All of the above.
9- Avoid unnecessary data download is:
a. Behavioral design patterns.
b. Proxy design patterns.
c. Observer design patterns.
d. Creational design patterns.
10- Which type of UML diagram that depicts interactions best emphasizes the relationship between objects?
a. class diagram
b. sequence diagram
c. collaboration diagram
d. client-object relations
e. state diagram
1-4
Question 2 (15 marks)
Answer all of the following:
1- What is the Analysis Modeling for Web Applications? (1 Mark)
2- What are the Web Applications Design Goals? (1 Mark)
3- For the following diagram: (2 Marks)
a. What it is representing?
b. Fill all empty block.
4- Software Architecture plays important roles in software development. What are these roles? (2 Marks)
5- For the following system decomposition: (2 Marks)
a. Calculate the coupling factor.
b. Is the design complex? If so, suggest a suitable solution.
6- What are the Use Case Analysis Steps? (2 Marks)
7- For each role of the following diagram describe the type, relationship and the multiplicity of its analysis classes: (2 Marks)
2-4
8- The following design pattern is: (1 Mark)
a.
b.
c.
d.
Facade design patterns.
Factory design patterns.
Mediator design patterns.
Observer design patterns.
9- What is the meaning of the following diagram ?; describe all its parts (2 marks)
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-3 (4 marks (1 mark each)
Consider the following:
1. What are the Design Goals at Work for the Factory Design Pattern?
2. Draw the UML Class Diagram for Singleton Design Pattern.
3. Draw the UML Sequence Diagram for Mediator Design Pattern.
4. Draw the UML class diagram for Observer Design Pattern.
3-4
Question-4 (4 marks)
We want to execute cut, paste, and undo operations for a simple commend-line word processor. The word processor can deal only
with a single string of text. Here is the main use case.
The application repeatedly prompts the user to enter “paste”, “cut”, “undo” or “quit” until the user select “quit”.
On each selection:
1. The user enters one commends: “paste”, “cut”, “undo” or “quit.”
2. Depending on the user’s choice, the application dose one of the following:
2.1. If the commend is “quit.”, the application terminates.
2.2. If the commend is “undo”, the last command is reversed (precondition: There was a prior command).
2.3. If the commend is “paste”, the paste use case applies.
2.4. If the commend is “cut”, the cut use case applies.
3. The application displays the result of this operation in single line of text.
Design an appropriate Design Pattern to execute the above use case by using UML Class Diagram and UML Sequence
Diagram.
Question-5 (4 marks (1 mark each)
Which of the following is a design patterns? Explain your conclusion.
1- An object oriented design.
2- The ability to varying the order in which a print() method is applied to the elements of a vector.
3- Varying the order in which a print() method is applied to the elements of a vector by introducing a class whose methods
include a method like goToElement().
4- Capturing the mutual behavior of a pair of objects of two classes by introducing a third class aggregating the two classes.
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-6 (8 marks)
1- Consider a file system with a graphical user interface, such as Microsoft's 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,
and Pointer. Specify which are entity objects, boundary objects, and control objects.
2- Assuming the same file system as in (1), consider a scenario consisting of selecting a File on a floppy, dragging it to Folder
and releasing the mouse. Identify and define at least one control object associated with scenario.
3- Arrange the objects listed in (1, and 2) horizontally on a sequence diagram, the boundary objects to the left, then the control
object you identified, and finally, the entity objects. Draw the sequence of the interactions resulting from dropping the file
into a folder.
4- Examining the sequence diagram you produced in (3), draw a class diagram representing the relationship between these
objects.
5- Identify the attributes of each object that are relevant to this scenario (COPYING A FILE FROM A FLOPPY DISK TO A
HARD DISK). Also consider the exception cases "There is already a file with that name in the folder", and "There is no
more space on the disk.
4-4
Download