Chapter 1
Chapter 1
TABLE OF FIGURES...................................................................................................4
LIST OF TABLES.........................................................................................................5
Organization Part...........................................................................................................7
   1.1 Organization Overview........................................................................................8
   1.2 Organization Services..........................................................................................8
   1.3 Our Location at Bangladesh.................................................................................9
   1.4 Organization Vision...........................................................................................10
   1.5 Organization Mission.........................................................................................10
   1.6 My position in this Organization........................................................................10
   1.7 Organization Structure:......................................................................................11
Project Introduction......................................................................................................12
   2.1 Introduction:.......................................................................................................13
   2.2 Background of Study:........................................................................................13
   2.3 Objectives:..........................................................................................................13
       2.3.1 Broad Objective:.........................................................................................14
       2.3.2 Specific Objectives:....................................................................................15
   2.4 Proposed System’s Benefits:..............................................................................15
       2.4.1 Easy to get registered:.................................................................................15
       2.4.2 Time Effective:............................................................................................15
       2.4.3 Improve Efficiency:....................................................................................15
       2.4.4 Data Security and Retrieve-ability:.............................................................16
       2.4.5 New Technology:........................................................................................16
   2.5 Methodology:.....................................................................................................16
       2.5.1 Data Sources:..............................................................................................16
   2.6 Software Development Process Model:.............................................................16
       2.6.1 Reason for Choosing:..................................................................................19
       2.6.2 Steps of Incremental Approach:..................................................................19
   2.7 Feasibility Study.................................................................................................21
       2.7.1 Technical Feasibility...................................................................................21
       2.7.2 Economic Feasibility...................................................................................22
       2.7.3 Operational Feasibility................................................................................22
Requirement Engineering.............................................................................................24
                                                                                                                            1
   3.1 Requirement Analysis:.......................................................................................25
   3.2 Requirements Engineering:................................................................................26
       3.2.1 User Requirements......................................................................................26
       3.2.2 System Requirements:.................................................................................27
       3.2.3 Functional Requirements............................................................................28
       3.2.4 Non-Functional Requirements:...................................................................29
       3.3.1 Use case symbols:.......................................................................................29
       3.3.2 Use case diagram:.......................................................................................31
       3.3.3 Use case text:...............................................................................................32
System Planning...........................................................................................................33
   4.1 Scope of Project.................................................................................................34
   4.2 Functions of Proposed System:..........................................................................34
       4.2.1 Function Description...................................................................................34
   4.3 System Project Planning:...................................................................................39
       4.3.1 System Project Estimation..........................................................................40
       4.3.2 Function Oriented Metrics..........................................................................40
   4.4 Identifying complexity:......................................................................................43
       4.4.1 Identifying complexity of transition function:............................................43
       4.4.2 Identifying complexity of data function:.....................................................46
       4.4.3 Unadjusted function point contribution:.....................................................48
       4.4.4 Performance and Environmental impact:....................................................49
       4.4.5 Counting Adjusted Function point:.............................................................50
   4.6 Process Based Estimation..................................................................................50
       4.6.1 Effort Distribution.......................................................................................51
       4.6.2 Project Schedule..........................................................................................52
       4.6.3 Project Schedule Chart................................................................................53
   4.7 Accounts Table:.................................................................................................56
Risk Management.........................................................................................................57
   5.1 Risk Management...............................................................................................58
       5.1.1 Stages of risk:..............................................................................................58
       5.1.2 Categories of risk:.......................................................................................60
   5.2 The RMMM Plan...............................................................................................60
Analysis Modeling.......................................................................................................65
                                                                                                                          2
   6.1 Software analysis pattern...................................................................................66
   6.2 Activity Diagram................................................................................................66
   6.3 Swimlane Diagram.............................................................................................70
Designing.....................................................................................................................73
   7.1 Interface design..................................................................................................74
   7.2 Data Flow Diagram:...........................................................................................79
       7.2.1 DFD of project:...........................................................................................80
   7.3 Database Design:................................................................................................82
       7.3.1 Entity Relationship Model:.........................................................................83
       7.3.2 Database Table Structure............................................................................86
       7.3.3 Flow Chart...................................................................................................89
       7.3.4 Class Diagram.............................................................................................90
Quality Assurance........................................................................................................91
   8.1 System Quality Management.............................................................................92
       8.1.1. Software Quality Management Process:....................................................93
   8.2 System Testing...................................................................................................96
   8.3 Testing:...............................................................................................................99
Conclusion..................................................................................................................102
   9.1 Practicum and Its Value...................................................................................103
   9.2 Conclusion........................................................................................................103
   9.3 Limitations.......................................................................................................104
   9.4 Future Plan.......................................................................................................104
Bibliography...............................................................................................................105
                                                                                                                              3
TABLE OF FIGURES
                                                                                                                      4
LIST OF TABLES
                                                                                                                        5
Development of
E-learning Management System for
LancerCode
                                   6
Chapter: 01
ORGANIZATION PART
                    7
1.1 ORGANIZATION OVERVIEW
Lancercode was founded by pro-minded, motivated, and young individuals who are
leading a superior life in freelancing marketplaces. Lancercode offers you the best
training opportunities to develop your skills and bring out your inner potentiality to
lead a path on your freelancing career. It came to stand out with an aim to play a vital
role to eradicate the unemployment problem in Bangladesh. Enriched with the best
skill and quality we will help you to reveal your talents and make you a successful
freelancer to lead a superior life.
Freelancing is the most in-demand career nowadays. Everyday many people start to
become a freelancer but few of them succeed and others fail due to lack of confidence
and proper guidance. Proper Branding and best soft skill is the key to be a successful
freelancer.
Lancercode is a skill development training center providing the best freelancing and
skills training on the most demandable skills with proven strategies and planning that
worked for many freelancers to succeed. We are committed to proving eccentric
learning ways that will focus on technical skills, as well as branding, soft skills,
effective communication, and support which you need equally to succeed as a
freelancer.
                                                                                       8
2. Web Application Development for Data Visualization
      Digital Marketing
      WordPress Website Design
      Video Editing
      Graphic Design
5. Product Delivery
                                                                      9
1.4 ORGANIZATION VISION
To become a leading institute known for its diversity and renowned for its
information sharing excellence. We aspire to be internationally the number one
provider of better skills and services to lead a better career.
       HTML5
       CSS3
       BootStarp
       SQL
       Database Design
       Testing
       Online Marketing
I have successfully completed those and I was given to design the pre version of the
website with Learning Platform, integration with LearnDash and Thinkfic style
                                                                                     10
1.7 ORGANIZATION STRUCTURE:
                                                      11
Chapter: 02
PROJECT INTRODUCTION
                       12
2.1 INTRODUCTION:
Internship is a practical exposure of theoretically gained knowledge and can be
measured as a preliminary trial to be aware with any organization and to make oneself
confident enough to enter into service life and start building career. As the outside
world is very much competitive for anyone after graduation, IUBAT-International
University of Business Agricultural and Technology provides such an opportunity to
build up the capability with most appropriate opportunities. The student gets the
chance to apply his/her theoretical knowledge and practical skill that he/she has
gained in the entire under graduation student life. This documentation includes the
details description of my project work during my internship at Lancercode. The
internship period was for last 4 months.
This report is generated to describe the processes and works done in different levels of
website design and management pre design. In this report I have described every part
of the development segments with proper illustrations. This E-learning management
system could be used by anyone and everyone and control over admin. It could be
used by individuals who have acquired a skill set for the passion of it, or have had an
experience of a lifetime and have certifications to prove it. An individual could use it
as an online learning platform. This project is the testing version for the internship
with base on my prior knowledge and would be upgraded over time with help of my
senior developers.
2.3 OBJECTIVES:
                                                                                      13
A flexible web-based learning experience allows you to go through a guided
curriculum or choose lessons on an as-needed basis. Following are the main
objectives:-
      Low Cost – As nobody needs to travel or rent anything so it’s very cost
       efficient.
      High Quality – As tutor do not has time boundation so he can teach in his own
       comfort time.
      Earn Money Online– As courses are paid so we can say it’s an online teaching
       business which has no boundaries means students/learners can join from
       across the world so this system can make good business with good quality.
14
                                                                                        15
2.4.4 DATA SECURITY AND RETRIEVE-ABILITY:
        All the personal information of user is safe and secured. Only the authorized
        personnel getting access to it and retrieving the data in the minimum possible
        time.
2.5 METHODOLOGY:
The development process on “E-learning Management System for Lancercode.” is
completed by following the structure described later on Software Analysis & Design.
The study of this project is tentative in nature. It aims to development of a system
which makes the service seeking and providing process easier. The variables
identified to manipulate through a handy inspection and from primary and secondary
data.
       Primary Data
       Secondary Data
Primary data are collected from customers who gives me a clear idea how the
service seeking process is carried on now-a-days. The clinics practical experience and
observation helped me generate the primary data.
                                                                                    16
The Software Process Models are the various processes or methodologies that are
being selected for the development of the project depending on the project’s aims and
goals. There are many development life cycle models that have been developed in
order to achieve different required objectives. The models specify the various stages
of the process and the order in which they are carried out.
The selection of model has very high impact on the testing that is carried out. It will
define the what, where and when of our planned testing, influence regression testing
and largely determines which test techniques to use.
Choosing right model for developing of the software product or application is very
important. Based on the model the development and testing processes are carried out.
A Process Model describes the sequence of phases for the entire lifetime of a product.
Therefore it is sometimes also called Software Life Cycle. This covers everything
from the initial commercial idea until the final de-installation or disassembling of the
product after its use.
                                                                                      17
functionalities can be implemented in the next iteration and can be delivered later. As
the requirement analysis is also not required. It not being a new technology risk
involved is also less. So one need not perform detailed risk analysis. If redevelopment
staff is less than development can be started with less number of people and in next
increments others can be involved. As this model combines the advantage of waterfall
model and prototyping, clients are always aware of the product being delivered and
can always suggest changes and enhancements and can get them implemented. As
less amount of customer communication is required one need not apply spiral model
in which all types of analysis is done in detail. As the deadline is affordable one need
not to for Rapid Application Development model. Iterative enhancement model is
useful when less manpower is available for software development and the release
deadlines are specified. It is best suited for in house product development, where it is
ensured that the user has something to start with. The complete product is divided into
releases and the developer delivers the product release by release.
                                                                                      18
2.6.1 REASON FOR CHOOSING:
      Faster time to market
      Feedback from real customers
      Product definition is stable
      Technology is understood.
      There are no ambiguous requirements.
      Early risk reduction
      Better quality
      Efficiency, Predictability and Alignment
      Customer satisfaction
      Emergent outcomes
Design and Prototyping: In this phase, the system analyst uses the information
collected earlier to accomplish the logical design of the information system. In this
phase the system and software design is prepared from the requirement specifications
which were studied in the first phase. System Design helps in specifying hardware
                                                                                   19
and system requirements and also helps in defining overall system architecture. The
system design specifications serve as input for the next phase of the model.
In this phase the testers comes up with the Test strategy, where they mention what to
test, how to test.
Quality Assurance: After the code is developed it is tested against the requirements
to make sure that the product is actually solving the needs addressed and gathered
during the requirements phase. During this phase all types of functional testing like
unit testing, integration testing, system testing, acceptance testing are done as well as
non-functional testing are also done.
As soon as the product is given to the customers they will first do the beta testing. If
any changes are required or if any bugs are caught, then they will report it to the
engineering team. Once those changes are made or the bugs are fixed then the final
deployment will happen.
Release to market: Once when the customers starts using the developed system then
the actual problems comes up and needs to be solved from time to time. This process
where the care is taken for the developed product is known as maintenance.
Then the product is ready to release to the market. It should be noted that systems
work is often cyclical. When an analyst finishes one phase of systems development
and proceeds to the next, the discovery of a problem may force the analyst to return to
the previous phase and modify the work done there.
                                                                                       20
2.7 FEASIBILITY STUDY
A feasibility study is an analysis of how successfully a project can be completed.
Feasibility study is made to see if the project on completion will serve the purpose of
the organization for the amount of work effort and the time that spend on it.
Feasibility study lets the developer foresee the future of the project and the usefulness.
A feasibility study of a system proposal is according to its workability; which is the
impact on the organization, ability to meet their user needs and effective use of
resources. Thus when a new application is proposed it normally goes through a
feasibility study before it is approved for development.
The document provide the feasibility of the project that is being designed and lists
various areas that were considered very carefully during the feasibility study of this
project such a Technical, Economic and Operational feasibilities. The following are
its features:
Though the concept of “E-learning Management System” is pre version and the
process of finding provider is easy and effective so I hope users will take this
application as their daily service seeking process.
                                                                                       21
At the same time as the process of using this application is easy so the users of this
application are technically proficient to accomplish the objectives.
This project is developed using ORM and thus it will need very low technical ability
to operate and react will also give the Single page feel.
The following are some of the important financial questions asked during preliminary
investigation:
                                                                                       22
simple. Even a person who has a little knowledge of computer can easily handle this
well. There is no need of trained operator.
The project would be beneficial because it satisfies the objectives when it developed
and installed. All behavioral aspects are considered carefully and conclude that the
project is behaviorally and operationally feasible.
                                                                                   23
Chapter: 03
REQUIREMENT ENGINEERING
                          24
3.1 REQUIREMENT ANALYSIS:
Requirements analysis is a software engineering task that bridges the gap between
system engineering and system design. Requirements analysis allows the software
engineer to define the software allocation and build the models of the data, functional
and behavioral domains that will treat by software. Requirement analysis provides the
software designer with a representation of information, function and behavior of the
system.
I also try to understand the user's needs and constraints for the system. I analyze
User’s work. In this phase I do mainly two works:
Requirement Verification: I verify all the requirements of the user whether they
need any modification or not.
      User requirements
      System requirements
      Functional requirements
                                                                                   26
3.2.2 SYSTEM REQUIREMENTS:
Admin:
1. Can login into panel
   1.1. Fill name
   1.2. Fill password field
   1.3. Click login
   1.4. Call the API in GET method for validation if validations are true then login
        successful otherwise unsuccessful
   1.5. Login is successful then redirect to the panel for admin
   1.6. If any error occur then give a message and redirect to the login page again
2. Admin can see courses amount.
3. Admin can see student list.
4. Admin can add students.
5. Admin can check student enrollment course
Student:
1. Can create an account.
   1.1. Fill up Name
   1.2. Fill password field
   1.3. Fill confirm password field
   1.4. Click the register button
   1.5. Call the API in POST(it will automatically give the conflicted registration
        message because of REST API) method for confirmation or validation
   1.6. Phone number exists or not
   1.7. If no conflicted phone number then login is successful
   1.8. If successful then give confirm message
   1.9. If error then also give a message
2. Can log in
   2.1. Fill up name or email
   2.2. Fill password field
   2.3. Click login
   2.4. Call the API in GET method for validation if validations are true then login
        successful otherwise unsuccessful
   2.5. Login is successful then redirect to the panel for Student
   2.6. If any error occur then give a message and redirect to the login page again
                                                                                       27
3. Can update his personal information
   3.1. Click on edit
   3.2. All field will come
   3.3. Fill what needs to be updated
   3.4. Click on save
   3.5. Call the API in PUT method
   3.6. Then redirect to profile page again.
6. Can do payment
   6.1. Click to take a course
   6.2. Enroll a course
   6.3. Go to checkout
   6.4. Do payment online
   6.5. Click save
   6.6. Call API in PUT method
   6.7. If successful then load the show data collection checklist component
   6.8. If unsuccessful then give an error message
A use case diagram at its simplest is a representation of a user's interaction with the
system that shows the relationship between the user and the different use cases in
which the user is involved. A use case diagram can identify the different types of
users of a system and the different use cases and will often be accompanied by other
types of diagrams as well. The use case technique is used to capture a system's
behavioral requirements by detailing scenario-driven threads through the functional
requirements.
Use case: A use case represents a user goal that can be achieved by accessing the
system or software application. A use case is the specification of a set of actions
performed by a system, which yields an observable result that is typically of value for
one or more actors of the system.
Association: Actor and use case can be associated to indicate that the actor
participates in that use case. Therefore, an association correspond to a sequence of
actions between the actors and use case in achieving the use case.
                                                                                     29
Include: An include relationship specifies how the behavior for the inclusion use case
is inserted into the behavior defined for the base use case.
Extend: An extend relationship specifies how the behavior of the extension use case
can be inserted into the behavior defined for the base use case.
System: The use cases of the system are placed inside the system shape, while the
actor who interact with the system are put outside the system. The use cases in the
system make up the total requirements of the system.
                                                                                    30
3.3.2 USE CASE DIAGRAM:
                                                  31
3.3.3 USE CASE TEXT:
Use case title- Add new Course
Actor- Admin
Description- Only Admin is allowed to add new Course from the system module.
Admin can sign up by providing their full valid information.. If any field is not fill up
with valid information then an error message will show.
Description- User will get different login page to get access into the system. User
have to give email address and password, system will match it with user role id and
then give access to respective user home page.
Description- Admin can view full user profile with contact information. Admin can
see all the student profile. All user can view and update their own profile.
Actor- Students
Description- Students can send feedback from his/her choose list. An image of seeker
with the text will send to the admin. Admin will get notification for messages. Admin
will approve the feedback and it will show in the from page under feedback section
                                                                                       32
Chapter: 04
SYSTEM PLANNING
                  33
4.1 SCOPE OF PROJECT
A project scope is the clear identification of the work required to successfully
complete or deliver a given project. Project scope control and management is often
overlooked in the management ranks. Software scope determination is the first and
most important activity in software project planning. The statement of software scope
must bind. The software should have ability to manage the members, operators and
package information’s and the database. This project has given the power of re-
usability. Present developers are hard to strict towards giving the system a fully
dynamic come across.
Add user F2
Update profile F3
Choose user F4
Communicate user F5
Book user F6
Transaction Update F7
Generate report F9
                                                                                      34
Input Module
In order to complete the tasks of E-learning and to get output by using this application
work, there is need of some input based on the work that is to be carried out by using
it. Different kinds of input are required for different purposes.
 Student/Learner Registration
 Course
 Lesson
 Feedback
 Payment Status
Output Module
 Student/Learner List
 Course Detail
 Lesson Detail
 Sell Report
 Payment Receipt
Modularization Detail
Without Registration
      Home – This module contains all the links of the application such as Courses,
       Payment Status, Login, Sign Up, Feedback Section and Contact.
      Courses – This module contains list of all the courses which are available at
       Lancercode.
                                                                                      35
      Payment Status – This module is used to check Payment status after
       purchasing a course.
      Contact – Learner can use this section to contact the admin/tutor for any kind
       of queries.
Student Panel
      Profile – This module contains all the details about Student/Learner as well as
       Student can update their details.
Admin Panel
 Lessons – This module contains all the lesson depends on course id.
 Sell Report – This module is used to view and print sells report.
                                                                                   36
Process Logic
Home:
When the user click on this tab, it will display the other modules and pages of the
website such as courses, payment status, login, sign up, popular section, feedback
section, contact and admin login. This module will be used to display the brief
introduction of the project and will show the title of the project.
Courses:
Student can view all available courses by clicking on courses tab where he can choose
course according to his own interest and by clicking on a particular course, will
display more details with lesson title of the course, if he wants to purchase he will be
able to make payment (required login).
Payment Status:
After purchasing course student will be provided an order id which can be used to get
the status of payment using Payment status tab. If student wants he can get print out
of his payment status.
Login:
This is a login form. Student/Learner can use their own email and password to login
into the student panel.
Sign Up:
This is a Registration form for new Students/Learners. New Students/Learners can fill
up the form for registration and after successful registration they can use their email id
and password to login into the application.
Feedback:
This is very simple section which displays feedback given by the registered student.
Contact:
Learner can use this section to contact the admin/tutor for any kind of queries.
                                                                                       37
Student Panel:-
Profile:
Students/Learners can view their student id, registered email id, name, occupation,
profile picture as well as they can modify and update the new data if they need.
My Courses:
Students can view all courses which they purchased. This is the place where they can
start watching lectures by clicking on Watch Course button which leads to course
playlist where they can watch the entire lesson of course.
Feedback:
Change Password:
Logout:
This module is used exit student panel and return back to Home Page.
Admin Panel:-
Dashboard:
Courses:
This is the most important module of admin panel where Admin can view list of
course as well as add new courses and modify or delete courses.
Lessons:
Admin can view lesson based on course id as well as new lesson can be added to the
course and modification or deletion is also possible using this module.
Students:
                                                                                   38
Admin can view registered students details. Admin can add, edit and delete student.
Feedback:
Sell Report:
Analyzing sales is very import for any kind of business and this module is perfect for
analyzing sales based on date. It will generate sells report which can be possible to
print out for office records.
Payment Status:
If student file any complaints regarding payment Admin can use this module to
display payment status in more details such as bank name, transaction id, payment
date etc.
Change Password:
Logout:
This module is used exit admin panel and return back to Home Page.
The following activities of software project planning that have followed in this project
are:
                                                                                       39
       Process Based Estimation
       Task scheduling
       Project Schedule Chart
       Personnel requirements
       Resource requirements
       Estimation of the software cost
       Properly estimated the size of the product to build. The ability to translate the
        size estimation into human effort, calendar time and money.
       The degree to which the project plan reflects the abilities of the software team
        or engineer.
       The stability of the product requirements and the environment that supports
        the software engineering effort.
       Software size estimation is the most important matter that I have to consider
        during the software project. If the software size is not calculated properly, then
        this will cause various problems such as scheduling problems, budget problem
        etc. As the project is going on, before estimating the software size, I have to
        confirm that software scope is bounded.
Software size estimation is the most important matter that I have to consider during
the software project. If the software size not calculate properly, then this will cause
various problems such as scheduling problems, budget problem etc. As the project
goes on before estimating the software size, I have to confirm that software scope is
bounded.
Data Functions
                                                                                       40
         External Output [EO]
         External Inquiries [EQ]
Transaction Functions
Number of external inputs: Each user input that provides distinct application-
oriented data to the software is counted inputs should be distinguished from inquires.
Number of Internal Logical files: Each logical internal file is a logical grouping of
data that resides within the application's boundary and is maintained via external
inputs.
After the components have been classified as one of the five major components (EI‟s,
EO‟s, EQ‟s, ILF‟s or EIF‟s), a ranking of low, average or high is assigned. For
                                                                                     41
transactions (EI‟s, EO‟s, EQ‟s) the ranking is based upon the number of files updated
or referenced (FTR‟s) and the number of data element types (DET‟s). For both ILF‟s
and EIF‟s files the ranking is based upon record element types (RET‟s) and data
element types (DET‟s). A record element type is a user recognizable subgroup of data
elements within an ILF or EIF. A data element type is a unique user recognizable,
non-recursive, field. The value adjustment factor (VAF) is based on 14 general system
characteristics (GSC's) that rate the general functionality of the application being
counted. The degrees of influence range on a scale of zero to five, from no influence
to strong influence. Once these data has collected, a complexity value is associated
with each count And the FP estimated is calculated by the equation
FP estimated=count-total*[0.65+0.01*ΣFi]
                                                                                   42
1 RET                 Low                    Low                       Average
2 to 5 RETs           Low                    Average                   High
6 or more RETs        Average                High                      High
                                                                                        43
                       File: user, student list
File: user
Add new Admin Fields: Add new option, first name, last 2                  14
(EI)                   name,      email,       password,      confirm
                       password,          select   course,    contact
                       number, date of birth, address, country,
                       city, zip code, , add admin button.
Add new Courser Fields: Sign up, select user type, first 2                10
(EI)                   name, last name, email, password,
                       course details. Lessons, id
Add new Student Fields: Sign up, first name, last name, 2                 6
(EI)                   email, password, confirm password,
                       File: user, user_role
                                                                               44
                     profile button.
File: user
File: transaction
File: transaction
File: User
File: transaction
File: transaction
                                                                         45
Insert message (EI)   Fields:      Choose   user,   chat   button 1      3
                      message field, send button,
File: review
File: transaction
File: review
File: addstudent
File: user
File: user_role
                                                                        47
4.4.3 UNADJUSTED FUNCTION POINT CONTRIBUTION:
       Table V- Unadjusted function point contribution of transition function
Total 69
                                                                                 48
             Table VI- Unadjusted function point contribution of data function
Total 40
1. Data communication 4
3. Performance 5
5. Transaction rate 2
8. Online update 0
9. Complex processing 3
10. Reusability 4
                                                                                       49
Value Adjustment Function (VAF) = (0.65+ (0.01*TDI))
= 69+ 40
= 109
Adjusted Function Point Count (AFP) = UFP * VAF = 116 *0.97 = 105.73
= 204.81925/ 2 person
=4.25 months
                                                                                     50
                        Table VIII- process based estimation
In this project, 45% of full software development has been allocated to analysis and
design, 35% has allocated to coding and the remaining 20% is allocated to software
testing and support.
                                                                                    51
                               Effort Based Estimation
                                  20%         1% 0.24%   7.30%
24%
                       31.3%
                                                                 16%
Description:
a. Design & Specification: Design & specification phase activity deals with
modeling the component/product.
b. Coding: Programming of the design for the component/product carries out in this
phase.
c. Test Plans: In this phase test plans need to be developed to test each
product/component and then integration of all the products/components.
                                                                                  52
d. Testing: Under the test plans, code needs to be tested at each component level and
also when it is integrated with other components. Test results need to be evaluated at
individual component level and at the level of integration also.
The approximation of the cost of a program is cost estimation. In this project, there
are five factors to analyze and calculate the cost. Given bellow,
      Personnel cost
      Software cost
      Hardware cost
      Other cost
Personnel cost:
                                                                                    53
         Total working hour in 4 months = 24*8*4 = 768
Hardware cost
Hardware Cost
Modem 2000
Printer 5000
Software cost
Name Price
Windows 10 7500
PHP Free
Apache Free
Webserver Free
My SQL Free
Other cost:
Name Price
                                                                     55
Transport                            1200
Other 500
Particulars                                    TK            TK
Salary-
     System Analyst                  159,452.16
     Designer                        139,522.56
     Coder                           119,585.28
     Tester                           79,726.08
                                                      4,98,286.08
Hardware cost-
    Computer (2)                          12,669.2
    Modem                                     2000
    Printer                                   5000
                                                        19,669.2
Software cost-
    Microsoft Office                       8500
    Windows 10                             7500
    Node.js                                Free
    Visual Code                            Free
    IntelliJ IDEA                     14,019.24
    My SQL                                 Free
                                                       16,000.00
Others-
    Transport                                1200
    House rent                               2000
    Electric bill                            1500
    Other                                     500
                                                            5200
Total                                                 539,155.28
                                                               56
Chapter: 05
RISK MANAGEMENT
                  57
5.1 RISK MANAGEMENT
Risk analysis and management are a series of works that help a system development
team to understand and manage uncertainty. Many problems can arise while
developing a system. A risk is a potential problem. It may happen may not.
There are several steps to analyze and manage risks. The first step is risk
identification. Next each risk is analyzed to determine the likelihood that it will occur
and the damage that it will do if it does occur. Once this information is established
risks are remarked. Finally, a plan is developed to manage those risks with high
probability and impact.
          Risk Identification
          Risk Classification
          Risk Assessment
          Risk Analysis
          Risk Management Implementation
Risk Identification:
Risk Identification is the process of detecting potential risks or hazards through data
collection. A range of data collection and manipulation tools and techniques exists.
The team is using both automated and manual techniques to collect data and begin to
characterize potential risks to Web resources. Web crawling is one effective way to
collect information about the state of Web pages and sites.
Risk Classification:
                                                                                       58
Risk Assessment:
Risk Analysis:
Risk Analysis determines the potential impact of risk patterns or scenarios, the
possible extent of loss, and the direct and indirect costs of recovery. This step
identifies vulnerabilities, considers the willingness of the organization to accept risk
given potential consequences, and develops mitigation responses.
To make comprehensive care of web based system we must consider the following
points:
Backup and archiving policies and procedure, including the choice of backup
media, media replacement interval, number of backups made and storage location.
                                                                                      59
5.1.2 CATEGORIES OF RISK:
There are different categories of risk that should be considered in any software
project. The following categories of risk have been considered in this project:
         Project Risks
         Technical Risk
         Business Risk
Project risk: These risks threaten the project plan. If these risks become real, it is
likely that the project schedule will slip and that costs will increase. Project risks
identify potential budgetary, schedule, personnel, resource, customer and requirement
problems and their impact on the software project.
Technical risk: these risks threaten the quality and timeliness of the software to be
produced. If a technical risk becomes a reality, implementation may become difficult
or impossible. Technical risks identify potential design, implementation, interface,
verification and maintenance problems. Moreover, specification ambiguity, technical
uncertainly, technical obsolescence are also risk factors.
Business risk: These risks threaten the viability of the software to be built. The
business risks can be market risks, strategic risks, changing business needs,
management risks, budget risks etc.
                                                                                       60
              RMMM Plane No: BR-02                                Type of risk
Status Done
Status Done
                                                                                 61
Status        Done
Status Done
Status Done
                                                                                62
              RMMM Plane No: TR-03                                Type of risk
                                                                                 63
                         Table XVII- Project risks
                                                                                64
Chapter: 06
ANALYSIS MODELING
                    65
6.1 SOFTWARE ANALYSIS PATTERN
Software analysis patterns or analysis patterns in software engineering are conceptual
models, which capture an abstraction of a situation that can often be encountered in
modelling. An analysis pattern can be represented as a group of related, generic
objects (meta-classes) with stereotypical attributes (data definitions), behaviors
(method signatures), and expected interactions defined in a domain-neutral manner.
By analysis modeling developer can finalize the specifications of the system. It is
mandatory -
Start Symbol: This symbol is used for representing the beginning of a workflow in
an activity diagram. This can be used alone or along with a note symbol which
explains the starting point.
Activity Symbol: This symbol is one of the major components of an activity diagram.
This shape represents the activities, which completes a modeled process.
Join Symbol: This symbol is used to combine two concurrent activities and make
them into a single activity.
                                                                                      66
Decision Symbol: This symbol is represented with a diamond shape, which
represents branching of control flows.
Note Symbol: This symbol used to interact with other messages that do not fit within
the diagram.
End Symbol: This symbol is used to represent the completion of a workflow of the
activity.
                                                                                   67
Activity Diagram for “ADMIN”:
                                                             68
Activity Diagram for “Student”:
                                                                69
6.3 SWIMLANE DIAGRAM
A Swimlane diagram is a type of flowchart that delineates who does what in a
process. Using the metaphor of lanes in a pool, a Swimlane diagram provides clarity
and accountability by placing process steps within the horizontal or vertical
“Swimlanes” of a particular employee, work group or department. It shows
connections, communication and handoffs between these lanes, and it can serve to
highlight waste, redundancy and inefficiency in a process.
Swim lanes are visual elements (parallel lines) which divide the diagram into the
lanes for visually distribution the processes, sub-processes of a business process,
decisions at these lanes and widely used at Flowcharts, Flow Diagrams and Maps,
Process Flow Diagrams and Process Models, Cross-Functional Flowcharts, BPMN
and UML diagrams.
                                                                                 70
Swimlane Diagram for “Admin”:
                                                               71
Swimlane Diagram for “Student”:
                                                              72
Chapter: 07
DESIGNING
              73
7.1 INTERFACE DESIGN
Application home page:
                                                                  74
Student sign in page:
Admin dashboard:
                                                           75
Admin Login page:
Course Add/Edit/Delete:
                                                               76
Student Profile page:
Student Feedback:
                                                       77
Lesson Dashboard:
Online Courses:
                                                   78
7.2 DATA FLOW DIAGRAM:
A data flow diagram is a graphical representation that depicts information flow and
the transforms that are applied as data move from input to output. It is known as data
flow graph or bubble chart.
The DFD may be used to represent a system or software at any level of abstraction.
DFD may be partitioned into levels that represent increasing information flow and
functional detail. Therefore, the DFD provides a mechanism for functional modeling
as well as information flow modeling.
                                                                                      79
7.2.1 DFD OF PROJECT:
Context level diagram:
                                                              80
Level 1 DFD:
                                          81
7.3 DATABASE DESIGN:
A database is an organized collection of data. A relational database, more
restrictively, is a collection of schemas, tables, queries, reports, views, and other
elements. Database designers typically organize the data to model aspects of reality in
a way that supports processes requiring information, such as (for example) modeling
the availability of rooms in hotels in a way that supports finding a hotel with
vacancies.
Database design is the process of producing a detailed data model of database. This
data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a data definition language, which
can then be used to create a database. A fully attributed data model contains detailed
attributes for each entity.
1. Information-level design: In this step, user requirements are gathered together and
a database is designed which will meet these requirements as clearly as possible. This
step is called Information Level Design. Information level design is completed
independently of any particular DBMS.
2. Physical-level design: Information level design is transferred into a design for the
specific DBMS that will be used to implement the system in question. This step is
called Physical Level Design, concerned with the characteristics of the specific
DBMS.
       Information-level design adapted for the specific DBMS that will be used
       Must consider characteristics of the particular DBMS
       Undertaken after information-level design completion
       Most DBMSs support primary, candidate, secondary, and foreign keys
                                                                                     82
       To enforce restrictions, DB programmers must include logic in their programs
IDENTIFYING ENTITIES
Identifying the entities according to the conceptual design-
       user
       userRole
       message
       service_map
       payment
       review
       notification
Relationship: How entities act upon each other or are associated with each other.
Think of relationships as verbs. Relationships are typically shown as diamonds or
labels directly on the connecting lines.
Multiple Attribute: A multiple attribute can have more than one value. For example,
an employee entity can have multiple skill values.
Primary key: A primary key: is a special relational database table column (or
combination of columns) designated to uniquely identify all table records. A primary
key's main features are: It must contain a unique value for each row of data. It cannot
contain null values.
Foreign key: In the context of relational databases, a foreign key is a field in one
table that uniquely identifies a row of another table or the same table.
                                                                                         84
85
ENTITY RELATIONSHIP DIAGRAM OF THE SYSTEM
                                                      86
7.3.2 DATABASE TABLE STRUCTURE
                  Table XVIII- Admin (Stores Admin Detail)
                                                                            87
            Table XXI- Course (Stores Course Detail)
                                                                          88
   Table XXIII- Courseorder (Stores Course order Detail)
                                                            89
7.3.3 FLOW CHART
A flowchart is a diagram that depicts a process, system or computer algorithm. They
are widely used in multiple fields to document, study, plan, improve and
communicate often complex processes in clear, easy-to-understand diagrams.
Login
Add Lesson
                                                                                 90
7.3.4 CLASS DIAGRAM
    Class diagrams are the main building block in object-oriented modeling. They
    are used to show the different objects in a system, their attributes, their
    operations and the relationships among them.
    Classes in class diagrams are represented by boxes that are partitioned into
    three:-
                                                                              91
Chapter: 08
QUALITY ASSURANCE
                    92
8.1 SYSTEM QUALITY MANAGEMENT
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of a software.
The strategy provides a road map that describes the steps to be conducted as part of
testing.
Some quality criteria are objective, and can be measured accordingly. Some quality
criteria are subjective, and are therefore captured with more arbitrary measurement.
Internal quality:
                         Test coverage
                         Testability
                         Portability
                         Thread-safeness
                         Conciseness
                         Maintainability
                         Documentation
                         Legibility
                         Scalability
External quality:
                         Features
                         Speed
                         Space
                         Network usage
                         Stability
                                                                                       93
                      Robustness
                      Ease-of-use
                      Determinism
                      Back-compatibility
                      Security
                      Power consumption
Quality Assurance makes sure the project will be completed based on the previously
agreed specifications, standards and functionality required without defects and
possible problems. Its monitors and tries to improve the development process from
the beginning of the project to ensure this.it is oriented to „‟prevention‟‟.
In the verification, a client will either view the software, or see it implemented in a
test situation. At this point it is imperative that the client who is needed of the
software is able to ascertain that this software is hitting all the parameters initially
requested or desired .only when this assurance is made should the next part of the
verification and validation process be started. While this is not the last chance to
“tweak” the software into doing the tasks required it is part of the last steps before a
project is completed, and in being too quick to approve the software as this could
                                                                                      94
cause problems later, and could also result in more money required for the software’s
later changes.
The next step of verifications &validation of software is simple. Client Company will
approve the software and validate it as being what is required. This stage usually
means a systematic checking off various requirements. While this might sound
tedious, it is necessary part of the procedure to insure that again, the result is exactly
to the specifications of all concerned. The entire verification and validation process is
part of a normal sequence of quality control for software.
A software audit review, or software audit, is a type of software review in which one
or more auditors who are not members of the software development organization
conduct “An independent examination of a software product, software process, or set
of software processes to assess compliance with specifications, standards, contractual
agreements, or other criteria”
Management reviews:
Technical reviews:
                                                                                       95
         Statements of objectives
         A specific software product
         The specific project management plan
Inspections:
The inspection exit must correspond to one of the following three criteria:
Inspection meetings typically last a few hours, whereas technical reviews and audits
are usually broader in scope and take longer.
Walk-through:
         Find anomalies
         Improve the software product
         Consider alternative implementations
         Evaluate conformance to standards and specifications
White box testing: This testing is based on detailed knowledge of the internal design
and code. Tests are performed for specific code statements and coding styles.
Unit testing: The most micro scale of testing to test specific functions or code
modules. Typically done by the programmer and not by testers, as it requires detailed
knowledge of the internal program design and code. Not always easily done unless the
application has a well-designed architecture with tight code, may require developing
test driver modules or test harnesses.
Functional testing: Black box type testing to test the functional requirement of an
application. Typically done by software testers but software programmers should also
check if their code works before releasing it.
System testing: Black box type testing that is based on overall requirements
specifications. Covers all combined parts of a system.
End to End testing: It’s similar to system testing. Involves testing of a complete
application environment similar to real world use. May require interacting with a
                                                                                    97
database, using network communications, or interacting with other hardware,
applications, or systems.
Regression testing: Re-testing after software is updated to fix some problem. The
challenge might to be determining what need to be tested, and all the interactions of
the functions, especially near the end of the software cycle. Automated testing can be
useful for this type of testing.
Accepting testing: This the final testing done based on the agreements with the
customer.
Load / stress / performance testing: Testing an application under heavy loads. Such as
simulating a heavy traffic condition in a voice or data network, or a web site to
determine at what point the system start causing problems or fails.
Usability testing: Testing to determine how user friendly the application is. It depends
on the user or customer. User interviews, surveys, video recording of user sessions,
and other techniques can be used. Programmers and testers are usually not appropriate
as usability testers.
Recovery / failover testing: Testing to determine how well a system recovers from
crashes, failures, or other major problems.
Security testing: Testing to determine how well the system protects itself against
unauthorized internal or external access and intentional damage. May require
sophisticated testing techniques.
                                                                                     98
Exploratory testing: Often taken to mean a creative, informal software test that is not
based on formal test plans or test cases; testers may be learning the software as they
test it.
Ad-hoc testing: Similar to exploratory testing, but often taken to mean that the testers
have significant understanding of the software before testing it.
Beta testing: Testing when development and testing are essentially completed and
final bugs and problems need to be found before final release. Typically done by end
users or others, not by programmers or testers.
Mutation testing: A method for determining if a set data or test case is useful, by
deliberately introducing various code changes and retesting with the originals test
data/ cases to determine if the defects are detected. Proper implementation requires
large computation resources.
                                                                                      99
8.3 TESTING:
                                   Table XXIV- Login
Test Case   Test      Test      Pre-      Test       Test      Expected    Actual      Status
ID          Scenari   Case      Conditi   Steps      Data      Result      Result      Pass/
            o                   on                                                     Fail
TC_Login    Verify    Enter     Need a    1. Enter   Valid     Successf    Successf    Pass
_1          Login     Valid     valid     userna     userna    ul login,   ul login,
                      userna    usernam   me         me        Main        Main
                      me and    e and                          screen of   screen of
                                          2. Enter   Valid
                      valid     passwor                        applicati   applicati
                                          Passwo     passwor
                      passwor   d to do                        on          on
                                          rd         d
                      d         login                          should      displayed
                                          3. Click             displayed
                                          Login
TC_Login    Verify    Enter     Need a    1. Enter   Valid     No          No          Pass
_2          Login     Valid     valid     userna     userna    Matched     Matched
                      userna    usernam   me         me        Usernam     Usernam
                      me and    e and                          e/          e/
                                          2. Enter   Invalid
                      invalid   passwor                        Password    Password
                                          Passwo     Passwo
                      passwor   d to do   rd         rd
                      d         login
                                          3. Click
                                          Login
TC_Login    Verify    Enter     Need a    1. Enter   Invalid   No          No          Pass
_3          Login     Invalid   valid     userna     userna    Matched     Matched
                      userna    usernam   me         me        Usernam     Usernam
                      me and    e and                          e/          e/
                                          2. Enter   Valid
                      valid     passwor                        Password    Password
                                          Passwo     Passwo
                      passwor   d to do   rd         rd
                      d         login
                                          3. Click
                                          Login
TC_Login    Verify    Enter     Need a    1. Enter   Invalid   No          No          Pass
_4          Login     Invalid   valid     userna     userna    Matched     Matched
                      userna    usernam   me         me        Usernam     Usernam
                      me and    e and                          e/          e/
                                          2. Enter   Invalid
                      invalid   passwor                        Password    Password
                                          Passwo     Passwo
                      passwor   d to do   rd         rd
                      d         login
                                          3. Click
                                          Login
                                                                                               100
                           Table XXV- User/Student Registration
Test Case   Test        Test      Pre-      Test    Test      Expected    Actual     Status
ID          Scenario    Case      Condit    Steps   Data      Result      Result     Pass/
                                  ion                                                Fail
TC_SRE      Verify      Enter     Need      1.      Valid     Successf    Successf   Pass
G_1         User        valid     valid     Enter   name,     ul, User    ul, User
            Registrat   name,     Data to   name    valid     Added       Added
            ion         email,    be                email,    Successf    Successf
                                            2.
            Detail      new       entered           valid     ully        ully
                                            Enter
                        passw                       passw
                                            email
                        ord                         ord
                                            3.
                                            Enter
                                            Passw
                                            ord
                                            4.
                                            Click
                                            Sign
                                            up
TC_SRE      Verify      Enter     Need      1.      Valid     Email ID    Email ID   Pass
G_2         Staff       name,     Data to   Enter   name,     Already     Already
            Registrat   alread    be        name    alread    Registere   Register
            ion         y         entered           y         d           ed
                                            2.
            Detail      registe                     registe
                                            Enter
                        red                         red
                                            Email
                        email,                      email,
                        new                 3.      valid
                        passw               Enter   passw
                        ord                 Passw   ord
                                            ord
                                            4.
                                            Click
                                            Sign
                                            up
TC_SRE      Verify      Enteri    -         Click   Nothin    Fill        Fill       Pass
G_3         Staff       ng                  Sign    g to      required    required
            Registrat   Nothin              up      enter     field       field
            ion         g,                          Requir
            Detail      Requir                      ed
                        ed                          fields
                        Fields                      are
                        are                         blank
                        blank
                                                                                              101
                                   Table XXVI- Add Course
Test Case   Test     Test      Pre-       Test         Test      Expected    Actual      Status
ID          Scenar   Case      Conditi    Steps        Data      Result      Result      Pass/
            io                 on                                                        Fail
TC_Cours    Verify   Enter     Need       1. Enter     Valid     Successfu   Successfu   Pass
e_1         Course   Valid     valid      Valid        Text      l, Course   l, Course
            Detail   and       text and   Data in      and       Added       Added
                     correct   number     appropri     Numbe     Successfu   Successfu
                     data      Data to    ate fields   r Data    lly         lly
                               be         2. Click
                               entered    Submit
TC_Cours    Verify   Enter     Need       Enter        Invalid   Enter       Enter       Pass
e_2         Course   invalid   text and   invalid      Text      Valid       Valid
            Detail   and       number     Data in      and       Data        Data
                     incorre   Data to    fields       Numbe
                     ct data   be                      r Data
                               entered
TC_Cours    Verify   Enterin   -          Click        Nothin    Fill        Fill        Pass
e_3         Course   g                    Submit       g to      required    required
            Detail   Nothin                            enter     field       field
                     g,                                Requir
                     Requir                            ed
                     ed                                fields
                     Fields                            are
                     are                               blank
                     blank
                                                                                                102
Chapter: 09
CONCLUSION
              103
9.1 PRACTICUM AND ITS VALUE
In career development – as with most life issues – there is direct relationship between
effort and reward. To me, practicum can be as a transition from engineering college
study life to a real world workplace through hands on experience of engineering
practices.
There are several major advantages for students completing a guided Practicum:
Practicum does not offer hands-on experience only, but also the trait of “coping up” in
the society. Meeting with different types of people and encountering situations gives
practical orientation to life. There are many more upright issues of practicum, which
only the person experiencing it can sense and believe.
It is the gateway to the professional life, bridge between theoretical and practical
knowledge. Now these days, engineering job recruiters no longer consider high
grand’s rather they value the particle working experience, for which practicum proves
to be vantage for the fresh entry level engineers in the job market.
9.2 CONCLUSION
The Lancercode E-Learning Maintenance Managment System has been computed
successfully and was also tested successfully by taking "Test Cases". It is user
friendly, and has required options, which can be utilized by the user to perform the
desired operations.
The Software is developed using HTML, CSS, JS as front end and PHP, MySql as
back end in windows environment.
                                                                                    104
The goals that are achieved by the software are:
 User friendly
9.3 LIMITATIONS
              Only one tutor can access at a time
              It’s not SEO friendly
              Risk unauthorized accessibility
              Support is good in modern web browsers but not in legacy ones
               .
                                                                               105
BIBLIOGRAPHY
               106
Books:
        Kendall, E. & Kendall (1999), System Analysis and Design. 4th Ed. New
         Delhi: Prentice Hall.
        Silberschattz, Abraham, Korth, Henry F., &Sudrashan S. (2002). Database
         System Concepts. 4th ed. Boston: McGraw Hill.
        Pressman, Roger S. (2004). Software Engineering: A Practitioner’s Approach.
         5th ed. Boston: McGraw Hill.
        IGNOU Blocks of Systems Analysis and Design
        IGNOU Blocks of Introduction to Software Engineering
        The Complete Reference PHP
         Head First SQL: Your Brain on SQL by Lynn Beighley
Websites:
107