SamanGautam L2C15

Download as pdf or txt
Download as pdf or txt
You are on page 1of 75

CS5002NI Software Engineering

McGregor Institute
20% Group Coursework
AY 2023-2024

Group Name: Group 3

S.N. Student Name (Section name: Compulsory) College ID University ID

1. Saman Gautam (L2C15) NP01CP4A220312 22068007

2. Anmol Adhikari (L2C15) NP01CP4A220314 22068008

3. Aagaman Mainali (L2C15) NP01CP4A220472 22068131

4. Rohit Raut (L2C15) NP01CP4A220498 22068148

I confirm that I understand my coursework needs to be submitted online via MySecondTeacher under
the relevant module page before the deadline in order for my assignment to be accepted and marked. I
am fully aware that late submissions will be treated as non-submission and a marks of zero will be
awarded.
Table of Contents:
1. Introduction: ............................................................................................................. 1

1.1. Description: ........................................................................................................ 1

1.2. Goal: .................................................................................................................. 1

1.3. Objective: ........................................................................................................... 2

2. Project Charter: ........................................................................................................ 3

2.1. Problem Statement: ........................................................................................... 3

2.2. Business Case: .................................................................................................. 4

2.3. Goal Statement: ................................................................................................. 4

2.4. Project TimeLine: ............................................................................................... 5

2.5. Project Scope: .................................................................................................... 8

2.6. Risk Mitigation: ................................................................................................. 10

3. Software Requirement Specification (SRS): .......................................................... 12

3.1. Functional Requirements: ................................................................................ 12

3.2. Non-functional Requirement:............................................................................ 14

3.2.1. Design and Implementation Constraints .................................................... 14

3.2.2. External Interphase Requirements: ........................................................... 15

3.3.3. Another nonfunctional requirement ............................................................ 17

4. Group Tasks:.......................................................................................................... 19

4.1. Environmental Model Specification: ................................................................. 19

4.1.1. Level 0 Data Flow Diagram: ...................................................................... 19

4.1.2. Level 1 Data Flow Diagram: ...................................................................... 20

4.1.3. Level 2 Data Flow Diagram: ...................................................................... 21

4.2. Internal Model Specification: ............................................................................ 23

4.2.1. Entity Relationship Diagram (ERD): .......................................................... 23


4.2.2. Data Dictionary: ......................................................................................... 25

4.2.3. Data Dictionary for McGregor Institute:...................................................... 26

4.2.4. Process Specification: ............................................................................... 27

4.3. Design Specification: ........................................................................................ 35

4.3.1. Structure Chart: ......................................................................................... 35

4.4. Assignment Diary: ............................................................................................ 36

4.4.1. Assumptions: ............................................................................................. 36

4.4.2. Group Members Responsibilities: .............................................................. 37

4.4.3. Group Meetings: ........................................................................................ 39

5. Individual Task: ...................................................................................................... 41

5.1. Report Preparation (Saman Gautam – 22068007)........................................... 41

5.1.1. Environment Model Specification .............................................................. 41

5.1.2. Internal Model Specification:...................................................................... 42

5.1.3. Design Specification: ................................................................................. 44

5.2. Purchase Plant (Anmol Adhikari – 22068008) ................................................. 48

5.2.1. Environment Model Specification: ............................................................. 48

5.2.2. Internal Model Specifications: .................................................................... 48

5.2.3. Design Specification: ................................................................................. 51

5.3. Take Certification Exam (Aagaman Mainali – 22068131) ................................ 54

5.3.1. Environment Model Specification: ............................................................. 54

5.3.2. Internal Model Specification:...................................................................... 55

5.3.3. Design Specification: ................................................................................. 57

5.4. Make Payment (Rohit Raut – 22068148) ......................................................... 59

5.4.1. Environment Model Specification: ............................................................. 59

5.4.2. Internal Model Specification:...................................................................... 59


5.4.3. Design Specification: ................................................................................. 62

6. Summary: ............................................................................................................... 68

7. References ............................................................................................................. 69
Table of Figures:

Figure 1: Level 0 Data Flow Diagram for Whole System ............................................... 19


Figure 2: Level 1 Data Flow Diagram for Whole System ............................................... 20
Figure 3: Level 2 Data Flow Diagram for Course (1) ..................................................... 21
Figure 4: Level 2 Data Flow Diagram for Forum (2) ...................................................... 21
Figure 5: Level 2 Data Flow Diagram for Login (3) ........................................................ 22
Figure 6: Entity Relationship Diagram ........................................................................... 24
Figure 7: Structure Chart for Whole System .................................................................. 35
Figure 8: Context Level Diagram - Report Preparation ................................................. 41
Figure 9: Level 1 Data Flow Diagram (Report Preparation) .......................................... 42
Figure 10: Level 2 Data Flow Diagram for Generate Report (Report Preparation) ........ 43
Figure 11: Structure Chart (Report Preparation) ........................................................... 44
Figure 12: Context Level Diagram - Purchase Plant ..................................................... 48
Figure 13: Level 1 Data Flow Diagram (Purchase Plant) .............................................. 49
Figure 14: Level 2 Data Flow Diagram (Purchase Plant) .............................................. 50
Figure 15: Structure Chart for Purchase Plant .............................................................. 51
Figure 16: Context Level Diagram (Take Certification Exam) ....................................... 54
Figure 17: Level 1 Data Flow Diagram (Take Certification Exam) ................................. 55
Figure 18: Level 2 Data Flow Diagram (Take Certification Exam) ................................. 56
Figure 19: Structure Chart (Take Certification Exam) ................................................... 57
Figure 20: Context Level Diagram (Make Payment) ..................................................... 59
Figure 21: Level 1 Data Flow Diagram (Make Payment) ............................................... 60
Figure 22: Level 2 Data Flow Diagram (Make Payment) ............................................... 61
Figure 23: Structure Chart (Make Payment) .................................................................. 62
Table of Tables:
Table 1: Data Dictionary for McGregor Institute ............................................................ 26
Table 2: Group Meeting Table ....................................................................................... 40
[CS5002NI] [Software Engineering]

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.

This project is for the development of a comprehensive system for McGregor


Institute of Botanical Training which is a very popular training institute based in Ireland,
currently operating in Godawari, Lalitpur. This institute is providing its service for past
seven years successfully in Nepal for agriculture and horticulture. The institute is
planning to expand its offering by introducing short-term certification course in
horticulture alongside with these courses McGregor Institute is planning to sell various
plants and building its own online community. The team of four members worked on
the preparation of the report and engineer the requirements of the software. The vision
of McGregor Institute is defined in this document through the project charter and
environmental model specification, which contains the context level diagram and data
flow diagram. The project charter contains the problem statement, business case, goal
statement, timeline, scope and team members that has been working for the project.

This document is prepared by a team of four members and it acts as a roadmap


for the development of McGregor Institute’s new planned system. It focuses on
providing a clear path and framework for the development of the system to make it
easier for the developers.

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

• To make development process easier by providing a guide for the developers.


• To break down technical details and break it into easy-to-understand simpler
processes.
• To analyse different types of risk that might occur during the development of
the software and mitigate them.
• To make development process easier by providing a guide for the developers.

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

2.2. Business Case:


Business Case: McGregor Institute of Botanical Training

McGregor Institute of Botanical Training is an institute that is based on Ireland and is


operating in Nepal for almost seven years provides different types of training and
certification in agriculture and horticulture. The institute is planning to develop a
managed system after recognizing the need to expand its educational offering and
training programs as the number of people is increasing in the agriculture and
horticulture. The institute is planning to develop a system that includes short-term
certification and courses, an online plant marketplace, a community form where
people can engage with each-other and share their experience, secured payment
options.

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.

2.3. Goal Statement:


The main goals of this project are as follows:

• To bring diversity in courses and trainings.


• To facilitate people to purchase and sale various plant varieties.
• To build an interactive online community for plant enthusiast.
• To implement secure and efficient payment options for course and plant
transaction.

[22068007_SamanGautam] 4
[CS5002NI] [Software Engineering]
2.4. Project TimeLine:
The project is divided into six phases.

Phase 1: Project Initiation (1 Month)

• Project Start: Week 1


➢ Conduct a project starting meeting to discuss objectives, roles of members
and expectations of the project.
➢ Decide team members and assign them their task.
➢ Choosing a platform to create the system.
• Requirement Gathering and Stakeholders Engagement: Week 2 – 4
➢ Organize multiple meetings with the stakeholders to gather detailed
requirements for each component of the system.
➢ Understand user needs and requirements by conducting different surveys.

Phase 2: Planning and Design (2 months)

• Back-end Architecture Design: Week 5 – 6


➢ Designing how the back-end would work for the system.
• Front-end Design: Week 7
➢ Designing front-end component and how it would work for the system.
• Detailed System Design: Week 8 – 9
➢ Create a detailed system design and documents for all the required
modules of the system.
• Plan for future risk and budget management: Week 10 – 11
➢ Analyzing future risks and making a plan to overcome the risks.
➢ Making a plan for budget management and utilization of resources in the
most productive way.

[22068007_SamanGautam] 5
[CS5002NI] [Software Engineering]

Phase 3: System Development (3 months)

• Registration System Module: Week 12 – 13


➢ Development of user registration system, from which a user can register
themselves in the system.
• Certification Courses Joining and Exam Module: Week 14 – Week 17
➢ Start development of module from which people can join program i.e.,
graduate or postgraduate or certification oriented short courses.
➢ Develop a system from which a user can take mock test, also give
certification exams and view their progress report.
• Marketplace Module: Week 18 – 19
➢ Developing an e-commerce platform for plant marketplace.
➢ Develop features for plant viewing, cart system and purchase an item.
• Community Forum Module: Week 20 – 21
➢ Develop and implement an online community forum.
➢ Making a user engaging feature where people can post, comment and
discuss about different topics.
• Payment System: Week 22 – 25
➢ Develop and implement payment system which enables people to purchase
plants and any paid courses.
➢ Join any paid courses after doing the payment.
➢ Make payment system secured as well as user friendly.
• Recommendation System and Reporting Tools: Week 26 – 27
➢ Develop a recommendation system in which people can learn from an
experienced plant enthusiast.
➢ Develop a reporting tool for admins in order to track transaction of people,
user engagement and employee performance.

[22068007_SamanGautam] 6
[CS5002NI] [Software Engineering]

Phase 4: Testing (1 month)

• System Testing: Week 28 – 31


➢ Perform testing of all the components in the system to ensure functionality,
security and usability.
➢ Find out the bugs or performance issues present in the software and fix all
those bugs.

Phase 5: Marketing and Deployment (1 month)

• Marketing and Promotion: Week 32 – 35


➢ Promote new certification courses, plant marketplace by launching different
marketing campaigns.
• Deployment: Week 36 – 37
➢ Integrate the system and deploy it in the market for public use.

Phase 6: Monitoring and Optimization

• Monitoring and Optimization (From Week 38)


➢ Monitor the system performance and user feedback.
➢ Optimize the system for smooth user experience.
➢ Improve the system according to the user feedback.
➢ Bring new features or changes if necessary.

Project Completed in 38 weeks after the initiation date.

[22068007_SamanGautam] 7
[CS5002NI] [Software Engineering]

2.5. Project Scope:


• Short-Term Certification Courses:
Creation:
➢ This module focuses on the development and implementation of short-term
certification courses in agriculture along with horticulture.

Functionality:

➢ The courses will be accessible through an online platform which provides


flexibility for anyone who joins the program.
• Plant Marketplace:
Creation:
➢ Establishment of an e-commerce platform for uses so that they can view,
select or purchase different types of plants.

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:

➢ Allows user to make payments through a secured gateway to join


certification courses and purchase plants.

[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:

➢ Reporting tool for helps admin to generate detailed financial reports,


employee reports and user-related reports.
• Certification Exams:
Creation:
➢ Creating a module from which a user can take part in mock test, check their
results and participate in certification exams after they meet a minimum
requirement.

[22068007_SamanGautam] 9
[CS5002NI] [Software Engineering]
Functionality:

➢ Helps to conduct various certification exam for the user.


• Notification System:
Creation:
➢ Developing a notification system to keep user informed about different
activities, updates and interactions. Also, a user can customize notification
settings according to their preferences.

Functionality:

➢ Keeps a user updated about different activities and updates of the software.

2.6. Risk Mitigation:


When developing this project, the developers might face some issues before or after the
creation of the system. The risks that might be faced during or after the completion of
project are listed below:

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.

3.1. Functional Requirements:


• User registration

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.

• Join the program.

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.

• Ask for Recommendation

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.

• Take certification exam

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.

3.2. Non-functional Requirement:


Non-functional requirements refer to the aspects of a system that are not directly related
to the functional behaviour but are essential and important for the system's overall
performance, usability, reliability, and other qualities. Non-functional requirements are
categorized into different attributes, such as performance, security, reliability,
maintainability, and usability etc.

3.2.1. Design and Implementation Constraints


In this part of System Specification chart (SRS) all the designed and system
implementation are described in detail. This part include preference for the specific
programming language, specific database management system, specific web framework
etc.

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.

3.2.2. External Interphase Requirements:


User Interphases:

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:

• The system should specify HTTP/HTTPS for web communication on


internet and (Message Queuing Telemetry Transport) MQTT for IoT
devices.

[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:

Figure 1: Level 0 Data Flow Diagram for Whole System

[22068007_SamanGautam] 19
[CS5002NI] [Software Engineering]
4.1.2. Level 1 Data Flow Diagram:

Figure 2: Level 1 Data Flow Diagram for Whole System

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:

Figure 3: Level 2 Data Flow Diagram for Course (1)

Figure 4: Level 2 Data Flow Diagram for Forum (2)

[22068007_SamanGautam] 21
[CS5002NI] [Software Engineering]

Figure 5: Level 2 Data Flow Diagram for Login (3)

[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)

Entity Relationship Model:

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]

Figure 6: Entity Relationship Diagram

[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)

The purpose of the data dictionary is listed below:

• Data Dictionary helps to reduce data inconsistencies.


• It enforces the use of data standards.
• It ensures uniformity in the gathering and application of data between
various research team members.
• It makes analyzing the data easier.
• It contributes in improving the quality of data.

[22068007_SamanGautam] 25
[CS5002NI] [Software Engineering]
4.2.3. Data Dictionary for McGregor Institute:

Table_Name Attribute Contents Type Required Format

Admin_name Admin's name VARCHAR(255) YES Shyam


Admin_contact Admi's conatct INT YES 9807452377
Admin
Admin_adress Admin's address VARCHAR(255) YES kathmandu

Course_id Course unique id INT YES 101


Course_name Course name VARCHAR(300) YES Basics of Flower
Course_fee Fee required for the course INT YES 10000$
Course
Course_type Type of the course VARCHAR(300) YES Paid
Credit_hour Total time to complete course INT YES 6000

Certification_id ID assinged to each course INT YES LT012268


issued date certificate isseued date DATE YES 2022/3/8
certification_name Name of the certification VARCHAR(255) YES Post Graduate
Certification_course
fee Fee required for the certification INT YES 900$
Result Result of the certification INT YES A

Payment_id ID given to payment INT YES OID465


Payment_Type Payment method VARCHAR(255) YES CASH
Payment invoice Bill Isuued to customer VARCHAR(255) NO
Payment_date Payment done date DATE YES OID145
YES OID222
user_id ID of the customer VARCHAR YES #6291
username User_Name given to the customer VARCHAR(255) YES MOMOSKAR
address Address of the customer VARCHAR(255) YES jorpati
User/customer
Email Email of the customer VARCHAR(255) YES [email protected]
Registration date regestering date INT YES 2078/12/3
registration_id ID given to the customer INT YES 02391293870
Plant_ID ID of the plant INT YES 98
plant_name Name of the plant VARCHAR(255) YES Cactus
plant category name of the category VARCHAR(255) YES desert plant
Plant
availablity status availability status of the plant BOOLEAN YES TRUE
plant price Price of the plant INT YES 23$

Report ID Report ID of every report INT YES 1


Exam report report of exam details TEXT YES RESULT=A+
Report Staff Report Report of the staff TEXT YES salery=1000
Student report Peport of student TEXT YES StudentId=0875
Payment report Report of payment TEXT YES Payment=wallet
StaffID Id of the staff INT YES 38274
Staff Name Name of staff VARCHAR(255) YES Roni maya tamang
staff Staff Address Address of staff VARCHAR(255) YES Rautahat
Staff Contact Conatct of staff INT YES 9805614223

Table 1: 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

Process Name: Register User and Staff

Description: This process registers new user and staff in the system.

Input Data Flow: User and Staff registration details.

Output Data Flow: User and Staff’s information being stored.

Detailed Logic:

• Get User and Staff details to register User and Staff.


• Send the registration details for registering new users and staffs.

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

Input Data Flow: Staff details and User details.

Output Data Flow: Credentials being checked.

Detailed Logic:

• Check User and Staff details for login.

Process 3:

Process Name: Upload Course

Description: This process uploads courses for the student to choose.

Input Data Flow: Staff details, Course details.

Output Data Flow: Course details being stored on database.

Detailed Logic:

• Uploads course details for student to choose courses from.

Process 4:

Process Name: Enrollment

Description: This process lets student select preferred course i.e. Paid or Unpaid.

Input Data Flow: User details

Output Data Flow: Course selection.

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:

Process Name: Unpaid Courses

Description: This process lets student choose unpaid courses.

Input data flow: Course selection.

Output data flow: Access to course.

Detailed Logic:

• Get student and course details for registering for enrolment on unpaid courses.

Process 4.2:

Process Name: Paid Courses

Description: This process lets student choose paid course.

Input data flow: Course selection.

Output data flow: Course details.

Detailed Logic:

• Get student and course details for registering for enrolment on paid courses.

Process 4.3:

Process Name: Course Payment

Description: This process let’s student pay for the paid course.

Input data flow: Course details, Payment details.

Output data flow: Invoice.

Detailed Logic:

• This process let’s student pay for the paid course for enrolment.
Process 4.4:

Process Name: Selected Course

[22068007_SamanGautam] 29
[CS5002NI] [Software Engineering]
Description: This process lets the student access the course.

Input data flow: Access course, Invoice (payment confirmation).

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:

Process Name: Mock Test

Description: This process let’s students take a mock test.

Input data flow: Student detail, course detail.

Output data flow: Gives exam.

Detailed Logic:

• This process lets student take a mock test for testing their capabilities.
Process 5.1:

Process Name: Conduct test.

Description: This process let’s the staff and system take conduct the mock test.

Input data flow: Given Examination.

Output data flow: Notification, Result.

Detailed Logic:

• This process lets the exam conductor conduct exam for the students.

[22068007_SamanGautam] 30
[CS5002NI] [Software Engineering]
Process 6:

Process Name: Requirements.

Description: This process checks if the people trying to give examination have enough
requirements for taking the exam.

Input data flow: Student detail.

Output data flow: Check if the requirement meets.

Detailed Logic:

• This process checks the adequate requirements needed on students for giving
examination.
Process 6.1:

Process Name: Course details

Description: This process fetches course details for a particular student.

Input data flow: Course details.

Output data flow: Conduct examination.

Detailed Logic:

• This process helps fetch course details and students to conduct an examination.
Process 6.2:

Process Name: Select Course

Description: This process lets students choose from two courses; Undergraduate and
postgraduate.

Input data flow: Course selection.


Output data flow: Student and course details.

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

Description: This process conducts examination for students.

Input data flow: Taken examination.

Output data flow: Results.

Detailed Logic:

• This process takes examination and publishes results.


Process 7:

Process Name: Add plant.

Description: This process adds plant to the system for customer to purchase.

Input data flow: Staff details

Output data flow: Plant information is stored in database.

Detailed Logic:

• This process adds plant on the system for customer to purchase.


• It adds plant’s stock, new plants, price etc.

[22068007_SamanGautam] 32
[CS5002NI] [Software Engineering]
Process 8:

Process Name: Forum

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:

Process Name: Data_Process

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.

Output data flow: Admin accesses the data.

Detailed Logic:

• This process is essential process for making and maintaining reports.


• Helps Admins create report.
Process 10:

Process Name: Report

Description: This process as its name suggests is process that finally delivers reports to
the users after request is made.

Input data flow: Admin creates report.

[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)

Figure 7: Structure Chart for Whole System


Note: The image is blurry. To see clear image of structure chart click on the given link
Structure Chart

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

• Saman Gautam (Team Leder):


o Oversees the Project Charter, establishing clear project objectives and
execution guidelines.
o Takes charge of formulating the Structure Chart for a detailed project
roadmap
o Creating Assignment diary
• Anmol Adhikari:
o Develops the Entity-Relationship Diagram (ERD) to illustrate system
entity relationships.
o Contributes to the Environmental Model Specification, outlining the
system's interaction with the external environment.
o Creating the project specification
• Aagaman Mainali:
o Refines the Environmental Model Specification, detailing how the
software interfaces with its external surroundings.
o Collaborates on the development of the ERD, enhancing the team's
understanding of the system's structural dynamics.
o Creating The data dictionary for the system
• Rohit Raut:
o Defines the SRS, laying out comprehensive software requirements for
the team's development efforts and creating an Entity relation diagram
for system
o Contributes to the 2nd Level Environmental Model Specification, adding
complexity to the understanding of software-environment interactions.

[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:

Members Involved Topics discussed Date and Time

• Saman Gautam Task distribution and all the Date: 12/15/2023

• Aagaman Mainali project topics thoroughly Time:(11:00 AM - 12:30


discussed PM)
• Anmol Adhikari
• Rohit Raut

• Anmol Adhikari Listing all the steps task and Date: 12/17/2023

• Aagaman Mainali process that may occur


during the data flow within Time:(12:00 PM - 1:00 PM)
• Rohit Raut
the system

• Anmol Adhikari Reviewing data flow Date: 12/22/2023

• Aagaman Mainali diagram and checking Time: (3:00 PM - 4:00 PM)


possible mistake and
• Rohit Raut
creating level two data flow
• Saman Gautam
diagram

• Rohit Raut Creating System Date: 12/23/2024

• Saman Gautam representation specification Time: (12:00 PM - 1:00 PM)


and talking about structure
charts in details

• Anmol Adhikari Discussing the tables and Date: 12/26/2023


• Aagaman Mainali attributes to help create
(ERD) entity relation Time:(10:00 AM - 11:00AM)
diagram

[22068007_SamanGautam] 39
[CS5002NI] [Software Engineering]

• Anmol Adhikari Wrapping up all the Date:12/28/2023

• Aagaman Mainali remaining tasks and


finishing up the course work Time: (12:00 PM - 2:00 PM)
• Rohit Raut
• Saman Gautam

Table 2: Group Meeting Table

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

5.1.1. Environment Model Specification


➢ The context level diagram for shown below is for the “Report Preparation”
function. It contains two external entities “Admin” and “Customer”. The
“Admin” entity first sends all the required extracted data from the database
and prepare a report with the help of the system and the generated report
is sent back to the user. The report is then stored for future use and the
“Customer” entity can view their report. First “Customer” needs to provide
their details and after their details matches with the customer report in the
database the report is shown to the customer.

Figure 8: Context Level Diagram - Report Preparation


[22068007_SamanGautam] 41
[CS5002NI] [Software Engineering]
5.1.2. Internal Model Specification:
➢ Level 1 Data Flow Diagram:

In Level 1 Data Flow Diagram we describe the process of report preparation


and further more expand the Level 0 diagram. Here the system will fetch all the
required data from the data storage. The extracted data is then sent to be
processed and a report is generated. After the report is generated, it is stored
in the database named “Report Records” so that it can be used when needed.
The customer can view their own records by entering their detail. If the provided
detail matches with the report in the database, the record of the respective
customer is shown.

Figure 9: Level 1 Data Flow Diagram (Report Preparation)

[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:

Figure 11: Structure Chart (Report Preparation)

[22068007_SamanGautam] 44
[CS5002NI] [Software Engineering]
➢ Module Specifications

Module Name: Report Preparation

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

DISPLAY Error Message

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

DISPLAY Error Message

END ELSE

IF Finance_Report.Exist is TRUE

STORE in Report_Database

END IF

END DO

DISPLAY Generated_Report to Admin Only

//For Customer to view their own record

DO

GET DB.Customer_Details

GET DB.Customer_Report

INPUT Customer_Details

IF Customer_Details matches to DB.Customer_Details

DISPLAY DB.Customer_Report

END IF

[22068007_SamanGautam] 46
[CS5002NI] [Software Engineering]
ELSE

DISPLAY “Customer Details does not match”

END ELSE

END DO

Input Parameters: Customer_Details, Employee_Details, Finance_Details

Output Parameters: Report Information

Local Variable: CustomerID, EmployeeID, TransactionID

Calls: Get Customer_Details, Employee_Details and Finance_Details

Called By: Main

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

5.2.1. Environment Model Specification:


This context level diagram shown below is the “Purchase plant function”. It
contains two external entities, “User” and “Admin”, “User” in this case refers to the
customer. The “User” first logs into the system by putting in User details and gets
access to the page where they can browse plants for purchase. After confirming
the order, the user has to put in their payment details which are then stored in the
database. The plants are managed by Admins and Staffs and are added into the
database firsthand.

Figure 12: Context Level Diagram - Purchase Plant


5.2.2. Internal Model Specifications:
➢ Level 1 Data Flow Diagram:

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]

Figure 13: Level 1 Data Flow Diagram (Purchase Plant)


➢ Level 2 Data Flow Diagram:

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]

Figure 14: Level 2 Data Flow Diagram (Purchase Plant)

[22068007_SamanGautam] 50
[CS5002NI] [Software Engineering]
5.2.3. Design Specification:
➢ Structure Chart

Figure 15: Structure Chart for Purchase Plant

[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

SELECT plants for purchase

ADD selected plants to cart

IF manage cart yes

ADD or REMOVE plants

ELSE

CONFIRM order

IF shipping yes

ADD shipping cost

ELSE

DO payment

STORE payment details on database

PRINT Invoice

[22068007_SamanGautam] 52
[CS5002NI] [Software Engineering]
PRINT Notification

DISPLAY customer_detail

DISPLAY payment reciept

Input Parameters: Customer details, Plant details.

Output Parameters: Payment details, Invoice.

Global Variable Invoice

Local Variable None

Calls GET plant_details, customer_details, payment_details

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.

5.3.1. Environment Model Specification:


Various Modules for user registration, course administration, exams, result display,
and administration are included in this environmental model. While the Course
Management Module allows course selection, the User Registration Module
makes account creation easier. Users can view their performance using the
Results Viewing Module, while the Examination Module oversees exam
procedures. Administrators can monitor the system with the Admin Dashboard,
and comprehensive performance reports can be generated with the Exam Report
Generation tool. Administrators can disseminate pertinent data and results using
the Publishing Module. This integrated system protects against plagiarism tool
detection while guaranteeing a seamless user experience and effective
administrative control.

Figure 16: Context Level Diagram (Take Certification Exam)

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

Figure 17: Level 1 Data Flow Diagram (Take Certification Exam)


➢ Level 2 Data Flow Diagram
The processes are further divided into multiple subprocesses, much like in
the level one data flow diagram. Compared to the data flow at Level One
Staff members upload all requirements and guidelines needed to take the
exam into the database before the user chooses a course to take the
exam. Once the requirements are completed, a requirement check is
performed, and the student proceeds to take the exam; if not, he cannot
take the exam until the requirements are met. After the student answers
the question, the result is published, and the admin creates a report based
on the result for future use.

[22068007_SamanGautam] 55
[CS5002NI] [Software Engineering]

Figure 18: Level 2 Data Flow Diagram (Take Certification Exam)

[22068007_SamanGautam] 56
[CS5002NI] [Software Engineering]
5.3.3. Design Specification:
➢ Structure Chart

Figure 19: Structure Chart (Take Certification Exam)

[22068007_SamanGautam] 57
[CS5002NI] [Software Engineering]
➢ Module Specification

BEGIN

Enter Student Details // input student details.

WHILE Staff Uploads Examination Material // Loop until examination material is


uploaded

View Requirements / / Check examination requirements

IF Requirements Meet// Check if requirements are met

Take Examinations // Conduct examinations.

Publish Results

ELSE

Meet Requirements //Address and meet the requirements.

ENDIF

ENDWHILE

END

Input Parameters: User_details

Output Parameters: Report Information, Result

Local Variable: CustomerID, EmployeeID, TransactionID

Calls: Exam DB

Called BY: Examination_Report

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

Figure 20: Context Level Diagram (Make Payment)


5.4.2. Internal Model Specification:
➢ Level 1 Data Flow Diagram
In level 1 we describe more about the process of payment and describe
level 0 in more detail. In this level all the data from plant database and
Course database are extract to give course fee and plant price to user for
payment. Then when the payment successfully done by the users then
payment details is stored in payment database and they will access the
course which they pay for and get plant which they buy. There is a process
called notification in which user can request their invoice from the system.

[22068007_SamanGautam] 59
[CS5002NI] [Software Engineering]

Figure 21: Level 1 Data Flow Diagram (Make Payment)


➢ Level 2 Data Flow Diagram
In level 2 Data flow diagram we further explain level 1 diagram. In level 2,
we have chosen “Payment” process from level 1 diagram to explain it more.
Here all the detail of course and plant comes on payment process to make
the payment. Payment process is categories into 2 sub process which is for
course payment and plant payment. The course payment includes only
online system where as plant payment include both online system as well
as cash on delivery. The online system includes mobile banking and E-

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

Figure 22: Level 2 Data Flow Diagram (Make Payment)

[22068007_SamanGautam] 61
[CS5002NI] [Software Engineering]
5.4.3. Design Specification:
➢ Structure Chart

Figure 23: Structure Chart (Make Payment)

[22068007_SamanGautam] 62
[CS5002NI] [Software Engineering]
➢ Pseudocode:

DO

GET Plant details

GET Course details

GET processed to payment

IF user choose course payment

GO to course payment option

IF user choose mobile banking

INPUT bank account number

INPUT bank password

IF Bank account number and password matches

DISPLAY mobile banking dashboard

//for user to view mobile banking dashboard.

ELSE

DEISPLAY error

END IF

IF user payment is successful

STORE invoice in course payment database.

ELSE

REPEAT course payment again

END IF

END IF

IF user choose E-wallet

[22068007_SamanGautam] 63
[CS5002NI] [Software Engineering]
INPUT mobile number

INPUT Password

IF mobile number and password is correct

DISPLAY E-wallet dashboard

ELSE

DISPLAY ERROR

IF user payment is successful

STORE invoice in course payment database.

ELSE

REPEAT course payment again

END IF

END IF

End IF

IF user choose plant payment

GO to plant payment option

IF user choose mobile banking

INPUT bank account number

INPUT bank password

IF Bank account number and password matches

DISPLAY mobile banking dashboard

//for user to view mobile banking dashboard.

[22068007_SamanGautam] 64
[CS5002NI] [Software Engineering]
ELSE

DEISPLAY error

IF user payment is successful

STORE invoice in course payment database.

ELSE

REPEAT course payment again

END IF

IF user choose E-wallet

INPUT mobile number

INPUT Password

IF mobile number and password is correct

DISPLAY E-wallet dashboard

ELSE

DISPLAY ERROR

IF user payment is successful

STORE invoice in course payment database.

ELSE

REPEAT course payment again

END IF

IF user select Cash on delivery option

INPUT address of user

IF address is valid

PROCESS the delivery

[22068007_SamanGautam] 65
[CS5002NI] [Software Engineering]
DISPLAY plant details from plant database

ELSE

DISPLAY error

END IF

IF delivery is successful

GENERATE invoice and store in plant database

ELSE

DISPLAY error

END IF

END IF

END IF

END IF

IF user request invoice

CHECK user details

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

Output Parameters: Payment Invoice

Local Variable: Plant_id, User_id, course_id, payment_id

Calls: Get Plants detail, Course detail, process to payment

Called By: Payment

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

G, R. A. A., 2011. Software Quality Management, Chennai: Anna University.

IBM, 2022. IBM. [Online]


Available at: https://www.ibm.com/docs/en/imdm/12.0?topic=concepts-key-entity-
attribute-entity-type
[Accessed 02 01 2024].

Techopedia, 2012. Techopedia. [Online]


Available at: https://www.techopedia.com/definition/28636/process-specification

Todd J. Green, C. B., 2011. Introduction To Database. 165A ed. California: University
Of California, Davis.

[22068007_SamanGautam] 69

You might also like