Jayavir Basnet 22067852
Jayavir Basnet 22067852
McGregor Institute
Group Name:
SN Student Name College ID University ID
01 Jayavir Basnet NP01CP4A220236 22067852
02 Dipesh Devkota NP01CP4A220302 22068182
03 Siddharth Thapa NP01CP4A220239 22067857
04 Gajendra Prasad Chaudhary NP01CP4A220494 22068143
05 Bardan Malla NP01CP4S230110 22085511
I confirm that I understand my coursework needs to be submitted online via MySecondTeacher under the relevant
module page before the deadline in order for my assignment to be accepted and marked. I am fully aware that late
submissions will be treated as non-submission and a marks of zero will be awarded.
Table of Contents
1. Introduction ............................................................................................................ 1
1.1. Objectives: ........................................................................................................ 2
2. Project Charter ....................................................................................................... 2
• Problem Statement:............................................................................................. 2
• Business Case: .................................................................................................... 2
• Goal Statement: ................................................................................................... 2
• Timeline:............................................................................................................... 3
• Scope: .................................................................................................................. 3
• Team Members: ................................................................................................... 3
3. Software Requirements Specification (SRS) ....................................................... 4
3.1. Functional Requirements: ............................................................................... 4
3.1.1. User Management: .................................................................................... 4
3.1.2. Community Forum:.................................................................................... 5
3.1.3. Plant Marketplace (BUY/SELL): ................................................................ 5
3.1.4. Expert Q&A: ............................................................................................... 5
3.1.5. Notification Centre: ................................................................................... 6
3.1.6. Event Management: ................................................................................... 6
3.1.7. Certification and Courses: ........................................................................ 6
3.2. Non-Functional Requirements: ....................................................................... 6
3.2.1. Performance: ............................................................................................. 6
3.2.2. Security: ..................................................................................................... 7
3.2.3. Usability: .................................................................................................... 7
3.2.4. Reliability: .................................................................................................. 7
3.2.5. Community Engagement: ......................................................................... 7
3.2.6. Plant Sale Platform: ................................................................................... 7
3.2.7. Certification Courses: ............................................................................... 8
3.3. Design and Implementation Constraints: ...................................................... 8
3.3.1. Budget and Resources: ............................................................................ 8
3.3.2. Technology and Stack: ............................................................................. 8
3.3.3. Data Management: ..................................................................................... 8
3.3.4. Third Party Dependencies: ....................................................................... 8
3.4. External Interfaces Required: ......................................................................... 9
3.4.1. User Interface: ........................................................................................... 9
3.4.2. Payment Gateway: ..................................................................................... 9
3.4.3. Social Media Integration: .......................................................................... 9
3.4.4. Communication APIs: ............................................................................... 9
3.5. Other Non-Functional Requirements: ............................................................ 9
3.5.1. Localization:............................................................................................... 9
3.5.2. SEO Optimization: ..................................................................................... 9
3.5.3. Analytics and Reporting: .......................................................................... 9
3.5.4. Data Backup and Recovery: ..................................................................... 9
4. Detailed Specification of Group Task ................................................................. 10
4.1. Environmental model specifications: ........................................................... 10
4.1.1. Context Level / Level 0 Data Flow Diagram (DFD): ............................... 10
4.1.2. Level 1 Data Flow Diagram (DFD): ......................................................... 11
4.1.3. Level 2 Data Flow Diagram (DFD) for 3 Processes: .............................. 11
4.2. Internal Model Specification for the System:............................................... 13
4.2.1. Entity Relationship Diagram (ERD): ....................................................... 13
4.2.2. Data Dictionary: ....................................................................................... 13
4.2.3. Process Specifications (Pspecs): .......................................................... 16
4.3. Design Specification: ..................................................................................... 19
4.3.1. Structure Diagram: .................................................................................. 20
4.4. Assignment Diary: ......................................................................................... 23
4.4.1. Assumptions: ........................................................................................... 23
4.4.2. Omissions / Inconsistencies: ................................................................. 24
4.4.3. Group members responsibilities: .......................................................... 25
4.4.4. Group Meetings: ...................................................................................... 27
5. Detailed Specification of Individual Task ........................................................... 28
5.1. Report Preparation Individual Task .............................................................. 28
5.1.1. Environmental Model Specification: ...................................................... 28
5.1.2. Internal Model Specifications: ................................................................ 29
5.1.3. Design Specification: ................................................................................. 32
5.2. Join the Program Individual Task ................................................................. 37
5.2.1. Environmental model specification: ...................................................... 37
5.2.2. Internal model specification: .................................................................. 38
5.2.3. Design specification ................................................................................ 40
5.3. Take Certification Exam Individual Task ...................................................... 43
5.3.1. Environmental Model Specification: ...................................................... 43
5.3.2. Internal Model Specification: .................................................................. 44
5.3.3. Design Specification: .............................................................................. 46
5.4. Purchase Plant Individual Task .................................................................... 50
5.4.1. Environmental Model Specification: ...................................................... 51
5.4.2. Internal Model Specification: .................................................................. 52
5.4.3. Design Specification: .............................................................................. 54
5.5. Make Payment Individual Task: .................................................................... 57
5.5.1. Environmental Model Specification: ...................................................... 57
5.5.2. Internal Model Specification: .................................................................. 59
5.5.3. Design Specification: .............................................................................. 61
6. Summary ............................................................................................................... 65
References .................................................................................................................... 66
Table of Figures:
1. Introduction
McGregor Institute of Botanical Training, which is located at Godawari, Lalitpur is a
Ireland based training institute which is affiliated to Dublin City University and has been 7
years since they are operating in Nepal, as their primary focus on agriculture and
horticulture. With the recent escalating interest shown by many peoples in the field of
agriculture, McGregor institute wants to expand its offerings by introducing a range of
short-term certification courses related to horticulture for the individuals who are seeking
for the knowledge.
Apart from the educational programs, McGregor Institute aims to provide a platform for
the plant enthusiasts for building a community and making interactions. This initiative
includes selling varieties of different plants, for minimum fees and even for free in some
cases. Individuals can share and discuss their ideas as well as organize a program for
the protection of rare plants and forests through the community. This platform can also
be useful for those people who have less knowledge about plants and where they can
post their queries to be answered by the experts.
1
CS5002NI Software Engineering
1.1. Objectives:
The objective of this project is to demonstrate practical knowledge of “Structured Software
Engineering” by using the Yourdon methodology and also to showcase our ability to work
collaboratively and successfully within a small group and meeting the specific deadlines.
2. Project Charter
• Problem Statement:
McGregor Institute of Botanical Training aims to address the growing interest of
people in agriculture and horticulture by introducing short-term certification and
providing a platform for plant enthusiasts to share and discuss their ideas about
plants.
• Business Case:
With the increase in demand for agricultural knowledge, the institute also sees an
opportunity to expand its offerings by introducing short-term courses related to
agriculture and horticulture and a plant marketplace which will help the institute to
attract audiences and generate revenue.
• Goal Statement:
The main goal is to establish the McGregor Institute as a leading supplier of
botanical education and resources in Nepal which offers variety of short term
courses related to agriculture and horticulture, marketplace to sell plants and a
forum for plant enthusiasts to discuss and share ideas related to plants with expert
recommendations.
2
CS5002NI Software Engineering
• Timeline:
The project is set to be completed within a reasonable time frame and ensuring
that all the functionalities are operating within next year. The certification courses
will be implemented as soon as possible followed by forums and plant marketplace
thereafter.
• Scope:
The scope of this project includes implementation of a system for McGregor
Institute that comprises of user registration, course enrollment, plant purchases,
payment processing, forum where the users can share and discuss their ideas and
get expert recommendations, generates detailed report for administrators,
conducting certification exams and sends notifications to users.
• Team Members:
This project is undertaken collaboratively by the groups of 5 students, each
contributing towards the successful completion of the project within the given
deadlines.
Group Members:
3
CS5002NI Software Engineering
• User Profile:
➔ Profiles includes information like personal details, interests and location.
➔ Users can create and manage their profiles.
• Account Management:
➔ Features include the ability to edit profiles.
➔ Users can change passwords and manage other account settings.
4
CS5002NI Software Engineering
5
CS5002NI Software Engineering
3.2.1. Performance:
6
CS5002NI Software Engineering
3.2.2. Security:
3.2.3. Usability:
3.2.4. Reliability:
➔ The system should be strong and reliable, with no more than 1 hour of outage
each month for maintenance.
➔ Data backups should be done daily, and disaster recovery plans should be in
place.
➔ The forum should be able to handle 1,000 users at once viewing, writing, and
replying to topics with a response time of no more than 2 seconds.
➔ Events and initiatives aimed at promoting regular community interaction should
be encouraged without degrading platform functionality.
➔ The system for selling plants should have a secure payment gateway to ensure
financial transactions are protected.
➔ The platform needs to facilitate the display of a variety of plant photographs,
captions, and costs.
7
CS5002NI Software Engineering
➔ All learning materials and multimedia content (videos, audio, and photos)
should be easily accessible to registered students through the platform.
➔ Alternative formats should be provided for accessibility (e.g., transcripts for
videos, downloadable files for documents).
➔ Create a user-friendly interface that allows students to simply traverse course
materials and find specific topics.
➔ Include an efficient search function in the course materials to enable effective
keyword-based searches.
➔ Monitor and adjust server resources to ensure consistent performance during
peak usage times.
➔ Consider allowing students to download specific materials for offline access
and study.
8
CS5002NI Software Engineering
3.5.1. Localization:
➔ Consider supporting additional languages in the future.
9
CS5002NI Software Engineering
Environmental model specifications show the context level data flow diagram including
level 1 and level 2 DFD. A data flow diagram (DFD) is a visual representation of how
information flows through a system or process. DFD helps to gain a deeper understanding
of process or system operations to identify possible issues, improve efficiency and
develop better processes. The DFD may range from simple to complex overview of the
system and processes (Chi, 2023).
10
CS5002NI Software Engineering
12
Figure 5 Level 2 DFD for payment processing process
CS5002NI Software Engineering
13
CS5002NI Software Engineering
14
CS5002NI Software Engineering
15
CS5002NI Software Engineering
Number: 2.1
Description: This process gets and displays the information about a course that a user is
interested in. It serves as the first step in the enrollment process.
Process Logic:
16
CS5002NI Software Engineering
Process B: Enrollment
Number: 2.2
Description: This process manages the enrollment of the user into a course after verifying
the necessary details
Process Logic:
Process C: Payment
Number: 2.3
Description: This process handles the payment transactions required for course
enrollment.
Process Logic:
17
CS5002NI Software Engineering
➔ If the payment is successful, the system confirms enrollment and stores the
details and if not it rejects the payment and notifies the user.
Process D: Payment
Number: 5.3
Description: This process manages the payment for the plants purchased. It is
responsible for handling the financial transactions, verifying payments, and updating the
purchase records.
Process Logic:
Process E: Purchase
Number: 5.2
Description: This process handles the purchasing actions of the user. It includes
validation the purchase request and preparing the transaction for payment processing.
Process Logic:
Design Specification is a medium which provides information about the system to help
with the creation and implementation of a good software. It provides the software
development process, acting as a connection between the concept and development
process. It helps to explore the boundaries of the software, explaining what the
software main goal, objectives are. It provides the outline of the methods to achieve
steps in identifying any specific parts on the design (Emdad Khan, Mohammed
Alawairdhi, 2013).
19
CS5002NI Software Engineering
20
CS5002NI Software Engineering
Symbols:
Symbol Name Description
It is used for a process or a
Process function in the system where task
is carried out
21
CS5002NI Software Engineering
22
4.4.1. Assumptions:
The course enrollment process will be a very user-friendly interface for easy browse,
selection, and enrollment. Specific details regarding the course selection criteria,
payment processes and confirmation will be presented for ensuring clarity and
customer satisfaction.
A safe and secure payment processing will be implemented for plant purchases,
course enrollment or any other transaction within the system. Payment data will be
stored securely. It will support the secure handling of financial details which will build
strong faith among users while generating revenue for the institute.
Users will have the access to give geographical data like site location and soil
condition images for expert recommendations on suitable plants. Incorporating
geographical data will improve the accuracy of the advice given by the expert.
23
CS5002NI Software Engineering
Before attempting certification exams, users will be required to fulfill specific required
details and prerequisites to ensure they have required knowledge or experience.
The specifications don’t define the different roles that users can have clearly, such as
administrators and regular users. We need to discuss and figure out the various levels
of access and what permissions each role should have.
24
CS5002NI Software Engineering
Group Responsibilities
Members
GROUP TASK
Jayavir Basnet • Research and lead the team members.
• Combining Pdf and reviewing the work of fellow team
members.
• Design the Entity Relationship Diagram.
• Data Flow Diagram (DFD) for Context Level and Environmental
Specification
INDIVIDUAL TASK
• Report Generation
GROUP TASK
Dipesh Devkota • Design Specification: Structure Chart
• Process Specification
• Review of Report preparation
INDIVIDUAL TASK
• Take Certification Exam.
25
CS5002NI Software Engineering
GROUP TASK
Bardan Malla • Contributed to assumptions and keeping records.
• Assist all group members.
• Assignment Diary
INDIVIDUAL TASK
• Make Payment.
GROUP TASK
Gajendra Prasad • Contributed designing SRS.
Chaudhari • Review internal model specification.
INDIVIDUAL TASK
• Purchase Plant.
GROUP TASK
Siddhartha • Summary and Conclusion.
Thapa • Project Charter.
• Data Dictionary
INDIVIDUAL TASK
• Join the Program.
26
CS5002NI Software Engineering
27
CS5002NI Software Engineering
28
CS5002NI Software Engineering
Explanation:
(i) User enters registration details, and the report preparation process sends back
the registration status to user.
(ii) Admin requests for financial, user and staff reports, and report preparation
process sends back the requested reports to admin.
(iii) Staff requests for access to reports, and report preparation process allows the
staff to access the reports.
29
CS5002NI Software Engineering
Explanation:
(i) During the registration process of users and staffs they provide their
information. The registration process verifies the information and stores in the
respective database (user or staff). If the information is stored successfully in
the database, it provides the final details of the user or staff to registration
process and the registration process provides registration confirmation to user
or staff.
(ii) During the payment process, the user provides the payment details, and the
process verifies the details and stores it into the transaction database. After the
information is verified the database sends the payment details to the payment
process and the process sends the payment confirmation to the user.
(iii) The report process requests user details, staff details and transaction details
from the respective databases. The databases then provide details to the report
process.
30
CS5002NI Software Engineering
Explanation:
(i) Admin requests for user reports then create user report process access the
user details in the user database. User Database provides user details to create
user report process which will generate user report and provides it to the admin.
(ii) Admin requests for financial reports then create user report process access the
financial details in the transaction database. Transaction Database provides
transaction details to create financial report process which will generate
financial report and provides it to the admin.
(iii) Admin requests for staff reports then create staff report process access the
staff details in the staff database. Staff Database provides staff details to create
staff report process which will generate staff report and provides it to the admin.
31
CS5002NI Software Engineering
The structure chart represents the hierarchical structure of modules. It breaks down
the whole system or functional into its lowest functional modules and gives a more
thorough explanation of the functions and sub-functions of each module
(geeksforgeeks, 2023).
32
CS5002NI Software Engineering
Explanation:
Firstly, the main system executes the report generation functions. The report generation
functions then provide an option to select the report to be generated, whether it is
financial, staff or user report. It then requests the required report and then the desired
report is generated after that it provides the generated report for data analysis after the
report is analyzed it then verifies the analyzed report and lastly it displays the final report.
Pseudocode:
START
DISPLAY “Please select the report you want to generate: 1. User Report, 2. Financial
Report, 3. Staff Report.”
33
CS5002NI Software Engineering
ELSE
END IF
END
Generate_User_Report:
PROVIDE Generated_Report
Generate_Financial_Report:
PROVIDE Generated_Report
Generate_Staff_Report:
PROVIDE Generated_Report
34
CS5002NI Software Engineering
Data_Analysis(report):
RETURN Analyzed_Report
Display_Report (report):
• Main Function:
35
CS5002NI Software Engineering
• Data_Analysis Function:
• Display_Report Function:
36
CS5002NI Software Engineering
In this individual task, I chose “Join the program” function, among the five functions
for detailed specification of our task. Here, I have presented the detailed specifications
of Join the program function.
In the platform there is “Join the program” function where interested individuals can
join the program. There are different types of courses graduate, postgraduate and
certificate. The following courses are both paid and unpaid.
The figure shown above represents the flow of data between the Users and Admin within
“Join the Program” function. The arrows indicate the direction of data flow, showing how
Users select and enroll in the courses and how Admin manages the courses.
37
CS5002NI Software Engineering
The above figure shows the level 1 Data Flow Diagram of join the program. This figure
shows a detailed view of the system than the context diagram. By showing the main sub-
process and stores of data which makes up the system as a whole. Based on this
diagram, we know that Register User provides registration details, Users provides course
confirmation details and User details. join the program provides program details and
course details to admin and Enrollment details and Enrollment status to Enrollment
confirmation. Admin manages program and provides enrollment details to View
enrollment details. User_details database stores user detais provides User details to User
and User_Enrollment logs database stores enrollment logs and provides enrollment
details to View enrollment details.
38
CS5002NI Software Engineering
User details data flows from the User Database to Collect Application process and the
Application details flow from the Collect application process to Verify information process.
Enrollment details flow from Verify information process to the Log Enrollment process and
from the Log Enrollment process to the Enrollment Details store and the user. Rejected
applications flow from Verify Information process to the Rejected queue and Enrollment
confirmation details flow from the Log Enrollment process to the user.
39
CS5002NI Software Engineering
Structure chart shows the breakdown of a system to its lowest manageable forms. First
of all, from Registration module registration details are passed to the User module. From
Users module user details are passed to enrollment module and from enrollment module
CourseEnrollment Confirmation details are passed to Payment Module and from payment
module Payment details are passed to get access to program from which user gets
access to the chosen course. From Enrollment another two parameters are passed i.e.
CourseEnrollment Confirmation and enrollment details to enrollment details Database.
Enrollment details Database sends request enrollment details update database
parameter to Update enrollment details database.
40
CS5002NI Software Engineering
• Module Specification:
41
CS5002NI Software Engineering
END DO
Input Parameters EnrollmentDetails, PurchasedCourseDetails
Output Parameters PurchasedCourseDetails, programdetails
Global Variables None
Local Variables Programdetails, Purchasedcoursedetails, Paymentdetails
Calls Display program, Enroll in selected program, Confirmation
Called by Main
Figure 16: Module Specification of "Join the program"
• Conclusion:
Join the program is one of the most important functions for any platform. In this project
the organization is having problems in maintaining records of the new users who are
joining the course with their details. So, above information is the solution for the
problem.
Users join the program themselves. After choosing the course and completing the
payment process user will be registered and user details will be stored in database.
42
CS5002NI Software Engineering
After exam will be finished, certificate will be checked by certification authority and
students will be provided with the certificate of their subject.
Context Level Diagram, it also is well known as fundamental system model or 0-level
DFD. It provides entire software requirements inside a bubble with input and output
which is represented by inflow and outflow of arrow.
In this level of Diagram, it shows how users interact with the function “Take
Certification Exam” and how the function will interact with other parts of the system.
The DFD below shows data flow where a user logs in, takes an exam by answering
questions which is then is sent to authenticate and results are sent for validation to an
admin.
43
CS5002NI Software Engineering
In level 1 DFD, the main bubble is broken down into multiple bubbles to provide more
detailed and tiny view of the system. Like that, given diagram is a level 1 DFD of “Take
Certification Exam” which is broke down into 3 bubbles. Here is the breakdown of the
components:
➔ User and Amin: User and Admin are external entities who will interact with the
processes.
➔ Exam Management: It is a process who will manage exam including login
details of user.
➔ Question Management: It is also a process who will manage exam questions
then sends it to user to answer the questions.
➔ Validate Answer: At the end answer to the questions is verified here which will
also send result to user and admin.
In this level of diagram, each process from the level 1 is broken down into more
detailed parts. Here, User is an external entity who interacts with the system for
certification exam. User will proceed to sub-process for login then user will select
certification exam. After certification exam answer is checked through process
validation check.
45
CS5002NI Software Engineering
• Structure Chart:
MC Gregor Institute is the main system that provides certification exam process
where Certification Exam is the sub-component of the MC Gregor institute and
represents the certification exam system. From the Certification Exam registration
inquery is passed down to Exam registration the inquery is sent to provide student
details after that studeent will register the registration detail is sent to confirmation.
After registration is completed, Examination is held where user will attend the exam,
examinee details is passed for question delivery then student will be acknowledged
for answer request. Answer will be delivered to certification exam which will send
result to display result module.
46
CS5002NI Software Engineering
• Module Specification:
→PSEUDOCODE:
FUNCTION MAIN
DO
CALL Exam_Registration
CALL Certification_Exam
CALL Display_Result
END DO
FUNCTION Exam_Registration
DO
GET Input parameter for student_details as ‘student details’
GET confirmation from REGISTER ‘student details’
DISPLAY ‘registration confirmation’
END DO
RETURN ‘confirmation’
FUNCTION Certification_Exam
DO
IF ‘confirmation’ IS successful
SET exam_session by Attend_Exam
SET questions by Question_Delivery ‘exam session’
SET student_answers by Answer_Submission ‘questions’
SET results by Examination ‘questions’, ‘student_answers’
END IF
ELSE
DISPLAY “Registration required to attend exam.”
END IF
END DO
RETURN ‘results’
FUNCTION Display_Result
DO
GET ‘results’ from Certification_Exam
IF ‘results’ ARE available THEN
DISPLAY ‘results’
END IF
ELSE
DISPLAY “Results are not available yet”
47
CS5002NI Software Engineering
END IF
END DO
FUNCTION Attend_Exam
DO
DISPLSY “exam started”
END DO
RETURN ‘exam session’
FUNCTION Qestion_Delivery
DO
GET ‘questions’ From Database using ‘exam session’
DISPLAY ‘questions’
END DO
RETURN ‘question’
FUNCTION Answer_Submisssion
DO
DISPLAY ‘Please submit your answers’
GET ‘answers’ from Student using ‘questions’
END DO
RETURN ‘questions’
FUNCTION Answer_Submission
DO
DISPLAY ‘Please submit your answers’
END DO
RETURN ‘student answers’
FUNCTION Examination
DO
DISPLAY “Evaluating answers”
GET ‘results’ by evaluating ‘student answers’ with ‘questions’
END DO
RETURN ‘results’
48
CS5002NI Software Engineering
→OUTPUT PARAMETERS:
-confirmation
–results
→GLOBAL VARIABLES: none
→LOCAL VARIABLES:
-student_details
-exam_session
-questions
-student_anwers
→CALLS:
-Exam_Registration
-Certification_Exam
-Display_Resut
→CALLED BY:
-Main function
49
CS5002NI Software Engineering
Now, in this individual project, I specialize in the Purchase Plant function. In our
collaborative initiative, each of the five team members is assigned to a specific project
aspect, including Make Payment, Report Preparation, Join the Program, and Take
Certification Exam. My role in the Purchase Plant section is centered on crafting a
streamlined and efficient process for users to obtain plants, thereby contributing
significantly to the overall success of our collective project.
50
CS5002NI Software Engineering
goal of this streamlined approach is to improve the customer experience and make
purchasing plants from the McGregor Institute more convenient and efficient.
The above diagram represents the process of purchasing a plant from McGregor
Institute. It provides various steps and action that are engaged for both the admin and
the user. The admin can edit plant details and provide plant details. The user can
request and confirm the payment for the plant. The purchase plant step is the main
hub where the data flows between the admin and the user. The diagram uses various
shapes and arrows to indicate the type and direction of the data.
• Level 1 DFD:
This flowchart illustrates the process of users purchasing plants from an online
marketplace, including payment processing and interactions with the admin. Users
choose plants to get started, and the marketplace handles the rest, sending information
to the admin and payment system. The payment system verifies and confirms payments,
storing details in the transaction database. Admin provides plant details stored in the plant
database, and users receive payment confirmation, completing the order.
52
CS5002NI Software Engineering
• Level 2 DFD:
53
CS5002NI Software Engineering
• The diagram shows the process of an online payment system, from cart
product pricing to validating payment.
• The flowchart has five main oval-shaped steps connected by arrows that
show the process flow.
• The steps are: Calculate cart Product Pricing, Payment method, Payment
portal, Validate payment, and Purchase invoice.
• The flowchart also shows the interaction between the user, the payment
processing system, and the transaction and plant databases.
• Structure Chart:
54
Figure 24: Structure Chart of "Purchase plant"
CS5002NI Software Engineering
This structure chart shows the purchase plant process, from selecting to completing the
purchase (free or paid). Starting with the "main" box, it leads to the central hub, "Plant
Purchase," with paths to stages like "plant details," "Display plant," "Add to cart," and
"Checkout." The "Display plant" box has outcomes for "Free" or "Paid," indicating
payment options. It illustrates user-system interaction and key data like the selected plant
and payment details at each step.
• Module Specifications:
FUNCTION PlantPurchase()
DISPLAY Plant options
PlantSelected = GET User plant
selection
IF PlantPrice is "Free"
DISPLAY Plant confirmation
details
ELSE
CALL Checkout(PlantSelected)
END IF
ENDFUNCTION
55
CS5002NI Software Engineering
Returm
Purchaseconfirmationdetails
ELSE
DISPLAY Payment error
message
END IF
END FUNCTION
Conclusion:
56
CS5002NI Software Engineering
Context level diagram is a basic level diagram which is also called level 0 DFD are the
type of diagram which provides a high-level overview of a system’s major processes and
their interrelationships without going too much into detailed subprocesses. It is also called
context diagram often because it shows how the system interacts with external entities.
57
CS5002NI Software Engineering
In the above diagram, the system helps users pay for course or plant they selected by
sending Plant purchase Payment or Course Fee payment and Payment Details. After the
System receives this information, it processes and sends details to Admin for
Confirmation. Once the system receives an approval it sends the user an invoice for the
payment.
58
CS5002NI Software Engineering
This is a further break down of Payment Process. It starts after Collect Payment system
retrieves appropriate Details from User. It stores User data and sends payment type to
Process Payment process. It then checks for stock and sends Transaction Details to
Admin. Admin approves the Transaction then the verification process stores data then
generates invoice if everything is verified.
59
CS5002NI Software Engineering
In the collect payment system, there are 3 breakdown processes. After payment
information process gets Payment and Customer Details. It first stores information, then
if it’s Plant purchase payment it goes to plant purchase process. Then the system checks
if the plant description matches with of the database, then the plant fee amount is
retrieved. If the payment happens to be for course fee, then the system would go to course
fee system then it would check for the course fee amount and details from the data base.
After the process completes it sends Payment type data to next process.
60
CS5002NI Software Engineering
In the start the main function will run one of the two payment system according to the
user’s payment details. If it is for course fee payment, it will go to Course Fee Payment
Function. Then it checks if the data is valid or not by going to the validation check function.
Then confirmation details are sent to course payment function then it sends details to
procced the payment. If the payment details happen to be for plant’s purchase. Then the
transaction details will flow to plant payment. Then it checks if the data is appropriate by
flowing into the validation check function, if conformed the details are sent to order
payment confirmation. Later confirmation details are sent to payment details.
61
CS5002NI Software Engineering
Purpose: The purpose of this module is to make financial transactions and keep records
of user.
Pseudocode:
START
paymentType = GET_USER_INPUT()
paymentAmount = GET_USER_INPUT()
plantName = GET_USER_INPUT()
courseName = GET_USER_INPUT()
ELSE
END PROGRAM
END IF
62
CS5002NI Software Engineering
IF CHECK_STOCK_AVAILABILITY(plantName) THEN
ELSE
END IF
END IF
END
FUNCTION CHECK_STOCK(plantName)
RETURN true
ELSE
RETURN false
END IF
END FUNCTION
Main Function:
CALLS: CHECK_STOCK_AVAILABILITY(plantName)
63
CS5002NI Software Engineering
CHECK_STOCK_AVAILABILITY Function:
64
CS5002NI Software Engineering
6. Summary
In this coursework, we were assigned a series of tasks, and the tasks were divided into
two types i.e. group tasks and individual tasks. This coursework consisted of 20% of the
overall marks from this module. This coursework consisted of various types of practical
knowledge of Software Engineering. In this coursework we have designed an educational
platform focusing on botanical studies.
After completing this group project, we gained knowledge about software engineering and
its contributing components as well as group collaboration skills. We discovered each
other's advantages and disadvantages. Time management and division of tasks were the
most essential factors to complete it properly. This coursework will help us a lot in future
and in our professional life.
65
CS5002NI Software Engineering
References
altexsoft, 2023. Functional and Nonfunctional Requirements: Specification and Types.
[Online]
Available at: https://www.altexsoft.com/blog/functional-and-non-functional-requirements-
specification-and-types/
[Accessed 24 12 2023].
Browning, T. R., 2001. Applying the design structure matrix to system decomposition
and integration problems: a review and new directions. IEEE Transactions on
Engineering Management, , 48(3), pp. 292-306.
Chi, C., 2023. A Beginner's Guide to Data Flow Diagrams. [Online]
Available at: https://blog.hubspot.com/marketing/data-flow-diagram
[Accessed 25 12 2023].
Emdad Khan, Mohammed Alawairdhi, 2013. Intelligent Agent Based Mapping of
Software Requirement. Journal of Software Engineering and Applications, VI(12), pp.
630-637.
geeksforgeeks, 2023. Structure Charts – Software Engineering. [Online]
Available at: https://www.geeksforgeeks.org/software-engineering-structure-charts/
[Accessed 01 01 2024].
Library, U. M., 2023. What Is a Data Dictionary?. [Online]
Available at: https://library.ucmerced.edu/data-dictionaries
[Accessed 29 12 2023].
Romani, E., 2022. What Is a Software Requirement Specification?. [Online]
Available at: https://builtin.com/software-engineering-perspectives/software-
requirement-specification
[Accessed 23 12 2023].
S, R. A., 2023. ER Diagrams in DBMS: Entity Relationship Diagram Model. [Online]
Available at: https://www.simplilearn.com/tutorials/sql-tutorial/er-diagram-in-dbms
[Accessed 28 12 2023].
66