SIT323 Practical Software Development Assignment Help
Assessment Task 2
As outlined in the Assessment Task 1 document, both assessments (Assessment Task 1 and Assessment Task 2) comprise parts of one project. Assessment Task 1 focused on updating an old program to load and validate data from three files with new formats and designing and implementing several unit tests. Assessment Task 2 will use the original version of the old program and old file formats. This will ensure equity as everyone is starting Assessment Task 2 using the same code and files.
Assessment Task 2 will focus on:
- Implementing the recursive Greedy algorithm (from Practical 6) to create a new
drizzle based on data from three files,
- ensuring that this new role is valid,
- designing and implementing unit tests for the recursive Greedy algorithm
- reporting on the unit tests, and
- designing Azure and AWS cloud solutions.
Creating a new valid drizzle is where you write nearly all of your new code for Assessment Task 2. Your code needs to determine which letter sequences from a file, when connected in some arrangement, produce a high or maximum score and adhere to all constraints and configurations.
You will also write code for unit tests.
Creating one new nozzle must be based on:
a) implementing the recursive Greedy algorithm from Practical 6
b) a drizzle text file
c) a configuration text file
d) a sequence text file
e) drizzle constraints
f) configuration constraints
g) letter sequence constraints
h) time constraints
i) scoring constraints
2. Text File Formats
The formats of the crozzle text file, configuration text file, and the text file of letter sequences is the same as that for the original old program that you started with for Assessment Task 1. See Formats of Input Files.docx for details.
However, as you are creating a new role from an empty grid, ROW and COLUMN items will not be provided in drizzle text files for Assessment Task 2.
3. Software Requirements
Your software solution for Task 2 is an extension of the old program. It requires functionality to: 1. Access and read files that are hosted on Azure. These files are drizzle text files, configuration text files, and text files of letter sequences.
The URLs for these files will be:
Your code for accessing and reading such files can be based on the WebClient code as demonstrated during class.
2. Obtain URLs from the user as you will not be able to use an OpenFileDialog to browser for and select a file on the Azure website.
To obtain a URL from the user via the GUI, you must include some controls such as a ComboBox and a “GO” button as depicted in Figure 1. But you must not hardcode the URLs.
3. Create a valid drizzle based on letter sequences, constraints and configurations.
In general, there might be thousands or millions of crosses that can be created from a list of letter sequences, grid size, other configuration values and constraints.
Ideally, the implementation of the recursive Greedy algorithm should find one of these crozzles with the maximum score, but practically this might be impossible in cases with large grids and a large number of letter sequences.
As your algorithm might not meet this ideal goal, your program must attempt to obtain a large score within a 400 second time period. That is, after 400 seconds of runtime, your program must:
- stop looking for other crosses
- display the highest-scoring drizzle that your program found
- display the score of that drizzle
4. Unit Test Designs
You are to design unit tests for your recursive Greedy method.
5. Unit Test Implementations
You are to implement each unit test design.
6. Test Results Report
You must produce a Word document of professional quality to show the results of program testing. Similarly to Assessment Task 1, this document must include the following:
• a title page
• a contents page
• an introduction page
• a document body that contains numbered sections, one section for each Test Scenario. Each section will include:
1. a justification for each test case,
2. a justification for each test case that failed
3. a justification for each test case that was not implemented
4. what you learned from this scenario
5. a completed Test Scenario form including values for Test Method name, Actual Data, Test Results, and any Test Comments
6. an ordered list of data or filenames used by Test Cases (as described in Assessment Task 1)
7. Azure and AWS Deployment Report
You are to write a comprehensive report, including diagrams, on how to deploy your solution to an:
1. Azure Scale Set
2. AWS Scale Set
where each VM runs a Web Service to compute a crozzle based on the recursive Greedy algorithm.
The client invoking this Web Service provides the name of the drizzle file, a starting sequence and its location and orientation.
This Web Service returns the score, starting sequence and its location and orientation.
The client uses the returned score to determine whether a better scoring crozzle has been found. If this score is larger than the previous best score, the client can then store this score, starting sequence and its location and orientation as the better scoring crozzle.
The client only needs the score, starting sequence and its location and orientation because it can regenerate this crozzle, if needed, based on this starting sequence and its location and orientation.