Program of Study
B.Sc. in Computing & Information System (CIS)
Course Code- CIS 499
INTERNSHIP REPORT ON:
DIA CHATBOT & GLOBAL VECTOR HUB
A dissertation submitted to the Department of Computing and Information System (CIS), Daffodil International University (DIU) for the partial fulfillment of the degree of B.Sc. in Computing & Information System (CIS)
Semester: Spring 2020
SUPERVISED BY Nayeema Rahman
Senior Lecturer Department of CIS Daffodil International University
SUBMITTED BY Md. Moin kabir ID: 181-16-293 Department of CIS
Daffodil International University
APPROVAL
This Project titled “DIA CHATBOT & GLOBAL VECTOR HUB” Submitted by MD.
MOIN KABIR, ID No: 181-16-293 To the Department of Computing & Information Systems, Daffodil International University has been accepted as satisfactory for the partial fulfillment of the requirements for the degree of B.Sc. in Computing & Information Systems and approved as to its style and contents. The presentation has been held on 19-07-2020.
BOARD OF EXAMINERS
Mr. Md Sarwar Hossain Mollah Chairman Assistant Professor and Head
Department of Computing & Information Systems Faculty of Science & Information Technology Daffodil International University
Ms. Nayeema Rahman Internal Examiner
Sr. Lecturer
Department of Computing & Information Systems Faculty of Science & Information Technology Daffodil International University
Mr. Minhaj Hosen Internal Examiner Lecturer
Department of Computing & Information Systems Faculty of Science & Information Technology Daffodil International University
Dr. Saifuddin Md. Tareeq External Examiner
Professor
Department of Computer Science and Engineering Dhaka University, Dhaka
Executive summary
The department of Computing and information system (CIS), at the Daffodil international university, requires its students to undertake an industrial training, referred to as an internship program in a technology-related environment, as a requisite for the partial fulfillment of a Bachelor Degree with Honors in Information System. An internship is a course unit of its own which is awarded credits upon completion.
This internship program therefore not only helps students to gain practical and analytical knowledge and skills but also to gather a valuable understanding of their major fields and present them with a clear view of how their courses transform into their real carriers at the workplace. Once in a blue, I realized my dream of pursuing an internship at a reputable organization with modern Information system practices in the name of Daffodil international academy. The Software team form Daffodil international Academy recommended and gave me an internship placement with the software team from date October 2019, to December 2020, a period approximately six months.
During the period, I was attached to many major sections of the Technology department at Daffodil International Academy. These include;
1. Information Technology Infrastructure 2. Telecom Billing and Charging
3. VAS Applications 4. Core Network
Therefore, this document details the training modules during the six-month period in the above sections of the Software department.
It further discusses the SWOT Analysis of the training and closes up with the recommendations to improve the internship programs in the Software department of Daffodil International Academy.
Acknowledgment
At the very beginning, I would like to express my deepest gratitude to almighty Allah for giving me the strength to complete my courses that I can complete an internship report within the scheduled time. Next to are my parents, whom I am greatly indebted for brought me up with love and encouragement to this stage.
Special regards to the Department of Computing and information system (CIS), DIU, and more specifically to Head of Department (Sarwar Hossain Mollah), for accepting, trusting, and giving me an opportunity to do an internship program with the organization. I feel very lucky and blessed that it was the gateway to my successful internship training with the software team of Daffodil international Academy. They not only give the approval of my internship but also fulfilled my wish. I would like to give special thanks to my supervisor Nayeema Rahman (Senior Lecturer) who in spite of being extraordinarily busy with his duties, took time out to hear, guide, and keep me on the correct path and allowing to carry out my work at their esteemed organization and extending during the training. I choose this moment to acknowledge his contribution too gratefully.
I express my deepest thanks to Team leader of the Software team (Md. Mazharul Islam) and Mr. Md. Nasimul Kader sir for taking part in the useful decision and giving necessary advice and guidance and arranged all facilities to make the process easier and it will make me more comfortable during the time of training. During the period of my internship work, I have received humongous help from my team members, which I like to put on record here with deep gratitude and great pleasure.
I believe that this opportunity will create a big impact in my upcoming professional career and also helped a lot in my career development. During this internship, I tried hard to develop skills and knowledge in the best possible way, in order to attain desired career objectives. I wish and dreamed that in the future I will continue cooperation with all of you.
Sincerely, Md. Moin Kabir Date: 23.06.2020
Table of Contents
Chapter 1- Introduction... 1
1.1 Initial Description of the project ... 1
1.2 Document context ... 2
Chapter 2- Initial study ... 3
2.1 Background of the project ... 3
2.2 Problem area ... 4
2.3 Possible solution ... 5
Chapter 3- Literature review ... 6
3.1 Discussion on problems domain based on published articles ... 6
3.2 Discussion on problem solutions based on published articles ... 8
3.3 Best features ... 9
3.4 Limitations ... 11
Chapter-4 Methodology ... 12
4.1 What to use and why to use ... 12
4.2 Section Methodology ... 13
Chapter- 5 Planning ... 14
5.1 Project Plan ... 14
5.1.2 Work breakdown structure ... 14
5.1.3 Time boxing ... 18
5.1.4 Gantt Chart ... 19
5.2 Test Plan ... 21
5.2.1 Required testing ... 21
5.2.2. Test case ... 22
5.2.3 User acceptance testing ... 23
Chapter-6 Foundation ... 24
6.1 Overall requirement list ... 24
6.1.2 Functional requirement ... 24
6.1.3 Non-functional requirement ... 26
6.2 Technology I have implemented ... 27
Chapter-7 Exploration ... 29
7.1 Old full system Use case ... 29
7.2 Old full system Activity Diagram ... 31
7.3 Prototype of new system ... 33
Chapter-8 Engineering ... 34
8.1 Use case ... 34
8.2 Class Diagram ... 36
8.3 ERD Diagram ... 38
8.4 Sequence Diagram ... 40
8.5 System Interface ... 44
Chapter-9 Testing ... 49
9.1 Test case ... 49
9.2 Unit Testing ... 50
9.3 Integration Testing ... 53
9.4 Module testing ... 55
Chapter-10 Implementation ... 57
10.1 Training ... 57
10.2 Big Bang ... 59
Chapter11- Critical Appraisal and evaluation... 60
11.1 Objective that could be met ... 60
Chapter-12 Conclusion ... 62
12.1 Summary of the project ... 62
12.2 Goal of the project ... 62
12.3 Success of the project ... 63
12.4 Value of project ... 63
12.5 My experience ... 64
References ... 65
Appendices ... 66
System Code ... 66
Plagiarism Report ... 74
Table of Figures
Figure 1: Technique of DSDM ... 13
Figure 2: Work Breakdown structure for DIA ChatBot ... 15
Figure 3: Work Breakdown structure for Global Vector Hub ... 17
Figure 4: Time Boxing ... 18
Figure 5: Gantt Chart for Chatbot ... 19
Figure 6: Gantt chart for Global vector hub ... 20
Figure 7: Template for a test case for my proposed system ... 22
Figure 8: User Acceptance Testing Template ... 23
Figure 9: Old system Use case Diagram for DIA ChatBot ... 29
Figure 10: Old system Use case for Global Vector Hub ... 30
Figure 11: Old full system activity diagram for DIA ChatBot ... 31
Figure 12: Old full system activity diagram for Online vector hub ... 32
Figure 13: Prototype for new system DIA ChatBot ... 33
Figure 14: Use case for DIA ChatBot ... 34
Figure 15: Use case for Global Vector hub... 35
Figure 16: Class Diagram for ChatBot ... 36
Figure 17: Class Diagram for Global Vector Hub ... 37
Figure 18: ERD Diagram for DIA ChatBot ... 38
Figure 19: ERD for Global Vector Hub ... 39
Figure 20: Sequence Diagram for DIA ChatBot ... 40
Figure 21: Sequence Diagram for System Admin (Global vector Hub) ... 41
Figure 22: Sequence Diagram for Discussion thread (Global vector Hub) ... 42
Figure 23: Sequence Diagram for User login (Global Vector Hub) ... 43
Figure 24: Home Page (System Interface) ... 44
Figure 25: Admin Login (System Interface) ... 44
Figure 26: Admin Dashboard (System Interface) ... 45
Figure 27: Create new user (System Interface) ... 45
Figure 28: Delete user (System Interface) ... 46
Figure 29: User login (System Interface) ... 46
Figure 29: User Dashboard (System Interface) ... 47
Figure 30: Sign up for new user (System Interface) ... 47
Figure 31: Demo Of UI (System Interface) ... 48
Figure 32: Template for a test case for my proposed system. ... 49
Figure 33: Validation of User Registration ... 50
Figure 34: Validation of password ... 51
Figure 35: Validation of System Preference ... 52
Figure 36: Admin can log in with valid data ... 53
Figure 37: Admin can add new user... 54
Figure 38: Validation of invalid input ... 55
Figure 39: Validation of Customer Login attempt data ... 56
Figure 40: Training for DIA ChatBot ... 57
Figure 41: Training for Global vector hub ... 58
Figure: Configuration all the flask values to connect database and bootstrap ... 66
Figure 42: initialize login manager with the app (System Code) ... 66
Figure 43: SQL for Users and using UserMixin to get full functionality of flask Login (System Code) .. 66
Figure 44: Flask Login Form (System Code) ... 67
Figure 45: Routing to Index page (System Code) ... 67
Figure 46: Routing to Admin login Page (System Code) ... 68
Figure 47: Routing to user sign up page using Sha256 (System Code) ... 68
Picture 48: Routing to delete user page (System Code) ... 68
Figure 49: Routing to User Dashboard (System Code) ... 69
Figure 50: Routing to Admin Dashboard (System Code) ... 69
Figure 51: App routing (System Code) ... 69
Figure 52: Signup page (System Code) ... 70
Figure 53: Login page (System Code) ... 71
Figure 54: Admin login page (System Code) ... 72
Figure 55: Admin create page (System Code) ... 73
Chapter 1- Introduction
1.1 Initial Description of the project
In my internship period, I worked on two projects. One of them is DIA Chatbot and another one is the global vector hub. The description of the projects is given below.
DIA Chatbot
Nowadays people are more likely to get their answers with an immediate response. In view of that to satisfy concern customers DIA development the project Chatbot called DIA ChatBot.
It's a computer system that can communicate with a real person behaving like a human.
In general, we can see that customer support staff provide support with information to the customer. But if we use Chatbot besides customer support staff it will increase the customer support system of DIA.
The difference is that a customer support staff can only give support services whereas a Bot can help in doing all-in-one services. From acquiring users from comments to taking them to the messenger and at the end, making that user, your customer!
Global vector Hub
In the era of modern science, all types and sorts of data are available online. Most of them are open-access. In past months we developed a project called global vector hub that will be open access and its perspective is served various organizations like research institutions, NGOs, charities, and others. It will provide an up-to-date mapping of global borne diseases, improve vector control research. The best part is by using it people can create a community to discuss further. Also, it will be helpful for research. It reduces duplication by approving selective topics and provide the solution to all. People just need to find their expected topic to and they can see the result through the map. Also can create a post in the community to arise more support and feedback.
Also, there is a futuristic plan for this project. Since it contains data so that by using data analysis, users can compare data and can also download the summary of the report. It may help people to provide accurate and useful results.
1.2 Document context
Chapter 1: Introduction
Here I will discuss my work on various during my internship period.
Chapter 2: Initial Study
Discussion and give explanations about projects also write about objectives.
Find out possible solutions for the problems.
Chapter 3: Literature Review
Explain the problem domain and find out a possible solution.
Chapter 4: Methodology
Discuss methodology and write about selected methodology.
Chapter 5: Planning
Write down about Risk and describe test plans, risk management.
Chapter 6: Foundation
Discuss the process of the project with an appropriate diagram and give an explanation about problem areas.
Chapter 7: Exploration
In this chapter, I have described project boundaries and existing parts of the project. Provided old system diagrams and give examples of the prototype of the new system.
Chapter 8: Engineering
Talked about Types of diagrams to execute a new system well and introduce the interface of the system.
Chapter 9: Testing
Testing of the project features is provided with proof.
Chapter 10: Implementation
Choose the implementation method and discussion about benefits.
Chapter 11: Critical Appraisal
In this chapter, I have described the critical appraisal of this project and describe that if the objectives meet or not.
Chapter 12: Conclusion
Chapter 2- Initial study
2.1 Background of the project
The software team of DIA always works on great projects and developed them with great potential. Here are the background thoughts of these projects that will make a significant signature in the industry.
DIA ChatBot
In past years people are most likely to use email or mobile to contact companies or ask them to know about their products or policies. In recent times we have been seen that people are mostly using social apps like Facebook to find out their answers. And now it’s a common culture that every company promotes its products or services on social sites. People are mostly active on social sites not less than 1 hour. Since they spend more time on social sites so it’s a common want that they want their desire answers from it.
Also, it’s quite tough to find out specific information from the website. In the present- day context, visitors tend to have very short attention spans. As such, websites need to make the task of finding information as quick and as simple as possible. Taking the burden of looking for information about visitors’ shoulders is a great way to achieve this.
With keeping this thing mind we developed the DIA Chatbot. It provides customers with their desire answers and it supports 24 hours customer service. Because it’s an automated program that act likes human.
Global vector hub
Vector-borne diseases pose a major threat to the health of societies around the world.
They are caused by parasites, viruses, and bacteria transmitted to humans by mosquitoes, sandflies, tritons bugs, blackflies, ticks, tsetse flies, mites, snails, and lice.
The major global vector-borne diseases of humans include malaria, dengue, lymphatic filariasis, Zika virus disease, yellow fever, and Japanese encephalitis. Also as an example, we can talk about recent pandemic Covid-19 as known as the coronavirus.
As per research, more than 80% of the global population lives in areas at risk from at least one major vector-borne disease, with more than half at risk from two or more.
And day by day the level of risk increasing rapidly.
With that point of view, we planned to develop an open-access platform where people can find results with a mapping interface. Also, it can able to create and make community awareness. (Logan, 2017)
2.2 Problem area
There will always be problems, but we have tried to find and solve those problems.
First, we found the problems and acted accordingly.
DIA Chatbot
Want or recommendation the logic is simple. Now in the modern era, everybody wants the futuristic solution. By this, they can support their customers. That’s will be beneficial for their company or institution.
Want of a Chatbot that will provide full customer support besides minimal human involvement but here the type of customers are different i.e. in terms of student the Chabot’s customers are guardians, students, contributors, and other interested visitors to provide various information about institution & education. On the other hand, in an online job portal, the Chabot’s customers are mainly jobseekers. They are mainly career advice, guidance, identification of skill gap, career path define, etc. So our main concern was that we have to develop a Chatbot that will work on any site with great accuracy.
Global Vector Hub
Global vector hub is a long time ambitious project. To contain data on vectors and diseases around the world so that users are able to filter and visualize the data on maps and in downloadable reports.
As if we talked about the current pandemic of Covid-19. There is much lack of resources and information. So there is a crying need for the open-access platform. Where people also can view through a mapping interface.
To provide an up-to-date mapping of global vector-borne diseases is challenging. For this, there will need lots of data for research. Also building up an open community is challenging. Where people can ask or create questionnaires. There will need to improve on methodology unless it will not be able to support data sharing and streamline progress by removing duplication.
So our aim is to find out to best solution to develop a global vector hub and by this, all will be benefited.
2.3 Possible solution
Where there is a problem, there will be a solution. We just have to find the path. Only then will we succeed. As I worked on several projects. So there will be a different solution. But the common thing was we have to make it successful.
DIA Chatbot
The bot will be used in different platforms like any companies web pages & blogs i.e.
Also it can be used in social media pages i.e. Facebook, LinkedIn, and others as well.
There will be plenty of users who may use this bot to get support from a different platform. So our aim is to make a ChatBot that will be a game-changer for the industry.
In the time of giving a solution to the customers also it be able to behave like a human being to the customers. And by this customer also be benefited as a company.
ChatBot has the potential to revolutionize presale processes and support service as they are able to give instant answers anytime your customers want.
Global vector hub
The need to create an interactive and up-to-date vector interface is mandatory. People can register their application online. Also, we have to create a database by this if people want information so that they can find it form the database.
To make it easier, there will be an option to find out information by selecting a country.
It will make things quick and people also can find desire information correctly and simply.
Need information more research purpose is more common things. For this, there will be guidelines and research tools.
Develop a cloud system to provide storage facility by these people can download materials and tools.
The need for a forum is mandatory. By using it people can ask or create a question and make awareness of others. Where experience and expertise can be shared. In emergency cases, there will be an option to get support instantly.
Chapter 3- Literature review
3.1 Discussion on problems domain based on published articles
DIA Chatbot
There are some major problems in terms of Chatbot and Chatbot development. In layman terms, a ChatBot is a computer program that can have text or voice-based conversations with a human.
Though ChatBot is a common thing in social apps hence it's not fully optimized yet to serve the customer properly. There are some major problems that we get are given below.
To find out a bot is difficult for potential users. Many users are not aware of a ChatBot that something like that is really exciting. So besides development need to do great marketing for the establishment of Chatbot.
There is no established business model for a ChatBot. Most of the time developers develop a ChatBot for third party applications. So every time they make new ChatBot just for some purposes but companies didn’t want further development. There were not many dynamic ChatBots that will work on any website or apps.
Most ChatBots aren’t that great at having normal conversations. Since messenger is accepting bots, there are many ChatBots published but most of them are providing lower quality. As a result people losses their expectations. Hence ChatBot is new in technology the Natural language processing (NLP) is not developed yet fully. as natural language processing technologies improve the ability for ChatBots to hold longer deeper and more meaningful interactions will also significantly improve with time.
(BotSide, 2017)
We worked for a specific program and try to make the best possible solution for this.
There is a competitive market that’s why we need to develop the best one.
Firstly we researched customers' thoughts that what they want. Our research team has done it nicely. From that, we get a clear and specific recommendation that people want an automated ChatBot.
We found out some issues or recommendations. These are
scheduling conversational forms
communicate with a targeted audience
These are problems or as we can say that desire of people. We have worked on these problems and tried to find possible solutions.
Global Vector hub
More than half of the world’s population is at risk of vector-borne diseases. As the human population expands and changes in the environment cause rapidly. The world is growing increasingly vulnerable. Thousands of research are working endlessly to generate data and countless control programs are striving to prevent vector-borne diseases. Yet more than one million people die each year. Our aim is to bring up both researchers and health workers on the largest scale ever seen, cutting across several disciplines, diseases, and vectors around the world.
Building up a global vector hub is a great initiative though there are some problems. To communicate or find the solution we introduce an interface mapping system. And the hub location problem is one of them.
Making decisions for the facility location is critically challenging regarding strategic planning for all types of business entities.
Building up an online discussion forum. By using these people can spread information in the community. The need for an open-access community forum is much important.
In case of emergency need of an online database where people can fin supply materials.
3.2 Discussion on problem solutions based on published articles
DIA Chatbot
The best way to identify and analyze the challenges associated with Chatbot implementation (and to come up with some quick fixes that’ll get your ChatBot back on track), is to break them down into digestible, bite-sized chunks. Some solutions are technical, some are pretty simple, and some may surprise you.
Making Chatbot affordable. In most cases, the problem is not that ChatBots are unaffordable, but that you have to sell the business case for the technology to your superiors.
Making Chatbot secure. We provide robust security to make ChatBot more secure from day one. Have End-to-End Encryption, Two Factor Authentication, and Authentication Timeouts.
Offering a well-designed ChatBot that provides a great user experience. As we are using advanced technology to make our ChatBot more effective, we also make its user interface more simple by that user can utilize easily.
Implementation of advances Ai. It helps to execute analytical behavior in cybersecurity applications.
This is also far more affordable and capable of generating far greater savings than most people expect. By providing the best things that people want and get rid of the problem that we face past. (Mead, 2019)
Global vector hub
Our long term ambition is to make vector hub more reliable secure and robust. We found a way by these people can filter data and get resource and information about borne-diseases. Also, there some recommendations that we develop to make our system useful to users.
Develop a system that is interactive and open-accessible. The resources should be up-to-date. People need to register themselves by fill up an on-line registry
There will be available some research tools along with training packages and guidelines. People can get these tools free by click on the download option. By this people could be informed about vector control and vector research. Each country will contain specific packages.
There will be an open forum. By using these people can create a post and can get information directly. Available expertise and experience person share their thoughts about the pandemic. Using this forum people can understand their gaps and would be notified about risks.
Build a database for companies and programs for that if emergency case arrises it may supply materials.
3.3 Best features DIA Chatbot
Nowadays the company builds ChatBot for the purpose of rope customers for their own. Customers come to visit the websites to find out some answers or issues that they want to get. To talk with a ChatBot it is more time easier than filling up a Google form or contact with respective customer support staff whereas, on the website, they have a friendly ChatBot to help them.
Mainly used to provide customer support constantly with the availability of 24/7.
ChatBot Can Schedule meetings, Broadcast newsletters, auto-sequences.
It also can create conversational forms and saving all the data on spreadsheets.
By the instruction of the system, ChatBot will communicate with the target audience in a systematic way.
As assume ChatBot can provide information 24/7 so if you fall asleep, Chatbot can entertain customers anywhere in the world.
The main goals of this project are:
The market value of the product: Making a minimal Chabot that is useful for the desired customers/users of Daffodil Group.
ARCHITECTURE: The Chabot should be extensible so different workflows could be added/entered without major engineering effort.
Global Vector Hub
Resources, Data, and Networks these are the three key modules of the global vector hub. And these things are responsible for fulfilling the key objects of the project.
Resources: The resource section contains the static background of the website.
This page will be open access to people and getting access from these people can view materials. Only register user has access to download those materials.
There will be an option and using these people also can share files (pdf, excel, CSV, Word, and PowerPoint). And all these things will need to be verified by the admin. The administrator can create, edit, and preview the page and take action.
The website administrator must be able to monitor resource downloads.
Data: People can interrogate more than one datasets at a time. Also, they can able to filter, visualize, generate, and download reports from the data. We build two interfaces for users. By using these two interface people can browse and download data. The website administrator must be able to monitor dataset downloads.
Networks: We add this network module to connect people all over the world into a platform. Users can register themselves by filling up an online form. Approved users can be able to download and upload resources. Also, they can take participate in the online discussion. This discussion forum will be linked to the user profiles. There will be two types of profiles. These are Individual users and another one is institutional. The individual contains personal users. People of all over the world can register themselves by click on “create profile”. And the last one the institutional category contains the summary of an institute. Individual users can request to be associated with particular institutes.
Map interface: There will be an interactive that will preview data. People can search by giving keywords to find out information. This will show information by vector/diseases, country, region, date information. Also, this will provide relevant data from across collaborating organizations, enabling users to easily access content from different networks without leaving the site.
3.4 Limitations DIA ChatBot
Lack of training data. There is a misconception that machine learning data works with its own capability. But the truth is it needs to be trained. The more you trained the more it works with accuracy. For more training, we need lots of datasets. In a recent survey, 81% of respondents said that the process of training AI with data was more difficult than they expected.
Poor conversational understanding. It’s a very common issue. Most of the time system couldn’t reach the accent of users. So they couldn’t perform well according to human behavior. Also, there is a problem that pure machine learning systems don’t have a consistent personality because the dialogue answers are all amalgamated text fragments from different sources.
Ease of creating global appeal. Always people try to get feedback or answers from their own languages. It’s difficult to train ChatBot with multiple languages regularly. So sometimes ChatBot didn’t catch the question and repeated the same things.
(Artificial Solutions, 2019)
Global Vector hub
Design: The design need to be modern and futuristic. People want a simple and robust interface. It should have limited text on the landing page with proper instructions. The page must need to be dynamic.
Timescales: It’s an ongoing development process. There is no ending point where it should be stopped. So we need to development of the system regularly.
Stakeholder: The actual users of this global vector are primarily academics, health workers, government officials, NGOs, and industry representatives. It connects them from any corner of the world. Though general people have only limited access and have limited capability of doing things in here.
Chapter-4 Methodology
A methodology is a set of methods, processes, and practices that are repeatedly carried out to deliver projects. The common and most important benefit of using a method is it reduces the risk and improve the success rate.
4.1 What to use and why to use
There is a term called Dynamic system management method (DSDM) actually is an agile methodology that we use in our projects. By using this method we can find out the approximate budget, timescales, and iterative development process.
The main ideology of DSDM
It comes with basic functionality and provides a quick response.
To deliver the right products it chooses time boxes.
It can be delivered quickly of basic functionality and with more functionality being delivered at regular intervals.
The user's ability affects in project direction.
Focusses on what the business needs most.
Build incrementally from firm foundations.
Suitability of DSDM for this Proposed System
Every business or project has its own goal. But the common thing is to prepare this within budget and in a short time. DSDM ensures that the requirements follow the exact needs.
It enhances the decision making power of users.
The proposed system must be accepted that this is acceptable and desirable.
MoSCoW prioritization defines the project requirement and time boxes to define the delivery time of systems.
Technique of DSDM
MoSCoW prioritization
Must-Have The project cannot get successful without these requirements.
Should Have Must have requirements over the long run
Could have Low-cost tweaking
Won’t have Get back to them at another time.
Figure 1: Technique of DSDM
Time Boxing
It contains a period of time to accomplish assigned tasks at a given time.
Switch task to time-oriented thinking.
Work on tasks until the run-out time.
To get the appropriate result, you need to set the appropriate length.
4.2 Section Methodology
There are five sections five-section contain in Section methodology. The description is given below
Pre-project: it delivers terms and conditions for the work with references.
Feasibility: This gives asses to viability and describes the business case.
Foundations: It ensures that everybody understood the project so that the scope can be base lined at the high level and the technology components and standards agreed before the development activity begins.
Exploration: It contains a high-level requirement that demonstrates the functionality.
Deployment: it ensures the solutions and made the project successful.
Chapter- 5 Planning 5.1 Project Plan
A good plan executes objects well and makes the project successful. In my six month internship period, I attached with two projects. In my first three months, I develop DIA ChatBot and lastly, I joined in the development process of the Global vector hub.
5.1.2 Work breakdown structure DIA Chatbot
Serial Task Starting Ending Duration
1. Initial work for the project.
01/10/20219 09/10/2019 7 days
Research about products.
Compression with the smellier type of products.
Note down the features and limitations.
2. Training session
13/10/2019 23/10/2019 9 days
Learned about technology
Learning a new method
Team collaboration
3. Analysis of the project 24/10/2019 31/10/2019 6 days
Market research of the system.
Make a plan for how to complete the project.
4. Making Designing 03/10/2019 14/11/2019 10 days
Drawing diagram of the system.
Making Database.
User interface design for the system.
5. Deployment of the project 17/11/2019 05/12/2019 15 days
Working code of the project.
Build the proposed feature.
6. Testing 08/12/2019 19/12/2019 10 days
Involve user of the system
Arrange session for the testing features
7. Documentation 20/12/2020 31/12/2020 10 days
Make documentation for making understand end further
development of the project.
Figure 2: Work Breakdown structure for DIA ChatBot
Global vector Hub
Serial Task Starting Ending Duration
1. Initial work for the project.
12/01/2020 20/01/2020 7 days
Research about products.
Compression with the smellier type of products.
Note down the features and limitations.
2. Training session
21/01/2019 31/01/2019 9 days
Learned about technology
Learning a new method
Team collaboration
3. Analysis of the project 02/02/2020 13/02/2020 10 days
Market research of the system.
Make a plan for how to complete the project.
4. Making Designing 14/01/2020 03/03/2020 15 days
Drawing diagram of the system.
Making Database.
User interface design for the system.
5. Deployment of the project 04/03/2020 31/03/2020 21 days
Working code of the project.
Build the proposed feature.
6. Testing 01/04/2020 14/04/2020 10 days
Involve user of the system
Arrange session for the testing features
7. Documentation 14/04/2020 27/04/2020 15 days
Make documentation for making understand end further development of the project.
8. Summation of all 28/04/2020 30/04/2020 53days
Binding book, approve it from professionals.
Total Number of Project = 2 Working days for 2 projects = 165 Day
Figure 3: Work Breakdown structure for Global Vector Hub
5.1.3 Time boxing
Time boxing helps to complete work in a timely. It allocates a fixed time period within this period every developer can try to complete their work. Here I have given this chart
Time Boxes Task Name Resource Name
T - 01
introductions Analyst
Initial study Analyst
Literature Review Analyst
Methodology Analyst
T - 02
Planning Analyst, user
Feasibility Analyst, Developer
Foundation Analyst, Developer
Exploration Analyst, Developer
T - 03
Engineering Analyst, Developer
Deployment Developer team, Tester Team
Testing Tester
Implementation Analyst, Developer
T - 04
Evaluation Analyst, Developer
Critical Appraisal Analyst, Developer
Lesson Learned Analyst
Conclusion Analyst, Developer, Tester
Figure 4: Time Boxing
5.1.4 Gantt Chart DIA ChatBot
Figure 5: Gantt Chart for Chatbot
Global Vector Hub
Figure 6: Gantt chart for Global vector hub
5.2 Test Plan
Testing is very much important and by this, we can get feedback from our project. For doing testing we have to make a proper test plan. A proper test plan can make things much easier than before. Also by testing, we can find out the problems and errors of the system.
5.2.1 Required testing
There are lots of testing methods are available but I choose few from them. The list is given below
Unit testing
Integration testing
Module testing
Acceptance testing
Performance testing
Security testing
Description of upon testing is described below
Unit testing: It is a testing technique and by using it we can test individuals modules to find out issues. It finds out issues and makes modules more standard.
Integration testing: Mainly it logically checks software modules as a group.
Because there is multiple software is tested as a package. It checking data communication between modules.
Module testing: it checks the sub-program of a software. The main point of using this testing is because it saves time by provides results quickly.
Acceptance testing: By doing this testing we can find out the business scope for users and customers.
Performance testing: It ensures that all of the function working smoothly under the given workload. Here we checked the system's sensitivity, reactivity, and stability under a particular workload.
Security testing: By ensuring systems security it enables reviewing and certifying the security level of any software.
5.2.2. Test case
To find out systems condition or action and verify the excepted functionality of the feature we use test cases. To check the functionality of our system we testing the test case here.
Test cases id:
Test name:
Test types:
Priority:
Pre-condition:
Post-condition:
Steps: Expected result Actual result
Figure 7: Template for a test case for my proposed system
5.2.3 User acceptance testing
We also can call it beta testing or end-user testing. This is the final testing and then the functional, system and registration testing have happened. Also, it defines that the system will be accepted or not.
Test cases id: User name
Test name: Role
Test types:
Priority:
Pre-condition:
Post-condition:
Steps Expected result Actual result Comments
Figure 8: User Acceptance Testing Template
Chapter-6 Foundation 6.1 Overall requirement list
There are two types of requirements. Details are given below 6.1.2 Functional requirement
DIA ChatBot
The bot should respond to any input it receives.
If the bot doesn’t understand the input, it should ask for more simplified input.
If the bot understands the input, it should respond with correct information.
If the bot needs more information to find an answer, it should ask for more information.
The bot should use a text recognition API to understand the input.
The bot should be able to send users data in the following ways:
The data can be sent as a text message.
The data can be sent as a graph + accompanying text if requested by the user.
The bot should be able to create graphs from queried data (if the graph is deemed helpful).
The bot should be able to create a private cloud or virtual machine instances from user input.
(SilverKiro, 2017)
Global vector hub
Content should be searchable from the all-page search bar. It should be possible to access data from resources.
On the map of global vectors, map filters should be viewable whilst viewing the map in full.
The website should comply with the Disability Discrimination Act and so should be designed to incorporate relevant accessibility features.
It should be also responsive and accessible on low bandwidth.
The website should be compatible with all mainstream web browsers.
Page hierarchy should not surpass 3 tires of subpages from the home page.
Parallax scrolling should feature on appropriate pages.
Registration and user profile capabilities.
Submission of large files for moderation.
6.1.3 Non-functional requirement DIA ChatBot
The product should be open-source and published under the MIT license.
The bot should reply under 30 seconds to users’ queries.
Talking to the bot should feel like talking to a person (the bot should not reply instantly, 1-2 seconds delay between responses).
The users have to authenticate themselves before being able to query information from the bot.
The main bot logic should be a separate complete package that can be easily integrated with Fleep (and later with Slack + Rocketchat).
Global Vector Hub
Open forum
A searchable database of literature
Downloadable content
Subscription system
Social media sharing
Pop up comment policy agreement
Secure editors collaboration
Online contract signing
Pop up direct discussion
Pop un direct discussion threads.
6.2 Technology I have implemented
In the time of my internship period, I have learned much technology as gathering knowledge about programming language. Details are given below:
DIA ChatBot
A ChatBot is a service that is powered by rules and sometimes artificial intelligence that you interact with via a chat interface. ChatBots are programs that imitate a conversation with people using artificial intelligence. With recent advances in AI, ChatBots have become accurate and focused.
AI is the technology through which ChatBots work as it helps in making customer service more efficient, productive, and cost-effective.
ChatBots powered with NLP helps to recognize user intent by parsing their messages and understand sentences to take actions. ChatBots give quick and contextual responses that go a long way to enhance the customer experience.
Here are the technological building blocks of a ChatBot:
Front-end interface
Natural Language Processing (NLP)
Dialogue manager
Language
Node.js
JavaScript
Python
Database
PostgreSQL
Global Vector Hub
Back end development- The core system consists of three main modular systems (Resources, Data, and Networks) developed using the Flask framework and python programming language.
Front end development – JavaScript, CSS, HTML
Style dedicated by premade CSS templates
The content management system is based on the Flask admin extension
Responsive website- style layout maintained on tablets, phones, and is compatible with all web browsers.
Database – PostgreSQL
API useable (Map integration)
Chapter-7 Exploration 7.1 Old full system Use case DIA ChatBot:
Figure 9: Old system Use case Diagram for DIA ChatBot
Global Vector Hub:
Figure 10: Old system Use case for Global Vector Hub
7.2 Old full system Activity Diagram DIA ChatBot:
Figure 11: Old full system activity diagram for DIA ChatBot
Global Vector Hub:
Figure 12: Old full system activity diagram for Online vector hub
7.3 Prototype of new system DIA ChatBot
Figure 13: Prototype for new system DIA ChatBot
Chapter-8 Engineering 8.1 Use case
DIA ChatBot
Figure 14: Use case for DIA ChatBot
Global Vector Hub:
Figure 15: Use case for Global Vector hub
8.2 Class Diagram DIA ChatBot
Figure 16: Class Diagram for ChatBot
Global Vector Hub:
Figure 17: Class Diagram for Global Vector Hub
8.3 ERD Diagram DIA ChatBot
Figure 18: ERD Diagram for DIA ChatBot
Global Vector Hub
Figure 19: ERD for Global Vector Hub
8.4 Sequence Diagram DIA ChatBot
Figure 20: Sequence Diagram for DIA ChatBot
Global Vector Hub:
System Admin
Figure 21: Sequence Diagram for System Admin (Global vector Hub)
Discussion Thread
Figure 22: Sequence Diagram for Discussion thread (Global vector Hub)
User login
Figure 23: Sequence Diagram for User login (Global Vector Hub)
8.5 System Interface
Home Page:
Figure 24: Home Page (System Interface)
Admin Login:
Figure 25: Admin Login (System Interface)
Admin Dashboard:
Figure 26: Admin Dashboard (System Interface) Create User:
Figure 27: Create new user (System Interface)
Delete User:
Figure 28: Delete user (System Interface) User Login
Figure 29: User login (System Interface)
User Dashboard:
Figure 29: User Dashboard (System Interface)
Sign Up:
Figure 30: Sign up for new user (System Interface)
Demo:
Figure 31: Demo Of UI (System Interface)
Chapter-9 Testing 9.1 Test case
By implementing a test case we can find out the condition or action of an application.
It verifies the actual functionality of its features. It helps to verify that the system meets the end-user requirements. Here I have provided some kind of test case format for measuring my proposed system functionality or features.
Test case ID:
Test name:
Test type:
Priority:
Pre-condition:
Post-condition:
Steps: Expected result Actual result
Figure 32: Template for a test case for my proposed system.
9.2 Unit Testing
Test log 1.1(Unit testing)
Figure 33: Validation of User Registration
Test name Unit Testing – UT01
Test name Validation for user Registration
Details of test Validation of user Registration
Source of data Action Doing Expected Result Actual Result
User Without given
any data.
Given Error Message. The message is shown perfectly.
Test log 1.2(Unit testing)
Figure 34: Validation of password
Test name Unit Testing – UT02
Test name Validation for user Password
Details of test Validation of user Password
Source of data Action Doing Expected Result Actual Result
User Password
didn’t get
Given Error Message. The message is shown perfectly.
Test log 1.3(Unit testing)
Test name Unit Testing – UT03
Test name Validation for System preference
Details of test Validation of System Preference
Source of data Action Doing Expected Result Actual Result
User Wrong types of
input method cant be get access.
Given Error Message. The message is shown perfectly.
9.3 Integration Testing
Test log 2.1(Integration testing)
Figure 36: Admin can log in with valid data
Test name Unit Testing – IT01
Test name System authentication
Details of test Enter the system By Logging.
Source of data Action Doing Expected Result Actual Result
Admin Enter valid
data and try to log in the
system
Successfully log in to the system and shown the
Admin dashboard.
The message is shown perfectly.
Test log 2.2(Integration testing)
Figure 37: Admin can add new user
Test name Unit Testing – IT02
Test name Add User
Details of test Enter User details
Source of data Action Doing Expected Result Actual Result
Admin Enter valid
input
Successfully added service.
The message is shown perfectly.
9.4 Module testing
Test log 3.1(Module testing)
Figure 38: Validation of invalid input
Test name Unit Testing – MT01
Test name Module test for user login
Details of test Validation of user login form
Source of data Action Doing Expected Result Actual Result
User Submit
invalid Data
The system shows invalid data.
Systems show all perfectly.
Test log 3.2(Module testing)
Figure 39: Validation of Customer Login attempt data
Test name Unit Testing – MT02
Test name Login controller with Data
Details of test Validation of Customer Login attempt data
Source of data Action Doing Expected Result Actual Result
User Try to log in
without any data
The system shows an Error Message.
The system shows all perfectly.
Chapter-10 Implementation 10.1 Training
These types of actions are known to introduce the system to users. By training, users can able to use the system and can also know about the system. Here I provide training session method:
DIA ChatBot
Serial Type Training details Time limit Final details
01 User
Finding process 30 minute
Can able to find ChatBot and can send a request for an attempt.
Request process 30 minute
Able to process requests and ask for an answer.
Finalization 45 minute
Can get the facility by asking and utilize benefits.
02 Admin
Response to user 30 minute Can able to respond to the user.
Manage the full system 1 hour 30 minute
Can manage the full system and all functionality.
Figure 40: Training for DIA ChatBot
Global Vector Hub:
Serial Type Training details Time limit Final details
01 User
Finding process 30 minute
Can able to find a forum and can send a request for an
attempt.
Request process 30 minute
Able to process requests and ask to create a thread.
Finalization 45 minute
Can get the facility by asking and utilize benefits.
02 Admin
Response to user 30 minute
Can able to respond to the user.
Respond to thread 20 minute
Able to verify thread and make access for discussion.
Manage the full system 2 hour Can manage the full system and all functionality.
Figure 41: Training for Global vector hub
10.2 Big Bang
Big Band is a common management term and by this term, it actually says that it’s a software migration method that involves getting rid of the existing system and transferring all users to the new system simultaneously.
There are different types of implementation methods. Such as,
Parallel adoption
Phased adoption
Pilot conversions
But the main reason for choosing the Big Bang is because it's way faster than others.
Also its least expensive than others and can work with different software and hardware.
Transformation can be achieved through a single step or it can be achieved through a more incremental, evolutionary series of steps. The end result can be the same.
Also, there is some tough reason for not using Big Bang adoption. One of them is it can be hard for the user to have learned the new system immediately. It contains lots of risk factors.
Unpredictable Problems could arise during implementation
The fallback system sometimes didn’t support the whole system.
(Rouse, 2020)
Chapter11- Critical Appraisal and evaluation 11.1 Objective that could be met
In the time of development found some objectives. Piece them into their parts. And these parts are-
1. Academic objectives 2. Business objectives 3. Personal objectives Academic Objectives:
In the time of development implement the methodology of software development.
Building up internship report
At the beginning analyze the feasibility study about the project.
Continuously making test plans and execute test plans.
Business Objectives:
Apply business concepts and theories to real-world decision-making.
Develop and improve business skills in communication, technology, quantitative reasoning, and teamwork.
Develop a solid work ethic and professional demeanor, as well as a commitment to ethical conduct and social responsibility.
Observe and participate in business operations and decision-making.
Personal objectives:
Experience the realities of the principal ship by applying previous knowledge to actual principle-like situations.
Gain practical experience in applying techniques and theory by working with a professional team.
Gain problem-based experiences in strategic leadership, instructional leadership, organizational leadership, and community leadership.
Practice problem based learning in an authentic supervised environment.
Objective 1: Implementation of software development methodology For completing my work I have used DSDM atern.
Success:
At the time of the internship, I have gathered related data for the project. The success of the objective is satisfactory. This part covered in a window and the excepted result is come out quickly.
How much better could have been done:
The true and actual thing is DSDM atern never compromises with quality. Sometimes it creates pressure upon me. But with confidence and supports always get overcome from this.
Better solution:
As a solution, I use the time box and it helps me a lot, and using this can finish my works in time.
Objective 2: Making an internship report
Making an internship report within time. Follows all the instruction that provided by the supervisor and try to make the report more convenient.
How much better could have been done:
I need much time and dedication to build up a good internship report. Need to be more disciplined.
Better solution:
Have to write every day to keep reports more reliable and need more research about projects makes reports more reliable.
Chapter-12 Conclusion 12.1 Summary of the project
During the internship period worked with two projects. These are DIA Chatbot and another one is the global vector hub. The aim of these two projects is different but the motto was the same that by using these people can easily communicate and also can execute their plan successfully.
Nowadays ChatBots are common things in terms of business communication. But in our project, we tried our best to make a futuristic product with the implementation of artificial intelligence. Also here we use Natural language processing (NLP) that will make or Chatbot more robust. With keeping in mind lots of questionnaires and expectations we the team of DIA making the DIA Chatbot.
In terms or wish to make an open based forum where people can share their thoughts we build the Global vector hub. People from anywhere can use this and can be benefitted. We developed an open-access platform where people can find results with a mapping interface. Also, it can able to create and make community awareness.
From the whole project, there have 12 chapters, all of them are well documented and each chapter is finished with keeping the aims and objectives in mind. Though most of all objectives are developed with few of them are in the Developing stage. Most of the system testing report was pass and make it on time. Provided, the system became bug- free at the end of the testing.
12.2 Goal of the project
In the beginning, our aim was to make projects more convenient and successful. In the meantime also have some goals in our mind that we followed all the time and run after these goals make our projects more realistic and reliable.
DIA ChatBot:
Availability of things. People can use them at any time.
Low maintenance cost.
Customer Service Improvement through Analytics and Data collection.
Actual time saver for both customer and Company
It can handle lots of requests at a time.
Global Vector Hub:
To create an interactive, accessible, and up to date vector information resource.
Planning of tracking online training packages, guidelines, and research tools.
Making of an online platform where people can share their experiences along with expertise.
In an emergency case, people can find out an online database of resources.
Interactive map interface that will display certain data sets.
The network module can connect people worldwide.
12.3 Success of the project
In the time of the internship period, I handheld two projects. The success of the projects depends on how much I follow the objectives. Try to develop all the following objectives that arrive in the beginning. Also in the time of testing, most of the systems are passed.
12.4 Value of project
ChatBots are gaining more popularity nowadays. Also, most of the companies are aiming to develop their own ChatBot of their existing system. According to research the market of Chatbot increased a lot between 2016-2020. It is expected that if things go well in the near future more than 85% of the company will be managed their customer care without human. Nowadays business executives believe and considered that using artificial intelligence will take over the whole industry and Chatbot could be the most convenient thing for both customers and Company.
So as per trading and sources, our DIA ChatBot also can perform well and can serve customers properly. As it comes with futuristic features that will make value for bucks.
The target users of vector hub are primarily academics, vector control programs and health workers, government officials, regulatory officials, NGOs, charities, and industry representatives. An open forum like vector hub gives quiet peoples another outlet for sharing ideas. I want People can create threads of a discussion to use as a writing sample or model. Also, this type of online-based open forum enhances more democratic exchange between countries.
12.5 My experience
During my internship period, I have enjoyed my whole journey of internship and somehow, I have gotten some valuable experiences. It will help me in my upcoming job life, and I can use it as one of my references. I was quite nervous at the very beginning but now it is required in the curriculum. I hope the classes will remain like this as well as they started.
In Skills, practical experiences are more worthy than the conventional. The internship is a platform where students can work on their skills. Quality internships are more acceptable to develop one’s skills that you cannot get in a classroom just by watching slides of presentations. Multi-tasking, communicating, learning to deal with diversity, completing projects before deadlines, these are such kinds of skills that can be only learned when one person is working for someone else.
I have realized that it has been an excellent experience. I feel lucky myself that I can make a hands-on approach in my internship. I’m truly grateful for this opportunity. I am very much thankful to my supervisor Mrs. Nayeema Rahman(Senior lecturer). Especially thankful for the authority of the department of CIS of Daffodil International University for this opportunity. Also grateful to all those people who helped me and support me a lot in my entire journey.
References
Artificial Solutions. (2019). Medium. Retrieved June 20, 2020, from https://medium.com/voice-tech- podcast/why-chatbots-fail-limitations-of-chatbots-7f291c4df83f
BotSide. (2017). Medium. Retrieved June 22, 2020, from https://medium.com/@botsideapp/3- major-problems-with-chatbots-and-chatbot-development-503d84e176aa
Logan, J. G. (2017). UK Reserach & innovation. Retrieved June 22, 2020, from
https://gtr.ukri.org/projects?ref=BB%2FR015104%2F1&fbclid=IwAR27DEtTfNqpgETYZB- r9pp8fz9u-vdS8Totgbb-XQoYllvaQIt7x6h2shA
Mead, J. (2019). Inform Communications. Retrieved June 22, 2020, from https://inform- comms.com/14-challenges-chatbot-implementation-
overcome/?fbclid=IwAR321SNSf4vMpOe9SfHu5Qd1MT41Ny0Oiq_JitjC8vLCj2X11zP8im5TPT g
Rouse, M. (2020). Tech Target. Retrieved June 23, 2020, from https://whatis.techtarget.com/definition/big-bang- adoption?fbclid=IwAR1EndJWfiW5tf1UuyzqwGR-n16-b- 3flfyuD9f6_YmDyp8_WWEI0UlNbBM
SilverKiro. (2017). GitHub. Retrieved June 15, 2020, from
https://github.com/WaldurChatbot/Waldur-Chatbot/wiki/Functional-
requirements?fbclid=IwAR2OucLUCGq_NgB3z5MM6JYI1dHlRwiPFjkdXLTX86rdAIwj0Rcp5g98 PaY
Appendices
System Code
Figure: Configuration all the flask values to connect database and bootstrap
Figure 42: initialize login manager with the app (System Code)
Figure 43: SQL for Users and using UserMixin to get full functionality of flask Login (System Code)