



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The instructions and questions for a bachelor of science (honours) in software development and computer networking exam held in spring 2008. The exam covers topics such as software engineering, formal methods, and database systems. Students are required to answer four questions, each with multiple parts. The document also includes definitions and schemas related to the topics.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!




Instructions Answer FOUR questions.
Examiners: Mr. J. O’Brien Dr. J. Buckley Dr. A. Kinsella
Q1. (a) Expand, briefly, on each of the following pieces of advice offered, by
Bowen & Hinchley, 1995, to individuals and/or organisations planning to invest in a formal-methods based approach to software development: (i) Thou shalt estimate costs; (ii) Thou shalt document sufficiently; (iii) Thou shalt not compromise thy quality standards. [6 Marks]
(b) Consider the following declarations that form part of the description of a college:
[PERSON] the set of all possible uniquely identified persons [MODULE] the set of all module codes at the college
students, lecturers, EU, international : PERSON offered : MODULE studies : PERSON ↔ MODULE teaches : PERSON ↔ MODULE
Consider, also, the following predicates:
EU international = {} EU international = students dom studies ⊆ students dom teaches ⊆ lecturers ran studies ⊆ offered ran teaches = ran studies
(i) Give an expression for the set of modules studied by student s. (ii) What does the inverse of relation studies , i.e. studies~ do? (iii) What does the composition of relations studies and teaches~, i.e. studies ; teaches~ do? (iv) Give an expression for the number of persons who teach both student s1 and student s2. (v) Give an expression that states that l1 and l2 teach some of the same international students. [7 Marks]
(i) Write a Z schema, called AddModule , that adds a module to a programme of study. If the module is already in the study programme, the message “alreadyIncluded” is output. If the module is not offered the message “noSuchModule” is output. (ii) Write a Z schema, called RemoveModule , that deletes a module from a programme of study. If the module to be deleted is not in the student’s study programme, the message “notIncluded” is output. (iii) Write a Z schema called Viable , that determines If a student’s study programme is viable. To be viable, the student’s programme must have at least 18 offered modules, at least 7 offered that are advanced and acceptable to field1, at least 7 offered that are advanced and acceptable to field2, and at least 16 offered that are advanced and acceptable to the field combination. [12 marks]
Q2. (a) The cleanroom software engineering process is intended to be “quick and clean, not quick and dirty”. Discuss. [8 Marks]
(b) It is claimed that cleanroom development methods, for software systems, are based on mathematical function theory. Do you agree/disagree? Justify your view. [5 Marks]
(c) Elaborate on each of the following key principles, as documented by Mills, Linger, and Hevner, 1986 & 1987 , that guide the development and analysis of box structures: (i) Principle of referential transparency; (ii) Principle of transaction closure; (iii) Principle of state migration; (iv) Principle of common services. [12 Marks]
Q3. (a) In 1990, W. Tracz proposed a model for describing reusable components. The model was known as the 3C model. (i) Describe, briefly, each element of Tracz’s 1990 3C model. (ii) How did Tracz’s model contribute to resolving the following issues encountered by those attempting the large-scale reuse of software components: Searching, Understanding, and Adaptation.? [9 Marks]
(b) In the context of software development, once a set of candidate components has been identified, the developer(s) needs to evaluate each component for suitability in the current reuse-project. Identify, and describe briefly, the main types of information that would be useful for such an evaluation. [6 Marks]
(c) Consider the following quote: “Software reuse is a technical problem.” Do you agree/disagree? State your reasons. [6 Marks]
(d) Contrast labour-intensive software production with capital-intensive software production. [4 Marks]
Q4. (a) The majority of software engineering standards are voluntary, that is the software development organisation makes its own decision, without coercion, to adopt one/more of the standards. Such a decision is usually influenced by benefits expected to accrue from their application. Elaborate on the importance of software engineering standards to each of the following: (i) Improving the product; (ii) protecting the buyer; (iii) Protecting the business; (iv) Increasing professional discipline; (v) Introducing technology. [15 Marks]
(b) (i) What is/are the purpose(s) of IEEE/EIA Std. 12207, as determined by the Institute of Electrical and Electronic Engineers, IEEE, and Electronics Industry Association, EIA? (ii) The concepts underlying IEEE/EIA Std. 12207 may be classified into general concepts and task-related concepts. Explain, briefly, these concepts. [10 Marks]