1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo môn học Đề tài kiểm thử web site bán màn hình máy tính

45 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm Thử Website Bán Màn Hình Máy Tính
Tác giả Nguyễn Đức Mạnh, Lê Anh Đức
Người hướng dẫn Phạm Đức Hồng
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 45
Dung lượng 4,88 MB

Nội dung

1.2 Mục tiêu của kiểm thử phần mềm Kiểm thử phần mềm sẽ giúp hoàn thiện các ứng dụng phần mềm hoặc sản phẩm so với yêu cầu kinh doanh và người sử dụng.. Kiểm tra phần mềm đề chắc chắn ki

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN

<

Dal HOC DIEN LUC

ELECTRIC POWER UNIVERSITY

BAO CAO MON HOC:

DETAI: KIEM THU WEBSITE BAN MAN HiNH MAY TINH

Sinh viên thực hiện : NGUYÊN ĐỨC MẠNH

LÊ ANH ĐỨC Giảng viên hướng dan : PHAM DUC HONG

Trang 2

PHIEU CHAM DIEM

Giảng viên châm 1:

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, nhóm em xin gửi lời cảm ơn sâu sắc đến thầy Phạm Đức Hồng, người

đã nhiệt tình giảng giải, hỗ trợ và định hướng đưa ra những đóng góp quý báu, tạo mọi điều kiện tốt nhất cho nhóm em hoàn thành dự án Trong thời gian làm việc cùng thay, nhóm em không ngừng tiếp thu thêm nhiều kiến thức bố ích mà còn học tập được tinh thần làm việc nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho nhóm em trong quá trình học tập và công tác sau này

Nhóm em xin chân thành cảm ơn các thầy cô giảng viên, cán bộ trường Đại học Điện Lực đã nỗ lực cống hiến giảng dạy nhóm em trong suốt những năm đại học đê chúng em có

Trang 4

MỤC LỤC I9.) 09 0

MỤC LỤC L2 211 1212111111111111111111111111111111111111 111111111111 111111111 111111111111111111111 01111111111 1111 101 10g

DANH MỤC CÁC HÌNH VẼ 2222 n0 tt 21.102 g2 n0 tru DANH MỤC CÁC BẢNG BIỀỂU 2222211111000 1 1 guueg

Danh mục các từ viết tắt TT ng H21 n5 ng Hee re VIII

ÿI6210ã00 7 6 1

CHƯƠNG I TÔNG QUAN VỀ KIÊM THỬ PHẢN MÈẼM - 56 5c St 2EcEErccrrrrre 2

1.1 Tâm quan trọng của việc kiểm thử phần mễn - 22-2 SE E21 cctxcre 2

1.2 Mục tiêu của kiểm thử phân HIỂM Q20 0 2101032112215 11211 1152155155555 sea 3

1.3 Vai trò của kiểm thử trong vòng đời phát trién phần mềm .- 5-5 cccScc: 4

1.3.1 Kiểm thử phần mềm trong mô hình thác nước . - 5c 2cxe£xezEez re 4 1.3.2 Kiểm thử phần mềm trong mô hình chữ V -2- 2 SE 2E EeEEserxet 4 1.3.3 Kiểm thử phần mềm trong Agile — Scrum 52 5s E2 2E 4

1.4 Cơ hội việc làm dành cho kiểm thử viên ảo 22 tre 5

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT - Các công cụ được sử dụng . ccccccccceee 7

2.1 Ngôn ngữ lập trình C Sharp 5 2 101212111 112111 11211111181 1111011811110 11111 tre 7

2.1.1 Giới thiệu về ngôn ngữ lập trình C Sharp 5-51 St HH nrrgrere 7

2.1.2 Đặc trưng của ngôn ngữ lập trình C ShaTp .- 2 2 2 2111211 xrrrey 8

2.1.3 Cac phién ban C Sharp nnn Ả 9

"¡30991 1S 13

ĐC.) I2 4)/0®o::iaadaaiadiaiaaiiada4a4ÊŸẢ 14

2.4 Giới thiệu về Selenium s22 tt tu uờ 15

2.4.1 Céng cu kiém thir tir déng Selenium o.oo ccc ccc cscs essesersesessesseesessressesseseees 15

2.4.2 Thanh phan của Selenium : 52v 222221 21t tre 16

2.4.3 Tính năng của SeÏenIum óc 11121911211 21811 11011111 1101115101111 0kg 17 2.4.4 Sclenium WebdrIV€T c c1 H111 11011 110111110111 11101111 1 H11 gu 17

PS cài 0 0 0800.0nn ốố 18

Trang 5

2.6 Công cụ quay và chụp màn hỉnh SnagT1L G2 2112121121111 18111112111 ty 19 2.7 Bảng tính Google Sheefs LH HH HH 01011111 120111121111 H1 1 Hết 19

CHƯƠNG 3 PHẦN TICH THIET KE HE THÓNG - 22-: 2222222222222 20

km con n.n ốốố

20

3.1.1 Hoạt động nghiệp vụ c2 1H HH1 HH HH HH HH ru

20 3.1.2 Yêu cầu chức năng .- c2 HT HH1 21 nen

21 3.1.3 Yêu cau phi chite nang o.cccccccccccccsscsssesscsssessessessessesssessesssssessessessesersaressesases

29

Trang 6

4.1.5 Cụm chức năng User Mianagemen[L - cv v2 HH Hư

Hình 2-I: Kiểm thử phần mễn - 2-5 S1 12 2 12212211 1112112112122111 2110 rrerere 3

Hình 2-2: Mức lương của T€§f€T 2c 12111 121111101 191101101111 0110111111111 H1 1 ray 5 Hình 2-3: Mức lương của ÏÖeveÏoper .- 2c t 211 1911110119111 10112111111 1 ru 5 Hình 3-1: Ngôn ngữ lập trình C ShaTp 2 1n S SH HH2 121114112111 7 Hình 3-2: Quá trình chuyén d6i MSIL code thanh native code 552: 5cccccczccc: 8 Hình 3-3: Cac phién ban ctta C# occ ccececeeseseeseeeesceeescnseseeecseseseeseeseeesesecieteceeneceneesees 9

Hình 3-4: Nền tảng NE7T - 5 c2 1E 2211 11211211 21221 1 10 11121 ray 12

Hình 3-5: Thành phần của NET Core .- 6 5c 2221 122121112211211121 2212212 re 14

Hình 3-8: Biểu tượng của SeÏ€nTum +: tk t1 1211111 111111 1101111111111 01111 01 0111 ray 16

Hình 3-9: Phần mềm IntelliJ TIDEAA 226cc: 2222112222211 ttEEtEEtttrttrrrrrrrrrrres 18

Hình 3-10: Viết script trong IntelliJ s55: 25 2112212211221 712211 22 re 19 Hình 3-11: Công cụ quay vả chụp ảnh màn hình SnagIt eceeeceeeeeeeeeees 19 Hình 3-12: Bảng tính Google Sheets TS n HH HHHH1011110111141 1121111211111 1d 20 Hinh 4-1 Quy trình công nghỆ L2 1211 212 1211111011111 110111110111 11101111 1H ray 21 Hình 4-2 Cơ sở dữ liệu 2 1211 102112121 111011121111010111111110 011111 111011111111 111111111 kg 22 Hinh 4-3 Biéu d6 usecase tông quát . - S1 St E221 1 2112 21211 nguyên 24 Hình 4-4 Usecase quản lý khóa học n2 1112111 101101101 1011111011111 12 1 1c tết 24 lsi)'E FSZđđdtt 25 Hình 5-1: Chức năng Login hệ thống của admin - 2-26 2 2E22122122122221 212cc 26 Hình 5-2: Giao diện sau khi đăng nhập SHAI thành công 22c 22232 26 Hình 5-3: Man hình chức năng Membership L_ 1s .- 0c 1222221213113 112xrrxee 27 Hình 5-4: Màn hình thêm mới MembeT- 2c 222012111121 11211111111111 111111111 8111 re 27

Trang 7

Hình 5-5: Màn hình chức năng Membership Group .- óc: 2c 2123 tre 28 Hình 5-6: Man hinh thém moi Membership Group .- c2 2 22x srrrerse 28 Hình 5-12: Màn hình chức năng C lass LLISE G120 221 1211211 1121111111111 1 t2 29 Hinh 5-13: Man hình chức năng Course IS .- 120 211212 1121211111111 1811 11k 29 Hình 5-14: Màn hình chức năng Course Type LISt c2 2v HH re 30 Hình 5-15: Man hình chức năng Departimen[ 2 11212 11211111121 111181 1811 tre 30 Hình 5-16: Màn hình chức năng User LLIS 12211 132111112111 112181 11110118111 tre 31 Hình 5-17: Màn hình chức năng Role LLIS 2 12011 132111112111 112181 1111118111 tre 31

DANH MUC CAC BANG BIEU

Bảng 0-1: Các nhiệm vụ của đồ án tốt nghiệp Error! Bookmark not defined

Trang 9

MỞ ĐẦU

1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài

Chúng ta đang sống trong thời kỳ hiện đại hóa, khi mà công nghệ được áp dụng trên

mọi lĩnh vực của cuộc sống như kinh doanh, y tế, giáo duc,

Đặc biệt là hiện nay con người thích sử dụng các thiết bị thông minh như điện thoại, laptop, để dùng cho mục đích mua cũng như tiết kiệm thời gian phục vụ cho các hoạt động khác Chính vì thế các ứng dụng, website hỗ trợ con người trong mục đích quản lý về nhiều lĩnh vực đang rất được ưa chuộng và phố biến

Thành lập một trung tâm dạy học là một chuyện và đề có thể quản lý được trung tâm một cách tốt nhất, bài bản nhất thì rất cần một phần mềm quản lý việc dạy học, các lớp học cũng như thành viên một cách tốt nhất Ở thời đại công nghệ 4.0 hiện nay việc sử dụng công nghệ thông tin vào việc quản lý dạy học thay cho việc quản lý thủ công

Nắm bắt được tình hình trên, nhóm em đã tạo ra ý tưởng xây dựng một Website quản

lý trung tâm dạy học Giúp cho việc quản ly giáo dục dạy học trở nên thuận tiện hơn

Đề tải này nhóm em phát triển chức năng theo nhóm tác nhân là người dùng và quản trị hệ thống, vì vậy trong khóa luận nảy nhóm em sẽ giới thiệu, phân tích chức năng, giải quyết bài toán nghiệp vụ của người dùng và quan trị hệ thống

2 Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài

Từ những phân tích trên, ý tưởng cho một phần mền quản lý dạy học hình thành nhằm mục đích giúp cho doanh nghiệp thuận tiện hơn trong việc quản lý việc dạy học Trong báo cáo đồ án này sẽ tập trung trình bày những nghiên cứu kiến thức cơ bản về lập trình C#, đi sâu vào nên tảng NET Core Phần kiêm thử sẽ đi sâu vào Selenium, công

cụ tiễn hành kiểm thử tự động chức năng được sử dụng cho đồ án Triển khai các bước

thiết kế, xây dựng ứng dụng giúp người dùng tra cứu thông tin, đăng kí, tìm kiếm, thanh

toán một cách thuận tiện nhất

Đây không phải là một đề tài mới nhưng do kinh nghiệm của em chưa nhiều và còn nhiều hạn chế cũng như sai sót mong thầy cô và các bạn đóng góp ý kiến để đề tài được

hoàn thiện hơn

Trang 10

CHUONG 1 TONG QUAN VE KIEM THU PHAN MEM

1.1 Tâm quan trọng của việc kiêm thử phan men

Một phần mém được tạo ra thì luôn tồn tại lỗi Những lỗi phần mềm này nếu không được phát hiện ra và chỉnh sửa thì có thể gây ra những sự có đáng tiếc

Một trong những lỗi nôi tiếng nhất trong lịch sửa thế giới chính là Y2K Y2K là viết

tắt của Year 2000 va duge goi la “ôi thiên niên kỷ” Vào cuôi những năm 90, lỗi Y2K là 161

được đề cập nhiêu nhật khi cả thê giới chờ đợi máy bay va chạm, tàu vũ trụ bien mật, thị trường chứng khoán sụp đồ như dự đoán của nhiều chuyên gia công nghệ Lỗi này là một sai lâm đơn giản trong hệ thông quản lý thời gian của các máy tính chỉ sử dụng hai chữ số

đê biêu thị một năm Theo đó, 1970 sẽ được biêu diễn là 70 va năm 1999 sẽ được biêu diễn

là 99, Lý do của việc này là đề tiệt kiệm bộ nhớ [1]

Khi gần đến năm 2000, các lập trình viên máy tính nhận ra rằng máy tính sẽ không

thé biéu diễn chính xác năm 2000, vì 00 được dùng đề biêu diễn năm 1900 Các hoạt động

được lập trình hàng ngày hoặc hàng năm sẽ bị hư hỏng hoặc thiếu sót Vào ngày 31 tháng

12 năm 1999, chuyển sang ngày 1 tháng I năm 2000, máy tính sẽ biểu lả từ ngày 31 tháng

12 năm 1999, chuyên sang ngày 1 tháng I năm 1900 [1]

Các ngân hàng, tính lãi suất hàng ngày, phải đối mặt với những vấn đề thực sự Lãi suất là số tiền mà người cho vay, ví dụ như ngân hàng, tính phí một khách hàng, chang han như một cá nhân hoặc một doanh nghiệp khi họ vay tiền Thay vì tỷ lệ lãi suất cho một

ngày, máy tính sẽ tính tỷ lệ lãi suất cho gần 100 năm! [1]

Các trung tâm công nghệ, như các nhà máy điện, cũng bị đe dọa bởi lỗi Y2K Nhà máy điện phụ thuộc máy tính để kiêm tra an toàn và bảo trì, chăng hạn như áp lực nước hoặc mức độ bức xạ Không có ngày chính xác sẽ làm mắt những tính toán này và có thê đưa các cư dân gần đó đối mặt với nguy hiểm [1]

Giao thông vận tải cũng phụ thuộc vào thời gian và ngày tháng chính xác Các hãng hàng không đặc biệt bị de doạ vì máy tính lưu thông tin về tat cả các chuyến bay theo lịch

trình sẽ bị đảo lộn hết cả [1]

Cuối cùng, có Y2K đã không gây ra hậu quả gì nghiêm trọng nhưng cũng phải mất một thời gian đề các nhà phát triên phần mềm khắc phục triệt đề lỗi này

Trang 11

1.2 Mục tiêu của kiểm thử phần mềm

Kiểm thử phần mềm sẽ giúp hoàn thiện các ứng dụng phần mềm hoặc sản phẩm so với yêu cầu kinh doanh và người sử dụng Nó là rất quan trọng đề đảm bảo kiểm thử tốt dé kiêm thử các ứng dụng phần mềm hoàn toàn và chắc chắn rằng nó hoạt động tốt và theo các thông

số kỹ thuật

Việc xác định pham vi kiểm tra các trường hợp kiểm thử nên được thiết kế tốt với khả năng tối đa của việc tìm kiếm các lỗi hiệu quả và được tính toán là số bug bao cao cho

mỗi trường hợp kiểm thứ

Kiểm tra phần mềm đề chắc chắn kiểm thử đang thực hiện đúng cách và hệ thống đã san sàng đề sử dụng Kiêm thử bao phủ các lĩnh vực khác nhau như: chức năng của các ứng dụng, khả năng tương thích của các ứng dụng với các hệ điêu hành, phân cứng và các

loại khác nhau của các trình duyệt, thực hiện kiêm thử đề kiêm tra hiệu năng của các ứng

dụng đề đảm bảo rằng hệ thống đáng tin cậy và không có trục trặc hay không nên có bắt kỳ

vân đề cản trở Xác định răng các ứng dụng có thê được triên khai một cách đề dàng với

máy tính và không có bất kỳ sự có Do đó các ứng dụng rất đễ dàng đề cài đặt, tìm hiệu và

sử dụng

Trang 12

Kiểm thử phần mềm cho phép tạo ra những đánh giá khách quan về mức độ phù hợp của

hệ thống các yêu cầu đã nêu và thông số kỹ thuật

Kiểm tra xác nhận rằng hệ thống đáp ứng các yêu cầu khác nhau bao gồm: chức năng, hiệu suất, độ tin cậy, an toàn, khả năng sử dụng và như vậy Việc xác nhận này được thực hiện đê đảm bảo rằng đang xây dựng hệ thống phù hợp

Xác nhận đề đảm bảo đang xây dựng hệ thống phù hợp Ngoài việc giúp đưa ra quyết định, các thông tin từ các kiêm thử phần mềm giúp quản lý rủi ro

1.3 Vai trò của kiếm thử trong vòng đời phát triển phần mềm

Kiểm thử phần mềm là hoạt động không thê tách rời với hoạt động phát trién phan mềm Hiện nay có 3 quy trình phát triên phần mềm chủ yếu được sử dụng: mô hình thác nước, mô hình chữ V và mô hình Agile — Scrum

1.3.1 Kiếm thử phần mềm trong mô hình thác nước

Mô hình thác nước là một mô hình tuần tự được chia thành các giai đoạn khác nhau

trong hoạt động phát triển phần mềm Mỗi giai đoạn được thiết kế đề thực hiện hoạt động

cụ thể trong giai đoạn phát triển phần mềm Giai đoạn kiêm thử trong mô hình thác nước chỉ bắt đầu sau khi hệ thống được xây dựng hoản thành

Kiểm thử được thực hiện trong quá trình phát triển phần mềm

1.3.2 Kiếm thử phần mềm trong mô hình chữ V

Mô hình chữ V là một phần mở rộng của mô hình thác nước Không giống như mô

hình thác nước, trong mô hình chữ V có một giai đoạn kiểm thử tương ứng cho từng giai đoạn phát trién phần mềm Trong mô hình chữ V, kiếm thử được thực hiện song song với giai đoạn phát triên phần mềm

Kiểm thử được thực hiện như một phan cua giai doan phat trién phan mém

1.3.3 Kiếm thử phần mềm trong Agile — Scrum

Mô hình Agile — Serum không thực hiện toàn bộ yêu cầu của hệ thống vào coding và

testing một lúc mà chia ra làm nhiễu giai đoạn (sprint) khác nhau, mỗi giai đoạn sẽ làm một

số yêu cầu nhất định Cán bộ kiểm thử sẽ được tham gia dự án ngay từ đầu, đảm bảo cuối

mỗi spint có sản phâm hoàn thành cả code và test

Trong mỗi một giai đoạn phải tạo task cho code và test Một task code xong phải có Ì

test test liền sau đó Do thời gian làm ngắn ngày nên phải đảm bảo cuối sprint hoàn thành

xong được cả test

Trang 13

1.4 Cơ hội việc làm dành cho kiếm thử viên

Pay by Experience Level for Software Tester

Median of all compensation (including tips, bonus, and overtime) by years of experience

Hình 1-2: Mirc lwong cua Tester

0-5 yrs 5-10 yrs 10-20 yrs >20 yrs 2] Median of all compensation (including tips, bonus, and overtime) by years of experience

Hình 1-3: Mức lương của Developer

Nhìn vào hình ảnh so sánh có thê nhận ra ưu thế lương thuộc về bên lập trình viên Nhưng mức độ lương ngoài phụ thuộc vào tính chất nghiệp vụ thì còn có thể kể đến nhiều

yếu tố khác như: [3]

* Cac kỹ năng và trình độ của các kỹ năng liên quan đến công việc

- _ Kinh nghiệm làm việc của bản thân với vị trí công việc

° Mức lương hiện tại nhận được trước khi đảm nhận một công việc khác

* Tinh chat cong viéc

Trang 14

* Vitri, dia diém lam việc

° - Công ty tuyển dụng

* Lợi nhuận nhận được khi làm việc

* Ky nang dam phán lương khi đi phỏng vấn công việc

Nhưng bỏ qua khía cạnh về tiền bạc, có những giả trị khác sẽ nhận lại được như

kiến thức học hỏi được trong quá trình làm việc, các mối quan hệ với đồng nghiệp, cùng các kĩ năng mềm như khả năng xử lý tình huống, kĩ năng làm việc nhóm hay tư duy vấn đề

[3]

Để tạo nên một phân mềm tốt thì cần có sự kết hợp từ lập trỉnh viên va kiểm thử viên

trong quá trình xây dựng và phát triên phần mềm [3]

Trang 15

CHƯƠNG 2 CƠ SỞ LÝ THUYÉT - CÁC CÔNG CU ĐƯỢC SỬ DỤNG

Trong chương này sẽ tập trung trình bày lý thuyết về ngôn ngữ lập trình C#, ASP.NET

Core, NET Core, Entity Framework danh cho viéc lap trình web Phan kiém thir sé gidi

thiệu về Selenium cùng các công cụ được sử dụng cho việc kiểm thử chức năng web 2.1 Ngôn ngữ lập trình C Sharp

2.1.1 Giới thiệu về ngôn ngữ lập trình C Sharp

C# [4] (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triên bởi đội ngũ

kỹ sư của Microsoft vào năm 2000 C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ va Java

ee

Hình 2-1: Ngôn ngữ lập trình C Sharp Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên dịch

trực tiếp thành mã thực thi của hệ điều hành

Trong các ứng dụng sử dụng NET Framework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft intermediate language)

Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) đề trở thành

mã thực thi của hệ điều hành Hình bên dưới thê hiện quá trình chuyên đối MSIL code thành native code

Ngôn ngữ lập trình C Sharp

Trang 16

C# compiler c#

VB.NET compiler CLR

VB.NET —————— À> MSILcode —— Native code

JIT Compiler Other NET Other compiler

language

Compile time : Runtime

Hình 2-2: Quá trình chuyên đôi MSIL code thành native code

C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), phát triển game, ứng dụng Web, ứng dụng Mobile trở nên rất dé dang

2.1.2 Đặc trưng của ngôn ngữ lập trình C Sharp

A C# là ngôn ngữ đơn giản

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class) Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ Nếu quen thuộc với C và C+—~ hoặc thậm chí là Java, thì sẽ thấy C# khá giống vẻ diện mạo, cú pháp, biểu thức, toán

tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiền để làm cho ngôn ngữ đơn giản hơn

B C# là ngôn ngữ hiện đại

Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiêu dữ liệu mở rộng, và bảo mật mã nguôn là những đặc tính

được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên C# là một

ngôn ngữ lập trình thuần hướng đối tượng

Lập trình hướng đối tượng (OOP: Object-oriented programming) là một phương pháp lập trình có 4 tính chất Đó là tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance) C# hỗ trợ tất cả những đặc tính trên

Trang 17

€, C# là một ngôn ngữ ít từ khóa

C# là ngôn ngữ sử dụng giới hạn những từ khóa Phân lớn các từ khóa được sử dụng

đề mô tả thông tin Có thê nghĩ một ngôn ngữ có nhiễu từ khóa thì sẽ mạnh hơn Điều nảy không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, có thê tìm thấy rằng ngôn ngữ

này có thể được sử dụng đề làm bất cứ nhiệm vụ nảo

aaa

Managed Code Nullable Type

Anonymous Type Optional

Parameters Partial Class

Information More COM

Implicit Type Support

lu ear lara

* Expressions

Trang 18

* Statements

¢ Attributes

C# 1.2 được phát hành cùng với Visual Studio 2003 có cải tiến hỗ trợ thêm một số thứ

như foreach, IEnumerator, IDisposable

* Covariance and contravariance

Generic: Véi generic, code trở nên gọn gang, sáng sủa hơn, cũng có thê tái sử dụng function

cho nhiều kiểu đữ liệu khác nhau

Nullable: Trong nhiều trường hợp, cần thê hiện gia tri null voi kiểu đữ liệu tham trị

như int, double v v Với I số ngôn ngữ khác, phải chuyên nó sang dạng tham chiếu như Interger, Double Với C# 2, có thể dùng kiêu nullable, khai báo bằng cách: Nullable hoặc int Rất ngắn gọn và đơn giản

Delegate: Da có thê sử dụng anonymous delegate, viết ngắn học hơn so với C# 1

Partial class: Mot partial class có thé được khai báo trong nhiều file khác nhau

Partial class được áp dụng trong Winform, class tự sinh từ Entity Framework, giúp đễ dàng thêm chức năng vào form, class mà không cần động tới những class được C# tự tạo ra

Iterator (IEnumerable): Đề duyệt từng phần tử một mảng, có thê dùng hàm foreach

lterator là một cực hình khi implement trong C# 1 Voi tir khoa yield, viéc tao Iterator

trong C# da tro nén rat dé rang

C C# 3.0 — Cải tiến trong data accsess, LINQ ra doi

Phiên bản này được phát hành cuối năm 2007 cùng với Visual Studio 2008

Các tính năng quan trọng:

¢ Auto-implemented properties

* Anonymous types

* Query expressions

Trang 19

¢ Tw implement getter, setter thong qua properties + Khởi tại object va array mot cach dé dang

* Khai bao bang bién var

* Anonymous class Lambda expression: Lambda expression gitp viéc viét delegate trở nên đễ dàng hơn rất nhiều

Extension method: Query và LINQ: Đây là phiên bản C# đầu tiên LINQ ra đời Những cải tiễn như var, anonymous class, lamda expression, extension method đều lả nền tảng để xây dựng LINQ

Ứng dụng khác của LINQ: Ban đầu, LINQ duge ding dé filter, sort v v cdc object trong bộ nhớ Nhờ sự trợ giúp của expression tree, LINQ đã có l sô ứng dụng khác như: LINQ to SQL (Dich lambda expression thanh SQL, query truc tiép dudi database), LINQ

to XML, Parellel LINQ

D C# 4.0 — Thay đối nho nhỏ

* Dynamic binding

¢ Named and optional arguments

* Generic co- and contravariance

* Embedded interop types (“NoPIA”) Cải tiền nhỏ giúp code ngắn gọn hơn: Thêm named arguments va optional parameters Lap trinh voi dynamic: Day la thay đôi lớn nhất và đáng chú ý nhất trong C# Với dynamic, gid đây có thê làm việc với các object từ những ngôn ngữ dynamic như Python, Ruby, Javascript,

E C# 5.0 — Giam thiéu rac réi khi code bất đồng bộ

* Asynchronous members

* Caller info attributes

Trang 20

Điểm nhắn lớn nhất của phiên bản C# 5 này chính là 2 từ khóa async và await Nhiều function

trong C# đã được hỗ trợ call async va await

2.2 Nền tảng NET

.NET [5] là một nên tảng thống nhất có khả năng tương tác với đa ngôn ngữ lập trình và

được kiến trúc bởi 2 môi trường:

Thư viện lớp lớn có tên là Framework Class Library (FCL) Môi trường cung cấp giao diện cho người dùng, kết nối cơ sở dữ liệu, mật mã, truy cập dữ liệu, truyền thông tin

mạng, các thuật toán, thiết kế web và phát triển web

Thực thi các chương trình trong môi trường phần mềm Common Language Runtime (CLR) Một máy ảo cung cấp các dịch vụ như bảo mật, quản lý bộ nhớ và xử lý các ngoại

^

lệ

.NET FRAMEWORK -NET CORE XAMARIN

Windows Forms ASP.NET Core

Hinh 2-4: Nén tang NET

.NET Framework được Microsoft đưa ra chính thức từ năm 2002 NET Framework

chỉ hoạt động trên Windows Những nền tảng ứng dụng như WPF, Winforms, ASP.NET(14) hoạt động dựa trên NET Framework

Mono là phiên bản cộng đồng nhằm mang NET đến những nên tảng ngoài Windows Mono được phát triển chủ yêu nhằm xây dựng những ứng dụng với giao diện người dùng

và được sử dụng rât rộng rãi: Unity Game, Xamarm

Cho đến năm 2013, Microsoft định hướng đi đa nền tảng và phát triển NET core .NET core hiện được sử dụng trong các ứng dụng Universal Windows platform và ASPNET Core Từ đây, C# có thể được sử dụng đề phát triển các loại ứng dụng đa nên tảng trên các hệ điều hành khác nhau (Windows, Linux, MacOS )

Trang 21

2.3 NET CORE

NET Core [6] là một nền tảng phát triển đa mục đích, mã nguồn mở được duy trì bởi Microsoft và cộng đồng NET trên GitHub Đó lả nền tảng chéo (hỗ trợ Windows, macOS

và Linux) và có thê được sử dụng đề xây dựng các ứng dụng thiết bị, đám mây va IoT

.NET Core hỗ trợ đầy đủ C # và F # (và C ++ / CLI kế từ 3.1; chỉ được bật trên

Windows) và hỗ trợ một phân Visual Basic NET

Có thê sử dụng các công cụ sau dé lap trinh:

Visual Studio Visual Studio Code Sublime Text

Vim Đặc điểm của NET Core:

Đa nên tảng: Chạy trên các hệ điều hành Windows, macOS và Linux

Nhất quán trên các kiến trúc: có thẻ chạy mã nguồn với cùng một hành vi trên

nhiều kiến trúc hệ thống, bao gồm x64, x86 và ARM

Các công cụ dòng lệnh: Bao gồm các công cụ dòng lệnh dễ sử dụng, có thê

được sử dụng dé phat triển cục bộ và trong các tỉnh huống tích hợp liên tục

Triển khai linh hoạt: có thể cài đặt song song (cải đặt toàn người dùng hoặc toàn hệ thống) Có thê được sử đụng với các container Docker

Tương thích: NET Core tương thích với NET Framework, Xamamn và Mono, thông qua NET Standard

Nguồn mở: Nền tảng NET Core là nguồn mở, sử dụng giấy phép MIT va

Apache 2 .NET Core la một dự án NET Foundation

Được hỗ trợ bởi Microsoft: NET Core được Mierosoft hỗ trợ, theo Hỗ trợ NET Core

Về framework, nhiều amework được xây dựng trên nên tảng NET core như: ASP.NET Core

Windows 10 Universal Windows Platform (UWP)

Tizen

Các thành phần của NET Core gồm:

CLI Tool: Công cụ CLI(Command - line -interface: Giao tiếp thông qua dòng lệnh) là bộ công cụ đề phát triển va trién khai NET core

Trang 22

* CoreFX: Tập hợp các thư viện khung (framework library)

* CoreCLR (Command Language Runtime): Môi trường thực thi cua NET

core, CoreCLR sử dụng trình biên dịch trung gian dựa trên JIT Nho đó nó có

thê dịch mã IL sang mã máy của những nên tảng mà nó hỗ trợ

Hình 2-5: Thành phần của NET Core Ưu

điểm của NET Core:

* ,NET Core có nhiều ưu điểm đề trải nghiệm:

* = NET Core có thể được sử dụng cho nhiều nền tảng khác nhau như WIndows,

Linux hay Mac OS Khi ứng dụng nó với Visual Studio Code hoặc các công

cụ khác sẽ giúp phát triển ứng dụng trên các nên tảng khác nhau một cách dễ dàng

* Voi kha nang triển khai linh hoạt của minh, khi NET core két hop voi Container Docker hodc Azure Kubernates Service sẽ giúp tiết kiệm tài

nguyên đáng kê

* - Với kiến trúc Mô đun, NET Core ít tiêu tốn dung lượng bộ nhớ, tăng hiệu

suất va dé bao trì ứng dụng hơn

+ Tốc độ thực thi nhanh vả khả năng mở rộng ứng dụng cũng là một trong những ưu điểm lớn của NET core

Ngày đăng: 22/01/2025, 14:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] "C#," [Online]. Available: https://codegym.vn/blog/2020/06/29/c-la-gi- timhieu-ve-ngon-ngu-lap-trinh-c/ Sách, tạp chí
Tiêu đề: C#
[5] "NET," [Online]. Available: https://tuhocict.com/cong-nghe-microsoft- Inet-framework-net-core/ Sách, tạp chí
Tiêu đề: NET
[6] "NET CORE," [Online]. Available: https:/Aronhackvietnam.edu.vn/netcore-la-gi-phan-biet-net-core-net- framework-net-standard-va-mono/ Sách, tạp chí
Tiêu đề: NET CORE
[7] "ASP NET Core," [Online]. Available: https://itnavi.com.vn/blog/aspnetcore-la-gi Sách, tạp chí
Tiêu đề: ASP NET Core
[8] "Entity Framework," [Online]. Available: https://chiasekinang.com/entity framework-la-gi/ Sách, tạp chí
Tiêu đề: Entity Framework
[9] "Angular," [Online]. Available: https://wiki.tino.org/angular-la-g1/ Sách, tạp chí
Tiêu đề: Angular
[1] Sự cô Y2K và nổi ám ảnh tận thể 20 năm trước. [Interview]. 2014. BI Làm quen: tóm tắt cơ bản về Selenium. [Interview]. 17 09 2017 Khác
[3] Tester va Developer, ai kiém duoc nhiéu tién hon?. [Interview]. 23 09 2017 Khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN