Sie sind auf Seite 1von 12

UNIVERSITY OF COLOMBO SCHOOL OF COMPUTING

(Successor to the Institute of Computer Technology (ICT))


UNIVERSITY OF COLOMBO, SRI LANKA

DEGREE OF BACHELOR OF INFORMATION TECHNOLOGY (EXTERNAL)


Academic Year 2002/03 - 1st Year Examination – Semester 2

IT2401 – Fundamentals of Software Engineering


27th July, 2003
(TWO HOURS)

Important Instructions :
 The duration of the paper is 2 (two) hours.
 The medium of instruction and questions is English.
 The paper has 50 questions and 11 pages.
 All questions are of the MCQ (Multiple Choice Questions) type.
 All questions should be answered.
 Each question will have 5 (five) choices with one or more correct answers.
 All questions will carry equal marks.
 There will be a penalty for incorrect responses to discourage guessing.
 The mark given for a question will vary from –1 (All the incorrect choices are
marked & no correct choices are marked) to +1 (All the correct choices are
marked & no incorrect choices are marked).
 Answers should be marked on the special answer sheet provided.
 Note that questions appear on both sides of the paper.
If a page is not printed, please inform the supervisor immediately.
 Mark the correct choices on the question paper first and then transfer them
to the given answer sheet which will be machine marked. Please
completely read and follow the instructions given on the other side
of the answer sheet before you shade your correct choices.

1
1) Identify, from among the following, the factor(s) which contribute to the software crisis.

(a) Non- availability of suitable hardware


(b) Software is costly
(c) Software cannot be reused.
(d) Time schedules and cost estimates of software projects are grossly inaccurate.
(e) Difficulty of maintenance of software

2) Identify, from among the following, the correct statement(s).

(a) Validation & verification are two processes which should be carried out only in the testing
stage.
(b) Software is the mechanism which exploits the new hardware advances to provide effective
computer based solutions.
(c) Enormous economic damage and potential human suffering can occur when software fails.
(d) Advances in hardware technology take place at a more rapid pace than the software
technology.
(e) Computer based intelligent systems are superior to human intelligent systems

3) Which of the following software quality attribute(s) belong(s) to potential usefulness?

(a) Reliability (b) Portability (c) Efficiency


(d) Reusability (e) Usability

4) Identify the contents of a project plan from the following list.

(a) Project schedules (b) Risk Analysis (c) Class diagrams


(d) Activity networks (e) Testing procedures

5) The following tasks labelled (i) – (v) are associated with Software engineering:
(i) Identify what information is to be processed.
(ii) Identify the software components of the system and their interfaces.
(iii) Identify the necessary user interfaces.
(iv) Make sure that the software components work accurately and their integrations are correct.
(v) Identify the major data structures which are common to many software components.

The above tasks can be associated with the following three generic phases:

(A) Requirement analysis (B) Design (C) Testing

Which of the following represent(s) the correct association(s)?

(a) (A) – (i), (ii), (v) (B) – (iii) (C) – (iv)


(b) (A) – (i), (iii) (B) – (ii), (v) (C) – (iv)
(c) (A) – (i), (ii) (B) – (iii), (iv) (C) – (v)
(d) (A) – (i), (ii) (B) – (ii) (C) – (iv), (v)
(e) (A) – (i), (v) (B) – (iii), (iv) (C) – (v)

6) Identify the specific characteristics of software development projects when compared with other
manufacturing projects.

(a) In large and complex systems, it is impossible for end-users to anticipate how they will
use the new Software before the system is put into use.
(b) Software development projects mainly involve team work.
(c) Quality assurance is very important in software projects.
(d) Software requirements change regularly.
(e) Software is primarily intangible; much of the process of creating software is also
intangible, involving experience, thought and imagination.

2
7) Identify, from among the following, the correct statements associated with Fourth Generation
Languages (4GLs).

(a) Some 4GL tools can be used to generate code.


(b) Use of 4GLs reduces the total life-cycle costs.
(c) Applications are difficult to develop with 4GLs.
(d) Visual Basic, C++ are examples of 4GL tools.
(e) 4GLs have better support for user interaction and are more commonly used in developing
business data processing applications.

8) Which of the following software metrics can be used to measure the reliability of a software
system?

(a) Mean time between failures (b) Number of source code instructions
(c) Probability of system availability (d) Mean time to recover after a failure
(e) Cyclomatic complexity

9) Consider the following diagram:

Build prototype
A B
system

No
Yes System
adequate
C
?

It shows the stages of Evolutionary Prototyping. What are the activities represented by A, B and C
respectively?

(a) Feasibility study, Specify requirements, Deliver system.


(b) Requirement analysis, Design, Maintenance.
(c) Requirement specification, Evaluate prototype, Testing.
(d) Develop abstract specification, Evaluate Prototype system, Deliver system.
(e) Requirement analysis, Evaluate prototype, Implementation of the system.

10) With regard to Requirement Definition, which of the following is/are true?

(a) Written in a natural language


(b) This document can be used as a communication tool between the customer and the
developer.
(c) Process specifications are given in pseudo code.
(d) Should include testing procedures
(e) Customer involvement is essential in developing this document.

11) Which of the following statements is/are true with regard to Evolutionary Prototyping?

(a) Technical or other problems are discovered early.


(b) It is suitable mainly for projects with clear and stable requirements.
(c) It is mainly suitable for projects with vague and unstable requirements.
(d) Continual change tends to corrupt the structure of the prototype system. Maintenance is
therefore likely to be difficult and costly.
(e) Prototype usually evolves so quickly that it is not cost-effective to produce a great deal of
documentation.

3
12) Identify the problem(s) with regard to Throw-away Prototyping from among the following list.

(a) Suitable only for projects with vague and unstable requirements.
(b) The prototype should be improved until the requirements of the final system are satisfied.
(c) None of the components of the prototype can be reused for the main system as the
prototype is thrown away.
(d) Non-functional requirements such as those concerning reliability, robustness and safety
cannot be adequately tested in a prototype implementation.
(e) An implementation has no legal standing as a contract between customer and contractor.

13) Which of the following is a/are content(s) of a Software Requirement Specification?

(a) Time schedules (b) Performance requirements


(c) Interface requirements (d) Hardware requirements
(e) Functional requirements

14) Identify the activity/activities which does/do not belong to the Design stage.

(a) Identification of the performance requirements


(b) Identification of the test cases
(c) Identification of the software components
(d) Identification of the software architecture
(e) Design specification

15) In a software module, all the activities are combined such that the output of one activity is input to
the next. Then the module has

(a) functional cohesion. (b) sequential cohesion. (c) coincidental cohesion.


(d) logical cohesion. (e) procedural cohesion.

16) Which of the following statements is/are true with regard to module coupling?

(a) Loose coupling means that changes in one module are likely to affect other modules.
(b) High module coupling is desirable for a system to facilitate the maintenance process.
(c) Module coupling is a measure of the strength of the interconnection between system
modules.
(d) Shared variables or control information exchange lead to tight coupling.
(e) Loose coupling can be achieved by module communication via parameters or message
passing.

17) What is/are the correct statement/s with regard to Rapid Application Development (RAD)?

(a) RAD requires sufficient human resources to create the right number of RAD teams.
(b) RAD teams must develop the whole system with improved techniques.
(c) If a system cannot be properly modularised, building the components necessary for RAD
will be problematic.
(d) RAD cannot be used with an Incremental Development approach.
(e) RAD requires clear and stable requirements.

18) Which of the following statements is/are true with regard to Incremental Development?

(a) Prototyping cannot be used in Incremental Development.


(b) Incremental development is more manageable than evolutionary prototyping since the
normal software process standards are followed.
(c) It is suitable when the system should be developed very quickly.
(d) It is suitable when the whole system is required to be implemented at once.
(e) The most important part of the system is delivered first, and the other parts of the system
are then delivered according to their importance.

4
19) Which of the following is/are true with regard to requirement validation?

(a) Readability of programs should be checked at this stage.


(b) Prototyping can be used to validate requirements.
(c) Requirement Validation involves the execution of the whole system.
(d) Consistency of the requirements should be checked at this stage.
(e) Requirement validation checks the portability of the system.

20) Which of the following diagram(s) can be used to identify the system boundary of a system?

(a) Flow charts (b) Use-case diagrams (c) Class diagrams


(d) Object sequence diagrams (e) Context diagrams

21) Which of the following statements is/are true with regard to making requirement analysis a
difficult task?

(a) Stakeholders often mention what they expect from the system in the most general form,
and therefore make the task of the analyst more difficult.
(b) Analyst’s lack of understanding of the application domain does not affect his ability to
elicit system requirements.
(c) Analysts must discover all potential sources of requirements and discover commonalities
and conflict.
(d) Political factors coming from higher management and unknown to end-users do not cause
any problems to the analyst.
(e) The economic and business environment in which the analysis takes place is dynamic,
thus changing the requirements and their importance.

22) Which of the following is a/are component(s) of an analysis model?

(a) Entity relationship diagrams (b) Class diagrams (c) Object sequence diagrams
(d) Data flow diagrams (e) Use-case diagrams

23) Abstraction is important in programming, because

(a) it is an important feature of the object-oriented model.


(b) user-defined data types are called ‘abstract data types’.
(c) it reduces the complexity of a program to a manageable level.
(d) it gives a way of hiding data on a ‘need-to-know’ basis.
(e) it provides a way to hide essential features of an object.

24) Tightly-coupled classes (two classes that are highly dependent on each other) in an object oriented
design indicate that

(a) the system will have better performance at run-time.


(b) the classes might better be incorporated into a single class.
(c) it is better to place them in the same package.
(d) each tightly-coupled class should be split into two or more separate classes.
(e) they could be changed or replaced easily.

25) Multiple inheritances occur when

(a) a parent class has two or more child classes.


(b) a derived class has two or more base classes.
(c) two classes inherit from each other.
(d) a child class has both association and aggregation relationships with its parent class.
(e) a base class has two or more derived classes.

5
26) Consider the following diagram.

* 1 1 *
Student Department Lecturer

Undergraduate M.Sc.

It shows a class diagram in UML notation, which describes some information in a university.
Identify which of the following statements about the diagram is/are true:

(a) Every student is in some department.


(b) A student can switch from an undergraduate program to an M.Sc. programme.
(c) Every department has students.
(d) A department may have no lecturers.
(e) Every lecturer has at least one student.

27) Which of the following is/are correct with regard to “structured programming”?

(a) It does not use any repetitive statements, since repetitions are inherently error-prone.
(b) It uses a top-down design approach.
(c) It guarantees error-free programs.
(d) It encourages the use of recursion.
(e) It eliminates the use of unconditional branching (goto) statements.

28) A code inspection is a formal review conducted to identify program defects. It is carried out by a
small team of people who play different roles in the inspection. You are required to match each
role in column 1 with the appropriate description in column 2.

Column 1 Column 2
(A) Inspector (i) The producer of the work product is under review
(B) Reader (ii) Finds errors, omissions and inconsistencies in work products.
(C) Recorder (iii) Manages the process and facilitates the inspection.
(D) Moderator (iv) Corrects the errors as and when they are identified.

How are they matched?

(a) Only (A) & (i), (B) & (iii)


(b) (A)& (ii), (B) & (i), (C) & (iii), (D) & (iv)
(c) (A)& (i), (B) & (ii), (C) & (iv), (D) & (iii)
(d) Only (A) & (ii), (D) & (iii)
(e) Only (A) & (ii), (D) & (iv)

29) Which of the following statements is/are correct with respect to the object-oriented approach?

(a) Changing the implementation of an object does not affect other system objects.
(b) Complex real world entities are sometimes difficult to represent as objects.
(c) Costs for design, coding and validation are reduced due to the potential reusability of an
object.
(d) Direct implementation of objects is not possible due to the unavailability of object-
oriented programming languages.
(e) Change to an object interface has no effect on other system objects.

6
30) Which of the following statements provide(s) guidelines for effective user interface design?

(a) The interface should be designed to minimize the requirement to remember past actions
and results.
(b) The interface should force the user to follow a strict sequence of operations to achieve a
task.
(c) The interface should always allow the user to use more than one interface mechanism.
(d) Internal technical details of the application should always be visible to the user so that he
can better interact with the application.
(e) Visual information, input methods and methods for navigation from task to task should be
consistently defined.

31) Consider the following diagram.

A
A

TT FF
B
B

TT F
DD C
C
EE
F

TT

F
F FF G
G

HH

It shows a flow chart in the usual notation. Identify which of the following pseudo-code
corresponds to the above diagram.

(a) Call A (b) Call A (c) Call A


If B If B If B
Then Then Then
Do While C Do While C If E
Call D Call D Then
End Do End Do Call F
Call H End If Else
Else If E Call G
If E Then End If
Then Call F Else
Call F Else Repeat Until C
Else Call G Call D
Call G End If End Repeat
End If Call H End If
End If Call H
(d) Call A (e) Call A
If B If B
Then Then
Repeat Until C If E
Call D Then
End Repeat Call G
Call H Else
Else Call F
If E End If
Then Else
Call G Do While C
Else Call D
Call F End Do
End If Call H
7
End If End If
32) Which of the following is an/are advantage(s) of encapsulation?

(a) It generates smaller code units and hence execution is faster.


(b) It provides a mechanism to hide the implementation details of each software module.
(c) It enables the use of the same operation in more than one class.
(d) It reduces errors since it localizes the operations.
(e) It provides a mechanism for automatic garbage collection.

33) Identify the correct statement(s) from among the following statements which are related to
Testing.

(a) Testing can only demonstrate the presence of errors.


(b) Testing can show that there are no errors in a program.
(c) Testing is used to help judge whether or not the program is usable in practice.
(d) Testing always involves execution of a program.
(e) Static testing techniques can completely replace testing in verification and validation
processes.

34) From the list given below, identify the correct contents of a test plan.

(a) Description of items to be tested (b) Development language


(c) Class diagrams (d) Testing schedule
(e) Test recording procedures

35) The following statements are associated with a certain test strategy called (A).
(A) can be used when different versions of a system have been developed for different types of
computers.
(A) can be used when reliable systems are developed using N-version programming.
(A) involves a general purpose set of test cases.
(A) can be used when a system prototype is available.
Identify correctly what the testing strategy type (A) is from among the test strategies given below:

(a) Stress Testing (b) Bottom-up Testing (c) Thread Testing


(d) Top-down Testing (e) Back-to-Back Testing

36) Consider the following programming languages/tools:


(i) Fortran
(ii) Java
(iii) C++
(iv) Rational Rose
(v) Microsoft Excel

Identify from among the above, the object oriented programming languages/tools.

(a) (i), (ii), (iv) only (b) (ii), (iii), (iv) only (c) (i), (v) only
(d) (iii), (iv) only (e) (ii), (iii) only

37) Identify the correct statement(s) from among the following statements which are related to
Regression Testing.

(a) After a defect in a program is discovered, it should be corrected and the system should be
re-tested.
(b) Regression testing is used to check that the changes made to a program have not
introduced new faults to the system.
(c) Regression testing is finding defects in a program, discovering where the defects are and
removing them.
(d) Regression testing is testing each component independently.

8
(e) Regression testing is the final stage in the testing process before the system is accepted for
operational use.
38) It is practically impossible for defect testing to be exhaustive. Testing therefore must be based on a
sub-set of possible test cases. The guidelines given below are associated with selecting this sub-set
of test cases. Identify the correct guideline(s) from among them.

(a) Test cases should be chosen to identify aspects of the system which will stop the users
from doing their job.
(b) Testing new capabilities is more important than testing old capabilities in a revision of an
existing system.
(c) If it is necessary to restrict the number of test cases, it may be advisable to concentrate on
typical input values rather than testing boundary value cases.
(d) Users are usually less affected by failure of new capabilities which they may not need.
(e) Exhaustive defect testing is possible in a program that contains loops which can be
executed a variable number of times.

39) Identify the correct statement(s) from among the following:

(a) Black-box testing does not need access to source code. Test cases are derived from the
program specification.
(b) Structural or white-box testing relies on analysing a program to determine paths through it
and using this analysis to assist with the selection of test cases.
(c) Testing strategies include top-down testing and bottom-up techniques only.
(d) Testing can show that there are no errors in a program.
(e) Testing should be scheduled as part of the project planning process.

40) Given below is a diagram showing the typical testing process. Select suitable names for the boxes
marked A, B, C and D.

A
Module
testing
C
System
testing
D

B Integration User
testing testing

The correct choice of names is

(a) A – Alpha testing, B – Stress testing, C – Component testing, D – Sub-system testing


(b) A – Beta testing, B – Defect testing, C – Acceptance testing, D – Component testing
(c) A – Unit testing, B – Component testing, C – Sub-system testing, D – Acceptance testing
(d) A – Unit testing, B – Component testing, C – Alpha testing, D – Stress testing
(e) A – Beta testing, B – Defect testing, C – Sub-system testing, D – Acceptance

41) The advantages of GUI are that

(a) they are relatively easy to learn and use.


(b) the interface can be made concise with little typing effort on the part of the user.
(c) users have to learn a command language which is some times very complex.
9
(d) fast, full screen interaction is possible with immediate access to anywhere on the screen.
(e) the user has multiple screens (windows) for system interaction.
42) Consider the following table which contains statements related to testing.

COLUMN A COLUMN B

(1) Checking that the program conforms to its (A) Debugging


specification
(2) Checking that the program as implemented meets the (B) Validation
expectations of the software customer
(3) Checking of system representations such as the (C) Regression testing
requirement document, design diagrams and program
source code
(4) Exercising an implementation such as a prototype or a (D) Dynamic techniques
program
(5) When defects are found in a program, they must be (E) Verification
discovered and removed
(6) Is used to check that the changes made to a program (F) Static Techniques
have not introduced new faults into the system

How should a statement from column A be matched with a statement from column B?

(a) 1 - B, 2 - E, 3 - D, 4 - F, 5 – A, 6 - C
(b) 1 - E, 2 - D, 3 - F, 4 - A, 5 – C, 6 - B
(c) 1 - D, 2 - F, 3 - A, 4 - C, 5 – B, 6 - E
(d) 1 - E, 2 - B, 3 - F, 4 - D, 5 – A, 6 - C
(e) 1 - B, 2 - F, 3 - D, 4 - A, 5 – C, 6 - E

43) Which of the statement/s given below is/are true with respect to the maintenance process?

(a) The maintenance process is triggered by a set of change requests from system users only.
(b) It is not necessary at this point to do a cost and impact analysis.
(c) A new release of the system need not be planned for perfective maintenance.
(d) The change implementation results in the release of a new version of the system.
(e) In the case of problems which must be tackled quickly, the process given in the diagram
(refer q46) may not be practised.

44) The steps given below are associated with software maintenance. Identify from among them the
steps which can improve maintenance staff motivation.

(a) Integrating software maintenance personnel and operation teams


(b) Viewing maintenance as a separate process
(c) Involve maintenance staff early in the software process
(d) By creating a preventive maintenance budget
(e) By allocating maintenance work to the most junior staff

45) Classify the following standards into Product Quality Standards (A) and Process Quality
Standards (B).

(i) Design review form


(ii) Version release process
(iii) Java programming style
(iv) Change request form
(v) Requirement specification

(a) (A) – (i), (iii) (B) – (ii), (iv), (v) (b) (A) – (i), (iii), (iv) (B) – (ii), (v)
(c) (A) – (ii), (iii), (v) (B) – (i), (iv) (d) (A) – (ii), (iv), (v) (B) – (i), (iii)

10
(e) (A) – (i), (iv) (B) – (ii), (iii), (v)

46) The diagram below gives an overview of the maintenance process.

A Impact B Change
analysis implemen C
tation

Perfective Adaptive Corrective


maintenance maintenance maintenance

The correct choices for A, B and C respectively are:

(a) Feasibility study, Change request, Regression testing.


(b) Change request, System release, System release planning.
(c) System release planning, Change request, System release.
(d) Change request, System release planning, System release.
(e) Requirement analysis, Design, Testing.

47) Process quality has a significant influence on the quality of the software. Which of the following
activities is/are involved in Process quality management?
(a) Define process standards such as how reviews should be conducted, when reviews should
be held etc.
(b) Define the correct programming style
(c) Define standards of the documents.
(d) Define the reliability metrics of the system
(e) Monitoring the development process to ensure that the standards are being followed

48) Properly produced and maintained system documentation is a tremendous aid to maintenance
engineers. Identify the document(s) from the list given below which would assist the maintenance
process.
(a) Program source code listings with appropriate comments
(b) A document describing the overall system architecture
(c) Cost benefit analysis
(d) Data files
(e) For each component, a specification and design description

49) Identify from the activities/properties given below those related to Corrective Maintenance.

(a) It involves implementing new functional or non-functional requirements.


(b) It is carried out by software customers as their organisational and business policy changes.
(c) It is concerned with fixing existing errors in the software.
(d) It is associated with changing the software to some new environment.
(e) It is associated with correcting new errors introduced after a correction.

50) The statements given below are associated with release and versions of a software system.
Identity the correct statement(s) from among them.

(a) Releases are circulated within an organisation for testing purposes.


(b) Some versions may never be released to customers.
(c) Normally, there are more versions of a system than releases.
(d) A system release is a version distributed to customers.
(e) Each system release should include new functionality or should be intended for a different
platform.

11
********

12

Das könnte Ihnen auch gefallen