CMPS 282 Final, Fall 2004
American University of Beirut · Software Engineering · 8 pages
More CMPS 282 files
Show the text of this final exam
poaenen
We UCAN DNIVERSIT
Jannary 25, 2008 | IBRARY CMPS 282 Final Exam
OF BEIRUT
‘CMPS 282 Final Exam
Student Name: Student ID:
Signature: Section:
There are Nine pages, including this one. The test is out of 100 marks, and the value of each
question is provided. Please use this information to manage your time effectively.
Question 1:
Question 2:
Question 3:
Question 4:
Question 5:
Question 6:
Total:
Marcel R karam
January 25, 2005 CMPS 282 Final Exam
Question I: True or False [10 marks]
Answer by placing either a T or F for True and False, respectively. Incorrect answers incur a pen-
alty at a floor (2:1) ratio.
A) Cyclomatic complexity is proportionally related to testing criteria. __
B) A good user interface enhances the transparency of a system's functionalities. __
C) Requirements gathering can be incremental in a spiral model. __
D) The waterfall model can be applied to systems where requirements are not weil known. __
E) One of the steps used to complete the component-level design for a software development
project is to identify all design classes that correspond to the problem domain. __
F) Use-cases provide worthwhile input for interface analysis. __
G) Validation testing provides assurance that the software validation criteria (established during
requirements analysis) meets all functional, behavioral, and performance requirements. __
H) Reducing user memory load is a good GUI design practice. __
1) Architecture highlights early design decisions that will have a profound impact on the ultimate
success of the system as an operational entity. __
J) A good design must implement all explicit requirements from the analysis model and accom-
modate all implicit requirements desired by the user. __
Marcel R. karam 2/9
January 25, 2005 CMPS 282 Final Exam
Question 2 Software Systems [10 marks]
A) Explain the difference between functional and non-functional requirements.
B) in your opinion, what do you think is/are the most important step/s of software engineering?
Why? Give an example/s based on your experience with your term project.
Marcel R. karam 3/9
January 25, 2005 CMPS 282 Final Exam
Question 3 Analysis and Design [20 marks]
A) What are at least three differences between the analysis model and the design model of a
software product? [4 marks]
B) What is a design pattern? [2 marks]
C) Describe the differences, using a good example between the software engineering terms
coupling and cohesion? [4 marks]
D) You are to design a class that handles login and security for an application. The basic functions
of the class are described in the following three steps:
|. The user must first enter a valid login name. The system checks to see that the name is
valid before asking for a password. If it is not valid, the user can either exit (cancel) or re-enter
the name.
2. The user then must enter the password associated with the name. The system validates
that the password is the appropriate one for the login name. If the password is invalid, the user
can either cancel and exit, re-enter the password, or go back to step (1) and re-enter the login
name.
3. The user selects a function. The system validates that the function is one that the user is
allowed to do. If not, the user can either exit, re-enter the function, or go back to step (I) and
start the process over again.
Marcel R. karam 4/9
January 25, 2005 CMPS 282 Final Exam
Create a state diagram that describes the above actions. You should name each state (except the
start and final state) and the events that trigger the transitions from state to state. [10 marks]
Marcel R. karam 5/9
January 25, 2005 CMPS 282 Final Exam
Question 4 User Interface Design [15 marks]
A) List three principles that should be applied when building any user interface [3 marks]
B) What framework activities are completed when following an evolutionary (or spiral) user
interface development process? [3 marks]
C) List four interface design issues present in the development of most user interfaces. Example
“Error information handling” [4 marks].
D) In your opinion, what are the implications of unpredictable response time in a Web GUI? [5
marks].
Marcel R. karam 6/9
January 25, 2005 CMPS 282 Final Exam
E) Why is regression testing an important part of any integration testing process? [5.marks]
G) Describe object-oriented unit testing. [5 marks]
H) Describe object-oriented interclass testing, and give a C++ example to illustrate how du
testing can differ from that of intraproceduaral du testing. [10 marks]
Marcel R. karam
January 25, 2005 CMPS 282 Final Exam
1) Why is a highly coupled module difficult to test? [5 marks]
Question 6 Component level design [10 marks]
A) Give a brief description of a Component. [5 marks]
B) What does Object-Oriented Component Design focus on? [5 marks]
Marcel R. karam