Platform Selection

Each team is required to justify the development platform that they are using. In order to do so, it is necessary to evaluate alternative platforms and solutions. This evaluation is to be posted on your web site and will be discussed at your next team meeting.

The process will be done in two phases: first simply produce a list of alternatives, and then make the selection. The reason for the two-step process is to assure that you are considering the broadest alternatives.

The selection documentation should include all alternatives that were studied and its pros and cons. Also include links to any online information that you used in making the decision, including reference material and reviews or commentaries. There should be a clear enough discussion of the decision that you can reconstruct the decision two months from now. This will become part of your design document.

Client requirements

Some teams may have requirements from the client that limit, or restrict, platform component choices. In this case, your write-up will indicate that you were constrained by the client and indicate where those constraints dictated or influences your choice(s).

For example, you may need to develop in a specific language, or you may have to produce code that integrates with an existing system on some existing server structure. You might have to use a particular database system to extend an existing database.

Heroku

This year we will put as many projects as possible on Heroku for backend server/database structure (if your project needs such). Many of your systems will have client/server architectures. They will have web-browser-based interfaces, and will communicate over a network to a server on some other machine. The server will use some database for persistant data in the application. For phone or tablet apps, you may still need persistant data accessed over the network.

Heroku provides several different technologies and code to glue them together -- different server technologies, and different databases. It allows you to connect it all together easily for your chose front end solutions to communicate with. It will also help solve the deployment/handoff issue for many of your clients. as it is a commercial site and will live on past your time on the project.

Heroku has a free level of service that will suffice for project development. Discuss with your client the level of service needed, and see if the free level will allow your client to operate the system into the future. If not, discuss how the fees will be handled (no teams need pay any fees to participate in COMP 523) in the future after the handoff. If fees are an issue for the client, a different platform may have to be considered.