ĐỀ TÀI “HÌNH THÀNH CHO HỌC SINH CÁC KỸ NĂNG ĐỂ XÂY DỰNG PHẦN MỀM ỨNG DỤNG NHẰM ĐỊNH HƯỚNG NGHỀ LẬP TRÌNH PHẦN MỀM CHO HỌC SINH” PHẦN I.. Trong qúa trình giảng dạy bộ môn Tin học ở trườ
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN
TRƯỜNG THPT QUỲ HỢP -*** -
SÁNG KIẾN KINH NGHIỆM
ĐỀ TÀI
“HÌNH THÀNH CHO HỌC SINH CÁC KỸ NĂNG ĐỂ XÂY DỰNG PHẦN MỀM ỨNG DỤNG NHẰM ĐỊNH HƯỚNG NGHỀ LẬP TRÌNH
PHẦN MỀM CHO HỌC SINH”
LĨNH VỰC: TIN HỌC
Tác giả: Phan Văn Thưởng
Tổ: Toán - tin Đơn vị: Trường THPT Quỳ Hợp
NĂM HỌC 2021-2022
Trang 2
ĐỀ TÀI “HÌNH THÀNH CHO HỌC SINH CÁC KỸ NĂNG ĐỂ XÂY DỰNG PHẦN MỀM ỨNG DỤNG NHẰM ĐỊNH HƯỚNG NGHỀ LẬP TRÌNH PHẦN
MỀM CHO HỌC SINH”
PHẦN I ĐẶT VẤN ĐỀ
1 Lí do chọn đề tài
Trong thời đại công nghệ như hiện nay hầu hết các lĩnh vực hoạt động của con người đều sử dụng các phần mềm ứng dụng để thực hiện công việc, giúp chúng ta thực hiện công việc một cách dễ dành, nhanh chóng và hiệu quả Ngành công nghệ phần mềm phát triển mạnh mẽ theo xu thế của thời đại và mang lại lợi nhuận khổng
lồ cho các cá nhân, công ty, doanh nghiệp hoạt động trong lĩnh vực này Trong qúa trình giảng dạy bộ môn Tin học ở trường THPT, có rất nhiều học sinh có đam mê, theo đuổi lĩnh vực công nghệ thông tin, việc trang bị cho các em có được các kỹ năng để xây dựng phần mềm là điều rất cần thiết Xuất phát từ cơ sở đó tôi viết đề
tài: “Hình thành cho học sinh các kỹ năng để xây dựng phần mềm ứng dụng nhằm
định hướng nghề lập trình phần mềm cho học sinh”
2 Tính mới và những đóng góp của đề tài
Đề tài được xây dựng sau một là quá trình nghiên cứu, tìm hiểu và đúc rút kinh nghiệm trong quá trình giảng dạy của bản thân Đề tài xây dựng được các nội dung: Các bước để xây dựng phần mềm ứng dụng, xây dựng được phần mềm Quản lý bán hàng có thể ứng dụng để bàn hàng ở các quán cà phê Đề tài giúp cho học sinh biết được các kỹ năng để xây dựng phần mềm ứng dụng và có thể thiết kế, xây dựng, phát triển các phần mềm ứng dụng, qua đó giúp các em định hướng nghề nghiệp và theo đuổi nghề lập trình phần mềm trong tương lai Ngoài ra các giáo viên có thể tham khảo đề tài để vận dụng cho công việc của mình
PHẦN II NỘI DUNG ĐỀ TÀI
1 Cơ sở khoa học của đề tài
1.1 Cơ sở lý luận: Các tài liệu liên quan đến xây dựng và thiết kế phần mềm, các
tài liệu hướng dẫn viết phần mềm ứng dụng
1.2 Cơ sở thực tiễn: Qua tìm hiểu, sử dụng các phần mềm ứng dụng trong thực tế,
qua nghiên cứu các chương trình dạy học ở trường THPT
2 Nội dung đề tài
2.1 Các bước để xây dựng phần mềm ứng dụng
Đối với học sinh THPT các em chưa biết được qui trình để xây dựng một phần mềm ứng dụng, vì vậy giáo viên cần truyền đạt vấn đề này cho học sinh biết được việc xây dựng phần mềm ứng dụng dù có rất nhiều quy trình thiết kế phần mềm khác nhau nhưng nhìn chung các quy trình đều phải đáp ứng được 5 bước dưới đây:
Trang 32
Bước 1: Khảo sát
Bước 2: Thiết kế phần mềm
Bước 3: Lập trình phần mềm
Bước 4: Kiểm thử
Bước 5: Triển khai sản phẩm
Tuy nhiên, trên đây là mặt lý thuyết, để thực tế và giúp học sinh hiểu rõ hơn giáo viên cần giao học sinh (nhóm học sinh) tìm hiểu và xây dựng phần mềm ứng dụng cụ thể Trong đề tài này tôi cho học sinh tìm hiểu và xây dựng Phần mềm Quản
lý bán cà phê, bởi việc tìm hiểu bán hàng ở quán cà phê thì rất thuận tiện đối với học sinh
2.2 Xây dựng phần mềm “Quản lý bán cà phê”
Bước 1: Khảo sát
Ở bước này giáo viên giao nhiệm vụ cho học sinh (nhóm học sinh) tìm hiểu khảo sát về công tác bán hàng ở quán cà phê, yêu cầu tìm hiểu khảo sát:
- Tìm hiểu các yêu cầu, qui trình của công tác bán hàng
- Tìm hiểu các thông tin cần lưu trữ khi bán hàng
- Tìm hiểu các chức năng cần có để đáp ứng yêu cầu bán hàng
- Tìm hiểu khả năng phần cứng, phần mềm có thể đáp ứng, triển khai
Sau khi tìm hiểu khảo sát xong giáo viên yêu cầu học sinh cùng thảo luận, phân tích các thông tin cần lưu trữ, chức năng yêu cầu cần có của phần mềm đáp ứng yêu cầu đặt ra, các giải pháp thiết kế phần mềm Trên cơ sở đó xây dựng được dữ liệu bán hàng gồm có:
+ Bảng Mặt hàng gồm các thông tin: Mã mặt hàng, tên mặt hàng, đơn vị, đơn giá,
số lượng, ghi chú
+ Bảng Hóa đơn gồm các thông tin: Tên hóa đơn, số hóa đơn, bàn số, ngày bán, TT, tên mặt hàng, số lượng, đơn vị, đơn giá, thàn tiền, người mua hàng, người bán hàng, tên cửa hàng, địa chỉ, ghi chú
+ Bảng Doanh thu gồm các thông tin: Số hóa đơn, ngày bán, số tiền, tổng doanh thu, ghi chú
+ Các chức năng cần có của phần mềm: Nhập hóa đơn, ghi hóa đơn, xuất hóa đơn, tìm kiếm hóa đơn, quản lý doanh thu, hướng dẫn sử dụng
+ Lựa chọn phần mềm triển khai và sử dụng: Có nhiều phần mềm để triển khai sử dụng, tuy nhiên để thuận lợi cho học sinh tôi lựa chọn phần mềm Microsoft Excel phiên bản 2016 để hướng dẫn học sinh thiết kế, triển khai và sử dụng
Từ dữ liệu xây dựng được giáo viên hướng dẫn học sinh thiết kế phần mềm
Bước 2: Thiết kế phần mềm
Trang 43
Giáo viên giao nhiệm vụ và hướng dẫn cụ thể cho học sinh sử dụng Microsoft Excel 2016 để thiết kế theo từng mô đun của phần mềm nhằm hình thành cho các
em các kỹ năng thiết kế phần mềm: Việc thiết kế phải đảm bảo hợp lý, khoa học, dễ
sử dụng, giao diện đẹp, dễ nhìn, đáp ứng được yêu cầu đặt ra
a Thiết kế bảng Mat_hang
b Thiết kế bảng Hoa_Don
Trang 54
c Thiết kế bảng Doanh_thu
d Thiết kế các nút chức năng của phần mềm:
- Ta thiết kế trên Sheet Hoa_don, sử dụng công cụ chèn hình Shapes trong Excel để thiết kế: Vào Insert Shapes Chọn hình, tô màu, trang trí
Trang 65
e Thiết kế Trang chủ
- Trang chủ: là giao diện chính của phần mềm, ở đây ta chọn Sheet Hoa_don là
trang chủ Ta trang trí màu nền, màu chữ, cỡ chữ, kiểu chữ, sắp xếp bố trí… sao cho
dễ nhìn, đẹp mắt, hợp lý, khoa học
Trong quá trình thiết kế, giáo viên phân tích, nhận xét, bổ sung, chỉnh sửa các bản thiết kế để các bản thiết kế được hợp lý nhất Như vậy sau bước này học sinh đã biết được cách thiết kế các mô đun của phần mềm Sau khi hoàn thiện xong thiết kế, giáo viên giao nhiệm vụ và hướng dẫn học sinh lập trình phần mềm theo từng mô đun
Bước 3: Lập trình phần mềm
Giáo viên giao nhiệm vụ và hướng dẫn cụ thể cho học sinh thực hiện lập trình theo từng mô đun của phần mềm nhằm hình thành các kỹ năng lập trình phần mềm cho các em:
Trong Excel có nhiều hàm để xử lý, tuy nhiên đó là các hàm xử lý thông thường,
để làm được phần mềm này ta phải sử dụng thêm công cụ lập trình VBA trong Excel
để viết Code cho các chương trình thì mới xử lý được các yêu cầu đặt ra
(Cách sử dụng công cụ lập trình VBA trong Excel: Vào File/ Options/ Customize Ribbon/ Tích chọn Developer Lúc này trên Excel xuất hiện tab Developer, ta click vào Developer/ Visual Basic/ Chọn Modules, kích đúp vào Module để viết Code)
- Ở mục Bàn số (ô F5): Qua khảo sát thì ở quán cà phê có nhiều bàn được đánh số
thứ tự từ 1, 2, 3… Vì vậy ở ô F5 ta sử dụng chức năng chức năng tạo List danh sách dạng số 1, 2, 3… tương ứng với số bàn
Cách thực hiện như sau: Chọn ô F5, Vào Data, trong nhóm Data Tool chọn Data Validation xuất hiện hộp thoại Data Validation, trong mục Allow chọn List, trong
Trang 76
mục Source chọn vùng dữ liệu muốn đưa vào List danh sách, ở đây ta chọn vùng dữ
liệu ở cột Số bàn trong bảng Mat_hang: =Mat_hang!$H$3:$H$23, chọn OK (Xem
hình bên dưới)
Bây giờ người dùng chỉ cần click chuột vào ô F5 thì sẽ hiện list danh sách dạng số tương ứng với số bàn
- Ở cột Mặt hàng: Ta sử dụng chức năng tạo List danh sách tương tự để thực hiện
Trong mục Source chọn vùng dữ liệu: =Mat_hang!$B$3:$B$20 Bây giờ muốn chọn Mặt hàng chỉ cần click chuột vào ô mặt hàng thì sẽ hiện list danh sách mặt hàng để chọn
Trang 87
- Ở cột Số lượng: Ta sử dụng chức năng tạo List danh sách tương tự để thực hiện
Trong mục Source ta chọn vùng dữ liệu: =Mat_hang!$G$3:$G$1003 Bây giờ muốn chọn Số lượng chỉ cần click chuột vào ô số lượng thì sẽ hiện list danh sách số lượng
để chọn hoặc có thể nhập số lượng ở mục này
- Ở cột số TT: ta lập hàm đánh số thứ tự tự động:
=IF(D8="","",AGGREGATE(3,3,$D$8:D8))
- Ở cột Đơn vị: ta lập hàm để dò tìm đơn vị trong bảng Mat_hang:
Trang 98
=IF(D8="","",VLOOKUP(D8,Mat_hang!$B$3:$D$20,2,0))
- Ở cột Đơn giá: ta lập hàm để dò tìm đơn giá trong bảng Mat_hang:
=IF(D8="","",VLOOKUP(D8,Mat_hang!$B$3:$D$20,3,0))
- Ở cột Thành tiền ta lập hàm tính tiền:
=IF(AND(D8="",E8=""),"",IF(OR(D8="",E8=""),"-",E8*G8))
- Ở cột Tổng tiền ta lập hàm tính tiền: =SUM(H8:H21) Để đọc số tiền bằng chữ ta phải sử dụng thêm công cụ hỗ trợ đọc số tiền bằng chữ
- Ở mục Ngày (ô I5) ta sử dụng hàm =Now() để tự động cập nhật ngày tháng hiện
tại
- Chức năng Nhập hóa đơn mới: Dùng để nhập hóa đơn mới Ta sử dụng cộng cụ
lập trình VBA trên Excel để lập trình, giáo viên hướng dẫn cụ thể cho học sinh viết chương trình, bổ sung để hoàn thiện chương trình:
Chương trình cụ thể:
Sub nhap_moi()
Dim a
a = MsgBox("Ban muon nhap hoa don moi ?", vbYesNo, "Nhap hoa don")
If a = vbNo Then
Exit Sub
End If
If a = vbYes Then
If Range("p8").Value = 0 Then
Range("f5").Value = ""
Range("f5").Select
Trang 109
Range("d25").Value = ""
Range("p11").Value = 0
Else
If Range("p11").Value = 0 Then
MsgBox "Ban chua xuat so hoa don nay"
Exit Sub
Else
Range("p3").Value = Range("p3") + 1
Range("f5").Select
Range("f5").Value = ""
Range("D8:E21").Select
Range("f5").Select
Range("d25").Value = ""
Range("p11").Value = 0
End If
End If
End If
End Sub
Giải thích chương trình: Khi chọn chức năng Nhập hóa đơn mới thì có thông báo
về việc bạn có muốn nhập hóa đơn mới gồm hai lựa chọn Yes/No (MsgBox("Ban
muon nhap hoa don moi ?", vbYesNo, "Nhap hoa don")) Nếu chọn No thì thoát
không nhập mới (Exit Sub) Nếu chọn Yes thì thực hiện kiểm tra, nếu hóa đơn rỗng (If Range("p8").Value = 0 Then) thì giữ nguyên Số hóa đơn, khởi tạo lại các giá trị
về rỗng để nhập mới, nếu chưa xuất hóa đơn hiện tại (If Range("p11").Value = 0
Then) thì chưa xuất hóa đơn hiện tại và phải thực hiện xuất hóa đơn hiện tại để chốt
hóa đơn hiện tại rồi mới được nhập hóa đơn mới, ngược lại tăng Số hóa đơn lên 1
(Range("p3").Value = Range("p3") + 1) và xóa hóa đơn hiện tại để nhập hóa đơn mới
Gán chức năng cho nút
Nháy phải chuột vào nút Nhập hóa đơn mới chọn Assign Macro
Trong mục Macro name chọn nhap_moi, tức là tên chương trình Sub nhap_moi()
Nhập hóa đơn mới
Trang 1110
- Chức năng Ghi hóa đơn: Dùng để lưu thông tin nhập vào hóa đơn Ta sử dụng
cộng cụ lập trình VBA trên Excel để lập trình, giáo viên hướng dẫn cụ thể cho học sinh viết chương trình, bổ sung để hoàn thiện chương trình
Chương trình cụ thể:
Sub luu()
If Range("p8").Value = 0 Then
Range("f5").Select
Else
MsgBox "Da luu"
Trang 1211
End If
End Sub Giải thích chương trính: Khi chọn chức năng Ghi hóa đơn, nếu hóa đơn rỗng (If
Range("p8").Value = 0 Then) thì thông báo chưa nhập hóa đơn (MsgBox "Chua nhap hoa don"), ngược lại lưu thông tin hóa đơn (ActiveWorkbook.Save) và thông
báo đã lưu (MsgBox "Da luu")
Gán chức năng cho nút
Làm tương tự như nút Nhập hóa đơn mới, ta nháy phải chuột vào nút Ghi hóa đơn chọn Assign Macro, trong mục Macro name chọn lưu, tức là tên chương trình Sub
luu()
- Chức năng Xuất hóa đơn: Dùng để chốt hóa đơn và xuất hóa đơn thanh toán cho
khách hàng, số hóa đơn, ngày bán, tổng tiền sẽ được lưu vào bảng doanh thu Ta sử dụng cộng cụ lập trình VBA trên Excel để lập trình, giáo viên hướng dẫn cụ thể cho học sinh viết chương trình, bổ sung để hoàn thiện chương trình
Ghi hóa đơn
Trang 1312
Chương trình cụ thể:
Sub xuat()
Dim b
Dim d
If Range("p8").Value = 0 Then
Range("f5").Select
If Range("p11").Value = 1 Then
End If
If Range("p8").Value <> Range("p9").Value Then
MsgBox "Ban xem lai So luong , Mat hang"
End If
b = MsgBox("Ban muon xuat hoa don ?", vbYesNo, "In hoa don")
If b = vbYes Then
Range("p12").Value = Range("p12").Value + 1
d = Range("p12").Value
Sheets("Doanh_thu").Range("p" & d) = Sheets("Hoa_don").Range("p3") Sheets("Doanh_thu").Range("q" & d) = Sheets("Hoa_don").Range("i5") Sheets("Doanh_thu").Range("r" & d) = Sheets("Hoa_don").Range("h22") Range("p11").Value = 1
ActiveWorkbook.Save
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Range("h3").Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True,IgnorePrintAreas:=False,
OpenAfterPublish:=True
End If
If b = vbNo Then
Exit Sub
End If
End If
End Sub
Giải thích chương trình: Khi chọn chức năng Xuất hóa đơn nếu hóa đơn rỗng (If
Range("p8").Value = 0 Then) thì thông báo chưa nhập hóa đơn rồi thoát, nếu đã xuất
Trang 1413
hóa đơn (If Range("p11").Value = 1) thì thông báo đã xuất hóa đơn cần nhập hóa đơn mới rồi thoát (MsgBox "Ban da xuat so hoa don nay, ban can nhap hoa don
moi"), nếu Mặt hàng và Số lượng nhập chưa đầy đủ (If Range("p8").Value <> Range("p9").Value) thì thông báo xem lại số lượng và mặt hàng (MsgBox "Ban xem lai So luong , Mat hang") Ngược lại chương trình thông báo về việc xuất hóa đơn
gồm gồm hai lựa chọn Yes/No Nếu đồng ý thì sao lưu số hóa đơn, ngày bán, tổng tiền vào bảng doanh thu:
(Range("p12").Value = Range("p12").Value + 1
d = Range("p12").Value ‘Hàng dán dữ liệu ở bảng Doanh_thu’
Sheets("Doanh_thu").Range("p" & d) = Sheets("Hoa_don").Range("p3") Sheets("Doanh_thu").Range("q" & d) = Sheets("Hoa_don").Range("i5") Sheets("Doanh_thu").Range("r" & d) = Sheets("Hoa_don").Range("h22") Range("p11").Value = 1
và xuất hóa đơn sang file để lưu và thanh toán cho khách hàng:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Range("h3").Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True,IgnorePrintAreas:=False,
OpenAfterPublish:=True
Nếu không đồng ý thì thoát (If b = vbNo Then Exit Sub)
Gán chức năng cho nút
Làm tương tự ta nháy phải chuột vào nút Xuất hóa đơn chọn Assign Macro, trong mục Macro name chọn xuat, tức là tên chương trình Sub xuat()
Xuất hóa đơn
Trang 1514
- Chức năng Tìm kiếm hóa đơn: Dùng để tìm kiếm các hóa đơn đã xuất, giáo viên
hướng dẫn học sinh sử dụng chức năng liên kết (hyperlink) đến thư mục chứa các hóa đơn đã xuất
Bước 1 Nháy chuột phải vào nút Tìm kiếm hóa đơn chọn Link
Bước 2 Thiết lập đường dẫn đến thư mục chứa các hóa đơn đã xuất, chọn Ok
- Chức năng Quản lý doanh thu: Dùng để theo dõi, quản lý doanh thu bán hàng
Bảng quản lý doanh thu được sao lưu tự động từ bảng hóa đơn sau khi thực hiện xuất hóa đơn, ở ô tổng doanh thu (E2) ta dùng hàm tính tổng để tính tổng doanh thu
=SUM($D$5:$D$2000)
Giáo viên hướng dẫn học sinh sử dụng chức năng liên kết (hyperlink) đến Sheet
Doanh_thu, thực hiện tượng tự hai bước như ở chức năng Tìm kiếm hóa đơn