Tải bản đầy đủ (.doc) (14 trang)

Project 2 Quarter 4 Quick Search

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (206.67 KB, 14 trang )

PROJECT
REPORT
Project 2: Quick Search
Group Members:
1. Huỳnh Thuỷ Ngân (S103006100002)
2. Nguyễn Chí Nhân (S093006100153)
Batch Code: B110002
Centre: NIIT
Quick Search NIIT Cần Thơ
Project title
Batch Code : B110002
Start Date : 2/3/2011 End Date: 15/02/2011
Name of the Coordinator : Mr. Phạm Tiến Phúc
Names of Developers : Group 1 – B110002
Date of Submission: 16/02/2011
Page 2 of 14
Quick Search NIIT Cần Thơ
Page 3 of 14
Quick Search NIIT Cần Thơ
CERTIFICATE
Đây là tài liệu về báo cáo mang tên Quick Search được hoàn thành
bởi nhóm 1 tại trung tâm NIIT Cần Thơ.
Ng ười hướng dẫn : Mr. Phạm Tiến Phúc
Page 4 of 14
Quick Search NIIT Cần Thơ
ACKNOWLEDGEMENT
Chúng tôi nhận được sự hỗ trợ và góp ý từ thầy Phạm Tiến Phúc và
những giảng viên khác trong trung tâm NIIT, xin chân thành cảm ơn mọi
người đã giúp đỡ chúng tôi hoàn thành bài báo cáo này.
Page 5 of 14
Quick Search NIIT Cần Thơ


REQUIREMENTS ANALYSIS
RedSky Inc là một tổ chức sản xuất và cung cấp sản phẩm cho
một số thành phố trên thế giới. RedSky sản xuất tổng cộng năm sản
phẩm, đều có một mã số sản phẩm khác nhau.
Các bộ phận bán hàng của RedSky te duy trì dữ liệu bán hàng cho
sản phẩm ách vào một tập tin văn bản riêng biệt. mỗi bản ghi trong mỗi
tập tin chứa hai lĩnh vực, thành phố và con số bán hàng. Các bản ghi
trong các tập tin văn bản chưa sắp xếp theo thứ tự cụ thể. Để tìm kiếm
một hồ sơ trong các tập tin, các tập tin cần phải được đọc liên tục.Số
lượng các bản ghi trong mỗi tập tin là rất cao. Kết quả là, các nhân viên
phòng kinh doanh lãng phí rất nhiều thời gian trong tìm kiếm cho doanh
số thông tin bán hàng. Để giải quyết vấn đề, chúng tôi đã phát triển một
tiện ích gọi là QuickSearch.
Page 6 of 14
Quick Search NIIT Cần Thơ
PHÂN TÍCH HỆ THỐNG
Hệ thống được xây dựng dựa trên các nguyên tắc của cây tìm kiếm nhị
phân. Mỗi một đối tượng gồm có 2 dữ liệu là ID của thành phố và doanh
số. Nhưng theo yêu cầu của hệ thống ta sẽ cho thêm một dữ liệu nữa là
index của nó. Từ đây có thể thấy mỗi node gồm có 5 dữ liệu: ID của
thành phố, doanh số, index, con trái nhất, con phải nhất. Ta có các chức
năng được sử dụng trên cây như:
Tìm kiếm (Searching)
Việc tìm một khóa trên BST được thực hiện nhờ đệ quy. Chúng ta bắt
đầu từ gốc. Nếu khóa cần tìm bằng khóa của gốc thì khóa đó trên cây,
nếu khóa cần tìm nhỏ hơn khoa ở gốc, ta phải tìm nó trên cây con trái,
nếu khóa cần tìm lớn hơn khóa ở gốc, ta phải tìm nó trên cây con phải.
Nếu cây con (trái hoặc phải) là rỗng thì khóa cần tìm không có trên cây.
public void find(int ele, ref Node parent, ref Node currentNode)
{

currentNode = root;
parent = null;
while ((currentNode != null) && (currentNode.citY_id != ele))
{
parent = currentNode;
if (ele < currentNode.citY_id)
{
currentNode = currentNode.lchild;
}
else
currentNode = currentNode.rchild;
}
}
Chèn (Insertion)
Phép chèn bắt đầu giống như phép tìm kiếm; Nếu khóa của gốc khác
khóa cần chèn ta tìm nó trong cây con trái hoặc phải. Nếu cây con trái
hoặc phải tương ứng là rỗng (không tìm thấy) thì thêm một nút và gán
cho nút ấy khóa cần chèn.
Page 7 of 14
Quick Search NIIT Cần Thơ
public void insert(int c, int s, int i)
{
Node temp, parent = null, currentNode = null;
find(c, ref parent, ref currentNode);
if (currentNode != null)
{
Console.WriteLine("Duplicate");
return;
}
else

{
temp = new Node(c, s, i, null, null);
if (parent == null)
root = temp;
else
{
if (c < parent.citY_id)
parent.lchild = temp;
else
parent.rchild = temp;
}
}
}
SỐ CHỨC NĂNG
Page 8 of 14
Quick Search NIIT Cần Thơ
Số chức năng: 3
Tên chức năng:
1. Create Index
2. Insert Record
3. Load file to search
Page 9 of 14
Quick Search NIIT Cần Thơ
Create Index
Khi chọn chức năng Create Index, cửa sổ tạo chỉ mục sẽ hiện ra:
Chọn trong những item trong list rồi bấm Create, hệ thống sẽ tạo index
cho sản phẩm đó. File lưu ID cửa hàng và doanh số bán được mở ra
đọc. Mỗi cửa hàng sẽ được xem như là một node trong cây nhị phân.
private void bttCreateIndex_Click(object sender, EventArgs e)
{

BSTree br = new BSTree();
string str;
int pos;
int count = 0;
FileStream fs = new
FileStream(lstTypeProduce.SelectedItem.ToString()+".txt", FileMode.Open,
FileAccess.Read);
StreamReader sr = new StreamReader(fs);
FileStream fsi = new
FileStream(lstTypeProduce.SelectedItem.ToString() + "_index.txt",
FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fsi);
while ((str = sr.ReadLine()) != null)
{
count++;
pos = str.IndexOf(",");
int city_id = Convert.ToInt32(str.Substring(0, pos));
br.insert(city_id, 0, count);
}
br.inorder(br.root, sw);
}
Page 10 of 14
Quick Search NIIT Cần Thơ
INSERT RECORD
Chọn loại sản phẩm sau đó điền ID thành phố và doanh số bán được rồi
bấm Insert hệ thống sẽ gọi đến công việc chèn một record vào hệ thống.
private void bttAcceptInsert_Click(object sender, EventArgs e)
{

FileStream fs = new

FileStream(lstTypeProduce.SelectedItem.ToString()+".txt", FileMode.Append,
FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(txtIDCity.Text + "," + txtSaleFigure.Text +
",");
sw.Flush();
sw.Close();
fs.Close();

txtIDCity.Text = null;
txtSaleFigure.Text = null;
}
Page 11 of 14
Quick Search NIIT Cần Thơ
SEARCH RECORD
Chức năng search được phát triển dựa trên cây tìm kiếm nhị phân.
private void bttSearch_Click(object sender, EventArgs e)
{
BSTree br = new BSTree();
FileStream fs = new
FileStream(lstTypeProduce.SelectedItem.ToString()+".txt", FileMode.Open,
FileAccess.Read);
StreamReader sr = new StreamReader(fs);
string str;
int subStr;
int pos;
int count = 0;
int i = 0;
int[] arr = new int[2];
while ((str = sr.ReadLine()) != null)

{
count++;
while (true)
{
pos = str.IndexOf(",");
if (pos == -1)
break;
subStr = Convert.ToInt32(str.Substring(0, pos));
arr[i] = subStr;
i++;
str = str.Substring(pos + 1);
}
br.insert(arr[0], arr[1], count);
pos = 0;
i = 0;
}
int idCity = Convert.ToInt32(txtIDCity.Text);
br.search(br.root, idCity);}
Page 12 of 14
Quick Search NIIT Cần Thơ
Page 13 of 14
CONFIGURATION

Hardware : P IV – 3.0 GHz 865/915 Chipset 800 MHz FSB
512 MB RAM (2* 256MB)
80 GB 7200 PRM Hard Drive
CD ROM Drive
10/100 NIC
Optical Wheel Mouse
Keyboard

17” Color Monitor
Operating system : Windows XP with SP 2
Software : .Net Framework 2.0
Quick Search NIIT Cần Thơ
NHẬN XÉT CỦA GIẢNG VIÊN




































Page 14 of 14

×