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