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
Marking Scheme
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)
a) Content Analysis.
b) Interaction Analysis.
c) Functional Analysis.
d) Configuration Analysis.
2- What are the Web Applications Design Goals? (1 Mark)
a. Consistency
b. Identity
c. Robustness
d. Navigability
e. Visual appeal
Compatibility
3- For the following diagram: (2 Marks)
a. What it is representing? Web Application Page
b. Fill all empty block.
Menu bar
major functions
List of user object ives
graphic, logo, and company name
object ive #1
object ive #2
object ive #3
object ive #4
object ive #5
graphic
object ive #n
Home page text copy
Navigation
menu
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+8=14
Design is complex
Decompose M3 and M5 to Sub-Module
6- What are the Use Case Analysis Steps? (2 Marks)
1- Supplement the Descriptions of the Use Case
2- Find Classes from Use-Case Behavior
3- Distribute Use-Case Behavior to Classes
4- Describe Responsibilities
5- Describe attributes and association
6- Unify Analysis Classes
7- For each role of the following diagram describe the type, relationship and the multiplicity of its analysis classes: (2 Marks)
A Student can have 1 Schedule, or no Schedule.
A Schedule is only associated with 1 Student.
A Schedule can contain up to 4 primary courses and 2 alternate courses.
A CourseOffering can appear on any number of Schedules, as either a primary course or as
an alternate course.
A CourseOffering does not have to appear on any Schedule.
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)
Use case, Use case specification, Boundary classes, Entity classes, and Control logic class
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?
Design Goals At Work:  Correctness and Reusability 
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.
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.
.(Not design patterns)
2- The ability to varying the order in which a print() method is applied to the elements of a vector.
.(Not design patterns)
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().
(Design patterns)
4- Capturing the mutual behavior of a pair of objects of two classes by introducing a third class aggregating the two classes.
(Design patterns)
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.
Download