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