CSC7003: Software Engineering Exam Question Sample DR J Paul Gibson
CSC7003: Software Engineering Exam Question Sample DR J Paul Gibson
Dr J Paul Gibson
Answer only 1 question – if you answer more than 1 question then only the first answer will be evaluated and awarded a
mark. (Note: in the actual exam you will have a choice between 4 and 6 questions)
You are allowed access to any secondary material (notes/books/web). Please correctly cite/reference any material that you
use in your answer that is not your own work. (Plagiarism of secondary material will be punished)
You have 3 hours for the exam (but the deadline is flexible, if you require some more time). You should not need more than 2
hours to answer a question. Please submit your answer electronically as a .pdf (or in a printed/signed hard-copy).
Question 1:
It has been said that “software reuse is the only realistic approach to bring about the gains of productivity and
quality that the software industry needs” [1, p528, Abstract]. Comment on this statement, making arguments for
and against its validity.
Question 2:
In an early study on software re-use, researchers report on “the tradeoffs between modifying an existing
module as opposed to creating a new one” [2, p42, Abstract]. Has the subsequent move to object oriented
development changed the validity of this study?
Question 3:
Imagine that you have been appointed as a member of the Turing Prize Committee that will decide on the winner
of next year’s Turing prize. It has been decided that the winner should have made a fundamental/foundational
contribution to Computer Science and Software Engineering Education. You are to nominate a winner (or
winners) and argue why this person (or persons) deserves to win the prize. (Note that no previous winner can be
nominated.)
Question 4:
Which one of the stages in the traditional software life cycle do you consider to be the most important, and why?
Question 5:
Which of the Turing prize winners, in your opinion, has had the most influence on the tools and techniques that
you use as a software engineer?
Question 6:
Choose any piece of software which you use regularly. Briefly describe the requirements that the software meets
(for you as the user). Suggest three ways in which the software could be improved (for you), and estimate the
amount of resources that would be required to make the improvements.
Question 7:
Write a review of your favourite book that has helped you to become a better software engineer.
References
[1] Mili, H.; Mili, F.; Mili, A.; , "Reusing software: issues and research directions," Software Engineering, IEEE
Transactions on , vol.21, no.6, pp.528-562, Jun 1995, DOI: 10.1109/32.391379,
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=391379&isnumber=8867
[2] Victor R. Basili and Barry T. Perricone. 1984. “Software errors and complexity: an empirical investigation”.
Commun. ACM 27, 1 (January 1984), 42-52. DOI=10.1145/69605.2085
URL : http://doi.acm.org/10.1145/69605.2085