Details on the project case study and data model is in part 2 below. Details on the tasks and demonstration viva you will need to complete are in parts 3 and 4. The UATs to guide your implementation.
What the assessment work will involve
• Carry out project planning, teamwork and management
• Review and refine the requirements specification
• Implement a data model for the prototype
• Implement the prototype using a PHP-based framework
• Test the prototype
• Demonstrate the prototype to the client
• Planning, time management and teamwork (including leadership and negotiation)
• Cope with a complex brief (with possible ambiguities and inconsistencies) from the client
• Technical skills to produce the prototype and understanding how system components work
• Interacting with the “client” on your solution via documentation and demonstration
Development of the prototype
One ready-made example of this is the development platform available on Canvas. This WAMP stack is called EasyPHP and the PHP framework used to build the example application is called CodeIgniter. The MySQL database can be managed in a web browser via the database tool phpMyAdmin (included in EasyPHP). Refer to class notes for information and support documentation on the technologies.
To be able to report/demonstrate, you will need to work with your team for this module (see Canvas) to implement AVSS using the EasyPHP platform. This will entail creating the database and carrying out the required object-relational mapping steps to tie the backend database to your frontend application. You should add a small amount of sample data records (add some fictional examples) in each table at the end for your submission. See the UATs in part 5 for a full list of what you should implement.
Provide an explanation of how the PHP-driven framework allows developers to adopt Object-Relational Mapping (ORM) to implement a system like AVSS conforming to the model-view-controller (MVC) architecture.
Provide screenshots of relevant folders/files from your AVSS implementation to demonstrate how the framework adopts the MVC structure for ORM. Also provide short code snippets from your AVSS implementation, which you should refer to in your explanations.
You should also create, and submit, a database schema (diagram – not part of the word count) to reflect the final version of your implemented database.
• This looks like an Entity Relationship Diagram (ERD) but depicts what is built and must match the database structure seen in phpMyAdmin (MySQL) within EasyPHP.
• Ensure each table is depicted with its attributes (including data type and length) and relationships between tables. Primary and foreign keys must also be indicated.
• Your diagram could be exported from a tool such as MySQL Workbench, which can also import/export the data structure from/to phpMyAdmin.
With team assessments, all team members are expected to make equal contributions. This can take different forms, i.e. not just volume of work but also specialist skills, knowledge, and/or leadership. It would be expected that allocation of tasks (see part 3.1 above) would be distributed fairly. Some examples of different roles for this assessment are listed below:
• Project planning: leadership, organising team meetings, responsible for sprint documentation.
• Testing: designing test plans, carrying out the tests, and documenting results.
• Database implementation: required data and enhancements, e.g. custom queries.
• ORM (object-relational mapping) implementation: map backend database tables to frontend tables (as objects) with appropriate data constraints on the application.
• User interface implementation: enhance the user experience, e.g. colour scheme, workflow, error messages, system help, etc.
• Advanced implementation: enhanced application functionality, such as login user profiles, batch/automated processing, etc.
• Production of the demonstration video
You should plan for approximately equal contributions and we expect most teams will achieve this; however, where there are problems relating to contribution, students should inform the module tutors. If peer assessment indicates unequal contribution and the teaching team agrees, the team mark may be reduced in the case of individuals who have not contributed.