Report Final
Report Final
                                                                                                                             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 VIS ION
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:
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:-
                                                                                        13
      Ability to recall previously learned material – Students/learners can watch video
       courses as many times as they need. If they forgot something during the course
       they can come back and watch that specific part anytime.
 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
2.3.2 SPECIFIC OBJECTIVES:
             To make Learning easier.
             To make admin management easier.
             To make customer believe that online learning is not a difficult thing.
             To make pen paper based work automated.
             To make it easier for Lancercode to track their customers.
             To make it easier for Admin to manage all the customers.
             To make it easier for admin to fixed the course and set up lessons.
             To make it easier for the HR having the full details of work
              automatically.
The “E-learning Management System” will make learning more easier and organize.
The system benefits are given below:
                                                                                      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:
      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
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.
In order to develop the project “LancerCode E-learning Platform” we have adopted the
Iterative Enhancement Model also known as Incremental Model. This model removes
the shortcoming of waterfall model. Since many facts of this system are already known.
It is not a new concept and hence no research is required. A working version can be
easily created and hence the system can start working. Rest of the 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
                                                                                        17
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 and
                                                                                       19
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:
                                                                                          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:
In this feasibility study it is determined whether there is need of well qualified operator
or simple user. Is there need to train the operator or not? This project is supporting the
User friendly Web application; hence operating this project is so simple. Even a person
                                                                                        22
who has a little knowledge of computer can easily handle this well. There is no need of
trained operator.
                                                                                    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:
                                                                                       25
Requirement Negotiation: This is the process of negotiating with the client about the
software cost and other facilities will be provided with the system.
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.
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:
This module displays overview of whole application such as number of course, number
of registered students etc.
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.
Before starting any project, it is compulsory to estimate the work to be done, the
resources that will be required, the time that will elapse from start to finish and to
analyze the project to determine whether it is feasible or not. Software project planning
is the second activity of CPF. Software project management commences with a set of
activities that collectively called software project planning. Through the software
project planning I estimate the work to be done, the resources that will be required, the
time that will elapse from start to finish and finally I analyze the project to determine
whether it is feasible or not.
The following activities of software project planning that have followed in this project
are:
                                                                                        39
       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
Transaction Functions
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
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
                                                                                       41
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
4.3.2.2 COMPLEXITY MATRIX FOR UFP
                        Table II- Complexity Matrix for UFP
                                                                                     43
Search enroll list Fields: insert name, course name, insert 1         4
(EQ)                    title, insert id
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
File: user
                                                                           44
                      File: transaction
File: transaction
File: User
File: transaction
File: transaction
File: review
                                                                          45
                    File: transaction
File: review
File: addstudent
File: user
File: user_role
                                                                                46
                    dervice_duration,           transaction_id,
                    billing_contactno
                                                                       47
4.4.3 UNADJUSTED FUNCTION POINT CONTR IBUTION:
       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
                                             1%     0.24%
                                                    7.30%
                               19.60%
24.27%
                      31.3%
                                                             16.28%
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:
Hardware cost
Hardware Cost
Modem 2000
Printer 5000
Software cost
Name Price
PHP Free
Apache Free
Webserver Free
My SQL Free
Other cost:
Name Price
Transport 1200
                                                                     55
House rent                           2000
Other 500
Particulars TK TK
Salary-
     System Analyst                  159,452.16
                                      139,522.56
     Designer
                                      119,585.28
     Coder
                                       79,726.08
     Tester
                                                      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
Impact Client will hamper and hopeless about the system. Disaster
Status Done
                                                                                   61
                        Table XVI- Technical risks
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.
A level 0 DFD, which is also known as fundamental system model or a Context model,
represents the entire software or system element into as a single bubble with input and
output data indicated by in Coming and outgoing arrows respectively. Then bubble of
context model should be decomposed into several levels.
                                                                                      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
       To enforce restrictions, DB programmers must include logic in their programs
                                                                                      82
In the field of relational database design, normalization is a systematic way of ensuring
that a database structure is suitable for general-purpose querying and free of certain
undesirable characteristics—insertion, update, and deletion anomalies that could lead
to loss of data integrity.
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
ENTITY RELATIONSHIP DIAGRAM OF THE SYSTEM
                                                      85
7.3.2 DATABASE TABLE STRUCTURE
                   Table XVIII- Admin (Stores Admin Detail)
                                                                            86
            Table XXI- Course (Stores Course Detail)
                                                                          87
   Table XXIII- Courseorder (Stores Course order Detail)
                                                            88
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
                                                                                 89
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:-
                                                                              90
Chapter: 08
QUALITY ASSURANCE
                    91
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
                      Robustness
                                                                                         92
                       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
                                                                                          93
in being too quick to approve the software as this could 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:
                                                                                       94
         Statements of objectives
         A specific software product
         The specific project management plan
Inspections:
The purpose of an inspection is to detect and identify software product anomalies. Two
important differentiators of inspections as opposed to reviews are as follows:
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
                                                                                        95
an initiator, and includes a representative of the audited organization. The audit will
identify instances of nonconformance and produce a report requiring the team to take
corrective action.
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
                                                                                      96
database, using network communications, or interacting with other hardware,
applications, or systems.
Sanity testing or smoke testing: An initial testing to determine if a new software version
is performing well enough to start for a major software testing. For example, if the new
software is crashing frequently or corrupting database then it is not a good idea to start
testing before all these problems are solved first.
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.
Install / Uninstall testing: Testing of full, partial, or upgrade install / uninstall processes.
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.
                                                                                             97
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.
                                                                                        98
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/Fa
            o                   on                                                     il
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     2. Enter   Valid     screen of   screen of
                      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     2. Enter   Valid     e/          e/
                      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     2. Enter   Invalid   e/          e/
                      invalid   passwor   Passwo     Passwo    Password    Password
                      passwor   d to do   rd         rd
                      d         login
                                          3. Click
                                          Login
                                                                                                99
                          Table XXV- User/Student Registration
Test Case   Test         Test       Pre-      Test     Test       Expected    Actual      Status
ID          Scenario     Case       Conditi   Steps    Data       Result      Result      Pass/F
                                    on
                                                                                          ail
TC_SRE      Verify       Enter      Need      1.       Valid      Successfu   Successfu   Pass
G_1         User         valid      valid     Enter    name,      l, User     l, User
            Registrati   name,      Data to   name     valid      Added       Added
            on Detail    email,     be        2.       email,     Successfu   Successfu
                         new        entered   Enter    valid      lly         lly
                         passwo                        passwo
                                              email
                         rd                            rd
                                              3.
                                              Enter
                                              Passwo
                                              rd
                                              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
            Registrati   already    be        name     already    Registere   Registere
            on Detail    register   entered   2.       register   d           d
                         ed                            ed
                                              Enter
                         email,               Email    email,
                         new                           valid
                         passwo               3.       passwo
                         rd                   Enter    rd
                                              Passwo
                                              rd
                                              4.
                                              Click
                                              Sign
                                              up
TC_SRE      Verify       Enterin    -         Click    Nothin     Fill        Fill        Pass
G_3         Staff        g                    Sign     g to       required    required
            Registrati   Nothin               up       enter      field       field
            on Detail    g,                            Requir
                         Requir                        ed
                         ed                            fields
                         Fields                        are
                         are                           blank
                         blank
                                                                                                 100
                                   Table XXVI- Add Course
Test Case   Test     Test      Pre-       Test         Test      Expected    Actual      Status
ID          Scenar   Case      Conditi    Steps        Data      Result      Result      Pass/F
            io                 on
                                                                                         ail
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
                                                                                                101
Chapter: 09
CONCLUSION
              102
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.
                                                                                      103
The goals that are achieved by the software are:
 User friendly
9.3 LIMITATIONS
                                                                               104
BIBLIOGRAPHY
               105
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:
106