Software Construction and Testing
Project
Winter 2024
Dr. Ahmed Maghawry
TA Nadeen Serag
TA Menna Singergy
1 Project Overview
1.1 Team Formation
A team should consist of 4-5 members.
1.2 Project Idea
This project should cover any of the suggested ideas:
• Restaurant Reservation and Management System
• E-commerce Website
• Personal Finance Tracker with Budget Recommendations
• E-Learning Course Management System
• Any Idea of your own ; however, you will need to discuss it with
the TA
1.3 Idea Description
Description of the previously mentioned ideas:
• Restaurant Reservation and Management System : Implement
a web application where customers can reserve tables, order food, and
provide feedback. The admin side could manage bookings, view feedback,
and update menu items.
• E-commerce Website : Develop a website that allows users to browse,
search, purchase products online, and get notifications while providing a
seamless shopping experience and robust administrative features. The
1
Software Construction and Testing Project - Winter 2024
• Personal Finance Tracker with Budget Recommendations : Cre-
ate an app to track expenses and incomes, set budgets, and offer spending
recommendations. Include data visualizations and reports.
• E-Learning Course Management System : Build an online course
platform where instructors can create courses, add lessons, upload re-
sources, and manage students. Students can enroll, view content, and
track their progress.
1.4 Points To Be Covered In Project
The points that must be covered throughout the project:
• Programming Paradigms : Look for the use of declarative and imper-
ative programming styles.
• Design Patterns : Assess the implementation of design patterns.
• Test-Driven Development (TDD) : Evaluate the use of TDD in the
project.
• Testing Techniques and Coverage : Examine the testing techniques
used (unit testing, integration testing , etc.) and the test coverage achieved
(front-end and backend testing) .
• Code Quality : Ensure adherence to clean code principles, SOLID prin-
ciples, and separation of concerns. Evaluate the code’s maintainability,
readability, and modularity.
2 Milestone 1 (Deadline: 15/11/24)
This milestone holds 10% of the total grade.
• Task: Draw the proposed system architecture (monolithic, tiered/layered,
microservices) and select the desired programming framework.
• Bonus : Drawing the desired architecture diagrams (class diagram, se-
quence diagram, entity diagram, etc)
• Submission : A Google Form will be sent to upload your system archi-
tecture and diagrams.
3 Milestone 2 (Deadline: 7/12/24)
This milestone holds 15% of the total grade.
• Task: Deliver the beta version of the software with no syntax errors,
ensuring it works for the happy path scenarios.
2
Software Construction and Testing Project - Winter 2024
• Review : TA reviews the beta version and provides feedback.
• Evaluation : Evaluation will be made during the normal labs. Scheduling
is made on a first-come, first-served basis. (you can choose any lab you
like since cross-teams are allowed). Each team has 20 mins to showcase
their project.
Note: The beta version is a sample of your compiled code.
4 Enhancement Phase
Apply feedback provided by TA or further enhance the project (refactor, review,
and regression testing).
5 Milestone 3 (Deadline: 23/12/24)
This milestone holds 15% of the total grade.
• Final Delivery : Complete and discuss the final version of the project.
6 Cheating Cases
• Case 1: If your diagrams/code was generated using any AI tool, this will
result in 0 for the whole project.
• Case 2 : If 2 teams have the same code, this will result in 0 for the whole
project.