Академический Документы
Профессиональный Документы
Культура Документы
OOAD PROJECT ON
Contents
A. System Documentation ............................................................................................................................................ 4
1. Acknowledgement ................................................................................................................................................ 5
A. System Documentation
1. Acknowledgement
The satisfaction that accompanies the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it
possible ,whose constant guidance and encouragement crown all efforts with
success.
We are grateful to our project Mrs. Sanjana Advani for guidance inspiration and
constructive suggestion that helped us in the preparation of this project.
We also thank our college and our Head Of Department Mrs. Ritika Sachdev who
has helped in successful completion of the project.
PRATHMESH SATOTE
TYCS
2. Gantt Chart
Actual
Sr Phase Duration Start Finish Finish Signature
No. Date Date Date
1 Planning Phase 10 18-Jan-19 27-Jan-19
1.1 Defining Problem 2 18-Jan-19 19-Jan-19
1.2 Confirm Project 2 20-Jan-19 21-Jan-19
Feasibility
1.3 Project Schedule 2 22-Jan-19 23-Jan-19
1.4 Staffing Project 2 24-Jan-19 25-Jan-19
1.5 Launching project 2 26-Jan-19 27-Jan-19
3. Title
This Gaming Accessories Website allows users to check and purchase various Gaming
Product like Games, playstations, Gaming Accessories etc.
Through this website people can easily order the Gaming Accessories.
In this website we provide list of different categories from which user can easily View and
buy products.
4. Project Overview
Gaming Accessories website, It is a Website through people can easily order the Gaming
Accessories.This website allows users to view and purchase various Gaming products
which are available online.In this website we provide list of various categories.
The project is totally built at administrative end and thus only the administrator is
guaranteed the access of the database of the Gaming store.
The purpose of the project is to built the website to reduce the manual work. Website
provides fast services to our users.
Gaming Accessories Website is a local website .The Website is engaged in providing different
types of Gaming Products displayed in various categories.
1).The Administrator.
2).The User.
In this website we provide the search box for searching location from that search box we inform to
our users i.e We are available at your location or not.
In Administrator section admin can add , update ,Delete Product and also View Customers And
Delete Customers etc.The Gaming Accessories Website Provides All Gaming Product in this
website, we arrange the product in Categories so according to customers needs .
The aim of the website is to provide complete information of the product and to provide products in
budget. This Website can easily accessible to the Customers and Saves their Time. Customer gets the
confirmation mail after placing order Via Email and after successful order completion website
generates bill with all information of product and customer can download the Bill in PDF format.
6. Existing System
Existing sites like Gaming Accessories website does not verify authenticity of the Service provider
7. Proposed System
1. In this website we provide the search box for searching location from that search box we
inform to our users. i.e we are available at your location or not .
2. Website includes All details of product properly, It Maintain Customer details,Admin can
Update Add and also Manage Products.
3. In this Project We Arrange Product in different categories so it can be easy to customers to
search for Product.
4. It prevents an unauthorized access to the system
5. The website or the admin does not contact the user once after the user had visited the
website.
8. Event List
• An occurrence at specific time of place that can be described and is worth remembering is
known as event.
a. Types Of Event
There are three types of events to consider when using decomposition technique to identify some
event.
• External:
Outside the system.
Initiated by external agent or Actor
.
• Temporal:
Occurs as a result of reaching point in name.
Based on system deadlines
.
• State:
Something inside the system triggers the processing end.
b. Event List
• Admin login
• Admin view Customer details
• Add Products
• Update product
• Delete product Manage Customer User registration.
• User login
• Product Categories.
• Add to cart.
• Online Payment .
• Confirmation of ordering by E- Mail Download Bill.
9. Event Table
A table that lists events in tabular format that is in rows and key pieces of information about each
event in columns.
Relationship provide the structure needed to draw information from multiple entities.
Entity: It represents a collection of objects to things in real world whose individual members or
instances have the following characteristics :
Attributes : They express the properties of entities.Attribute having unique values are called
candidate keys.
Relationships: They describe the association between entities.They are characterised by cardinality
as follows :
One-To-One relationship means an instance of the first entity is associated with only one instance
of second entity.
One-To-Many relationship means that are instance of the first entity is related to many instance of
second entity, while an instance of second entity is associated with only instance of the first entity.
Many-To-Many relationship means that an instance of the first entity is related to many instances
of second entity and same is true in reverse direction also.
User:
Login
Registration
Add to Cart
Confirm Password
Change Password
Search For
Location
Admin:
Login
LogOut
Generate Bills
Admin
Manages Customer
Add Product
Actor:-
An actor represents a user or another system will interact with the system that you are modeling.
Use Case:-
A use case is an external view of the system that represents some action that might perform in order
to complete a task. System Boundary:-
A System boundary defines a scope of what system will be. A system cannot have infinite
functionality a system boundary defines the limitation of system.
Admin LOGIN
Add Product
Update /Delete
ADMIN Product
View customer
Details
Admin Logout
Registration
Login
Views Product
USER
Add to cart
Online Payment
Logout
Admin/user
Login
Add to cart
Add/update
User Admin
Product
View Customer
Order
confirmation
Generated BIll
Logout
Sr Activity Entities
No
1 2 3 4
1. Registration C C
2. Login C C
3. Details of Customer C CU C
4. Receive Customer R C
Order
5. Process Customer RU U R
Order
6. Maintain Customer RU
Record
7. Terminate customer UD
record
8. Invoice customer RU
9. Maintain Invoice RU
Entities:
1) Admin
2) User
3) Product
4) Order
E. Activity diagram should be used in conjunction with other modeling techniques such as
interaction diagram & state diagram.
F. Main reason to use the activity diagram is to model workflow behind the system being
designed.
Merge
2
Customer
Admin
User
User
Add to cart
Admin Login
+ Id: Int
1…* 1
+first Name: + Contact No : int
varchar(50) -Password : varchar(10)
+last Name:varcahr(50) + confirm Password: varchar(10)
+ Contact_No:Int 1 +Email-id:varcahr(50)
+ Email-Id: varchar(50)
+Address:varchar(50)
1….* + Forget Password ()
+ Add ()
+ Update ()
+ Delete ()
Customer
+ Id: Int 1…*
+ first Name: varchar(50)
+ last Name:varcahr(50)
+ Contact_No:Int
+ Email-Id: varchar(50)
+ Address:varchar(50)
+ Add ()
+ Update ()
+ Delete ()
Object Diagram
Customer
Admin
+ Id: 1 + Id: 101
+ Name: +Name: ABC
+ Contact_No
PRATHMESH: 8375545805 + Email: ABC@gmail.com
+ Contact-No: 1245726589
+ Email-Id: + Password: ng124
pratif@gmail.com
Sequence diagram demonstrates the behavior of the objects in a use- case by describing the
objects and the messages they pass. The diagrams are read left to right & descending.
Login Admin
Customer
View
Product
b) State diagram describe all of the possible state of an object as an event occurs.
c) Each diagram usually represents objects of single class and track the different state of
its object through the system.
d) We use the state diagram to demonstrate the behavior of an object through many use
cases of the system.
e) We use the state diagram for classes where it is necessary to understand the behavior
of the object through the entire system.
Diagram:-
State Diagram
Activity
Transitions
1. admin
Log in
Add Product
Update Product
Delete Product
Log Out
1. User
Log in
Search Location
View Product
Add to cart
Payment
Logout
c) The dependencies between the components show how changes made to one component may
affect each other components in the system.
e) Component diagram can also show the interface used by the component to communicate with
each other.
Diagram:-
ADMIN
Login()
Add Product()
Update Product()
Logout()
Login()
Add Product()
Updates product()
User
Search()
View()
Add()
Update()
Diagram:-
Deployment Diagram
Admin login
customer
Printer
A package merge is a directed relationship between two packages that indicates that the
contents of two packages that are to be combined. It is very similar to generalization.
2) Class: It is representation of objects that reflects their structure and behavior of system.
4) Object: It is instance of class. It often used in analysis to represent numerous artifacts and
item that exist.
Admin
customer Database
• Activities:
Add Product
• customer
Sign up
Search Location
Change Password
View Product
Add to cart
Menu Tree
Delete
Add
Control
Lable
TextBox
Form
Button
Drop Down List
Fileupload
ImageButton
Image
Hyperlink
Compare validator
RegularExpressionValidator
RequiredFieldValidator
RangeValidator
Form Description:
1. login
Fields Varchar(Datatypes Description
E-mail Varchar(20) E-mail
Password Varchar(20) Password
2. registraion
Fields Datatypes Description
Name Varchar(50) First name of user
Email Varchar(50) Email id of user
Address Varchar(20) Address of user
Contact no BigInt Phone number of user
City Varchar(50) City of user
Password Varchar(20) Password
confirm Password Varchar(20) confirm Password
3. Product
Fields Datatypes Description
Product id Int Product id
Product Type Varchar(50) Product Type
Product Name Varchar(50) Product Name
Product Description Varchar(200) Description of product
Price int Price
Image Varchar(500) Image of Product
B. Project Documentation
Login Screen:
Default.aspx.cs
using System; using
System.Collections; using
System.Collections.Generic;
using System.Linq; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
Label2.Font.Size = FontUnit.Large;
if (Session["user"] != null)
{
Response.Redirect("Home.aspx");
}
else
{
con.ConnectionString = "Data Source=admin-PC\\SQLEXPRESS;Initial
Catalog=test;Integrated Security=True";
con.Open(); ;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text=="" || TextBox2.Text== "")
{
Label3.Text = "Enter the credentials";
}
else if (TextBox1.Text == "harikadam101@gmail.com" && TextBox2.Text == "admin")
{
//string user = TextBox1.Text.Trim();
Response.Redirect("adminpage.aspx");
}
else
{
string
user =
TextBox1.Tex
t.Trim();
SqlCommand cmd = new SqlCommand("select email,password from reg where
email=@email and password=@password", con);
cmd.Parameters.AddWithValue("email", TextBox1.Text);
cmd.Parameters.AddWithValue("password", TextBox2.Text);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
cmd.Connection = con; sda.SelectCommand
= cmd;
sda.Fill(ds, "reg");
if (ds.Tables[0].Rows.Count > 0)
{
Session["user"] = user;
Response.Redirect("Home.aspx");
Session.RemoveAll();
}
else
{
Label3.Text = "You Should Register First";
}
}
}
// {
// Label4.Text = "We are available at your location: " +
TextBox3.Text;
// Label4.Font.Size = FontUnit.XLarge;
// }
// else
// {
// Label4.Text = "We are not available at your location: " +
TextBox3.Text;
// Label4.Font.Size = FontUnit.XLarge;
// }
// }
//}
protected void TextBox3_TextChanged2(object sender, EventArgs e) {
}
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
{
Label4.Text = "We are available at your location: " +
TextBox3.Text;
Label4.Font.Size = FontUnit.XLarge;
else
{
Label4.Text = "We are not available at your location: " +
TextBox3.Text;
Label4.Font.Size = FontUnit.XLarge;
}
}
}
}
Home Screen:
Home.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
}
protected void Timer1_Tick(object sender, EventArgs e)
{
SetImageUrl();
}
private void SetImageUrl()
{
// Create an instance of Random class
Random _rand = new Random();
// Generate a random number between 1 and 8
int i = _rand.Next(1, 8);
// Set ImageUrl using the generated random number
ImageButton1.ImageUrl = "~/images/" + i.ToString() + ".jpg";
}
Register.aspx.cs:
using
System;
using System.Collections.Generic;
using System.Linq; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data; using
System.Data.SqlClient; using
System.Net.Mail; using
System.Net;
public partial class register :
System.Web.UI.Page {
SqlCommand cmd = new SqlCommand();
protected void Page_Load(object sender, EventArgs e)
{
}
public string GeneratePassword()
{
char[] sep = {
','
};
string[] arr = allowedChars.Split(sep);
}
return NewPassword;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Session["name"] = TextBox1.Text;
Session["email"] = TextBox2.Text;
Session["password"] = TextBox3.Text;
Session["phone"] = TextBox4.Text;
Session["city"] = TextBox5.Text;
getotp();
}
}
signOut.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
Contact.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq; using
System.Net.Mail; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
}
catch (Exception ex)
{
msg = "Error While Sending Mail";
Label4.Visible = true;
Label4.Text = "Error While Sending Mail";
}
return msg;
}
changePassword.aspx.cs:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data; using
System.Data.SqlClient; using
System.Linq; using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
com.Parameters["@email"].Value = txtemail.Text;
com.ExecuteNonQuery();
con.Close();
lbl.Text = "Password changed Successfully";
}
else
{
lbl.Text = "Please enter correct password";
}
}
}
ForgetPassword.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq; using
System.Net; using
System.Net.Mail; using
System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
}
public string GeneratePassword()
{
char[] sep = {
','
};
string[] arr = allowedChars.Split(sep);
}
return NewPassword;
}
Response.Redirect("changepassword.aspx");
}
else
{
Label1.Text = "Invalid OTP";
Label1.ForeColor = System.Drawing.Color.Red;
}
}
PlaceOrder.aspx.cs:
using System;
using System.Collections.Generic; using
System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
if (Request.QueryString["id"] != null)
{
if (Session["Buyitems"] == null)
{
dr = dt.NewRow();
String mycon = "Data Source=admin-PC\\SQLEXPRESS;Initial
Catalog=test;Integrated Security=True";
SqlConnection scon = new SqlConnection(mycon);
String myquery = "select * from gamea1 where productid=" +
Request.QueryString["id"];
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
Session["buyitems"] = dt;
GridView1.FooterRow.Cells[5].Text = "Total Amount";
GridView1.FooterRow.Cells[6].Text = grandtotal().ToString();
Response.Redirect("placeorder.aspx");
}
else
{
dt = (DataTable)Session["buyitems"];
int sr;
sr = dt.Rows.Count;
dr = dt.NewRow();
String mycon = "Data Source=admin-PC\\SQLEXPRESS;Initial
Catalog=test;Integrated Security=True";
SqlConnection scon = new SqlConnection(mycon);
String myquery = "select * from gamea1 where productid=" +
Request.QueryString["id"];
SqlCommand cmd = new SqlCommand();
cmd.CommandText = myquery;
cmd.Connection = scon;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
dr["sno"] = sr + 1;
dr["productid"] =
ds.Tables[0].Rows[0]["productid"].ToString();
dr["productname"] =
ds.Tables[0].Rows[0]["productname"].ToString();
dr["productimage"] =
ds.Tables[0].Rows[0]["productimage"].ToString();
dr["pprice"] = ds.Tables[0].Rows[0]["pprice"].ToString();
dr["description"] =
ds.Tables[0].Rows[0]["description"].ToString(); int
pprice =
Convert.ToInt32(ds.Tables[0].Rows[0]["pprice"].ToString());
int quantity =
Convert.ToInt16(Request.QueryString["quantity"].ToString());
int totalprice = pprice * quantity;
dr["totalprice"] = totalprice;
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
Session["buyitems"] = dt;
GridView1.FooterRow.Cells[5].Text = "Total Amount";
GridView1.FooterRow.Cells[6].Text = grandtotal().ToString();
Response.Redirect("placeorder.aspx");
}
}
else
{
dt = (DataTable)Session["buyitems"];
GridView1.DataSource = dt;
GridView1.DataBind();
if (GridView1.Rows.Count > 0)
{
GridView1.FooterRow.Cells[5].Text = "Total Amount";
GridView1.FooterRow.Cells[6].Text = grandtotal().ToString();
}
Label2.Text = DateTime.Now.ToShortDateString();
findorderid();
}
public int grandtotal()
{
DataTable dt = new DataTable();
dt = (DataTable)Session["buyitems"];
int nrow = dt.Rows.Count; int i =
0; int gtotal = 0;
while (i < nrow)
{
gtotal = gtotal + Convert.ToInt32(dt.Rows[i]["totalprice"].ToString());
i = i + 1;
}
return gtotal;
}
public void findorderid()
{
String pass = "abcdefghijklmnopqrstuvwxyz123456789";
Random r = new Random();
char[] mypass = new char[5];
for (int i = 0; i < 5; i++)
{
mypass[i] = pass[(int)(35 * r.NextDouble())];
}
String orderid;
orderid = "Order" + DateTime.Now.Hour.ToString() +
DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Day.ToString()
+ DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString() + new string(mypass);
Label1.Text = orderid;
DataTable dt;
dt = (DataTable)Session["buyitems"];
}
Response.Redirect("payment.aspx?orderid=" + Label1.Text);
C. Validations
User Registration:
UserLogin:
1. Test
Cases
SearchForLocation:
Registration:
2. Test Result
Homepage:
Gaming store:
AboutUs:
ContactUs:
AddtoCart
PRATHMESH SURESH SATOTE | Roll No: 78 Page 65
Gaming Accessories Website 2018-19
PaymentSystem:
Bill Generated:
D. References
Websites
1. www.w3school.com
2. www.tutorialspoint.com
3. https://stackoverflow.com