GroupM 83909
GroupM 83909
Semester
2023 Autumn/Spring
Group members
London Met ID Student Name
22072220 Subin Rai
22073081 Rabin Rai
22072224 Sujal Rai
22072105 Sushant Dahal
22072230 Ayush Tamang
1 Introduction .............................................................................................................. 1
5 Data Dictionary....................................................................................................... 19
7 Design Specification............................................................................................... 26
7.1 Structured Chart ............................................................................................... 26
9 Summary ................................................................................................................ 73
10 References .......................................................................................................... 74
Table of Figures
Figure 1: level 0 DFD, Context Level Diagram .............................................................. 11
Figure 2: Level 1 DFD ................................................................................................... 12
Figure 3: DFD level 2, Register User............................................................................. 13
Figure 4: DFD Level 2, Purchase plant ......................................................................... 14
Figure 5: DFD Level 2, make payment .......................................................................... 14
Figure 6: Figure of Entity ............................................................................................... 15
Figure 7: Figure of Attribute........................................................................................... 16
Figure 8: Figure of Relationship .................................................................................... 16
Figure 9: Figures of cardinality ...................................................................................... 16
Figure 10: Entity Relational Diagram (ERD) .................................................................. 18
Figure 11:Structure Chart Symbol ................................................................................. 26
Figure 12: Structure Chart ............................................................................................. 27
Figure 13: Level 0 DFD of make payment ..................................................................... 38
Figure 14: Level 1 DFD of make payment ..................................................................... 39
Figure 15: Level 2 DFD of make payment ..................................................................... 40
Figure 16: Structure chart of make payment ................................................................. 41
Figure 17:Context Level Diagram of Purchase Plant..................................................... 45
Figure 18:Level 1 of Purchase plant .............................................................................. 46
Figure 19: Level 2 of Purchase plant ............................................................................. 47
Figure 20: Structure chart of purchase plant ................................................................. 48
Figure 21 Level 0 DFD of report preparation ................................................................. 52
Figure 22: Level 1 DFD of Report preparation .............................................................. 53
Figure 23 Level 2 DFD of process view report .............................................................. 54
Figure 24 Structure chart of Report Preparation ........................................................... 55
Figure 25: DFD level 0 of Join the program................................................................... 59
Figure 26: DFD level1 of join the program ..................................................................... 60
Figure 27: DFD level2 of join the program ..................................................................... 61
Figure 28: Structure of Join the program ....................................................................... 62
Figure 29 Context Diagram of Take Certification Exam. ............................................... 65
Figure 30: Level 1 DFD of Take Certification Exam. ..................................................... 66
Figure 31 Level 2 DFD of Take Certification Exam. ...................................................... 67
Figure 32 Structure Chart of Take Certification Exam. .................................................. 68
Table of Tables
Table 1: Team Member ................................................................................................... 3
Table 2: Functional Requirement, Function and sub function ......................................... 7
Table 3: Group Task...................................................................................................... 32
Table 4: Meeting one details ......................................................................................... 33
Table 5: Meeting two details .......................................................................................... 34
Table 6: Meeting three details ....................................................................................... 35
Table 7: Meeting four details ......................................................................................... 36
Table 8:Meeting five details ........................................................................................... 37
CS5002NT Software Engineering
1 Introduction
This is an assessment assigned to a group of 4 or 5 students. For this project, we five
students were assigned in a team to solve the question. In this assessment, we are given
a task to develop a community for McGregor Institute of Botanical Training. It is an
institute that provide Ireland based training located in Godawari. They provide different
undergraduate and postgraduate courses based on agriculture along with horticulture
specialization. The sudden surge of student interest in agriculture had them to think to
start short-term certificate related to horticulture.
Our team had a discussion on how to solve the problem they are facing, and we come
into the conclusion of developing a website for their institute. The website will provide
them online information about the short-term certificate. This website can help them to
sell different types of plants in low-cost or free in some cases. The interested students
can enroll from here and the institute will come up with proper plan on how to provide the
education to all the interested one’s. The students can share their ideas in this forum,
post their curiosity or problem and the experts can provide them with proper solution.
1
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
2 Project Charter
Project charter is an overview of the project that describes the goals, objectives, and
scopes. It provides clarity among the team members and stakeholders. Its shows a clear
roadmap to succession of a project.
2.4 Timeline
The project is to develop an online website to achieve the above-mentioned goals.
It is estimated to be completed within 1.5 months from initiation to finish. The initial 5 days
will be dedicated to gathering requirements. Following that, our team will spend the 10
days constructing a system design. The remaining time will be allocated for the
development team to implement and test the system over the next month.
2
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
2.5 Scope
The scope defines what is included and excluded in the project. The project scope
includes educational offering, community building, and e-commerce service. The scopes
of this project are: -
1. Introduce the short-term certification on horticulture.
2. A full-stack website provides for registering members, posting questionnaire,
displaying plants, and providing institute-related news.
3. A backend will handle the registering, store data of members, and store the request
related to plants.
4. Build a community using an online forum.
5. Different kinds of plants will be sold in low cost and for free in some situations.
6. Organize programs to protect rare plants and forests.
7. 5 member, one front-end, one back-end, one designer, one QA, and one as Project
Manager.
3
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
4
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
2.3 Program type The program offers both paid and unpaid
course options.
3 Purchase plants
3.1 View Available Plants Members should be able to view a list of
available plants and horticultural kits with
descriptions and prices.
3.3 Order Management Members should be able to cancel orders
within 24 hours of placement.
3.6 Add to cart Users should add the selected plants to the
cart before making a payment.
3.7 Bulk Order Users should be able to place orders for large
quantities.
4 Payments
4.1 Purchase History Members should be able to view their
purchase history.
4.2 Order Payment Members should be able to pay orders for
plants and enroll courses.
Payment should be facilitated through
integrated payment gateways.
4.3 Feedback and Ratings Members should be able to provide
feedback, comments, and ratings for their
purchase experience.
5
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
5.2 User can post Users should be able to post queries seeking
recommendations or advice.
5.3 Expert reply Experts can provide replies to user queries,
offering recommendations and insights.
6 Create Report
6.1 Fetch Performance Scores Trainers should be able to fetch the
performance scores of students using their
member IDs.
6.2 Calculate Average Points Trainers should be able to calculate the
average points for each student based on
their performance scores.
6.3 Generate Performance Report Trainers should be able to generate
performance reports for students based on
their average points.
6.4 Email Reports Trainers should be able to email performance
reports to respective students along with
feedback.
7 Take Exams
7.1 Access Practice Test Papers Members interested in horticultural training
should be able to access practice test papers
and related videos.
7.2 Exam Application Members should be able to apply for exams
through the system.
7.3 Exam Paper Management Trainers should be able to update or delete
test papers as needed.
7.4 View Exam Result After completing a certification exam,
students can utilize the "View Exam Result"
feature to access their performance details.
6
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
8 Forum
8.1 Platform for plant enthusiasts Members can participate in forum
to discuss ideas. discussions, post topics, and engage in
conversations related to plants, horticulture,
and related programs.
8.1 Comment and vote up Users can participate in forum discussions by
adding comments and expressing approval
through the voting up feature.
9 Get Notification
9.1 Notification for Forum Activities Members will receive notifications for new
forum posts, replies to their posts, and other
relevant activities within the forum.
9.2 Course and Exam Notifications Students will receive notifications for
upcoming courses, exam schedules, and
other relevant updates related to their
enrolled programs.
Table 2: Functional Requirement, Function and sub function
7
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
8
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
6) Performances
The website should not face any lag issue and should run smoothly. It should be
responsive, with efficient processing time and memory utilization. So, the user experience
should be seamless, providing quick response times, and ensuring optimal performance.
9
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
10
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
4 Group Task
4.1 Data Flow Diagram (DFD)
Data flow diagram (DFD) is a diagram that gives visual representation of how data
or information flows in a system. It uses multiple shapes or symbols likes rectangle, circle,
arrows and partial rectangle to illustrate flow of data. Each Process should have at least
one input and an output. They can range from simple, hand-drawn diagrams to multi-level
DFDs that provide a more detailed view of how data is processed. (Lucidchart, 2023)
11
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
12
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
13
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
14
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
15
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
iii. Relationships
Relationships are a fundamental concept in DBMS. It illustrates how entities are linked
with each other and are represented as diamond shapes and arrows or lines(cardinality)
to show associate and dependencies between entities in relational database.
Relationships enable datasets to be shared and stored in separate tables. Without
relationships, the entire dataset structure would become useless. There are three main
types of relationships: one-to-one, one-to-many, and many-to-many. (Soni, 2022)
16
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
From the above scenario and data flow, we have identified following relevant entities
along with their attributes are given below
17
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
18
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
5 Data Dictionary
A data dictionary is a collection of names, definitions, and attributes related to data
elements within a database or project. Its primary role is to clarify the meanings and
purposes of these data elements, offering guidance for their interpretation and
establishing accepted meanings. By providing essential metadata about data elements,
the data dictionary facilitates in defining the scope, characteristics, and rules governing
their usage. This organized and easily searchable resource serves to prevent data
inconsistencies across projects, offering a comprehensive list of data elements. Its
purpose extends to simplifying the structure of system data requirements and reducing
data redundancy, making it an accessible tool for individuals, even those without technical
expertise, to understand and utilize effectively in various contexts. It uses various
operators. (Chai, 2024)
User
User = User details + User records *DATA STORE*
User records = {User details}*
User details = User_ID + User_name + User_Contact + User_Address + User_email +
registration_status
User_ID = Interger
User_Name = String
User_Contact = Big Integer
User_Address = String
User_email = String
Registration_Status = [“True”, “False”]
Program
Program = Program details + Program records *DATA STORE*
Program records = {Program details}*
Program details = Program_ID + Program_name + Program_type
Program_ID = Integer
Program_Name = String
Program_type = String
19
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Plant
Plant = Plant details + plant records *DATA STORE*
Plant records = {Plant details}*
Plant details = Plant_ID + Plant_Name + plant_Type + Plant_Description + Plant_price
Plant_ID = Integer
Plant_Name = String
Plant_Type = String
Plant_Description = String
Plant_Price = float
Payment
Payment = Payment details + Payment records *DATA STORE*
Payment records = {Payment details}*
Payment details = Payment_ID + Payment_Type + Payment_Amount + Payment_Date
+ GrossAmount
Payment_ID = Interger
Payment_Type = String
Payment_Amount = Integer
Payment_Date = DATE
GrossAmount = float
Recommendation
Recommendation = Recommendation details + Recommendation records *DATA
STORE*
Recommendation records = (Recommendation details)*
Recommendation details = Recommendation_ID + Recommendation_content +
Recommendation_type + soil condition
Recommendation_ID = Interger
Recommendation_content = String
Recommendation_type = [“Plant”,”Course”]
Recommendation_context = [“location”, “soil condition”]
20
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Report
Report = Report details + Report records *DATA SORE*
Report records= (report details)*
Report details = Report_ID + Report_Title + Report_Date + Report_Type
Report_ID = Integer
Report_Title = String
Report_Date = DATE
Report_Type = [“User report”, “sales report”, “exam report”]
Exam
Exam = Exam details + Exam record *DATA STORE*
Exam records = {Exam details}*
Exam details = Exam_ID + Test_ID + Exam_result + Exam_type+ Exam_Mark +
Duration
Exam_ID = Interger
Test_ID = Integer
Exam_result = String
Exam_type = String
Exam_Mark = Integer
Duration = Integer
Forum
Forum = Forum details + Forum record *DATA STORE*
Forum record = {Forum details}*
Forum details = Forum_ID + Forum_name+ Forum_Date +Forum_type
Forum_ID = Integer
Forum_Name = String
Forum_type = String
Notification
Notification = Notification details + notification record *DATA STORE*
21
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
22
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
6 Process Specification
23
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
24
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
25
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
7 Design Specification
7.1 Structured Chart
A structure chart is like a map for building software. It shows how different parts of
the system fit together and work with each other. It helps developers create complex
programs by providing clear guidance. By outlining functions and subroutines it ensures
that the design is organized and works well. (Holmes, 2023)
A Structure Chart shows how a system is organized into different parts that do
specific jobs. It gives a detailed breakdown of the whole system, explaining what each
part does. The chart divides the system into "black boxes," where users know what the
system does overall but not exactly how it works inside. Users provide inputs to these
black boxes, and they give the needed results. This way, it keeps a clear separation
between what the system does as a whole and the details inside each part.
(geeksforgeeks, 2023)
26
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
27
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Website Development: The team believes that website development is the right solution
for the McGregor Plant Training Institute to respond to students growing interest in
agriculture and horticulture.
Registration and Login: Users are required to fill out a registration form with personal
information. Users can log in with their userID, and email address.
E-commerce Features: Members should be able to view a list of available plant and
gardening kits with descriptions and prices. Users can cancel their orders within 24 hours
of placing the order.
Purchase History and Payments: Members must be able to view their purchase history.
Payments for both equipment orders and course registrations are facilitated through an
integrated payment gateway.
Feedback and Forum: Members can provide feedback, comments, and ratings about their
purchases and learning experiences. members have access to forums where they can ask
questions, seek advice, and receive recommendations from experts.
28
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Trainers and Performance Ratings: Trainers must be able to retrieve student performance
ratings using member IDs. The average score for each student is calculated based on their
grades. Trainers can create performance reports
Notifications: Members receive notifications about new forum posts, replies to posts, and
other related activity within the forum. Students receive notifications about upcoming
courses, exam schedules, and other updates related to their enrollment program.
The requirements gathered by the team from the submitted specification, on which the
above assumptions are based, are as follows:
- Member Details:
The system should store the following details for each member:
Full name
Date of birth
Location
Age
Gender
29
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Date of registration
Payment type
- Staff members have the responsibility to design test papers for examinations.
Staff can generate reports for the members.
- Admin has the authority to announce notices and publish the results of the
members.
- The system should provide a catalog displaying a list of available plants and
horticultural kits. Each catalog entry should include descriptions and prices.
- Users should be able to add selected plants and horticultural kits to a shopping
cart before making a payment.
- Members should be able to view their purchase history, including details of plants.
- Members should be able to provide feedback, comments, and ratings for their plant
purchase experience.
30
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
31
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
32
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Meeting Entry
Meeting No: 01 Date: 2023/12/02
Items Discussed:
General idea of a given coursework and task distribution between the
group members.
Achievements:
As this was our first meeting, we discussed the general idea of a given
coursework, how to divide the task, and complete study of the case scenario
given in the coursework.
33
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Meeting Entry
Meeting No: 02 Date: 2023/12/07
Items Discussed:
Dividing Task to each member.
Achievements:
Each member of the group was designated with a specific task which is to be completed
within the next meeting. Worked on the Introduction and project charter of the report document
34
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Meeting Entry
Meeting No: 03 Date: 2023/12/12
Items Discussed:
Discussion and Designing Process of DFD of level 0, level 1 and level 2.
Achievements:
We checked each other task individually and found out all the things were
perfectly correct, We discussed on where the assigned task has been completed
or not. Creating design of DFD level 0, level 1 and the DFD level 2.
35
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Meeting Entry
Meeting No: 04 Date: 2023/12/20
Items Discussed:
Discuss about the design of the structure chart and ERD.
Achievements:
In the 4th meeting of us, we are able to design the structure chart and ERD
design and also explaining the detail term of DFD, and preparing the assignment
diary. we verified our completed task by revising it and checking again and filled
with the required things which were missed at the first attempt.
36
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Meeting Entry
Meeting No: 05 Date: 2024/01/3
Items Discussed:
Finalizing the documentation
Achievements:
In our official final meeting, We checked each other’s tasks individually and found
out all the things were perfectly correct and we first set up the format and style sheet
for our documentation purpose and finalized the document. We everyone perfectly set
the documentation by putting acknowledgment, abstract, group work, and individual
tasks.
37
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
8 Individual Task
38
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
39
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
40
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
c) Design Specification
Structure Chart
41
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
PURPOSE: This module gathers payment information and incorporates this data into the
payment data repository.
PSEUDOCODE
DO
/* Fetching the userID from the login session */
var userID = Session.getID()
42
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
var paymentID =
Database.Payment_Record.makePayment(userID)
END DO
43
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
44
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Introduction
This section of the website is exclusively designed for registered users interested in
buying plants. It offers a user-friendly interface for effortless exploration of different plant
options and seamless purchase transactions. People can easily look at different types of
plants, learning about their features and facts.
The above diagram represents the level 0 or Context Level Diagram of the function
Purchase Plant. Users initiate the process by sending purchase details to the system,
which includes viewing plant information and adding desired plants to a shopping cart.
The system then displays these purchase details to the admin for review. the admin can
approve or manage the purchase request, the admin holds the authority to manage plants
within the system, indicating the ability to add, modify, or remove plant-related
information.
45
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
The above diagram represents the level 1 where we broke down the function of “Purchase
plant” into four subfunctions, they are:
Search: User can search for specific plants they desire within the system.
Manage Plant: In this sub-function allows the admin to oversee and manage plant
including the ability to add, modify, or remove plant-related information.
Purchase: User have the capability to complete the purchase of selected plants.
46
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
The above diagram represents the level 2 where we broke down the subfunction of
“Purchase plant” into five subfunctions. They are:
verify Plant: This subfunction validates whether the requested plant by the user exists
within the system's or not.
Plant Availability: It checks if the requested quantity of the plant is available in the
system.
Add to Cart: Upon confirming plant availability, this step involves transferring the plant_id
to the shopping cart for the user.
Plant Purchase: Users complete the plant purchase process here by selecting and
buying the plants in the shopping cart. Additionally, this subfunction displays the status of
the purchased plants.
47
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Update Plant Stock: After a purchase is made, this step updates the plant stock levels
based on the quantity purchased by the user.
c) Design Specification
Structure Diagram
The system checks the plant details provided by the user to make sure they're accurate.
Then, it looks to see if the plant is available based on the user's demand. If it's available,
the system adds the plant to the shopping cart for the user to buy. "Plant Stock" check
the stock of plants in the system. Once it confirms that the plants are available, it proceeds
to confirm the order for the customer.
48
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
PURPOSE: This module obtains the details of the purchase plants and payment detail
of plant.
PSEUDOCODE:
DO
49
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
ELSE
END IF
ELSE
END IF
ELSE
50
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
END IF
END IF
END DO
51
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
52
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
report according to their privilege. The users can access the report of their activities within
the system. The admin can access all types of report from the system. The staff prepares
the report by gathering the data from the system and using the “Generate Report”
features. They update the report according to their rules.
Level 1 DFD
The figure shown above represent the Level 1 DFD for report preparation. It briefly shows
how the process is done. The user provides their User_ID to get the report, then the view
report sends the User_ID to data store to retrieve the report. If the system found the data
it return with report else send error message. The staff provides the data from the other
data store to Generate report process, then it generates the report and inform the staff
and store the report. The admin provides report type to get specific report. The system
send the type name to data store to get the report, and displays the report to admin.
53
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Level 2 DFD
54
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
c) Structure Diagram
55
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Pseudocode:
DO
PRINT (userData)
PRINT (salesData)
56
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
PRINT (feedbackData)
ELSE
END IF
Var totalSales = 0
totalSales += payment.amount
RETURN totalSales
END FOR
Var totalEnrollAmount = 0
57
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
totalEnrollAmount += enrollment.amount
RETURN totalEnrollAmount
END FOR
END DO
58
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Introduction
The goal of DFD Join the Program is to provide a visual representation of the key
components and data interactions in the registration process. Program participation is the
process by which a user enrolls in an educational program through the system. This DFD
element shows the data flows and activities associated with the user's interaction with the
system to become a participant in the selected course or program.
59
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
60
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
In the Level 2 DFD for "Join the Program," applicants start by browsing available
programs. Once a program is selected, it undergoes verification. The verified program
then undergoes a check for availability. The status of program availability is sent to the
approval process. Approved applicants are notified of successful enrollment, while
unsuccessful ones receive a notification of their status. Details of the program and the
applicant are stored in the applicants` details database, ensuring a comprehensive
record. This multi-step process ensures a thorough verification and availability check
before notifying applicants of their successful or unsuccessful program enrollment.
Careful verification and availability checks contribute to a robust system that ensures a
seamless and transparent registration process, and ultimately provides applicants with
clear and timely notification of program status.
61
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
c. Design specification
62
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Purpose: users choose programs presented to them through the system. The system
stores detailed records of both the program and enrolled users in a comprehensive
database, ensuring efficient management and accessibility. This integrated approach
streamlines the process, offering clear program information to the user.
PSEUDOCODE:
DO
FUNCTION joinProgram(applicant, selectedProgram):
IF verifyProgram(selectedProgram) THEN
IF checkProgramAvailability(selectedProgram) THEN
availabilityStatus = sendToApproval(selectedProgram)/
IF availabilityStatus == "Approved"
notifyApplicantSuccess(applicant, selectedProgram)
ELSE
notifyApplicantFailure(applicant, selectedProgram)
ENDIF
63
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
storeProgramAndApplicantDetails(selectedProgram, applicant,
availabilityStatus)
notifyApplicantFailure(applicant, selectedProgram)
ENDIF
ELSE
ENDIF
END FUNCTION
FUNCTION sendToApproval(program):
END FUNCTION
END DO
64
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
Introduction
Take Certification Exam is a part of the system about the certification exams offered by
McGregor Institute of Botanical Training. Users can give online exams to get certification.
Before attempting the certification exam, users can practice using a question bank to
enhance their knowledge. Once they feel prepared, they can proceed to take the
certification exam and earn a certificate. After completing the exam user can view their
results. This course enables users to gain knowledge and skills in horticulture and get to
know about more plants.
65
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
The above diagram also known as Context level diagram represents Level 0 diagram for
“Take Certification Exam” function. The process begins with the User by interacting with
the system to perform tasks such as completing the registration process and taking
exams. The System plays a central role in handling the data, generating report and
managing the certification exam process. Staff prepares question paper and sets
instructions within the system. The admin is responsible for tasks related to starting the
exam and exam scheduling from the System.
66
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
The above diagram represents Level 1 DFD for Take Certification Exam. The process
initiates with the Staff which prepares the exam paper and sends it to the Design
Question Paper process then verifies the staff and stores the exam paper for further
processing. The User gives exam to get certificate, the process Online Exam sends
exam details to data store “Exam paper” to get question paper and then sends the store
result to data store “Result” to generate certificate. After completing exam, user can view
their results. The process Certification verify result to data store “Result” and send store
certificate to data store “certificate” to display examination certificate to User.
The above diagram represents Level 2 DFD for Take Certification Exam. The system
verifies the exam details provided by the user, checking for validity and matching them
with exam records. The system checks if the corresponding exam paper is available for
67
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
the verified exam details. The user proceeds to take the exam after successful verification
and paper availability checks. The system generates a certificate based on the stored
exam results containing details like user ID, exam ID, and achieved score or grade. The
system displays the exam results to the user including feedback or a link to download the
generated certificate.
C) Design Specification
68
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
This module, known as "Take Certification Exam," is a specific function within McGregor
Institute of Botanical Training. Its primary purpose is to conduct certification exams for
individuals who are interested in joining McGregor Institute of Botanical Training. Within
the main module, or "Root," The "Take Exam" function has three sub-functions Staff ID,
Design Test Paper, and Exam. These sub-modules serve as both inputs and outputs.
The process begins with the "Staff ID" module being called by the "Take Exam" function,
obtaining staff details. This staff ID is then passed as a data flows to the "Design Test
Paper" module which uses staff parameters to create test papers. After designing the test
papers, the process moves to the "Exam" module which has sub-modules User ID and
Print Result.
The "User ID" module provides details about the users and its parameters are then
passed into the "Print Result" module, revealing the exam results. The "Print Result"
module includes a decision point that branches into two possible outcomes pass or fail.
If a member passes the exam, they get certification of McGregor Institute of Botanical
Training. However, if a member fails, they are considered ineligible to get certification.
69
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
PSEUDOCODE
DO
/* Fetching the userID from the login session */
var userID = Session.getID()
70
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
71
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
END DO
72
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
9 Summary
In conclusion, the group main tasks involve preparing a Project Charter and Software
Requirement Specification (SRS) for the proposed system. The Project Charter outlines
the problem statement, business case, goal statement, timeline, scope, and team
members. The SRS details functional and non-functional requirements, design and
implementation constraints, and external interfaces required for the system.
The detailed specifications for the group tasks include environmental model
specifications, such as Context Level and Data Flow Diagrams (DFD) for different
processes, internal model specifications with Entity Relationship Diagrams (ERD), Data
Dictionary, and Process Specifications. Additionally, the group is required to provide
design specifications, including a Structure Chart for the entire system.
For individual tasks, each group member is assigned a specific system function, such as
Making Payment, Purchasing Plants, Report Preparation, Joining Programs, or Taking
Certification Exams. The individual tasks involve creating environmental model
specifications (Context Level), internal model specifications (Level 1 and Level 2 DFDs),
and design specifications (Structure Chart and Module Specifications).
73
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
10 References
74
2207220 22073081 22072224 22072105 22072230
CS5002NT Software Engineering
75
2207220 22073081 22072224 22072105 22072230