Tải bản đầy đủ (.pdf) (64 trang)

BÁO CÁO THỰC TẬP DOANH NGHIỆP SE501.M21 CÔNG TY CỔ PHẦN ĐẦU TƯ THẾ GIỚI DI ĐỘNG (MWG)

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.43 MB, 64 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP DOANH NGHIỆP
SE501.M21

CÔNG TY CỔ PHẦN ĐẦU TƯ THẾ GIỚI DI ĐỘNG (MWG)

Người phụ trách

: Đào Xuân Thái

Thực tập sinh

: Nguyễn Hữu Hiếu

TP. Hồ Chí Minh, tháng 06 năm 2022


LỜI CẢM ƠN

Lời đầu tiên em xin chân thành cảm ơn đến quý Thầy, Cô Trường Đại học Công Nghệ
Thông Tin – ĐHQG TPHCM lời cảm ơn chân thành nhất! Nhờ những kiến thức và sự động
viên mà thầy cô đã truyền dạy trong suốt chương trình học, em đã có được một hành trang để
bước vào đợt thực tập.
Em xin gửi lời cảm ơn sâu sắc đến ban lãnh đạo Công ty Cổ phần Đầu tư Thế Giới Di
Động (MWG) đã tạo cơ hội giúp em có thể hiểu rõ môi trường làm việc thực tế. Em xin cảm ơn
các anh, chị trong Công ty TNHH MTV Công nghệ thông tin Thế Giới Di Động, đặc biệt là
những anh chị thuộc bộ phận Web Bachhoaxanh.com đã nhiệt tình chỉ bảo để em có được kinh
nghiệm trong việc lập trình website thương mại điện tử.
Với điều kiện thời gian có hạn cùng rất nhiều khó khăn về dịch bệnh lẫn hạn chế phát


sinh, kiến thức và kinh nghiệm cịn ít ỏi của một sinh viên nên sẽ không tránh khỏi những thiếu
sót trong bài báo cáo này. Em rất mong nhận được những ý kiến đóng góp quý giá của thầy, cơ
để em có điều kiện bổ sung vào hành trang kiến thức của mình.
Cuối cùng, em xin kính chúc quý Thầy, Cô luôn vui vẻ, hạnh phúc, đặc biệt ln quan
tâm và giữ gìn sức khoẻ.
Em xin chân thành cảm ơn!

Tp. Hồ Chí Minh, ngày 14 tháng 06 năm 2022
Sinh viên thực tập
Nguyễn Hữu Hiếu


NHẬN XÉT CỦA KHOA

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

..........................................................................................................................................................
..........................................................................................................................................................


Mục lục
CHƯƠNG I: GIỚI THIỆU CÔNG TY CỔ PHẦN ĐẦU TƯ THẾ GIỚI DI ĐỘNG ................... 1
1.1. Thông tin chung................................................................................................................ 1
1.2. Mục tiêu ............................................................................................................................ 3
1.3. Tầm nhìn........................................................................................................................... 3
1.4. Giá trị cốt lõi của công ty ................................................................................................. 3
1.5. Giá trị cốt lõi hướng đến nhân viên .................................................................................. 4
1.6. Cam kết của công ty ......................................................................................................... 6
1.7. Lĩnh vực hoạt động ........................................................................................................... 7
1.8. Cơ cấu phịng ban cơng ty ................................................................................................ 7
1.9. Cơ cấu nhân viên công ty ................................................................................................. 8
CHƯƠNG II: NỘI DUNG KIẾN THỨC THỰC TẬP ................................................................. 9
2.1. Kỹ năng sử dụng source control .......................................................................................... 9
2.1.1. Git ................................................................................................................................. 9
2.1.2. Gitlab .......................................................................................................................... 11
2.1.3. Tortoisegit ................................................................................................................... 12
2.2. Kỹ năng sử dụng phương pháp Scrum .............................................................................. 13
2.2.1. Scrum là gì? ................................................................................................................ 13
2.2.2. Tại sao nên dùng Scrum? ........................................................................................... 15
2.3. Tuân thủ Coding Conventions của công ty ....................................................................... 16
2.3.1 Coding Conventions là gì? .......................................................................................... 16
2.3.2 Coding Conventions .................................................................................................... 17
2.4. ASP.Net MVC ................................................................................................................... 23
2.4.1 ASP.NET MVC là gì? ................................................................................................. 23
2.4.2 Lợi ích của ASP.NET MVC ........................................................................................ 24
2.4.3 Các tính năng của ASP.NET MVC ............................................................................. 24



2.5. ASP.NET Web API ........................................................................................................... 26
2.5.1 API Web ASP.NET là gì? ........................................................................................... 26
2.5.2 Các dịch vụ RESTful là gì? ......................................................................................... 26
2.5.3 Sự khác biệt giữa REST và SOAP là gì? .................................................................... 27
2.5.4 Sự khác biệt giữa Dịch vụ WCF và Dịch vụ API Web là gì? ..................................... 28
2.5.5 Tại sao cần chọn ASP.NET WEB API? ...................................................................... 29
2.5.6 Sự khác biệt giữa WCF và API API và WCF REST và Dịch vụ web là gì? .............. 29
2.5.7 Sự khác biệt giữa ASP.NET MVC và ASP.NET Web API là gì? .............................. 31
2.6. Oracle Database................................................................................................................. 32
2.6.1

Oracle là gì? ............................................................................................................. 32

2.7. Redis Cache ....................................................................................................................... 33
2.7.1 Đặt vấn đề .................................................................................................................... 33
2.7.2 Giới thiệu Redis ........................................................................................................... 33
2.7.3 So sánh Redis và Memcached ..................................................................................... 34
2.7.4 Lợi ích .......................................................................................................................... 35
2.7.5 Một số ứng dụng .......................................................................................................... 37
2.7.6 Trường hợp sử dụng .................................................................................................... 37
2.8. Elasticsearch ...................................................................................................................... 39
2.8.1 Elasticsearch là gì? ...................................................................................................... 39
2.8.2 Các khái niệm cần biết? ............................................................................................... 40
2.8.3 Ưu nhược điểm của Elasticsearch? ............................................................................. 43
2.9. Cookie và Session ............................................................................................................. 44
2.9.1 Cookie là gì? ................................................................................................................ 44
2.9.2 Session là gì? ............................................................................................................... 44
2.9.2 Cách phân biệt session của các trình duyệt khác nhau ................................................ 45

CHƯƠNG III: TĨM TẮT Q TRÌNH THỰC TẬP ................................................................ 46


3.1. Công việc mỗi tuần ........................................................................................................... 46
3.1.1 Lịch thực tập ................................................................................................................ 46
3.1.2 Bảng chi công việc trong lịch thực tập ........................................................................ 47
3.2. Quy trình, cơng cụ làm việc. ............................................................................................. 53
3.2.1. Quy trình làm việc. ..................................................................................................... 53
3.2.2. Các cơng cụ sử dụng trong quá trình làm việc. .......................................................... 54
CHƯƠNG IV: TỔNG KẾT ......................................................................................................... 55
4.1. Kết quả đạt được ............................................................................................................... 55
4.2. Bài học kinh nghiệm ......................................................................................................... 55
4.3. Định hướng trong tương lai ............................................................................................... 56


Danh mục ảnh
Hình 1.1 Logo Cơng ty Cổ phần Đầu tư Thế Giới Di Động ......................................................... 1
Hình 1.2 Cơ cấu phịng ban cơng ty MWG ................................................................................... 7
Hình 1.3 Cơ cấu nhân viên theo giới tính, thâm niên, độ tuổi, trình độ. ....................................... 8
Hình 1.4 Cơ cấu nhân viên theo các cơng ty con........................................................................... 8
Hình 2.1 Logo git. .......................................................................................................................... 9
Hình 2.2 Cách lưu trữ của git. ...................................................................................................... 10
Hình 2.3 Các lệnh thao tác với git. .............................................................................................. 10
Hình 2.4 Logo Gitlab. .................................................................................................................. 11
Hình 2.5 Logo Tortoisegit............................................................................................................ 12
Hình 2.6 Mơ hình Scrum ............................................................................................................. 13
Hình 2.7 Ứng dụng Scrum vào quản lý task. ............................................................................... 15
Hình 2.8 Chú thích tên chương trình, tác giả ............................................................................... 18
Hình 2.9 Khối khai báo thư viện .................................................................................................. 18
Hình 2.10 Khai báo namespace ................................................................................................... 18

Hình 2.11 Khai báo các struct/enum độc lập (nếu có) ................................................................. 19
Hình 2.12 Khai báo lớp chính ...................................................................................................... 19
Hình 2.13 Quy ước viết câu lệnh - Khơng nên ............................................................................ 19
Hình 2.14 Quy ước viết câu lệnh – Nên ...................................................................................... 19
Hình 2.15 Quy ước viết câu lệnh - Khơng nên ............................................................................ 20
Hình 2.16 Quy ước viết câu lệnh – Nên ...................................................................................... 20
Hình 2.17 Ngơn ngữ sử dụng – Không nên ................................................................................. 21


Hình 2.18 Ngơn ngữ sử dụng – Nên ............................................................................................ 22
Hình 2.19 Sự tương tác giữa Model, View và Controller ............................................................ 23
Hình 2.20 Luồng yêu cầu của người dùng trong ASP.NET MVC .............................................. 24
Hình 0.21 Một số yêu cầu điển hình trong API ........................................................................... 27
Hình 2.22 Oracle .......................................................................................................................... 32
Hình 2.23 Kiến trúc Redis cache ................................................................................................. 33
Hình 2.24 So sánh tốc độ Redis và Memcached.......................................................................... 35
Hình 2.25 Logo Elasticsearch ...................................................................................................... 39
Hình 2.26 Ví dụ - Elasticsearch ................................................................................................... 40
Hình 2.27 Inverted Index ............................................................................................................. 41
Hình 2.28 Xác định độ chính xác trong Elasticsearch ................................................................. 41
Hình 3.1 Task Sprint 1 ................................................................................................................. 49
Hình 3.2 Task Sprint 2 ................................................................................................................. 50
Hình 3.3 Task Sprint 3 ................................................................................................................. 51
Hình 3.4 Task Sprint 4 ................................................................................................................. 52
Hình 3.5 Logo Open VPN ........................................................................................................... 54
Hình 3.6 Logo Visual Studio 2019 .............................................................................................. 54
Hình 3.7 Logo Postman ............................................................................................................... 54
Hình 3.8 Logo GitLab - Git ......................................................................................................... 54
Hình 3.9 Logo TortoiseGit ........................................................................................................... 54



CHƯƠNG I: GIỚI THIỆU CÔNG TY CỔ PHẦN ĐẦU TƯ THẾ GIỚI DI ĐỘNG
1.1. Thông tin chung

Hình 1.1 Logo Công ty Cổ phần Đầu tư Thế Giới Di Động

-

Tên công ty: CÔNG TY CỔ PHẦN ĐẦU TƯ THẾ GIỚI DI ĐỘNG.

-

Tên quốc tế: MOBILE WORLD INVESTMENT CORPORATION.

-

Tên doanh nghiệp viết bằng tiếng anh (Viết tắt): MOBILE WORLD JSC (MWG).

-

Mã số thuế: 0303217354.

-

Điện thoại: 1800 1060.

-

Website: .


-

Địa chỉ: Lô T2-1.2, Đường D1, Khu Công nghệ cao, Phường Tân Phú, Thành phố Thủ
Đức, Thành phố Hồ Chí Minh, Việt Nam.

-

Văn phịng: Lơ T2-1.2, Đường D1, Khu Công nghệ cao, Phường Tân Phú, Thành phố
Thủ Đức, Thành phố Hồ Chí Minh, Việt Nam.

-

Đại diện pháp luật: Đoàn Văn Hiểu Em.

-

Ngày bắt đầu hoạt động: 03 – 2004.

-

Ngành nghề hoạt động: Hoạt động dịch vụ bán lẻ điện thoại di động, thiết bị số và điện
tử tiêu dùng tại Việt Nam.

1


-

Công ty Cổ phần Đầu tư Thế Giới Di Động là một tập đoàn bán lẻ tại Việt Nam với lĩnh
vực kinh doanh chính là bán lẻ điện thoại di động, thiết bị số và điện tử tiêu dùng. Theo

nghiên cứu của EMPEA, thống kê thị phần bán lẻ điện thoại di động tại Việt Nam năm
2014 thì Thế giới di động hiện chiếm 25% và là doanh nghiệp lớn nhất trong lĩnh vực
của mình.

-

Năm 2018, Thế Giới Di Động lọt top 100 nhà bán lẻ lớn nhất châu Á - Thái Bình Dương.
Ngồi chuỗi cửa hàng điện thoại di động thegioididong.com, Cơng ty Cổ phần Thế Giới
Di Động cịn sở hữu chuỗi cửa hàng điện máy Điện máy Xanh, Trần Anh và chuỗi siêu
thị thực phẩm Bách hóa Xanh.

-

Năm 2020, thành viên mới của MWG là 4KFarm ra đời với mục tiêu cung cấp cho người
tiêu dùng thực phẩm an tồn theo chuẩn 4 khơng (khơng thuốc trừ sâu, không chất bảo
quản, không chất tăng trưởng, không sử dụng giống biến đổi gen).

-

Từ năm 2018 đến hiện tại, Công ty Cổ phần Đầu tư Thế Giới Di Động (MWG) trở thành
nhà bán lẻ số 1 Việt Nam về doanh thu và lợi nhuận, với mạng lưới hơn 4.500 cửa hàng
trên tồn quốc. Ngồi ra, MWG cịn mở rộng ra thị trường nước ngoài với chuỗi bán lẻ
thiết bị di động và điện máy tại Campuchia cũng như đầu tư vào chuỗi nhà thuốc An
Khang.

-

Hiện tại Tập đoàn MWG gồm có 8 thành viên:
+ Cơng ty cổ phần Đầu tư Thế giới Di động (MWG).
+ Công ty Cổ phần Thế giới số Trần Anh (TAG).

+ Công ty cổ phần Thế giới di động.
+ Công ty Cổ phần Thế giới điện tử.
+ Công ty TNHH MTV Tư vấn Đầu tư Thế giới Bán lẻ.
+ Công ty Cổ phần Thương mại Bách hố xanh.
+ Cơng ty Cổ phần Bán lẻ An Khang.
+ Công ty TNHH MTV Công Nghệ Thông Tin Thế Giới Di Động.
2


1.2. Mục tiêu
-

MWG tập trung xây dựng dịch vụ khách hàng khác biệt với chất lượng vượt trội, phù
hợp với văn hoá đặt khách hàng làm trung tâm trong mọi suy nghĩ và hành động của
công ty.

-

MWG hướng đến không chỉ là một doanh nghiệp hoạt động hiệu quả được nhìn nhận bởi
nhà đầu tư và các tổ chức đánh giá chuyên nghiệp, MWG còn được người lao động tin
yêu khi lần thứ 4 liên tiếp được vinh danh trong TOP 50 Doanh nghiệp có mơi trường
làm việc tốt nhất Việt Nam và là doanh nghiệp xuất sắc nhất tại giải thưởng Vietnam HR
Awards – “Chiến lược nhân sự hiệu quả”.

1.3. Tầm nhìn
-

Tầm nhìn MWG hướng tới là tập đồn bán lẻ đa ngành hàng hùng mạnh, có vị thế số 1
trong lĩnh vực thương mại điện tử.


-

Với châm ngôn mang đến: “Đây là những điều chúng tôi hướng đến. Đây là những
điều mà bạn có thể tin tưởng vào chúng tơi.”

-

Tập đồn MWG sẽ hỗ trợ và tạo điều kiện hết sức có thể cho các cơng ty cùng tập đoàn
MWG hướng đến phát triển bền vững và trở thành thương hiệu hàng đầu về cung cấp các
sản phẩm kỹ thuật số công nghệ cao tại Việt Nam mang tầm cỡ quốc tế. Dựa vào nội lực
của chính mình và mở rộng hợp tác với các đối tác trong lẫn ngoài nước, Tập đoàn
MWG sẽ mang tới những sản phẩm và dịch vụ tốt nhất cho khách hàng, đem lại lợi
nhuận cho các cổ đông, cho sự nghiệp cá nhân của mỗi nhân viên.

1.4. Giá trị cốt lõi của cơng ty
-

Tập đồn Thế Giới Di Động xác định các yếu tố chính tạo nên sự thành cơng của 1
doanh nghiệp đó là:
+ Nguồn lực doanh nghiệp: Thế Giới Di Động xác định nguồn nhân lực là yếu tố
sản sinh ra mọi nguồn lực của Tập đoàn. Tập đoàn MWG chú trọng thu hút nhân
tài, đào tạo về nghiệp vụ chuyên môn và công nghệ, đãi ngộ thoả đáng để xây
dựng một lực lượng hùng hậu cho sự phát triển bền vững của Công ty.

3


+ Chất lượng sản phẩm và dịch vụ: Thế Giới Di Động nhận thức rằng sự trung thành
của khách hàng sẽ đưa Thế Giới Di Động tới thành công và chỉ có chất lượng của
sản phẩm và dịch vụ mới là phương tiện mang tính quyết định để giữ vững sự

trung thành của khách hàng.
+ Quan hệ và hợp tác: Thế Giới Di Động mở rộng quan hệ hợp tác với các đối tác
trong và ngoài nước nhằm kịp thời đưa những sản phẩm công nghệ mới nhất và
dịch vụ theo các yêu cầu đặc thù của khách hàng.

1.5. Giá trị cốt lõi hướng đến nhân viên
1. Tận tâm với khách hàng:
‒ Ln đặt SỰ HÀI LỊNG CỦA KHÁCH HÀNG là ưu tiên số 1 trong mọi suy
nghĩ và hành động của chính mình.
‒ Thành thật xin lỗi và khơng tranh luận đúng sai là trân trọng niềm tin yêu và sự
ủng hộ của Khách Hàng.
‒ Luôn Chủ động - Cười - Chào - Cảm ơn và xem Khách Hàng như người thân.
2. INTEGRITY
‒ INTEGRITY là Trân trọng lời nói của mình, bao gồm giữ cam kết, làm đúng thiết
kế, làm đúng qui trình, khơng làm dối, khơng làm tắt.
‒ Sau khi bạn ĐÃ NỖ LỰC HẾT SỨC ĐỂ GIỮ LỜI mà vẫn khơng thể giữ được lời
của mình thì phải thực hiện ĐỦ 3 VIỆC:
+ Thông tin cho người liên quan biết sớm nhất, nói rõ chuyện gì đã xảy ra trong
thực tế, được dẫn chứng bằng số liệu.
+ Đứng trên lập trường Mình là gốc rễ của vấn đề, tự đánh giá mình đã làm gì và đã
khơng làm gì để giữ lời. Nhận trách nhiệm, khơng đẩy trách nhiệm cho người
khác.
+ Đưa ra hành động mới và cam kết mới được đồng thuận với người liên quan để
Khơi phục INTEGRITY của chính bạn và niềm tin của người khác.
4


3. Yêu thương và hỗ trợ đồng đội
‒ Thành thật quan tâm đến đồng đội là sẵn lòng hỗ trợ, hướng dẫn, động viên để họ
hồn thành tốt cơng việc, khơng làm thay, khơng bao che.

‒ Nghe và nói thẳng thắn, truyền sức mạnh:
+ NGHE: Đứng vào vị trí của người nói để lắng nghe đầy đủ và khơng thành kiến.
+ NĨI: Thẳng thắn theo hướng đóng góp xây dựng, ln ghi nhận thành quả hoặc
nỗ lực dù chưa có thành quả.
4. Trung thực về tiền bạc và các mối quan hệ
‒ Trung thực về tiền bạc: Không lấy, Không sử dụng và Không nghĩ đến việc chiếm
hữu tiền bạc, hàng hố, tài sản khơng phải của mình.
‒ Trung thực trong các mối quan hệ với người khác: Khơng nói ra, khơng thể hiện
những gì mâu thuẫn với suy nghĩ bên trong của chính mình.
5. Máu lửa trong cơng việc
‒ Ln nói “YES”.
‒ Làm thật nhanh.
‒ Khơng ngại khó.
6. Chất lượng là sống cịn
‒ KHƠNG MUA - KHƠNG BÁN hàng không đạt chất lượng.
‒ Xử lý đến cùng nguồn gốc xuất hiện của sản phẩm không đạt chất lượng trong
Bách Hóa Xanh.
‒ Khơng đưa vào tay Khách Hàng bất kỳ sản phẩm nào mà bạn khơng sẵn lịng sử
dụng cho chính mình do lo ngại về chất lượng.

5


1.6. Cam kết của công ty
-

Đối với khách hàng:
+ Đặt khách hàng là trung tâm trong mọi suy nghĩ và hành động của mình.

-


Đối với nhân viên:
+ Mang đến cho nhân viên một môi trường làm việc THÂN THIỆN, VUI VẺ,
CHUYÊN NGHIỆP, ỔN ĐỊNH
+ Cơ hội công bằng trong thăng tiến.

-

Đối với quản lý:
+ Mang đến cho quản lý: Một SÂN CHƠI rộng rãi và công bằng để thi thố tài năng.
+ Một cam kết cho một cuộc sống cá nhân SUNG TÚC.
+ Một vị trí xã hội được người khác KÍNH NỂ.

-

Đối với đối tác:
+ Mang đến cho các đối tác sự TÔN TRỌNG.

-

Đối với nhà đầu tư:
+ Mang đến cho nhà đầu tư một giá trị GIA TĂNG khơng ngừng của doanh nghiệp.

-

Đối với cộng đồng:
+ Đóng góp cho cộng đồng thông qua việc tạo nhiều ngàn việc làm và đóng góp đầy
đủ thuế cho ngân sách nhà nước.

-


Đối với môi trường:
+ Giảm thiểu tác động của mọi hoạt động của MWG mang tính chất tiêu cực lên
mơi trường sống (chống lãng phí).
+ Hướng đến sử dụng tối ưu tài nguyên thiên nhiên (điện nước, cây xanh…).
+ Khôi phục và tái tạo nguồn tài nguyên thiên nhiên.
6


1.7. Lĩnh vực hoạt động
‒ Lĩnh vực hoạt động chính của công ty bao gồm: mua bán sửa chữa các thiết bị liên quan đến
điện thoại di động, thiết bị kỹ thuật số, thiết bị tin học, điện thoại, linh kiện, phụ kiện điện thoại;
máy ảnh, camera, thiết bị kỹ thuật số, thiết bị điện tử, điện gia dụng và các phụ kiện liên quan,
các lĩnh vực liên quan đến thương mại điện tử, các chuỗi cửa hàng chuyên bán lẻ thực phẩm
tươi sống (thịt cá, rau củ, trái cây...) và nhu yếu phẩm.

1.8. Cơ cấu phịng ban cơng ty

Hình 1.2 Cơ cấu phịng ban cơng ty MWG

7


1.9. Cơ cấu nhân viên cơng ty
-

Tính tới cuối năm 2021, MWG có tổng cộng 74.111 nhân sự với cơ cấu đa dạng về mặt
trình độ, độ tuổi, thâm niên và giới tính.

Hình 1.3 Cơ cấu nhân viên theo giới tính, thâm niên, độ tuổi, trình độ.


Hình 1.4 Cơ cấu nhân viên theo các công ty con.

8


CHƯƠNG II: NỘI DUNG KIẾN THỨC THỰC TẬP
2.1. Kỹ năng sử dụng source control
2.1.1. Git

Hình 2.1 Logo git.

-

Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System –
DVCS) ra đời vào năm 2005 và hiện được dùng rất phổ biến. So với các hệ thống quản
lý phiên bản tập trung khi tất cả mã nguồn và lịch sử thay đổi chỉ được lưu một nơi là
máy chủ thì trong hệ thống phân tán, các máy khách không chỉ "check out" phiên bản
mới nhất của các tập tin mà là sao chép (mirror) toàn bộ kho mã nguồn (repository). Như
vậy, nếu như máy chủ ngừng hoạt động, thì bạn hồn tồn có thể lấy kho chứa từ bất kỳ
máy khách nào để sao chép ngược trở lại máy chủ để khơi phục lại tồn bộ hệ thống. Mỗi
checkout thực sự là một bản sao đầy đủ tất cả dữ liệu của kho chứa từ máy chủ.

9


Hình 2.2 Cách lưu trữ của git.

-


Các thao tác được sử dụng trên git

Hình 2.3 Các lệnh thao tác với git.

10


2.1.2. Gitlab

Hình 2.4 Logo Gitlab.

-

Nếu như GitHub theo hướng kinh doanh thì GitLab là một phần mềm có nhiệm vụ quản
lý kho code Git. GitLab sở hữu các tính năng đơn giản, góp phần to lớn trong việc giúp
các doanh nghiệp, cá nhân, tổ chức lưu trữ code một cách nhanh chóng vơ cùng, người
dùng hồn tồn có thể truy cập mọi lúc mọi nơi miễn là có kết nối Internet. Người dùng
có thể ẩn kho code của mình, khơng công khai chúng cho bất kỳ ai, trong trường hợp
vượt q ngưỡng miễn phí thì người dùng mới phải mất phí để mua thêm dịch vụ.

-

Ưu điểm của GitLab mang lại:
• Đối với developer:
+ Sự tiện lợi. Thao tác mỗi khi cần lưu trữ, tải lên, tải xuống code dễ dàng hơn.
+ Kiểm soát các thay đổi trong code nhanh chóng, chính xác.
+ Dễ dàng quản lý, phân phối cơng việc, hồn thành dự án lập trình chất lượng hơn.
• GitLab là open core: Đây là một ưu thế cạnh tranh dành cho GitLab khi các đối thủ của
phần mềm này chủ yếu là các closed – source. GitLab Community Edition là mã nguồn
mở hoàn chỉnh và phiên bản Enterprise Edition là opencore (độc quyền).

• Truy cập vào mã nguồn: Điểm vượt trội của Open core là bạn có thể xem và sửa đổi
source code của GitLab Community Edition và Enterprise Edition khi nào bạn muốn.
Điều này không thể thực hiện đối với phần mềm closed – source. Có thể là trên Server
hoặc bằng cách giả lập kho lưu trữ của GitLab, bạn có thể thêm các tính năng và thực
hiện các tùy chỉnh. GitLab khuyên bạn nên cố gắng hợp nhất các thay đổi trở lại source
code chính để những người khác có thể hưởng lợi từ những thay đổi và những thay đổi
này vẫn để duy trì và cập nhật.
11


• Tính khả thi lâu dài (Viable long term): Chính vì sự uy tín của GitLab, nên đã tạo ra
một cộng đồng vững chắc với hàng trăm nghìn tổ chức, cá nhân sử dụng và đóng góp cho
phần mềm. Việc có nhiều người cùng xây dựng giúp GitLab có khả năng sử dụng lâu dài
hơn vì sẽ khơng đáng tin cậy nếu chỉ có duy nhất một cơng ty hỗ trợ cho phần mềm.
• Cộng đồng phát triển: Bởi những ý kiến đóng góp, xây dựng cùng sự phản hồi tích của
của người dùng, GitLab đang ngày một xây dựng những phiên bản tốt nhất từ ý kiến của
các khách hàng để đem đến cho họ những trải nghiệm tuyệt vời nhất. Điều này góp phần
tạo nên các tính năng mà các tổ chức thực sự cần, chẳng hạn như quản lý người dùng thật
dễ dàng nhưng không hề kém phần mạnh mẽ.
• Phiên bản mới ổn định mỗi tháng: GitLab phát hành phiên bản ổn định mới mỗi tháng,
đầy đủ các cải tiến, tính năng và bản sửa lỗi. Điều này khiến cho GitLab phát triển rất
nhanh và luôn đáp ứng yêu cầu của khách hàng theo cách cực kỳ nhanh chóng.
2.1.3. Tortoisegit

Hình 2.5 Logo Tortoisegit

-

Là một Windoᴡѕ Shell Interface cho Git, được phát triển từ TortoiѕeSVN nổi tiếng. Với
giao diện dễ nhìn, thuận tiện thao tác thì Tortoisegit được nhiều người mới sử dụng git

lựa chọn bởi những tiện ích mà ứng dụng này mang lại.

-

Đối với những người mới sử dụng git thì việc thao tách với command line rất khó nhọc
thì đây sẽ là ứng dụng đáng được lựa chọn. Ứng dụng giúp người dùng dễ dàng thao tác
các lệnh: commit, pull, push, clone,…. một cách nhanh nhất, tránh sai xót nhất.

12


2.2. Kỹ năng sử dụng phương pháp Scrum
2.2.1. Scrum là gì?
-

Scrum là một Framework về quy trình và quản lý giúp giải quyết các vấn đề phức tạp,
nhưng vẫn đảm bảo tính hiệu quả, sáng tạo và sản phẩm được tạo ra phải đạt được giá trị
cao nhất. Bản thân Scrum là một Framework đơn giản nhằm giúp việc phối hợp hiệu quả
nhất giữa các thành viên trong đội phát triển khi thực hiện những sản phẩm phức tạp. Với
Scrum, sản phẩm được xây dựng trên 1 chuỗi các quy trình lặp lại (gọi là Sprint). Các
sprint diễn ra đều đặn, mỗi một sprint là cơ hội để học hỏi điều chỉnh nhằm đạt được sự
phù hợp và kết quả tốt nhất.

-

Nhắc đến Scrum là:
+ Nhẹ nhàng.
+ Dễ hiểu.
+ Khó để quản lý và làm chủ.


Hình 2.6 Mơ hình Scrum

13


-

Khi áp dụng Scrum, có 4 cuộc họp (Meetings or Ceremonies) quan trọng tạo nên cấu trúc
trong mỗi Sprint như sau:
+ Sprint planning: Cuộc họp lên kế hoạch của đội dự án, nhằm xác định những gì
cần hồn thành trong Spring sắp tới.
+ Daily stand-up: Cũng được biết đến như “Daily Scrum”, một cuộc họp nhỏ 15
phút mỗi ngày để trao đổi công việc giữa đội phát triển.
+ Sprint demo: Một cuộc họp chia sẻ, nơi mà các thành viên chỉ ra những gì họ đã
làm được trong Sprint đó
+ Sprint retrospective: Sự đánh giá, nhìn lại những điều đã làm được và chưa làm
được của Sprint hiện tại, và đưa ra giải pháp hành động cho Sprint tiếp theo được
tốt và hồn thiện hơn.

-

Một nhóm phát triển Scrum thì sẽ có những thành phần hơi khác biệt so với mơ hình
truyền thống Waterfall, với 3 vai trị sau:
+ Product Owner
+ Scrum Master
+ Development Team

-

Và bởi vì nhóm phát triển Scrum là đa chức năng, nên “Development Team” sẽ bao gồm

Testers, Designers, và Ops Engineers.

14


2.2.2. Tại sao nên dùng Scrum?
-

Nguồn gốc của Scrum xuất phát từ nghiên cứu những năm 1986 về quy trình phát triển
sản phẩm thành cơng, tất cả đều có những đặc tính như yêu cầu mới và sự thay đổi yêu
cầu thường xuyên và liên tục, thời gian để đưa sản phẩm ra thị trường rất ngắn. Trong
nghiên cứu này, cách thức để đội phát triển làm việc với năng suất cao nhất được đưa ra
so sánh với bộ môn bóng bầu dục và được gọi là Scrum. Tính minh bạch, kiểm tra, và
thích nghi là 3 nền tảng cơ bản của Scrum. Và dưới đây là những lý do tại sao nên dùng
Scrum:
+ Scrum cho phép việc tự do triển khai.
+ Scrum dễ học và dễ sử dụng.
+ Scrum chấp nhận sự thay đổi.
+ Scrum làm giảm rủi ro khi xây dựng sản phẩm.
+ Scrum tối ưu hóa hiệu quả và nỗ lực của đội phát triển.
+ Scrum cho phép khách hàng sử dụng sản phẩm sớm hơn.
+ Scrum cải tiến liên tục.

Hình 2.7 Ứng dụng Scrum vào quản lý task.

15


2.3. Tuân thủ Coding Conventions của công ty
2.3.1 Coding Conventions là gì?

-

Coding conventions là một tập hợp các quy tắc được định nghĩa ra để quy ước quá trình
code trong một dự án.

-

Thường được xây dựng sau khi quá trình phân tích u cầu hệ thống, dựa vào các nhóm
chức năng của một hệ thống.

-

Project manager sẽ dựng một bộ khung Coding Conventions cho toàn dự án cũng như
team leader có thể dựng lên từng bộ Coding Conventions cho team mình dựa trên bộ
khung gốc.

-

Nhờ có Coding conventions, những các thành viên trong dự án có thể hiểu đọc hiểu code
của nhau dễ dàng hơn.

-

Thuận tiện hơn cho những developer khác khi họ tìm hiểu dự án các dự án cũ để phát
triển thêm.

-

Dựng lên một bộ quy tắc để thống nhất chung cho hệ thống hoặc dự án.


16


2.3.2 Coding Conventions
2.3.2.1 Quy tắc đặt tên
-

Pascal Case: Chữ cái đầu tiên trong từ định danh và chữ cái đầu tiên của mỗi từ nối theo
sau phải được viết hoa. Sử dụng Pascal Case để đặt tên cho một tên có từ 3 ký tự trở lên.
+ VD: CodingConvention

-

Camel Case: Chữ cái đầu tiên trong từ định danh là chữ thường và chữ cái đầu tiên của
mối từ nối theo sau phải được viết hoa.
+ VD: codingConvention

-

Uppercase: Tất cả các ký tự trong từ định danh phải được viết hoa. Sử dụng quy tắc này
đối với tên định danh có từ 2 ký tự trở xuống.
+ VD: MIN_PRICE_TO_FREESHIP
Loại

Kiểu đặt tên

Ví dụ

Ghi chú


Tên biến

Camel Case

firstName

Danh từ

Hằng số

Uppercase

FIRST_WEEK_DAY

Có gạch chân
giữa các từ

Pascal Case

Product

Danh từ

Thuộc tính

Pascal Case

Price

Danh từ


Tham số

Camel Case

product

Danh từ

Thuộc tính

Pascal Case

GetProducts

Động từ

Sự kiện

Pascal Case

SelectedIndexChangedEventHandler

Có hậu tố

Tên class,
enum

EventHandler
Giao diện


Pascal Case

IProduct

(interface)
Bảng 2.0.1 Bảng quy tắc đặt tên theo Coding Conventions

17

Có tiền tố I


×