Iteration 4 should include the following at a minimum:
The architecture may follow the 4+1 UML-based Architectural Model. At a minimum you should have a semi-detailed deployment view complete, a dialog map (or something similar that shows the flow of pages through your user interface), and a class or entity-relationship diagram for your database schema. You may include other models as you have time and see fit. An architecture document template is posted in PolyLearn.
You should be making significant progress on your vertical prototype. This means that you will need to have chosen your technology stack, begun to learn the different technologies, and begun to build a prototype using those technologies. To demonstrate this, your team should demonstrate in class a working development and build environment. This should include any IDE or compiler needed, any necessary frameworks installed, and working automated build scripts (e.g. Ant or Maven). This environment may be demonstrated on a lab machine or a student laptop. In addition, you should have instructions posted for your team for setting up this development and build environment. All team members should have this development environment setup, along with appropriate access to the build environment.
You should have a vertical prototype complete in this iteration. A vertical prototype implements one small slice of functionality using all key architectural technologies. A link to the vertical prototype should be posted in an email to Dr. Janzen. Because your vertical prototype environment may go away at some point, static screenshots should be posted in a document to Dr. Janzen.
You should prepare a twenty-minute formal presentation that sumarizes your requirements and architecture. Include a very brief description of the vison/scope and requirements. Spend most of the time presenting your horizontal and vertical prototypes and describing your architecture. Describe how your architecture satisfies the project's non-functional requirements (e.g. potential globalization, testability, supportability, security, performance, scalability). Include rationale for your decisions (i.e. be able to defend why you chose what you chose and give feedback on whether that was a good choice based on what you've learned so far in your vertical prototype). Every team member should participate in the presentation. This means the presentation should be well-rehearsed and transitions should flow quickly. Included in your twenty-minute presentation there should be time for 4 to 5 minutes of question and answer. The presentations will be given in class on Friday, November 16. Practice presentations will be given in class on Wednesday, November 14.