Tải bản đầy đủ (.docx) (94 trang)

ĐỒ ÁN KIẾN THỨC NGÀNH ĐỀ TÀI: QUẢN LÝ CỬA HÀNG GIÀY

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 (1.64 MB, 94 trang )

TRƯỜNG ĐẠI HỌC SAO ĐỎ
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO
ĐỒ ÁN KIẾN THỨC NGÀNH
ĐỀ TÀI: QUẢN LÝ CỬA HÀNG GIÀY

Sinh viên thực hiện

:

Lớp
Giảng viên hướng dẫn

: DK9-CNTT
:

HẢI DƯƠNG -NĂM 2021


Báo cáo phân tích thiết kế hướng đối tượng

Ngành :cơng nghệ thông tin

MỤC LUC
MỞ ĐẦU

1


Báo cáo phân tích thiết kế hướng đối tượng


DANH MỤC HÌNH

Ngành :cơng nghệ thơng tin


Báo cáo phân tích thiết kế hướng đối tượng
DANH MỤC BẢNG

Ngành :công nghệ thông tin


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

LỜI NÓI ĐẦU
Xã hội Việt Nam hiện tại đang trên con đường phát triển không ngừng, cùng với sự
phát triển ấy khoa học công nghệ ngày càng được nâng cao áp dụng vào mọi mặt của đời
sống. Với lĩnh vực tin học cũng khơng ngoại lệ, việc tin học hóa cách thức quản lý, giao
dịch, làm việc của con người đã góp phần rất lớn vào cơng cuộc đổi mới và hịa nhập
Quốc Tế.
Để có thể tạo ra một phần mềm tốt, đảm bảo đúng yêu cầu của khách hàng, phục
vụ tốt trong quá trình sử dụng thì việc đầu tiên và quan trọng nhất là giai đoạn phân tích
thiết kế. Một trong những kĩ thuật phân tích thiết kế hệ thống phổ biến hiện nay là phân
tích thiết kế hướng đối tượng với nhiều ưu điểm so với mơ hình phân tích thiết kế hướng
cấu trúc: tính tái sử dụng, tạo ra các phần mềm có tính thích ứng và bền chặt.
Chính vì những lý do đó và với nhu cầu thực tế của các cửa hàng trên khắp cả
nước, cơng tác quản lí hoạt động trên thủ tục giấy tờ đã và đang trở nên lạc hậu, khơng
cịn hiệu quả để thúc đẩy hoạt động phát triển đi lên nữa. Cách đơn giản hóa cơng tác
quản lí ấy, xu hướng tin học hóa hoạt động nghiệp vụ khách sạn là một sự lựa chọn hàng

đầu. Nó rất phù hợp với thời đại, mang đến sự chuyên nghiệp trong phục vụ, quản lí khoa
học, chính xác, hiệu quả, giảm nhẹ cách thức lưu trữ, thủ tục sử dụng dịch vụ, v.v… Mang
đến cho những người trong lĩnh vực kinh doanh sự hài lòng trước biến yêu cầu thay đổi
trước mắt. Đây cũng chính là nội dung mà nhóm đã triển khai tìm hiểu và đưa ra giải pháp
cho tình trạng trên – Đồ án chương trình ứng dụng quản lí Cửa Hàng Giày. Đồ án sử
dụng kiến thức từ môn học PTTK hướng đối tượng với UML để làm nền tảng cho q
trình phân tích hệ thống để xây dựng nên chương trình.
Chúng em xin chân thành cảm ơn cơ Nguyễn Thị Ánh Tuyết đã tận tình hướng dẫn
chúng em trong q trình hồn thành đề tài này.

5


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

Mở Đầu
1. Lí do nghiên cứu đề tài:
Với cuộc cách mạng công nghiệp 4.0, sự phát triển về khoa học kỹ thuật ngày càng được
nâng cao và được áp dụng vào mọi mặt trong đời sống. Hiện nay, Công nghệ thông tin
cũng được áp dụng vào trong đời sống nhiều hơn,Vì thế quản lý một cửa hàng giày có sử
dụng phần mềm là một công việc hết sức quan trọng. Công việc đó hiện cịn đang làm thủ
cơng ở một số cửa hàng. Chính vì thế hiệu quả khơng cao. Theo thông tin mà chúng tôi
khảo sát một cửa hàng giày có tên là XSHOP, hiện nay đang quản lý cửa hàng vẫn cịn
quản lí thủ cơng.
Các cơng việc bao gồm như:
-

Nhập hàng ,xuất hàng,số lượng sản phẩm, bảo hành.


-

Thống kê lợi nhuận mỗi tháng.

-

In phiếu nhâp,xuất sản phẩm,in danh sách nhà cung cấp…

-

Lưu thông tin của các sản phẩm sau mỗi lần nhập xuất.
Để khắc phục vấn đề đấy, nhóm em đã tìm hiểu và kết hợp với kiến thức từ môn học
PTTK hướng đối tượng với UML để làm nền tảng cho q trình phân tích hệ thống để xây
dựng nên chương trình quản lý cửa hàng giày.

2. Mục tiêu nghiên cứu đề tài:
Đề xuất được hệ thống mới, tối ưu hơn bằng những kiến thức đã học.
Xây dựng được chương trình quản lý cửa hàng giày.
3. Đối tượng và phạm vi nghiên cứu:
Đối tượng nghiên cứu: là phân tích và thiết kế theo hướng đối tượng.
Phạm vi nghiên cứu: quản lí sản phẩm,thống kê,hóa đơn cho cửa hàng giày.
4. Bố cục đề tài:
Gồm 3 chương:
Chương 1. Cơ sở lý thuyết: trình bày về phần mềm Rational Rose và mơn phân tích thiết
kế hướng đối tượng.
Chương 2. Phân tích thiết kế hệ thống quản lí cửa hàng giày.
Chương 3. Xây dựng phần mềm: trình bày về giao diện phần mềm, cài đặt, chạy thử
nghiệm và đánh giá phần mềm đã xây dựng.
6



Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

7


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

CHƯƠNG I:

CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu về ngôn ngữ C#
1.1.1 Giới thiệu chung về ngôn ngữ C#
C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữ lập trình hướng đối
tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của
ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu
số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngơn ngữ có
được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với
các sản phẩm Turbo Pascal, Delphi, J++, WFC. Phiên bản gần đây nhất là 8.0, được phát
hành vào năm 2019 cùng với Visual Studio 2019 phiên bản 16.3.[14]

Hình 1.1:C#
1.1.2


Mục tiêu của việc phát triển C#

+ Ngôn ngữ được dự định là một ngơn ngữ lập trình đơn giản, hiện đại, hướng đến
nhiều mục đích sử dụng, và là một ngơn ngữ lập trình hướng đối tượng.
+ Ngơn ngữ và việc triển khai đáp ứng các nguyên tắc của ngành kỹ thuật phần mềm
như kiểm tra chặt chẽ kiểu dữ liệu, kiểm tra giới hạn mảng, phát hiện các trường hợp sử
dụng các biến chưa có dữ liệu, và tự động thu gom rác. Tính mạnh mẽ, sự bền bỉ, và năng
suất của việc lập trình là rất quan trọng đối với ngôn ngữ này.
+ Ngôn ngữ sẽ được sử dụng để phát triển các thành phần của phần mềm theo hướng
thích hợp cho việc triển khai trong các mơi trường phân tán.
+ Khả năng di chuyển (portability) là rất quan trọng, đặc biệt là đối với những lập
trình viên đã quen với C và C++.
8


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

+ Hỗ trợ quốc tế hóa (i18n).
+ Ngơn ngữ sẽ được thiết kế để phù hợp với việc viết các ứng dụng cho cả hai hệ
thống: hosted và nhúng, từ các phần mềm quy mô lớn, đến các phần mềm chỉ có các chức
năng đơn giản.
+ Mặc dù các ứng dụng C# có tính kinh tế đối với các u cầu về bộ nhớ và chế độ xử
lý, ngôn ngữ này khơng cạnh tranh trực tiếp về hiệu năng và kích thước đối với ngôn ngữ
C hoặc assembly.
1.1.3

Đặc điểm ngôn ngữ


C#, theo một hướng nào đó, là ngơn ngữ lập trình phản ánh trực tiếp nhất đến .NET
Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽ vào
framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn
rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate,
interface, exception... phản ánh rõ ràng những đặc trưng của.NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc
điểm nào đó, nhưng khơng bao gồm các giới hạn sau đây:
+ Các con trỏ chỉ có thể được sử dụng trong chế độ khơng an tồn. Hầu hết các đối
tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm. Các con
trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; cịn những đối tượng thuộc bộ gom rác
(garbage-collector) thì chỉ được gọi bằng cách tham chiếu.
+ Các đối tượng khơng thể được giải phóng tường minh.
+ Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract
interfaces). Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi.
+ C# thì an-tồn-kiểu (typesafe) hơn C++.
+ Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]").
+ Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).
+ C# khơng có tiêu bản.
+ Có thêm Properties, các phương pháp có thể gọi các Properties để truy cập dữ liệu.
+ Có reflection.
1.2 Lập trình hướng đối tượng
A, Giới thiệu về lập trình hướng đối tượng
Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là
một mẫu hình lập trình dựa trên khái niệm "cơng nghệ đối tượng", mà trong đó, đối tượng
9


Báo cáo đồ án Kiến Thức Ngành


Ngành:Công nghệ thông tin

chứa đựng các dữ liệu, trên các trường, thường được gọi là các thuộc tính; và mã nguồn,
được tổ chức thành các phương thức. Phương thức giúp cho đối tượng có thể truy xuất và
hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác (đối
tượng được hỗ trợ các phương thức "this" hoặc "self"). Trong lập trình hướng đối tượng,
chương trình máy tính được thiết kế bằng cách tách nó ra khỏi phạm vi các đối tượng
tương tác với nhau. Ngôn ngữ lập trình hướng đối tượng khá đa dạng, phần lớn là các
ngơn ngữ lập trình theo lớp, nghĩa là các đối tượng trong các ngôn ngữ này được xem như
thực thể của một lớp, được dùng để định nghĩa một kiểu dữ liệu.
OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như
mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần
mềm ở bậc cao hơn. Ngồi ra, nhiều người cịn cho rằng OOP dễ tiếp thu hơn cho những
người mới học về lập trình hơn là các phương pháp trước đó. Một cách giản lược, đây là
khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho
phép họ tạo ra các ứng dụng mà các yếu tố bên ngồi có thể tương tác với các chương
trình đó giống như là tương tác với các đối tượng vật lý.
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng
được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng biệt và tất cả
các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy, mỗi đối tượng
có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả lời
đến các đối tượng khác hay đến môi trường.
Đa phần các ngơn ngữ lập trình thơng dụng nhất hiện nay (như C++, Delphi, Java,
Python etc.) là các ngơn ngữ lập trình đa mẫu hình và đều hỗ trợ lập trình hướng đối
tượng ở nhiều mức độ khác nhau, thường được kết hợp với lập trình mệnh lệnh, lập trình
thủ tục. Các ngơn ngữ lập trình hướng đối tượng đáng chú ý gồm có Java, C++, C#,
Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Common Lisp,
và Smalltalk.
B, Các tính chất cơ bản của lập trình hướng đối tượng
Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên

một đối tượng. Đơn vị này tương đương với một chương trình con và vì thế các đối tượng
sẽ được chia thành hai bộ phận chính: phần các phương thức (method) và phần các thuộc
tính (attribute / Properties). Trong thực tế, các phương thức của đối tượng là các hàm và
các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay nói
cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng). Các phương

10


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mơ tả đối tượng
có những tính chất gì.
Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng
của một đối tượng.
Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của các
lớp (class).
Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng.
Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi
người lập trình) được xem là một đặc tính riêng của đối tượng. Nếu khơng có gì lầm lẫn
thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng.
- Lập trình hướng đối tượng có 4 tính chất chính sau:
+ Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua hay khơng
chú ý đến một số khía cạnh của thơng tin mà nó đang trực tiếp làm việc lên, nghĩa là nó
có khả năng tập trung vào những cốt lõi cần thiết. Mỗi đối tượng phục vụ như là một
"động tử" có thể hồn tất các cơng việc một cách nội bộ, báo cáo, thay đổi trạng thái của
nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến
hành được các thao tác. Tính chất này thường được gọi là sự trừu tượng của dữ liệu.

Tính trừu tượng cịn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc
điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đối
tượng ban đầu này có thể khơng có các biện pháp thi hành. Tính trừu tượng này thường
được xác định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở trừu tượng.
+ Tính đóng gói (encapsulation) và che giấu thơng tin (information hiding): Tính chất
này khơng cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối
tượng. Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó.
Việc cho phép mơi trường bên ngồi tác động lên các dữ liệu nội tại của một đối tượng
theo cách nào là hoàn toàn tùy thuộc vào người viết mã. Đây là tính chất đảm bảo sự tồn
vẹn của đối tượng.
+ Tính đa hình (polymorphism): Thể hiện thông qua việc gửi các thông điệp
(message). Việc gửi các thơng điệp này có thể so sánh như việc gọi các hàm bên trong của
một đối tượng. Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà
thơng điệp đó được gửi tới sẽ có phản ứng khác nhau. Người lập trình có thể định nghĩa
một đặc tính (chẳng hạn thơng qua tên của các phương thức) cho một loạt các đối tượng
gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng
sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn.
11


Báo cáo đồ án Kiến Thức Ngành

Ngành:Cơng nghệ thơng tin

Ví dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương
thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong" nó sẽ
tính theo công thức khác với khi đối tượng là "hinh_tron".
+ Tính kế thừa (inheritance): Đặc tính này cho phép một đối tượng có thể có sẵn các
đặc tính mà đối tượng khác đã có thơng qua kế thừa. Điều này cho phép các đối tượng
chia sẻ hay mở rộng các đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại. Tuy

nhiên, không phải ngôn ngữ định hướng đối tượng nào cũng có tính chất này.
1.3 Giới thiệu về .NET Framework
A, Giới thiệu về .Net Framwork
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng
chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương
trình được viết trên nền.NET Framework sẽ được triển khai trong môi trường phần mềm
(ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime
(CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an
ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại
lệ (exception handling).
.NET framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ trợ
việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nối cơ sở
dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng... CLR cùng với bộ
thư viện này là 2 thành phần chính của.NET framework.
.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành
phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo
mà gắn kết các thành phần đó lại với nhau. Nhiều cơng cụ được tạo ra để hỗ trợ xây dựng
ứng dụng.NET, và IDE (Integrated Developement Environment) được phát triển và hỗ trợ
bởi chính Microsoft là Visual Studio.
B, Giới thiệu về Winform
Windows Forms (WinForms) là thư viện lớp đồ họa (GUI) miễn phí và nguồn mở
được bao gồm như một phần của Microsoft .NET Framework hoặc Mono Framework ,
cung cấp một nền tảng để viết các ứng dụng khách phong phú cho máy tính để bàn, máy
tính xách tay và máy tính bảng . Mặc dù được coi là sự thay thế cho Thư viện lớp
Microsoft Foundation dựa trên C ++ trước đó và phức tạp hơn , nhưng nó khơng cung cấp
một mơ hình tương đương và chỉ hoạt động như một nền tảng cho tầng giao diện người
dùng trong một giải pháp đa tầng .

12



Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

Tất cả các yếu tố trực quan trong thư viện lớp Windows Forms xuất phát từ lớp
Control. Điều này cung cấp chức năng tối thiểu của một yếu tố giao diện người dùng như
vị trí, kích thước, màu sắc, phơng chữ, văn bản, cũng như các sự kiện phổ biến như nhấp
và kéo / thả. Lớp Control cũng có hỗ trợ lắp ghép để cho phép điều khiển sắp xếp lại vị trí
của nó dưới cha mẹ của nó. Các Microsoft Active Accessibility hỗ trợ trong lớp kiểm soát
cũng giúp khiếm người dùng sử dụng Windows Forms tốt hơn.
Bên cạnh việc cung cấp quyền truy cập vào các điều khiển Windows gốc như nút, hộp
văn bản, hộp kiểm và listview, Windows Forms đã thêm các điều khiển riêng cho lưu trữ
ActiveX , sắp xếp bố cục, xác thực và liên kết dữ liệu phong phú. Những điều khiển được
kết xuất bằng GDI +.
1.4 Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft. Nó
được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các
trang web, các ứng dụng web và các dịch vụ web. Visual Studio sử dụng nền tảng phát
triển phần mềm của Microsoft như Windows API, Windows Forms, Windows
Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả
hai ngôn ngữ máy và mã số quản lý.
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến
mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi
mức độ máy. Cơng cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng
giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu. Nó chấp
nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các
hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên
tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ cơng cụ dành cho các khía
cạnh khác trong quy trình phát triển phần mềm.

Visual Studio hỗ trợ nhiều ngơn ngữ lập trình khác nhau và cho phép trình biên tập
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngơn ngữ lập trình. Các ngơn ngữ
tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual
Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio 2010). Hỗ trợ cho
các ngôn ngữ khác như J++/J#, Python và Ruby thơng qua dịch vụ cài đặt riêng rẽ. Nó
cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013 trở về
trước) và "Community" (đối với bản Visual Studio 2015 trở về sau) là phiên bản miễn phí
của Visual Studio.
13


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

1.5 Giới thiệu về cơ sở dữ liệu MySQL Server
1.5.1 Giới thiệu chung về MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt
động theo mơ hình client-server. Với RDBMS là viết tắt của Relational Database
Management System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông
qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ
liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL.
MySQL được phát hành từ thập niên 90s.
MySQL được sử dụng phổ biến vì nó có các ưu điểm sau:
Ưu điểm:
Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.

Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ
quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế
nữa nó có thể được mở rộng nếu cần thiết.
Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất
hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
Nhược điểm:
Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tất cả và nó đi kèm với các hạn chế
về chức năng mà một vào ứng dụng có thể cần.
Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo,
các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở
dữ liệu quan hệ khác.
Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của
bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy
xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL

14


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

1.5.3 Một số lệnh thông dụng trong MSSQL Server
1, UPDATE
Truy vấn UPDATE trong SQL được sử dụng để sửa đổi các bản ghi đang tồn tại trong
một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE sửa đổi các hàng
đã lựa chọn, nếu không, hệ thống sẽ mặc định là tất cả các hàng đều bị tác động.Cú pháp:
UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2...., cotN = giatriN

WHERE [dieu_kien];

2, INSERT
Lệnh INSERT INTO trong SQL được sử dụng để thêm các hàng dữ liệu mới vào một
bảng trong Database.Cú pháp:
+ Xác định cột để chèn dữ liệu:
INSERT INTO TABLE_TEN (cot1, cot2, cot3,...cotN)]
VALUES (giatri1, giatri2, giatri3,...giatriN);

+ Thao tác trên tất cả các cột trong bảng
INSERT
INTO
TABLE_TEN
(giatri1,giatri2,giatri3,...giatriN);

3, SELECT

15

VALUES


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

Lệnh SELECT trong SQL được sử dụng để lấy dữ liệu từ một bảng trong Database
mà trả về dữ liệu ở dạng bảng dữ liệu kết quả.Cú pháp:
SELECT cot1, cot2, cotN FROM ten_bang;
SELECT * FROM ten_bang;


4, ORDER BY
Mệnh đề ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu theo thứ tự tăng
dần hoặc theo thứ tự giảm dần, trên một hoặc nhiều cột.Cú pháp:
SELECT danh_sach_cot
FROM ten_bang
[WHERE dieu_kien]
[ORDER BY cot1, cot2, .. cotN] [ASC | DESC];

5, GROUP BY
Mệnh đề GROUP BY trong SQL được sử dụng kết hợp với lệnh SELECT để sắp xếp
dữ liệu đồng nhất vào trong các nhóm.Cú pháp:
SELECT cot1, cot2
FROM ten_bang
WHERE [ dieu_kien ]
GROUP BY cot1, cot2
ORDER BY cot1, cot2

6, DISTINCT
Mệnh đề DISTINCT trong SQL được sử dụng kết hợp với lệnh SELECT để loại tất cả
các bản sao của bản ghi và chỉ lấy các bản ghi duy nhất.Cú pháp:
SELECT DISTINCT cot1, cot2,.....cotN
FROM ten_bang
WHERE [dieu_kien]

7, WHERE
Mệnh đề WHERE trong SQL được sử dụng để xác định một điều kiện trong khi lấy
dữ liệu từ bảng đơn hoặc nhiều bảng kết hợp. Bạn sẽ sử dụng mệnh đề WHERE để lọc
các bản ghi và chỉ lấy lại các bản ghi cần thiết. Cú pháp:


16


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

SELECT cot1, cot2, cotN
FROM ten_bang
WHERE [dieu_kien]

8, AND & OR
Các toán tử AND và OR trong SQL được sử dụng để kết hợp nhiều điều kiện để thu
hẹp phạm vi dữ liệu trong một lệnh SQL. Hai loại toán tử này được gọi là tốn tử liên
hợp. Nó cho phép tồn tại nhiều điều kiện trong mệnh đề WHERE của một lệnh SQL. Cú
pháp:
SELECT cot1, cot2, cotN
FROM ten_bang
WHERE [dieu_kien_1] AND [dieu_kien_2]...AND [dieu_kien_N];

1.5.4 Stored Procedure
- Là các chương trình trong SQL Server.
- Đặc tính:
+ Cho phép truyền các tham số đầu vào và chấp nhận trả về các giá trị chứa trong các
tham số hoặc trả về các trạng thái giá trị để gọi những thủ tục hoặc thực hiện các xử lý
theo lô để biết việc thực hiện thành công hay thất bại, nếu thất bại thì có thể đưa ra
ngun nhân thấp bại.
+ Bao gồm cả các lệnh gọi các thủ tục thực thi khác, chứa các lệnh SQL của chương
trình để thực hiện các xử lý trong database.
- Ta có thể dùng Transact–SQL EXCUTE để thực thi các stored procedure. Stored

procedure khác với các hàm xử lý là giá trị trả về của chúng không chứa trong tên và
chúng không được sử dụng trực tiếp trong biểu thức.
- So với các chương trình cục bộ, Stored procedure co ưu điểm hơn là:
+ Động: Stored procedure cho phép điều chỉnh chương trình cho phù hợp: Chúng ta
có chỉ tạo stored procedure một lần và lưu trữ trong database một lần, trong chương trình
chúng ta có thể gọi nó với số lần bất kỳ. Stored procedure có thể được chỉ rõ do một
người nào đó tạo ra và sự thay đổi của chúng hồn tồn độc lập với source code của
chương trình.
+ Nhanh hơn: Stored procedure có khả năng phân tích cú pháp và tối ưu hóa trong lần
thực thi đầu tiên và một phiên bản dịch của chúng trong đó sẽ được lưu trong bộ nhớ để
17


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

sử dụng cho lần sau, nghĩa là trong những lần thực hiện sau chúng khơng cần phải phân
tích cú pháp và tối ưu lại, mà chúng sẽ sử dụng kết quả đã được biên dịch trong lần đầu
tiên. Do đó stored procedure có khả năng thực thi nhanh hơn là việc xử lý một đoạn lệnh
Transact – SQL lớn, lặp.
+ Giảm thiểu bandwidth: Với một sử lý sử dụng Transact-SQL có tới hàng trăm câu
lệnh đơn được đồng thời gửi đi dẫn tới tình trạng ngốn bandwidth hoặc có thể là quá tải.
Stored procedure cải thiện được vấn đề này bằng cách gửi theo trình tự xử lý. Đồng thời
stored procedure cịn có thể phân tích cú pháp và tối ưu hóa cậu lệnh trong lần thực thi
đầu, giúp cải thiện câu lệnh tốt hơn.
+ Bảo mật: Phân cấp quyền sử dụng cho các user, cấp quyền, giới hạn quyền cho các
user thậm chí họ khơng được phép thực thi trực tiếp những stored procedure này. Khi đó
sẽ hạn chế, loại bỏ các vấn đề xâm phạm dữ liệu không được cấp phép.
- Định nghĩa về một stored procedure:

+ Tên của stored procedure
+ Các tham số
+ Thân của stored procedure: bao gồm các lệnh của Transact-SQL dùng để thực thi
procedure.
Cú pháp:
CREATE PROCEDURE procedure_name
-- The variable parameter in/out
{@parameter data_type input/output }
AS
Begin
[Declare variables for processing]
{Transact-SQL statements}
End

- Biên dịch và gọi thực thi một stored-procedure
+ Biên dịch : Chọn toàn bộ mã lệnh Tạo stored-procedure => Nhấn F5
+ Gọi thực thi một store-Procedure đã được biên dịch bằng lệnh exec
EXECUTE procedure_name --Stored-proc nonparametric
EXEC procedure_name Para1_value, Para2_value, …
proc with parameters

18

--Stored-


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin


1.6 Giới thiệu về ngôn ngữ UML
1.6.1 Giới thiệu chung về UML
Ngơn ngữ mơ hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt
thành UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp
hướng đối tượng sử dụng để thiết kế các hệ thống thơng tin một cách nhanh chóng.
Cách xây dựng các mơ hình trong UML phù hợp mơ tả các hệ thống thông tin cả về
cấu trúc cũng như hoạt động. Cách tiếp cận theo mơ hình của UML giúp ích rất nhiều cho
những người thiết kế và thực hiện hệ thống thơng tin cũng như những người sử dụng nó;
tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thơng tin dự định xây dựng. Cách
nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai
đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng cơng nghệ
thơng tin. Các mơ hình hướng đối tượng được lập cũng là cơ sở cho việc ứng dụng các
chương trình tự động sinh mã trong các ngơn ngữ lập trình hướng đối tượng, chẳng hạn
như ngơn ngữ C++, Java,... Phương pháp mơ hình này rất hữu dụng trong lập trình hướng
đối tượng. Các mơ hình được sử dụng bao gồm Mơ hình đối tượng (mơ hình tĩnh) và Mơ
hình động.
UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mơ hình (model
elements). Tập hợp các phần tử mơ hình tạo thành các Sơ đồ UML (UML diagrams). Có
các loại sơ đồ UML chủ yếu sau:
UML ra đời do công của James Rumbaugh, Grady Booch và Ivar Jacobson sau khi đã
có các cuộc chiến về mơ hình bất phân thắng bại.
1.6.2 Các loại biểu đồ
1, Biểu Đồ Lớp (Class Diagram)
Class diagram là xương sống của hầu như tất cả các phương pháp hướng đối tượng,
bao gồm cả UML. Chúng mô tả các cấu trúc tĩnh của hệ thống.
2, Biểu Đồ Gói (Package Diagram)
Package Diagram là tập hợp các class diagram. Các package diagram thiết lập mối
quan hệ giữa các pakage, trong đó pakage là những nhóm phần tử của hệ thống có mối
quan hệ liên quan đến nhau.
3, Biểu Đồ Chức Năng


19


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

Uses case diagram đưa ra cách nhìn bao quát (từ trên xuống) cách sử dụng của hệ
thống cũng như cách nhìn hệ thống từ bên ngoài.
Biểu đồ này hiển thị những chức năng của hệ thống hoặc các lớp và tương tác của hệ
thống với thế giới bên ngoài như thế nào.
Uses case diagram được dùng trong q trình phân tích hệ thống để nắm bắt được yêu
cầu của hệ thống và hiểu được sự hoạt động của hệ thống.
4, Biểu Đồ Tương Tác
Collaboration Diagram cung cấp về cách nhìn sự tương tác hoặc mối quan hệ có cấu
trúc giữa các đối tượng trong mơ hình hiện thời. Collaboration Diagram bao gồm các đối
tượng, liên kết và thông báo.
Sử dụng mô hình như là một phương tiện chính để mơ tả những tương tác và cách
giải quyết của các hành vi trong hệ thống.
5, Biểu Đồ Tiến Trình
Sequence diagram mơ tả sự tương tác của các lớp trong trình tự về thời gian. Những
mơ hình này được liên kết với phương pháp case (tình huống).
Sequence diagram hiển thị cho bạn từng bước những sự kiện xảy ra trong phương
pháp case.
Biểu đồ này là cách tốt nhất để phân tích và thiết kế hệ thống bởi vì nó khá đơn giản
và dễ lĩnh hội.
6, Biểu Đồ Trạng Thái (Statechart Diagram)
Bạn sử dụng Statechart Diagram mô tả những hành động của các lớp và đối tượng
riêng lẻ, mơ tả trình tự những trạng thái mà các đối tượng sẽ đi qua.

7, Biểu Đồ Hoạt Động (Activity Diagram)
Activity Diagram mơ tả tiến trình xử lý và trình tự những hành động trong tiến trình
xử lý, Trơng nó giống như biểu đồ tiến trình (flowchart) bởi vì nó mơ tả dịng làm việc từ
hoạt động sang hoạt động và từ hoạt động sang trạng thái.
Khi xây dựng activity diagram nó giúp bạn có thể hiểu được tồn bộ tiến trình hoạt
động. Nó rất hữu dụng khi bạn mơ tả những tiến trình song song hoặc mô tả một vài
tương tác trong use case.
8, Biểu Đồ Thành Phần (Component Diagram)
Component Diagram cho chúng ta cách nhìn vật lý của mơ hình thực tế. Nó thể hiện
rõ cho chúng ta thấy sự cấu tạo và sự phụ thuộc giữa các thành phần của phần mềm bao
gồm mã nguồn, mã nhị phân (binary code) và những thành phần có khả năng thực thi.
20


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

9, Biểu Đồ Triển Khai (Deployment Diagram)
Deployment Diagrams mô tả các tài nguyên vật lý trong hệ thống, bao gồm các nút
(node), thành phần và kết nối. Mỗi mơ hình chỉ bao gồm một deployment diagram hiển
thị ánh xạ giữa những tiến trình xử lý tới thiết bị phần cứng.
1.6.3 Chương trình StarUML
StarUML là một mơ hình nền tảng, là phần mềm hỗ trợ UML (Unified Modeling
Language). Nó hỗ trợ các phương pháp tiếp cận MDA (Model Driven Architecture) bằng
cách hỗ trợ các khái niệm hồ sơ UML. Tức là StarUML hỗ trợ phân tích và thiết kế hệ
thống một điều mà bất cứ dự án nào đều cần có. Ngồi ra dùng StarUML sẽ đảm bảo tối
đa hóa năng suất và chất lượng của các dự án phần mềm của bạn. Vì nó cho phép mơ hình
hóa nên sẽ khơng phụ thuộc vào người code, ngôn ngữ code hay nền tảng sử dụng. Do mơ
hình hóa nên rất dễ đọc và dễ hiểu.

- Tính năng, đặc điểm:
+ Cho phép bạn tạo sơ đồ Object, Use case, Deployment, Sequence, Communication,
Activity.
+ Cho phép bạn khám phá và cài đặt tiện ích mở rộng của bên thứ ba.
+ Hoạt động với cùng một UX trong nhiều nền tảng bao gồm macOS, Windows và
Linux.
+ Không giới hạn cho việc sử dụng phần mềm thương mại này để đánh giá.
1.7 Giới thiệu về mơ hình 3 lớp
1.7.1 Giới thiệu chung về mơ hình 3 lớp
Mơ hình 3 lớp gồm: Presentation, Business Logic, Data Access. Các lớp này sẽ giao
tiếp với nhau thông qua các dịch vụ (services) mà mỗi lớp cung cấp để tạo nên ứng dụng.
Các lớp không cần biết bên trong lớp khác làm gì, chỉ quan tâm đến dịch vụ được
cung cấp và sử dụng nó.

21


Báo cáo đồ án Kiến Thức Ngành

Ngành:Cơng nghệ thơng tin

Hình 1.3:Mơ hình 3 lớp
Mơ hình 3 lớp được cấu thành từ: Presentation Layers, Business Logic Layers, và
Data Access Layers.
+ Presentation Layers: Giao diện xử lý của ứng dụng.Nhiệm vụ: nhập liệu, trình bày
dữ liệu, kiểm tra dữ liệu đầu vào. Người dụng giao tiếp với GUI để gửi đi thông tin và yêu
cầu. Tại lớp này, các thông tin sẽ được kiểm tra, nếu thỏa mãn chúng sẽ được chuyển
xuống BLL.
+ Business Logic Layers: Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu,
quản lý các transaction (giao tác), quản lý các concurrent access… Gọi các xử lý của lớp

Data Access, nếu gặp ngoại lệ sẽ “quăng” lên GUI. Tại BLL, các thơng tin được xử lý,
tính theo đúng yêu cầu đã gửi, nếu không cần đến csdl thì BLL trả kết quả về GUI, ngược
lại, nó sẽ đẩy dữ liệu (thông tin đã xử lý) xuống DAL.

22


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

+ Data Access Layers: Kết nối CSDL, tìm kiếm, thêm, sửa, xóa,… trên CSDL/XML.
DAL sẽ thao tác với csdl và trả về kết quả cho BLL, BLL kiểm tra và gửi nó lên GUI để
hiển thị cho người dùng.
1.7.2 Ưu điểm của mơ hình 3 lớp
- Phân chia thành từng lớp giúp code tường minh hơn, giảm sự kết dính.
- Dễ bảo trì khi được phân chia. Việc thay đổi có thể được cô lập trong 1 lớp hoặc ảnh
hưởng đến lớp gần nhất mà không ảnh hưởng đến cả chương trình.
- Dễ phát triển, tái sử dụng.
- Thêm 1 chức năng.
- Thay đổi giữa 2 môi trường (từ Winform sang Webform: thay đổi lớp GUI)
- Dễ bàn giao (khi cùng theo 1 quy chuẩn)
- Dễ phân phối khối lượng công việc.

23


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin


CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH BẰNG UML
2.1 Khảo sát hệ thống hiện thời
2.1.1. Giới thiệu cửa hàng giày XSHOP.
Là một cửa hàng giày thuộc địa chỉ: 57 Quan Hoa, Cầu Giấy, Hà Nội, do anh
Nguyễn Thành làm chủ. Cửa hàng hiện tại có 3 nhân viên bán hàng và 1 nhân viên thống
kê.

Hình 2.1: Khảo sát cửa hàng giầy
2.1.2.Mơ hình quản lí hiện thời

24


Báo cáo đồ án Kiến Thức Ngành

Ngành:Công nghệ thông tin

Mô tả: Hiện nay cửa hàng giầy đang cung cấp rất nhiều mặt hàng , loại hàng, cũng
như chất liệu, mẫu mã khác nhau , nhằm mục đích phục vụ đáp ứng nhu cầu của khách
hàng, cùng với việc ngày càng nhiều đối tượng khách hàng khác nhau cùng với công
việc quản lý về nhiều hoạt động khác nhau trong cửa hàng vì vậy cơng việc quản lý hệ
thống của các cửa hàng cịn gặp rất nhiều khó khăn.
Nhược điểm của hệ thống cũ:
• Hệ thống quản lý bán tự động.
• Chủ cửa hàng gặp khó khăn trong quản lý số lượng hàng hoá và hoá
đơn và về nhân viên làm việc tại cửa hàng.
2.1.3.Đề xuất hệ thống mới
Có hệ thống hỗ trợ quản lý cửa hàng tốt hơn với các chức năng:
Chức năng quản lý chính của cửa hàng:

o Quản lý nhân viên: quản lý thông tin của nhân viên: họ tên, địa chỉ,…
o Quản lý nhà cung cấp: quản lý thông tin về nhà cung cấp: tên, số điện thoại,…
o Quản lý hố đơn: quản lý thơng tin về hoá đơn: mã hoá đơn, tên mặt hàng, số lượng,…
o Quản lý nhập,xuất hàng: tên hàng hoá nhập, nhà cung cấp, hạn sử dụng, số lượng,..
o Quản lý tài khoản: quản lý thông tin tài khoản được sử dụng để đăng nhập vào hệ thống:
tài khoản, mật khẩu,…
o Lập báo cáo thông kê
o Quản lý khuyến mại: áp dụng giảm giá trên một mặt hàng nhất định.
Chức năng hỗ trợ quản lý:
Khách hàng
o Quản lý nhà cung cấp
o Quản lý nhân viên
o Quản lý nhập hàng
o Quản lý xuất hàng
o Quản lý kho hàng
o Quản lý tài khoản

25


×