



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
Questions from a software engineering exam for a bachelor of science in computer applications degree at cork institute of technology. The exam covers topics such as cleanroom software development, mathematical modelling of software systems, and z schema design. The questions require answering and explaining concepts related to these topics.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!




(NFQ – Level 8)
Instructions Answer FOUR questions. All questions carry equal marks.
Examiners: Mr. J. O’Brien Dr. D. Chambers Mr. E. A. Parslow Mr. P. O’Connor
Q1. (a) Cleanroom software development methods are based on mathematical function theory.
A well-defined function exhibits properties of completeness, consistency and correctness. Write a brief note on each of the above-identified properties. [3 Marks]
(b) Incremental development under statistical quality control is the cleanroom approach to establishing and maintaining management control of software projects. Write a detailed note on each of the following benefits of incremental development: (i) Visibility into progress. (ii) Intellectual control. (iii) Incremental system integration. (iv) Continual quality feedback through statistical process control. (v) Continual functional feedback through customer use. (vi) Accommodation of change. (vii) Schedule and resource management. [16 Marks]
(c) Write a detailed note on the issue of clear box design with intended functions. [6 Marks]
Q2. (a) Mathematics is an ideal tool for modelling software systems. Discuss, briefly. [4 Marks]
(b) The Swiss Air Rescue organisation, REGA, has a fleet of helicopters that operates within Switzerland. Part of a formal specification for a control system for the helicopters is given below: [AIRCRAFT] the set of all aircraft [POINT] the set of all coordinates
| | helis : AIRCRAFT | Switzerland : POINT | base : AIRCRAFT POINT |__________________________________________________ | dom base = helis | ran base ⊆ Switzerland |
The set helis is the set of helicopters operated by REGA. Switzerland is the set of points that are on Swiss territory. The function base gives the point that is the normal base for a given helicopter. Every REGA helicopter has a base; all REGA bases are in Switzerland. The state of REGA’s helicopters at any given time is given by the following: The functions position, minsLeft, and flightMins respectively, give a helicopter’s current position, its remaining flying time in minutes, and its flight time to a given point in minutes.
___REGA________________________________________ | | position : AIRCRAFT POINT | minsLeft : AIRCRAFT N | filghtMins : AIRCRAFT (POINT N) |____________________________________________________ | dom (position) = dom (filghtMins) = dom (minsLeft) = helis |____________________________________________________________
Use the variables from the schema REGA, above, in answering the following questions: (i) Explain the meaning of each line in the schema REGA. (ii) Write an expression that states that all REGA’s helicopters are currently within Switzerland.
(i) Write a Z schema, called (^) JoinCheckOutQueue, that handles a person joining the queue. Three situations can occur, as outlined below: ¾ The person’s name/id is input. The person is not already in the queue; neither is he/she working on the till. The name is placed at the end of the queue. The other state variables are left unchanged. The message ‘ ok ’ is returned.
¾ The person’s name/id is input. The person is already in the queue. The operation is rejected. The state remains unchanged. The message ‘ known ’ is returned.
¾ The person’s name/id is input. The person is the cashier. The operation is rejected. The state remains unchanged. The message ‘ cashier ’ is returned.
(ii) Write a Z schema, called ServeCheckOutQueue , that deals with what happens when a person presents him/herself to be served. Four situations can occur, as outlined below:
¾ The person’s name/id is input. The person is at the head of the queue. The till is open. The name is taken from the queue. The other state variables remain unchanged. The message ‘ ok’ is returned.
¾ The person’s name/id is input. The queue is empty. The operation is rejected. The state remains unchanged. The message ‘ empty ’ is returned.
¾ The person’s name is input. The queue is not empty and the person is not at the head of the queue. The operation is rejected. The state remains unchanged. The message ‘ cheat ’ is returned.
¾ The person’s name/id is input. The check-out is closed. The operation is rejected. The state remains unchanged. The message ‘ closed ’ is returned. [12 Marks]
Q3. (a) Write a detailed note on: (i) Design reuse. (ii) Architecture reuse. [10 Marks]
(b) A domain is a field of activity or influence. It is defined by consensus. Its importance is the shared understanding of some community. It is characterised by a collection of common notions that display a certain coherence, while the same notions do not exist or do not show that coherence outside the domain. Certain notions play an important role in the domain in question; these also play a role in the software for that domain. In order to attain reuse within a given domain, these domain-specific notions are important. Describe, briefly, the four stages that may be observed as a domain develops. [6 Marks]
(c) Evidence from industry studies indicates that substantial business benefits can be derived from aggressive software reuse. Product quality, development productivity and overall cost are all improved. Discuss. [9 Marks]
Q4. (a) Currently, more than 300 software engineering standards, developed and maintained by more than 50 different organisations, exist. These standards are inconsistent, overlapping and occasionally contradictory. Standards development organisations are aware of the difficulties and are making progress towards a solution with improved planning and coordination mechanisms. Two standards bodies, in particular, are leading the way, namely: (i) The Software Engineering Standards Committee, SESC, of the Computer Society of the Institute of Electrical and Electronic Engineers, IEEE. (ii) Subcommittee 7 of the Joint Technical Committee 1, created by the International Organisation for Standardisation, ISO, and the International Electrotechnical Commission, IEC, generally referred to as ISO/IEC JTC1/SC7. Write a detailed note on each of the above-named standards bodies. [17 Marks]
(b) (i) What is the purpose of IEEE std 1028-1997? (ii) Give a brief explanation of the underlying concepts of IEEE std. 1028-1997. [8 Marks]