Project: SurveillanceManager
Project
Setup the Development Environment
Instructions for Setting-Up the Development Environment
Download and import the provided library file that contains pre-implemented PoJos and file input/output classes. Use your DataStructures lab codebase as a library for all of your necessary data structures and sorting algorithms.
Setup the Development Environment
To get started on implementing and testing your project:
1. Clone your assigned NCSU GitHub (https://github.ncsu.edu) repository.
2. In Eclipse, create a new Java Project named SurveillanceManager
3. Create the following directories inside your project:
src must contain all of your source code lib must contain all library .jar files
test must contain all of your test code
doc must contain your documentation and generated Javadoc files
bbtp must contain a PDF of your completed black-box test plan
input should contain all of your input test files
outputshould contain any files output by your software (if needed)
Review the Tools & Software Development Best Practices
If you did not take CSC216 at NCSU, or if you would like a refresher of the practices and tools, please review the summary of practices and tools introduced in CSC216 (https://go.ncsu.edu/csc316-resources/).
Import your DataStructures Library
1. Locate your final Workshop 5-Map ADT codebase of your DataStructures project (you may use your latest Workshop codebase, as well - Workshop 5 is the minimum workshop required), right-click the Eclipse project in package explorer, and select Export-Java-JAR File to export your DataStructures project as a library. Save the resulting .jar file into your lib directory in your SurveillanceManager project.
Using Another Student's Workshop 5 Implementation
Remember that you are allowed to share/collaborate on code for workshops with late deadlines that have already passed. For example, after September 21 at 11:55PM, you are allowed to share/collaborate on Workshop 5 code for use with your project implementation. Any collaboration on Workshop 5 code before September 21 at 11:55PM will be reported to the NCSU Office of Student Conduct as acadmic misconduct.
See Message Board Post (https://edstem.org/us/courses/81361/discussion/6965849) for links to the sharing/receiving contract forms that must be submitted.
2. Configure the build path in Eclipse to include both the SurveillanceManagerLibrary. jar and your DataStructures.jar file as libraries, which enables you to use any POJOs, file readers, and data structures that already exist in those JAR files.
Configuring Your Build Path
You may need to review instructions for configuring your build path (/help/buildPath), to use libraries.
Download the Starter Code Library
Download the starter code library jar file, which provides implementations for any POJOs and file input readers/writers and utility classes for this project. Save the .jar file into your lib folder in your Eclipse project.
NOTE: The starter code .JAR file was compiled using Java 17. If you try to compile and execute your code using a different version, you will receive Java errors about versioning of class files. Check to make sure you have Java 17 or later installed and configured as your Eclipse workspace default Java library. If you are using a later version, then in Eclipse, edit the project properties to use compiler compliance level for Java 17
Using DSAFactory
To facilitate analysis during the experiment you will perform. in Part 3 of the project, your code must use the DSAFactory provided in the SurveillanceManagerLibrary.jar file. DSAFactory has methods that will allow you to select which data structures and sorting algorithms to use. The Factory design pattern is commonly used when creating instances of objects in a centralized location. For this project, you should use a factory to create and return new instances of your data structures. Then, when running experiments using different data structures, you only need to update one or two lines of code instead of locating every place where you created new instances of your data structures.
The DSAFactory has methods for setting/getting specific types of data structures and algorithms. Valid data structure and algorithm types are defined in the DataStructure and Algorithm enums.