Team Guide:: Mr. Rahul Rastogi

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

May 13

2019
TEAM GUIDE:
Mr. Rahul Rastogi

TEAM MEMBERS:
 Yash Mishra
UNICRYPTO : BITCOIN WALLET VERSION 1.0

SOFTWARE REQUIREMENT DATE: 13 MAY 2019


SPECIFICATION
Table of Contents
1. Introduction
1.1 Methodology
1.2 Purpose
1.3 Scope
1.4 Definitions, Acronyms and Abbreviations
1.5 References
1.6 Technologies to be used
1.7 Tools to be used
1.8 Overview

2. Overall Description
2.1 Product Perspective
2.2 Software interface
2.3 Hardware interface
2.4 Use Case Model Survey
2.5 Class diagram
2.6 Activity Diagram
2.7 Sequence diagram
2.8 Data Flow diagram
2.9 ER Diagram
2.10 Assumptions and Dependencies
ACKNOWLEDGEMENT
We gratefully acknowledge for the assistance,
cooperation, guidance and clarifications provided
during the development of the Unicrypto : Bitcoin
Wallet website. My extreme gratitude to Mr. Rahul
Rastogi who guided me throughout the project.
Without his willing disposition, spirit of
accommodation, frankness, timely clarification and
above all faith in us, this project could not have been
completed in due time. His readiness to discuss all
important matters at work deserves special attention.
CERTIFICATE

This is to certify that the project entitled


“Unicrypto : Bitcoin Wallet” has been
developed by “Yash Mishra”.
He worked on the project Unicrypto The
Bitcoin Wallet. He used JAVA, HTML, JSP,
JAVASCRIPT and SQL SERVER 2019 as
Database for the project. Their work is
satisfactory.

I wish them all the best for their bright future.


SOFTWARE DEVELOPMENT METHODOLOGY

The establishment and use of sound engineering principles in order to obtain


economically developed software that is reliable and works efficiently on real
machines is called software engineering.

Software engineering is the discipline whose aim is:


1. Production of quality software
2. Software that is delivered on time
3. Cost within the budget
4. Satisfies all requirements.

Software process is the way in which we produce the software. Apart from hiring
smart, knowledgeable engineers and buying the latest development tools, effective
software development process is also needed, so that engineers can systematically
use the best technical and managerial practices to successfully complete their
projects.

A software life cycle is the series of identifiable stages that a software product
undergoes during its lifetime .A software lifecycle model is a descriptive and
diagrammatic representation of the software life cycle .A life cycle model
represents all the activities required to make a software product transit through its
lifecycle phases .It also captures the order in which these activities are to be taken .

Life Cycle Models


There are various life cycle models to improve the software processes.
WATERFALL MODEL
PROTOTYPE MODEL
ITERATIVE ENHANCEMENT MODEL
EVOLUTIONARY MODEL
SPIRAL MODEL

In the project, Waterfall model is followed.

WATERFALL MODEL

WATERFALL MODEL:
This model contains 6 phases:

1. Feasibility study:
The feasibility study activity involves the analysis of the
problem and collection of the relevant information relating to the
product. The main aim of the feasibility study is to determine whether it
would be financially and technically feasible to develop the product.

2.Requirement analysis and specification:


The goal of this phase is to understand the exact
requirements of the customer and to document them properly.(SRS)

3.Design:
The goal of this phase is to transform the requirement
specification into a structure that is suitable for implementation in some
programming language.

4.Implementation and unit testing:


During this phase the design is
implemented. Initially small modules are tested in isolation from rest of
the software product.

5.Integration and system testing:


In this all the modules are integrated and
then tested altogether.

6.Operation and maintenance:


Release of software inaugurates the operation
and life cycle phase of the operation. The phases always occur in this
order and do not overlap.
1. Introduction

Unicrypto is a Decentralized Client Side Bitcoin


wallet service:
Decentralized applications (dApps) are applications
that run on a P2P network of computers rather than
a single computer. dApps, have existed since the
advent of P2P networks. They are a type of
software program designed to exist on the Internet
in a way that is not controlled by any single entity.
 Decentralized applications don’t necessarily
need to run on top of a blockchain
network. BitTorrent, Popcorn Time,
BitMessage, Tor, are all traditional dApps
that run on a P2P network, but not on a
Blockchain (which is a specific kind of P2P
network).
 As opposed to simple smart contracts, in
the classic sense of Bitcoin, that sends
money from A to B, dApps have an
unlimited number of participants on all
sides of the market.
 HTML – Hypertext Markup Language is to create static websites.

 J2EE – Java 2 Enterprise Edition is a programming platform and it is the part


of the java
Platform for developing and running distributed java applications.

 WAS – Web sphere application server community edition is an application


server that Runs and supports the J2EE and web service applications.

 DB2 – Database 2 is the database management system that provides a


flexible and efficient database platform to erect strong on demand business
applications.

 XML - Extensive Markup Language used for data transfer and XML is stored
naturally in DB2

1.5 References
 IEEE SRS Format
 Project Specification Requirement

1.6 The technologies used to develop this site are:-

FRONTEND:- (LANGUAGES)

J2EE:- Java 2 Enterprise Edition is a programming platform— part of


the Java Platform for developing and running distributed multitier
architecture Java applications, based largely on modular software
components running on an application server.

Javascript : JavaScript (JS) is a lightweight interpreted or just-in-time


compiled programming language with first-class functions. While it is most well-
known as the scripting language for Web pages, many non-browser
environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat.

HTTP:- Hypertext Transfer Protocol is a transaction or oriented


client/server protocol between web browser & a Web Server.

APACHE TOMCAT:- Web-server for running j2ee applications over


network.

HTML:- HTML ,stands for Hyper Text Markup Language, is a markup


Language for web pages. It provides a means to create structured documents
Including headings, pictures, objects, lists, links, and other items and can be
used to create interactive pages. It can include or can load scripts in languages
Such as JAVA SCRIPT which affects the behavior of HTML processors like
Web Browsers

BACKEND:- (DATABASE)
SQL SERVER 2008: - SQL SERVER 2019 is used as a database.
SQL SERVER 2019 is a user friendly user database with no
special skills required to learn it. Database and tables in SQL are portable.
Users can create tables, queries, forms and reports, and connect them together with
macros. Queries can be viewed graphically or edited as SQL statements.

2. OVERALL DESCRIPTION
2.1 Product Perspective
2.2 Software Interface
Client on Internet
Web Browser, Operating System (any)

Client on Intranet
Web Browser, Operating System (any)

Web Server
WASCE, Operating System (any)

Data Base Server


DB2, Operating System (any)

Development End
RAD (J2EE, Java, Java Bean, Servlets, HTML, XML, AJAX), DB2, OS (Windows),
Web Sphere (Web Server)

2.3 Hardware Interface


Minimum Requirements:

1.CLIENT SIDE
 Chrome / Edge / mozilla

2. SERVER SIDE
 DB2 9

Constraints
 GUI is only in English.
 Login and password is used for the identification of users.
 Only registered candidates will be authorized to use the services.

2.4 USE CASE MODEL DIAGRAM


2.5 ECDSA Cryptography
2.6 ACTIVITY DIAGRAM

2.7.1 LOGIN PAGE


2.9 ENTITY-RELATIONSHIP DIAGRAM

2.10 Assumptions and Dependencies -

 The end user should have a basic knowledge of English and


computer usage.
 The end user should be able to upload or scan various
documents.

3. SPECIFIC REQUIREMENTS-

3.1 USE CASE REPORTS-

END USER

 Sign up
In order to access Bitcoin Wallet and other features end
users must signup by filling the sign up form.

 Sign in
After getting the username and password, end users can log on to
their account and can access the website.

 Wallet
End user can generate their Bitcoin Wallet.

 Recovering Wallet
End user can also recover their BITCOIN private key using
Passphrase in Brain wallet of Unicrypto.

 Maintains system server


client maintains the Distributed system server which controls the
client computers.

 Maintains database
Admin maintains the entire database and he/she is the only
authorized person to add/remove/edit candidate records.

..……………………………………………………………………………………………………………………………………