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.

Carolina CloudApps

This year we will put as many projects as possible on Carolina CloudApps. A team from ITS will be here to explain CloudApps... what it will let you build and manage. We will build an app in class so you get hands on experience.

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.

CloudApps provides several different interface technologies, different server technologies, and different databases. It allows you to connect them all together easily. It also solves the deployment/handoff issue for many of your clients.