SamanGautam L2C15
SamanGautam L2C15
SamanGautam L2C15
McGregor Institute
20% Group Coursework
AY 2023-2024
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
4. Group Tasks:.......................................................................................................... 19
6. Summary: ............................................................................................................... 68
7. References ............................................................................................................. 69
Table of Figures:
1. Introduction:
1.1. Description:
This is the first group coursework of “Software Engineering” which has been
worked on by our group of 4 members. For this coursework, we were given task to
analyse requirement of a institute named “McGregor Institute of Botanical Training”
who are facing problem to provide courses related to agriculture and horticulture due
to massive growth in the respective field. The institute also lacks an online community
that can keep its students/customer engaged with each other.
1.2. Goal:
The goal of creating this documentation is to provide a framework to make the
development process of the system planned by McGregor Institute easier and
smoother.
[22068007_SamanGautam] 1
[CS5002NI] [Software Engineering]
1.3. Objective:
The objective for creating this document
[22068007_SamanGautam] 2
[CS5002NI] [Software Engineering]
2. Project Charter:
2.1. Problem Statement:
The McGregor Institute of Botanical Training is a company based in Ireland which is
also operating in Nepal for seven years. Nowadays, the demand for the education,
training and community engagement in the field of horticulture and agriculture is
increasing a lot. So, as the plant-related activities are surging the organization faces
several challenges. The challenges that might occur for the organization are:
• Limited Course:
The demand for horticulture and agriculture trainings are increasing nowadays.
However, with the increasing number of interests in the respective field it is
necessary to diversify the course and introduce short-term certification courses
to meet the requirements of present time.
• Community Engagement:
There is a lack of centralized platform for all the plant enthusiasts and people
who love to work on this field despite of having a physical presence to seek
expert advices, share great ideas and stay connected with each other.
Establishing an online community forum can enhance engagement and sharing
of knowledge among the individuals.
• Absence of Plant Marketplace:
The institute wishes to promote plant-related activities but there is no structured
platform to users to view, purchase or inquire about the different types of plants.
So, the creation of an online marketplace would facilitate the buying and selling
of plants.
• Payment and Certification System:
There is absence of secure and effective payment system for both plants
purchasing system and course. Also, the institute is lacking in term of
systematic approach to certification exams and results tracking.
[22068007_SamanGautam] 3
[CS5002NI] [Software Engineering]
• Recommendation System:
There is a lack of system that enables the user to seek good recommendations
from the expects based on their geographical location, soil conditions and other
factors to help them have a successful plant cultivation and production.
• Notification System and Reporting:
There is no notification system to keep users informed about new updates and
activities inside the institute. Also, the absence of reporting tools makes it
unable to track financials, employee performance and user engagement inside
the institute.
After analyzing all the requirements of the project, it will take about 35-40 weeks and
it will take around Rs. 40,000 to Rs. 60,000.
[22068007_SamanGautam] 4
[CS5002NI] [Software Engineering]
2.4. Project TimeLine:
The project is divided into six phases.
[22068007_SamanGautam] 5
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 6
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 7
[CS5002NI] [Software Engineering]
Functionality:
Functionality:
➢ Allows user to add plants they want to view different variety of plant; add
plants they want to purchase in the cart system and make purchase of
plants.
• Secured Payment System:
Creation:
➢ A payment system will be created to ensure a user-friendly, seamless and
security of all the data.
Functionality:
[22068007_SamanGautam] 8
[CS5002NI] [Software Engineering]
• Online Community Forum:
Creation:
➢ Developing an online forum for people who are plant enthusiast so that they
can connect with people, share their knowledge and seek advice from
experienced people.
Functionality:
➢ The forum will allow user to create an interactive online community where
they can post, comment, discuss and engage with each other.
• Recommendation System:
Creation:
➢ Developing a recommendation system where user can seek for expert
advices.
Functionality:
➢ User can provide details such as location on a map, soil condition images
and receive recommendation accordingly.
• Reporting Tools:
Creation:
➢ Developing a reporting tool for admins that helps to view overall institute’s
operations.
Functionality:
[22068007_SamanGautam] 9
[CS5002NI] [Software Engineering]
Functionality:
Functionality:
➢ Keeps a user updated about different activities and updates of the software.
i. Technical Challenges:
Risk: Different types of technical issues may arise when developing various
modules.
Mitigation: Conduct a detailed feasibility studies before the development of
the project starts.
ii. Customer Dis-satisfaction:
Risk: User might not like the system that is being developed in the middle
of development process.
Mitigation: Create different types of prototype modules and get feedbacks
from the customer.
iii. Data Security Threats:
Risk: There can be security breach which puts data of uses into a threat.
Mitigation: Encrypt sensitive data and use a good quality firewall for the
servers where the data are stored.
iv. Competition in Market:
[22068007_SamanGautam] 10
[CS5002NI] [Software Engineering]
Risk: The software that exists or are being developed might offer similar
services which creates a competition on the market.
Mitigation: Analyse the market by conducting different surveys and make a
very effective strategies according to the market condition.
v. Difficulty in User Adoption:
Risk: User might face difficulty in adapting the new platform which leads to
low system usage.
Mitigation: Develop user-friendly interfaces, make tutorial videos to make
people aware about the features.
[22068007_SamanGautam] 11
[CS5002NI] [Software Engineering]
3. Software Requirement Specification (SRS):
Software requirement Specification (SRS) refers to document which contain the overall
requirement such as functionalities, constraints, and qualities expected for the system.
SRS provides the guide for overall development or implementation of the system. This
document is the part of the System development life cycle, which validate all the
stakeholders to understand about the project goals and its requirements.
In this particular SRS our team, create the small idea for this system which include the
system functional requirements, Non-functional requirement with its external entities.
The system allows new user to create account to use function and features of the
system. This function also enables the user to manage their essential information
live name, email address, and password etc. This function also allows the company
to keep track of all its user which help to collect all everyday data processed by its
users.
The system allow user to choose their courses of undergraduate and postgraduate
in agriculture and horticulture. This function also allow user to take participate in
short term certification courses based on their interest. This function enables the
user to enroll in their courses and also help the system to track and manage course
enrolment and complain related to module.
• Purchase plant
The system allows users to view different varieties of plant available in the company
and also allow to purchase the plant which they are interested in. This function also
provides the fair price of the plants to the users if they are interested to buy them. In
this function the company also offered the plants for free based on the ranking of the
user on certification examination. This function also helps to track the available plant
in the company.
[22068007_SamanGautam] 12
[CS5002NI] [Software Engineering]
• Payment
System allows each user to pay fee for the courses which they are enrolled in and
also can pay price of the plants which they are interested to buy. The system has a
secured and encrypt payment gateway for online banking as well as credit/debit card
payment. This function also provides the invoice detail when the payment is
successfully conducted by the user and also send the confirmations message to the
respective user. This function also allows the system to store the financial detail of
the company and keep record of the payment detail done by the users.
The System allow users to give and take the suggestion from the expert about any
queries related to plants, soil and the field fertility through different medium such as
photo of the soil, plants etc.
This system also allows the user to send their field location to the expert to see the
soil fertility. Similarly, expert can also give reply to user queries and allow to summit
solution report to the respective user.
• Report preparation
The system is operated or called by the system administrator (admin) who has
excess of all the detail such as overall detail of the connected users within the
system. With the help of this facility administration can prepare the detail such as
financial report, employee report, and all the user report. The report made by this
function help company to gather the daily information about their business and also
help to know the ongoing errors and problems and to work for the betterment
of the company.
This function allow user to display the catalogue of the available certification exam
based on their module and also enable to participate in mock test. Using this
function user is allow to check the result of their mock test and certification
[22068007_SamanGautam] 13
[CS5002NI] [Software Engineering]
examination result and also can download or share the result if they want. To use
this overall function user is requested to go in series of process such as form filling,
completing the payment for course which they are enrolled in. This function help
company to oversee all the available courses and to maintain them.
• Forum
In this function users are free to ask the questions related to the plant and can share
post to give their opinion towards any category of plants. Users are also allowed to
comment on another user post to correct or to appreciate their answers and post.
This function help company on exchanging the information and knowledge on behalf
of different plants and help in research on plants as well.
• Notification
The system sends each and every user registered in system notification related to
the system, examination, courses, Events, Updates and many more. This function
send notification to each user based on their category of the company.
1. The system should be develop using C-sharp as a programming language for the
backend. HTML, CSS, and JavaScript for the frontend. And PostgreSQL,
[22068007_SamanGautam] 14
[CS5002NI] [Software Engineering]
MongoDB, Oracle for better and sustain Database management System. These
all requirements are for better performance for both mac and android user.
2. The system should be easily compatible with the latest version of search engine
like Google Chrome, Mozilla Firefox, and Microsoft Edge browsers to make user
experiences easy.
3. The system must have a response time of 2 seconds for every users and admin
interaction and also, system should handle 1000 user at a time.
4. The system should have minimum word information and maximum GUI for each
task that the user performs.
5. The system should include it all functionality in home page of the system. This
make the system user familiar and functional friendly and the design of the system
must be responsive in order to maintain excellent user experience.
6. All the data of every user and admin should be stored safely and also the two-step
verification should be implement for the private and sensitive information of user.
7. The system must integrate with other organization like Bank for the Payment
various payment transection gateway.
8. The system should perform regular backup for critical information and data.
The user interphase must be responsive across different devices like desktop, laptop,
tablets, and smartphone, maintaining instinctive designed for better and effective
navigation.
• The navigation in the user interphase should be user friendly, allowing user
to find and access relevant feature and information available in system.
• User interphase is available for both iOS and Android platform.
• Support multiple language which offers user to select their preferred
language.
• User interphase is customizable in term of font size, colour schemes to
enhance personalization.
[22068007_SamanGautam] 15
[CS5002NI] [Software Engineering]
• User interphase provide basic functionalities to synthesize data while
offline.
Hardware Interphases:
• Mobile application is compatible with both iOS and Android devices.
• Software will be connected with external peripheral devices like printer,
scanner to enable document processing and data input.
• Software will interact with different networking equipment such as routers
and switches for better communication and data transfer.
• Software interacts with camera system for image and video processing.
Software Interphases:
• The software will consult with google features such as Google map, google
photos to show the plant and soil condition to take recommendation form
expert.
• Verities of transection software like E-sewa, Khalti and phone pay and
different mobile banking is feasible for online payment transection.
• PostgreSQL is used as database management system to manage, update
and maintain data stored in database.
• Visual Studio Code is used to write, manage and debugging the system
code.
Communication Interphases:
[22068007_SamanGautam] 16
[CS5002NI] [Software Engineering]
3.3.3. Another nonfunctional requirement
Performance:
• System should be able to respond at least 1000 users at a single time based
on the functionality they are using.
• All the functionality of the system should interact with user and should give
output according to the input of the user within 2 second of time.
• The payment process can be done by various user at same interval of time.
• The system should able to login 1000 user within same interval of time.
Reliability:
• The system allows all its user to use its functionalities 24 hour except during
maintenance scheduled.
• The system must perform all its task without failure in 95 percent of use
cases.
• System should handle a maintain errors without data loss.
• The system should able to process only correct data.
Portability:
• The system and its features should work in different environment for
example the system should be able to run in both windows 10 and windows
11 with same performance
Compatibility:
• The system should be cohabited with another system within the same
platform or environment.
• User experience consistency satisfaction should be same across different
device, browser and OS.
[22068007_SamanGautam] 17
[CS5002NI] [Software Engineering]
Maintainability
• The system codebase should able to implement new updates, resolving bugs
after any type of system failure.
• The system should able to fix all functional error within 10 minutes.
Availability
• System should give all its operation to its user for external period of time without
any disturbance or error.
• System dashboard can be accessed by system users with a reliability rate of
99% every day.
Security
• The payment system within a system should be fully encrypted from other.
• Only admin can access, view sensitive data of the system and user.
• Non registered users are no allow to log in to system.
[22068007_SamanGautam] 18
[CS5002NI] [Software Engineering]
4. Group Tasks:
4.1. Environmental Model Specification:
4.1.1. Level 0 Data Flow Diagram:
[22068007_SamanGautam] 19
[CS5002NI] [Software Engineering]
4.1.2. Level 1 Data Flow Diagram:
Note: The Picture is blurry so please use the link given to see a clear image DFD Level 1
[22068007_SamanGautam] 20
[CS5002NI] [Software Engineering]
4.1.3. Level 2 Data Flow Diagram:
[22068007_SamanGautam] 21
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 22
[CS5002NI] [Software Engineering]
4.2. Internal Model Specification:
4.2.1. Entity Relationship Diagram (ERD):
Entity Relationship Diagram is the visual representation of the data model that
shows the relationship between different entities in a drawing form. Entity
Relationship Diagram (ERD) serves as the blueprint of a database as it is made
before designing the tables in the database which makes the entry of table and its
column easier. It is mostly used to provide a clear and simple picture of the data
structure and the relationships between various entities. (Froehlich, 1995)
Entity:
An entity in ER model is a real-life object that can be identified uniquely from other
objects. For example, in a company database, “Customer”, “Course” and “Report”
can be entity. (IBM, 2022)
Attributes:
Attributes are the properties of the entity. Every entity has a set of attributes that
describes it. For example, for an entity Customer, “CustomerID”, “CourseType”
can be its attribute. (IBM, 2022)
The Entity Relationship Model is a model which is used in the database to show
how the entities in the database are related. It is a conceptual data model which is
used in the database designing to represent the structure of database in a visual
manner. (Todd J. Green, 2011)
[22068007_SamanGautam] 23
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 24
[CS5002NI] [Software Engineering]
4.2.2. Data Dictionary:
A data dictionary is a table which contains the name and definitions of data
elements. It describes the meanings and purpose of data elements which contains
within the project and provides guidance on interpretation and representation. A
data dictionary also provides the meta data about the data element which is in the
database. Data Dictionary also holds the name of all the elements in the tables of
database which is important for any relational database. (Amazon AWS, 2006)
[22068007_SamanGautam] 25
[CS5002NI] [Software Engineering]
4.2.3. Data Dictionary for McGregor Institute:
[22068007_SamanGautam] 26
[CS5002NI] [Software Engineering]
4.2.4. Process Specification:
A process specification is a method used to document, analyse, and explain
the decision-making logic and formulas used to create output data from process
input data. Its objective is to flow down and specify regulatory/engineering
requirements and procedures. High-quality, consistent data requires clear and
complete process specifications. A process specification reduces ambiguity,
allowing an individual or organization to obtain a precise description of executed
tasks and accomplishments and validate system design, including the data
dictionary and data flow diagrams.
Process specifications are created for primitive processes and data flow diagram
processes of a higher level (minispecs). Process logic is best represented through
structured English, decision tables, decision trees or specified formulas or
algorithms and is used to communicate engineering requirements and procedures
to businesses involved in the creation of a process. Process descriptions may exist
on a form or in a computer aided software engineering (CASE) tool repository.
Process specifications are not created for processes requiring physical input or
output, processes representing simple data validation or processes with
preexisting and prewritten code. (Techopedia, 2012)
Process 1
Description: This process registers new user and staff in the system.
Detailed Logic:
[22068007_SamanGautam] 27
[CS5002NI] [Software Engineering]
Process 2
Process Name: User and Staff login
Description: This process checks the login credentials on the database to see whether it
is correct for login or not.
Detailed Logic:
Process 3:
Detailed Logic:
Process 4:
Description: This process lets student select preferred course i.e. Paid or Unpaid.
Detailed Logic:
• Let’s students choose if they want to enroll on the paid courses or the unpaid
courses as per their wish.
[22068007_SamanGautam] 28
[CS5002NI] [Software Engineering]
Process 4.1:
Detailed Logic:
• Get student and course details for registering for enrolment on unpaid courses.
Process 4.2:
Detailed Logic:
• Get student and course details for registering for enrolment on paid courses.
Process 4.3:
Description: This process let’s student pay for the paid course.
Detailed Logic:
• This process let’s student pay for the paid course for enrolment.
Process 4.4:
[22068007_SamanGautam] 29
[CS5002NI] [Software Engineering]
Description: This process lets the student access the course.
Output data flow: Notification, payment and course details being stored on database.
Detailed Logic:
• The student after taking up the course either paid or unpaid can access code
with this process.
Process 5:
Detailed Logic:
• This process lets student take a mock test for testing their capabilities.
Process 5.1:
Description: This process let’s the staff and system take conduct the mock test.
Detailed Logic:
• This process lets the exam conductor conduct exam for the students.
[22068007_SamanGautam] 30
[CS5002NI] [Software Engineering]
Process 6:
Description: This process checks if the people trying to give examination have enough
requirements for taking the exam.
Detailed Logic:
• This process checks the adequate requirements needed on students for giving
examination.
Process 6.1:
Detailed Logic:
• This process helps fetch course details and students to conduct an examination.
Process 6.2:
Description: This process lets students choose from two courses; Undergraduate and
postgraduate.
Detailed Logic:
• This process lets students choose from undergraduate and postgraduate courses
according to the student’s level.
[22068007_SamanGautam] 31
[CS5002NI] [Software Engineering]
Process 6.3:
Process Name: Examination
Detailed Logic:
Description: This process adds plant to the system for customer to purchase.
Detailed Logic:
[22068007_SamanGautam] 32
[CS5002NI] [Software Engineering]
Process 8:
Description: This process lets users, staffs, admins, customers interact with each other.
Input data flow: Post soil pictures, User engagement, Ask for recommendations, Post
plant details.
Output data flow: Admin accesses the community, gives user’s recommendation.
Detailed Logic:
• This process lets users, admins, staffs, customers interact with each other for
many purposes.
• Recommendations are taken and given in this process.
• Users can share their views and opinions in this process.
Process 9:
Description: This process collects data from various database that is used for making
reports.
Input data flow: Data from examination database, Staff database, User database, Plant
database.
Detailed Logic:
Description: This process as its name suggests is process that finally delivers reports to
the users after request is made.
[22068007_SamanGautam] 33
[CS5002NI] [Software Engineering]
Output data flow: The report is sent to users, i.e students, customers, staffs etc.
Detailed Logic:
• This is the main process where reports are created and shared.
• Important process which helps understand user, staff, student progress and
detailed information.
[22068007_SamanGautam] 34
[CS5002NI] [Software Engineering]
4.3. Design Specification:
4.3.1. Structure Chart:
A structure chart is a blueprint for software architecture which illustrates the
hierarchical layout of system components and their interactions. A structure
chart acts as a roadmap for developers that guides the developer for the
development of complex programs with clarity and precision. It shows the
breakdown of the configuration system to the lowest manageable levels. (G,
2011)
[22068007_SamanGautam] 35
[CS5002NI] [Software Engineering]
4.4. Assignment Diary:
4.4.1. Assumptions:
• Registration and log in functionality
➢ User must complete registration before logging onto the system.
➢ In case of user forgetting the password, user must complete the reset
method.
➢ After the creating the new password the user details gets updated in the
database
• Report and recommendation
➢ The data from info will be accessed by only admin and thus, report will be
created.
➢ Only the experts appointed by the system, or the administrators can give
recommendation to the user who have asked for their expertise.
➢ Payment must be done before accessing the course.
➢ Student must complete the payment process before accessing the paid
course whereas the unpaid course can be accessed directly.
• Update in stock
➢ After every transaction does by customer either single or in bult the stock in
database gets updated
➢ Plants are added if not available by the staff.
• Requirements, examination and result
➢ Every student must be eligible or must have fulfilled certain criteria before
taking the examination.
➢ Student can also take Mock test as per their convenience.
➢ All the question and result sheet will be stored in the examination database.
[22068007_SamanGautam] 36
[CS5002NI] [Software Engineering]
4.4.2. Group Members Responsibilities:
We had four members in our group to complete coursework-1 of software
engineering before the given deadline. When working for this coursework everyone
assisted each other and helped each-other in every possible way. The task was
divided among the group members in a very systematic way so that the project
would be completed before the deadline.
[22068007_SamanGautam] 37
[CS5002NI] [Software Engineering]
• Collective Collaboration:
o Team members collaborate synergistically, ensuring a holistic approach
to software development.
o Each member's specialized focus contributes to the overall success of
the project.
o The coordinated effort guarantees a robust framework for software
functionality and adaptability in diverse environmental contexts.
[22068007_SamanGautam] 38
[CS5002NI] [Software Engineering]
4.4.3. Group Meetings:
• Anmol Adhikari Listing all the steps task and Date: 12/17/2023
[22068007_SamanGautam] 39
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 40
[CS5002NI] [Software Engineering]
5. Individual Task:
5.1. Report Preparation (Saman Gautam – 22068007)
The system that McGregor Institute is planning to develop also contains a feature to
generate report of employee, customer and financial transactions. This feature enables
an admin to generate a report whenever necessary. The generated report can be used
to take different types of effective decision for the future and help them plan their
strategies to which can help their business grow faster.
[22068007_SamanGautam] 42
[CS5002NI] [Software Engineering]
➢ Level 2 Data Flow Diagram:
In Level 2 Data Flow Diagram we further expand level 1 diagram. For level 2,
we have choosen the “Generate Report” process. Here Admin first, extract all
the necessary data from the database and send it to the verification process.
After, the extracted data is verified it is sent to be processed and generate a
report. The report of employee, finance or customer is generated as per need
and it is either displayed or stored in the database.
Figure 10: Level 2 Data Flow Diagram for Generate Report (Report Preparation)
[22068007_SamanGautam] 43
[CS5002NI] [Software Engineering]
5.1.3. Design Specification:
➢ Structure Chart:
[22068007_SamanGautam] 44
[CS5002NI] [Software Engineering]
➢ Module Specifications
Module Purpose: The purpose of the module is to generate the report of employees,
customer or financial transactions according to the needs of the Institute by using all the
data collected in the database of employees, customer and finance.
Pseudocode:
DO
GET DB.Employee_Details
GET DB.Customer_Details
GET DB.Finance_Details
IF DB.Employee_Details valid
GENERATE Employee_Report
END IF
ELSE
END ELSE
IF Employee_Report.Exist is TRUE
STORE in Report_Database
END IF
IF DB.Customer_Details valid
GENERATE Customer_Report
END IF
ELSE
[22068007_SamanGautam] 45
[CS5002NI] [Software Engineering]
DISPLAY Error Message
END ELSE
IF Customer_Report.Exist is TRUE
STORE in Report_Database
IF DB.Finance_Details valid
GENERATE Finance_Report
END IF
ELSE
END ELSE
IF Finance_Report.Exist is TRUE
STORE in Report_Database
END IF
END DO
DO
GET DB.Customer_Details
GET DB.Customer_Report
INPUT Customer_Details
DISPLAY DB.Customer_Report
END IF
[22068007_SamanGautam] 46
[CS5002NI] [Software Engineering]
ELSE
END ELSE
END DO
[22068007_SamanGautam] 47
[CS5002NI] [Software Engineering]
5.2. Purchase Plant (Anmol Adhikari – 22068008)
The system that McGregor Institute is developing contains a feature to purchase plant
from the Institute. This feature enables the customers to browse and purchase plant
of their will. This function requires the customer’s details, plants to be purchased or
browsed details, and payment details of the customer.
In the level 1 Data Flow Diagram, we describe the process of purchasing plant and
furthermore, expand the Level 0 diagram. The system here takes in customer
details and lets the customer login and select the plant of their choice, and then it
lets the customer re-check their cart and make sure the plants they want are in the
cart. And after the customer is confident on what they want, they can pay and hand
out their payment details, and finally take the plant with them.
[22068007_SamanGautam] 48
[CS5002NI] [Software Engineering]
In the level 2 Data Flow Diagram, we further expand the Level 1 diagram. For level
2, we have chosen to add optional cases that happens when user has different
intentions. Here, after login and browsing and selecting plants for purchase and
adding the plants to cart, the user can choose to manage cart or confirm order. If
they wish to manage the cart they can add or remove plants. If they confirm the
order they can choose for shipping. If shipping is requested, shipping cost get’s
included in invoice but if it is not then the customer is asked for payment details
which is then stored in payment database to create report and invoice is printed.
Notification is sent as well.
[22068007_SamanGautam] 49
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 50
[CS5002NI] [Software Engineering]
5.2.3. Design Specification:
➢ Structure Chart
[22068007_SamanGautam] 51
[CS5002NI] [Software Engineering]
➢ Model Specification:
Module Name: Purchasing plants
Module Purpose: The purpose of this model is to select plants for purchase
and pay for it whilst storing the payment details for future
use and generating invoice.
Pseudocode: DO
GET plant_details
GET customer_details
GET payment_details
BROWSE product
ELSE
CONFIRM order
IF shipping yes
ELSE
DO payment
PRINT Invoice
[22068007_SamanGautam] 52
[CS5002NI] [Software Engineering]
PRINT Notification
DISPLAY customer_detail
Called by Main
[22068007_SamanGautam] 53
[CS5002NI] [Software Engineering]
5.3. Take Certification Exam (Aagaman Mainali – 22068131)
As per the system being developed by McGregor institute that helps in enrolling in
course alongside with buying selling plants, giving users recommendations and
creating reports. Besides that, it also has feature to let User take part in certification
exams and let them view their result.
[22068007_SamanGautam] 54
[CS5002NI] [Software Engineering]
5.3.2. Internal Model Specification:
➢ Level 1 Data Flow Diagram
The process or modules at the first level of the data flow diagram have divided into
a lot more sub-modules than in the context level diagram. According to the
diagram, the student logs in to the system with his or her personal information first.
Next, a requirement check is conducted, and if the student satisfies the
requirements, the student moves on to the course selection process. Finally, the
student takes the exam and views the results, with the data being saved in the
exam database.
[22068007_SamanGautam] 55
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 56
[CS5002NI] [Software Engineering]
5.3.3. Design Specification:
➢ Structure Chart
[22068007_SamanGautam] 57
[CS5002NI] [Software Engineering]
➢ Module Specification
BEGIN
Publish Results
ELSE
ENDIF
ENDWHILE
END
Calls: Exam DB
[22068007_SamanGautam] 58
[CS5002NI] [Software Engineering]
5.4. Make Payment (Rohit Raut – 22068148)
5.4.1. Environment Model Specification:
The context level diagram for below figure is for the “To make Payment” function.
Firstly, there are two external entities namely “User” and “Admin” and one main
process named as “Payment Process”. The process “payment process” gives
payment option to user for the course which they are enrolled in and also for
the plant which they want to buy according to customer choice. Then can
request their payment invoice throw “payment process”. The invoice of the users
is also access by the admin, the admin get notification whenever user pay for any
course and for plant which they want to buy.
[22068007_SamanGautam] 59
[CS5002NI] [Software Engineering]
[22068007_SamanGautam] 60
[CS5002NI] [Software Engineering]
wallet on both plant and course payment. When uses pay, the invoice is
generated which is stored in respective database which is received by the
user when they request to system through notification.
[22068007_SamanGautam] 61
[CS5002NI] [Software Engineering]
5.4.3. Design Specification:
➢ Structure Chart
[22068007_SamanGautam] 62
[CS5002NI] [Software Engineering]
➢ Pseudocode:
DO
ELSE
DEISPLAY error
END IF
ELSE
END IF
END IF
[22068007_SamanGautam] 63
[CS5002NI] [Software Engineering]
INPUT mobile number
INPUT Password
ELSE
DISPLAY ERROR
ELSE
END IF
END IF
End IF
[22068007_SamanGautam] 64
[CS5002NI] [Software Engineering]
ELSE
DEISPLAY error
ELSE
END IF
INPUT Password
ELSE
DISPLAY ERROR
ELSE
END IF
IF address is valid
[22068007_SamanGautam] 65
[CS5002NI] [Software Engineering]
DISPLAY plant details from plant database
ELSE
DISPLAY error
END IF
IF delivery is successful
ELSE
DISPLAY error
END IF
END IF
END IF
END IF
ELSE
SHOW error
ELIF
EXCESS course
EXCESS plant
END DO
[22068007_SamanGautam] 66
[CS5002NI] [Software Engineering]
Input Parameters: Plant details, Course detail, User address, User account number,
User password
[22068007_SamanGautam] 67
[CS5002NI] [Software Engineering]
6. Summary:
The main task of the project was to prepare a report for McGregor Institute who wants
to create a system where they can provide certification courses for post-graduate and
undergraduate customers. The company plans to provide short-term courses for the
customer and develop a marketplace for plant enthusiast, also an online community
form where people can interact with each other. The team of four member
collaborated to complete this report before the given deadline. This report contains
Data Flow Diagram, Data Dictionary, Module Specification, Process Specification and
Entity Relationship Diagram.
The group task for the report preparation was divided among the four members where
they had to create every required specification necessary for the project by helping
each other and handed all their designated task within the deadline. First, we create
the context level diagram which helped us to initiate the project as it is the base level
diagram. All of the group members were determined towards their work which helped
us to achieve our goal and objectives.
We also had to face a lot of difficulties while working on this project. In order to,
overcome all the difficulties and problems we did a lot of group meetings to come up
with a solution for the issues. We solved each and every problem we had to face
during this project by doing research on the internet, reading books and with the
assistance of our respected lecturers and tutors. The recommendations and guidance
of our tutor and lecturer helped us to remove all the issues when creating the report
as they always used to provide us with better solutions.
This project has not only enhanced our knowledge but also has boosted our
confidence but also has prepared us to work with clarity in real-world scenarios.
[22068007_SamanGautam] 68
[CS5002NI] [Software Engineering]
7. References
Amazon AWS, 2006. Best Practices for Data Dictionary Definitions and Usage ,
Montana: Northwest Environmental Data-Network.
Froehlich, I.-Y. S. &. K., 1995. Entity-Relationship Modeling. Third ed. s.l.:IEEE Xplore.
Todd J. Green, C. B., 2011. Introduction To Database. 165A ed. California: University
Of California, Davis.
[22068007_SamanGautam] 69