本次美国代写是一个软件工程的assignment

1. [20 points] Provide the following requested hibernate implementations (submit your solution to an

online repository) to create/delete instances of:

a. [10 points] Customer, Professor, MainCreate, and MainDelete (Java application). If a

customer is included, so is the corresponding professor. The same behavior for deletion.

IDs are generated automatically. Any relationship direction will be considered as solution.

b. [10 points] Order, Product, MainCreateOrder, MainDeleteOrder, MainCreateProduct, and

MainDeleteProducty (Java application). A product is not deleted if an order is deleted and

vice-versa. IDs are generated automatically.

2. [20 points] Considering the binary search algorithm provided below to answer the following questions.

1 public static int binarySearch(int[] array, int searchValue) {

2 int first; int last; int middle; int position;

3 boolean found; // Flag

4 first = 0; last = array.length – 1; position = -1; found = false;

5 while (!found && first <= last) {

6 middle = (first + last) / 2;

7 if (array[middle] == searchValue)

8 {found = true; position = middle;}

9 else if (array[middle] > searchValue)

10 last = middle – 1;

11 else

12 first = middle + 1;

13 }

14 return position;

15 }

a) [5 points] Find a test case that could be used to perform all-nodes coverage test. Your test case should

be formed by an array and a search value, e.g., array = {1,2,3}, searchValue = 2.

b) [5 points] Show the sequence of executed statements that you performed to find the answer of part

a). Example of a hypothetical sequence of executed statements: 1-2-3-4-2-3-5-6-7-14.

c) [5 points] Draw the control graph of this algorithm.

d) [5 points] Calculate the cyclomatic complexity metric (maximal linearly independent set of paths

though a graph) and show a possible set of linearly independent paths for this graph.

3. [20 points] You were hired to test and detect faults in two software systems A and B owned by Company

Y. Your task as a software tester is to use fault seeding and compare the results of both systems. You

artificially seeded 10 faults into A and B and used the average of 5 runs to get the results for the estimate

of faults. The table below provided the details of those runs:

Estimate the number of faults of systems A and B (you must show your math for each run and final

average results) to verify each system is probably more reliable [15 points]. Justify your answer [5

points].

4. [20 points] Write unit, integration and system test cases for the bank application shown below (use the

template provided in the lecture slides). You must include at least 2 unit test cases for each use case and

2 integration/2 system test cases for the entire application.