Structure, logical development (4 marks)
- can be e.g. use case diagram for start or domain model or database scheme
- use cases must include:
- setup account
- upload picture(s)
- login/authentication
- order picture(s)
- login/authentication
Data model, data structures or database model (5 marks)
The model must accommodate following data and be consistent (link ids together, ...):
- user data (id, password, ...)
- some flexible way to store several phones per user
- pictures (date, time, picture, user, ...)
- some extensible way to store additional information for the picture (GPS, ...)
- payment information
- accommodate credit card and paypal as well as other upcoming payment types
- information about photos sent out (serial#, when, address)
Architecture (4 marks)
Usually a 3-tier web application. I was not only looking for a specific architectural design, but more whether you detected the necessary components and modeled or explained them. The architecture should be extensible to allow for more payment systems, different access from other devices.
- some GUI interface
- WebGUI
- Cellphone access
- some server(s) that implement most of the functionality
- Webserver, Application Server
- GUI must access it
- must access data storage
- data storage (DB)
- external systems:
- payment systems
- sending out pictures (can be manually or undefined, but must be somehow mentioned)
Execution/Interaction of the Components (2 marks)
Can be in textual form or as diagram(s), e.g. a sequence diagram or a robustness diagram. If this is clear from an architectural diagram, you got also the marks. It must show how the components interact, which calls which (at least examplary).
Implementation (3 marks)
The implementation must address how the main components are implemented in an extensible way. It should address some of the implementational challenges such as:
- Web GUI (forms)
- Cellphone access
- How to accommodate for different phones
- Separate Web and Mobile Access?
- Sending of pictures
- Automated or manual
- Open for new variants
Address Security Issues (2 marks)
This Web application is rather critical - at least we would want to provide a high-level of security so that the users can trust it. Therefore you have to at least mention or better discuss or provide solutions for some security concerns such as:
- Authentication
- Sessions, Cokies, User ID/Password
- Cell phone authentication (just phone number)
- Encryption
- Data Storage (Hash functions)
- Data transfer (SSL, HTTPS, ...)
- Roles
- Admininstrator
- Judicial officials
- Privacy
- Who can see who's pictures?