4.2.1 Giao diện FORM ĐĂNG NHẬP.
4.2.2 Giao diện FORM MENU CHÍNH.
4.2.3 Giao diện FORM QUẢN LÝ THÔNG TIN ĐIỆN THOẠI
4.2.4 Giao diện FORM QUẢN LÝ THÔNG TIN KHÁCH HÀNG:
4.2.5 Giao diện FORM THÔNG TIN NHÀ CUNG CẤP
4.2.6 Giao diện FORM QUẢN LÝ THÔNG TIN NHÂN VIÊN
4.2.7 Giao diện FORM NHẬP HÀNG
4.2.8 Giao diện FORM ĐẶT HÀNG
4.2.9 Giao diện FORM XỬ LÝ ĐƠN ĐẶT HÀNG
4.2.10 Giao diện FORM KHO HÀNG
4.2.11 Giao diện FORM TÌM HÓA ĐƠN NHẬP HÀNG
4.2.12 Giao diện FORM TÌM KIẾM HÓA ĐƠN XUẤT HÀNG
4.2.13 Giao diện FORM TÌM KIẾM THÔNG TIN NHÀ CUNG CẤP
4.2.14 Giao diện FORM TÌM KIẾM THÔNG TIN KHÁCH HÀNG
4.2.15 Giao diện FORM BÁO CÁO NHẬP HÀNG
4.2.16 Giao diện FORM BÁO CÁO XUẤT HÀNG
Chương 5
GIỚI THIỆU NGÔN NGỮ 5.1. Sơ lược về ngôn ngữ C#
5.1.1 Khái niệm về C#
C# là gì? Tên gọi chính xác của ngôn ngữ này là C Sharp. C# được xây dựng và kiến trúc bởi Anders Hejlsberg, người đã viết nên trình biên dịch Pascal và có nhiều đóng góp cho Delphi cũng như Java. Chính vì vậy dù mang họ nhà C nhưng C# là một ngôn ngữ hướng đối tượng hiện đại và dễ học, chịu ảnh hưởng và học hỏi nhiều tính ưu việt từ Java, C++ và các ngôn ngữ khác.
C# là một trong rất nhiều ngôn ngữ lập trình được hỗ trợ bởi .NET Framework (như C++, Java, VB…). Có thể hiểu đơn giản đây là một trung tâm biên dịch trong đó tất cả các ngôn ngữ được hỗ trợ bởi .NET Framework sẽ được chuyển đổi ra MSIL (một dạng mã trung gian) rồi từ đấy mới được biên dịch tức thời (Just in time Compiler – JIT Compiler) thành các file thực thi như exe. Một thành tố quan trong nữa trong kiến trúc .NET Framework chính là CLR (.NET Common Language Runtime), khối chức năng cung cấp tất cả các dịch vụ mà chương trình cần giao tiếp với phần cứng, với hệ điều hành.
5.1.2 Các tính năng hỗ trợ cửa C#
C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (commponent oriented). Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có từ khóa dành cho việc khai báo lớp, phương thức, thuộc tính mới. C# hỗ trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình. Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với những tập tin cài đặt như C++. Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu trực tiếp trong tập tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML.
C# hỗ trợ khái niệm giao diện, interfaces (tương tự như Java). Một lớp có thể kế thừa duy nhất một lớp cha nhưng có thể cài đặt nhiều giao diện.
C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị giới hạn. Cấu trúc không thể thừa kế lớp hay được thừa kế nhưng có thể cài đặt giao diện.
C# cung cấp những đặc trưng lập trình hướng thành phần như proprety, sự kiện và dẫn hướng khai báo (gọi là attribute). Lập trình hướng component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata). Siêu dữ liệu mô tả các lớp bao gồm các phương thức và các thuộc tính, các thông tin bảo mật…
Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là các thư viện liên kết tự động (DLL) hay tập tin thực thi (EXE). Trong .NET một assembly là một đơn vị của việc tái sử dụng, xác định phiên bản, bảo mật và phân phối. CLR cung cấp một số các lớp để thao tác với assembly.
Không những thế C# còn cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã đó được xem như không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động. Các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng.
5.1.3 Ưu điểm của C#
• C# là ngôn ngữ đơn giản: C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn
• C# là ngôn ngữ hiện đại
• C# là ngôn ngữ hướng đối tượng: Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả những đặc tính trên.
• C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo:Với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác.
• C# là ngôn ngữ ít từ khóa: C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn. Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào.
• C# sẽ là một ngôn ngữ phổ biến.
5.2. Sơ lược về SQL SERVER 2005
5.2.1 Giới thiệu về SQL Server 2005.
SQL Server 2005 là hệ cơ sở dữ liệu đầy tâm huyết của Microsoft. Nó không đơn thuần là bản nâng cấp của SQL Server 2000, mà sau hơn 2 năm phát triển dự án. Microsoft đã cho ra đời một sản phẩm khác và tốt hơn nhiều so với SQL Server 2000.
SQL Server 3005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user.
Các phiên bản của SQL Server 2005:
Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database. Hỗ trợ không giới hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa mà hệ điều hành hỗ trợ) và các hệ thống 64bit.
Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4CPU. Ngoài ra phiên bản này cũng không được trang bị một số tính năng cao cấp khác.
Workgroup: Tương tự như bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAM.
Express: Bản miễn phí hỗ trợ tối đa 1CPU, 1GB RAM và kích thước Database giới hạn trong 4GB.
5.2.2 Các tính năng hỗ trợ của SQL Server 2005
a, Các tính năng cơ bản.
Những cải tiến trong việc phân tích cơ sở dữ liệu: SQL Server 2005 giới thiệu rất nhiều phương pháp cải tiến và các tính năng mới. Những cải tiến và tính năng mới bao gồm kết hợp với Microsoft.NET Framework, XML mới công nghệ, cải tiến Transact-SQL, loại dữ liệu mới, và các cải tiến cho các quy mô và tính khả dụng của các cơ sở dữ liệu quan hệ.
Công cụ quản lý: SQL Server 2005 giới thiệu một bộ công cụ quản lý và quản lý các API để tại ra môi trường dễ sử dụng và hỗ trợ cho các hoạt động của quy mô lớn để triển khai SQL Server.
Dịch vụ chuyển đổi dữ liệu(DTS): DTS cho SQL Server 2005 giới thiệu một thiết kế gần như hoàn toàn mới, cung cấp việc khai thác và chuyển đổi.
Giao diện truy cập dữ liệu: Cải tiến cho ADO.NET đã được thực hiện.
b, Các tính năng nâng cao.
Dịch vụ thông báo: Dịch vụ thông báo của SQL Server là một nền tảng giúp tập trung phát triển các ứng dụng thông báo và triển khai các ứng dụng trên một quy mô lớn. Dịch vụ thông báo cho phép các doanh nghiệp xây dựng các ứng dụng phong phú và cung cấp các thông báo kịp thời.
Cải tiến của Database Engine: Mở rộng quy mô, độ tin cậy, tính khả dụng, các dữ liệu chương trình.
Cơ chế xử lý cơ sở dữ liệu của SQL Server 2005 được bổ xung tính năng mới cũng như nâng cao những khả năng về lập trình như bổ xung kiểu dữ liệu mới, kiểu dữ liệu XML và các kiểu khác.
5.2.3 Ưu điểm của SQL Server 2005
Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.
Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.
Điều khiển truy cập: SQL có thể dược sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.
Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tình hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java… song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.
Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java… SQL là ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cần cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thưc hiện các yêu cầu như thế nào. Chính vì vậy SQL là ngôn ngữ dễ tiếp cận và sử dụng.
Chương 6
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1. Các vấn đề đã thực hiện được.
Sau một thời gian thực hiện đề tài, hệ thống mà em xây dựng được có thể đáp ứng các vấn đề mà đề tài đặt ra :
- Hỗ trợ việc nhập và lưu trữ thông tin về danh sách điện thoại, thông tin nhân viên, thông tin nhà cung cấp cũng như thông tin các hóa đơn hàng đặt một cách dễ dàng, tiện lợi khi truy xuất.
- Cung cấp các chức năng tìm kiếm giúp người quản lý và nhân viên cửa hàng theo dõi và tìm kiếm các thông tin một cách dễ dàng.
- Có các biểu mẫu thống kê báo cáo với nhiều tiêu chí
- Chương trình có giao diện thân thiện, dễ sử dụng và thao tác.
6.2. Hướng phát triển của đồ án.
Trên cơ sở các vấn đề đã được triển khai trong đồ án này, hệ thống có hướng phát triển như sau :
- Xây dựng một hệ thống quản lý bán hàng áp dụng được với nhiều cửa hàng.
- Xây dựng thêm các chức năng liên quan đến một hệ thống quản lý bán hàng chuyên nghiệp.
- Đưa chương trình áp dụng lên website.
TÀI LIỆU THAM KHẢO
Trong quá trình phân tích và thiết kế hệ thống em có tham khảo các nguồn tài liệu sau đây:
[1] Nguyễn Kim Anh. Nguyên lý các hệ cơ sở dữ liệu. Nhà xuất bản Đại học quốc gia Hà Nội
[2] Nguyễn Văn Ba.Phân tích và thiết kế hệ thống thông tin. Nhà xuất bản Đại học quốc gia Hà Nội, 2006.
[3] Thạc Bình Cường. Phân tích và thiết kế hệ thống thông tin. Nhà xuất bản khoa học và kỹ thuật Hà Nội
[4] TS.Lê Văn Phùng. Giáo trình Phân tích thiết kế hệ thống, Nhà xuất bản thông tin và truyền thông, 2000.
[5] Tham khảo thêm tại các website: http://vi.wikipedia.org/ http://kythuatvien.com/ http://www.csharpvn.com/ http://www.congdongcviet.com/ http://www.sinhvienit.net/ http://www.diendankienthuc.net/
PHỤ LỤC
• Code FROM ĐĂNG NHẬP
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace QuanLyCuaHangBanDienThoai {
public partial class DangNhap : Form {
public DangNhap() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|
DataDirectory|\\QuanLyCuaHangBanDienThoai.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"); SqlDataAdapter ad = new SqlDataAdapter("select
username,password from login where username = '" + username.Text + "'", con);
DataTable dt = new DataTable(); ad.Fill(dt);
if ((username.Text == "") && (password.Text == "")) MessageBox.Show("Bạn chưa nhập tài khoản ", "Thông báo", MessageBoxButtons.OK);
else
{
int r = dt.Rows.Count; if (r == 0)
MessageBox.Show("Tên đăng nhập không tồn tại!", "Thông báo", MessageBoxButtons.OK);
else { DataRow dr = dt.Rows[0]; if (password.Text == dr[1].ToString()) { MessageBox.Show("Đăng nhập thành công!", "Thông báo", MessageBoxButtons.OK);
ThemSuaXoaTaiKhoan.usernamee = this.username.Text;
Main main = new Main(); main.Show();
this.Hide(); }
else
MessageBox.Show("Mật khẩu không tồn tại!", "Thông báo", MessageBoxButtons.OK);
} } }
private void button2_Click(object sender, EventArgs e) {
this.Close(); }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
LayLaiPass llp = new LayLaiPass(); llp.Show();
this.Hide(); }
}
}
• Code FROM MAIN
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace QuanLyCuaHangBanDienThoai {
public partial class Main : Form {
public Main() {
InitializeComponent(); }
private void quảnLýKháchHàngToolStripMenuItem_Click(object sender, EventArgs e)
{
QuanLyKhachHang qlkh = new QuanLyKhachHang(); qlkh.TopLevel = false; qlkh.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; qlkh.Show(); panel1.Controls.Clear(); panel1.Controls.Add(qlkh); }
private void thoátToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit(); }
private void quảnLýNhânViênToolStripMenuItem_Click(object sender, EventArgs e)
{
QuanLyNhanVien qlnv = new QuanLyNhanVien(); qlnv.TopLevel = false; qlnv.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; qlnv.Show(); panel1.Controls.Clear(); panel1.Controls.Add(qlnv); } private void quảnLýThôngTinHàngHóaToolStripMenuItem_Click(object sender, EventArgs e) {
QuanLyTTHangHoa qlhh = new QuanLyTTHangHoa(); qlhh.TopLevel = false; qlhh.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; qlhh.Show(); panel1.Controls.Clear(); panel1.Controls.Add(qlhh); } private void quảnLýThôngTinNhàCungCấpToolStripMenuItem_Click(object sender, EventArgs e) {
QuanLyTTNhaCungCap qlncc = new QuanLyTTNhaCungCap(); qlncc.TopLevel = false; qlncc.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; qlncc.Show(); panel1.Controls.Clear(); panel1.Controls.Add(qlncc); }
private void nhậpKhoToolStripMenuItem_Click(object sender, EventArgs e)
{
NhapKho nhapkho = new NhapKho();
nhapkho.TopLevel = false; nhapkho.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; nhapkho.Show(); panel1.Controls.Clear(); panel1.Controls.Add(nhapkho); }
private void xuấtKhoToolStripMenuItem_Click(object sender, EventArgs e)
{
XuatKho xuatkho = new XuatKho(); xuatkho.Show();
this.Hide(); }
private void kiểmKêToolStripMenuItem_Click(object sender, EventArgs e)
{
KiemKe kiemke = new KiemKe(); kiemke.TopLevel = false; kiemke.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; kiemke.Show(); panel1.Controls.Clear(); panel1.Controls.Add(kiemke); }
private void tìmKiếmHóaĐơnNhậpToolStripMenuItem_Click(object sender, EventArgs e)
{
TKHoaDonNhap tk = new TKHoaDonNhap(); tk.TopLevel = false; tk.FormBorderStyle =