Projects

Project list

A list of projects is available as a PDF document. Here are the slides of project presentation.

Grading

Your grade for the project part of the course will depend on the following:

  • The extend to which you used the standard software engineering tools like version control repository (Git in this course) or project management software (Gitlab in this course), especially the issues and time logging subsystems usage.
  • The quality of the deliverables (documentation, prototype, etc.), as described in Deliverables schedule section.
  • Your team overall cooperation capability as well as your individual contribution to the team, as assessed by your tutor.
  • The satisfaction of the customer with the final delivered prototype as well as his impression on the communication quality with your team during the entirety of the project.

Deliverables schedule

For a quick overview of what we require from you, please refer to the Project Plan.

The schedule below implicitly assumes you will run into numerous technical difficulties and will often have missing/imprecise/outdated/incorrect information preventing you from preparing the appropriate prototype and documentation. It is expected from you that you will proactively extract the necessary information about technology and clarifications from the customer, thus enabling you to meet on time the expectation described below.

The expected progress column is for your internal consideration. In general, we won't hold you accountable for it, but we will look at your Gitlab usage and your progress reports to make sure you are using the tools effectively and you are on track with the project. If you will have constant delays, most probably the customer and tutor will be unhappy and so your grade will be negatively impacted. Not meeting the expected progress also increases the risk you won't be able to provide on time the iteration deliverables, which are graded.

The preferred way of sharing deliverables of last week of iteration is to put them on your Gitlab wiki and inform your tutor, including link to the relevant wiki page.

Milestone Due date Expected progress Deliverables
Iteration 1, week 1 12 May 2017
  • Meet with your team, tutor and customer
  • Prepare First Requirements Draft
  • Research the technology stack: google it, download, install, etc.
  • Provide progress report by Friday to your tutor
Iteration 1, week 2 19 May 2017
  • First complete requirements draft
  • Deployed all the technologies (IDE, database, plugin/extension frameworks, web services, API libraries, tools with GUI, etc.) on your developer machines
  • Draft of the core use case
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
Iteration 1, week 3 26 May 2017
  • Refined Requirements Document
  • Document and complete the core use cases
  • Exercise the entire technology stack with non-trivial use case implemented
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
  • Four A4-pages of contract-style must/may/will not-have requirements
Iteration 1, week 4 02 June 2017
  • Final set of Use Cases
  • Master Technology Stack & solved all difficulties with the technologies
  • Provide Gitlab issues and time logs
  • 1 Pressman-style core use case - "happy path"scenario and comprehensive listing of all exceptional cases
  • A working vertical prototype partially implementing the main scenario of the use case
  • The prototype is to be presented to the customer and the tutor, showing your team is capable of using the technology stack for further development
Iteration 2, week 1 09 June 2017
  • Start implementing the must-have requirements in your prototype
  • Update your existing requirements and use cases documents based on customer feedback
  • Draft UML class diagrams and UML sequence diagrams for at least 3 core and diverse use cases
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
Iteration 2, week 2 16 June 2017
  • Implemented 50% must-have requirements
  • Update Use case and requirements documents based on customer feedback
  • Draft GUI paper prototypes for all use cases
  • Completed UML class diagram and UML sequence diagrams for at least 3 core and diverse use cases
  • Create test plan for generating/writing unit, integration and regression test suites
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
  • Submit completed class and sequence diagrams to your tutor
Iteration 2, week 3 23 June 2017
  • Implemented 75% must-have requirements
  • Synchronize use case and requirements documents
  • Completed GUI paper prototypes for all use cases
  • Finalize test plan document
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
  • Submit test plan to your tutor
Iteration 2, week 4 30 June 2017
  • Implemented most of the must-have requirements
  • Finished use case and requirements documents
  • Generate/Write more tests for already implemented features
  • Provide Gitlab issues and time logs
  • Provide progress report by Friday to your tutor
  • Updated requirements and use case from 1st iteration
  • GUI paper prototypes for all the use cases, including the exceptional scenarios
  • UML class diagram and UML Sequence diagrams for at least 6 core and diverse use cases
  • A working prototype implementing most of the must-have requirements
Iteration 3, week 1 07 July 2017
  • Implemented all of the must-have requirements
  • Start implementing may-have requirements with the highest priority
  • Generate/Write more tests for the newly implemented features
  • Execute Regression, Unit and Integration test suites, report and fix bugs
  • Provide Gitlab issues and time logs
  • Provide Gitlab issues on reported bugs, fixed bugs and written/generated test cases
  • Provide progress report by Friday to your tutor
Iteration 3, week 2 14 July 2017
  • Implemented most of the may-have requirements
  • Generate/Write more tests for the newly implemented features
  • Execute Regression, Unit and Integration test suites, report and fix bugs
  • Write initial test report on the coverage of test suites
  • Provide Gitlab issues and time logs
  • Provide Gitlab issues on reported bugs, fixed bugs and written/generated test cases
  • Provide progress report by Friday to your tutor
  • Submit initial test report to your tutor
Iteration 3, week 3 21 July 2017
  • Incorporate documents feedback from tutor/customer
  • Work on final deliverables
  • Completed implementation of the highest priority may-have requirements
  • Generate/Write more test for the newly implemented features
  • Execute Regression, Unit and Integration test suites, report and fix bugs
  • Write test report on the coverage of test suites
  • Provide Gitlab issues and time logs
  • Provide Gitlab issues on reported bugs, fixed bugs and written/generated test cases
  • Provide progress report by Friday to your tutor
Iteration 3, week 4 28 July 2017
  • Final Submission of Project to tutor and customer
  • Complete implementation code uploaded to Gitlab repository
  • All documents uploaded to Gitlab repo
  • Provide Gitlab issues and time logs
  • Final Working Prototype presented to client and tutor
  • Final Requirements documents, use cases, GUI prototpyes, UML class and Sequence Diagrams for at least 9 core and diverse use cases in total
  • Final Test Report - report test quality in terms of code coverage and number of revealed bugs
  • Implementation of all the must-have requirements
  • Implementation of any remaining may-haves, as time permits
  • Instructions on how to build, deploy and use your software
  • A video of the software (90 - 180 seconds), showing the core use cases and features or a demonstration of your software in person

Help Desk Office Hours

You can meet with a tutor in case you have any questions, we provide a help desk in
E.9.1. Rooms 2.21 and 2.22 according to the following office hours:

10:00 - 11:00 AM 11:00 - 12:00 AM 02:00 - 03:00 PM 03:00 - 04:00 PM
MONDAY Alyona Chirag & Alyona Tri Tri
TUESDAY Ahmad & Alyona Ahmad & Alyona Adekunle Adekunle
WEDNESDAY Muaz Muaz Jyoti Jyoti
THURSDAY Aditya - Jyoti & Timo Jyoti & Timo
FRIDAY Peter Peter Jyoti & Peter Jyoti