neil-unomaha / CIF_CYBR_8950

MIT License
1 stars 0 forks source link

Revise Methodology #24

Closed neil-unomaha closed 4 years ago

neil-unomaha commented 4 years ago

Awaiting Dr. Hale's feedback from milestone one. Dr. Hale did mention our methodology requires some work.

skyemakable commented 4 years ago

Feedback from Dr. Hale on Methodology:

Ideas for how to improve methodology

neil-unomaha commented 4 years ago

Methodology Details to Discuss with Professor Hale

Developing code in the context of a capstone is a bit tricky. Two common software development approaches are to use the Waterfall Model or the Agile model. The main difference between the two:

The end result is the same for both. Agile is a common approach due to project management purposes. One large benefit of the agile approach is that users get to experience the features even before the final project, or the final major version, is complete.

Methodology

The methodology at a high level for our capstone project can, oddly enough, be somewhat modeled after a kickstarter campaign. So: it is somewhat a hybrid between the agile and waterfall model. We will have our main "goal" and then "stretch goals" beyond that.

Main Goal - Get an ad hoc solution up and running

We want to develop middleware that meets the needs of this specific environment:

Initial Steps: Acquisition, Configuration, Setup

Develop middleware

Stretch Goal 1: Refactor for performance

The "main goal" is to just get a solution working. The code solution is likely messy and has room for improvement in the area of performance. In this stretch goal, we could likely go through many iterations in hopes of discovering the ideal solution, but due to time constraints we will need to enforce a deadline if we hope to get to the next stretch goal.

Stretch Goal 2: Abstract out "middleware design pattern" from the existing ad hoc design

The middleware is ultimately solving this problem: creating a bridge between two endpoints. In our scenario the middleware happens to be bridging a next gen firewall and a CIF server, but these two endpoints are ultimately irrelevant. A good middleware program would be accommodating to various endpoints.

It would be nice to abstract out this "middleware pattern" so that the middleware is no longer an ad hoc design. However, we don't want to abstract out too much or else the middleware would end up not providing any real value.

Key components

End Point 1 And End Point 2 "Pulling" Configuration

Endpoint 1 and Endpoint 2 Data Formatting

Endpoint 1 and Endpoint 2 "Pushing" Configuration

neil-unomaha commented 4 years ago

Methodology Revision: Rough Sketch

Note: Brian mentioned that most Universities in this collective intelligence network only push every 24hrs. However, at least one University, Duke, pushes more often. This provides us the opportunity to perform before/after measurements as described below.

Baseline Measurement:

Implement our solution

Conduct Post-Solution Measurement and Compare


Technical breakdown of Implementing our solution:

In order to arrive at our solution, it is necessary to break it down. Here are a list of activities that will need to be conducted in order to arrive at our solution:

neil-unomaha commented 4 years ago

8c7f81a3349a873d0dddc6a8cff067f59bb37c7d