Đáp ứng yêu cầu của hai đối tượng trên, chúng tôi phân hệ thống ra làm 6 chức năng chính sau: Soạn: Phần này cho phép người quản trị giáo viên tổ chức hệ thống bài học.. - Hiển thị đề
Trang 1ĐỂ TÀI:
PHÂN TÍCH THIẾT KẾ HỆ THỐNG PHẦN MỀM DẠY HỌC NGÔN NGỮ
LẬP TRÌNH C#
[Year]
TAM-THU-YEN
Trang 2Trong tiến trình phát triển của xã hội, CNTT là một trong những ngành đi đầu trong việc đổi mới công nghệ, là ngành đón đầu trên con đường bước vào kỷ nguyên mới _ kỷ nguyên phát triển của thế giới CNTT Hiện nay CNTT được đem vào sử dụng cho tất cả các bộ, ngành và đem lại hiệu quả rất cao Đặc biệt nó là nhu cầu không thể lại thiếu được trong sự phát triển kinh tế, các dịch vụ thương mại điện tử, bưu chính viễn thông, các hình thức trao đổi thông tin, dịch vụ thị trường ảo, xí nghiệp ảo trên mạng Internet…Vấn đề đặt ra là phải vận dụng và khai thác CNTT vào từng lĩmh vực như thế nào để đem lại hiệu quả cao nhất và giá cả phù hợp nhất
Trước tầm quan trọng của CNTT như vậy, chúng tôi những sinh viên năm thứ hai khoa Công Nghệ Thông Tin, muốn thử sức mình với tạo ra một phần mềm dạy học trên máy vi tính góp phần vào việc nâng cao chất lượng dạy và học trong nền giáo dục _ một đề tài có tính thực tế cao
Đề tài của chúng tôi là dạy và học ngôn ngữ lập trình C# trên máy tính cá nhân Đề tài được phát triển trên ngôn ngữ lập trình C# và CSDL Microsoft SQL Server 2000
Chúng tôi xin chân thành cảm ơn sự hướng dẫn của thầy Nguyễn Minh Quý
Trang 3
Ngoài ra chúng tôi xin chân thành cảm ơn các chị lớp ĐH HCKT TINK3 đã giúp đỡ, cung cấp cho chúng tôi nhiều thông tin để chương trình của chúng tôi được gần gũi với thực tế hơn
Do lần đầu tiên làm một chương trình mang tính ứng dụng thực tế nên còn nhiều sai xót, mong được sự thông cảm và đóng góp ý kiến của các bạn
Trang 4
MỤC LỤC:
NỘI DUNG
Trang Lời mở đầu……… 3
PHẦN I:
KHẢO SÁT HIỆN TRẠNG VÀ PHÂN TÍCH 4
I Tình hình, nhu cầu và xu hướng phát triển của nền giáo dục:
II Yêu cầu và mục tiêu của phần mềm
III Nguồn và phương pháp điều tra
IV Phạm vi và hạn chế của phần mềm
V Phê phán hiện trạng
PHẦN II:
PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG 8
I Biểu đồ phân cấp chức năng của hệ thống
I.1.Phân tích biểu đồ phân cấp chức năng
I.2 Biểu đồ phân cấp chức năng
Trang 5
II.1.Biểu đồ luồng dữ liệu II.2 Phân tích biểu đồ luồng dữ liệu
VẼ BIỂU ĐỒ ERD VÀ LƯỢC ĐỒ QUAN HỆ
III.1 Biểu đồ ERD III.2 Lược đồ quan hệ PHẦN IV:
THIẾT KẾ GIAO DIỆN 21 KÊTLUẬN
31
Trang 6
PHẦN I:
KHẢO SÁT HIỆN TRẠNG VÀ PHÂN TÍCH YÊU CẦU NGƯỜI DÙNG
I Tình hình, nhu cầu và xu hướng phát triển của nền giáo dục:
Hiện nay, nền giáo dục đang là mối quan tâm hàng đầu của xã hội Chất lượng dạy và học hiện nay đang đi đến đâu? Dạy và học như thế nào cho hiệu quả?
Là câu hỏi đặt ra không chỉ cho từng gia đình, từng cấp, từng trường, cho ngành giáo dục mà cho toàn xã hội
Dạy học là một hoạt động giao tiếp giữa thầy và trò Người thầy truyền thụ (dạy) và học trò tiếp nhận (học) tri thức Mục tiêu là chuyển được tri thức cho học trò có thể phát triển thêm khả năng của mình Dạy học cũng là hoạt động được tiếp cận trên nhiều phương diện nhằm đáp ứng các vấn đề sau:
Dạy cái gì? Nội dung của tri thức được truyền tải bởi chuyên gia của môn học
Dạy cho ai? Cách thức dạy được xác định cho từng loại đối tượng học trò dựa trên cơ sở về tâm lý nhận thức, đó chính là mô hình học trò
Dạy như thế nào? Áp dụng như thế nào các phương pháp sư phạm phù hợp với tâm lý nhận thức? Để đưa ra một chiến lược sư phạm tốt áp dụng lên một học sinh cụ thể là một điều khó khăn mà phải có kinh nghiệm nghề nghiệp tốt
Dạy bằng gì? Dạy dưới sự trợ giúp của các phương tiện âm thanh, hình ảnh trực quan đảm bảo cho việc dạy và học của thầy và trò Để sự trợ giúp này có hiệu quả ta phải có một mô hình giao diện
Trang 7Tin học trong dạy học có thể được tiếp cận trên nhiều phương diện: là công
cụ trong môn học (tính toán, tài liệu…), là môn học (học lập trình, học sử dụng máy…), là công cụ trong dạy học (để học, phát hiện, xử lý…) Xét về phương diện nào thì Tin học cũng có khả năng tác động đến học trò, đến giáo viên và đến việc quản lý Vấn đề mà chúng ta quan tâm ở đây chính là công cụ trợ giúp dạy và học
Trước những nhu cầu cấp thiết của nền giáo dục, đã có rất nhiều phần mềm ứng dụng phục vụ cho việc dạy và học ra đời và đem lại cho nền giáo dục một phương thức dạy và học hoàn toàn mới và tiến bộ Ứng dụng công nghệ vào dạy
và học ngày càng được áp dụng rộng rãi Trong đó những phần mềm dạy học từ
xa, dạy học trực tuyến… là những phần mềm thông dụng và được sử dụng rộng rãi bởi khả năng đáp ứng nhu cầu bạn đọc và phù hợp với xu thế chung của thời đại
Nhằm góp phần đáp ứng nhu cầu học từ xa cho bạn đọc, chúng tôi quyết định xây dựng phần mềm dạy học với sự trợ giúp của máy tính cá nhân sẽ cung cấp cho người học những kiến thức cần thiết của việc học ngôn ngữ lập trình
II Yêu cầu và mục tiêu của phần mềm
Trang 8
II.1 Yêu cầu:
Việc lựa chọn hệ quản trị CSDL phải cho phép xây dựng ngân hàng dữ liệu thích ứng với mô hình thông tin đa dạng và phong phú, đáp ứng nhu cầu và ứng dụng thực tế Dữ liệu bài học phải đầy đủ kiến thức, sắp xếp theo trình tự từ phần, chương, bài, mục…dễ hiểu, chi tiết…để người học có thể tiếp thu bài học một cách nhanh và có hiệu quả nhất
Song song với việc chọn hệ quản trị CSDL, xây dựng nội dung bài học thì việc lựa chọn ngôn ngữ lập trình tương thích với nó là rất quan trọng Nó đòi hỏi phải đảm bảo tính chặt chẽ, hiệu quả mà yêu cầu hệ thống đặt ra Vì vậy chúng tôi
đã chọn ngôn ngữ lập trình C# để phục vụ cho việc lập trình của hệ thống Đây là ngôn ngữ mới, có tính năng tự động cao, giao diện đẹp, khả năng kết nối, truy cập các tệp CSDL đơn giản và dễ làm
II.2 Mục tiêu:
- Đáp ứng nhu cầu học từ xa của bạn đọc
- Tiện tra cứu và dễ sử dụng
- Tiết kiệm thời gian cho người học
- Có thể học tại nhà
- Dễ học, trực quan với giao diện đẹp…
III Nguồn và phương pháp điều tra
III.1.Nguồn điều tra
Trang 9
- Từ bạn đọc và từ bản thân là các sinh viên _ người có nhu cầu học
- Từ các phần mềm dạy học đã được xây dựng và đưa vào ứng dụng Đó là các chương trình dạy học từ xa và dạy học trực tuyến trên Internet, các đĩa mềm học FPT và các phần mềm học được cài trên máy tính khác
- Từ kinh nghiệm của người đã xây dựng phần mềm (Các chị lớp TK3ĐHHCKT với đề tài nghiên cứu khoa học: thiết kế phần mềm dạy học dùng ASP)…
III.2 Phương pháp điều tra
- Nghiên cứu tài liệu thu thập được (quy cách và các bước xây dựng phần mềm)
- Quan sát, phân tích hệ thống thông tin đã thu thập được
- Khai thác thông tin từ bạn đọc về nhu cầu từ đó xây dựng chức năng cho
hệ thống
- Quan sát giao diện giữa hệ thống phần mềm với người dùng, từ đó định hình để tìm ra cách tốt nhất tạo ra các giao diện thân thiện dễ chịu cho người sử dụng
IV Phạm vi và hạn chế của phần mềm
Do khả năng và thời gian có hạn nên trong phần mềm mà chúng tôi phân tích thiết kế chỉ sử dụng cho máy tính cá nhân Do đó phần mềm của chúng tôi đáp ứng được cho bạn đọc:
1 Kiến thức của bài học
Trang 10
3 Hiển thị cho bạn đọc nội dung bài học
4 Cho phép người đọc tìm kiếm nhanh nội dung học cần tra cứu
5 Kiểm tra lại bài học thông qua các bài trắc nghiệm
6 Đánh dấu lại bài hôm nay học để hôm sau học tiếp từ phần đó
Trong phần mềm dạy học này, chúng tôi sẽ trình bày về một ngôn ngữ lập trình
Hiện nay có rất nhiều ngôn ngữ lập trình mạnh dành cho các nhà lập trình Xong, để trở thành một lập trình viên giỏi không nhất thiết phải biết nhiều ngôn ngữ mà ta chỉ cần nắm chắc một ngôn ngữ và cơ sở kỹ thuật lập trình, nắm chắc thuật toán, đảm bảo bạn đã có thể trở thành một lập trình viên
Vậy vấn đề chọn ngôn ngữ nào cho mình để chuyên sâu về nó? Qua tìm hiểu, đứng trên phương diện là những người thiết kế và là những sinh viên, chúng tôi thống nhất dạy ngôn ngữ lập trình C# Đây là một trong những ngôn ngữ mạnh nhất được sử dụng hiện nay: Chỉ khoảng hơn 80 từ khoá và gần 20 kiểu dữ liệu được xây dựng sẵn, C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng… được xây dựng trên nền tảng của hai ngôn ngữ mạnh là C++ và Java
V Phê phán hiện trạng
- Tại một thời điểm chỉ có thể học được một ngôn ngữ lập trình
- Nếu có thắc mắc trong khi học thì học sinh phải tự xem lại kiến thức bài
và tự trả lời vì hệ thống không có phần trả lời trực tuyến cho bạn đọc
Trang 11
- Người học không có quyền thay đổi dữ liệu bài học do hệ thống đã soạn thảo sẵn
Trang 12
PHẦN II:
PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG
I.Biểu đồ phân cấp chức năng của hệ thống
I.1 Phân tích:
Chúng tôi xây dựng phần mềm nhằm phục vụ cho hai đối tượng giáo viên
và sinh viên (tức người dạy và người học)
a.Đối tượng giáo viên:
Phần mềm có tính năng mở, giáo viên là người quản trị có quyền cập nhật
dữ liệu, thay đổi nội dung bài học
b Đối tượng học sinh:
Phần mềm cung cấp cho sinh viên và học sinh các bài học lý thuyết và bài tập thực hành sau mỗi bài học Ngoài ra người học có thể được xem lại phần tóm lược nội dung bài học sau mỗi chương và được thử sức mình qua những bài Test trắc nghiệm với giao diện trực quan, dễ sử dụng qua mỗi bài học
Đáp ứng yêu cầu của hai đối tượng trên, chúng tôi phân hệ thống ra làm 6 chức năng chính sau:
Soạn:
Phần này cho phép người quản trị (giáo viên) tổ chức hệ thống bài học Chức năng này bao gồm các modul sau:
Trang 13
- Soạn nội dung bài học: Người giáo viên sẽ soạn nội dung bài học theo
trình tự từ phần -> chương -> bài -> nội dung chi tiết cho bài giảng, ví dụ minh hoạ và bài tập (có đáp án)
- Soạn bộ Test: Giáo viên sẽ soạn bộ câu hỏi trắc nghiệm và đáp án cho mỗi
bài học Điều đó giúp cho người học có thể kiểm tra lại kiến thức của mình tiếp thu sau mỗi bài học
- Cập nhật: Ngoài ra giáo viên có thể bổ sung, sửa đổi, hoặc xoá nội dung
không cần thiết trong phần soạn của mình
Chức năng này được thực hiện ở trong cơ sở dữ liệu trong hệ quản trị Chức năng này không được hiển thì ra ngoài
Người học chỉ có quyền truy cập chức năng hiển thị nội dung bài học để học, chức năng tìm kiếm nhanh theo cụm từ khoá để lấy ra nội dung cần tra cứu và tham gia vào bài test trắc nghiệm để kiểm tra lại kiến thức và chức năng đánh dấu
Trang 14- Hiển thị đề mục: Các đề mục của toàn bộ môn học sẽ được hiển thị ở phần
bên trái của màn hình được tổ chức theo dạng hình cây để khi người học muốn học phần nào thì chỉ cần kích hoạt vào đề mục đó
- Hiển thị nội dung: Sau khi người học kích hoạt vào đề mục muốn học thì
nội dung bài học của phần đó sẽ được hiển thị chi tiết ra màn hình
Tìm kiếm nhanh:
Để hỗ trợ người học truy cập nhanh đến nội dung học cần tra cứu theo ý muốn, phần này cung cấp chức năng tìm kiếm nhanh bằng các cụm từ khoá có trong nội dung cần tra cứu Có thể trong khi đang học người học muốn tìm đến một phần nào đó để xem thêm thì cũng có thể dùng đến chức năng này để tìm kiếm
Trắc nghiệm:
Sau khi người học học xong nội dung của một bài học thì có thể kiểm tra lại kiến thức của mình bắng cách thử sức mình với các câu hỏi trắc nghiệm của hệ thống đã được soạn thảo sẵn Sau khi người học kích hoạt vào phần trắc nghiệm thì hệ thống sẽ:
Trang 15
- Hiển thị câu hỏi: Một chuỗi các câu hỏi của bài học dưới hình thức tích
vào đáp án ĐÚNG – SAI hoặc chọn một đáp án đúng nhất trong các đáp án mà chương trình đưa ra
- Hiển thị thời gian: Hệ thống sẽ quy định một lượng thời gian phù hợp cho
người học làm bài Hệ thống chỉ hiển thị nội dung câu hỏi trong thời gian này
- Hiển thị điểm: Sau khi người học thực hiện xong bài trắc nghiệm của
mình rồi thì hệ thống sẽ đưa ra điểm mà người học đạt được và đáp án đúng của các câu hỏi
Đánh dấu:
Khi đang học dở mà không muốn học nữa thì chức năng này có tác dụng đánh dấu lại phần bài học mà người học đang học của bài hôm đó (nếu người học muốn đánh dấu) để hôm sau học sẽ biết mình đang học đến đâu và vào học tiếp nội dung đang học dở
I.2 Biểu đồ phân cấp chức năng:
Trang 16
Soạn
DẠY - HỌC
Quản lý Hiển thị Tìm kiếm Đánh dấu
Soạn nội dung
Soạn bài test
Cập nhật
QL người dùng Đăng nhập
Trang 17Y/C bài học
Kết quả đăng nhập Kết quả phản hồi Nội dung bài test
Thông tin đăng nhập
DẠY - HỌC
Nội dung bộ Test Nội dung các bài học Thông tin cập nhập
Kết quả trả ra Kết quả đăng nhập
NGƯỜI HỌC
Trang 18
GIÁO VIÊN NGƯỜI HỌC
GIÁO VIÊN NGƯỜI HỌC
SOẠN
DL Bộ Test
DL bài học
KQ thành công hay thất bại Thông tin cập nhật Nội dung bộ test Nội dung các bài học
Kết quả báo ra Thông tin người dùng mới Kết quả đăng nhập Thông tin đăng nhập (U, P)
Nội dung bài học
Yêu cầu bài học
Nội dung bài học
DS người học
QUẢN LÝ
Nội dung trắc nghiệm
Yêu cầu tìm kiếm Kết quả tìm kiếm
Yêu cầu đánh dấu Nội dung bài trắc nghiệm
Kết quả tìm kiếm
Yêu cầu trắc nghiệm Yêu cầu tìm kiếm
Kết quả đăng nhập Thông tin đăng nhập user
DS giáo viên
TÌM KIẾM
TRẮC NGHIỆM
Y/C trắc nghiệm
Yêu cầu đánh dấu
Kho lưu đánh dấu
Dữ liệu bộ test
Dữ liệu bài học
Trang 19
GIÁO VIÊN
SOẠN NỘI DUNG
CẬP NHẬT
SOẠN BỘ TEST
Kết quả soạn Nội dung chi tiết bài học
Kết quả cập nhật Thông tin cập nhật
Dữ liệu bài học
Dữ liệu bộ test Kết quả trả ra
Nội dung các bài test
II.3.1 Phân dã chức năng soạn:
II.3 Mức dưới đỉnh:
II.3.2 Phân dã chức năng quản lý:
QUẢN LÝ NGƯỜI DÙNG
ĐĂNG NHẬP
NGƯỜI
HỌC
GIÁO VIÊN
Kết quả đăng nhập Kết quả đăng nhập
Thông tin đăng nhập User
DS giáo viên
Thông tin đăng nhập Cập nhật người học
Trang 20
HIỂN THỊ
ĐỀ MỤC
H.THỊ NỘI DUNG
NGƯỜI
HỌC
GIÁO VIÊN
Yêu cầu bài học Yêu cầu bài học
Nội dung bài học
Dữ liệu bài học
Nội dung bài học
HIỂN THỊ CÂU HỎI
QL THỜI GIAN
HIỂN THỊ ĐIỂM
NGƯỜI
HỌC
GIÁO VIÊN
Thời gian làm bài
Điểm và đáp án Y/C hiển thị điểm
Nội dung câu hỏi Yêu cầu trắc nghiệm
Thông tin về thời gian
III.3.4 Phân dã chức năng trắc nghiệm:
II.3.3 Phân dã chức năng hiển
thị:
Trang 21Mức đỉnh:
Mức ngữ cảnh của hệ thống có thể phân rã ra thành các chức năng con như: Soạn, quản lý, hiển thị, đánh dấu, trắc nghiệm và tìm kiếm Giáo viên đưa vào hệ thống phần mềm những bài giảng chi tiết, nội dung các bài trắc nghiệm để làm dữ liệu bài học Người học không thể vào chức năng này của hệ thống
Khi người dùng muốn sử dụng phần mềm để học thì họ phải đăng nhập vào
hệ thống Họ có thể vào các chức năng của hệ thống như: hiển thị ngay nội dung bài học mà họ muốn học Hoặc họ có thể vào ngay các chức năng khác hoặc đang học có thể yêu cầu các chức năng này như: Yêu cầu tìm kiếm để tìm nội dung mình cần tra cứu, yêu cầu trắc nghiệm để kiểm tra lại kiến thức hay yêu cầu đánh dấu bài học của ngày hôm đó lại… Sau đó hệ thống sẽ tự động vào các kho dữ liệu
để lấy dữ liệu trả ra kết quả mà người dùng yêu cầu
Mức dưới đỉnh:
Chức năng Soạn được phân rã ra thành các chức năng: Soạn nội dung, soạn
bộ test và cập nhật Sau khi người giáo viên soạn nội dung bài giảng thì hệ thống
sẽ đưa nó vào kho dữ liệu bài học Những thay đồi, cập nhật, bổ sung những thiếu
Trang 22
xót của bài học sẽ được giáo viên sửa đổi và được hệ thống cập nhật ngay vào kho
dữ liệu này Nội dung các bài test trắc nghiệm (bao gồm câu hỏi và đáp án cho mỗi câu) sẽ được cho vào dữ liệu bộ test
Chức năng quản lý được phân dã thành chức năng quản lý người dùng và
chức năng đăng nhập Chức năng quản lý người dùng chỉ cho phép người dùng truy nhập vào hệ thống để học mà không thể thay đồi ở chức năng soạn được Sau khi người dùng đăng nhập tên và password của mình vào hệ thống thì hệ thống sẽ vào kho danh sách người dùng tìm xem trong kho dữ liệu đã có người này chưa nếu chưa có thì sẽ cập nhật, bổ sung người này vào kho danh sách người dùng, nếu
có rồi thì cho phép người đó vào học
Chức năng hiển thị được phân dã thành chức năng hiển thị đề mục và chức
năng hiển thị nội dung bài học Các đề mục của môn học sẽ được hiển
thị trên giao diện Người học chỉ cần kích vào phần mình muốn học sau đó hệ thống sẽ hiển thị toàn bộ nội dung đó ra theo yêu cầu của người dùng
Chức năng trắc nghiệm: Sau khi người học có yêu cầu trắc nghiệm thì hệ
thống sẽ hiển thị câu hỏi của bài học đó ra với một lượng thời gian đã được định sẵn để làm bài Học sinh chỉ được làm bài đó với lượng thời gian đã được quy định đó để làm bài học đó Hết thời gian đó thì hệ thống sẽ hiển thị điểm cho người học Người học cũng có thể yêu cầu hệ thống hiển thì đáp án nếu cần
Trang 23
PHẦN III.BIỂU ĐỒ ERD VÀ CÁC LƯỢC ĐỒ QUAN HỆ 1.BIỂU ĐỒ ERD: