CHƯƠNG 1 : TỔNG QUAN 1.1 Giới thiệu về công nghệ phần mềm1.1.1 Khái niệm Công nghệ phần mềm là một trong những chuyên ngành của khối Công nghệ thông tin,tập trung vào việc nghiên cứu về
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH TẾ CÔNG NGHIỆP LONG AN
KHOA : CÔNG NGHỆ
BÁO CÁO ĐỒ ÁN MÔN HỌC CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI : XÂY DỰNG VÀ QUẢN LÝ TRANG WEB TEAHOUSE
GIÁO VIÊN HƯỚNG DẪN : THS.NGUYỄN HỮU TÂM
SINH VIÊN THỰC HIỆN
NGUYỄN MINH TRIỆU – 2252010005
NGÔ TRỌNG PHÚC – 2252010013
LƯƠNG VŨ – 2252010034
NGUYỄN NGỌC HIẾU – 2252010031
HUỲNH THỊ HỒNG DIỄM – 2252010024
LONG AN, THÁNG 7 NĂM 2024
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH TẾ CÔNG NGHIỆP LONG AN
KHOA : CÔNG NGHỆ
BÁO CÁO DỒ ÁN MÔN HỌC CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI : XÂY DỰNG VÀ QUẢN LÝ TRANG WEB TEAHOUSE
GIÁO VIÊN HƯỚNG DẪN : THS.NGUYỄN HỮU TÂM
SINH VIÊN THỰC HIỆN
NGUYỄN MINH TRIỆU – 2252010005
NGÔ TRỌNG PHÚC – 2252010013
LƯƠNG VŨ – 2252010034
NGUYỄN NGỌC HIẾU – 2252010031
HUỲNH THỊ HỒNG DIỄM – 2252010024
LONG AN, THÁNG 7 NĂM 2024
Trang 3LỜI MỞ ĐẦU
Cùng với sự phát triển như vũ bão của xã hội, sự phổ biến của các ứng dụng, thiết bị điện
tử cũng ngày càng ra mắt nhiều hơn và những điều trên góp một phần nhu cầu cho ngànhCông Nghệ Thông Tin ra đời Ngành Công Nghệ Thông Tin càng thể hiện được vai tròcủa mình trong công tác nâng cao giá trị của mạng lưới của thế giới Không chỉ góp phầnvào sự nghiệp phát triển chung của kinh tế mà ngành Công Nghệ Thông Tin còn trực tiếp
hổ trợ làm tăng chất lượng đời sống cho mọi người Vấn đề internet, mạng lưới đangngày càng phổ biến trong tương lai được coi là cốt lỗi, nền tảng trong sự phát triển củamỗi quốc gia, vậy nên cần được chú trọng và phát triển
Hiểu rõ được điều đó, cá nhân em và các bạn trong nhóm đã quyết định theo đuổi côngviệc lập trình viên để có một phần đóng góp cho nền mạng lưới nước nhà Dù ít haynhiều nhưng chúng em sẽ cố gắng theo đuổi con đường lẫn giấc mơ của mình chọn
Trang 4LỜI CẢM ƠN
Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến khoa Công Nghệ củaTrường Đại Học Kinh Tế Công Nghiệp Long An đã tạo điều kiện cho chúng em đượctrình bày bài báo cáo này và đặc biệt nhóm chúng em xin gửi lời tri ân sâu sắc đến thầyNguyễn Hữu Tâm đã tận tình hướng dẫn tụi em trong bài báo cáo này Và trong quá trìnhtìm hiểu và học tập môn Công Nghệ Phần Mềm nhóm chúng em đã nhận được sự giảngdạy và hướng dẫn rất tận tình, tâm huyết của thầy Thầy đã giúp tụi em tích lũy thêmnhiều kiến thức hay và bổ ích Từ những kiến thức mà thầy truyền đạt, chúng em xintrình bày lại những gì nhóm chúng em đã được học và tự nghiêm cứu để viết nên một bàibáo cáo về hoạt động của thương mại điện tử dựa trên sự am hiểu của chúng em
Vì là lần đầu chúng em thực hiện nên không ít thì nhiều những bất lợi thiếu sót kínhmong thầy thông cảm và bỏ qua cho chúng em Và rất mong được sự chỉ bảo, đóng góp ýkiến từ các thầy để nhóm có điều kiện thuận lợi bổ sung nâng cao kiến thức của mình Kính chúc thầy hạnh phúc và thành công hơn nữa trong sự nghiệp trồng người Kínhchúc thầy luôn dồi dào sức khỏe để tiếp tục dìu dắt nhiều thế hệ học trò đến những bến
bờ tri thức
Chúng em xin chân thành cảm ơn!
Long An, ngày tháng 7 năm 2024
Chữ ký SVTH
NGUYỄN MINH TRIỆU LƯƠNG VŨ NGÔ TRỌNG PHÚC
NGUYỄN NGỌC HIẾU HUỲNH THỊ HỒNG DIỄM
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 5Long An, ngày tháng năm 2024 Chữ ký GVHD
Ths.Nguyễn Hữu Tâm
Trang 6NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Long An, ngày tháng năm 2024
Chữ ký GVPB
Trang 7MỤC LỤC
Nội dung
BẢNG PHÂN CÔNG VIỆC NHÓM 1
DANH MỤC HÌNH ẢNH 2
DANH MỤC TỪ VIẾT TẮT 4
CHƯƠNG 1 : TỔNG QUAN 5
1.1 Giới thiệu về công nghệ phần mềm 5
1.1.1 Khái niệm 5
1.2 Các sơ đồ 9
1.2.1 Use Case Diagram 9
1.2.2 Activity Diagram 11
1.2.3 Sequence Diagram 12
1.2.4 Class Diagram 13
CHƯƠNG 2 : PHẦN MỀM TRELLO 16
2.1 Phần mềm Trello 16
2.1.1 Khái niệm 16
2.1.2 Đặc điểm của Trello 16
2.1.3 Cách làm việc với Trello 17
CHƯƠNG 3 : PHẦN MỀM GITHUB 27
3.1 Phần mềm GitHub 27
3.1.1 Khái niệm 27
3.1.2 Chức năng 27
3.1.3 Lợi ích của Github 28
CHƯƠNG 4 : GITHUB TRONG VISUAL STUDIO 31
4.1 GitHub trong VisualStudio 31
4.1.1 Cách mở github trên visual studio 31
4.1.2 Cách thao tác với nhánh 36
CHƯƠNG 5 : UNITEST 39
5.1 Tìm hiểu về UniT Test 39
5.1.1 Khái niệm về UniT Test 39
5.1.2 Vai trò của UniT Test 40
Trang 85.1.3 Ví dụ về ứng dụng của Unit Test 41
5.2 Phần mềm SELENIUM IDE 44
5.2.1 Khái niệm về Slenium 44
5.2.2 Selenium IDE 45
5.2.3 Sử dụng phần mềm Selenium IDE kiểm tra wedsite 46
5.3 Tìm hiểu về web performance testing 49
5.3.1 Khái niệm về performance testing 49
5.3.2 Sử dụng phần mềm Jmeter để thực hiện performance testing 50
CHƯƠNG 6 : TEST CASE 60
6.1 Khái niệm 60
6.2 Cấu trúc của Test Case 61
6.3 Bảng Test Case của dự án 62
CHƯƠNG 7 : XÂY DỰNG TRANG WEB 63
7.1 Sơ đồ ERD 63
7.2 Thiết kế cơ sở dữ liệu 63
7.3 Giao diện trang Web 66
CHƯƠNG 8 : KẾT LUẬN 70
A Ưu điểm 70
B Nhược điểm 70
C Hướng phát triển 70
TÀI LIỆU THAM KHẢO 71
Trang 9BẢNG PHÂN CÔNG VIỆC NHÓM
HỒNG DIỄM
TRỌNG PHÚC
NGỌC HIẾU
MINH TRIỆU
LƯƠNG VŨ
Trang 10DANH MỤC HÌNH ẢNH
Hình 0.1 Công nghệ phần mềm……… 7
Hình 0.2 Lập trình viên 8
Hình 0.3 UX Designer 9
Hình 0.4 Quản trị hệ thống 10
Hình 0.5 Kỹ sư dữ liệu 11
Hình 0.6 UseCase 12
Hình 0.7 Sơ đồ UseCase 13
Hình 0.8 Sơ đồ Activity Diagram đăng nhập 14
Hình 0.9 Sơ đồ SD đăng nhập 15
Hình 0.10 Sơ đồ CD đăng nhập 17
Hình 0.1Phần mềm Trello 18
Hình 0.2 Các phương thức đăng nhập trong Trello 20
Hình 0.3 Bảng trong Trello 21
Hình 0.4 Nút tạo bảng 21
Hình 0.5 Khung điền thông tin bảng 22
Hình 0.6 Khung chọn nhóm quyền cho bảng 23
Hình 0.7 Nút tạo bảng 23
Hình 0.8 Giao diện danh sách trong Trello 24
Hình 0.9 Nút thêm danh sách 24
Hình 0.10 Giao diện các thẻ 25
Hình 0.11 Nút thêm thẻ 25
Hình 0.12 Menu của thẻ 26
Hình 0.13 Giao diện chi tiết của các thẻ 26
Hình 0.14 Danh sách các thành viên trong nhóm 27
Hình 0.15 Nơi nhập thành viên mới muốn thêm vào 27
Hình 0.1 Phần mềm Github 29
Hình 0.2 Quản lý mã nguồn 30
Hình 0.3 Hợp tác nhóm 31
Hình 0.1 Khái niệm về Unit Test 41
Hình 0.2 Vai trò của Unit Test 42
Hình 0.3 Thêm xUnit test project vào Solution 43
Hình 0.4 Add project reference 44
Hình 0.5 Kết quả sau khi thực hiện xUnit Test 45
Hình 0.6 Khái niệm về SELENIUM 46
Hình 0.7 Các phần của Selenium 47
Hình 0.8 Tạo project 49
Hình 0.9 Khái niệm về performance testing 52
Hình 0.10 Jmeter là gì? 53
Trang 11Hình 0.1 Test case 62
Hình 0.2 Test Case login 64
Hình 0.1 Sơ đồ ERD 65
Hình 0.2 Bảng dữ liệu Article 65
Hình 0.3 Bảng dữ liệu Authorized 66
Hình 0.4 Bảng dữ liệu Category 66
Hình 0.5 Bảng dữ liệu Group 66
Hình 0.6 Bảng dữ liệu Member 67
Hình 0.7 Bảng dữ liệu Product 67
Hình 0.8 Bảng dữ liệu Role 68
Hình 0.9 Giao diện trang chủ 68
Trang 13CHƯƠNG 1 : TỔNG QUAN 1.1 Giới thiệu về công nghệ phần mềm
1.1.1 Khái niệm
Công nghệ phần mềm là một trong những chuyên ngành của khối Công nghệ thông tin,tập trung vào việc nghiên cứu về phần mềm và các hệ thống kỹ thuật của máy tính.Chuyên ngành này đào tạo chuyên sâu vào việc khảo sát cơ sở dữ liệu, nền tảng phầnmềm và sự phát triển của các ứng dụng, hệ thống Ngoài ra, ngành Công nghệ phần mềmcòn đóng vai trò quan trọng việc xây dựng các ứng dụng hỗ trợ tối ưu hoạt động kinhdoanh và nâng cao chất lượng cuộc sống con người
Hình CHƯƠNG 1 : TỔNG QUAN 1 Công nghệ phần mềm
Công nghệ phần mềm có thể làm những việc gì sau ra trường ?
Lập trình viên
Lập trình viên đang trở thành một trong những công việc phổ biến trong lĩnh vực Côngnghệ phần mềm hiện nay Trong nghề này, bạn có thể lựa chọn làm việc với nhiều ngônngữ khác nhau như Swift, Kotlin, Java, Net, NodeJS Ngoài việc tập trung vào lậptrình, bạn cũng có thể thử sức ở các vị trí như data engineering, frontend, backend
Trang 14Hình CHƯƠNG 1 : TỔNG QUAN 2 Lập trình viên
Ở Việt Nam, lập trình viên thường có cơ hội tiến xa đến vị trí quản lý sau 30 tuổi Để trởthành một lập trình viên xuất sắc, bạn cần phải phát triển kỹ năng giải quyết vấn đề vàkhả năng trừu tượng hóa
UX Designer
UX Designer cũng là vị trí được rất nhiều bạn trẻ học Công nghệ phần mềm hướng tới.Với vai trò UX Designer, bạn có khả năng đồng cảm và hiểu rõ những gì người dùngcần Công việc đòi hỏi khả năng mô tả rõ ràng về cách phần mềm hoạt động sau khi đượctạo ra, bao gồm cả việc các thành phần tham gia và cách tiếp cận sản phẩm Bạn cần mô
tả cẩn thận về giao diện, luồng màn hình và các khía cạnh khác Công việc của UX
Trang 15Designer luôn đòi hỏi tính tỉ mỉ, cẩn thận trong từng chi tiết và khả năng tưởng tượngphong phú.
Hình CHƯƠNG 1 : TỔNG QUAN 3 UX Designer
Thiết kế phần mềm
Thiết kế phần mềm thường được giao cho vị trí CTO hoặc Tech Lead Đối với công việcthiết kế phần mềm, bạn cần phải hiểu biết sâu sắc về lập trình, máy chủ, cơ sở dữ liệu vàphát triển sản phẩm Không chỉ thế, bạn cần có khả năng giải quyết các vấn đề ngắn hạncũng như dài hạn và có trí tưởng tượng tốt để dự đoán các rủi ro có thể phát sinh Thiết
kế phần mềm đòi hỏi bạn phải vừa là một kiến trúc sư xuất sắc, vừa hiểu rõ về quá trìnhphát triển phần mềm
Quản lý dự án
Vị trí quản lý dự án chịu trách nhiệm quản lý, phân chia công việc và định hướng cho độinhóm làm việc Trong vai trò này, người quản lý cần phải nắm rõ điểm mạnh và điểmyếu của thành viên để phân công công việc một cách hợp lý Họ sử dụng năng lực cácthành viên để biến những ý tưởng thành hiện thực Vị trí quản lý dự án đòi hỏi khả nănggiao tiếp và lập kế hoạch tốt
Quản trị hệ thống
Vị trí quản trị hệ thống có nhiệm vụ đảm bảo môi trường làm việc cho đội phát triển vàchịu trách nhiệm trong việc thiết lập, điều hành môi trường, cài đặt server và sao lưu dữ
Trang 16liệu Các nhân viên non-tech thường thực hiện công việc như cài đặt win vào Restartmodem Để làm việc tại vị trí này, bạn cần phải có khả năng ra quyết định và tính tỉ mỉ,cẩn thận.
Hình CHƯƠNG 1 : TỔNG QUAN 4 Quản trị hệ thống
Tester/QA/QC
Vị trí này yêu cầu phải thực hiện phân tích và kiểm tra sản phẩm Develop dựa trên yêucầu từ quản lý Tester/QA thường là các chuyên viên có trình độ cao, có khả năng kiểmtra trực tiếp sản phẩm để đảm bảo rằng sản phẩm sản xuất đúng tiêu chuẩn và hợp lý.Ngược lại, vai trò QC tập trung vào việc kiểm soát quy trình để đảm bảo rằng công việcđược thực hiện đúng quy trình, từ đó đảm bảo chất lượng của sản phẩm Vị trí QA yêucầu tính tỉ mỉ và cẩn thận cao
Kỹ sư dữ liệu
Kỹ sư dữ liệu là một công việc mới mẻ, thường chia thành ba vị trí khác nhau: DataEngineering tham gia vào việc lập trình, hiểu về phân tích dữ liệu, viết phần mềm để tạobáo cáo từ dữ liệu Data Analysis sử dụng công cụ để đưa ra hành động phục vụ cho mụctiêu kinh doanh Data Scientist mang tính trừu tượng hóa, đòi hỏi phải có sự hiểu biếtchuyên sâu về thuật toán xử lý dữ liệu
Trang 17Hình CHƯƠNG 1 : TỔNG QUAN 5 Kỹ sư dữ liệu
Product Manager
Vị trí này tương tự quản lý dự án nhưng tập trung hơn vào sản phẩm Để làm việc tại vịtrí này, bạn cần phải có kinh nghiệm đa dạng và kiến thức về các lĩnh vực nhưDeveloper, UX Designer, System Architect Ngoài ra, còn cần có khả năng phân tích,
tư duy chiến lược và làm việc tỉ mỉ
1.2 Các sơ đồ
1.2.1 Use Case Diagram
"Use case" (hay "trường hợp sử dụng") là một thuật ngữ được sử dụng trong lĩnh vựcphân tích và thiết kế phần mềm Nó mô tả cách một hệ thống tương tác với người dùnghoặc các hệ thống khác để hoàn thành một mục tiêu cụ thể Một use case bao gồm mộtchuỗi các hành động hoặc bước mà hệ thống thực hiện để đạt được một kết quả nhấtđịnh
Trang 18Hình CHƯƠNG 1 : TỔNG QUAN 6 UseCase
Phân loại UseCase
Primary Use Case (Use Case chính): Đây là các Use Case quan trọng nhất và mang
tính chất cốt lõi của hệ thống Primary Use Case thường mô tả các chức năng và hoạtđộng chính của hệ thống và đáp ứng trực tiếp nhu cầu của người dùng
Supporting Use Case (Use Case hỗ trợ): Đây là các Use Case hỗ trợ hoặc bổ sung cho
Primary Use Case Chúng cung cấp các chức năng phụ hoặc tương tác hỗ trợ cho cácUse Case chính Supporting Use Case có thể giúp tăng cường hiệu quả hoặc hoàn thiệncác chức năng của hệ thống chính
Extension Use Case (Use Case mở rộng): Đây là các Use Case mở rộng hoặc mở rộng
các chức năng của Use Case chính Extension Use Case xảy ra khi một Use Case chínhđược mở rộng bằng cách thêm các chức năng bổ sung hoặc các luồng làm việc tùy chọn
Alternative Use Case (Use Case thay thế): Đây là các Use Case thay thế cho các chức
năng hoặc hoạt động của Use Case chính trong một tình huống cụ thể Alternative UseCase xảy ra khi có nhiều phương pháp hoặc lựa chọn khác nhau để đạt được mục tiêutương tự
System Use Case (Use Case hệ thống): Đây là các Use Case tương tác giữa hệ thống và
các thành phần hệ thống khác nhau, bao gồm các hệ thống bên ngoài, cơ sở dữ liệu, dịch
vụ web, vv System Use Case mô tả các tương tác giữa hệ thống và các thành phần khác
User Use Case (Use Case người dùng): Đây là các Use Case tương tác giữa người
dùng và hệ thống User Use Case mô tả các hoạt động và tương tác của người dùng với
hệ thống để đạt được mục tiêu cụ thể
Trang 19Cách phân loại Use Case có thể linh hoạt và có thể điều chỉnh tùy thuộc vào yêu cầu
và ngữ cảnh dự án cụ thể Một số dự án có thể sử dụng các phân loại khác nhau hoặc kếthợp các loại Use Case để phù hợp với mục đích và tổ chức của họ
Sơ đồ UseCase của trang web :
Hình CHƯƠNG 1 : TỔNG QUAN 7 Sơ đồ UseCase
Activity Diagram thường được sử dụng trong các trường hợp sau:
Mô tả các quy trình kinh doanh và quy trình làm việc
Trực quan hóa luồng công việc trong các hệ thống phần mềm
Xác định các quy trình phức tạp hoặc các bước của một quy trình
Phân tích và thiết kế hệ thống
Các thành phần chính của sơ đồ AD :
Activity (Hoạt động): Biểu diễn một hành động hoặc một bước trong quy trình.
Initial Node (Nút bắt đầu): Điểm bắt đầu của biểu đồ.
Final Node (Nút kết thúc): Điểm kết thúc của biểu đồ.
Decision Node (Nút quyết định): Biểu diễn một điểm phân nhánh dựa trên điều kiện
nào đó
Merge Node (Nút hợp nhất): Hợp nhất các nhánh vào một luồng duy nhất.
Trang 20 Fork Node (Nút phân tách): Phân chia một luồng thành nhiều luồng song song.
Join Node (Nút hợp nhất): Hợp nhất các luồng song song thành một luồng.
Control Flow (Luồng điều khiển): Biểu diễn luồng từ hoạt động này sang hoạt động
Sơ đồ Activity Diagram đăng nhập :
Hình CHƯƠNG 1 : TỔNG QUAN 8 Sơ đồ Activity Diagram đăng nhập
1.2.3 Sequence Diagram
Sequence Diagram là một loại sơ đồ UML (Unified Modeling Language) dùng để biểudiễn sự tương tác giữa các đối tượng trong một hệ thống theo trình tự thời gian Nó mô tảcách các đối tượng giao tiếp với nhau thông qua việc trao đổi các thông điệp trong mộtkịch bản cụ thể của hệ thống
Các thành phần chính của Sequence Diagram :
Actors (Tác nhân): Đại diện cho người dùng hoặc các hệ thống khác tương tác với hệthống đang được mô tả
Objects (Đối tượng): Các thành phần của hệ thống tham gia vào quá trình tương tác.Lifelines (Đường đời): Đại diện cho sự tồn tại của một đối tượng tại một thời điểm cụthể
Messages (Thông điệp): Các đường mũi tên biểu diễn việc trao đổi thông tin giữa cácđối tượng
Trang 21Synchronous Message: Tin nhắn đồng bộ, yêu cầu và đợi phản hồi.
Asynchronous Message: Tin nhắn không đồng bộ, gửi mà không cần đợi phản hồi.Return Message: Tin nhắn trả về, thường là kết quả của một lời gọi trước đó
Activation Bars (Thanh kích hoạt): Biểu diễn thời gian mà đối tượng đang thực hiện mộthoạt động
Combined Fragments: Các khối logic để mô tả các điều kiện hoặc vòng lặp, bao gồm:
alt: Khối điều kiện (if-else)
opt: Khối tùy chọn (if)
Các thành phần chính của Class Diagram :
Trang 22Classes (Lớp): Đại diện cho các đối tượng trong hệ thống, bao gồm tên lớp, các thuộc
tính và các phương thức
Tên lớp: Được viết ở phần đầu của hộp
Thuộc tính (Attributes): Các đặc điểm hoặc dữ liệu mà lớp đó lưu trữ
Phương thức (Methods): Các hành động hoặc hành vi mà lớp đó có thể thực hiện
Relationships (Quan hệ): Mô tả mối quan hệ giữa các lớp
Association (Liên kết): Mối quan hệ cơ bản giữa các lớp, biểu diễn bằng một đường
Inheritance (Kế thừa): Mối quan hệ phân cấp giữa một lớp cha và các lớp con, biểu
diễn bằng một đường với mũi tên rỗng
Dependency (Phụ thuộc): Mối quan hệ mà một lớp sử dụng hoặc phụ thuộc vào một
lớp khác, biểu diễn bằng một đường nét đứt với mũi tên
Visibility (Phạm vi truy cập): Biểu thị mức độ truy cập của các thuộc tính và phương
thức
Public (+): Có thể truy cập từ bất kỳ đâu
Private (-): Chỉ có thể truy cập từ trong lớp đó
Protected (#): Có thể truy cập từ lớp đó và các lớp con
Sơ đồ CD đăng nhập :
Trang 23Hình CHƯƠNG 1 : TỔNG QUAN 10 Sơ đồ CD đăng nhập
Trang 24CHƯƠNG 2 : PHẦN MỀM TRELLO 2.1 Phần mềm Trello
2.1.1 Khái niệm
Trello là một nền tảng quản lý dự án trực tuyến phổ biến với hàng triệu người dùng trêntoàn thế giới Thật không may, những ưu điểm của nó (tính đơn giản, dạng xem Kanban)thường khiến Trello không sử dụng được trong môi trường kinh doanh, đặc biệt là khi độphức tạp của dự án tăng lên
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.11Phần mềm Trello
2.1.2 Đặc điểm của Trello
Ưu điểm
Dễ sử dụng: Trello không có quá nhiều thao tác phức tạp, nhìn vào có thể hiểu liền và sửdụng ngay được Khi 1 task được làm xong, bạn chỉ cần kéo card từ cột nọ sang cột kia.Không phải ngồi gõ, đổi tình trạng,… như những phần mềm quản lý công việc khác.Theo dõi trực quan: Các nhà quản lý có thể thấy rõ các công việc đang chờ hoặc đangđược thực hiện, từ đó đưa ra các quyết định và điều chỉnh kế hoạch dự án một cách kịpthời
Linh hoạt: Bạn cùng đội nhóm có thể sáng tạo quy trình của riêng mình, không nhất thiếttuân theo bất cứ quy chuẩn nào cả Ngoài ra, bạn có thể sử dụng Trello ở nhiều mục đích
Trang 25để quản lý công việc từ nhỏ đến lớn, như Quy trình phỏng vấn ứng viên, Thu thập vàtriển khai ý tưởng mới; Theo dõi feedback khách hàng;…
Nhược điểm
Hạn chế cho các dự án lớn: Trello có thể trở nên hạn chế khi áp dụng cho các dự án lớnvới quy mô phức tạp, đặc biệt là khi cần theo dõi và quản lý nhiều công việc cùng mộtlúc
Không phân cấp thành viên quản trị: Tất cả “người tham gia” vào Bảng của Trello đều
có quyền chỉnh sửa, gán và xóa phần đã đánh dấu trước Sự phân cấp lỏng lẻo này chính
là điểm yếu lớn khi ở cấp độ doanh nghiệp, các dự án cần phân quyền riêng biệt với cáccấp khác nhau như CEO, trưởng bộ phận,…
Thiếu tính năng nâng cao: So với các công cụ quản lý dự án chuyên nghiệp khác, Trello
có thể thiếu một số tính năng nâng cao như báo cáo tiến độ chi tiết, quản lý tài nguyên,
và lập kế hoạch dự án phức tạp
Yêu cầu cập nhật thủ công: Mặc dù Trello cung cấp tính năng thông báo, nhưng việc cậpnhật và theo dõi tiến độ vẫn phụ thuộc vào sự tự quản lý của người dùng, có thể dẫn đếnthiếu chính xác trong quản lý dự án
Môi trường giao tiếp hạn chế: Trello hiện không thể đăng bình luận bằng phím Enter,thành viên cần bấm “Lưu” khi trao đổi – một trở ngại khi trải nghiệm cộng tác Hơn thếnữa, Trello chưa cho phép nhận xét chung cho toàn bộ dự án
2.1.3 Cách làm việc với Trello
Đăng nhập
Hiện tại, Trello có hỗ trợ đăng ký bằng các tài khoản từ Google, Microsoft, Apple hoặcSlack Bạn có thể chọn liên kết với các tài khoản này để tạo tài khoản nhanh chóng Hoặcbạn có thể chọn Đăng ký tài khoản và nhập bất kì mail nào để hoàn thành đăng ký
Trang 26Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.12 Các phương thức đăng nhập trong Trello
Bảng
Bảng (Boards): Mỗi dự án hoặc nhiệm vụ lớn được tổ chức thành một bảng riêng Trongmỗi bảng này chứa các danh sách và thẻ – chính là các nhiệm vụ bạn phải làm
Trang 27Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.13 Bảng trong Trello
Các bước để tạo bảng :
Bước 1: Bật máy tính mở ứng dụng Trello Trong Bảng cá nhân, hãy nhấp vào hộp cónội dung Tạo bảng đầu tiên của bạn…
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.14 Nút tạo bảng
Bước 2: Đặt tiêu đề cho bảng Bạn cũng có thể chọn màu nền hoặc mẫu theo sở thích cánhân
Trang 28Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.15 Khung điền thông tin bảng
Bước 3: Nếu bạn có nhiều nhóm, hãy chọn nhóm mà bạn muốn cấp quyền truy cập vàobảng Hoặc chưa có nhóm, bạn có thể đến phần tiếp theo để tạo nhóm nhé
Trang 29Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.16 Khung chọn nhóm quyền cho bảng
Bước 4: Cuối cùng nhấn vào nút “tạo mẫu “ là hoàn thành
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.17 Nút tạo bảng
Danh sách
Danh sách (Lists): Nếu bảng đóng vai trò là nhà kho thì danh sách chính là những ngăn
kệ được đặt trong nhà kho đó Trong mỗi bảng, người dùng có thể tạo các danh sách để
tổ chức các giai đoạn khác nhau của dự án hoặc các loại công việc khác nhau (ví dụ: To
Do, In Progress, Done)
Trang 30Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.18 Giao diện danh sách trong Trello
Để tạo danh sách kế hoạch ta chỉ cần nhấn vào “Thêm danh sách” => “Nhập tên ” làhoàn thành
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.19 Nút thêm danh sách
Thẻ
Thẻ (Cards): Thẻ là các đơn vị công việc cụ thể, chứa thông tin chi tiết về nhiệm vụ cầnthực hiện Người dùng có thể gán người phụ trách, thêm ngày đến hạn, đính kèm tệp tin,thêm nhãn, và viết mô tả chi tiết
Trang 31Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.20 Giao diện các thẻ
Tạo các thẻ bằng cách nhấn vào “Thêm thẻ”=> điền nội dung là hoàn thành
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.21 Nút thêm thẻ
Menu của các thẻ
Trang 32Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.22 Menu của thẻ
Chi tiết giao diện nội dung của thẻ như Thành viên , Thông báo , Mô tả, Comment,…
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.23 Giao diện chi tiết của các thẻ
2.3.5 Nhóm làm việc
Nhóm làm việc (Teams): Người dùng có thể tạo các nhóm làm việc để dễ dàng chia sẻbảng và cộng tác với các thành viên khác trong nhóm
Trang 33Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.24 Danh sách các thành viên trong nhóm
Để thêm thành viên ta thực hiện cách bước sau:
Bước 1: Mở bảng từ trang chủ Trello
Bước 2: Tìm người dùng bằng cách nhập địa chỉ email hoặc tên người dùng Trello
Hình CHƯƠNG 2 : PHẦN MỀM TRELLO.25 Nơi nhập thành viên mới muốn thêm vào
Trang 34Bước 3: Khi bạn đã nhập tất cả tên của các thành viên bạn muốn thêm, hãy nhấp vào Gửilời mời
Trello cho phép nhiều người dùng cùng tham gia và làm việc trên cùng một bảng (board), giúp tăng cường tính cộng tác và hiệu quả làm việc nhóm
Trello tích hợp được với nhiều công cụ khác như Slack, Google Drive, và nhiềuứng dụng khác, giúp tăng cường khả năng quản lý công việc và liên lạc
Trello có ứng dụng trên điện thoại di động, giúp người dùng có thể theo dõi và quản lý công việc mọi lúc, mọi nơi
Các tính năng như ngày hết hạn (due dates), nhãn (labels), và lời nhắc
(reminders) giúp người dùng quản lý thời gian và tiến độ công việc hiệu quả hơn
Trang 35CHƯƠNG 3 : PHẦN MỀM GITHUB 3.1 Phần mềm GitHub
3.1.1 Khái niệm
GitHub là một nền tảng phát triển phần mềm và dịch vụ lưu trữ mã nguồn dựa trên web,được tạo ra bởi Tom Preston-Werner, Chris Wanstrath, và PJ Hyett vào năm 2008 Nócho phép các nhà phát triển lưu trữ và quản lý mã nguồn, cũng như theo dõi và kiểm soátcác thay đổi trong dự án của họ GitHub tích hợp với hệ thống quản lý phiên bản Git,giúp người dùng dễ dàng làm việc cùng nhau trên các dự án phần mềm, cho dù họ ở bất
kỳ đâu trên thế giới
Hình CHƯƠNG 3 : PHẦN MỀM GITHUB.26 Phần mềm Github
Trang 36Yêu cầu kéo (Pull Request): Là một tính năng quan trọng cho phép bạn thông báo chongười khác về những thay đổi mà bạn đã thực hiện trong nhánh của mình Người quản lý
dự án có thể xem xét, thảo luận và kết hợp (merge) các thay đổi này vào nhánh chính.Vấn đề (Issues): Là một hệ thống theo dõi lỗi và yêu cầu tính năng, giúp nhóm phát triển
dễ dàng quản lý và giải quyết các vấn đề trong dự án
GitHub Actions: Cho phép bạn tự động hóa các quy trình phát triển phần mềm, chẳnghạn như kiểm tra mã nguồn, triển khai ứng dụng, và nhiều hơn nữa
GitHub Pages: Cung cấp dịch vụ lưu trữ trang web tĩnh trực tiếp từ kho lưu trữ GitHubcủa bạn
Bảo mật và quyền riêng tư: GitHub cung cấp nhiều tùy chọn để bảo vệ mã nguồn củabạn, bao gồm cả kho lưu trữ riêng tư và các công cụ bảo mật mã nguồn như Dependabot
3.1.3 Lợi ích của Github
GitHub mang lại nhiều lợi ích cho các nhà phát triển phần mềm và các tổ chức, bao gồm:
Quản lý mã nguồn hiệu quả:
Lưu trữ và chia sẻ mã nguồn: GitHub cung cấp một nền tảng lưu trữ đám mây cho mãnguồn, giúp bạn dễ dàng truy cập và chia sẻ với người khác
Theo dõi phiên bản: Với Git, bạn có thể theo dõi tất cả các thay đổi trong mã nguồn,quay lại các phiên bản trước đó nếu cần
Hình CHƯƠNG 3 : PHẦN MỀM GITHUB.27 Quản lý mã nguồn
Hợp tác nhóm:
Trang 37Cộng tác: GitHub cho phép nhiều người làm việc trên cùng một dự án mà không lo lắng
về xung đột mã nguồn Các nhánh (branch) và yêu cầu kéo (pull request) giúp quản lýcông việc nhóm dễ dàng hơn
Phản hồi và xem xét mã nguồn: GitHub cung cấp công cụ để xem xét mã nguồn, chophép nhận phản hồi và cải thiện mã trước khi hợp nhất (merge) vào nhánh chính
Hình CHƯƠNG 3 : PHẦN MỀM GITHUB.28 Hợp tác nhóm
Quản lý dự án:
Theo dõi vấn đề: Hệ thống Issues của GitHub giúp nhóm phát triển theo dõi lỗi, yêu cầutính năng và nhiệm vụ công việc
Dự án và milestone: GitHub cung cấp công cụ để tổ chức và quản lý các nhiệm vụ theo
dự án và milestone, giúp nhóm phát triển duy trì tiến độ và đạt được các mục tiêu
Quyền truy cập: GitHub cho phép bạn kiểm soát quyền truy cập vào kho lưu trữ, bảo vệ
mã nguồn của bạn khỏi truy cập trái phép
Trang 38Kiểm tra bảo mật: GitHub cung cấp các công cụ kiểm tra bảo mật tự động, giúp phát hiện
và khắc phục các lỗ hổng bảo mật trong mã nguồn của bạn
Tài liệu và mẫu mã: GitHub có nhiều kho lưu trữ chứa tài liệu, hướng dẫn và mẫu
mã mà bạn có thể học hỏi và sử dụng trong dự án của mình
Cộng đồng: Tham gia cộng đồng GitHub giúp bạn kết nối với các lập trình viênkhác, học hỏi kinh nghiệm và nhận được sự hỗ trợ
Trang 39CHƯƠNG 4 : GITHUB TRONG VISUAL STUDIO
4.1 GitHub trong VisualStudio
4.1.1 Cách mở github trên visual studio
Mở dự án cần đưa vào Git trong Visual Studio (bài viết này dùng VS 2017)
Chọn File > Add to Source Control
Chọn View > Team Explorer, cửa sổ Team Explorer xuất hiện
Chọn Sync, tại mục Push to Remote Repository chọn Publish Git Reposity