Final PDF
Final PDF
Submitted By
Muhammad Sadheer
2013-BSSE-064
ROLL # 09
Mujtaba Ahmed
2013-BSSE-070
ROLL # 16
BS(Software Engineering)
Supervised By
Ms. Kanwal Mahmud
Dated:_________________
FINAL APPROVAL
This is to certify that we have read the final report submitted by Muhammad Sadheer & Mujtaba
Ahmed and it is our inference that this report is of sufficient standard to permit its acceptance by
The University of Poonch Rawalakot for the degree of BS(Software Engineering).
Committee
1. EXTERNAL EXAMINER
_____________________
2. SUPERVISOR
Ms Kanwal Mahmud _________________________
Department of computer science
3. INCHARGE
Sir Irteza Syed ____________________
Department of computer science
i
DECLARATION
We hereby declare that this app is neither as a whole nor a part of any existing system. This system
is neither copied from any source. It is further declared that we have developed this app entirely
on the basis of our personal efforts made under the sincere guidance of our teachers and supervisor.
No portion of the project is presented in this report has been submitted in support of any other
degree or qualification of this or any other university or institute of learning. If any part of this app
proved to be copied or found to a report of some other, we shall stand by the consequences. No
portion of the work presented in this report has been submitted in support of any application for
any other degree or qualification of this or any other university or Institute of learning.
ii
ACKNOWLEDGMENT
First of all, I thank Allah at the completion of my project, as We completed this task only
by His favor and grace. At this moment, this is due on me, to thank some personalities, because
without their cooperation and supervision, We were unable to complete this work.
First of all, our respected teacher and supervisor, Ms Kanwal Mahmud, whose door of
kindness always remained open for us during our degree project. Her advices and instructions
guided us to complete our degree project efficiently. Completion of our task would not be possible
without her help, encouragement, dynamic supervision and constructive criticism. We highly
indebted to express our gratitude for her entire collaboration. Special thanks to Sir Irteza Syed, Sir
Imran Farooq, Sir Irfan Javid, and Sir Adnan Rafique for their kind support, hard work and
cooperation.
It is also necessary to us, to thank our parents whose prayers are treasure of our life. We
have no words to pay gratitude to them whose affection, guidance and continuous encouragement
did their best to shape our character and kept my motivation and spirit alive.
Session (2013-2017)
iii
Project in Brief
According to our knowledge existing projects are not providing complete solution of students
problem. Existing projects are providing the same services but they are difficult to understand.
Learning programming studies shows an important fact, the number of students are increasing
rapidly and mostly students want to develop a software. Although there are a lot of learning
platform that had been produced with advanced technology, but the result is still disappointing.
Uprschool shows the video tutorials, code and execution through different platforms and use latest
tools to produce such a type of platform which produce better communication between students
and programming languages. The existing platforms systems used advanced technology to provide
such a type of environment but there is a problem in these systems. To overcome this problem we
develop new platform that contain all required tools for the students to learn a language.
In case of misunderstanding of any post user has an option to communicate with our expert
via discussion forum to clear their concepts. So, this approach leads to better understanding of
students.
iv
Abstract
The understanding of programming languages and execution of programs is a difficult task for
many students. Students usually face difficulties in understanding the concepts of programming
languages. Similarly teachers also face difficulty in delivering concepts of these programming
languages. Therefore, there is a need of a application which can facilitate the teachers to deliver
the concepts of programming languages to the students and students can easily understand their
working in an interactive way. The software, developed in this project is intended to help students
in understating the concepts of different programming languages and executing programs in real
systems through some real world applications. The software developed in Processing and it is a
responsive web application. Its purpose is to help students in understanding programming
languages and running programs online by different types of plugins. In future, an android or IOS
application can also be developed. To make this application more users interactive we can offer
more control to the users.
v
Table of Contents
Chapter 1 Introduction .............................................................. 1
1.1. Purpose ...............................................................................................1
1.2. Scope of Project ..................................................................................1
1.3. Problem Statement ..............................................................................2
1.4. Purposed solution ................................................................................2
vi
2.8.10 Admin View Expert ............................................................................. 15
2.8.11 Admin Delete Expert ........................................................................... 15
2.8.12 Admin View User ................................................................................ 15
2.8.13 Admin Delete Expert ........................................................................... 15
2.8.14 Expert View Discussion ...................................................................... 16
2.8.15 Expert Delete Discussion..................................................................... 16
vii
5.4 Unit Testing .....................................................................................27
5.4.1 Evaluation .............................................................................................. 27
5.4.2 Achievements ......................................................................................... 27
5.5 System Testing ................................................................................28
5.6 Test Cases ........................................................................................28
5.6.1 Login ....................................................................................................... 28
5.6.2 Add Post .................................................................................................. 20
5.6.3 Delete Post .............................................................................................. 30
5.6.4 Update Post ............................................................................................. 31
5.6.5 Delete User ............................................................................................. 32
viii
Chapter 1
1 Introduction
Now a days learning a programming language is an important factor because everyone wants
to develop a software. Many websites are providing guidance to learn a programming
language like youtube, lynda, w3school and many others but still these websites are lacking
in performing that task because they are not providing a suitable environment where a novice
user can learn a programming language. Youtube and lynda is providing a video tutorials of
programming languages, w3school is providing a code with execution but this environment
seems to be incomplete and inappropriate for the beginners to learn a language. Uprschool is
a complete platform that is providing video tutorials their code and execution and also
discussion forum where users can discuss anything about the given post. In a given platform
a user’s can watch a video tutorial. See the code view in video and execute online if they find
some issues in understanding code they can discuss issues with the expert. So, this platform
gives full scenario to learn a programming language and develop a software.
1.1 Purpose
Uprschool provides online simple and easy video tutorials of c++, html,css, javascript and
php with code and execution of that code, discussion forum where users can ask anything and
will be answered by the expert or can by the any user.
1.2 Scope
This software system will be a Web Publishing System for students of a regional society of
pakistan especially for the university of poonch rawalakot students. This system will be
designed to maximize the student language learning ability by providing video, code and
execution tools to view, write, execute and questioning process, which would otherwise have
to be performed manually. By maximizing the student learning ability the system will meet the
student needs while remaining easy to understand and use.
1
More specifically, this system is designed to allow students to communicate with a
programming languages and develop a software or website. The software will facilitate
communication between novice users, and the students via well-organized programming
learning environment.
Uprschool provides appropriate environment in which a novice users can learn a programming
language easily. Easy learning method engages users with the programming environment.
Uprschool guides novice users from scratch and make them a good programmer.
1.3 Problem Statement
Language learning environment provided by other website on www are quite difficult for the
novice users to understand. Tutorials provide by youtube, lynda and other sites are quite
difficult for the people who does not know English (US) so well because their tone is different
from some countries. In short, world wide web still not have the suitable platform that enables
novice users to learn a programming language easily. Uprschool is providing tutorials in a
simple tone and attitude that are easily understandable to the beginners or novice users.
Beginners can make their skills by using such a type of platform.
A user can use this system to understand the basic programming algorithm Uprschool easily
and make their skills better. The users can use this tool to see how these programs works and
how they are used in the real world applications.
1.4 Proposed Solution
The intended system is a responsive web application to increase the understanding of the users.
This application is intended to be used for educational purposes. The application shows to users
that how the programs are written and executed. The application includes four programming
languages algorithm Uprschool: HTML Algorithm, PHP Algorithm, Javascript Algorithm and
C++ Algorithm. A user can use this system to understand the basic concepts of these algorithm
Uprschool. The users can use this tool to see how these algorithm Uprschool works and how
they are used in the real world applications. The users can see the difference among these
algorithm Uprschool by running them. By using Uprschool a non-professional peoples or
computer users can learn a language easily and make their skills better and optimal.
2
Chapter 2
2 Overall Description:
In the life of the software development, problem analysis provides a base for design and
development phase. The problem is analyzed so that sufficient matter is provided to design a
new system. Large problems are sub-divided into smaller once to make them understandable
and easy for finding solutions. Same in this project all the task are sub-divided and
categorized.
2.1 Requirements Analysis
The following section presents the complete set of functional and non-functional
requirements identified for Uprschool. The non-functional requirements that pertain to
safety, security, accuracy, reliability, accessibility, usability, maintenance and performance
are subsequently presented.
ID Requirements JUSTIFICATION
REQ-1 Sign up Users open a uprschool homepage and sign up for that by providing a
personal information like name, gender and email etc.
REQ-2 Sign In After sign up user will sign in to the system
REQ-3 Search post User will search post by entering a statement in the search field
according to their requirement
REQ-4 View post After finding a related post user open that post
3
REQ-8 Comment on post User will comment on post and make a question
REQ-9 Share post User share that post on social media like facebook, twitter, pinterest
and google+
REQ-10 Update Information User can update their account information
REQ-11 View Notification View the notifications form expert reply on some post in which
he/she comment
REQ-12 Add Expert The system allow the administrative staff to add new language expert
records to the system
REQ-16 Publish user Expert can publish user comment on discussion forum
comment
REQ-17 Delete user Expert can delete irrelevant user comment on discussion forum
comment
REQ-18 Add post The uprschool allow administrative staff to add new posts to the
system
REQ-19 Update post The system allow to the administrative staff to update post records to
the system
REQ-20 Delete post The system allow to the administrative staff to delete the ID of the
post from the system
REQ-21 Update Expert The system allow the administrative staff to update language expert
records to the system
REQ-22 Delete Expert The system allow the administrative staff to delete the ID of the
language expert from the system
4
2.3.1 Accuracy:
Uprschool will be accurate and reliable based on the design architecture. If there is any
problem in the accuracy then the system will provide alternative ways to solve the
problem.
2.3.2 Usability:
Uprschool will be simple and easy to use by the users. The users will comfort in order to
communicate with the system. The user will be provided with an easy interface of the
system.
2.3.3 Accessibility:
Uprschool will be accessible through internet and there should be no any known problem.
2.3.4 Performance:
Uprschool performance will be at its best when performing the functionality of the system.
2.3.5 Reliability:
The proposed system will be reliable in all circumstances and if there is any problem that
will be affectively handle in the design.
2.3.6 Security:
Uprschool will be highly secured; every user will be required registration and
email/password to use the system. The system will do the proper authorization and
authentication of the users based on their types and their requirements.
2.4 Software and Hardware Requirements
2.4.1 Software Requirements:
Software requirements for Uprschool
Windows 7 or Above
Adobe Flash Player
5
2.4.3 Server Requirements:
The minimum hardware as recommended by Uprschool required on
client side web server, operating system and development software
Processing speed of 1.6 GHz
1 GB of RAM
Network interface
2.5 Use Case Diagram
6
2.6 Use Case Description
Pre-Condition
Post-Condition User interaction with the system
7
2.6.2 Use Case Logout
8
3-Admin provides the asked title
information video url
4-Admin requests system to code
proceed Description
category
6-Admin confirms to update Sub category
9
4-Admin requests the system to 5-System successfully shows the
proceed following information regarding
selected post
title
video url
code
Description
Category
Sub category
10
4-Admin requests system to 7-System successfully deletes the
proceed expert record
6-Admin confirms to delete
11
date of birth
expert type
photo
So the control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent. Activity diagrams deals with all type of flow control by using
different elements like fork, join etc.
2.7.1 Signup
Enter details
validation of email
valid
Approval registration
Go to User
homepage
12
2.7.2 Login 2.7.3 Update profile:
Update profile
Enter email and
password
Enter new details
`
Perform validation
Error message
displayed
invalid
valid
Invalid detail
invalid
valid
Successfully logged in
record updated
Update post
add post
Enter post id
Perform validation
Successfully added
record updated
13
2.7.6 Admin view post 2.7.7 Admin delete post
View post
Delete post
Enter post id
Enter post id
Invalid detail
invalid invalid Invalid post id
valid
valid
Post displayed
Successfully deleted
Update expert
Add expert
Enter expert id
Perform validation
Perform validation
invalid
valid
Successfully added
record updated
14
2.7.10 Admin view expert 2.7.11 Admin delete expert
View expert
Delete Expert
Enter expert id
Enter expert id
valid
valid
Delete user
View user
Invalid user id
invalid Invalid user id
valid
invalid
15
2.7.15 Expert view discussion 2.7.16 Expert delete discussion
Enter discussion id
Enter discussion id
Invalid id
invalid Invalid id
valid
invalid
valid
discussion displayed
Successfully deleted
16
Chapter 3
3 Designing
3.1 Sequence Diagram
UML sequence diagrams are used to show how objects interact in a given situation. An
important characteristic of a sequence diagram is that time passes from top to bottom: the
interaction starts near the top of the diagram and ends at the bottom (i.e. Lower equals later).
A popular use for them is to document the dynamics in an object-oriented system. For each
key collaboration, diagrams are created that show how objects interact in various
representative scenarios for that collaboration.
Sequence Diagram (SD) is one of the key notations of UML and serves as a well-accepted
media among software developers, stakeholders, and tool builders. The appeal can be
attributed to the intuitive nature of its graphical representation and its capability to capture
scenarios of how the system might be used or how entities interact by transmitting sequences
of Messages.
17
3.1.2 User Login
18
3.1.4 User View Post
19
3.1.6 Add Expert
3.1.7 Reply
20
3.1.8 Logout
21
3.2 Class Diagram
A class diagram is an illustration of the relationships and source code dependencies among
classes in the Unified Modeling Language (UML). In this context, a class defines the methods
and variables in an object, which is a specific entity in a program or the unit of code representing
that entity. Class diagrams are useful in all forms of object-oriented programming (OOP). The
concept is several years old but has been refined as OOP modeling paradigms have evolved.
22
3.3 ER Diagram
An entity-relationship diagram (ERD) is a graphical representation of an information system that
shows the relationship between people, objects, places, concepts or events within that system. An
ERD is a data modeling technique that can help define business processes and can be used as the
foundation for a relational database.
23
Chapter 4
4 Implementation
After the completion of detailed design phase, the next phase is implementation phase. The
main purpose of the implementation phase is to convert the selected design of system in to
executable form or code the system. In this phase we also take other selection decisions such as
framework selection, language selection, selection of database.
4.1 Programming Language Selection
The first step in implementation is to decide the suitable language that must be flexible
enough to support design.
Design is object-oriented
System is web-based
4.2 Code Snapshots
Small part of implementation of login
24
Small part of implementation of Add Comment
25
Chapter 5
5 Testing
Software testing is an empirical technical investigation conducted to provide stakeholders with
information about the quality of the product or service under test, with respect to the context in
which it is intended to operate.
System testing is an essentials step for the development of the reliable and error free system.
Testing is the process executing a problem with the explicit intention of finding errors i.e. making
the problem fail and test cases are devised with the purpose in mind. A test case is a set of data
items that the system processes as normal input. A successful test is one that has a high probability
of finding an as-yet undiscovered error. Testing involves exercising the program using data like
the real processed by the program.
Testing may be carried out during the implementation phase, to verify if the software behaves as
intended by its designer, or after the completion of its implementation phase. There are many
approaches to software testing.
Unit testing
Interface testing
Integration testing
Module testing
Each and every module of the system was tested at individual component level to ensure that
system operates correctly. Testing of these modules involved various steps:
Validation checks were confirmed on each item after the data was entered.
Functionality of each button was successfully tested.
26
5.2 Interface Testing
Interface testing ensures that proper links are operational and everything is displayed according to
the requirement of the system. Interface testing involved many steps:
Fonts size and font name were checked against the guidelines laid by the University.
It was checked that every meaningful word in prompt/any alert message displayed started with a
capital letter.
A module is a collection of dependent components. In module testing, related units are integrated
in a module and tested for their proper functionality together. Various modules were tested, by
passing data/signal between them.
5. 4 Integration testing
All the components module of the system was put to integrated testing and were found working
successfully.
5.4.1 Evaluation
Evaluation of the system means to examine what goals are achieved by the system and what are
the weaknesses and the deficiencies left behind. Evaluation is the final step in the development by
any system. This phase is for the purpose of reviewing whether objectives and functional
requirements of the Univ. are fulfilled is not.
5.4.2 Achievements
Software provides the password protected GUI to facilitate the administrator to manage
this system.
In all modules of the system, data is properly add, delete and update.
All verification and validation checks work properly.
System is satisfying almost all of its major specifications and functionality and it can be
concluded that system is satisfying its more than 90% scope.
27
5.5 System Testing:
System testing is an essential step for the development of the reliable and error free system. Testing
is the process executing a problem with the explicit intention of finding errors i.e. making the
problem fail and test cases are devised with the purpose in mind. A successful test is one which
does not find an error.
5.6.1 Log in
Test Case ID: TC-UPR-001 Test Item: User authentication
Test Case Description: The test case will determine the current functionality of user authentication
Pre-Condition Post Condition
User should have his own username and password. System successfully authorized the user to use
system.
Input Data/Event Expected output Data
In case of invalid login. Successfully login.
Enter “[email protected]”
Click on “Login” button. as username and Successfully login.
“kashi” as password.
ClickCase
Test on “Login”
Result button.
Test is performed successfully.
28
5.6.2 Add Post
1. Enter “HTML Headings”as Title, ” System successfully added the new Post.
https://www.youtube.com/embed/Pq9DkCt4fqI”as
Video url,“ dflkgdjfgkdf” as Description,“
<style>
h1{color:red;}
h2{color:green;}
</style>
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<h1>Heading 1</<h1>
<h2>Heading 2</<h2>
</body>
</html>” as Code, “HTML”as Category,
“heading”as Sub_category.
29
Click on Add button.
2. Enter “HTML Headings”as Title, ” System shows the error message that “All fields
https://www.youtube.com/embed/Pq9DkCt4fqI”as must be filled”.
Video url,“ dflkgdjfgkdf”
Click on Add button.
3. Enter “HTML Headings”as Title, ” System fails to add duplicate data
https://www.youtube.com/embed/Pq9DkCt4fqI”as
Video url,“ dflkgdjfgkdf”
Click on Add button.
Post’s record is present in the system. Post’s record is deleted from the system.
30
Enter “UPRSCHOOL-PT-003” as Post’s ID. System successfully Deletes the Post’s record.
Click on delete Button. Post’s ID is invalid.
Enter “something” as Post’s title and “fdkjdskfs” as System shows the error message that “Post’s ID is
author url. compulsory”.
Click on delete button.
Enter “UPRSCHOOL-PT-003” as Post’s ID again. System shows the error message that “Post’s
Click on delete button. record already deleted”.
31
5.6.5 Delete User
User record is present in the system. User record is deleted from the system.
Enter “UPRSCHOOL-PT-005” as User ID. System successfully Deletes the User record.
Click on delete Button.
User ID is invalid.
Enter “something” as Firstname and “fdkjdskfs” as System shows the error message that “User ID is
Lastname. compulsory”.
Click on delete button.
Enter “UPRSCHOOL-PT-003” as User ID again. System shows the error message that “User record
Click on delete button. already deleted”.
32
Chapter 6
6 Screenshots
6.1 Login
33
6.2 Homepage
34
6.4 Execute Code
35
Chapter 7
7 References
2. Rick Ellis, Ellis Lab, Inc. 2 nd Edition (2005) “Codeingniter User Guide”
3. https://www.google.com.pk/search?ei=1HFVWqWwMMG0UtGIgcgB&q=onleine+c
%2B%2B+compilers&oq=onleine+c%2B%2B+compilers&gs_l=psy-
ab.3..0i13k1j0i13i5i30k1l2.4381.5284.0.5713.4.4.0.0.0.0.400.649.2-
1j0j1.2.0....0...1.1.64.psy-ab..2.2.648...0i8i13i30k1.0.bRm1LrB9obU
4. https://stackoverflow.com/questions/4838273/javascript-getelementbyid\
5. https://www.quora.com/How-can-I-add-an-online-compiler-to-my-site-like-the-ones-
Codecademy-and-W3-schools-have
6. https://stackoverflow.com/questions/9959459/open-source-online-web-base-
compiler-for-my-site
7. http://blog.nutpan.com/2016/07/run-programs-directly-from-your-blog-or.html
8. https://cboard.cprogramming.com/cplusplus-programming/131164-i-need-build-web-
site-cplusplus-compiler.html\
9. https://groups.google.com/forum/#!topic/django-users/RnC0y3YshFo
36