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

PHÁT TRIỂN PHẦN MỀM THEO CẤU PHẦN XÂY DỰNG ỨNG DỤNG WEBSITE

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.85 MB, 44 trang )

Phát triển phần mềm theo cấu phần

Chương I.TÌM HIỂU VỀ PHÁT TRIỂN
PHẦN MỀM THEO CẤU PHẦN
I. Cấu phần (component)
Một cấu phần phần mềm là một mảnh khép kín, tự triển khai mã
với các chức năng được xác định rõ và có thể được lắp ráp với các cấu phần
khác thông qua giao diện của nó.
Từ định nghĩa này, một cấu phần là một chương trình hay một tập
hợp các chương trình có thể được biên dịch và thực thi. Đó là khép kín, do đó,
nó cung cấp chức năng mạch lạc. Nó là tự triển khai để nó có thể được cài đặt
và thực hiện trong một môi trường người dùng cuối. Nó có thể được lắp ráp
với các thành phần khác để có thể được tái sử dụng như một đơn vị trong các
ngữ cảnh khác nhau. Sự tích hợp được thực hiện thông qua giao diện của một
cấu phần, có nghĩa là việc thực hiện nội bộ của một cấu phần thường được ẩn
đối với người sử dụng.
Một phần tử phần mềm chứa chuỗi các lệnh cấp cao, các tính toán
được thực hiện bởi máy tính. Phần tử phần mềm là thực thi nếu thỏa mãn 1
trong 2 điều kiện sau đây:
 Máy tính trực tiếp thực thi các lệnh
 Có một bộ thông dịch chạy trên máy tính dịch các câu lệnh sang dạng
máy thực thi được.
Mã nguồn phần mềm là tập các file máy có thể đọc được, chứa các
câu lệnh chương trình được viết ứng với một ngôn ngữ lập trình. Các câu lệnh
này được dịch thành các câu lệnh thực thi được hoặc nhờ vào bộ biên dịch
hoặc bộ thông dịch.
Một cấu phần phần mềm là một tập các phần tử phần mềm được
lập trình. Cấu phần đó được cài đặt, và đưa vào sử dụng. Sự khác nhau giữa
phần tử phần mềm và cấu phần phần mềm được thể hiện ở cách sử dụng.
Phần mềm bao gồm rất nhiều yếu tố trừu tượng, các đặc trưng chất lượng. Đó
là thước đo để đánh giá một cấu phần hay một quy trình có đáp ứng yêu cầu


đặc tả hay không (theo chuẩn IEEE 610.12 – 1990). Thuật ngữ phần tử được
đặt trong phạm vi mô tả về cấu phần phần mềm như sau:

1


Phát triển phần mềm theo cấu phần

 Một cấu phần phần mềmlà một phần tử phần mềm tuân theo một mô
hình cấu phần và có thể triển khai độc lập, được kết hợp mà không cần
sửa đổi theo một chuẩn kết hợp.
 Một mô hình cấu phần định nghĩa các đặc tả tương tác và các chuẩn kết
hợp.
 Một cài đặt mô hình cấu phần là một tập hợp các phần tử phần mềm
xác định cần có để hỗ trợ việc thực thi của các cấu phần tuân theo mô
hình.
 Hạ tầng của cấu phần phần mềm, là một tập hợp các cấu phần phần
mềm tương tác được thiết kế để đảm bảo rằng hệ thống phần mềm
được xây dựng sử dụng các cấu phần và giao diện này sẽ thỏa mãn các
đặc tả hiệu năng đã định nghĩa.
Các định nghĩa này thể hiện mối quan hệ quan trọng giữa hạ tầng của
cấu phần phần mềm, các cấu phần phần mềm và mô hình cấu phần.

II. Mô hình cấu phần và dịch vụ cấu phần
1. Mô hình cấu phần
Cấu phần là một tập các thuộc tính (properties), phương thức
(method), và các sự kiện (event). Mỗi cấu phần có một tên dùng để đại diện
cho nó. Thuộc tính tóm lược các thuộc tính của một cấu phần. Phương thức
mô tả các hành vi và dịch vụ của cấu phần.Sự kiện mô tả các hành động mà
cấu phần này có thể thực hiện. Giao diện (Interface) là một tập hợp con của

tập Đề-các tập hợp các thuộc tính, phương thức, và các sự kiện, quy định các
giao tiếp với các thành phần của bên ngoài.
Các phần tử cấu phần được định nghĩa dựa trên giao diện của nó. Mô
hình cấu phần đặc tả cách định nghĩa các phần tử đó, như tên hàm, tham số,
các ngoại lệ. Một số mô hình cấu phần yêu cầu các giao diện đặc tả phải được
định nghĩa bởi một cấu phần.
Một phần quan trọng của mô hình cấu phần là định nghĩa cách mà
các cấu phần nên được đóng gói triển khai độc lập, để các đối tượng thực hiện
được. Bởi vì các cấu phần là những thực thể độc lập, chúng phải được đóng
gói một cách độc lập với hạ tầng cấu phần xác định hoặc không được định
nghĩa trong một giao diện yêu cầu.
2


Phát triển phần mềm theo cấu phần

2. Các phần từ của một mô hình cấu phần
Trong thị trường cấu phần phần mềm toàn cầu, các cấu phần được
triển khai một cách độc lập và tùy thuộc vào sự kết hợp với bên thứ 3. Thị
trường này cần có các chuẩn. Các chuẩn giao tiếp và chuẩn trao đổi dữ liệu
giữa các cấu phần khác nhau của các nhà sản xuất cấu phần là rõ ràng. Như
vậy, một chuẩn hoạt động nội bộ – đôi khi gọi là chuẩn lắp ráp hoặc kết nối –
là một phần tử trung tâm trong một mô hình cấu phần. Các phần tử cơ bản
khác của một mô hình cấu phần là các chuẩn: giao diện, đặt tên, siêu dữ liệu,
tuỳ biến, kết hợp, phát triển và triển khai.
Một mô hình cấu phần có thể cũng có các chuẩn đặc trưng để mô tả
các tính năng đặc tả miền cần thiết trong các ứng dụng.Ví dụ, sự kết hợp các
cấu phần trong các miền với các hoạt động đang diễn ra đòi hỏi tiếp cận các
mô hình chuỗi được chuẩn hoá và các cơ chế đồng bộ. Một hệ xử lý phân tán
mở đòi hỏi các chuần lời gọi phương thức từ xa, và chuẩn bảo mật. Các ứng

dụng nghiệp vụ 3 lớp cần các dịch vụ giao dịch được chuẩn hoá và cơ sở dữ
liệu APIs. Cuối cùng, một mô hình cấu phần với các tài liệu kết hợp(như
OLE) cần đặc tả từng phần, các quan hệ bao hàm và giao diện. Các mô hình
cấu phần đặc tả miền gọi tới các chức năng đặc biệt trong cài đặt mô hình cấu
phần.

3. Giao diện, thỏa thuận và ngôn ngữ định nghĩa giao diện
Mục đích của các cấu phần là được sử dụng lại trong phần mềm. Hai
hình thức sử dụng lại là sử dụng lại hộp trắng và sử dụng lại hộp đen.
Sử dụng lại hộp trắng nghĩa là mã nguồn của cấu phần phần là có
sẵn đầy đủ và có thể nghiên cứu, sử dụng lại, lắp ghép hoặc chỉnh sửa. Sử
dụng lại hộp trắng thể hiện vai trò chính trong các nền tảng hướng đối tượng,
đáp ứng sức mạnh kế thừa cho các cài đặt phần mềm sử dụng lại. Nhược điểm
của sử dụng lại hộp trắng là các khách hàng sử dụng cấu phần cóthể thay đổi
mã nguồn cấu phần đó nếu có sự thay đổi bên trong chương trình.
Sử dụng lại hộp đen dựa trên nguyên tắc che giấu thông tin. Người
dùng cấu phần chỉ có thể dựa trên vào các giao diện. Các giao diện này là sự
mô tả hoặc đặc tả hành vi cấu phần. Thông qua các giao diện, các lời gọi cấu
phần có thể được thay đổi tiếp tục thỏa mãn yêu cầu định nghĩa. Giao diện thể
hiện một cách tường minh và qua các công cụ chẳng hạn như bộ biên dịch, có
thể kiểm chứng khả năng tương thích với các cấu phần client.
Một giao diện không phải là phần hợp thành của cấu phần, mà các phần hợp
thành cấu phần là các dịch vụ chẳng hạn như một thoả thuận giữa một cấu
phần với các client quan hệ với nó. Một giao diện đặc tả các dịch vụ yêu cầu
3


Phát triển phần mềm theo cấu phần

từ client đến cấu phần; cấu phần phải cung cấp một cài đặt các dịch vụ này.

Thêm vào đó, một giao diện có thể bao gồm các ràng buộc trên các dịch vụ
được sử dụng, nó phải được xét trên cấu phần và các client của nó. Các đặc tả
giao diện là phần tử trung tâm trong một mô hình cấu phần. Một mô hình cấu
phần định nghĩa cách mà một hành vi cấu phần được mô tả – dựa trên giao
diện, các đặc tả khác (phi chức năng) và các tài liệu thích hợp. Một mô hình
cấu phần định nghĩa các phần tử, mỗi phần tử có thể cấu thành một giao diện.
Các phần tử của một giao diện gồm có:
 Tên của các phép toán liên quan đến ngữ nghĩa.
 Các tham số của chúng
 Kiểu tham số
Các giao diện gồm các ngoại lệ được đưa ra, các điều kiện trước,
điều kiện sau phải được đáp ứng khi sử dụng các thao tác riêng lẻ, và các đặc
tả từng phần hành vi mong muốn của một giao diện cài đặt cấu phần. Nhiều
mô hình cấu phần có một ngôn ngữ định nghĩa giao diện (IDL – Interface
definition language) với các giao diện mô tả và các phần tử của nó sử dụng
một ký hiệu độc lập cài đặt.
Mô hình cấu phần có thể định nghĩa một tập các giao diện đặc tả cần
được cài đặt bởi các cấu phần. Các giao diện này được sử dụng qua cài đặt mô
hình cấu phần cung cấp các dịch vụ đã có sẵn chẳng hạn như các giao dịch
hoặc bảo mật.

4. Đóng gói và triển khai
Các chuẩn mô hình cấu phần đã được chứng nhận, như các kết nối
Internet băng thông rộng, sẽ làm thay đổi công việc triển khai của phần mềm
đóng gói sẵn. Điều này trở nên không cần thiết khi thực hiện gói các hệ thống
phần mềm khổng lồ và các tài liệu đi kèm vào thành 1 sản phẩm dùng ngay
được. Thêm vào đó, để các cài đặt mô hình cấu phần được tường minh, các
cấu phần nhỏ được lắp ghép vào xây dựng ứng dụng. Các kết nối internet
nhanh hỗ trợ người dùng tải các cấu phần đã đóng gói và tài liệu đi kèm để
phát triển các hệ thống phần mềm.

Một mô hình cấu phần mô tả cách mà các cấu phần được đóng gói,
bởi vậy chúng có thể được triển khai độc lập. Một cấu phần được triển khai
nghĩa là nó được cài đặt và cấu hình trong một hạ tầng cấu phần. Cấu phần
được đóng gói thường gồm mã chương trình, dữ liệu cấu hình, các cấu phần
khác và các tài nguyên đi kèm. Một mô tả triển khai cung cấp thông tin bên
trong của gói (hoặc các gói liên quan) và các thông tin khác cần thiết cho quy
trình triển khai. Chuẩn triển khai đặc tả cấu trúc và ngữ nghĩa cho các mô tả
4


Phát triển phần mềm theo cấu phần

triển khai và nó quy định định dạng các gói. Thêm vào nữa, mô hình cấu phần
có thể định nghĩa các quy trình triển khai bao gồm cả việc đăng ký cấu phần.

III. Nguyên tắc của COP
Cụm từ “cấu phần” đã tồn tại trong ngành công nghiệp máy tính
trong một thời gian dài. Như một vấn đề thực tế, khái niệm vềcấu phần đã
hình thành ngay cả trước khi máy tính được phát minh. Một nhà xây dựng sử
dụng thành phần từ các ngành công nghiệp khác để xây lên một ngôi nhà.Một
ví dụ thực tế phổ biến nhất là các nhà sản xuất ô tô sử dụng nhiều cấu phần từ
các ngành công nghiệp khác để sản xuất ra một chiếc xe hơi. Trong công
nghiệp phần cứng máy tính, các kỹ sư thiết kế không cần phải sản xuất các chi
tiết phần cứng cơ bản từ đầu cho mỗi sản phẩm. Chip vi xử lý, chip bộ nhớ,
bảng mạch, và card mạng luôn có sẵn để xây dựng một hệ thống máy tính lớn
và mạnh mẽ.
Mặc dù có nhiều định nghĩa khác nhau về cấu phần phần mềm [Allen
năm 1997; Garlan 2000; Liskov 2000; Luck năm 2000; 2000 Wang, 2002],
các nguyên tắc về cấu phần phần mềm vẫn giữ nguyên. Tiếp theo, ta sẽ tìm
hiểu một số nguyên tắc cơ bản trong công nghệ phần mềm dựa trên cấu phần

nói chung và trong lập trình hướng cấu phần nói riêng.

1. Trừu tượng hóa và phân tích các cấu phần đại diện
Chiến lược cơ bản và hiệu quả cho việc giải quyết bất kỳ vấn đề lớn
và phức tạp trong khoa học máy tính là “chia để trị”. Một ý tưởng lớn trong
phát triển phần mềm dựa trên cấu phần là tạo ra mô-đun phần mềm tự khép
kín và triển khai độc lập. Vì vậy các nhà phát triển khác nhau sẽ có thể làm
việc trên các cấu phần khác nhau một cách độc lập, không cần giao tiếp nhiều
với nhau, nhưng các cấu phần sẽ làm việc với nhau liền mạch. Ngoài ra, trong
giai đoạn bảo trì phần mềm, nó sẽ có khả năng sửa đổi một số cấu phần mà
không ảnh hưởng đến tất cả các cấu phần khác.
Trừu tượng hóa là một cách để phân tích sản phẩm bằng cách thay
đổi mức độ chi tiết được xem xét. Các cấu phần phần mềm ẩncác chi tiết nhất
định để chỉ cung cấp thông tin cần thiết cho khách hàng thông qua giao diện
của chúng. Trừu tượng hóa và sau đó phân tích là chiến lược điển hình trong
quá trình phát triển phần mềm. Phân tích được sử dụng để tách phầnmềm
thành các cấu phần có thể được kết hợp để giải quyết vấn đề gốc; trừu tượng
hỗ trợ trong việc đưa ra một lựa chọn tốt cho các cấu phần. Khoa học máy
tính đã trải qua nhiều sự trừu tượng hóa khác nhau. Các thủ tục trừu tượng
cho phép chúng ta phân tách một vấn đề thành các đơn vị độc lập chức năng.
5


Phát triển phần mềm theo cấu phần

Dữ liệu trừu tượng hoặc kiểu dữ liệu đóng gói là đối tượng dữ liệu với một
tập hợp các hoạt động đặc trưng cho hành vi của các đối tượng.

2. Tái sử dụng nên đạt được ở các mức độ khác nhau
Phần mềm tồn tại trong các hình thức khác nhau trong suốt quá trình công

nghệ phần mềm. Theo mô hình và giai đoạn phân tích,các yêu cầu đặc tả được
xem như một hình thức của phần mềm. Trong giai đoạnthiết kế, thiết kế kiến
trúc và thiết kế chi tiết các tài liệu cũng là một phần của phần mềm. Mã nguồn
trong giai đoạn thực hiện và mã thực thi triển khai đến các trang web khách
hàng chắc chắn là phần mềm. Vì vậy, tái sử dụng phần mềm bao gồm tái sử
dụng bất kỳ thuộc tính phần mềm trong các định dạngkhác nhau.
Có năm hình thức của các cấu phần phần mềm, cụ thể là : cấu phần đặc tả,
cấu phần giao diện, cấu phần thực thi, cấu phần cài đặt và các cấu phần đối
tượng. Mỗi hình thức của các cấu phần phần mềm có thể được tái sử dụng
trong các giai đoạn khác nhau của một vòng đời phần mềm.

3. Phát triển phần mềm dựa trên cấu phần tăng độ tin cậy của phần
mềm
Với sự tiến bộ nhanh chóng của phần cứng máy tính với độ tin cậy
cao, mạnh mẽ, rẻ hơn và sẵn sàng cho các ứng dụng khác nhau. Độ tin cậy
của một hệ thống máy tính dựa chủ yếu vào sự tin cậy của phần mềm. Phát
triển phần mềm dựa trên cấu phần và lập trình hướng cấu phần cung cấp một
cách có hệ thống để đạt được các hệ thống đáng tin cậy. Dựa vào trừu tượng
hóa các cấu phần và hệ thống hóa các cấu phần, việc xác nhận yêu cầu trọng
tâm và xác minh an toàn cho các hệ thống dựa trên cấu phần trởnên dễ dàng.
Mặt khác, các cấu phần có thể tái sử dụng thường được thử nghiệm thông qua
quá trình xác nhận và sử dụng thực sự trong một thời gian dài, vàdo đó chất
lượng của chúng luôn được đảm bảo.

4. Phát triển phần mềm dựa trên cấu phần có thể tăng năng suất phần
mềm
Phần mềm dựa trên cấu phần được xây dựng bằng cách lắp ráp các
cấu phần tái sử dụng hiện tại. Quá trình này nhanh hơn nhiều so với phát triển
một ứng dụng từ vạch xuất phát.


6


Phát triển phần mềm theo cấu phần

5. Phát triển phần mềm dựa trên cấu phần khuyến khích việc tiêu chuẩn
hóa phần mềm
Như Clemens Czyperski mô tả trong [Clemens 2003], muốn cho thị
trường cấu phần có thể phát triển, tiêu chuẩn cấu phần phải được thực hiện.
Tiêu chuẩn có thể được sử dụng cho việc tạo ra một thỏa thuận chi tiết kỹ
thuật cụ thể về giao diện, cho phép cấu phần có hiệu quả, và đảm bảo COP là
một mô hình lập trình mới trong đó “plug-and-play” trở thành một thực tế
trong phát triển phần mềm giống như trong phần cứng.

IV. So sách OOP và COP
OOP được yêu cầu để hỗ trợ đóng gói, kế thừa, và đahình. Tuy
nhiên, nó không bao giờ đạt được mục tiêu của nó, vì vi phạm kế thừa thực
hiện đóng gói đúng . Hơn nữa, các đối tượng hoặc các lớp không được tự
triển khai. Chúng ta có thể phân biệt COP với OOP về khía cạnh kỹ thuật
phần mềm khác nhau như sau:
 COP là dựa trên giao diện, trong khi OOP là dựa trên đối tượng .
 COP là một công nghệ đóng gói và phân phối, trong khi OOP là một
công nghệ thực thi.
 COP hỗ trợ tái sử dụng cao cấp, trong khi OOP hỗ trợ tái sử dụng ở
mức độ thấp.
 COP, về nguyên tắc, có thể được viết bằng ngôn ngữ nào, trong khi
OOP là bị ràng buộc vào các ngôn ngữ OOP.
 COP đã lỏng hóa các thành phần, trong khi OOP đã kết chặt chẽ các
đối tượng phụ thuộc vào nhau thông qua việcthực hiện kế thừa.
 COP có các cấu phần là các hạt lớn, trong khi OOP có các đối tượng là

các thành phần mịn.
 COP hỗ trợ đa giao diện, và thiết kế theo định hướng giao diện, trong
khi OOP không cung cấp mối quan hệ rõ ràng về giao diện giữa các
siêu lớp và lớp con.
 COP hỗ trợ các hình thức khám phá động, trong khi OOP cung cấp hạn
chế hỗ trợ cho các đối tượng và cơ chếthu hồi thành phần thời gian
chạy.
 COP có cơ chế tốt hơn cho bên thứ ba, trong khi OOP đã hạn chế các
hình thức kết nối (phương pháp gọi trình).
7


Phát triển phần mềm theo cấu phần

 COP cung cấp hỗ trợ nhiều hơn cho các dịch vụ bậc cao (an ninh, giao
dịch, vv), trong khi OOP có giới hạn bộ các dịch vụ hỗ trợ như an ninh,
giao dịch, vv.
 Các cấu phần của COP được thiết kế để tuân theo quy định của khung
thành phần cơ bản, trong khi các đối tượng OOP được thiết kế để tuân
theo các nguyên tắc OO.

V. Sự quan trọng của COP
Làm thế nào để thuần thục hơn trong kỹ thuật xử lý với sự phát triển
của các hệ thống phức tạp?
Xây dựng các hệ thống dựa trên các thành phần là một phần tự nhiên của các
hệ thống kỹ thuật.Ví dụ ngành công nghiệp ô tô,phát triển xe ô tô rất phức tạp
bằng cách sử dụng các thành phần có kích thước từ một ốc vít nhỏ đến các hệ
thống con phức tạp như động cơ và hệ thống truyền lực .
Các nhà máy ô tô hiện đại đã trở thành hệ thống sảnxuất và tích hợp
các chi tiết hệ thống .Nó rất dễ dàng để ứng dụng cho nhiều ngành công

nghiệp và các ngành kỹ thuật khác sử dụng hiệu quả các thành phần của với
một tập nghiêm ngặt các tiêu chuẩn xác định khả năng tương tác. Trong hàng
trăm năm, ngành công nghiệp đã áp dụng các tiêu chuẩn thành phần cho các
bộ phận lắp ráp và các công cụ hoán đổi để tăng tốc độ phát triển các sản
phẩm phức tạp. Đây chính là cuộc cách mạng công nghiệp mà đã thay đổi
đáng kể tính chất của sản xuất, trong đó máy móc thay thế các công cụ, hơi
nước và các nguồn năng lượng khác thay thế sức lực của con người hoặc động
vật, công nhân không có kỹ năng thay thế công nhân lành nghề, và các sản
phẩm lớn được thực hiện bởi máy móc và dây chuyền lắp ráp thay thế các sản
phẩm thủ công.
Tuy nhiên trong ngành công nghiệp phần mềm, các sản phẩm vẫn
còn chủ yếu là các mặt hàng thủ công. năng suất thấp, chất lượng không được
bảo đảm, và hầu hết các dự án đều tràn lan . Hiện tượng được gọi là "cuộc
khủng hoảng phần mềm". Do sự vượt bậc của công nghệ phần cứng, chi phí
của việc phát triển một ứng dụng máy tính là chủ yếu là do phần mềm. Vấn đề
chính của kỹ thuật phần mềm là làm thế nào để tạo ra phần mềm có chất
lượng hiệu quả. Các cấu phần được nhiều kỹ sư phần mềm coi như một công
nghệ quan trọng để giải quyết cuộc khủng hoảng phần mềm. Cách mạng công
nghiệp phần mềm sẽ xảy ra thông qua công nghệ phát triền phần mềm dựa
trên cấu phần.
8


Phát triển phần mềm theo cấu phần

Có ba mục tiêu chính của COP: chinh phục sự phức tạp, quản lý thay
đổi, và tái sử dụng.

VI. Quản lý thay đổi
Thay đổi vốn có trong công nghệ phần mềm. Sự thay đổi yêu cầu người

dùng, thay đổi chi tiết kỹ thuật, thay đổi nhân sự, thay đổi ngân sách, thay đổi
công nghệ, vv. Một trong những nguyên tắc cơ bản của kỹ thuật phần mềm là
nhấn mạnh tầm quan trọng của quản lý thay đổi. Điềuquan trọng là nhấn
mạnh điểm chính về sự phụ thuộc giữa các thành phần trong kiến trúc và thiết
kế, và về quản lý của những cá nhân có liên quan. COP cung cấp một cách
hiệu quả để thực hiện việc đối phó với thay đổi theo các nguyêntắc công nghệ
phần mềm: lập kế hoạch cho sự thay đổi, thiết kế cho sự thay đổi, và xây
dựng cho sự thay đổi. Các thành phần được dễ dàng thích ứng với yêu cầu và
thay đổi mới. Các kỹ sư phần mềm đã đi đến sự đồng thuận rằng cách tốt nhất
đối phó với thay đổi liên tục là xây dựng các hệ thống bao gồm các thànhphần
tái sử dụng phù hợp với tiêu chuẩn cấu phần và kiến trúc plug-in.

VII. Tái sử dụng
Phần mềm cho phép tái sử dụng để thiết kế và thực hiện một cái gì đó
một lần và sử dụng nó hơn và hơn nữa trong các hoàn cảnh khác nhau. Điều
này sẽ làm tăng tăng năng suất lớn, mang lại các giải pháptiên tiến nhất, cải
thiện chất lượng, khắc phục hậu quả, vv. Có nhiều mức độ khác nhau về việc
tái sử dụng phần mềm. Ví dụ sao chép mã nguồn, là mức thấp nhấtcủa sử
dụng lại. Thư viện thủ tục, chức năng là một hình thức tốt hơn vềtái sử dụng
hơn so với sao chép mã nguồn, nhưng không thể mở rộng. Lớp thư viện là
một hình thức tốt hơn về tái sử dụng, và chúng có thể được mở rộng. Tuy
nhiên, nó đòi hỏi rất nhiều sự hiểu biết trước khi các lớp có thể được tái sử
dụng. Hơn nữa, nó chỉ hỗ trợ tái sử dụng hộp trắng; khách hàng sẽ bị ảnh
hưởng nếu thân của các lớp thay đổi. Ví dụ, trong một ngôn ngữ OOP như C#
hoặc Java, các lớp có nguồn được liên kết từ các lớp cơ sở. Thay đổi trong bất
kỳ các lớp cơ sở trong hệ thống phân cấp, kế thừa sẽ bị phá vỡ và các lớp
nguồn sẽ thay đổi. Hơn nữa, giới hạn của tái sử dụng là ngôn ngữ cụ thể,
không sử dụng lại được mã nguồn trên các ngôn ngữ khác. COP hỗ trợ mức
cao nhất của tái sử dụng phần mềm vì nó cho phép tái sử dụng các loại bao
gồm cả tái sử dụng hộp trắng, tái sử dụng hộp xám, và tái sử dụng hộp đen.

Tái sử dụng hộp trắng có nghĩa là nguồn gốc của một thành phần phần mềm
được làm sẵn và có thể đượcnghiên cứu, tái sử dụng, thích nghi, hoặc sửa đổi.
Tái sử dụng hộp đen được dựa trên nguyên tắc cất giấu thông tin. Giao diện
quy định cụ thể các dịch vụ một khách hàng có thể yêu cầu từ các thành phần
9


Phát triển phần mềm theo cấu phần

một. thành phần này cung cấp việcthực hiện các giao diện mà khách hàng dựa
vào. Miễn là các giao diện không thay đổi, các thành phần có thể được thay
đổi trong nội bộ mà không ảnh hưởng đến khách hàng.Tái sử dụng hộp xám
là trung gian giữa tái sử dụng hộp trắng và tái sử dụng hộp đen.
Khi kích thước và độ phức tạp của các hệ thống phần mềm tăng lên,
việc xác định và quản lý phù hợp các mối liên kết giữa các cấu phần của hệ
thống trở thành một mối quan tâm trọng điểm. COP cung cấp các giải pháp
quản lý để đối phó với sự phức tạp của phần mềm, các thay đổi liên tục của hệ
thống, và các vấn đề về tái sử dụng phần mềm. COP hiện nay là mô hình để
phát triển hệ thống phần mềm lớn trên thực tế, ví dụ, phân phối c ác ứng dụng
quy mô doanh nghiệp, ứng dụng web N-tier, dịch vụ Web.

10


Phát triển phần mềm theo cấu phần

Chương II. XÂY DỰNG ỨNG DỤNG WEBSITE
I. Đặt vấn đề
Tên đề tài: XÂY DỰNG WEBSITE BÁN LINH KIỆN MÁY
TÍNH


1. Giới thiệu vấn đề
Với sự phát triển bùng nổ của công nghệ thông tin, việc sử dụng
máy tính để cập nhật tin tức trên Internet hoặc trao đổi dữ liệu, giải
trí, … không còn quá xa lạ với chúng ta. Tiếp cận với chiếc máy
tính hằng ngày, bạn không thể thiếu những linh kiện cần thiết.
Những chiếc USB nhỏ gọn tiện lợi hay ổ cứng rời lưu trữ dung
lượng lên đến hang TB, những chiếc tai nghe phong cách mang lại
âm thanh sống động đến chân thực, quạt tản nhiệt tang tuổi thọ
thêm cho chiếc máy tính. Không chỉ giúp sử dụng máy tính thuận
tiện hơn, các linh kiện má tính còn cho thấy phong các của bạn. Từ
những điều trên, chúng tôi quyết địng xây dựng nên một hệ thống
website thương mại điện tử chuyên nghiệp về linh-phụ kiện cho
máy tính, laptop, với những sản phẩm hi-tech tốt, độc đáo và đặt
chữ tín cũng như khác hàng lên hàng đầu, đem lại cho khách hàng
những sản phẩm tốt nhất có thể.

2. Các hệ thống hiện tại
Qua khảo sát thực tế, chúng tôi nhận thấy rằng Việt Nam, các
trang web chuyên kinh doanh linh kiện, phụ kiện cho máy tính,
laptop không nhiều. Chỉ có một vài website như:
,,ekno
w.com; các website của các công ty máy tính lớn như Phúc

AnhComputer, Mai Hoàng, Đăng Khoa... chiếm một phần rất nhỏ;
phụ kiện độc đáo cho máy tính thì càng hiếm, chủ yếu được rao bán
thông qua các website thương mại như: vatgia.com, raovat.com,...
hoặc các topic mua bán trên các diễn đàn về công nghệ thông tin.
Các giao dịch mua bán này thường là trao tay, thỏa thuận giữa 2
bên, các hình thức thanh toán còn thiếu hợp lý, các chính sách bảo

hành không đáp ứng được yêu cầu của khách hàng.Điều này gây ra
khó khăn cho những người tìm mua các sản phẩm phụ kiện hi-tech
11


Phát triển phần mềm theo cấu phần

mới lạ cho máy tính, đặc biệt các khách hàng này đa phần là giới
trẻ đam mê công nghệ.

3. Mô tả hệ thống
Website của chúng tôi được phát triển dưới hình thức cửa hàng
online trên mạng, mà sản phẩm được bán ở đây là: “Linh kiện, phụ
kiện máy tính”. Ngoài ra cũng sẽ đi kèm với một số các sản phẩm
phụ khác hỗ trợ cho việc sử dụng máy tính.
Toàn bộ hệ thống được lập trình bằng ngôn ngữ máy chủ PHP
và các ứng dụng của CSS, HTML, AJAX, jQuery,sử dụng IDE
NetBeans 7.1.2. Dữ liệu được lưu trữ trên hệ quản trị CSDL MySQL
5.5.16. Được dùng tốt trên trình duyệt Mozilla Firefox, Google
Chrome, và MicrosoftInternet Explorer.
Chức năng của hệ thống:
• Đối với khách hàng: Tạo điều kiện cho khác hàng có thể tìm
hiểu thông tin về các sản phẩm một các tốt nhất. Giúp cho
khách hàng có thể đưa ra quyết định đúng đắn trước kkhi lựa
chọn một sản phẩm phù hợp với nhu cầu.
• Đối với nhà cung cấp: Tạo ra mội trường làm việc chuyên
nghiệp để cung cấp và quản lý sản phẩm của họ một cách tốt
nhất. Đưa được các mặt hàng với chất lượng tốt nhất đến với
người dung một cách thân thiện và đáng tin cậy.


4. Giới hạn của hệ thống
Do thời gian và năng lực còn hạn chế, hệ thống của
chúng tôi chỉ được sử dụng hoàn thiện nhất trên các trình duyệt
phổ biến như Mozilla Firefox, Google Chrome, Safari, Opera và
Microsoft Internet Explorer(xem bảng).

Mozilla

Google

Firefox

Chrome

Microsoft
Safari

Opera

Internet
Explorer

Phiên bản Phiên bản Phiên bản Phiên
3.0 trở lên 10.0 trở lên 4.0 trở lên 11

bản Phiên bản
7.0 trở lên

trở lên


12


Phát triển phần mềm theo cấu phần

Các trình duyệt không phổ biến hoặc cũ hơn có thể không hỗ trợ
một vài phần giao diện CSS nhưng chức năng hoàn toàn không
bị hạn chế.

5. Bố cục
Nội dung chính gồm 3 phần:
Phần 1: Phân tích thiết kế hệ thống
•Khảo sát khách hàng.
•Phân tích đề tài.
•Vẽ các sơ đồ, điểu mẫu thiết kế hệ thống của chương trình.
Phần 2: Xây dựng cơ sở dữ liệu
•Xây dựng cơ sở dữ liệu dựa trên sự phân tích nhu cầu người
dùng và các sơ đồ biểu mẫu ở chương 1.
•Phần 3: Xây dựng ứng dụng
Thiết kế giao diện, cài đặt phần mềm, kiểm thử.

II. NỘI DUNG
1. Phân tích hệ thống
1. Đối tượng sử dụng hệ thống
• Khách vãng lai: là những người được xem sản phẩm, góp ý cho
cửa hàng nhưng không có quyền đặt mua hàng trị giá trên
500.000 đồng.
• Thành viên: những nhân tố chính có thể sử dụng chức năng
như: xem sản phẩm, góp ý, đặt mua hàng,…
• Quản trị hệ thống: người có quyền cao nhất trong toàn website

để quản trị hệ thống

2. Các chức năng của hệ thống
2.1.

Khách vãng lai

Khi tham gia vào hệ thống, khách vãng lai có thể xem thông
tin, tìm kiếm, xem sản phẩm và mua hàng (nhưng với hóa đơn có
giá trị nhỏ hơn 500 000 nghìn đồng). Ngoài ra, khách vãng lai
còn có thể góp ý cho cửa hàng và đọc các thông tin trên trang
web. Tất nhiên, khách vãng lai vẫn có quyền đăng kí trở thành
thành viên của hệ thống.
 Chức

năng đăng ký:

13


Phát triển phần mềm theo cấu phần

• Mô tả: cho phép khách viếng thăm website có thể đăng
ký được làm thành viên.
• Đối tượng: Khách viếng thăm website
• Nhập vào: tên đăng nhập, mật khẩu, họ tên đầy đủ, địa
chỉ, điện thoại.
• Xử lý: từ tên hoặc ảnh của sản phầm tìm ra ID, sau đó
lấy thông tin sản phẩm từ CSDL thông qua ID.
• Hiển thị: Hiện thị chi tiết thông tin sản phẩm.


 Chức

năng xem thông tin sản phẩm:
• Mô tả: Dành cho khách vãng lại xem thông tin của sản
phẩm được đăng trên trang web.
• Nhập vào: Hiển thị thông tin của sản phẩm
• Xử lý: Từ tên hoặc hình ảnh của sản phẩm tìm ra ID,
sau đó lấy thông tin sản phẩm từ CSDL thông qua ID.
• Hiển thị: Hiển thị chi tiết thông tin sản phẩm.

 Chức

năng đóng góp ý kiến:
• Mô tả: Dành cho khách vãng lai đóng góp ý kiến của
mình.
• Nhập vào: Khách nhập vào ý kiến đóng góp của mình
• Xử lý: Lưu ý kiến vừa đóng góp vào trong cơ sở dữ
liệu.
• Hiển thị: Hiển thị ra thông báo “Cảm ơn bạn đã đóng
góp ý kiến cho sản phẩm!”

 Chức

năng tìm kiếm nhanh và tìm kiếm chi tiết sản phẩm:
• Tìm kiếm nhanh:
• Mô tả: Dành cho khách vãng lai tìm kiếm nhanh sản
phẩm theo tên sản phẩm.
• Nhập vào: Khách nhập vào tên sản phẩm cần tìm trên
khung tìm kiếm.

• Xử lý: Tìm kiếm sản phẩm theo tên sản phẩm khách
hàng nhập vào.
• Hiển thị: Nếu tồn tại sản phẩm đó trong cơ sở dữ liệu,
hiển thị ra sản phẩm. Nếu
14


Phát triển phần mềm theo cấu phần

• không, hiển thị ra thông báo “Xin lỗi, không tìm thấy
sản phẩm nào!”.
 Chức

năng sử dụng giỏ hàng:
• Mô tả: Cho phép khách hàng sử dụng giỏ hàng của hệ
thống để lưu trữ các sản phẩm đang quan tâm, hoặc các
sản phẩm muốn mua.
• Nhập vào: Click vào nút “Thêm vào giỏ” dưới mỗi sản
phẩm.
• Xử lý: Giỏ hàng sẽ nhận vào sản phẩm khách hàng đã
lựa chọn, cập nhật thông tin, giá cả, và số lượng của
sản phẩm ấy.
• Hiển thị: Nếu khách hàng chưa đăng ký và hóa đơn có
giá trị lớn hơn 500.000 đồngthì cần phải đăng kí mới có
thể mua sản phẩm, hệ thống sẽ hiển thị ra thông báo:
“Hóa đơn của bạn có giá trị lớn hơn 500.000 đồng, bạn
phải đăng ký để có thể mua hàng!”. Nếu khách hàng đã
đăng ký trở thành thành viên của hệ thống, hệ thống sẽ
tự động in ra hóa đơn chi tiết, và hoàn tất việc mua
hàng cho quý khách.


2.2.

Thành viên

Sau khi đăng nhập vào hệ thống, thành viên có thể sử dụng các chức
năng như: đăng nhập, thay đổi mật khẩu, góp ý, xem sản phẩm, tìm kiếm sản
phẩm, tham gia vào mua hàng (với đơn hàng có giá trị lớn hơn 500.000
đồng),và thoát khỏi hệ thống.



Chức năng đăng nhập:


Mô tả: Cho thành viên login vào hệ thống



Đối tượng: thành viên đã đăng ký



Nhập vào: Người dùng nhập vào các thông tin về tên đăng nhập
và mật khẩu để đăng nhập



Xử lý: Kiểm tra tên đăng nhập và mật khẩu của người dùng nhập
vào và so sánh trong CSDL. Nếu đúng thì cho đăng nhập, ngược

lại thì không.



Hiển thị: Đăng nhập thành công thì chuyển hướng tới trang
chính của “Thành Viên” hoặc hiển thị thông báo yêu cầu nhập lại
15


Phát triển phần mềm theo cấu phần

nếu thông tin không chính xác. Nếu thành viên quên mật khẩu thì
có thể chọn:”Quên mật khẩu”. Trong trường hợp người dùng là
khách vãng thì có thêm tùy chọn “Đăng ký thành viên”.









Chức năng thay đổi mật khẩu:


Mô tả: Cho phép thành viên thay đổi mật khẩu




Nhập vào: Nhập mật khẩu cũ và mật khẩu mới.



Xử lý: Nếu mật khẩu cũ đúng, lưu mật khẩu mới vào CSDL. Nếu
mật khẩu cũ là sai, không lưu mật khẩu mới và giữ nguyên trạng
thái là mật khẩu cũ.



Hiển thị ra: Hiển thị kết quả thông báo cho người sử dụng

Chức năng thoát khỏi hệ thống:


Mô tả: Giúp thành viên thoát khỏi hệ thống khi không còn nhu
cầu sử dụng.



Nhập vào: Người dùng click vào nút “Thoát” để đăng xuất khỏi
hệ thống



Xử lý: Dừng phiên làm việc của tài khoản thành viên trong hệ
thống




Hiển thị: Hiển thị thông báo “Đăng xuất thành công” và hiển thị
trang chủ của website.

Chức năng xem thông tin sản phẩm:


Mô tả: Dành cho thành viên xem thông tin của các sản phẩm
được đăng trên trang web.



Nhập vào: Hiển thị thông tin sản phẩm



Xử lý: Từ tên hoặc ảnh của sản phẩm tìm ra ID, sau đó lấy thông
tin sản phẩm từ CSDL thông qua ID.



Hiển thị: Hiển thị chi tiết thông tin sản phẩm

Chức năng đóng góp ý kiến:
16


Phát triển phần mềm theo cấu phần






Mô tả: Dành cho thành viên đóng góp ý kiến của mình. 
Nhập vào: thành viên nhập vào ý kiến đóng góp của mình 
Xử lý: Lưu ý kiến vừa đóng góp vào trong cơ sở dữ liệu.



Hiển thị: Hiển thị ra thông báo “Cảm ơn bạn đã đóng góp ý kiến
cho sản phẩm!”

Chức năng tìm kiếm nhanh và tìm kiếm chi tiết sản phẩm:




Tìm kiếm nhanh:


Mô tả: Dành cho thành viên tìm kiếm nhanh sản phẩm theo
tên sản phẩm.



Nhập vào: thành viên nhập vào tên sản phẩm cần tìm trên
khung tìm kiếm.



Xử lý: Tìm kiếm sản phẩm theo tên sản phẩm khách hàng

nhập vào.



Hiển thị: Nếu tồn tại sản phẩm đó trong cơ sở dữ liệu, hiển
thị ra sản phẩm. Nếu không, hiển thị ra thông báo “Xin lỗi,
không tìm thấy sản phẩm nào!”.

Tìm kiếm chi tiết:


Mô tả: Dành cho thành viên tìm kiếm chi tiết thông tin sản
phẩm theo tên sản phẩm, nhà sản xuất, và theo các khoảng giá
của sản phẩm.



Nhập vào: Nếu thành viên muốn tìm kiếm sản phẩm theo tên
sản phẩm, thành viên chỉ cần nhập vào tên. Nếu thành viên
muốn tìm kiếm chi tiết hơn, ví dụ như: Tìm kiếm theo cả tên
và nhà sản xuất, Tìm kiếm theo nhóm sản phẩm và các
khoảng giá của sản phẩm…vv… Thành viên chỉ cần nhập vào
các trường mình muốn tìm kiếm. Hệ thống sẽ xử lý các thông
tin và đưa ra kết quả hợp lệ.



Xử lý: Tìm kiếm sản phẩm theo đúng yêu cầu của thành viên




Hiển thị: Nếu tồn tại sản phẩm đó trong cơ sở dữ liệu, hiển
thị ra sản phẩm. Nếu không, hiển thị ra thông báo “Xin lỗi,
không tìm thấy sản phẩm nào!”.
17


Phát triển phần mềm theo cấu phần



Chức năng sử dụng giỏ hàng:


Mô tả: Cho phép thành viên sử dụng giỏ hàng của hệ thống để
lưu trữ các sản phẩm đang quan tâm, hoặc các sản phẩm muốn
mua.



Nhập vào: Click vào nút “Thêm vào giỏ” dưới mỗi sản phẩm.



Xử lý: Giỏ hàng sẽ nhận vào sản phẩm thành viên đã lựa chọn,
cập nhật thông tin, giá cả, và số lượng của sản phẩm ấy.



Hiển thị: Nếu thành viên chưa đăng ký thì không thể thanh toán

và mua sản phẩm có giá trị lớn hơn 500.000đồng, hệ thống sẽ
hiển thị ra thông báo: “Bạn phải đăng ký để có thể mua hàng có
giá trị lớn hơn 500.000 đồng!”. Nếu khách hàng đã đăng ký trở
thành thành viên của hệ thống, hệ thống sẽ hoàn tất việc mua
hàng cho khách và lưu đơn hàng vào trong cơ sở dữ liệu.
2.3.

Quản trị hệ thống

Trong hệ thống của mình, chúng tôi phân cấp thành 2 cấp quản trị
viên: cấp 1 và cấp 2. Cấp 1 là người có quyền cao nhất trong toàn bộ hệ
thống, có tất cả các chức năng dùng để quản lý hệ thống của website.
Cấp thứ 2 có các quyền thao tác với hệ thống hạn chế hơn: chỉ được
phép thêm và sửa các đối tượng chứ không có quyền xóa chúng.





Chức năng thêm loại sản phẩm:


Mô tả: Giúp quản trị viên có thể thêm loại sản phẩm mới



Nhập vào: quản trị viên nhập vào trường thông tin cần thiết của
loại sản phẩn




Xử lý: Kiểm tra các trường. Nếu tất cả đều phù hợp thì thêm vào
CSDL



Hiển thị: Nếu các dữ liệu đều phù hợp thì thông báo thêm loại
sản phẩm mới thành công, ngược lại thông báo không thể thêm
được loại sản phẩm và hiện ra trang nhập lại.

Chức năng xem loại sản phẩm:


Mô tả: Liệt kê các loại sản phẩm trong cơ sở dữ liệu
18


Phát triển phần mềm theo cấu phần









Xử lý: Lấy ra tất cả các loại sản phẩm có trong CSDL




Hiển thị : thông tin về các loại sản phẩm

Chức năng sửa tên loại sản phẩm:


Mô tả: Giúp quản trị viên có thể sửa tên của loại sản phẩm.



Xử lý: Kiểm tra nếu tên của loại sản phẩm mới nhập vào nếu
đã có trong cơ cở dữ liệu thì không cho phép sửa đổi tên này.
Ngược lại, hệ thống sẽ cập nhật tên loại sản phẩm mới vào cơ
sở dữ liệu.



Hiển thị: Nếu sửa đổi tên thành công, hiển thị ra thông báo:
“Sửa đổi thành công tên loại sản phẩm!”. Nếu không, hiển thị
ra thông báo: “Tên loại sản phẩm bạn vừa nhập đã tồn tại.”

Chức năng xóa loại sản phẩm:


Mô tả: Giúp quản trị viên có thể xóa loại sản phẩm.



Xử lý: Kiểm tra trong loại sản phẩm ấy có chứa sản phẩm nào
hay không? Nếu có, hệ thống sẽ không thể xóa loại sản phẩm này

và ngược lại. (Chú ý: Nếu trong loại sản phẩm ấy đã chứa sản
phẩm, trước hết phải xóa hết các sản phẩm trong loại sản phẩm
này rồi mới có thể xóa loại sản phẩm).



Hiển thị: Nếu xóa loại sản phẩm thành công, hiển thị ra thông
báo: “Xóa thành công loại sản phẩm!”. Nếu không, hiển thị ra
thông báo: “Bạn không thể xóa loại sản phẩm này.”

Chức năng thêm nhà sản xuất:


Mô tả: Giúp quản trị viên có thể thêm nhà sản xuất mới



Nhập vào: Quản trị viên nhập vào trường thông tin cần thiết của
nhà sản xuất.



Xử lý: Kiểm tra các trường. Nếu tất cả đều phù hợp thì thêm vào
CSDL

19


Phát triển phần mềm theo cấu phần












Hiển thị: Nếu các dữ liệu đều phù hợp thì thông báo thêm nhà
sản xuất mới thành công, ngược lại thông báo không thể thêm
được nhà sản xuất và hiện ra trang nhập lại.

Chức năng xem danh sách nhà sản xuất:


Mô tả: Liệt kê các nhà sản xuất trong cơ sở dữ liệu



Xử lý: Lấy ra tất cả thông tin của nhà sản xuất



Hiển thị: Thông tin của các nhà sản xuất

Chức năng sửa tên nhà sản xuất:



Mô tả: Giúp quản trị viên có thể sửa tên của nhà sản xuất



Xử lý: Kiểm tra nếu tên nhà sản xuất đã có trong cơ sở dữ
liệu thì không cho phép sửa đổi tên này. Ngược lại hệ thống
sẽ cập nhật tển loại sản phẩm mới vào cơ sở dữ liệu.



Hiển thị: : Nếu sửa đổi tên thành công, hiển thị ra thông báo:
“Sửa đổi thành công tên nhà sản xuất”. Nếu không, hiển thị ra
thông báo: “Tên nhà sản xuất bạn vừa nhập đã tồn tại.” và
hiện ra trang nhập lại.

Chức năng xóa nhà sản xuất:


Mô tả: Giúp quản trị viên có thể xóa nhà sản xuất



Xử lý: Kiểm tra trong nhà sản xuất ấy có chứa sản phẩm nào
không? Nếu có, hệ thống sẽ không thể xóa nhà sản xuất này.



Hiển thị: Nếu xóa nhà sản xuất thành công, hiển thị ra thông
báo: “Xóa thành công nhà sản xuất”. Nếu không thì hiện ra
thông báo: “Bạn không thể xóa nhà sản xuất này”.


Chức năng thêm sản phẩm:


Mô tả: Giúp “Admin” có thể thêm vào sản phẩm mới trong từng
loại sản phẩm.

20


Phát triển phần mềm theo cấu phần





Nhập vào: Admin nhập vào trường thông tin cần thiết của từng
sản phầm



Xử lý: Kiểm tra các trường. Nếu tất cả đều phù hợp thì thêm vào
CSDL



Hiển thị: Nếu các dữ liệu đều phù hợp thì thông báo “Thêm sản
phẩm mới thành công”, ngược lại thông báo “Không thể thêm
được sản phẩm”.


Chức năng xem sản phẩm:
 Mô tả: Liệt kê các sản phẩm trong từng
loại sản phẩm. 
Xử lý: Lấy ra tất cả
các sản phẩm có trong CSDL  Hiển
thị: Hiển thị chi tiết các sản phẩm.







Chức năng sửa thông tin sản phẩm:


Mô tả: Giúp quản trị viên có thể sửa các thông tin cần thiết của
sản phẩm.



Xử lý: Cập nhật chi tiết của các thông tin sản phẩm đã được sửa
đổi, như: Tên sản phẩm, giá sản phẩm, và mô tả sản phẩm.



Hiển thị: Hiển thị ra thông báo “Đã sửa thành công thông tin
sản phẩm.”

Chức năng xóa sản phẩm:



Mô tả: Giúp quản trị viên có thể xóa sản phẩm.



Xử lý: Xóa sản phẩm được lựa chọn trong cơ sở dữ liệu. Trong
trường hợp sản phẩm vẫn còn trong đơn hàng chưa thanh toán thì
không thể xóa được.



Hiển thị: Hiển thị ra thông báo: “Xóa thành công sản phẩm”.
Ngược lại thông báo “Bạn không thể xóa sản phẩm này”.

Chức năng xem danh sách khách hàng:
Mô tả: Giúp quản trị viên có thể xem thông tin của tất cả các
thành viên đăng ký vào hệ thống, thành viên đang chờ xác nhận.

21


Phát triển phần mềm theo cấu phần

Xử lý: Lấy tất cả khách hàng trong cơ sở dữ liệu Hiển thị:
Thông tin của tất cả các thành viên.










Chức năng xóa khách hàng:


Mô tả: Giúp quản trị viên có thể xóa khách hàng.



Xử lý: Xóa khách hàng được lựa chọn trong cơ sở dữ liệu. Nếu
khách hàng còn đơn hàng thì không cho xóa.



Hiển thị: Hiển thị ra thông báo: “Xóa thành công khách hàng”.
Ngược lại, thông báo “Không thể xóa khách hàng, bạn cần xóa
các đơn hàng của khách hàng này trước”.

Chức năng đăng banner:


Mô tả: Giúp quản trị viên có thể đăng các ảnh banner lên trang
chủ của hệ thống 
Nhập vào: Admin nhập vào tiêu đề,
hình ảnh, và nội dung của banner muốn đăng.




Xử lý: Lưu trữ các tin tức mới đăng vào CSDL.



Hiển thị: Sau khi nhấn “Đăng mới”, hiển thị các banner mới
đăng lên trang chủ của hệ thống.

Chức năng liệt kê các banner đã đăng:


Mô tả: Giúp quản trị viên xem lại các bannerđã đăng.



Xử lý: Lấy ra tất cả các thông tin đã được nhập vào trong CSDL.



Hiển thị: Hiển thị ra tất cả các banner đã đăng.

Chức năng chỉnh sửa banner đã đăng:


Mô tả: Giúp quản trị viên có thể sửa đổi thông tin,
tiêu đề của banner đã đăng.



Xử lý: Cập nhật chi tiết của các thông tin của banner

đã được sửa đổi  Hiển thị: Hiển thị ra thông báo
“Đã sửa thành công banner.”

22


Phát triển phần mềm theo cấu phần











Chức năng xóa banner:


Mô tả: Giúp quản trị viên có thể xóa banner.



Xử lý: Xóa banner được lựa chọn trong cơ sở dữ liệu.



Hiển thị: Hiển thị ra thông báo: “Xóa thành công banner”.


Chức năng xem danh sách các góp ý của khách hàng:


Mô tả: Giúp quản trị viên xem các góp ý của khách hàng.



Xử lý: Lấy ra tất cả các góp ý của khách hàng được lưu trong
CSDL.



Hiển thị: Hiển thị ra tất cả các góp ý của khách hàng.

Chức năng xóa góp ý:


Mô tả: Giúp quản trị viên có thể xóa góp ý.



Xử lý: Xóa góp ý được lựa chọn trong cơ sở dữ liệu.



Hiển thị: Hiển thị ra thông báo: “Xóa thành công góp ý”. Trong
trường hợp admin không có quyền xóa thì hiện ra thông báo:
“Bạn không có quyền xóa góp ý”.


Chức năng xem danh sách ban quản trị của hệ thống:


Mô tả: Giúp admin xem danh sách ban quản trị của hệ thống.



Xử lý: Lấy ra tất cả danh sách thông tin của ban quản trị.



Hiển thị: Hiển thị ra danh sách ban quản trị.

Chức năng thêm quản trị hệ viên:


Mô tả: Giúp quản trị viên thêm ban quản trị vào hệ thống, thiết
lập các quyền, phân cấp ban quản trị.



Nhập vào: Nhập vào các thông tin cần thiết của ban quản trị



Xử lý: Kiểm tra tên đăng nhập của quản trị viên mới được nhập
vào với tên đăng nhập của các ban quản trị trước được lưu trong
CSDL. Nếu không trùng với mã ID của các ban quản trị đã được
23



Phát triển phần mềm theo cấu phần

tạo trước đó thì cho phép lưu trữ các thông tin mới nhập vào
CSDL và khởi tạo một quản trị viên mới trong hệ thống. Ngược
lại, hiển thị thông báo lỗi và trở lại trang thêm quản trị viên.






Hiển thị: Hiển thị ra thông báo “Đã thêm thành công quản trị
viên mới”.

Chức năng xóa quản trị viên:


Mô tả: Giúp quản trị viên có thể xóa ban quản trị.



Xử lý: Xóa bỏ tài khoản của quản trị viên được lựa chọn trong cơ
sở dữ liệu.



Hiển thị: Hiển thị ra thông báo: “Xóa thành công”.

Chức năng thống kê sản phẩm, góp ý, khách hàng:



Mô tả: Giúp quản trị viên có thể dễ dàng thống kê số lượng sản
phẩm, góp ý, danh sách khách hàng.



Xử lý: Lấy dữ liệu từ CSDL ra và thực hiện câu lệnh đếm số
lượng.
Hiển thị: Hiển thị ra số lượng thống kê được của sản
phẩm, khách hàng, góp ý, v..v.

24


Phát triển phần mềm theo cấu phần

III. Thiết kế hệ thống

1. Mô hình quan hệ thực thể

Nhà sản xuất

1


n

Hình ảnh


n

1



n

Sản phẩm

1



Loại sản phẩm

1

Admin

Xác định

1

n

Được

Phân quyền
n


n
n

Đơn hàng

1


n

Chi tiết
đơn hàng

1
Quyền

Gồm

Đặt

1

Banner

Khách hàng

Quảng cáo

Góp ý


• Admin
MaAdmin

Email

TenDangNhap

DienThoai

MatKhau

MatKhau
HoTen

Admin

NgayTao

NgayLogin
GanNhat
NgaySua
GanNhat

25


×