0% found this document useful (0 votes)
154 views

SoftwareEngineering_Year2_20percent_coursework

Uploaded by

kugainthezone
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
154 views

SoftwareEngineering_Year2_20percent_coursework

Uploaded by

kugainthezone
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

CS5002NI Software Engineering

McGregor Institute
20% Group Coursework
AY 2023-2024

Group Name:

S.N. College ID University


Student Name (Section name: Compulsory)
ID
1 Shosang Rumba (L2C10) Np01cp4s220187 22015779

2 Siddhartha Thapa (L2C10) Np01cp4a220377 22068057

3 Waseem Malik(L2C10) Np01cp4a220414 22067720

4 Nishant Jung Shah(L2C10) Np01cp4a210026 21039903

5 Ashish Bhandari(L2C10) Np01cp4a220227 22067842

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.

1.1.1. Business Rules:


1) A user can register themselves in the botanical institute system via email and
password.
2) Users must indicate their level of study, degree or certificate in order to be
eligible for the program.
3) You can pay for certain courses, or you can get free ones. For paid courses, the
payment details need to be submitted.
4) Users can view and add plants to a cart to purchase plants.
5) Payment data should be stored.
6) The precise location details, including the location of the site on the map, and
soil condition clear images must be provided by the users requesting plant
recommendations.
CS5002NI Software Engineering
7) The admin should prepare detailed financial reports, staff reports, and user-
related reports.
8) The user must meet prerequisites before joining any program.
9) Mock test and certification of the exam should be provided before and after the
certification exams respectively.
10) A forum should be developed for users to engage in plant programs and user
inappropriate behavior should be checked.
11) Relevant notifications, such as course updates, discussions in the forums, and
reminders of examinations, should be sent to users on account of their activities.
CS5002NI Software Engineering
1.1.1.1. Aim and Objectives
The key aim and objective of this system is to provide and engage people
interested in the field of plants by providing a platform where people can
discuss and gain knowledge about plants and be involved in the programs.
• Offer a range of undergraduate, graduate, and short-term certification
courses in agriculture and horticulture.
• Introduce a platform where people can view and buy plants for free or
no money.
• Establish a forum of plant experts and plant enthusiasts.
• Organize awareness programs to protect rare plants to promote
environmental awareness.
• Provide certification exams and mock tests to the users.
• Send system and academic notifications to the user.
• Store and prepare financial and other related report.
CS5002NI Software Engineering
2. Project charter
A project charter is a formal and brief document making it clear that the project
exists, which gives Project Managers written powers to initiate its implementation.
A project charter document describes a project to create a shared understanding of
its goals, objectives, and resource requirements before the project is scoped out in
detail.

Project chartering is an essential part of project management, as it helps plan the


basic features of a project and can be referenced during its development. In
addition, the formal document can show that a project is viable and possible to
generate returns on investment for it to be authorized. (Alexander S. Gillis, 23
march, 2023)

Project Name Project SE

Problem Statement: McGregor Institute of Botanical Training lacks


a system to provide short-term and other
courses related to horticulture, sell varieties of
plants to customers, and record transaction
data, a platform(forum) where plant
enthusiasts can discuss their ideas, as well as
programs to protect rare plants.

Due to the lack of this system, the institute


can lack in providing their courses or features
to the users. This system will help build more
connections between the institute with users.
Business case: Due to huge demand in the field of
agriculture, McGregor Institute recognizes a
business opportunity by adding short-term
certification courses, plant sales, and a
platform(forum) engaging with people, to
CS5002NI Software Engineering
expand their institutes and explore them with
people.

Goal Statement: Below, are the goals set which aim to


enhance accessibility to horticultural
knowledge, build a vibrant community of plant
enthusiasts, and contribute to environmental
conservation.
• To establish a plant buying and selling
system
• To expand community engagement.
• To add short-term horticulture courses
to the system.

Timeline: The initiative is expected to start on January


1, 2024, and conclude by October 1, 2024.

• Planning and Requirement gathering


(January 1, 2024)
• Design and Analysis (February 1,
2023)
• System development (March 25,
2024)
• Course development (April 25, 2024)
• Platform development (June 1. 2024)
• Debugging and Testing (August 1,
2024)
• Implementation (September 1, 2024)
• Maintenance and Monitoring (October
1, 2024).
CS5002NI Software Engineering
Scope: • Introduction of short-term certification
courses in horticulture.
• Launch of varieties of plant sales with
a variety of species, some offered for
free.
• Implementation of conservation on
rare plants and forests programs to
protect them.
• Formation of a platform where plant
enthusiasts and plant experts can
discuss new ideas.
Team Members: • Project sponsor: McGregor Institute
• Project Manager: Shosang Rumba
• Course And plant specialist: Sidharth
Thapa, Waseem Malik
• Platform developer: Nishant Jung
Shah, Nirajan Shah.
CS5002NI Software Engineering
3. SRS:
Introduction:

The Software Requirements Specification (SRS) acts as a binding agreement,


outlining the shared goals and objectives that the software system must
achieve. It's a comprehensive roadmap, delving into technical details, user
needs, and business viability to ensure the system functions effectively in the
real world. By defining all essential functional and non-functional requirements,
the SRS lays the groundwork for a successful software development journey.

Purpose:

Software Requirements Specification (SRS) is a document that offers evidence


of the software system constructed by shared goals and objectives that must be
attained. This document offers a thorough overview of the system at several
levels, including the technical, non-technical, and commercial levels. This paper
aids in identifying all of the critical non-functional and functional requirements
needed for the system to perform in the actual world.
Every component of the program that will be created is contained in an SRS
document. This paper, which includes methods and activities for gathering,
examining, and documenting requirements, is meant to help comprehend and
deconstruct difficult jobs. The developer will possess a comprehensive
understanding of the system's functionality and real-world user interaction upon
the conclusion of SRS. This document is crucial since it will help us explain the
program's functionality if the system is being developed by a third party and the
software is complicated or essential to the operation of the business.
CS5002NI Software Engineering
Project scope:

Envision a one-stop shop for all things plant-related, fostering a vibrant


community of gardening enthusiasts. This platform seamlessly blends
educational courses with a thriving online plant store, offering something for
everyone, from paid in-depth programs to festive freebies. Dive into the world of
rare plant conservation through collaborative forums and expert-led initiatives,
all while nurturing your green thumb with affordable houseplants. Imagine a
space where passionate plant parents can swap tips, share ideas, and organize
impactful programs to protect our precious forests and endangered flora. This
platform aspires to be the ultimate haven for plant lovers, a verdant ecosystem
where learning, shopping, and community flourish side-by-side.

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

Empowering diverse payment preferences, we offer a range of convenient


options to suit the user needs. Opt for instant gratification with seamless online
payment gateways like eSewa, Khalti app, e-Banking, Connect IPS; ensuring
secure and lightning-fast transactions. If the user prefers tangible proof, then
they can choose cash on delivery to pay upon receiving their order. For ultimate
flexibility, utilizing their trusted bank cards, whether debit or credit, for a familiar
CS5002NI Software Engineering
and reliable payment experience. Whichever method resonates with them, rest
assured by their chosen mode will be processed with utmost security and
efficiency, so they can focus on enjoying their purchase.

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

All comprehensive financial reports, employment reports, and user-related


reports should be created by the admin of the system. Using this report, the
administrator may see the activities of the workers and users and flag them with
their activity. Additionally, new suggestions to stabilize the system's flow or
making changes can be implemented with the help of the financial data from the
report.
User report

For administrators or employees to monitor each registered user's records and


system activity, each user must be included in a separate report. Any user found
to be engaging in phishing or scamming on the system will immediately be
reported and will not be permitted to use it again. This will assist the system
suggest the kinds of courses that users have enjoyed and the plants that they
have bought by keeping track of user data and what they have bought, including
plants and courses.
CS5002NI Software Engineering

Employee report

The employee's development and personal data will be documented in a report


that contains all of the data and information about them. This will make it
possible to identify any deceptive behavior by the employee and create an
accurate development chart showing their contributions to their areas of
competence.

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

4.1. Environmental Model Specification

4.1.1. Data Flow Diagram (DFD):

A data flow diagram (DFD) is a graphical or visual representation using a


standardized set of symbols and notations to describe a business's operations
through data movement. A data flow diagram is a graphical representation of
how data flows in the system or process. To visualize how data moves between
different processes, data stores, and external entities, it is a modeling technique
used in system analysis and design. DFDs give a high-level overview of the
system's functionality, without exploring details on its implementation. (Tom
Nolle, October 2021)
It consists of three main levels: Level0, Level1 and Level2. Level 0
(i.e. Context Diagram) is intended to be an approximation vision
that presents the system as a lone process with its connections to
outside entities. The single method node from the context diagram
is subdivided into sub-processes in level 1 DFD. This level 2 DFD
model may be used to view a whole system, map out the flow of
information, and communicate with various stakeholder groups
CS5002NI Software Engineering
Context level diagram:

Figure 1: Context Level diagram:


CS5002NI Software Engineering
Level1 Data flow diagram:

Figure 2: Level 1 Data Flow Diagram:


CS5002NI Software Engineering
Level-2 Data Flow Diagram:

Figure 3: Level2 DFD register user:


CS5002NI Software Engineering

Figure 4: level2 dfd to take exams:


CS5002NI Software Engineering

Figure 5: level2 dfd to make report:


CS5002NI Software Engineering

4.2. Internal model specification for the system:


4.2.1. ERD:

An entity relationship diagram (ERD) is a visual representation that


demonstrates connections between individuals, things, places, notions, or
activities inside an information technology (IT) system. It serves as a framework
designed with specialized symbols to determine the correlation between
database entities (visual paradigm, 2022).

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

Figure 6: ERD for the system:


CS5002NI Software Engineering
4.2.2. Data Dictionary:
Data dictionaries are sets of collections of data objects or items in a data model
that can be used by programmers and others.
A data dictionary is often a centralized repository of metadata. A data dictionary
may have a role in Data Models, which create an actual diagram of relationships
between objects that includes each object's name, assigns values to them, and
determines relationships. The type of data, such as text, image, or binary value,
is described; possible predefined default values are listed; and a brief textual
description is provided. You can use a data dictionary to reference this collection
of information. (Chai, 13 Dec, 2022)
A file or group of files tat include the metadata from a database are referred
to as a data dictionary in software engineering. The ownership of the data,
its connections to other items, and other data are among the records they
keep about other database objects. They are the primary elements of the
system’s structured analysis model. As a result, a data dictionary is a
structured repository of data about data that contains definitions for every
data item provided by a software program or every DFD element. Any
organization can benefit from the data dictionary, which contains
documentation of an entire database system. Using the same object
reference across the application aids in keeping the work of designers and
programmers in sync.

Members = member details + member records *DATA STORE*


Member records = {member details} *
Member details = member_ID + member_Name + Contact + Address +
Email
Member_ID(PK) =Int
Member_Name=String
Email=String
Address=String
Contact=Int
CS5002NI Software Engineering
Admin = Admin details + Admin records *DATA STORE*
Admin records = { Admin details} *
Admin details = Admin_ID + Address + Admin_name + Email + Contact
Admin_ID(PK) = Int
Address =String
Admin_name=String
Email=String
Contact=String

Enrollment = Enrollment details + Enrollment records *DATA STORE*


Enrollment records = { Enrollment details} *
Enrollment details = Enrollment_ID + Enrollment_date + Enrollement_type
+ Enrollment_status + Member_ID
Enrollment_ID= Int
Enrollment_date=Date
Enrollement_type=String
Enrollment_status=String
Member_ID= Int

Payment = payment details + payment records *DATA STORE*


Payment records = {payment details} *
Payment details = payment_ID + member_ID + Invoice +
Payment_method +
Payment_amount
Payment_ID= Int
Payment_method= Int
Member_ID= Int
Invoice=String
CS5002NI Software Engineering
Payment_amount=Float
Exam Results = exam details + exam records *DATA STORE*
Exam records = {exam details} *
Exam details = exam_ID + Exam_type + member_ID + Exam_status +
Exam_results
Exam_ID= Int
Exam_type=String
Member_ID= Int
Exam_status=Float
Exam_results=String

Purchase = Purchase details + Purchase records *DATA STORE*


Purchase records = { Purchase details} *
Purchase details = Purchase_ID + purchase_date + Quantity +
Member_ID + Feedback
Purchase_ID= Int
Purchase_date= Date
Quantity=Int
Feedback=String
Member_ID= Int

Post = Post details + Post records *DATA STORE*


Post records = { Post details} *
Post details = Post _ID + Member_ID + Post_status + Post_type +
Post_date
Post_ID= Int
Member_ID= Int
Post_status=String
Post_type=String
Post_date=Date
CS5002NI Software Engineering

Report = Report details + Report records *DATA STORE*


Report records = { Report details} *
Report details = Report_ID + Report _types + Report_date + Remarks
Report_ID= Int
Report_type=String
Report_date=Date
Remarks=String

Plant = Plant details + Plant records *DATA STORE*


Plant records = { Plant details} *
Plant details = Plant_ID + Plants_types + Plant_Desc
Plant_ID= Int
Plants_types=String
Plant_Desc=String

Course = Course details + Course records *DATA STORE*


Course records = { Course details} *
Course details = Course_ID + Course_Name + Duration + Member_ID +
Enrollment_ID
Course_ID= Int
Course_Name=String
Duration=float
Member_ID= Int
Enrollment_ID= Int
CS5002NI Software Engineering
Process Specification
A process specification is a methodical way to record, examine, and clarify the
formulas and reasoning that are applied to convert input data into output data
during a process. Cascade and defining engineering and regulatory
requirements and procedures is its main objective. Process specifications must
be precise and thorough to guarantee the generation of reliable, consistent data.
A process specification reduces uncertainty by outlining decision-making
procedures and formulas and gives people or organizations an accurate account
of tasks completed and results achieved. This clarity—which includes elements
like the data dictionary and data flow diagrams—is essential for validating
system design. Process specifications in data flow diagrams, or minispecs,
cover both lower-level and higher-level processes.
Process 0.1
Process Name: Register Customer
Description: This process registers new customers in the system.
Input Data Flow: Customer Details
Output Data Flow: Registration confirmation, Registration details
Detailed Logic:
o Get customer details to register the customer
o Send the registration details for the payment process and return confirmation

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:

Figure 7: Structure chart:


CS5002NI Software Engineering
Assignment Diary

Group member details and responsibilities

Member names Member responsibilities

Shosang Rumba (2201579) • Responsible for creating


the DFD and the report
merge.
• Purchase plant in
individual task

Siddhartha Thapa (22068057) • Responsible for creating


the SRS of the project
• Join program in Individual
task

Aashish Bhandari • Was responsible for most


research part
• Take Certification Exam
in individual task

Waseem Malik (22067720) • Responsible for


assignment diary
• Report preparation in
individual task
CS5002NI Software Engineering

Nishant Jung Shah • He chooses to create


(21039903) various diagrams of the
project
• Make payment in
Individual task
CS5002NI Software Engineering
Meeting details

To jointly improve this project, we have multiple meetings. The members of


our group at this meeting are displayed below:

DATE TIME MODE DISCUSSION


December 16 7:00 PM - 10:30 Virtual We analyzed the coursework and
divided the coursework part
PM Meet
December 20 7:30 PM – 10:00 Virtual Various ideas for the DFD were
presented and we gathered to
PM Meet
start with the DFD level 0

December 29 1:00 PM – 5:00 Physical All the group members


contributed to completing DFD
PM Meet
levels 1 and 2 by presenting
various ideas, the inflows and
outflows were reviewed. The DFD
was successful after several
attempts and reviews and
structural chart was started

January 3 10:00 AM – 3:00 Physical After many considerations, the


structure chart completion came
PM Meet
to end and the designs for the
ERD and data dictionary was
started

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:

The Botanical Training Institute of Agriculture boasts a user-friendly


application serving both as a plant sales platform and a knowledge
exchange hub. It offers short-term certificate programs in horticulture and
facilitates expert-guided plant recommendations.

Core Assumptions:

• Minimalistic: Assumptions are kept to a minimum for a logical and


efficient architecture.

• Data-driven: Seven databases store key information, including


users, courses, exams, reports, plants, payments, and forum
discussions.

Key Features:

• User Profiles: Maintain and manage user details like


username, address, email, password, type, and phone number.

• Plant Database: Comprehensive information on various


plants, accessible for purchase and research.

• Learning & Certification: Register for short-term horticultural


programs, take exams, and achieve certification.

• Expert Recommendations: Receive personalized plant


recommendations based on location and soil conditions from
registered experts.
CS5002NI Software Engineering
• Community Forum: Share ideas, post comments, and engage in
plant-related discussions through the interactive forum.

Additional Highlights:

• Registration required for purchases and program enrollment.

• Secure payment processing for plant purchases.

• Forum notifications to keep users informed.

• Administrative dashboard for staff and user report monitoring.

• Staff members can manage expert registrations and qualifications.

• Mock tests and certification for re-registered staff.

Overall Value:

This application empowers individuals to learn about plants, purchase


them effectively, and connect with a community of enthusiasts. The focus
on a streamlined architecture and minimal assumptions ensures a user-
friendly and efficient experience.

Additional Notes:

• Removed redundancy and clarified sentence structure.

• Emphasized key features and benefits.

• Used active voice for clarity and conciseness.

• Maintained the core information for easy comprehension.


CS5002NI Software Engineering
5. Individual task
1) Make Payment: Nishant Jung Shah (21039903)

Figure 8: Make payment context diagram:

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.

Figure 9: make payment level1 dfd:


CS5002NI Software Engineering
This is the level 1 data flow diagram of payment. The user entity does the payment, and the
payment information is stored in payment info named database through the process of
payment. The staff checks the payment made by the user and verifies the payment. The
customer then stores the updated payment information to database by the process called
update payment. Again, the user entity does the payment and staff checks the payment made
by the user and verifies the payment. Then the staff enrolls the user to the courses

Figure 10: level2 dfd (make payment):

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

Figure 11: structure chart (make payment):

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

Purpose For users to make 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

Input parameters Payment Details

Output parameters Confirm

Global Variable None

Local Variable Payment Details

Call Make Payment

Called By User
CS5002NI Software Engineering
2) Purchase Plant: Shosang Rumba (22015779)

Function Name: Purchase Plants


Introduction:
This simplifies the process of obtaining plants for the members and
providing a convenient and efficient way to make purchases. This initiative
not only contributes to our Institute's overall appearance, it also promotes
awareness of environmental issues among the community. You now have
the opportunity to create your own space, whether you are a student,
faculty member or visitor, and participate actively in our journey towards
greener and healthier worlds.

Environmental Model Specification: -


Level 0 DFD/Context Diagram:

Figure 12: Context-level Diagram: Purchase Plants.

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:

Figure 13: Level1 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, it ensures to give the Member_ID matches the information


stored in the system and confirming the identity of the member.
➢ Function 2. (Validate Purchase details):

In this function, it confirms the details of provided information which


includes the purchase details (such as member_id) and selected items by
checking if it is in stock or not and available for purchase.
CS5002NI Software Engineering
➢ Function 3. (Finalize order):
The order process is completed by taking the member's ID and purchasing
details into account when using this function. It prepares the data needed to
generate a bill, e.g. creation of an invoice identifier and storage of relevant
details. This function completes the order and prepares it for a next step, which
is to generate an invoice.
➢ Function 4. (Generate invoice):

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:

Figure 14: 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.

➢ Validate quantity of items (1.3):


In this function, it checks whether all items to be purchased are available
in the limited quantity or not.
➢ Ordering process Confirmation (1.4):
In this function, it takes the information that has been checked and
confirmed in the previous step and uses it to wrap up and complete the
order process.
CS5002NI Software Engineering
➢ Adding total amount to the invoice (1.5):
In this function, it figures out the total amount by considering the items
selected and their quantities in the list.

➢ Generate and display invoice (1.6):


In this function, it is responsible for generating the invoice and displaying it
with the confirmation details to the members.
CS5002NI Software Engineering
Design Specification
Structured Chart:

Figure 15: Structure chart of Purchase Plants.


CS5002NI Software Engineering
Module Specification

MODULE NAME: Purchase Plants


PURPOSE:
The purpose is to receive member id and purchase details from the member attempting
to make a purchase, and the information is then verified with the member and purchase
details. The request gets processed, and an invoice is generated once the information
in the database is verified.

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

//Checking for valid Member ID


IF (Check_member_id(member_id) == true) {
//Check if all the items available
IF (Check_items_availability (Purchase_items) == true)) {
//Check if the required items exist in needed quantity

IF (Check_quantity_availability (Purchase_items, Purchase,quantity) == true){


//ask for the order confirmation
IF (Confirm_order (purchase_id) == true) {
//calculate total amount to add to record, make and
display invoice
VAR total_amount = item1_amount * item1_quantity+
CS5002NI Software Engineering
item2_amount *item2_quantity+...+itemn_amount *
itemn_quantity
VAR Confirmation_details = Generate_invoice (Member_ID,
Purchase_id, Purchase_details, total_amount)
DB.add_record (Member_ID, Purchase_id,
Purchase_details, total_amount)
DISPLAY (Confirmation_details)
}
ELSE{
VAR cancellation_reason= INPUT (“Enter your reason:”)
CANCEL Purchase
}
}
}

}
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.

5.4.1. Environmental Model Specification


➢ Context Level Diagram

Figure 16: Context Level Diagram (Report preparation):

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

Figure 17: Level1 DFD (Generate report):

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

Figure 18: Level2 DFD (Generate report):

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.

5.4.3 Design Specification


➢ Structure Chart

Figure 19: Structure diagram (Generate report):


CS5002NI Software Engineering
➢ Module Specification (MSpecs)
Module Name Generate Report
Module Purpose The purpose of this module is to
generate a comprehensive report
for the business company by
utilizing data collected from the
database, including User details,
Staff details, Payment details, and
overall business information.

Pseudocode DO
GET User_details
GET Staff_details
GET Payment_details

IF User_details, Staff_details, and


Payment_details are valid THEN
Store in Report Database
ELSE
DISPLAY Error message
END IF

END DO

DISPLAY Generated Report

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

4) Join the program: Siddhartha Thapa (22068057)


Detailed Specification of Individual task
As per user requirement, we have designed a feature for joining the program i.e.
graduate or postgraduate or certificate oriented short courses where interested
members can join the courses.
a) Environmental Model Specification
Context Level Diagram

Figure 20: context diagram dfd (Join the program):

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

Figure 21: Data flow diagram level1(join the program):

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

Figure 22: level2 dfd(join the program):


CS5002NI Software Engineering
This is our module's level 2 DFD for generating reports. The process is depicted in
considerably more depth in this diagram, which also shows all the subprocesses' data
flows and interactions with other entities, processes, and data storage. The report
creation process is divided into a total of four subprocesses.

Figure 23: Context diagramk(join the program):


CS5002NI Software Engineering

MODULE NAME: Join the program


PURPOSE: This module obtains course availability details and adds this data to the
course data store.
PSEUDOCODE:
DO
/* Input course information */
Var courseID = INPUT("Please enter the course ID")
Var courseName = INPUT("Please enter the course you would like to join")

/* Input member information */


Var memberID = INPUT("Please enter your member ID")
Var memberName = INPUT("Please enter your name")

/* Input payment information */


Var paymentAmount = INPUT("Please enter the amount you would like to pay")

/* Check course availability */


Var courseAvailabilityStatus = getCourseAvailabilityStatus(courseID)

IF courseAvailabilityStatus = TRUE THEN


/* Verify payment */
Var paymentVerification = verifyPayment(memberID, paymentAmount)

IF paymentVerification = TRUE THEN


/* Enroll in the course and get enrollment details */
Var enrollmentDetails = getEnrollmentDetails(courseID, memberID)

/* Add enrollment details to the database */


Var enrollmentID = database.enroll(enrollmentDetails)
CS5002NI Software Engineering
/* Display success message */
PRINT("Successfully enrolled in the course.")
ELSE
/* Payment verification failed */
PRINT("Sorry, payment verification failed. You are not enrolled for this course.")
END IF
ELSE
/* Course is not available */
PRINT("Sorry, the course is not available.")
END IF
END DO

INPUT PARAMETERS: course info, member info and payment info


OUTPUT PARAMETERS: enrollment status
GLOBAL VARIABLES: database
CALLS: getCourseAvailabilityStatus, verifyPayment, getEnrollmentDetails
CALLED BY: Main

Module Name: Take Certification Exam


Purpose: This module allows a user to take a certification exam and provides feedback
on the results.
DO
/* User login */
Var user = INPUT("Enter username: ")
Var password = INPUT("Enter password: ")

// Display available exams


Var availableExams = AvailableExams(user)

// Allow user to take a mock test


Var selectedMockExamID = INPUT("Select a mock exam to take ")
takeMockTest(user, selectedMockExamID)
CS5002NI Software Engineering

// Check results
Var examResults = ExamResults(user)

// Fulfill prerequisites for certification exam


IF hasFulfilledPrerequisites(user) THEN
Var selectedCertificationExamID = INPUT("Select a certification exam to take ")
ELSE
PRINT("You have not fulfilled the prerequisites for the certification exam.")
END IF
END DO
CS5002NI Software Engineering
5) Take Certification Exam: Ashish Bhandari (22067842)

a. Environmental model specification

b. Internal model specification

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.

You might also like