You are on page 1of 57

CS5002NI Software Engineering

McGregor Institute
20% Group Coursework
AY 2023-2024

Group Name:

S.N. Student Name – Section (L2C16) College ID University ID

1 Mohammad Taukir Reza np01cp4a220396 22068081

2 Aayush Nath Khatri (Leader) np01cp4a220283 22067982

3 Mukesh kumar Mahato np01cp4s220042 22015708

4 Sumit kumar Sah np01cp4s220128 22015793

5 Sandip Tamang Bomjam np01cp4s220110 22015763

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
CS5002NI SOFTWARE ENGINEERIN G

TABLE OF CONTENTS

1. INTRODUCTION................................................................................................................................... 5
1.1 Description....................................................................................................................................... 5
1.2 Aims and Objectives......................................................................................................................... 5
2. PROJECT CHARTER............................................................................................................................ 6
3. SOFTWARE REQUIREMENT SPECIFICATION (S.R.S).......................................................................8
3.1 Definition.......................................................................................................................................... 8
3.2 Purpose Clarification........................................................................................................................ 8
3.3 Functional Requirements................................................................................................................. 8
3.4 Non – Functional Requirements..................................................................................................... 10
3.4.1 Design and Implementation..................................................................................................... 10
3.4.2 External Interfaces Required................................................................................................ 11
3.4.3 Other Non – Functional Requirements.................................................................................12
4. DETAILED SPECIFICATION OF WHOLE SYSTEM............................................................................13
(GROUP TASK).................................................................................................................................... 13
4.1 Environmental Model Specification................................................................................................ 13
4.1.2 Context level Data Flow Diagram – Whole System................................................................13
4.1.3 Level - 1 Data Flow Diagram - Whole System........................................................................14
4.1.4 Level - 2 Data Flow Diagram – Take Certification..................................................................15
4.1.5 Level - 2 Data Flow Diagram – Register/Login the System..................................................16
4.1.6 Level - 2 Data Flow Diagram – Join the Program..................................................................17
4.2 Internal Model Specification........................................................................................................... 18
4.2.1 Entity Relationship Diagram (E.R.D)........................................................................................ 18
4.2.2 Data Dictionary......................................................................................................................... 19
4.2.3 Process Specification............................................................................................................... 20
4.3 Design Specification................................................................................................................. 24
4.4 Assignment Diary..................................................................................................................... 25
4.4.1 Assumptions............................................................................................................................ 25
4.4.2 Group Members Responsibilities......................................................................................... 25
4.2.3 Group Meetings....................................................................................................................... 26
5. INDIVIDUAL TASKS............................................................................................................................ 32
5.1 Take Certification Exam – Aayush Nath Khatri 22067982..............................................................32
5.1.1 Environmental Model Specification.......................................................................................... 32
5.1.2 Internal Model Specification........................................................................................................ 33
5.1.3 Design Specification.................................................................................................................... 34
5.2 Join the Program – Mukesh Kumar Mahato 22015708..................................................................36

1|Page
CS5002NI SOFTWARE ENGINEERIN G

5.2.1 Environmental Model Specification.......................................................................................... 36


5.2.2 Internal Model Specification........................................................................................................ 37
5.2.3 Design Specification.................................................................................................................... 39
5.3 Report Preparation – Sumit kumar Sah 22015793.........................................................................41
5.3.1 Environmental Model Specification.......................................................................................... 41
5.3.2 Internal Model Specification..................................................................................................... 41
5.3.3 Design Specification.................................................................................................................... 43
5.4 Make Payment – Mohammad Taukir Reza 22068081....................................................................45
5.4.1 Environmental Model Specification.......................................................................................... 45
5.4.2 Internal Model Specification..................................................................................................... 46
5.4.3 Design Specification.................................................................................................................... 48
5.5 Purchase Plant – Sandip Tamang Bomjan 22015763....................................................................50
5.5.1 Environmental Model Specification.......................................................................................... 50
5.5.2 Internal Model Specification..................................................................................................... 51
5.5.3 Design Specification.................................................................................................................... 53
6. SUMMARY........................................................................................................................................... 55
7. REFERENCES.................................................................................................................................... 56

2|Page
CS5002NI SOFTWARE ENGINEERIN G

TABLE OF FIGURES

Figure 1: Context Level DFD of Whole System..........................................................................................................15


Figure 2: Level - 1 DFD of Whole System..................................................................................................................16
Figure 3: Level - 2 DFD of Take Certification.............................................................................................................17
Figure 4: Level - 2 DFD of Register/Login the System...............................................................................................18
Figure 5: Level - 2 DFD of Join the Program.............................................................................................................19
Figure 6: ERD of the Whole System..........................................................................................................................20
Figure 7: Structure Chart of the whole System.........................................................................................................26
Figure 8: Context level DFD of Take Certification Exam............................................................................................35
Figure 9: Level - 1 DFD of Take Certification Exam...................................................................................................36
Figure 10: Level - 2 DFD of Take Certification Exam.................................................................................................36
Figure 11: Structure Chart of Take Certification Exam..............................................................................................37
Figure 12: Context Level DFD of Join the Program...................................................................................................39
Figure 13: Level - 1 DFD of Join the Program...........................................................................................................40
Figure 14: Level - 2 DFD of Join the Program...........................................................................................................41
Figure 15: Structure Chart of Join the Program........................................................................................................42
Figure 16: Context Level DFD of Report Preparation................................................................................................44
Figure 17: Level - 1 DFD of Report Preparation........................................................................................................44
Figure 18: Level - 2 DFD of Report Preparation........................................................................................................45
Figure 19: Structure Chart of Report Preparation....................................................................................................46
Figure 20: Context Level DFD of Make Payment......................................................................................................48
Figure 21: Level - 1 DFD of Make Payment...............................................................................................................49
Figure 22: Level - 2 DFD of Make Payment...............................................................................................................50
Figure 23: Structure Chart of Make Payment...........................................................................................................51
Figure 24: Context Level DFD of Purchase Plant.......................................................................................................53
Figure 25: Level - 1 DFD of Purchase Plant...............................................................................................................54
Figure 26: Level - 2 DFD of Purchase Plant...............................................................................................................55
Figure 27: Structure Chart of Purchase Plant...........................................................................................................56

3|Page
CS5002NI SOFTWARE ENGINEERIN G

TABLE OF TABLES
Table 1: Project Charter of Whole System___________________________________________________________9
Table 2: Work Division Table of Group Members_____________________________________________________28
Table 3: Meeting 1____________________________________________________________________________29
Table 4: Meeting 2____________________________________________________________________________30
Table 5: Meeting 3____________________________________________________________________________31
Table 6: Meeting 4____________________________________________________________________________32
Table 7: Meeting 5____________________________________________________________________________33
Table 8: Meeting 6____________________________________________________________________________34
Table 9: Module Specification of Take Certification Exam______________________________________________38
Table 10: Module Specification of Join the Program__________________________________________________43
Table 11: Module Specification of Join the Program__________________________________________________43
Table 12: Module Specification of Report Preparation________________________________________________47
Table 13: Module Specification of Make Payment___________________________________________________52
Table 14: Module Specification of Purchase Plant____________________________________________________57

4|Page
CS5002NI SOFTWARE ENGINEERIN G

1. INTRODUCTION

1.1 Description
The McGregor institute of botanical training's specific purpose is to give various postgraduate and
undergraduate agriculture courses, as well as horticulture specialties. Because of the sudden increase in
the number of individuals interested in agriculture, their new goal is to introduce a variety of short-term
certification courses connected to horticulture to anybody who is interested. Their ambition is to sell
several species of plants for free or at a low cost. This institute's major goal is to create a community of
people who are interested in plants and wish to provide a venue where various debates can take place.
This intended method necessitates registering in the system, joining the program, purchasing plants,
making payments, requesting recommendations, and reporting.

1.2 Aims and Objectives


The team's main objective is to use Software Engineering as the basis for their work and to produce
broad guidelines for the organization and its system. The team demonstrated the ability to interact
effectively, communicate ideas among themselves, and work toward a specific goal with a linear mindset
to complete the project to the highest standard possible. The team created the following goals while
working on the project; these must be met for the project to be completed.

 To create a proposal for the McGregor Institute of Botanical Training, a business that offers
graduate and undergraduate programs with a focus on horticulture and agriculture.
 To create a guided report based on your understanding of software engineering to provide
accurate details for software development.
 To clarify the design specifications, environmental specifications, and internal specifications
through the help of context level diagram, data flow diagram, entity relationship diagram and
structure chart.
 To work on developing a report and application that serves the best interests of the organization
while accounting for the functions that will be provided.

5|Page
CS5002NI SOFTWARE ENGINEERIN G

2. PROJECT CHARTER

Project Charter

Project Name McGregorBot FloraLink Software Development

The main challenges they must overcome are those related to efficiently managing and
Problem expanding their business in the context of the expanding market for horticulture and
Statement agriculture. In addition to all of this, they must overcome obstacles related to
technology, user adoption, or security.

The main objective of our project is to offer short-term, certified agricultural courses
while working side by side to sell plants to staff members and students for as little
money as possible. By taking these steps, they can effectively build their business and
Business Case engage many people, awakening their passion in agriculture.

These business-related procedures can take three to four months to complete.


Additionally, the total cost of setting up the infrastructure and other equipment will very
certainly reach Rs. 20 lakhs.

The main objective of the McGregorBot project is to build a feature-rich, dependable,


and user-friendly online platform that will enable the McGregor Institute of Botanical
Goal Statement Training to carry out its mission in Nepal. The aim is to offer consumers with an easy-
to-use and entertaining experience by smoothly integrating several components, such
as plant distribution, course administration, and community participation.

Here we need to set an appropriate time as target and end our task fulfilling all those
criteria. So, the timeline is shown below:

Define/measure: 12/12/2023.
Timeline
Analyses: 12/12/2023.
Improve/control: 12/12/2024.

The completion of project is scheduled for 5th January 2024.

6|Page
CS5002NI SOFTWARE ENGINEERIN G

The scope of Project are as follows:

 Course Management System.


Scope  Plant distribution Module.
 Community Engagement.
 Training Support
 Scalability and Future Enhancement.
 Reporting and Analytics.

As per discussion in the meeting the team who are appointed for the project are:
Team
Members i. Mohammad Taukir Reza
ii. Mukesh Mahato
iii. Aayush Nath Khatri
iv. Sumit kumar Sah
v. Sandip Tamang Bomjan

Table 1: Project Charter of Whole System

7|Page
CS5002NI SOFTWARE ENGINEERIN G

3. SOFTWARE REQUIREMENT SPECIFICATION (S.R.S)


3.1 Definition
Software Requirement Specification (SRS) are the specification and details of the software requirements
that are needed for the successful development of the System. Software Requirement Specification
include Functional and Non-Functional requirements depending on upon the type of requirement in the
business (madhurihammad, 2023).

3.2 Purpose Clarification


The Purpose of this project to create robust computer software system that will help people to learn
about the plants and horticulture. This system will let users to join the Undergraduate, Graduate and
Short-term certification courses. The main goal of this system to make everything easy to use and
secure for the user.

3.3 Functional Requirements


The functional requirements of the system are explained below with its objectives and details:

1. User Registration
 Objective: It will enable customers to register and use the system.
 Details:
- Users will sign up in the system by providing their Full Name, Email Address, and a
Secure password.
- The System will store the user information for future access.

2. Program Enrolment
 Objective: It will allow the interested customers to join both educational and non-
educational programs.
 Details:
- Different courses such as undergraduate, graduate, and short-term certification, will
be available for users to select.
- Some coursed will be offered without charge and for free, while others will have a
fee.

3. Plant Purchase
 Objective: It will enable the registered users to explore and buy plants.
 Details:
- Customers will be able to search the collection of plants which are available on the
system and add the plants that they intend to purchase to their shopping cart.
- Customers can buy multiple plants at once after adding it to the shopping cart.

8|Page
CS5002NI SOFTWARE ENGINEERIN G

4. Payment Processing
 Objective: It will enable the registered users to explore and buy plants.
 Details:
- Customers will be able to browse the collection of plants available in the system
and can add the plants to the shopping cart which they plan to buy.
- Customers can buy multiple plants at once after adding to the shopping cart.

5. Recommendation System
 Objective: It will help the customers to choose the suitable plants from the system with
the help of expert advice.
 Details:
- Customers can ask the expert for the advice that where they should want to plant
by sharing soil images.

6. Report Generation
 Objective: It will give the guideline to the admins to create various reports of the
different users.
 Details:
- Admins will create reports in financial information, employee’s activities, user details
will help them how the system is going on.

7. Certification Exams
 Objective: It will help the customers to test their knowledge by taking certification exams
after the course is completed.
 Details:
- Customers can take most test for practice by after completing their respective
courses.
- Certification exams will have some prerequisites like customers will have to
complete certain task of courses.

8. Forum
 Objective: It will provide a space in the system for the customers to talk about the plants
with other users available at the platform.
 Details:
- Customers can create posts and share ideas about the plants.
- Customers can like and comment on each other’s posts.

9. Notification System
 Objective: It will inform the customers timely about the important activities going on in
the system.
 Details:
- Customers will receive notification of arriving new plants, introduction of the new
courses, offer discounts for the plants on the occasion and when something
interesting happens on the system.

9|Page
CS5002NI SOFTWARE ENGINEERIN G

3.4 Non – Functional Requirements


Product features or functions that developers must incorporate to allow users to complete their duties
are known as functional requirements. Therefore, it's imperative that they be understood by the
stakeholders as well as the development team. Functional requirements often outline how a system will
behave in certain scenarios (Anon., 2023).

The functional requirements of the system are explained below with its objectives and details:

3.4.1 Design and Implementation

The Design and Implementation constraints will be focusing on how the system will be make, how the
system will work, it will be about the limitations and expectations of its performance of the system. Some
of the major design and implementation constraints are explained below with its objective and details:

a. System Development
 Objective:
- The System shall be developed using the programming language based on project
requirements, team expertise and system compatibility.
- The system development will be the combination of compatible technology stack for
both front-end and back-end.
 Details:
- The System will be developed using the most versatile and demanding language
i.e., JavaScript which will make the system more interactive with customers.
- System will also be made with the help of Java and with its Framework like Spring
which will make the system enterprise level.
- The most powerful coding language called will also be used for the integration of
Artificial Intelligence in it.

b. Performance expectations
 Objective: For an effective and interactive communication between the system and
customers some basic performance goals must be ensure which includes reload time of
the webpage or software, transaction time, Minimum Network Usage, etc.
 Details:
- The design of the system must be considered and work within the performance
limits to ensure the acute and sensitive actions like loading pages and processing of
transaction.
- The system must work within the defined performance limits ensuring the
responsiveness and efficient utilization of resources.

c. Integration with other Third-Party Software


 Objective: For the proper user-friendly, user trust and smooth experience, integrations
of various transaction operations links with third-party software must be designed.
 Details:
- The system software must integrate with external systems and software of the of
the domain of Utility payment Interfaces (U.P.I) like PayPal for the smooth
transaction of payment.

10 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

- The system software must integrate with external systems and software of the of
the domain of Google for the sign-up purpose so user can directly sign-up by using
the API of Google account.

d. Security Protocols
 Objective: For the legal and backup of the systems and customer’s data some security
protocols and authentications will be implemented in the system.
 Details: The Design and Implementation of the Software System must fall in with proper
established security protocols which includes Blockchain encryption standards, Hashing
and Salting Encryption of the Data. The Proper security integration will ensure the
protection of system and user’s data.

e. User Training and Support


 Objective: This non-functional requirement will teach the customers by giving the step-
by-step tutorial for user friendly module and support in case of any system error or
network issues.
 Details: This functionality design consider constraints related to customer training
support for using the system in a correct way. This functionality design will include
limitations on the complexity of user interfaces, tutorials of how to access all the
functions of the system and will teach how to give the feedback to the support channels
of the system.

3.4.2 External Interfaces Required

The External Interfaces Required constraints will focuses on the points of interaction between the
software system and external entities like customers and other systems, some of the major external
Interfaces Required constraints are explained below:

 System Software should provide an intuitive user experience like respect to accessibility
requirements and intuitive design, system should be super easy to use to all users whether they
are tech guy or not. It should be work smoothly on whatever device you are using like computer,
tablet or mobile.

 Hardware requirements like android, IOS, windows should be available to users to use the
system more easily.

 The system will be compatible with the major web browser like Google Chrome, Safari, Firefox,
so user must have these web browsers to access the system through website.

 The system will have the integration features with the other third-party software to make the
international or national payments with like mobile banking or e-wallet.

 The system will have a secure channel for communication between the users and software. This
secure channel will be implemented by using the HTTPs protocol in the backend programming.

 The system will be implemented so many APIs various third-part software like google and
Facebook to make the registration process easy and user-friendly.

 The system will have a real time communication between the user and the system by
implementing the chat system between them.

11 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 The system will have a real time communication between the user and the system by
implementing the chat system between them.

3.4.3 Other Non – Functional Requirements

Our framework at the McGregor Establishment of Botanical Training is made to be trustworthy, efficient,
and simple to utilize. Its UI moves quickly, making assignments like finishing up purchases and search.
We've intended for best resource utilization, so the framework can oversee enormous quantities of client
requests with practically no issues.

We log all that users do on the framework furtively, for security purposes as well as to guarantee that
rules are kept, and bugs are settled immediately. Don't worry in case of an accident; we have real time
helpline and backup protocols set up to ensure that your information is secure and that activities
proceed.
Our objective is for you to feel OK with the framework, so we offer clear preparation materials and query
when required. We keep everything under control by being cautious with our budget and providing clear
guidelines that help avoid any confusion. To put it concisely, we have considered every possibility to
ensure that the system is dependable, safe, easy to use, and financially sound.

12 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4. DETAILED SPECIFICATION OF WHOLE SYSTEM

(GROUP TASK)

4.1 Environmental Model Specification

4.1.2 Context level Data Flow Diagram – Whole System

Figure 1: Context Level DFD of Whole System

13 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.1.3 Level - 1 Data Flow Diagram - Whole System

Figure 2: Level - 1 DFD of Whole System

14 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.1.4 Level - 2 Data Flow Diagram – Take Certification

Figure 3: Level - 2 DFD of Take Certification

15 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.1.5 Level - 2 Data Flow Diagram – Register/Login the System

Figure 4: Level - 2 DFD of Register/Login the System

16 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.1.6 Level - 2 Data Flow Diagram – Join the Program

Figure 5: Level - 2 DFD of Join the Program

17 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.2 Internal Model Specification

4.2.1 Entity Relationship Diagram (E.R.D)

Figure 6: ERD of the Whole System

18 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.2.2 Data Dictionary


The main element of the system's structured analysis paradigm is the data dictionary. It provides a list of
every data item seen in DFD. In software engineering, a data dictionary is a file or collection of files that
include metadata from databases, which are records of other objects in the database. Examples of
metadata include data ownership, relationships between objects, and other data (tarunsinghwap7,
2023).

- Data Dictionary for McGregor Institute

Customer detail = Command


User Details = command
Staff Detail = Command
Registration Conformation = Command
Course Registration Detail = Command
Browse plant = Command
Purchase Plant = Command
Order Plant = Command
Payment = Command
Report Preparation = Command
Certification Exam = Command
Forum = Command
Get Notification = Command

Customer Detail = customer_id, customer_name, Customer_address,customer_number


User Detail = user_id, user_name, user_address, user_number
Staff Detail = staff_id, Staff_name, Staff_address,Staff_number,Staff_department
Registration Conformation = customer_id
Course Registration Detail = User_id, registration_date,course_enrolled
Browse plant = plant_id
Purchase plant = plant_id, Customer_id,Customer_address,customer_number
Order plant = plant_id,Customer_id,Customer_address,customer_number
payment = invoice, customer_id
Report Preparation = report_type,staff_id,report_start,report_end
Certification Exam = Exam_id,User_id,Course_enrolled,Marks
Forum = customer_id, post_id, comment_text, like, dislike
Get Notification= User/Staff/Customer_id , notification_type, time

19 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.2.3 Process Specification

 Process 0.1

Process Name: Register/login User


Description: This process registers new user or logins existing user to the system
Input Dataflow: User Detail
Output dataflow: Registration Conformation, Login Conformation, Registration Detail

Detailed Logic:
- Gets User Detail to register user.
- Send User detail if user applied for course, Save the user detail in database.

 Process 0.2

Process Name: Register/login Staff


Description: This process registers new staff or logins existing staffs to the system.
Input Dataflow: Staff Detail
Output Dataflow: Registration Conformation, Login Conformation, Registration Detail

Detailed Logic:
- Gets Staff to register as the staff.
- Save staff detail in the database.

 Process 0.3

Process Name: Register/login Customer


Description: This process registers new Customer or login the existing staffs to the system.
Input Dataflow: Customer Detail
Output Dataflow: Registration Conformation, Login Conformation, Registration Detail

Detailed Logic:
- Gets customer to register in the system.
- Save customer detail for invoice.

 Process 0.4

Process Name: Join the program.


Description: This process lets user to enrolled in the different course
Input Dataflow: User Detail
Output Dataflow: Student_id

Detailed Logic:
- Gets User to enrolled in different courses.

20 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Process 0.5

Process Name: Login/Register in the forum


Description: This process lets user to register in the forum
Input Dataflow: User/Staff/Customer Detail
Output Dataflow: Registration Confirmation

Detailed Logic:
- Gets User/Staff/Customer to login to forum.

 Process 0.6

Process Name: Order Plants


Description: This process allows customer to order the plants
Input Dataflow: Plant_id, Customer Detail
Output Dataflow: Invoice

Detailed Logic:
- Let’s user to order the plants which are not available.

 Process 0.7

Process Name: Buy the plants.


Description: This process lets customer to buy the plants
Input Dataflow: Plant_id, Customer Detail
Output Dataflow: Invoice

Detailed Logic:
- Let’s user to buy the plants from the available one.

 Process 0.8

Process Name: Prepare Report


Description: This process lets staff to prepare the report
Input Dataflow: User Detail, staff Detail, Customer Detail, Invoices
Output Dataflow: Report

Detailed Logic
-Lets Staffs and admis to make report.

 Process 0.9

Process Name: Take Certification Exam


Description: This process lets user to take certification exam.
Input Dataflow: User Detail
Output Dataflow: Examination Detail

Detailed Logic:
- It helps to register user to take certification exam.

21 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Process 0.10

Process Name: Exam


Description: In this process user will take the exam
Input Dataflow: Examination Detailed
Output Dataflow: Result

 Process 0.10.1

Process Name: Payment for Examination


Description: In this process user will proceed with the payment.
Input Dataflow: User Detail
Output Dataflow: User Detail, Invoice

Detailed Logic:
- User should pay the certification exam.

 Process 0.10.2

Process Name: Exam


Description: In this process user will take the exam
Input Dataflow: Exam Detail
Output Dataflow: Examination Result

 Process 0.10.3

Process Name: Result


Description: In this function the staff and admis will publish the result
Input Dataflow: Examination Result
Output Dataflow: Certificate

 Process 0.1.1

Process Name: Registration in system


Description: In this function user will register in the system
Input Dataflow: User Detail
Output Dataflow: Notification, Login Info
Detailed Logic:
- User will be registered in the system and user info will be stored in database.

 Process 0.1.2

Process Name: Login in System


Description: In this function user will login into existing user in the system
Input Dataflow: Login info
Output Dataflow: Notification
Detailed Logic:
- User will be login to the existing user which is stored in database.
- if the login info does not match it will deny the login request.

22 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Process 0.4.1

Process Name: Verify the registration form.


Description: User will enrol into the course
Input Dataflow: Registration form
Output Dataflow: User Detail, Course Detail

Detailed Logic:
- System will verify the registration form if the qualification match, then it will proceed to the next
step.

 Process 0.4.2

Process Name: Payment


Description: User will go through the payment process
Input Dataflow: User Detail, Course Detail
Output Dataflow: User Detail, Course Detail, Invoice

Detailed Logic:
- User will pay for the respective course they enrolled for, and the data will be stored in database
alongside invoice.

23 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.3 Design Specification


Structure Chart – Whole System

Figure 7: Structure Chart of the whole System

24 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.4 Assignment Diary

4.4.1 Assumptions

During the discussion various assumption were made to optimize the system to its highest level. The
assumption also made designing the system more efficient. The assumption that was made through out
the process of designing the system are:

1. Recommendation Should Will be asked in the forum.


2. If user or staff are interested in buying the plant, they should be registered as the customer first.
3. Data of the payment will be stored in the User detail.

4.4.2 Group Members Responsibilities

The coursework was distributed December 1, 2023, of the first semester of 2nd Year. This coursework
was to be completed in a group of five people and was due on the 5th of January week 11. Various
procedures were developed to resolve the issue and to complete this coursework. While working on the
system's design, each group member actively collaborated. Group members assisted each other in
reviewing their individual tasks, discussions and interactions about the entire system were included so
that each group member understands the system's complete workflow. Individual group members
responsibilities are as follows.

Table 2: Work Division Table of Group Members

25 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

4.2.3 Group Meetings

Logbook Entry Sheet

Meeting No: 1 Date: 23/12/2023

Start Time: 11:00 A.M Finish Time: 12:30 P.M

Items Discussed: In the first meeting we just divided each and everyone’s task.
- Mohammad Taukir Reza: SRS, Formatting of Report and Individual: Make Payment
- Sumit Kumar Sah: Project Charter and Individual: Report Preparation
- Sandip Tamang Bomjan: Introduction, Aim and Objective and Individual: Purchase Plant
- Mukesh Mahato: ERD, Assignment Diary and Individual: Join the Program
- Aayush Nath Khatri: DFD’s, Data Dictionary, Process Specification, Structure Chart
and Individual: Take Certification Exam
Achievements: As it was our first day nothing was achieved.
Problems (if any): We didn't have any problems in the first meeting.
Tasks for Next Meeting: Sandip will be assigned to write Introduction, Aim and objectives.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 3: Meeting 1

26 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Logbook Entry Sheet

Meeting No: 2 Date: 24/12/2023

Start Time: 9:00 A.M Finish Time: 10:30 P.M

Items Discussed: Everyone started their assigned task. Task done by Sandeep was discussed and
work division allocation for another meeting was done.

Achievements: Sandeep finally did all his assigned task that is writing Introduction, Aims and
Objectives.

Problems (if any): Sandeep has some problem in writing the objectives part.

Tasks for Next Meeting: The problem will be solved, and we will have task allocation in the next
meeting.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 4: Meeting 2

27 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Logbook Entry Sheet

Meeting No: 3 Date: 25/12/2023

Start Time: 11:00 A.M Finish Time: 12:30 P.M

Items Discussed: The problem has been solved and we have moved to do the further allocation of
the tasks. We also discussed what will be the suitable task that need to be assigned currently.

Achievements: Finally, the task given to Sandeep solved.

Problems (if any): We didn't have problem till now as next task hasn't been assigned.

Tasks for Next Meeting: Aayush will be doing Context level diagram of DFD and level1.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 5: Meeting 3

28 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Logbook Entry Sheet

Meeting No: 4 Date: 26/12/2023

Start Time: 11:00 A.M Finish Time: 12:30 P.M

Items Discussed: Everyone started their assigned task. Task done by Sandeep was discussed and
work division allocation for another meeting was done.

Achievements: Aayush completed Context level diagram and level 1 DFD.

Problems (if any): Taukir had some problem in SRS.

Tasks for Next Meeting: Mukesh will be doing ERD and Assignment Diary.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 6: Meeting 4

29 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Logbook Entry Sheet

Meeting No: 5 Date: 27/12/2023

Start Time: 11:00 A.M Finish Time: 12:30 P.M

Items Discussed: Everyone started their assigned task. Task done by Sandeep was discussed and
work division allocation for another meeting was done.

Achievements: Taukir complete the half portion of SRS.

Problems (if any): Taukir had some errors in SRS preparation and Mukesh in level2 DFDs and ERD.

Tasks for Next Meeting: The problem will be solved, and we will have task allocation in the next
meeting.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 7: Meeting 5

30 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Logbook Entry Sheet

Meeting No: 6 Date: 28/12/2023

Start Time: 11:00 A.M Finish Time: 12:30 P.M

Items Discussed: Everyone started their assigned task. Task done by Sandeep was discussed and
work division allocation for another meeting was done.

Achievements: Sumit and Mukesh nearly finish their task that is preparing Structure
Chart and Project Charter.

Problems (if any): There arises some error I Structure chart and Project Charter.

Tasks for Next Meeting: Mukesh will prepare Data Dictionary and Aayush to do Pseudocode.

Group Member’s Name Signature


Taukir
Mohammad Taukir Reza

Mukesh
Mukesh Mahato

Sandip
Sandip Tamang Bomjan

Aayush
Aayush Nath Khatri

Sumit
Sumit Kumar Sah

Table 8: Meeting 6

31 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5. INDIVIDUAL TASKS
5.1 Take Certification Exam – Aayush Nath Khatri 22067982
McGregor Institute of Botanical Garden has the system for Taking the certification exam for those who
have desire to gain the Certificate for better opportunity. In this function user are required to compulsory
enrolled in the course but are optional to take the certification exam. The users are required to submit
the Examination Registration Form where the user should input user detail and course, they are taking
certification examination of.

5.1.1 Environmental Model Specification

 Context level Data Flow Diagram

This is the context level diagram of the Take Certification Exam. It shows how the dataflows in the
surface level. User are expected to submit their registration form to the system and system validate the
form and examination detailed is given to the user by the system.

Figure 8: Context level DFD of Take Certification Exam

32 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.1.2 Internal Model Specification

 Level – 1 Data Flow Diagram

This is the Level 1 DFD of the take certification exam. It shows in the brief level how the data flow
internally. Registration form is submitted to the system and form is validated by the system and system
provide the conformation notification to and detail to the database Student Exam Detail and Examination
Id is send to the student and to the exam also and from the exam result of the examination is sent to the
result and result send the certificate to the student detail database if student pass the exam.

Figure 9: Level - 1 DFD of Take Certification Exam

 Level – 2 Data Flow Diagram

This is Level 2 DFD of the Take certification exam it will show the how form validation process goes
through internally. In the level 2 payment for the examination and registration from will be submitted to
the system and then the system will store the registration form and invoice in the Examination detail and
send the student examination detail to next process which is exam.

Figure 10: Level - 2 DFD of Take Certification Exam

33 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.1.3 Design Specification

 Structure Chart

Figure 11: Structure Chart of Take Certification Exam

34 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Module Specification

Name Take certification examination

Purpose The main purpose of this module is to take certification exam of any
user of course of their choice.

Do
GET Registration Form
CALL Form Validation
OUTPUT confirm registration
STORE Student Exam Detail
OUTPUT Exam ID
Pseudo Code SEND Student Exam Detail to Exam
CALL Exam
SEND Result of exam to Result
CALL Result
SNED Certificate if pass to Student detail
STORE Student Detail
END

Input Parameter Examination_Detail

Output Parameter Result

Global Variable Result

Local Variable User_Id, course_name, marks

Calls Register Examination

Called By User

Table 9: Module Specification of Take Certification Exam

35 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.2 Join the Program – Mukesh Kumar Mahato 22015708

5.2.1 Environmental Model Specification

The Botanical Training Institute also has a facility where students may take different courses, but they
must register and as per the requirement Following payment should be done, the system successfully
registers the students for the course and adds the students details to the database.

 Context level Data Flow Diagram

The context diagram represents the students to join the course and the admin is informed by receiving a
notification.

Figure 12: Context Level DFD of Join the Program

36 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.2.2 Internal Model Specification

 Level – 1 Data Flow Diagram

The level 1 diagram represents the student joining the training course by selecting a course and the
joining information details added in the training course joined details database and further to admin.

Figure 13: Level - 1 DFD of Join the Program

37 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Level – 2 Data Flow Diagram

The level 2 diagram represent the course chosen by the students and the course details recorded in the
database and certification courses details.

Figure 14: Level - 2 DFD of Join the Program

38 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.2.3 Design Specification

 Structure Chart

Figure 15: Structure Chart of Join the Program

39 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Module Specification

Table 10: Module Specification of Join the Program

Name Join the program

Purpose To join the certification course.

DO
INPUT course details
INPUT purchase details
Pseudo Code USE get text method to store course details
USE get text method to store purchase details
USE IF to validate purchase details
DISPLAY purchase invoice
END DO

Input Parameter Course details, purchase details

Output Parameter Purchase Invoice

Global Variable None

Local Variable Program_ID,Payment_ID

Calls GET User_ID,Payment_ID

Called By main

Table 11: Module Specification of Join the Program

40 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.3 Report Preparation – Sumit kumar Sah 22015793

5.3.1 Environmental Model Specification

 Context level Data Flow Diagram

Figure 16: Context Level DFD of Report Preparation

5.3.2 Internal Model Specification

 Level – 1 Data Flow Diagram

The level 1 diagram of the report preparation where generated report, sales and the stock are calculated
and stored, and the student and staff enrolment are stored in user database and a report is prepared.

Figure 17: Level - 1 DFD of Report Preparation

41 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Level – 2 Data Flow Diagram

The level 2 DFD represents the prepared report from the generated report.

Figure 18: Level - 2 DFD of Report Preparation

42 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.3.3 Design Specification

 Structure Chart

Figure 19: Structure Chart of Report Preparation

43 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Module Specification

Name Report Preparation

Purpose To generate reports related to Course, Sales, Stocks, user enrolment.

DO
GET User Detail
GET Customer Detail
GET Staff Detail
Pseudo Code IF
User Detail, Customer Detail, Staff Detail valid
THEN
Store in Report Database
ELSE DISPLAY
Error message
END DO DISPLAY
Generated Report

Input Parameter User_ID, order_ID

Output Parameter Report Information

Global Variable User_ID, order_ID

Local Variable User_ID, Order_ID, course details, product name.

Calls Get user_ID, Order_id, overall report

Called By Report

Table 12: Module Specification of Report Preparation

44 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.4 Make Payment – Mohammad Taukir Reza 22068081

5.4.1 Environmental Model Specification

 Context level Data Flow Diagram

Figure 20: Context Level DFD of Make Payment

5.4.2 Internal Model Specification

 Level – 1 Data Flow Diagram

45 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Figure 21: Level - 1 DFD of Make Payment

 Level – 2 Data Flow Diagram

46 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Figure 22: Level - 2 DFD of Make Payment

5.4.3 Design Specification

 Structure Chart

47 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Figure 23: Structure Chart of Make Payment

 Module Specification

48 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Name Make Payment

Purpose The main purpose of this module is to validate the payment done by
the customer and the user, store into the database, and send invoice
to the user.

DO
GET Card and product detail from the customer/user
CALL Validate Details
Pseudo Code OUTPUT Payment Detail
CALL Process payment
SEND Invoice to Customer Payment Database
SEND notification and invoice to Customer about payment
END

Input Parameter Product Detail

Output Parameter Invoice

Global Variable Payment Detail

Local Variable Customer_id, Plant_id

Calls Make Payment

Called By User

Table 13: Module Specification of Make Payment

5.5 Purchase Plant – Sandip Tamang Bomjan 22015763

49 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

This Botanical Training Institute provides a plant purchase system. To be eligible to acquire the plant,
customers must first register their information using an application. Customers must supply information
such as their name, phone number, and location. Once the information has been satisfactorily verified, it
will be entered into each party's database, and the individual will be able to purchase the plant.

5.5.1 Environmental Model Specification

 Context level Data Flow Diagram

This is a context-level diagram for the customer and Botanical Institute. The consumer provides their
location and contact information during the "purchasing the plant" operation depicted in this context-level
graphic and the purchase of the plant has been finalized.

Figure 24: Context Level DFD of Purchase Plant

5.5.2 Internal Model Specification

50 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Level – 1 Data Flow Diagram

The whole data flow of purchasing the plant system can be seen in this level 1 diagram. The customer
first enters their information and location, which is recorded in the database. After receiving the
information and confirmation of the purchase, the admin checks the availability of the plants before
allocating one to the buyer. After purchasing the plant, the institute finally charges the customer.

Figure 25: Level - 1 DFD of Purchase Plant

51 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Level – 2 Data Flow Diagram

An administrator checks plant availability for customers. This is done when the consumer has provided
the information. Level 2 of the diagram describes in detail how the purchase is confirmed.

Figure 26: Level - 2 DFD of Purchase Plant

52 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

5.5.3 Design Specification

 Structure Chart

This following diagram shows the purchasing plant application's basic organizational structure. A
customer registers or logs in using their credentials during this process. Their individual databases
house their data. Following that procedure, the administrator confirms that the plants that are supposed
to be assigned to the botanical institute are still available. The plant that was acquired is verified once
this procedure is finished.

Figure 27: Structure Chart of Purchase Plant

53 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

 Module Specification

Name

Purpose

Pseudo Code

Input Parameter

Output Parameter

Global Variable

Local Variable

Calls

Called By

Table 14: Module Specification of Purchase Plant

6. SUMMARY

54 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

The primary goal of this project was to write a report demonstrating the knowledge of software
engineering for McGregor Institute of Botanical Training, a Dublin City University-affiliated organization
that offers various undergraduate and graduate courses with a focus on horticulture and agriculture. The
business intends to launch several horticulture-related short-term certification programs. The report was
completed by the five-person team, integrating the project's use of DFD, Structure chart, Data dictionary,
Module definition, Process modules, and ER-diagram.

Each group member was tasked with creating a unique external environment diagram for a function of
their choice. In addition, they worked on the group project, which we assigned to each other after
assigning responsibilities to each group member with an end date in mind. This project was started by
developing the system's attributes and functions while taking into consideration the elements that need
to be incorporated and implemented to guarantee that the application performs properly and is
convenient and easy to use. After our first meeting, we decided as a group how to use the context level
diagram for the project, which enabled us to get closer to our ultimate objective of finishing the report.

While working on this project, we experienced several obstacles and difficulties. We conducted multiple
meetings to discuss and try to come up with answers to the subsequent problems. To find a solution, we
discussed ideas and points of view with one another and went through numerous websites, journals, and
books. Everyone participating in this topic did extensive research. However, with the help of our
recognized instructors and lecturers, we were able to overcome all the challenges and devise better
project solutions.

Working as a team to create a report for the software engineering of a company's system helped us to
learn thoroughly about the fundamental aspects, basic aspects, and external aspects of software
engineering, which will enable us to be confident and work with clarity when needed in the field soon.

7. REFERENCES

55 | P a g e
CS5002NI SOFTWARE ENGINEERIN G

Anon., 2023. Functional and Nonfunctional Requirements: Specification and Types. [Online]
Available at: https://www.altexsoft.com/blog/functional-and-non-functional-requirements-specification-
and-types/
[Accessed 3 1 2024].
madhurihammad, 2023. Software Requirement Specification (SRS) Format. [Online]
Available at: https://www.geeksforgeeks.org/software-requirement-specification-srs-format/
[Accessed 30 12 2023].
tarunsinghwap7, 2023. Data Dictionaries in Software Engineering. [Online]
Available at: https://www.geeksforgeeks.org/data-dictionaries-in-software-engineering/
[Accessed 2 1 2024].

56 | P a g e

You might also like