Best代写-最专业靠谱代写IT | CS | 留学生作业 | 编程代写Java | Python |C/C++ | PHP | Matlab | Assignment Project Homework代写

软件工程代写|CS 5800 – Assignment #5

软件工程代写|CS 5800 – Assignment #5


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.

Figure 1

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.

Figure 2

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:

Table 1

Table 2

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

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.