-
Notifications
You must be signed in to change notification settings - Fork 2
/
Project-19
224 lines (201 loc) · 6.56 KB
/
Project-19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
Project19
GUI programming and face recognition/identification with Python.
core functionality {
recognize and identify the faces of the students enrolled in a specific module.
recording time of arrival of the students given the time schedule once the face of the student is identified.
statistical data such as how many students have attended for the current session and who are missing.
how many classes are missed by a specific student.
// addition
student information database{
Face
Student id
}
management log in, set lecture time, search data from particular lecture or student.
adminstrator log in, set parameter to adjust accuracy.
}
tasks {
1) overall system design;
2) face recognition design and development, data related function design and development;
3) GUI design and development;
4) testing at different levels
}
meeting 1 {
formal meeting time schedual
time plan
website functionality
open source library or codes
exist hardware or buy new one
a camera or anything else
database/data structure
accuracy
}
Week 1 {
time plan
use case diagram
website design
python
}
meeting 2 {
Done{
website // not finished yet
use case diagram
time plan // gantt chart
}
Todo{
user requirement specification
}
prototype and UI design
}
Week 2 {
Todo{
requirement analysis
class diagram
component diagram
sequence diagram
UI design
camera function
}
use case diagram{
// need to be more detailed
change 'view' to 'search'
change 'face info' to 'image'
change 'modify' to 'add / delete / update'
}
Software Process Models{
use water-fall model process
first design, then develop
}
four parts{
//develop seperate parts and then integrate
UI, DB, camera based and DB based
}
}
meeting 3{
check timeline
check usecase diagram
check class diagram
}
week 3 {
Modify the class diagram {
// about name format
the first letter of class name should all be in capital and use only one word: TeachingSession
the first letter of attribute in the class should all be in lower-case: groupID
// about all the controller class
the relationship between Teacher class and TeacherController class should be Inheritance(trangle arrow)
the relationship between Admin class and AdminController class should be Inheritance(trangle arrow)
the relationship between Teacher class, Admin class and PublicControl class should be Inheritance(trangle arrow)
// about Module class
the relationship between Student class and Module class should be Aggregation(hollow diamond)
the relationship between Module class and Group class should be Composition(solid diamond)
// about Teacher class
the relationship between Teacher class and Module class should be Association(single arrow)
link Teacher class and TeachingSession class using Aggregation, add [tutor:Teacher] into TeachingSession
// about Teaching session
the relationship between TeachingSession class and Group class should be Association(single arrow)
// about Attendence class
the relationship between Student class and Attendence class can be removed
// about FaceFetector class
the relationship between TeacherController class and FaceDetector class?
the relationship between FaceDetector class and attendence class?
// about attribute
in Module class: tutor should be Arraylist<Teacher>
in Module/Group class: enrolledStudent should be Arraylist<Student>
in Attendence class: attendStudent can be removed
// about method
in FaceDetector class should have identify, reconigize, record and sendComfirmation method
// about main method
where to put main method
}
Modify timeline
Modify use case diagram
}
meeting 4{
class diagram
link to the database
UI design
}
week 4{
UI design for log in page and teacher page.
Modify class diagram {
reconsider the relationship between the classes
reconsider where to put the method
}
}
meeting 5{
Todo{
delete type in log in page
teacher cannot delete the lecture
resume function
general search show everything correctly
have a summary of the attendence of the student
searching for student with the same name
detailed student attendence information
need to be easy to change the status
add command for changing
start a session when time is wrong
add time and rate on the record page
summary for the session/module/student
if cannot be recognized(can take a photo and add command)
class diagram{
people - public controller
rename public controller -> general
rename people -> staff
}
sequence diagram
market research
}
}
Interview {
1. How do you think of our attendance sheet now? Do you need to type these attendence information into an electrical file after class?
A: Painful.
Need to print out the attendence sheet and store the attendent sheet into the computer manually.
Students can sign for each other.
2. If there is a software can take the place of attendance sheet, will you use it?
A: Yes, of course.
Should consider the convience to do the attendence recording. Is it esay or time consuming.
3. If there is a software can take the place of attendance sheet, what functionality do you want on it?
A: Tell me who has be absent for more than three times.
4. Do you prefer according attendance before class or after class?
A: In uk, scan the card before entering. Check in before the class can record who is late.
If do this after class, ten minutes may be not enough.
5. The acceptable time of taking attendance after teaching session?
A: As fast as possible.
6. When doing the search operation, what kind of information do you want to search?
A: About time: cannot remember the time and perfer searching by lecture.
May comparison feature to compare between lectures and modules.
Be sure how safe the data will be protected in the system.
}
meeting 9 {
UI modification
Think about functionality
Rest work division {
WANG Boya organize archives
YU Guohao and ZHU Hongyi learn Latex
LI Mingchen and LI Yiming do the face recognition functions and build database
}
}
library and software material {
library {
sys
pyqt5
pymysql
numpy
face_recognition
cv2
}
software {
MySQL
MySQL workbrench
QtDesigner
}
}
UI modification{
click once and twice have different reaction which may not be user friendly.
Size of text on the button may be too small
Front page button on module page should be disabled
Window title should be more specific
there is a blank space on teachingSession page
Success/Fail do not need press animation, Start/Pause/Stop need press animation
progress bar can be longer
When recording, cannot go back to home page.
}