Java代写 | COMPUTING SCIENCE 2Y: OBJECT ORIENTED SOFTWARE ENGINEERING 2

本次英国代写主要为java面向对象软件工程限时测试

Part 1: Multiple Choice Questions [40 Marks]
1. Which of the following metrics would you use if you are concerned about the number
of test cases you need to fully verify your system? [2]
(a) NOC (Number of Children)
(b) WMC (Weighted methods per class)
(c) CBO (Coupling between Objects)
(d) RFC (Response for class)
(e) All of the above
Solution: All of the above (e)
2. You compute the LCOM(Lack of CohesionMethods) for a class and you get a negative
value. What does this mean? [2]
(a) It is impossible to have a negative value
(b) The software is well designed
(c) The software is badly designed
(d) It is impossible to determine the quality of software based on LCOM
(e) None of the above
Solution: The software is well designed (b)

3. In Java, what is the minimum value of DIT (Depth of Inheritance Tree)? [2]
(a) 0
(b) -1
(c) 1
(d) 2
(e) None of the above
Solution: 1 (c)
4. Consider the formula:
A =
n
å i=1
ci
where ci is the complexity of each method in a class and i is the number of methods in
the class. Which software metric does A represent? [2]

(a) LCOM
(b) RFC
(c) NOC
(d) DIT
(e) WMC
Solution: WMC (e)
5. Which of the following are subjective complexity factors in a program code? [you may
select more than one answer] [2]
(a) The amount of code coupling
(b) The amount of test cases required to cover the code
(c) The cyclomatic complexity of the code
(d) The variables and methods naming style
(e) Following a design pattern
Solution: (d), (e)

6. Which of the following suggests that there is a bug in the software? [you may select
more than one answer] [2]
(a) The software fails to compile
(b) The software fails at runtime
(c) The software is implemented using iterative development approach
(d) The software is implemented using waterfall development approach
(e) End users are finding it difficult to use the software
Solution: (a), (b) and (e) (NOTE from external examiner: (a) or (e) should still
receive credit)
7. Which of the following approaches can be used to identify bugs in software? [you may
select more than one answer] [2]
(a) Manual inspection of program code
(b) Dynamic analysis of the program code
(c) Static analysis of the program code
(d) Software testing (whitebox/blackbox testing)
(e) Threat Modelling