You are on page 1of 41

n

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

--------

BÀI TẬP LỚN

MÔN HỌC: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Đề tài: Tìm hiều về mô hình quy trình Scrum và vận dụng trong dự án

phát triển website bán đồ công nghệ

Nhóm sinh viên thực hiện: Nhóm số 1

Lớp: ĐH KHMT02 – K16

Giảng viên hướng dẫn: Vũ Đình Minh

Sinh viên thực hiện:

1. Nguyễn Thành Nam


2. Nguyễn Đức Thanh Nam
3. Trịnh Hải Nam

Hà Nội, 2022
MỤC LỤC

LỜI MỞ ĐẦU: .....................................................................................................

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI. Error: Reference source not found

1.1. Giới thiệu chung về đề tài.....................Error: Reference source not found

1.2. Giới thiệu dự án phần mềm ..................Error: Reference source not found

1.3. Công cụ, kỹ thuật và phương pháp phát triển phần mềm ............................

1.3.1. Mô hình quy trình ứng dụng để phát triển dự án phần mềm ......Error:
Reference source not found
1.3.2. Công cụ, kỹ thuật và phương pháp Error: Reference source not found

1.3.2.1. ......................................................Error: Reference source not found

CHƯƠNG II: PHÂN TÍCH VÀ YÊU CẦU ĐẶC TẢ PHẦN MỀM....Error:


Reference source not found

2.1. Tác nhân và chức năng hệ thống ...........Error: Reference source not found

2.1.1. Tác nhân hệ thống...........................Error: Reference source not found

2.1.2. Tác nhân và các chức năng tương ứngError: Reference source not
found........................................................................................................................

2.2. Sơ đồ use caseError: Reference source not found........................................

2.2.1. Sơ đồ use case tổng quátError: Reference source not found.................

2.2.2. Sơ đồ phân rã use case..........................................................................

2.3. Quy trình nghiệp vụError: Reference source not found


………………………………………………………
2.3.1. ..............................................................................................................
2.3.2..........................................................Error: Reference source not found

2.3.3..........................................................Error: Reference source not found

2.3.4...Error: Reference source not foundError: Reference source not found

2.3.5. .......................................................Error: Reference source not found

2.3.6. .......................................................Error: Reference source not found


2.3.7. .......................................................Error: Reference source not found

2.4. Đặc tả use cáeError: Reference source not found


………………………………………………………
2.4.1..........................................................Error: Reference source not found

2.4.2..........................................................Error: Reference source not found

2.4.3...Error: Reference source not foundError: Reference source not found

2.4.4. .......................................................Error: Reference source not found

2.4.5. .......................................................Error: Reference source not found

2.4.6. .......................................................Error: Reference source not found

CHƯƠNG III: THIẾT KẾ PHẦN


MỀM..........................................................Error: Reference source not found
TỔNG KẾT: .....................................................................................................
DANH MỤC HÌNH ẢNH

Hình : Biểu đồ use case tổng quát............................

Hình : Biểu đồ use case đăng nhập.........................................................

Hình : Biểu đồ use case quản lý sản phẩm .............................................

Hình : Biểu đồ use case quản lý nhân viên ..................................

Hình : Biểu đồ use case quản lý liên hệ ..........................

Hình : Biểu đồ use case giỏ hàng, đơn hàng........................................................

Hình : Biểu đồ use case quản lý khách hàng .................................

Hình : Biểu đồ Sequence Diagram – Đăng nhập.................................................

Hình : Biểu đồ Sequence Diagram – Quản lý sản phẩm..................................

Hình : Biểu đồ Sequence Diagram – Quản lý nhân viên.................................

Hình : Biểu đồ Sequence Diagram – Quản lý liên hệ........................

Hình : Biểu đồ Sequence Diagram – Giỏ hàng .................................

Hình : Biểu đồ Sequence Diagram – Quản lý khách hàng .................................

Hình : Biểu đồ Sequence Diagram – Quản lý hóa đơn........................

Hình : Biểu đồ lớp.................................


DANH MỤC BẢNG BIỂU

Bảng : Đặc tả use case tổng quát........................

Bảng : Đặc tả use case đăng nhập ........................

Bảng : Đặc tả use case quản lý sản phẩm........................

Bảng : Đặc tả use case quản lý nhân viên ........................

Bảng : Đặc tả use case quản lý liên hệ........................

Bảng : Đặc tả use case giỏ hàng ........................

Bảng : Đặc tả use case quản lý khách hàng........................


Lời nói đầu

Trong thời đại công nghệ số hiện nay, phần mềm đóng vai trò rất quan
trọng trong việc giải quyết các vấn đề khó khăn của cuộc sống. Với mong muốn
tạo ra một sản phẩm phần mềm hữu ích, đáp ứng nhu cầu của người dùng, tôi
và nhóm của tôi đã tiến hành nghiên cứu và phát triển một dự án phần mềm đầy
thử thách.
Trong báo cáo luận án này, tôi sẽ trình bày về quá trình nghiên cứu, thiết
kế, phát triển và triển khai dự án phần mềm của chúng tôi. Đồng thời, cũng sẽ
giới thiệu về các tính năng, chức năng của sản phẩm, cũng như những thách
thức và hạn chế trong quá trình thực hiện.
Trong quá trình thực hiện đề tài chúng tôi đã gặp không ít khó khăn và
khúc mắc. Cũng rất may mắn khi được thầy giáo hướng dẫn TS. Vũ Đình Minh
đã nhiệt tình giải đáp thắc mắc và hướng dẫn một cách chi tiết. Cộng với sự cố
gắng của các thành viên nhờ đó chúng tôi đã hoàn thành được tài liệu này. Mặc
dù vậy khi làm một bài tập cần tính công phu và tập trung cao thì sai sót là
không thể tránh khỏi. Chúng tôi mong nhận được những lời đóng góp của thầy
giáo và bạn đọc để tài liệu này hoàn thiện hơn nữa.
Chúng tôi xin chân thành cảm ơn!

Nhóm tác giả: nhóm 1- 20222IT6082006

12
MỞ ĐẦU

1. Lý do chọn chủ đề/đề tài

Đề tài của nhóm chúng em là "Tìm hiểu và áp dụng mô hình Scrum trong
quy trình phát triển phần mềm bán đồ công nghệ ". Nhóm của chúng em đã chọn
đề tài này vì chúng em nhận thấy rằng mô hình Scrum đang được sử dụng rộng
rãi trong ngành công nghiệp phần mềm và có tính ứng dụng cao. Chúng em
muốn tìm hiểu về quy trình phát triển phần mềm và mô hình Scrum để có thể áp
dụng vào thực tế trong tương lai.

Mỗi cá nhân trong nhóm của chúng em có mong muốn học được những
kỹ năng và kiến thức cần thiết để có thể tham gia vào quy trình phát triển phần
mềm một cách hiệu quả. Chúng em mong muốn có khả năng giải thích các hoạt
động và thứ tự ưu tiên của các hoạt động trong mô hình Scrum, cũng như đánh
giá được ưu điểm và hạn chế của mô hình này trong thực tế.

Mục tiêu của đề tài của chúng em là hiểu rõ về mô hình Scrum và áp dụng
nó vào quy trình phát triển phần mềm bán đồ công nghệ. Chúng em muốn tìm
hiểu về cách thức triển khai mô hình Scrum, những lợi ích mà nó mang lại, cũng
như các thách thức và cách giải quyết khi sử dụng mô hình này. Bằng cách
nghiên cứu đề tài này, chúng em hy vọng có thể nâng cao kỹ năng và kiến thức
về phát triển phần mềm và chuẩn bị cho sự nghiệp tương lai của mình.

2. Mục tiêu nghiên cứu

Dựa vào lý do chọn đề tài mà chúng em đã trình bày ở trên, chúng em đề ra


các mục tiêu nghiên cứu như sau:

- Hiểu rõ hơn về mô hình quy trình Scrum và các hoạt động trong quy trình
này.
- Phân tích và đánh giá các ưu điểm và hạn chế của mô hình Scrum trong
phát triển website bán đồ công nghệ.
7
- Áp dụng mô hình Scrum vào dự án phát triển website bán đồ công nghệ,
tìm hiểu thực tiễn và hiệu quả của mô hình trong dự án này.
- So sánh và đánh giá sự khác biệt giữa việc sử dụng mô hình Scrum và
việc không sử dụng mô hình này trong quá trình phát triển website bán đồ
công nghệ.

3. Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu của đề tài là:

Mô hình Scrum trong quy trình phát triển phần mềm bán đồ công
nghệ, bao gồm các hoạt động và thứ tự ưu tiên của chúng trong quy
trình phát triển phần mềm, cụ thể là quy trình kỹ thuật yêu cầu, thiết kế
phần mềm và kiểm thử phần mềm. Đồng thời, đối tượng nghiên cứu
cũng bao gồm việc vận dụng mô hình Scrum trong dự án phát triển phần
mềm bán đồ công nghệ

- Phạm vi nghiên cứu của đề tài là:


+ Thời gian nghiên cứu: đề tài sẽ tập trung nghiên cứu trong khoảng
thời gian của kỳ học hiện tại.
+ Không gian nghiên cứu: đề tài sẽ tập trung nghiên cứu trên một dự án
phát triển website bán đồ công nghệ cụ thể, không giới hạn địa điểm.
+ Lĩnh vực nghiên cứu: đề tài sẽ tập trung nghiên cứu về mô hình quy
trình Scrum và vận dụng trong dự án phát triển phần mềm, đặc biệt là
dự án phát triển website bán đồ công nghệ

4. Kết quả mong muốn đạt được của đề tài

- Hiểu rõ về quy trình phát triển phần mềm và Scrum để áp dụng vào dự
án Web bán đồ công nghệ.
- Xác định và áp dụng đúng các hoạt động của Scrum vào dự án Web bán
đồ công nghệ.

8
- Áp dụng phương pháp phân tích thiết kế hướng đối tượng vào dự án
Web bán đồ công nghệ.
- Viết được tài liệu đặc tả yêu cầu và mô tả chi tiết thiết kế của dự án
Web bán đồ công nghệ.
- Đánh giá hiệu quả của việc áp dụng mô hình Scrum trong quy trình phát
triển phần mềm bán đồ công nghệ

5. Cấu trúc của báo cáo

Ngoài phần Mở đầu và Kết luận, Tài liệu tham khảo, Phụ lục nội dung
quyển Báo cáo bài tập lớn còn bao gồm 3 chương:

o Chương 1. Tổng quan về đề tài


o Chương 2. Phân tích và đặc tả yêu cầu phần mềm.
o Chương 3. Thiết kế phần mềm.

9
Chương I: TỔNG QUAN VỀ ĐỀ TÀI

1.1. Giới thiệu chung về đề tài

Để giải quyết các vấn đề trong quá trình phát triển phần mềm, đề tài này sẽ
tập trung nghiên cứu về mô hình quy trình Scrum và áp dụng nó vào dự án phát
triển Web bán đồ công nghệ. Trong quá trình thực hiện đề tài, chúng em sẽ
nghiên cứu phương pháp phân tích thiết kế hướng đối tượng và áp dụng nó vào
dự án Website bán đồ công nghệ. Ngoài ra, còn nghiên cứu về quy trình phân
tích kỹ thuật yêu cầu (phân tích yêu cầu phần mềm) và viết tài liệu đặc tả yêu
cầu của Web bán đồ công nghệ. Điều này nhằm đảm bảo rằng các yêu cầu của
khách hàng sẽ được hiểu đúng và đầy đủ. Bên cạnh đó, đề tài cũng nghiên cứu
về quy trình thiết kế Website và viết tài liệu mô tả chi tiết thiết kế Web bán đồ
công nghệ. Đây là một dự án phần mềm được phát triển cho công ty kinh doanh
bán đồ công nghệ được áp dụng và triển khai tại các điểm bán hàng và kho hàng
của công ty trên toàn quốc.

1.2. Giới thiệu dự án phần mềm

Dự án của chúng tôi sử dụng mô hình Scrum để quản lý và phát triển sản
phẩm. Với mô hình này, dự án sẽ được phát triển trong các chu kỳ phát triển linh
hoạt và có tính cập nhật liên tục để đáp ứng nhu cầu của khách hàng.
Trang web bán đồ công nghệ sẽ được thiết kế với các tính năng đa dạng
để đáp ứng nhu cầu của khách hàng.
- Trang chủ sẽ hiển thị các sản phẩm nổi bật, các ưu đãi mới nhất, thông
tin về các sản phẩm mới nhất và đánh giá từ khách hàng.
- Danh mục sản phẩm cho phép khách hàng tìm kiếm các sản phẩm theo
nhiều tiêu chí khác nhau.
- Trang chi tiết sản phẩm cho phép khách hàng xem thông tin chi tiết về
sản phẩm và đặt hàng trực tuyến.
- Giỏ hàng cho phép khách hàng xem và sửa đổi các sản phẩm trong giỏ
hàng của họ trước khi đặt hàng.
10
- Trang đăng ký cho phép khách hàng đăng ký tài khoản để đặt hàng và
theo dõi các đơn hàng của họ.
- Trang đăng nhập cho phép khách hàng đăng nhập vào tài khoản của họ.
- Trang quản trị cho phép quản trị viên quản lý sản phẩm, đơn hàng,
khách hàng và các tính năng khác của trang web.
Để phát triển sản phẩm, dự án sẽ được chia thành các Sprint có độ dài từ 2
đến 4 tuần để phát triển các tính năng cụ thể. Trong mỗi Sprint, các tính năng
mới sẽ được phát triển, kiểm thử và triển khai. Nhờ vậy, dự án phần mềm này sẽ
thực hiện việc áp dụng mô hình Scrum vào quá trình phát triển sản phẩm và
đánh giá hiệu quả của mô hình Scrum trong việc quản lý và phát triển sản phẩm
phần mềm.
Qua đó, dự án "Xây dựng website bán đồ công nghệ" sẽ sử dụng mô hình
Scrum để phát triển sản phẩm với các tính năng đa dạng, cập nhật liên tục để đáp
ứng nhu cầu của khách hàng và được chia thành các Sprint để phát triển từng
tính năng cụ thể. Dự án sẽ giúp đánh giá hiệu quả của mô hình Scrum trong việc
quản lý và phát triển sản phẩm phần mềm.

1.3. Công cụ, kỹ thuật và phương pháp phát triển phần mềm

1.3.1. Mô hình quy trình ứng dụng để phát triển dự án phần mềm

Giới thiệu khung quy trình phát triển phần mềm linh hoạt Scrum

1.3.1.1. Định nghĩa

Khung quy trình Scrum là một mô hình làm việc rất phổ biến, được xây dựng
dựa trên những nguyên tắc của Agile.
Phương pháp Scrum đơn giản hóa quy trình để phát triển phần mềm đáp ứng
các nhu cầu nghiệp vụ. Vì có cơ sở là Agile nên mô hình Scrum cũng dựa trên
cơ chế lặp và sự tăng trưởng.
Những dự án áp dụng Scrum được phát triển qua một chuỗi các vòng Sprint
lặp lại mỗi 1-4 tuần. Trong vòng Sprint, một hạng mục cụ thể của phần mềm sẽ

11
được xác định, phát triển và kiểm tra. Sau đó, hạng mục này được thêm vào
(increment) và chuyển giao khi kết thúc vòng sprint.
Mô hình Scrum hoạt động dựa trên ba nguyên lý cốt lõi như sau:
1. Transparency (sự minh bạch)
2. Inspection (sự thanh tra)
3. Adaptation (sự thích nghi)
1.3.1.2. Nhóm Scrum
Các nhóm Scrum bao gồm:
1. Product Owner (Chủ Sản phẩm): chịu trách nhiệm tối đa hóa giá trị của
sản phẩm và công việc của Nhóm Phát triển.
2. Nhóm phát triển (Development Team): gồm các chuyên gia làm việc để
cho ra các phần tăng trưởng có thể phát hành được (potentially releasable)
cuối mỗi Sprint.
3. Scrum Master: chịu trách nhiệm đảm bảo mọi người hiểu và dùng được
Scrum.
Các Nhóm Scrum là các nhóm tự quản (self-organizing) và liên chức năng
(cross-functional). Các nhóm tự quản tự mình chọn cách thức tốt nhất để hoàn
thành công việc của họ, chứ không bị chỉ đạo bởi ai đó bên ngoài nhóm.
1.3.1.3. Sprint trong Scrum
Sprint trong Scrum là khoảng thời gian mà Nhóm Scrum tiến hành tất cả các
hoạt động cần thiết để sản xuất được một phần tăng trưởng có khả năng chuyển
giao được.
Sprint được đóng khung thời gian, có độ dài không quá một tháng và nhất
quán trong suốt quá trình phát triển. Độ dài của Sprint còn phụ thuộc vào bối
cảnh của dự án, đặc trưng của dự án và yêu cầu về thông tin phản hồi.
Sprint ngắn gia tăng tính thích ứng với thay đổi và giảm thiểu rủi ro nhưng
tăng chi phí quản lý (thời gian cho các cuộc họp tăng lên). Các Sprint diễn ra
liên tiếp nhau mà không bị gián đoạn.
Trong suốt Sprint:

12
1. Không cho phép bất kì sự thay đổi nào ảnh hưởng đến Mục tiêu Sprint.
2. Thành phần Nhà Phát triển được giữ nguyên
3. Mục tiêu chất lượng không được cắt giảm
4. Phạm vi có thể được làm rõ và tái thương lượng giữa Khách hàng và Nhà
Phát triển.

Hình minh họa về các hoạt động trong mỗi Sprint.

Vòng Sprint: Có thể nói, các vòng sprint giống như “nhịp tim” của
Scrum, là nơi biến ý tưởng thành giá trị. Các vòng sprint có độ dài tối đa khoảng
một tháng và nhất quán trong suốt quá trình phát triển. Một vòng sprint mới sẽ
được bắt đầu tiến hành ngay sau khi vòng sprint trước đó đã kết thúc.

Sprint planning: Đây là buổi họp mở đầu của vòng sprint, có giới hạn 8
tiếng cho vòng sprint dài một tháng. Tất cả công việc của một vòng sprint sẽ
được lên kế hoạch cụ thể trong buổi họp sprint planning. Trong sprint planning,
các bên liên quan sẽ phân tích và trả lời lần lượt những câu hỏi dưới đây:

1. Tại sao vòng sprint này lại tạo ra giá trị? (Mục tiêu của vòng sprint này
sẽ gồm những gì?)
2. Có thể hoàn thành điều gì trong vòng sprint này? (Vòng sprint này sẽ
phải chuyển giao những điều gì?)

13
3. Làm thế nào để hoàn thành những việc đã chọn? (Làm sao để đạt được
những điều chuyển giao đó?

Daily Scrum: Các buổi họp Daily Scrum thường kéo dài 15 phút dành
cho các developer của Scrum team. Vào mỗi ngày của vòng sprint, một daily
Scrum sẽ được tổ chức vào cùng thời gian và địa điểm. Mục đích là để kiểm tra
tiến độ hoàn thành sprint goal và điều chỉnh sprint backlog nếu cần thiết. Ngoài
ra, các buổi daily Scrum còn phải đưa ra được kế hoạch làm việc cho 24 giờ tiếp
theo.

Sprint review: Sprint review là buổi họp kế cuối của vòng sprint với giới
hạn thời gian là 4 tiếng cho vòng sprint dài một tháng. Mục đích là kiểm tra kết
quả vòng sprint và xác định những thích ứng cần thiết trong tương lai. Kết quả
của sprint review là product backlog đã cập nhật cùng những công việc ở vòng
sprint tiếp theo.

Sprint retrospective: là buổi họp cuối cùng của vòng sprint, giới hạn 3
tiếng cho vòng sprint dài một tháng. Với những vòng sprint có thời hạn ngắn
hơn thì buổi họp sprint retrospective cũng sẽ diễn ra ngắn hơn. Mục đích là để
tổng duyệt và lập ra kế hoạch gồm những cách tăng chất lượng và hiệu quả. Mục
tiêu là xác định được những cải tiến hữu hiệu nhất để triển khai ở vòng sprint
tiếp theo.

Product Backlog: là một danh sách chứa tất cả những thứ cần cho sản
phẩm đó. Là một danh sách được quản lý và sắp xếp thứ tự bởi Product Owner.
Mỗi một Product chỉ có một Product Backlog. Mỗi một Backlog chỉ do một
Product Owner quản lý. Việc sắp xếp Product Backlog sẽ giúp Scrum Team tối
ưu hoá giá trị của sản phẩm phát triển qua từng Sprint. Những Product Backlog
Items quan trọng và giá trị nhất thường ở vị trí trên đầu Product Backlog.
Product Backlog sẽ không bao giờ kết thúc, nó tồn tại và phát triển theo sự phát
triển của sản phẩm đó.

14
Sprint Backlog: là một bộ những Product Backlog Items được lựa chọn
cho Sprint đó. Nó thường bao gồm: kế hoạch và những danh sách công việc dự
đoán cần phải được làm. Sprint Backlog phải minh bạch, tức phải đáp ứng đủ 3
điều:

1. Ai cũng có thể dễ dàng xem..


2. Luôn được cập nhật mới nhất.
3. Ai cũng hiểu được nó..

Sprint Backlog được quản lý bởi Developer, và như là bản kế hoạch của
họ cho Sprint đó. Sprint Backlog sẽ được update bất cứ khi nào có sự thay đổi.

1.3.1.4. Đánh giá


Ưu điểm:
1. Cải thiện chất lượng tốt hơn
2. Giảm thiểu thời gian đưua ra thị trường
3. Khách hàng hài lòng hơn
4. Nâng cao tinh thần nhóm, gia tăng cộng tác và sở hữu
5. Gia tăng sự kiểm soát
6. Giảm thiểu rủi ro

1.3.2. Công cụ, kỹ thuật và phương pháp

1.3.2.1. Công cụ phát triển phần mềm

a. Rational Rose

Rational Rose là phần mềm công cụ hỗ trợ mạnh cho phân tích, thiết kế
hệ thống phần mềm theo hướng đối tượng. Rational Rose cung cấp cho các nhà
phát triển một môi trường tích hợp để thiết kế, phát triển và quản lý các dự án
phần mềm. Nó cho phép người dùng thiết kế các biểu đồ UML (Unified
Modeling Language) để mô tả các yêu cầu của hệ thống, kiến trúc của hệ thống,
các use case, các class, các sequence và các activity diagram. Qua đó người phát

15
triển hệ thống có thể hiểu được hệ thống bao gồm những gì, hoạt động ra sau để
lập kế hoạch chi tiết cho việc xây dựng hệ thống

b. Mockup

Mockup là một mô hình hoặc bản vẽ giả định của một sản phẩm, chẳng
hạn như một trang web, ứng dụng di động, hoặc giao diện người dùng. Mục đích
của việc tạo ra mockup là để giúp người thiết kế hoặc nhà phát triển có thể thử
nghiệm ý tưởng và thiết kế sản phẩm trước khi thực hiện chúng. Mockup thường
được tạo ra bằng cách sử dụng các công cụ thiết kế đồ họa, các công cụ tạo mẫu
dựa trên web hoặc cũng có thể là bản vẽ tay. Mockup có một số lợi thế như trực
quan với các bên liên quan, dễ dàng sửa đổi, làm tăng cuốn hút cho thiết kế, dễ
khiến khách hàng hài lòng, tiết kiệm thời gian, chi phí. 

c. Google Docs

Google Docs là một dịch vụ xử lý văn bản trực tuyến do Google cung cấp.
Nó cho phép người dùng tạo, chỉnh sửa và chia sẻ các tài liệu văn bản, bảng
tính, bài thuyết trình và biểu mẫu trên nền tảng web. 

Google Docs là một công cụ đám mây, nghĩa là tài liệu được lưu trữ trên
máy chủ của Google và có thể được truy cập từ bất kỳ thiết bị nào có kết nối
internet và được đăng nhập tài khoản Google. Người dùng có thể mời người
khác để cùng làm việc trên các tài liệu của mình và chia sẻ chúng với các quyền
truy cập khác nhau. 

Google Docs cũng có tính năng đồng bộ hóa tự động, cho phép các tài
liệu được cập nhật đồng thời khi nhiều người cùng làm việc trên cùng một tài
liệu. Ngoài ra, Google Docs còn tích hợp với các ứng dụng khác của Google như
Google Drive, Gmail và Google Sheets để giúp người dùng quản lý và chia sẻ
tài liệu một cách dễ dàng.

d. Visual Studio Code

16
Visual Studio Code là một trình biên tập mã nguồn mở và miễn phí được
phát triển bởi Microsoft. Nó là một trong những công cụ phổ biến được sử dụng
để phát triển ứng dụng và các dự án mã nguồn mở. 

Visual Studio Code hỗ trợ nhiều ngôn ngữ lập trình cùng với một số tính
năng như nhấn mạnh cú pháp và kiểm tra lỗi cú pháp để giúp người dùng viết
mã nhanh hơn và dễ dàng hơn. Ngoài ra, Visual Studio Code cũng hỗ trợ đa nền
tảng, có thể chạy trên Windows, macOS và Linux. 

Visual Studio Code có nhiều tính năng mở rộng, cho phép người dùng cài
đặt các tiện ích và phần mở rộng để mở rộng chức năng của trình biên tập. Nó
cũng tích hợp với các công cụ khác như Git và Docker để giúp người dùng quản
lý mã nguồn và triển khai ứng dụng một cách dễ dàng.

e. Dev-C++

Dev-C++ là một trình biên dịch và môi trường phát triển tích hợp (IDE)
dành cho ngôn ngữ lập trình C++ trên hệ điều hành Windows. Nó được phát
triển bởi tác giả Bloodshed Software và được phát hành miễn phí dưới giấy phép
GPL. 

Dev-C++ cung cấp các tính năng như trình soạn thảo mã nguồn, trình biên
dịch C++ (GNU Compiler Collection), trình gỡ lỗi, và khả năng tạo và quản lý
các dự án lập trình C++. Nó cũng hỗ trợ các thư viện C++ chuẩn và các thư viện
bên thứ ba.

1.3.2.2. Phương pháp phát triển phần mềm

Phương pháp hướng đối tượng tập trung vào cả hai khía cạnh quan trọng
trong hệ thống: dữ liệu và hành động. Cách tiếp cận này nhìn nhận hệ thống như
một tập hợp các đối tượng ngoài đời thực tương ứng với các thành phần trong
bài toán, mỗi đối tượng sẽ bao gồm cả dữ liệu và hành động liên quan đến
chúng. 

17
Các đối tượng trong hệ thống được xây dựng độc lập với nhau và phần mềm sẽ
được xây dựng bằng cách kết hợp các đối tượng đó lại với nhau thông qua các
mối quan hệ và tương tác giữa chúng.

Phương pháp hướng đối tượng không tập trung vào việc chia bài toán
thành các bài toán nhỏ, mà tập trung vào việc xác định các đối tượng, dữ liệu và
hành động của chúng, và mối quan hệ giữa các đối tượng. Các đối tượng hoạt
động độc lập và chỉ thực hiện hành động khi nhận được yêu cầu từ các đối tượng
khác. Nhờ vậy, phương pháp này hỗ trợ phân tích, thiết kế và quản lý một hệ
thống lớn, có thể mô tả các hoạt động nghiệp vụ phức tạp mà không phụ thuộc
vào số lượng dữ liệu hay số lượng thao tác cần thực hiện, mà chỉ quan tâm tới
các đối tượng tồn tại trong hệ thống đó.

1.3.2.3. Các kĩ thuật trong phát triển phần mềm

Khi thiết kế và phát triển phần mềm bán sách, kỹ thuật mô hình hóa và
mô đun hóa là hai kỹ thuật quan trọng để giúp chia nhỏ các chức năng của hệ
thống thành các phần nhỏ hơn và dễ quản lý hơn, tối ưu hóa hiệu suất và đảm
bảo tính linh hoạt và dễ bảo trì của hệ thống.

Mô hình hóa là quá trình tìm hiểu các yêu cầu của khách hàng và phân
tích chúng thành các mô hình hóa để đảm bảo hiểu rõ yêu cầu của khách hàng.
Các mô hình hóa này thường được biểu diễn bằng các sơ đồ khối, lưu đồ hoặc
các biểu đồ UML. Quá trình này giúp đảm bảo rằng các yêu cầu của khách hàng
được hiểu đúng và đầy đủ, giúp cho việc thiết kế và xây dựng hệ thống dễ dàng
hơn.

Mô đun hóa là quá trình chia nhỏ hệ thống thành các thành phần, gọi là
các mô-đun, để dễ dàng quản lý và phát triển. Các mô-đun này có thể được thiết
kế để thực hiện các chức năng cụ thể của hệ thống, và có thể được kết hợp lại để
tạo thành hệ thống hoàn chỉnh. Quá trình này giúp cải thiện tính tái sử dụng của
mã, giảm thiểu tác động của các thay đổi đến các phần khác của hệ thống và
giúp cho việc phát triển và bảo trì phần mềm dễ dàng hơn.

18
Khi áp dụng các kỹ thuật này vào thiết kế và phát triển phần mềm bán
sách, các chức năng của hệ thống có thể được chia nhỏ thành các mô-đun riêng
lẻ, chẳng hạn như quản lý đơn hàng, quản lý kho sách, thanh toán, quản lý tài
khoản khách hàng, và nhiều chức năng khác. Các mô-đun này có thể được thiết
kế và phát triển độc lập, trước khi được kết hợp lại để tạo thành hệ thống hoàn
chỉnh.

Các kỹ thuật mô hình hóa và mô đun hóa giúp cho việc quản lý và phát
triển phần mềm dễ dàng hơn, đồng thời cải thiện tính linh hoạt và dễ bảo trì của
hệ thống. Việc sử dụng các kỹ thuật này giúp tối ưu hóa hiệu suất của hệ thống
và đáp ứng nhu cầu của người dùng.

CHƯƠNG II: PHÂN TÍCH VÀ YÊU CẦU ĐẶC TẢ PHẦN MỀM

2.1. Tác nhân và chức năng hệ thống

2.1.1. Tác nhân hệ thống

Dựa vào mô tả hệ thống, ta có thể xác định được các tác nhân chính
của hệ thống như sau:

Tác nhân Admin: người thực hiện các chức năng quản trị hệ thống,
quản lý nhân viên, quản lý món ăn, quản lý khách hàng, quản lý tài khoản,
quản lý đơn hàng, quản lý liên hệ,... Để thực hiện chức năng này người
nhân viên phải đăng nhập.

Tác nhân Khách hàng: có thể thực hiện các chức năng như đăng ký
tài khoản, đăng nhập. Xem sản phẩm, xem chi tiết sản phẩm, đặt hàng,
xem giỏ hàng, in hóa đơn.

2.1.2. Tác nhân và các chức năng tương ứng

STT Tác nhân Chức năng

1 Admin - Quản lý nhân viên


19
- Quản lý sản phẩm

- Quản lý khách hàng

- Quản lý liên hệ

- Quản lý hóa đơn

2 User - Đăng nhập

- Thêm giỏ hàng

Bảng 2.x. Bảng mô tả thông tin về tác nhân và chức năng tương ứng

2.2. Sơ đồ use case


2.2.1. Sơ đồ use case tổng quát

Hình : Biều đồ use case tổng quát

20
Website bán đồ công nghệ
Tên Tổng quan hệ thống

Tóm tắt Login, quản lý sản phẩm, quản lý đơn hàng, quản lý
thành viên, quản lý giỏ hàng, thống kê

Dòng sự kiện chính - Customer, Admin đăng nhập vào hệ thống và thao
tác với các chức năng thuộc quyền quản lý của mình
- Hệ thống đưa ra các chức năng để người dùng thao tác

Các dòng sự kiện 1a. Đăng nhập


1 Thành công. Vào trong hệ thống
2 Không thành công. Hệ thống báo tài khản/mật khẩu
chưa đúng

2a. Quản lý
1 Thao tác với hệ thống
2 Hệ thống cập nhật dữ liệu mới
3a. Thêm, sửa, xóa
1 Thêm, sửa, xóa thông tin sản phẩm
2 Hệ thống hiển thị thông tin sản phẩm
4a. Giỏ hàng
1 Thêm hàng vào giỏ hàng
2 Sửa, xóa sản phẩm trong giỏ hàng

Điều kiện tiên quyết Không có

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

21
Bảng : Đặc tả usecase tổng quát

2.2.2. Sơ đồ phân rã use case tổng quát

2.3. Quy trình nghiệp vụ


22
2.3.1. Quy trình Đăng nhập

Hình : Biểu đồ Sequence Diagram – Login

2.3.2. Quy trình Quản lý sản phẩm

23
Hình : Biểu đồ Sequence Diagram - Quản lý Sản phẩm

2.3.3. Quy trình Quản lý nhân viên

24
Hình : Biểu đồ Sequence Diagram - Quản lý nhân viên

2.3.4. Quy trình Quản lý liên hệ

25
Hình 2.11: Biểu đồ Sequence Diagram - Quản lý liên hệ

2.3.5. Quy trình Thao tác giỏ hàng


26
Hình 2.12: Biểu đồ Sequence Diagram - Giỏ hàng

2.3.6. Quy trình Quản lý khách hàng

27
Hình 2.13: Biểu đồ Sequence Diagram - Quản lý khách hàng

2.3.7. Quy trình quản lý hóa đơn

28
Hình 2.14: Biểu đồ Sequence Diagram - Quản lý hóa đơn

2.4. Đặc tả Use case

29
2.4.1 Use case đăng nhập

Hình : Biểu đồ use case đăng nhập


Mã use case UC1.1
Tên Đăng nhập hệ thống

Tóm tắt Hê thống cấp quyền cho phép nguời dùng login

Dòng sự kiện chính Người dùng đăng nhập hệ thống để sử dụng chức
năng

Các dòng sự kiện 1a. Không đăng nhập được.


1 Hệ thông báo tài khoản/mật khẩu không đúng.
2 Hệ thống báo chưa có tài khoản.
2a. Đăng nhập thành công.

Điều kiện tiên quyết Thông tin đăng nhập (id, pass)

30
Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng.

Bảng: Đặc tả use case đăng nhập


2.4.2. Use case quản lý sản phẩm

Hình : Biểu đồ use case quản lý sản phẩm


Mã use case UC1.2
Tên Quản lý thông tin sản phẩm đồ công nghệ

Tóm tắt Thêm, sửa, xóa, thông tin các sản phẩm có trong phần
quản lý

Dòng sự kiện chính Người dùng đăng nhập hệ thống để sử dụng chức
năng,
cập nhật thông tin sản phẩm.

Các dòng sự kiện 1a. Đăng nhập vào hệ thống


31
2a. Hệ thốn hiện thị các chức năng và thông tin sản
phẩm.
1 Thêm sản phẩm.
2 Sửa sản phẩm.
3 Xóa sản phẩm.

Điều kiện tiên quyết Đăng nhập được vào hệ thống

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

Bảng: Đặc tả use case quản lý sản phẩm

2.4.3. Use case quản lý nhân viên

32
Hình : Biểu đồ use case quản lý nhân viên
Mã use case UC1.3
Tên Quản lý nhân viên

Tóm tắt Xem, sửa, xóa các tài khoản nhân viên viên

Dòng sự kiện chính Người dùng đăng nhập hệ thống để sử dụng chức
năng

Các dòng sự kiện 1a. Đăng nhập vào hệ thống


2a. Hệ thống hiện thị các chức năng và thông tin
thành
viên
1 Xem thông tin thành viên

33
2 Thêm thông tin thành viên
3 Sửa thông tin
4 Xóa thông tin thành viên

Điều kiện tiên quyết Đăng nhập được vào hệ thống

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

Bảng: Đặc tả use case quản lý nhân viên

2.4.4. Use case quản lý Liên hệ

Hình: Biểu đồ use case quản lý liên hệ

34
Mã use case UC1.4
Tên Quản lý liên hệ

Tóm tắt Xem, xóa các liên hệ

Dòng sự kiện Người dùng đăng nhập hệ thống để sử dụng chức năng
chính

Các dòng sự kiện 1a. Đăng nhập vào hệ thống


2a. Hệ thống hiện thị các chức năng và thông tin thành
viên
1 Xem thông tin liên hệ
2 Xóa thông tin liên hệ

Điều kiện tiên Đăng nhập được vào hệ thống


quyết

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

Bảng: Đặc tả use case quản lý liên hệ

35
2.4.5. Use case giỏ hàng

Hình : Biểu đồ use case giỏ hàng, đơn hàng


Mã use case UC1.5
Tên Quản lý giỏ hàng, đơn hàng

Tóm tắt Xem, thêm, sửa, xóa các sản phẩm trong giỏ hàng,
đơn hàng

Dòng sự kiện chính Người dùng đăng nhập hệ thống để sử dụng chức
năng

Các dòng sự kiện 1. Đăng nhập vào hệ thống


2. Hệ thống hiện thị các chức năng và thông tin khách
hàng
1 Xem sản phẩm giỏ hàng
2 Thêm sản phẩm giỏ hàng
36
3 Sửa sản phẩm giỏ hàng
4 Xóa sản phẩm giỏ hàng
5 Xem sản phẩm trong hóa đơn
6 Xóa hóa đơn

Điều kiện tiên quyết Đăng nhập được vào hệ thống

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

Bảng: Đặc tả use case giỏ hàng


2.4.6. Use case Quản lý khách hàng

Hình : Biểu đồ use case quản lý khách hàng

Mã use case UC1.6

37
Tên Quản lý khách hàng

Tóm tắt Xem, thêm, sửa, xóa các khách hàng

Dòng sự kiện chính Người dùng đăng nhập hệ thống để sử dụng chức
năng

Các dòng sự kiện 1a. Đăng nhập vào hệ thống


2a. Hệ thống hiện thị các chức năng và thông tin
thành
viên
1 Xem thông tin khách hàng
2 Thêm thông tin khách hàng
3 Sửa thông tin khách hàng
4 Xóa thông tin khách hàng

Điều kiện tiên quyết Đăng nhập được vào hệ thống

Các yêu cầu đặc Giao diện và các thao tác dễ dùng với người lần đầu
biệt tiên sử dụng

Bảng : Đặc tả use case quản lý khách hàng

38
2.5 Biểu đồ lớp

Hình : Biểu đồ lớp

2.6. Yêu cầu phi chức năng

- Quản lý thông tin sản phẩm: cho phép cập nhật thông tin sản phẩm, giá cả, số
lượng và các thông tin khác liên quan đến sản phẩm.
- Quản lý đơn hàng: cho phép quản lý đơn hàng của khách hàng, bao gồm việc
tạo đơn hàng, cập nhật trạng thái đơn hàng và gửi thông tin về đơn hàng cho
khách hàng.
- Thanh toán trực tuyến: cho phép khách hàng thanh toán trực tuyến bằng các
phương thức thanh toán khác nhau như thẻ tín dụng, chuyển khoản, ví điện tử...
- Tích hợp chức năng tìm kiếm: cho phép khách hàng tìm kiếm sản phẩm theo
các tiêu chí như tên sản phẩm, loại sản phẩm, giá cả,...
- Tích hợp chức năng đánh giá sản phẩm: cho phép khách hàng đánh giá sản
phẩm sau khi mua hàng.

39
Chương III: THIẾT KẾ PHẦN MỀM

40
TÀI LIỆU THAM KHẢO:

41

You might also like