Professional Documents
Culture Documents
net/publication/364660809
CITATIONS READS
0 151
1 author:
Mohamed Mokhtar
Helwan University
7 PUBLICATIONS 0 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Cars engine type prediction and eyes recognition using SVM and ANN View project
K-th Element of Two Sorted Arrays with two different techniques View project
All content following this page was uploaded by Mohamed Mokhtar on 24 October 2022.
SE-ICOURSEPROJECT(PHASES1&2COVERSHEET)
FORTEAMSOFFIVEMEMBERSONLY
o Print 1 copy of this cover sheet and attach it to a printed copy of the documentation (SRS, … etc.).
You must submit softcopies of all your documents (as PDFs); details will be announced later.
o Please write all your names in Arabic. o Please make sure that your students’ IDs are correct.
o Handwritten Signatures for the attendance of all team members should be filled in before the
discussion.
o Please attend the discussion on time (announced separately), late teams will lose 3 grades.
Team Information (typed not handwritten, except for the attendance signature):
ID [Ordered by Full Name [In Attendance Final
ID] Arabic] Grade
[Handwritten
Signature]
Grading Criteria:
Items Grade Notes
Activity Diagram(s) 2
Helwan University - Faculty of Computers & Artificial Intelligence – Computer Science Department
Module: CS251 Software Engineering 1 – Spring “Semester 2” 2020-2021
Collaboration/Communication Diagram(s) 2
Package Diagram(s) 1
2 Mandatory Design Pattern Applied (Including a typed
description) 4
25
4/29/2021 Foody
Online food ordering system
BUSHKASH TEAM
1. Introduction
1.1 Purpose
The purpose of this system is to build a software to help people
To easily ordering there food online.
1.3 References
1. PHP Tutorial (w3schools.com)
2. PHP Tutorial - Tutorialspoint
3. Stack Overflow - Where Developers Learn, Share, & Build Careers
4. GitHub: Where the world builds software · GitHub
5. Book Robertson & Robertson (2012).
2. System requirements
2.2.3 Performance
2.2.3.1 System should be fast and bugs as few as possible.
2.2.6 Security
2.2.6.1 Only the admin has rights to access users’ details.
2.2.6.2 System should have a few of vulnerability.
3. System diagram
3.1 Use case diagram
3.2 Activity diagram
4. Overall description
4.1 database description
4.1.1 ERD
4.1.2 Tables’ diagram
5. Class diagram
5.1 Initial version
5.2 intermediate version
5.3 Final version
6. Design patterns
6.1 DELEGATION PATTERN
1- Context:
we are designing method “login();” and “register();” in a class “person”. we realize
that another class “system” has a method “checkInformation();” and
“addInformation” which provides the required service.
2- Problem:
How can you most effectively make use of a method “login();” and “register();” that
already exists in the other class?
3- Forces:
we want to minimize development cost by reusing methods.
4- Solution:
The delegating method “login();” and “register();” in the delegator class “person”
calls methods in the delegate class “system” to perform the required task. An
association must exist between the delegator and delegate classes.
6.2 Observer / publish-subscribe
1- Context:
When partitioning a system into individual classes you want the coupling between
then to be loose so you have the flexibility to vary them independently.
2- Problem:
A mechanism is needed to ensure that when the state of an object changes related
objects are updated to keep them in step.
3- Forces:
The different parts of a system have to kept in step with one another without being
too tightly coupled.
4- Solution:
One object has the role of the subject/publisher and one or more other objects the
role of observers/subscribers. The observers register themselves with the subject, &
if the state of the subject changes the observers are notified & can the update
themselves.
And we use the Push Model where the subject send the observers detailed
information about the change that has occurred.
7. System Architecture
8. Package Diagram
9. Sequence Diagram
10. Collaboration/Communication Diagram
11. External interface
a. user interface
- Front end: html, css, Javascript, bootstrap and jquery.
- Back end: Mysql and php.
b. hardware interface
- browser which supports html and javascript.