Professional Documents
Culture Documents
7 College Management System Group 3
7 College Management System Group 3
7 College Management System Group 3
Submitted to:
Dr. Kazi Muheymin-Us-Sakib
Professor
Institute of Information Technology
University of Dhaka
2
Table of Contents
Front Page 1
Table of Contents 2
Elicitation of 7CMS 8
Collaborative Requirements Gathering 8
Quality Function Deployment 8
Normal Requirements 8
Expected Requirements 9
Exciting Requirements 9
Notice Board 14
Complaints and Feedback 14
Frequently Asked Questions (FAQ) 14
Progress 14
Mental healthcare panel 14
10. Fundraising panel 14
11. Digital Certificate 15
Teacher Dashboard 15
1. Course Materials Upload 15
2. Marks Upload 15
3.Teacher Feedback 15
4. Course Progress 15
5. Edit Profile Information 16
Staff Dashboard 16
1. Notice Upload 16
2. Staff Feedback 16
3. Calendar Management 16
4. Edit Profile Information 16
Admin Dashboard 16
1. Create Accounts 16
2. Archive accounts 17
3. Edit Profile Information 17
4. Software Feedback 17
Result Process 17
Payment: 17
Requirements Modeling 18
Activity Diagram 39
Activity 1.1 Account management 39
Activity 1.2 Login 39
Activity: 1.3 Dashboard 40
Activity: 1.4 Payment 41
Activity: 1.5 Result 42
Activity: 1.6 Notification 44
Activity: 1.1.1 Account Creation 45
Activity: 1.1.2 Password Recovery 46
Activity 1.3.1.2: Result View 47
Activity 1.3.1.1: Form Fillup 48
Activity 1.3.1.3: Information view 49
Activity 1.3.1.4: Complaint Box 50
Activity 1.3.1.5: Mental Health 51
Activity 1.3.1.6: Fundraising 52
Swimlane Diagram 52
Swimlane Diagram: 1.2 Log In 54
Swimlane Diagram: 1.3 Dashboard 55
Figure-29: Swimlane Diagram 1.3 (Dashboard) 55
Swimlane Diagram: 1.4 Payment 56
Figure-30: Swimlane Diagram 1.4 (Payment) 56
Swimlane Diagram: 1.5 Result 57
Figure-31: Swimlane Diagram 1.5 (Result) 57
Swimlane Diagram: 1.6 Notification 58
Swimlane Diagram: 1.1.1 Account creation 59
Swimlane Diagram: 1.1.2 Password Recovery 60
Figure-34: Swimlane Diagram 1.1.2 (Password Recovery) 60
Swimlane Diagram: 1.3.1.1 Form Fillup 61
Figure-35: Swimlane Diagram 1.3.1.1 (Form Fill Up) 61
Swimlane Diagram: 1.3.1.2 Result View 62
Swimlane Diagram: 1.3.1.3 Information View 63
Swimlane Diagram: 1.3.1.4 Complaint View 64
Swimlane Diagram: 1.3.1.5 Mental Health 65
Potential To Be Classes 72
Selection Criteria 73
Selected Classes 74
Attribute and Method Identification 75
1.Account 75
2.Admin 75
3.Complaint Box 75
4.Form Fill up 75
5. Payment 75
6.SSLCommerz 76
7.Staff 1
8.Student 76
9.SMS 77
10.System 77
11.Teacher 78
12.Viewer 1
Analysis 79
Final Classes 82
Class Cards 83
1.Account 83
2.Admin 83
3.Complaint Box 84
4. Form Fillup 84
5.Payment 85
6. Staff 86
7. Student 87
8. SMS 88
9. System 89
10. Teacher 89
11. UI 90
12. Generator 92
13. Getter 93
14. Checker 94
15.Viewer 95
CRC Diagram 96
ID 1 96
Name: Account 96
ID 2 96
Name: Admin 96
ID 3 97
6
Name: Complaint 98
ID 4 98
Name: Form fillup 98
ID 5 99
Name: Payment 99
ID 6 100
Name: Staff 100
ID 7 101
Name: Student 101
ID 8 102
Name: SMS 102
ID 9 103
Name: System 103
ID 10 104
Name: Teacher 104
ID 11 105
Name: UI 105
ID 12 107
Name: Generator 107
ID 13 107
Name: Getter 107
ID 14 108
Name: Checker 108
ID 15 109
Name: Viewer 109
ID 12 125
ID 13 126
ID 14 126
ID 15 127
Sequence Diagram 128
Figure:General Sequence Diagram 130
Figure:Student Sequence Diagram 131
Figure:Teacher,Staff,Admin Sequence Diagram 132
Data Flow Diagram 132
Level 1: 7CMS 133
Level 2: Password Recovery 134
Level 2: Account Creation 135
Level 2: Login 135
Level 2: Payment 137
Level 2: Dashboard 138
Level 3: Feedback 138
Level 3: Student Dashboard 140
Level 3: Edit Information 141
Level 3: Fundraising Help 142
Level 3: Management 142
Level 4: Generate Digital Certificate 144
8
Elicitation of 7CMS
The main task of the elicitation phase is to combine the elements of problem solving,
elaboration, negotiation and specification. The collaborative working approach of the
stakeholders is required to elicit the requirements. The following tasks have been finished for
eliciting requirements of 7CMS:
● Collaborative Requirements Gathering
● Quality Function Deployment
● Usage Scenarios
Normal Requirements
Normal Requirements are generally the objectives and goals that are stated for a product or
system during meetings with the customer. The presence of these requirements fulfills
customers’ satisfaction. The normal requirements are given below:
● Faculties and students will create an account by providing their credentials and the
account will be automatically verified.
● A predefined account will be given to the admin.
● Admin will create accounts for college staff.
● Users can recover their password if forgotten.
● College staff will upload notices and results.
● Complaints and Feedback panel is to be created for students, staff and students.
● Results and transcripts will be provided to the students through Dashboard.
● Every dashboard will have a notification panel.
● Student information will automatically be integrated into their profile.
Expected Requirements
These requirements are intrinsic to the product or system and may be so elementary that the
customer does not explicitly state them. Their absence will be a cause for significant
dissatisfaction. Below are the expected requirements for this software:
● User friendly interface
● Encrypted password storage
● Data security
● Improvement exam results are to be integrated with regular exam results
● Digital signature method for faster document approval
● Updated syllabus availability
● Information regarding faculty members to be available for students
● LinkedIn profile attached with student profile.
Exciting Requirements
These requirements are for features that go beyond the customer’s expectations and prove to
be very satisfying. These are the exciting features of our project:
● Statistical sheet for students’ progress and result
● If a large number of students are performing poorly in a particular subject for several
semesters, system will use artificial intelligence to figure out the best possible solution of
what steps should be taken by the course instructor
● Student can review and rate the software along with teacher’s performance and staff’s
behavior by remain anonymous
● When the student passed 4th year successfully, a digital certificate will be generated
10
● If a student faces a financial problem, he can apply for fundraising with necessary
documents which will be verified by faculty and after verification alumni and other
student can donate for that fundraising
● If a student needs consultation about his mental health, he can consult with the student
advisor by remain anonymous through a mental health care panel
● There will be a timetable for the authorities and teachers panel where faculty and
teachers can update the time of when they will be present in the department.
password, and additionally his address and phone number. The provided father’s and mother’s
name will be cross checked with data stored in the database for verification.For completing
phone verification, the system will send an OTP to that phone number.Student will then enter
the OTP.On the action of providing correct OTP, the phone number will be registered with the
account. If the information provided does not match, a message will be displayed saying “Given
information does not match”. He also has to provide a strong password, which needs to contain
the followings:
● At least 8 characters
● A combination of uppercase and lowercase letters, numbers and symbols.
Once a student provides all information correctly, his sign up will be completed and he will be
redirected to the dashboard.
Password Recovery
When a user forgets the password of his account, he can click on the ‘Forget Password?’
button. It will redirect him to an OTP interface where he will provide the registration number if he
is a student, else provide the username, and an OTP will be sent to the registered phone
number. When he enters the correct OTP in the interface, a password reset interface will appear
where he will be asked to provide a new password and confirm this newly provided password.
The provided password will then be matched with the password strength criteria. If the
password matches the criteria then the system will store the new password in the corresponding
database or else a notification will be sent that “Password must contain at least 8 characters
including at least 1 uppercase, 1 lowercase, 1symbol and 1 number ”.
12
Once the password reset is completed, a message saying “Password reset successfully” will be
displayed, and the user will be redirected to the login interface.
2-Factor Authentication
After Successful Login a user will be directed to his account’s dashboard from where he can
ON/OFF his 2 factor authentication.
If the user wants to turn off 2 factor authentication he will press the turn off 2 factor
authentication option.
Then the system will ask the user to provide his account’s password. On successful
authentication,the system will send an OTP to the registered phone number and redirect the
user to an interface where the user will provide the OTP.If the provided OTP is correct, system
will turn off the 2 factor authentication, save the authentication status in the corresponding
database and send a notification to the user’s dashboard.
Change Password
After successful login, If a user wants to change his password from the dashboard, he will go to
the change password section where the system will ask him to provide his old password. After
providing the password the system will check whether the provided password is valid or not. If
valid then the system will allow the user to change his password according to the password
strength criteria and store the new password in the corresponding database.
Login
Every user other than a guest user will have to log in via the login interface. The login process
for different types of users are as follows:
13
1. Student Login
Going to the “Student Login” section, a student has to enter his registration number and
password in the login interface, and then press the Sign In button. If the provided credentials do
not match the account credentials stored in the database, a message stating that “Given
credentials do not match” will be displayed, and he will be asked to provide valid credentials. If
the provided credentials match, the system will check in the database whether the account’s 2
factor authentication is ON or OFF. If it is ON, an OTP will be sent to the registered phone
number. Upon providing OTP correctly, he will be redirected to the dashboard but if the 2 factor
authentication is OFF then the student will be redirected to the dashboard without any OTP
check.
Dashboard
Student Dashboard
Once a student successfully logs in, the dashboard will offer him access to the following options:
1. Edit Information
He can update his information, upload a photo, change his password, and turn on or off
two-factor authentication in this section.
2. Form Fill Up
A student can complete his exam form using this section. A student has to select the
examination he wants to attend, select his session, provide the list of the courses he’s taking
,exam type(Regular/Improve) and press “Submit”. He will be taken to the payment page, where
he will be asked to confirm the method of payment, and after confirming the method of payment,
he will be redirected to the payment portal to complete the payment.
14
He can edit his given exam information till the deadline of the form fill up runs out. An admit card
will be generated by the system which he can download or print once it is approved by the
authority .
3. Result view
A student will visit the Result section. Here he will provide his registration number, roll number,
running year and select the program name. If the database has any result for the information
provided, the student will be able to view his result along with the marksheet. If there is no result
in the database for the information provided, a message will be displayed saying “Result Not
Found”.
4. Syllabus
In the syllabus section, a student will choose the program name, year, and semester, to view
and download the syllabus of that specific semester for that program. Additionally, he will be
able to view folders named after all the courses of that semester containing the books in pdf
format and lecture slides (if available) during that semester. The student can download anything
from these folders. He can also download an entire folder or all the folders at once as zip files.
5. Notice Board
A student can view department, college and central - all types of notices in the notice board. He
can also filter the notices by choosing a combination of the program name, year, semester and
college.
8. Progress
In this section, a student can view a graph of their performance in different courses in a
semester as well as overall performance across different semesters. He can also view his
attendance and marks in assignments and tasks in different courses of the current semester.
15
Teacher Dashboard
Once a student successfully logs in, the dashboard will offer him access to the following options:
2. Marks Upload
A teacher will enter marks for assignments, tests, quizzes, midterm exams, lab works,
presentations, term papers, final exams and other tasks in this section which will be stored in
the central database from where the student can view it
16
3.Teacher Feedback
The students may send complaints regarding any member of the faculty, and a teacher is
assigned to deal with the complaints, who receives and replies to the messages from students
using their dashboard.
4. Course Progress
A teacher will be able to view a graph showing the progress of his course, and information about
students’ performance, attendance, progress of assignments and other tasks of students.
Staff Dashboard
Once a staff member successfully logs in, the dashboard will offer him access to the following
options:
1. Notice Upload
Three types of notices can be uploaded: specific department’s notice verified by the head of that
department, specific college’s notice verified by that college authority, and central notice for all 7
colleges. Department notices can only be uploaded by department staff and similarly, college
notices by college staff and central notices from Registrar Building staff of University of Dhaka.
2. Staff Feedback
Any complaints made against a particular staff will appear in the complaint box of the superior of
that staff. Once the issue is resolved, the staff who resolved the issue, will click on the
‘Resolved’ button and send feedback to the student who made the complaint.
3. Calendar Management
In this section, staff members of a department can add events and academic calendar for this
department. Staff members of a college can add events and holidays for the college. These
events will be synced with the Google Calendar of the email address of all users.
Admin Dashboard
Once the admin successfully logs in, the dashboard will offer him access to the following
options:
1. Create Accounts
In this section, the admin will be able to create new accounts for teachers and staff members.
He has to provide a username, a one-time password and an email address provided to him by
the user whose account is being created to create a new teacher and staff account, and this one
time password will be sent to the provided email address.
2. Archive accounts
Admin will archive the accounts of teachers and staff members who either retired or are no
longer in these institutions.
4. Software Feedback
When a complaint against software will be solved, the admin can send the feedback to that
student who has made the complaint from this panel
Result Process
The teacher will enter the marks of the final exam including the continuous marks. Then the
system will store the result and set the status of the result as unauthorized. Then 2nd examiner
will upload the marks of the final exam which will also be stored by the database
Then the exam officer will authorize the result and mark the result status as authorized. When
all subject’s result status will be authorized then the system will generate a marksheet as well as
a statistical sheet of each student and calculate the result (CGPA+GPA in that particular
semester) and each mark sheet will be stored in the central database until the head of
department publishes it. After publishing the all mark sheets will be sent to the student database
from where the student will be able to view it through his dashboard
18
Payment:
When applying for admission to a new year(1st/2nd/3rd/4th) or at the time of giving exam fee, a
student must first confirm the application by paying the application fee/form fill up fee. This fee
can be paid either online or offline. In case of an offline payment, the student pays the fee to any
branch of the connected bank(Agrani/Janata/Sonali). The bank employee confirms payment and
provides the student with a receipt for proof of payment. Then the student gives the receipt to
his department staff who updates the status of the student’s payment in the system. Then
system stores the status in the student database and send notification to the student dashboard
and also send a sms to the student’s registered mobile number
In case of online payment, the student can avail online platforms like SSLCommerz. In this case
after payment has been made, the commerce platform sends the student an OTP via SMS
service, which the student can provide to the application system to authenticate the payment.
After authentication the system connects the SSLCommerz API to the student panel from where
students provide phone number/account number and amount and pin/CVC code to complete
payment. After successful completion, the system stores the payment status in the student
database.
Requirements Modeling
At a technical level, software engineering begins with a series of modeling tasks that lead to a
specification of requirements and a design representation for the software to be built. The
requirements model, actually a set of models - if the first technical representation of a system.
Requirements modeling uses a combination of text and diagrammatic forms to depict
requirements in a way that is relatively easy to understand, and ,more importantly,
straightforward to review for correctness, completeness and consistency.
Primary Actor
Primary actors interact to achieve required system function and derive the intended benefit from
the system. They work directly and frequently with the software.
20
Secondary Actor
Secondary actors support the system so that primary actors can do their work. They either
produce or consume information.
Level 0:
Name: 7-College Management System
Primary Actor: Student,Teacher,Staff,Admin
Secondary Actor: SSLCommerz, Email/SMS, Student Database, Central Database, System
Level 1:
Name: 7-College Management System
Primary Actor: Student, Teacher, Staff, Admin
Secondary Actor: SSLCommerz, SMS, Student Database, Central Database, System
Description:
1.Account Management:
A1: Students will provide necessary information to open an account and other users will direct
login using a given username and OTP. Every user can add/edit their information,
set/update/recover their password in this portion
R1: System will store information to the corresponded database
2.Login
3.Dashboard
A1: User will press the information section that he wants to see
R1: System will direct him to the related interface and then fetch data from database for viewing
4.Payment
A1: Student will make payment in this section by providing the payment method,amount and
necessary details
R1: System will call SSLCommerz API and send the provided details to the SSLCommerz
A2: When payment is successful SSLCommerz will send confirmation to the system or else it
will send “Payment Unsuccessful” notification to the system
R2: If SSLCommerz sends confirmation to the system,it will generate a paid receipt and send it
to the student database or else system will send a “Payment Unsuccessful” message to the
dashboard
5. Result
A1: Teacher,Exam officer and head of department will upload,authorize and publish the result
23
R1: System will the store the result as well as the result status in the central database,generate
marksheets when all results are authorized and send it to the student database when it is
published
6.Notification
Description:
1.Account Creation
A1: User will select his type and based on the type he will complete his account creation by
doing registration/First Log in, setting password and adding information
25
R1: Based on the type system will redirect him to the corresponding interface and on successful
completion of account creation system will store the data in the related database
2 Password Recovery
3. Edit Information
A1: User will select the type (turn on/off) of 2-factor authentication
R1: System will ask the user to provide the account password first
5. Change Password
26
Description:
1.Student dashboard: Students can edit their profile information, view results, frequently asked
questions,course contents, syllabus, complaints and feedback,notices and their academic
progress from the dashboard. They can also use the dashboard for completion of form fillup
activities,ask for mental health consultation and apply for fundraising
2.Staff dashboard: The staff uploads notices to the database using their dashboard. They can
provide feedback on the response of a student complaint to a staff and manage the calendar as
well. In addition, staff can edit their profile information as well.
3.Admin dashboard: The administrator uses the dashboard to edit his own profile information.
Afterwards, the admin uses the dashboard to create new teacher and staff accounts and can
also archive accounts of staff and teachers who are no longer associated with the institute and
provide a feedback to a student complaint about software.
4.Teacher dashboard: Teachers can view course progress and upload course materials, exam
marks to the system using their dashboard. They can also edit their profile information using the
dashboard and provide feedback on the response of a student complaint.
Description:
Bank Payment:
A student will provide the transaction details of any physical bank payment which will be
confirmed by a designated staff member.
Online Payment:
Users can choose to pay online on any order via SSLCommerz. Users will be sent an SMS to
notify about the transaction. Relevant banks will also be notified about the transaction in order to
update users account details.
Description
This module basically describes the result process of the 7-College Automation System where a
teacher can upload result which will be authorized by the exam officer and on the completion of
all course teacher’s mark authorization, head of department will publish the result
A3: When all the stored results are authorized then the system will generate marksheet
corresponding to every student
R3: Generated marksheet will be stored in the central database
Description
In order to get service every person in the 7-College Automation System must have to create an
account based on their designation. This module describes how different users create their
account, add information and set passwords.
A2: When the student enters in the dashboard he will have to add some necessary information
in his profile which includes (Father’s name, Mother’s name,Email,Phone)
R2: System will send OTP in the given phone number
A4: At the password setting screen the student will enter a new password and confirm the
password
31
R4: If the given password does not fulfill the password criteria then the system will send
notification that “Password must contain at least 8 characters/Password must contain at least 1
uppercase letter,lowercase letter, symbol and number”. But if the password matches the criteria
then the system will store the password in the student database.
Description
When the student login is successful, he is redirected to his dashboard panel where he can form
fill up for an exam, view result of any semester,view any kind of academic information (syllabus,
notice, progress), complaint about a teacher/staff/software, consult a teacher for mental
healthcare and apply for fundraising if he feels any financial problem.
32
1.Form-Fill Up
A1:Student will give his exam information and press submit
R1:System will store the information into student database
2.Result View
A1: Student will enter his exam credentials(department,session,semester,exam roll,reg no) in
order to view result
R1: System will verify if the credentials matched with any of the student entities in the student
database. If matched, system will send result to the student dashboard or else system will send
a message stating that “Given credentials not matched”
3.Information view
A1: Student will request to view information like syllabus,notice,FAQ,progress
R1: System will fetch data from the corresponding database and show it to the student
dashboard
4.Complaint
A1: Student will select complaint type
R1: System will direct him to an interface based on the type he select
5.Mental HealthCare
A1: Student will select the anonymous type of his identity
R1: System will store the anonymous status in his database
A3: Student will check if his request has been accepted or not
R3: System will send “Your request has been accepted. Please write your problem” notification if
the request status in the student database is accepted or else “Request Pending for
acceptance” message will be shown.
6.Fundraising
A1: Student will apply for the fundraising panel & attach necessary documents
R1: System will store all information in the student database and send it to the teacher
dashboard
A2: System will send notification to the other running student and alumni student if the
fundraising application is accepted by the teacher(student advisor) and it will also send
“Application accepted” message to the applicant student
R2: The student will input his account number/mobile banking number in which he want to
accept money
34
Description
Upload notice: Staff will upload notice and anyone will be able to view it
Staff Feedback: If a complaint from student get solved then staff will upload the feedback
regarding that complaint
Calendar Management: Staff members of a department can add events and academic
calendar for that department. These events will be synced with the Google Calendar of the
email address of all users.
A2: Staff will give feedback if a complaint against another staff has been resolved
R2: System will store the feedback in the central database and send it to the student’s
dashboard who has made the complaint.
A3: Staff will add different events and holidays of departments and college
R3 : System will store that into the central database and sync these events with the Google
calendar of the email addresses of all users.
Description
Creating Teacher and staff accounts: Admin will create new accounts of teachers/staffs
Archiving Accounts: If any teacher or staff member retires from his job, then the admin will
archive his account.
Software Feedback: Admin maintain software feedback and reply to this feedback. If there is a
problem with software, the admin can solve this issue.
36
A2: Admin will archive accounts who are no longer part of 7-College
R2: System will move those accounts to archive section in the central database
Description:
Material & Marks Upload: Teacher uploads his class materials in his dashboard which is linked
with his students.He also upload his assignment marks,continuous assessment, final exam
marks to the central database which will be used by system to generate sheets
Course Progress Info: Teacher updates his course progress info. He daily updates which topic
he covers.
Teacher Feedback: Teacher will give feedback against a student complaint.
37
A2: Teacher will update the course progress and topic names that covered in each class
R2: System will store it into the central database
Description
In this module a student can see information about syllabus,notice,FAQ and his progress in a
particular course at a particular semester
A2: If the information type is syllabus, student will give department name, current
year(1st/2nd/3rd/4th), current semester to get the syllabus of that particular semester
R2: System will fetch the syllabus data from the central database and send it to the student
dashboard panel
A3:If the information type is notice, student will select program, department and session to get
notices
R3: System will fetch all the college notices along with central notices based on the condition
given by the student
A4:If information type is FAQ student will be directed to the FAQ page
R4:System will fetch FAQ stored in the central database from where the student can view it
A5: If the information type is progress, the student will be directed to the progress page where
he can select the semester,course and type of progress he wants to view.
R5: If the progress type is performance, the system will send assignment progress along with
continuous marks to the student dashboard panel,and if the progress type is attendance it will
send the attendance of the student in that particular course to the dashboard.
39
Activity Diagram
Activity diagram is an important behavioral diagram in UML diagram to describe dynamic
aspects of the system. Activity diagram is essentially an advanced version of flowchart that
models the flow from one activity to another activity.
Swimlane Diagram
A swimlane diagram is a type of flowchart, which diagrams a process from start to finish, but it
also divides these steps into categories to help distinguish which departments or employees are
responsible for each set of actions. It is based on the analogy of lanes in a pool, as it places
process steps within the horizontal or vertical “swimlanes” of a particular department, work
group or employee, thus ensuring clarity and accountability.
Class based modeling represents the objects that the system will manipulate, the operations
that will be applied to the objects to affect the manipulation, relationships between the objects,
and the collaborations that occur between the classes that are defined. The elements of a
class-based model include classes and objects, attributes, operations,
class-responsibility-collaborator or CRC models, collaboration diagrams and packages.
52. Complaint box 53. Mental healthcare panel 54. Student advisor
55. College Authority 56. Marksheet 57. Student information
58. CVC 59. Mobile banking pin 60. Student
61. Complaint 62. Materials 63. Subject
64. College Name 65. Notice board 66. Syllabus
67. Contact Details 68. Notification panel 69. Teacher feedback
70. CGPA 71. OTP 72. Teacher
73. Continuous marks 74. OTP interface 75. SMS
76. Database 77. Offline payment 78. Transcripts
79. Donation 80. Parent’s Names 81. Types of notices
82. Department 83. Password strength criteria 84. User type
85. Dashboard 86. Payment status 87. Username
88. Digital certificate 89. Phone number 90. Verification status
91. Digital signature 92. Program name 93. Year
94. Document Approval 95. Password 96. Zip files
97. System 98. Payment 99. LinkedIn Profile
69
General Classification
Candidate classes are categorized based on the seven general classification. The
analysis classes manifest themselves in one of the following ways:
1. External entities
2. Things
3. Events
4. Roles
5. Organizational units
6. Places
7. Structures
A candidate class is selected for special classification if it fulfills three or more
characteristics.
1 2FA 2,3,7
2 Account 4,5,7
3 Address 2
4 Admin 4,5,7
5 Attendance percentage 2
6 Admit card 2
9 Course progress 2
11 CVC 2
70
12 College Name 2
13 Contact Details 2
14 CGPA 2
15 Continuous marks 2
16 Database 2,5,6
17 Donation amount 2
18 Department name 2
19 Dashboard 6
21 Digital signature 2
22 Document Approval 2
23 Exam type 2
24 Exam roll 2
25 Email 2
27 FAQ 2
28 Fundraising 2,3
32 Graph of performance 2
33 GPA 2
34 Calendar 2
35 LinkedIn Profile 2
37 Marksheet 2
71
39 Materials 2
41 Notification panel 6
42 OTP 2
44 Parent’s Names 2
46 Payment status 2
47 Phone number 2
48 Program name 2
49 Password 2
51 Profile 2,5,6,7
52 Progress Percentage 2
54 Registration number 2
55 Result status 2
57 Roll number 2
58 Session 2
59 Supervision status 2
60 Semester 2
61 Section 2
62 SSLcommerz 1,7
63 Software feedback 2
64 Staff feedback 2
65 Staff 4,5,7
72
67 Student information 2
68 Student 4,5,7
69 Subject 2
70 Syllabus 2
71 SMS 1
72 System 4,5,6,7
73 Teacher feedback 2
74 Teacher 4,5,7
75 Transcripts 2
76 Types of notices 2
77 User type 2
78 Username 2
79 Verification status 2
80 Year 2
81 Zip files 2
82 Viewer 2,3,5
Potential To Be Classes
1. 2FA
2. Account
3. Admin
4. Complaint Box
5. Database
6. Form Fill up
7. Offline Payment
8. Online Payment
9. SSLCommerz
10. Staff
11. Student
12. SMS
13. System
73
14. Teacher
15. Viewer
Selection Criteria
The candidate classes are then selected as classes by six Selection Criteria:
1. Retain information
2. Needed services
3. Multiple attributes
4. Common attributes
5. Common operations
6. Essential requirements
A candidate class generally becomes a class when it fulfills around three
characteristics.
1. 2 Factor Authentication 1
2. Account 1,2,3,4,5
3. Admin 1,2,3,4,5
6. Database 1,2
8. Offline Payment 6
9. Online Payment 6
10. SSLCommerz 6
13. SMS 6
74
16. Viewer 6
Selected Classes
1. Account
2. Admin
3. Complaint Box
4. Form Fill up
5. Payment
6. SSLCommerz
7. Staff
8. Student
9. SMS
10. System
11. Teacher
12. Viewer
75
-Address 1. +login()
-College Name 2. +select_user_type()
1.Account 3. -recover_password()
-Department Name
-Email 4. +view_calendar()
5. +change_2FA_status()
-OTP
6. +send_contact_information()
-Password
7. +recieve_contact_information_response()
-Phone Number
8. +send_OTP()
-Username
9. +receive_OTP_response()
-Usertype 10. +provide_password()
11. +get_password_validity_response()
12. +change_username()
13. +get_username_validity_response()
-Feedback 1. +get_software_complaint()
2. +send_feedback()
2.Admin 3. +creating_new_accounts()
4. +archiving_accounts()
-CVC 1. +get_mobile_banking_pin()
-Mobile Banking PIN 2. +verify_mobile_banking_pin()
5. Payment 3. +send_response()
-Bank Branch Name
4. +send_transaction_detail
-Bank Branch Receipt Number
5. +get_CVC()
6. +get_bank_payment_detail()
7. +store_bank_payment_detail()
-CVC 1. +get_CVC()
-Mobile Banking PIN 2. +get_mobile_banking_pin()
6.SSLComme 3. +get_amount
-isTransaction_completed
rz 4. +verify_mobile_banking_pin()
-isNotified
5. +verify_CVC()
6. +make_payment()
7. +send_transaction_detail()
8. +send_payment_response()
1. +send_calendar()
-Calendar 2. +upload_notice_with_type()
7.Staff -Feedback 3. +get_staff_complaint()
-Notice 4. +send_feedback()
-Notice type 5. +provide_bank_payment_detail()
1. +provide_reg_information()
2. +receive_reg_info_validity()
8.Student 3. +set_password()
-LinkedIn profile link
4. +get_password_validity_response()
-Parent’s Names
5. +set_contact_information()
-phone number 6. -provide_OTP()
-Complaint 7. -get_OTP_response()
-Complaint type 8. +give_login_info()
-syllabus_download_type 9. +get_login_info_response()
-password 10. +provide_exam_information()
-type 11. +get_form fillup response()
12. +edit_exam_information()
-photo
13. +provide_syllabus_information()
14. +enter_Syllabus_download_type()
15. +recieve_syllabus_download_response()
16. +download_syllabus()
17. +provide_notice_type()
18. +apply_for_fundraising()
19. +send_donation()
20. +enter_mobile_banking_pin()
21. +enter_CVC()
22. +enter_amount()
23. +get_payment_response()
24. +apply_for_mental_healthcare()
25. +send_message()
26. +send_complaint_and_type()
77
27. +get_digital_certificate()
28. +get_transcript()
-isVerified 1. +send_OTP()
-isCodeSent 2. +validate_input_mobile_number()
9.SMS -mobileNumber 3. +verify()
1. +view_marksheet()
2. +view_statistical_sheet()
12.Viewer 3. +view_form_fillup_deadline()
4. +view_syllabus()
5. +view_notice()
6. +view_FAQ()
7. +view_fundraising_application_status
8. +view_performance_graph()
9. +view_donation_amount()
10. +view_slides()
11. +view_progress_percentage()
79
12. +view_continous_marks()
13. +view_supervision_status()
14. +view_feedback()
15. +view_digital_certificate()
16. +view_transcript()
Analysis
By analyzing the above table we can see that the methods and attributes of online payment and
SSLCommerz are almost the same. So we can merge these two classes in 1 class and named it
Payment Class.
So the structure of the new payment class will be-
Also the system and student class contains 70 and 43 methods respectively. As it is a very large
class, we can divide it into subclasses named UI,getter,generator,and checker. All 5 classes will
be inherited by the new system class.
UI 1. +send_password_validiity_response()
2. +send_OTP_response()
3. +send_info_validity()
4. +send_login_response()
80
5. +send_exam_information_response()
6. +send_syllabus()
7. +send_syllabus_download_response()
8. +send_notice()
9. +send_digital_certificate()
10. +send_digital_transcript()
11. +send_username_validity_response()
So the new System class will contain the following methods and will inherit notification and
storage class
System 1. +receive_2FA_change_request()
1. -Admit card 2. +receive_OTP()
2. -Calendar 3. +delete_OTP()
4. +direct_to_dashbaord()
3. -Donation Amount
5. +validate_exam_information()
4. -Digital Signature
6. +find_syllabus()
5. -Document approval 7. +verify_syllabus_download_type()
status 8. +change_fundraising_type()
6. -Final exam marks 9. +change_username()
7. -Form fill up 10. +change_password()
8. -Fundraising type 11. +increase_donation_amount()
9. -Materials 12. +update_payment_status()
10. -Notice 13. +store_in_database()
11. -Syllabus
12. -Supervision status
82
Final Classes
1. Account
2. Admin
3. Complaint Box
4. Form Fill Up
5. Payment
6. Staff
7. Student
8. SMS
9. System
10. Teacher
11. UI
12. Generator
13. Getter
14. Checker
15. Viewer
83
Class Cards
1.Account
Attributes Methods
-Address +login()
-College Name +select_user_type()
-Department Name -recover_password()
-Email +change_2FA_status_request()
-OTP +receive_2FA_status_change_response()
-Password +send_information()
-Phone Number +recieve_information_response()
-Username +send_OTP()
+receive_OTP_response()
-Usertype
+set_password()
+change_pasword()
+receive_set_new_password_notification()
+get_password_validity_response()
+change_username()
+get_username_validity_response()
Responsibility Collaborator
Logging in Getter,UI
2.Admin
Attributes Methods
-Feedback +get_software_complaint()
+send_feedback()
+creating_new_accounts()
+archiving_accounts()
Responsibility Collaborator
3.Complaint Box
Attributes Methods
Responsibility Collaborator
4. Form Fillup
Attributes Methods
Responsibility Collaborator
5.Payment
Attributes Methods
-CVC +get_amount()
-Mobile Banking PIN +get_mobile_banking_pin()
-Bank Branch Name +verify_mobile_banking_pin()
+get_CVC()
-Bank Branch Receipt Number
+verify_CVC()
-isTransaction_completed +make_payment()
-isNotified +send_transaction_detail()
+send_payment_response()
+get_bank_payment_detail()
+store_bank_payment_detail()
Responsibility Collaborator
6. Staff
Attributes Methods
-Calendar +send_calendar()
-Feedback +upload_notice_with_type()
-Notice +get_staff_complaint()
-Notice type +send_feedback()
+provide_bank_payment_detail()
+set_deadline()
Responsibility Collaborator
7. Student
Attributes Methods
+apply_for_fundraising()
+send_donation()
+apply_for_mental_healthcare()
+receive_application_status()
+send_message()
+get_digital_certificate()
+get_transcript()
+send_complaint_and_type()
+enter_mobile_banking_pin()
+enter_CVC()
+enter_amount()
+get_payment_response()
Responsibility Collaborator
Viewing Information UI
8. SMS
Attributes Methods
-isVerified +send_OTP()
-isCodeSent
-mobileNumber
Responsibility Collaborator
9. System
Attributes Methods
Responsibility Collaborator
Deletion of OTP
Storing in database
10. Teacher
Attributes Methods
Responsibility Collaborator
11. UI
Attributes Methods
+send_new_2FA_status()
+send_password_validiity_response()
+send_OTP_response()
+send_set_new_password_notification()
+send_info_validity()
+send_login_response()
+send_exam_information_response()
+send_syllabus()
+send_syllabus_download_response()
+send_notice()
+send_digital_certificate()
+send_digital_transcript()
+send_username_validity_response()
+send_application_status()
+send_complaint()
Responsibility Collaborator
12. Generator
Attributes Methods
1. -CGPA +generate_OTP()
2. -Digital certificate +generate-FAQ()
3. -GPA +generate_CGPA()
+generate_GPA()
4. -FAQ
+generate_Marksheet()
5. -Marksheet +generate_statistical_sheet()
6. -OTP +generate_performance_graph()
7. -Performance graph +generate_digital_certificate()
8. -Statistical result sheet +generate_transcript()
9. -Transcript
Responsibility Collaborator
13. Getter
Attributes Methods
Responsibility Collaborator
14. Checker
Attributes Methods
Responsibility Collaborator
15.Viewer
Attributes Methods
+view_calendar()
+view_marksheet()
+view_continous_marks()
+view_statistical_sheet()
+view_progress_percentage()
+view_performance_graph()
+view_form_fillup_deadline()
+view_donation_amount()
+view_feedback()
+view_fundraising_application_status()
+view_slides()
+view_supervision_status()
+view_digital_certificate()
+view_transcript()
+view_syllabus()
+view_notice()
+view_FAQ()
Responsibility Collaborator
CRC Diagram
ID 1
Name: Account
ID 2
Name: Admin
ID 3
Name: Complaint
ID 4
ID 5
Name: Payment
ID 6
Name: Staff
ID 7
Name: Student
ID 8
Name: SMS
ID 9
Name: System
ID 10
Name: Teacher
ID 11
Name: UI
ID 12
Name: Generator
ID 13
Name: Getter
ID 14
Name: Checker
ID 15
Name: Viewer
BEHAVIORAL MODELING
The behavioral model indicates how software will respond to external events or
stimuli. In the context of behavioral modeling, two different characterizations of
states must be considered: (1) the state of each class as the system performs its
function and (2) the state of the system as observed from the outside as the system
performs its function.
Event Table
+get_password()
+change_pasword()
+send_login_response()
+get_username_validity_response()
+get_password_validity_response()
+get_exam_information_response()
+direct_to_payment_page()
+get_payment_response()
+send_complete_form_fill_up_response()
+edit_exam_information()
+get_info()
+check_form_fillup_deadline()
+edit_information()
+send_exam_information_response()
+provide_notice_type()
+send_notice()
+view_notice()
+view_FAQ()
+view_calendar()
+view_form_fillup_deadline()
114
ID 1
Name: Account
ID 2
Name: System
ID 3
Name: Staff
ID 4
Name: Generator
ID 5
Name: SMS
ID 6
Name: Payment
ID 7
Name: Student
ID 8
Name: Teacher
ID 9
Name: Admin
ID 10
Name: Viewer
ID 11
Name: Checker
Figure: State
Transition diagram
for Checker Class
125
ID 12
Name:Form fillup
ID 13
Name: Complaint Box
ID 14
Name: UI
ID 15
Name:Getter
Sequence Diagram
The second type of behavioral representation, called a sequence diagram in UML,is a
representation of how events cause flow from one object to another as a function of time. In
essence, the sequence diagram is a shorthand version of the use case. It represents key
classes and the events that cause behavior to flow from class to class.
129
Level 1: 7CMS
Level 2: Login
Level 2: Payment
Level 2: Dashboard
Level 3: Feedback
Level 3: Management