SoftwareEngineering_Year2_20percent_coursework
SoftwareEngineering_Year2_20percent_coursework
McGregor Institute
20% Group Coursework
AY 2023-2024
Group Name:
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: ............................................................................................................ 5
1.1. Business Description: ....................................................................................... 5
1.1.1. Business Rules: ............................................................................................ 5
1.1.1.1. Aim and Objectives .................................................................................... 7
2. Project charter......................................................................................................... 8
3. SRS: ...................................................................................................................... 11
Introduction: .............................................................................................................. 11
Purpose: ................................................................................................................... 11
Project scope: .......................................................................................................... 12
4. Group tasks........................................................................................................... 16
4.1. Environmental Model Specification ................................................................ 16
4.1.1. Data Flow Diagram (DFD): .......................................................................... 16
Context level diagram: ............................................................................................. 17
Level1 Data flow diagram: ....................................................................................... 18
Level-2 Data Flow Diagram: .................................................................................... 19
4.2. Internal model specification for the system:.................................................... 22
4.2.1. ERD: ........................................................................................................... 22
4.2.2. Data Dictionary:........................................................................................... 24
4.3. Design Specifications: .................................................................................... 31
Structure chart: ........................................................................................................ 31
Assignment Diary ...................................................................................................... 32
Group member details and responsibilities ............................................................ 32
Member names............................................................................................................ 32
Member responsibilities ............................................................................................... 32
Shosang Rumba (2201579) ........................................................................................ 32
• Responsible for creating the DFD and the report merge. ...................................... 32
• Purchase plant in individual task ........................................................................... 32
Siddhartha Thapa (22068057) ..................................................................................... 32
• Responsible for creating the SRS of the project ................................................... 32
• Join program in Individual task.............................................................................. 32
Aashish Bhandari ........................................................................................................ 32
• Was responsible for most research part ............................................................... 32
• Take Certification Exam in individual task ............................................................. 32
Waseem Malik (22067720) .......................................................................................... 32
• Responsible for assignment diary ......................................................................... 32
• Report preparation in individual task ..................................................................... 32
Nishant Jung Shah (21039903) ................................................................................... 33
• He chooses to create various diagrams of the project .......................................... 33
• Make payment in Individual task ........................................................................... 33
Meeting details........................................................................................................... 34
To jointly improve this project, we have multiple meetings. The members of our group
at this meeting are displayed below:............................................................................ 34
Assumptions .......................................................................................................... 36
5. Individual task ....................................................................................................... 38
1) Make Payment: Nishant Jung Shah (21039903) ............................................ 38
2) Purchase Plant: Shosang Rumba (22015779) ...................................................... 42
4) Join the program: Siddhartha Thapa (22068057) ................................................. 55
Detailed Specification of Individual task ............................................................. 55
b) Internal Model Specification ........................................................................... 56
5) Take Certification Exam: Ashish Bhandari () ......................................................... 62
a. Environmental model specification .......................................................................... 62
b. Internal model specification ..................................................................................... 62
c. Design specification ................................................................................................. 62
6. Summary (a brief summary of the report) ............................................................. 63
7. Reference ................................................................................................................ 64
Bibliography ................................................................................................................. 64
CS5002NI Software Engineering
Table of figures
Figure 1: Context Level diagram:................................................................................. 17
Figure 2: Level 1 Data Flow Diagram: ......................................................................... 18
Figure 3: Level2 DFD register user:............................................................................. 19
Figure 4: level2 dfd to take exams: .............................................................................. 20
Figure 5: level2 dfd to make report: ............................................................................. 21
Figure 6: ERD for the system: ..................................................................................... 23
Figure 7: Structure chart: ............................................................................................. 31
Figure 8: Make payment context diagram: .................................................................. 38
Figure 9: make payment level1 dfd:............................................................................. 38
Figure 10: level2 dfd (make payment): ........................................................................ 39
Figure 11: structure chart (make payment): ................................................................. 40
Figure 12: Context-level Diagram: Purchase Plants. ................................................... 42
Figure 13: Level1 DFD. ............................................................................................... 43
Figure 14: Level 2 DFD. .............................................................................................. 45
Figure 15: Structure chart of Purchase Plants. ............................................................ 47
Figure 16: Context Level Diagram (Report preparation): ............................................. 50
Figure 17: Level1 DFD (Generate report): ................................................................... 51
Figure 18: Level2 DFD (Generate report): ................................................................... 52
Figure 19: Structure diagram (Generate report): ........................................................ 53
Figure 20: context diagram dfd (Join the program): ..................................................... 55
Figure 21: Data flow diagram level1(join the program): ............................................... 56
Figure 22: level2 dfd(join the program): ....................................................................... 57
Figure 23: Context diagramk(join the program): .......................................................... 58
CS5002NI Software Engineering
1. Introduction:
1.1. Business Description:
McGregor Institute of Botanical Training, established in the heart of Ireland
and having a thriving branch at Godawari, Lalitpur, Nepal is an
internationally renowned institution. McGregor Institute is the gateway to
those passionate about farming and horticulture, with an excellent legacy
that has spanned seven years on Nepal's education landscape.
McGregor Institute is looking forward to starting a new entrepreneurial
venture with the introduction of short-term horticulture training in response
to growing interest in agriculture. We’ve implemented structured software
engineering practices to enhance our teaching and engagement with the
community. To complete the operation successfully, the system must be
examined in this course, and an application or system must be created.
This report outlines our team's journey towards implementing the system.
From displaying courses and handling certifications to creating a forum or
community, our system focuses on improving and updating updates in the
system and improving user experience with the system.
Purpose:
Functional Requirement
System Registration
Logging in / signing up; the user should enter their description and sign up for
account creation to the system they are going to use. If they already have a user
account for the system then they can simply login to the system by entering their
login details.
Program joining
The user will have the option of selecting two courses; paid or unpaid course.
They will have access to both of the courses, and they will be able to select the
ones that suits their needs. If they choose to pay for a course, it will be indicated
as paid course, else it will be emphasized as unpaid by default. The user only
needs to click on the course they are interested in to join; all of the course
details will then be shown to them.
CS5002NI Software Engineering
Unpaid course
The user only needs to click "start the course" after selecting the free course
that interests them in order to subscribe to it. All course and class data, as well
as files and documents including study guides and book references, will be
made available to the user.
Paid course
The user must first be validated in order to subscribe to the premium course.
This may be accomplished by confirming their email address. The user next has
to select the paid course that interests them and click "Subscribe to the course."
Next, the user will be sent to a secure website where they can select a
subscription plan and make payment. Once the transaction is complete, they will
have access to all of the course materials and classes.
Purchasing plants
The user will be able to browse our system, buy any plants that catch their eye,
and add them to a cart. By selecting every plant that is available into their cart
and completing the checkout process. They will be able to buy plants in any
quantity; whether in bulk or in a small quantity.
Payment options
Recommendations
Advice During that time, the user will be able to ask the experts any questions
they may have. The user must select the "Get help" button located at the bottom
of the system. A brief chat window will then appear on the right side of the
screen allowing the user to ask questions to the experts and provide a precise
plant they’re looking for. This allows the experts to determine which plant would
be best for the user to buy, and it also allows the user to attach photos of the soil
conditions, which will help them better understand the situation.
Report Preparation
Employee report
Financial report
The finance team will prepare a financial report to tell staff members about the
state of the company or organization and to determine whether more marketing
markups are necessary to increase sales or implement more stable methods.
CS5002NI Software Engineering
4. Group tasks
Components of ER Diagram:
a. Entity
An entity is a unit of data that represents a person, place, thing, or
concept.
b. Attributes
An attribute is a characteristic of an entity that can be observed or
measured.
c. Relationships
Relationships are simply ways in which two entities relate to each other.
CS5002NI Software Engineering
Process 0.2
Process Name: Enrollment Process for Online Agriculture Course
Description: This process handles the enrollment of customers into the online
agriculture course.
Input Data Flow: Registration details of the customer interested in the agriculture
course.
Output Data Flow: Updated member details reflecting successful enrollment.
Detailed Logic:
Receive and gather registration details submitted by the customer for the
enrollment process.
Validate the provided information to ensure accuracy and completeness.
CS5002NI Software Engineering
Process 0.3
Process Name: Purchase Process for Online Agriculture Course and Plants
Description: This process manages customer transactions for enrolling in the
online agriculture course and purchasing plants.
Input Data Flow: Customer's registration details for course enrollment and plant
purchase.
Output Data Flow: Updated member details and plant purchase records.
Detailed Logic:
Receive and gather registration details submitted by the customer for the
purchase process.
Validate the provided information to ensure accuracy and completeness.
Process 0.4
Process Name: Payment Process for Online Agriculture Course and Plant
Purchase
Description: This process manages the payment transactions for customers
enrolling in the online agriculture course and purchasing plants.
Input Data Flow: Customer's registration details for course enrollment and plant
purchase, including payment information.
Output Data Flow: Confirmation of successful payment, updated member
details, and plant purchase records.
Detailed Logic:
Receive and validate customer registration details, including the selected online
agriculture course and chosen plants for purchase.
Verify the accuracy and completeness of the provided information.
Process 0.5
Process Name: Report Preparation for Online Agriculture Course and Plant
Purchase
CS5002NI Software Engineering
Description: This process involves the preparation of reports summarizing
transactions related to online agriculture course enrollments and plant
purchases.
Input Data Flow: Transaction details, including course enrollments, plant
purchases, and payment confirmations.
Output Data Flow: Completed reports summarizing course enrollment statistics
and plant purchase records.
Detailed Logic:
Gather transaction details, including course enrollments, plant purchases, and
payment confirmations.
Validate the accuracy and completeness of the received transaction data.
CS5002NI Software Engineering
4.3. Design Specifications:
Structure chart:
January 2 11:00 AM – 3:00 Physical With the help of slides and online
materials, the members began to
PM Meet
learn about their part of the
project. A final discussion was
done before starting the report
CS5002NI Software Engineering
January 2 7:30 PM – 11:00 Virtual Individual part of the project was
completed and the whole report
PM Meet
was reviewed, made changes
needed to make it more efficient
CS5002NI Software Engineering
Assumptions
System Overview:
Core Assumptions:
Key Features:
Additional Highlights:
Overall Value:
Additional Notes:
This is the context level diagram of Make Payment by user. Payment is the main and basic
process in this context level diagram. The external entities are staff and users. Users make
payment to the botanical application system and the payment process is carried out where
staff check the payment of customer through payment process. The records of the user are
sent to the system where the information is stored in the database and the database will be
further created in level 1 data flow diagram. This the main mechanism for the payment of
user.
This is the level 2 dataflow diagram for payment which is more detailed. As
stated in level1 dataflow diagram, the process is same for storage of payment
information. Two more processes payment completed, and update payment
information are included where staff sends reminder to customer about updates
the fee structure respectively. The staff checks the payment via payment check
process while the data is retrieved from payment info database.
CS5002NI Software Engineering
This is the structure chart for the ‘Make Payment’ function in the system. The chart shows
the flow of the function from top to down and left to right. The arrow with hallow circle
indicates the data flow and the arrow with black circles at the end indicate Boolean value.
The rectangle boxes indicate the process and, in the diagram, when the make payment
CS5002NI Software Engineering
function is invoked, it first confirms the payment, checks whether the payment is successful
or not after that if the payment was successful then the system make the invoice and
provides it to the user and if not, the system sends payment unsuccessful as result to the
user.
Name Payment
Pseudocode DO
INPUT Payment Details
CALL Confirmation of Payment
IF Payment Successful
INPUT Payment Detail
RETURN Confirm to Confirmation of
Payment
INPUT Payment Details to Makes Invoice
CALL Makes Invoice?
ELSE Payment Unsuccessful
INPUT Payment Details
RETURN Confirm
END DO
Called By User
CS5002NI Software Engineering
2) Purchase Plant: Shosang Rumba (22015779)
Description:
In order to buy plants, the Member shall draw up the purchase order and
provide his or her Member ID and purchasing details. Members should also
be able to withdraw orders if they have grounds for doing so. The staff will
be responsible for processing and ratifying the requests of members in
order to ensure that they have a good buying experience.
CS5002NI Software Engineering
Internal Model Specification: -
Level 1 DFD:
Description:
The process of purchasing plants has been further divided into 4 parts which is
discussed below: -
➢ Function 1. (Validate Member_ID):
In this function, from “Finalize order” step is gathered inorder to create the
bill. It includes confirmation details i.e:Member_ID and Purchase details. Then the
generated bill is displayed to the member as part of the purchase confirmation.
CS5002NI Software Engineering
level 2 DFD:
Description:
In this level 2 DFD, validate purchase details has been taken to divide into 6 functions
which is described below. The following function has been generated as the results of
further division of functions from Level 1 DFD:
➢ Check availability of items (1.2):
In this function, it checks whether all the items to be purchased are in stock
or not.
PSEUDOCODE:
//initial variables
VAR Member_ID = INPUT (“Enter your id:”)
VAR Purchase_id (auto generated)
VAR Purchase_quantity = INPUT (“Enter no of items to purchase: “)
VAR Purchase_items = INPUT (“Enter items to purchase: “)
//overall information that is passed
VAR Purchase_details = purchase_items+purchase_quantity
}
INPUT PARAMETERS: Member_ID, purchase_quantity, purchase_items,
cancellation_reason
OUTPUT PARAMETERS: Confirmation_details
GLOBAL VARIABLES: DB
LOCAL VARIABLES: Member_ID, purchase_ID, purchase_quantity,
total_amount, Confirmation_details, purchase_items, Cancellation_reason,
purchase_details
CALLS: check_member_id, check_purchase_details, generate_bill,
display_bill
CALLED BY: Main
CS5002NI Software Engineering
5.4. Generate Report: Waseem Malik (22067720)
The McGregor Institute of Botanical Training provides the administrator with extensive
reporting capabilities that include staff profiles, user data, course enrolment histories,
plant purchases, and payment histories. The administrator can access and retrieve
pertinent data as needed because the system is built to keep an extensive database of
data about plants, courses, and financial transactions. This guarantees effective
administration and simple access to critical data about the operations of the institute.
The context level diagram also known as the level 0 diagram represents the function
from
a bird's eye view. It showcases the whole function in a single process which is easily
understandable by everyone. In this context-level diagram, we have a process called
Generate Report which is used by the system to generate reports about the User, Staff,
Course, Plant Purchase, and Payment history.
CS5002NI Software Engineering
5.4.2. Internal Model Specification
➢ Level 1 Data Flow Diagram
In the Level 1 Data Flow Diagram (DFD), the focus is on delineating the processes
involved in report generation. This detailed exploration builds upon the Level 0
diagram. Within this system, there is a process for authentication and thorough
validation of all data intended for report generation. The system conducts a meticulous
examination of the data retrieved from the database. Subsequently, the verified and
validated data is used to generate reports, a task undertaken by the staff. These
generated reports are then transmitted and made accessible for review by the
administrator. This process ensures that the information presented in the reports is
authenticated and accurate, enhancing the reliability and integrity of the generated
reports.
CS5002NI Software Engineering
➢ Level 2 Data Flow Diagram
In the Level 2 Data Flow Diagram (DFD), we delve deeper into the specific process of
report generation that was identified in the Level 1 DFD. Our focus remains on refining
the steps involved in this particular process. In this detailed diagram, the extraction of
data is conducted from various sources, including Payment Details, User Details,
Enrollment Details, Staff Details, as well as Certificate and Result records. This
extracted information is then stored systematically in the dedicated report database.
The subsequent step involves the transmission of these stored reports to the
administrator by the staff members, who execute this task based on specific requests
or requirements. The crucial feature of this system is its accessibility, allowing the
administrator to retrieve and review these reports at any given time. This
CS5002NI Software Engineering
comprehensive Level 2 DFD not only outlines the intricate steps of data extraction and
storage but also emphasizes the flexibility and convenience afforded to the
administrator in accessing the generated reports as needed.
Pseudocode DO
GET User_details
GET Staff_details
GET Payment_details
END DO
Input Parameters
CS5002NI Software Engineering
User details, Staff details,
Payment details
Output Parameters Report Information
None
Global Variables
User, Staff, Payment
Local Variables
Calls Get User details, Staff details, and
Payment details from the main
database.
Called By Main
This is the context diagram of join the program. Here, we can observe that only
registered members can join the program (courses).
CS5002NI Software Engineering
b) Internal Model Specification
Data Flow Diagram Level 1
This is our module's level 1 DFD for joining the program (courses). We may examine
the process in depth in this diagram and observe the entities, processes, and data
storage with which it interacts. We may also observe the data flow in addition to that.
CS5002NI Software Engineering
Data Flow Diagram Level 2
// Check results
Var examResults = ExamResults(user)
c. Design specification
CS5002NI Software Engineering
6. Summary (a brief summary of the report)
The report for the system of McGregor Institute of Botanical Training has finally
succeeded. The institute is heading toward building a biggest platform for the
botanical industry to protect and engage people to learn and protect rare and
others plants as well.
The functions covered by this proposal are user registration, enrolment in
programmes, plant purchases, payment processing, request for recommendations
from experts, preparation of reports and certification tests as well as a forum for
discussion. In addition, the system will send alerts to users based on their
activities. The overall aim of the Institute is to create a comprehensive platform to
promote learning, community building and engagement of individuals interested in
plants and agriculture.
The aim of the Centre is to create a holistic platform through which users can not
only enhance their botanical knowledge by taking courses and certificates but also
actively engage with the community in discussions, plant purchases and expert
consultation. The Institute's commitment to the creation of a vibrant ecosystem for
people who care about plants and agriculture is reflected in its integration with
education, business and community building elements.
CS5002NI Software Engineering
7. Reference
Bibliography
Chai, W., 13 Dec, 2022. data dictionary, s.l.: TechTarget.
Tom Nolle, A. I., October 2021. data flow diagram (DFD), s.l.: TechTarget.