xây dựng chương trình quản lý sinh viên bằng ngôn ngữ lập trình WPF
Trang 1MỞ ĐẦU
1 Lí do chọn đề tài:
Trong sự phát triển của khoa học, công nghệ thông tin hiện nay là ngành có tốc độphát triển nhanh nhất Công nghệ thông tin ở nước ta còn mới, song tốc độ pháttriển của nó rất nhanh và mạnh, chiếm một phần quan trọng trong các ngành khoahọc công nghệ Một trong những lĩnh vực đang được ứng dụng tin học hoá rất phổbiến ở nước ta là lĩnh vực quản lý Tin học hoá trong quản lý đã giúp cho các nhàquản lý điều hành công việc một cách khoa học, chính xác và hiệu quả Việc ứngdụng công nghệ thông tin vào công tác quản lý sinh viên là cần thiết Vì vậy, nhóm
chúng tôi chọn đề tài “xây dựng chương trình quản lý sinh viên bằng ngôn ngữ lập trình WPF” làm đề tài nghiên cứu.
2 Mục tiêu của đề tài:
Xây dựng chương trình quản lý sinh viên bằng ngôn ngữ lập trình WPF
3 Phạm vi nghiên cứu:
Phân tích thiết kế hệ thống quản lý sinh viên bằng ngôn ngữ lập trình WPF
4 Phương pháp nghiên cứu:
- Đọc tham khảo một số tài liệu về phương pháp lập trình WPF, trên cơ sở đó
tiến hành phân tích thiết kế hệ thống quản lý sinh viên
- Tham khảo, quan sát các phần mềm quản lý sinh viên trong thực tế.
Trang 2LỜI CẢM ƠN
Trên thực tế, không có sự thành công nào mà không gắn liền với những sự hỗ trợ,giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian từkhi bắt đầu học tập tại trường cho đến nay, chúng em đã nhận được rất nhiều sự quan tâm,giúp đỡ của quý thầy cô, gia đình và bạn bè
Để hoàn thành báo cáo thực tập này, ngoài sự nỗ lực của bản thân, chúng em trântrọng gửi lời cảm ơn sâu sắc đến:
- Với lòng biết ơn sâu sắc nhất, chúng em xin gởi đến quý thầy cô ở khoa CôngNghệ Thông Tin – Trường Cao đẳng Công Nghệ Thông Tin đã cùng với tri thức và tâmhuyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gianhọc tập tại trường
- Th.S Trương Châu Long là giảng viên đã tận tình hướng dẫn, chỉ bảo cho chúng
em trong suốt quá trình thực tập, xây dựng đề tài và báo cáo
- Và đặc biệt hơn nữa, chúng em xin chân thành cảm ơn các anh chị đang công táctại công ty Tre Việt, các anh chị đã quan tâm, giúp đỡ, tin tưởng, hướng dẫn và tạo điềukiện cho chúng em tiếp xúc với công việc của công ty
Bài thu hoạch được thực hiện trong khoảng thời gian gần 1 tháng Bước đầu đivào thực tế, tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa học, kiến thức của chúng
em vẫn còn hạn chế và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót làđiều chắc chắn, chúng em rất mong nhận được những ý kiến đóng góp quý báu của quýthầy cô và các bạn, để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơn
Một lần nữa chúng em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, ngày 10 tháng 6 năm 2013
Sinh ViênTrần Thị Hoàng Oanh
Đỗ Văn Tình
Trang 3Nhận Xét Của Giáo Viên Hướng Dẫn
Trang 4
MỤC LỤC
Qu n Lý Sinh Viênản Lý Sinh Viên 11
M Đ UỞ ĐẦU ẦU 11
1 Giới thiệu về công ty phần mềm Tre Việt 12
2 Sơ lược về công ty 12
3 Tóm tắt quá trình thực tập: 3.1 Ngôn ngữ thực tập: 12
3.2 Quá trình thực tập: 13
PH N 1ẦU 14
Chương I: PHÁT BIỂU BÀI TOÁN 15
1.1 Phát biểu bài toán 15
Cơ cấu tổ chức: 15
Chức năng: 16
CHƯƠNG II: TỔNG QUẢN VỀ WPF 16
1.1 Nền tảng thống nhất để xây dựng giao diện người dùng 17
1.2 Khả năng làm việc chung giữa người thiết kế giao diện và lập trình viên 19
1.3 Kiến trúc của WPF 24
1.4 Các đặc điểm tạo nên sự khác biệt của WPF 25
1.5 Các ứng dụng được xây dựng trên WPF 26
1.6 Cái GUI trước WPF 31
1.7 Kết chương 32
PH N 2 ẦN 2 34
2.1 Sơ đồ Use-case 35
2.2 Danh sách các Actor 36
2.3 Danh sách các Use-case 36
Bảng 2.3: Danh sách các Use-case 37
2.4 Đặc tả Use-case 37
2.4.1 Use-case “DANG NHAP” 37
2.4.2 Use-case “NHAP THONG TIN SINH VIEN” 37
Trang 52.4.3 Use-case “NHAP THONG TIN DIEM” 38
2.4.4 Use-case “NHAP THONG TIN GIANG VIEN” 39
2.4.5 Use-case “LOAI GIANG VIEN” 39
2.4.6 Use-case “XEM DIEM & KET QUA HOC TAP” 40
PHẦN 3 42
3.1 Sơ đồ lớp 43
3.1.1 Mô hình quan hệ thực thể (ERD) 43
3.1.3 Các lớp đối tượng và quan hệ 45
Bảng 3.1.3: Các lớp đối tượng và quan hệ 45
3.1.4 Mô tả chi tiết các lớp đối tượng 45
Bảng 3.1.4: Mô tả chi tiết các lớp đối tượng 47
3.2 Sơ đồ trạng thái 47
PH N 4 ẦN 2 49
4.1 Sơ đồ logic 50
4.2 Mô tả chi tiết các kiểu dữ liệu 51
PH N 5 ẦN 2 52
5.1 Kiến trúc hệ thống 53
5.2 Mô tả chi tiết từng thành phần 54
PH N 6 ẦN 2 58
6.1 Danh sách các màn hình: 59
Bảng 6.1: Danh sách các màn hình 59
6.2 Mô tả chi tiết mỗi màn hình 59
6.2.1 Màn hình “Màn hình chính” 59
6.2.2 Màn hình “Màn hình chuyên ngành” 60
6.2.3 Màn hình “Màn hình dân tộc” 62
6.2.4 Màn hình “Màn hình đăng nhập” 63
6.2.5 Màn hình “Màn hình Giảng viên” 64
6.2.6 Màn hình “Màn hình hệ thống quản lý” 65
6.2.7 Màn hình “Màn hình học kỳ” 66
Trang 66.2.8 Màn hình “Màn hình học hàm học vị” 67
6.2.9 Màn hình “Màn hình kết nối” 68
6.2.10 Màn hình “Màn hình khoa” 69
6.2.11 Màn hình “Màn hình khóa học” 70
6.2.12 Màn hình “Màn hình lớp học” 71
6.2.13 Màn hình “Màn hình môn học” 72
6.2.14 Màn hình “Màn hình người dùng” 73
6.2.15 Màn hình “Màn hình nhập điểm” 74
6.2.16 Màn hình “Màn hình sinh viên” 74
6.2.17 Màn hình “Màn hình tôn giáo” 76
6.2.18 Màn hình “Màn hình loại giảng viên” 77
PH N 7 ẦN 2 78
7.1 Môi trường phát triển và triển khai 79
7.2 Kết quả đạt được 80
7.3 Hướng phát triển 80
TÀI LIỆU THAM KHẢO 81
Trang 7BẢNG CÁC HÌNH VẼ
Hình 1.1: XAML hỗ trợ lập trình viên và người thiết kế làm việc chung 20
Hình 1.2: Visual Studio 2010 21
Hình 1.3: Microsoft Expression Blend 2 21
Hình 1.4: Kiến trúc WPF 22
Hình 1.5: Yahoo Messsager 9 25
Hình 1.6: AMD Live 26
Hình 1.7: Lectra 27
Hình 1.8: BBC Showcase 2007 28
Hình 1.9: The New York Times 29
Hình 2.1: Sơ đồ use case 33
Hình 3.1: Mô hình quan hệ thực thể (ERD) 42
Hình 3.2: Mô tả bảng sinh viên 43
Hình 3.3: Mô tả bảng giảng viên 44
Hình 3.4: Sơ đồ trạng thái 45
Hình 4.1: Sơ đồ logic 49
Hình 5.1: Kiến trúc 3 lớp 51
Hình 5.2: Các phương thức trong các lớp 52
Hình 5.3: Sơ đồ các phương thức 53
Hình 5.4: Sơ đồ các lớp 54
Trang 8Hình 5.5: Sơ đồ lớp xử lý chính 55
Hình 6.1: Màn hình chính 58
Hình 6.2: Màn hình chuyên ngành 59
Hình 6.3: Màn hình dân tộc 60
Hình 6.4: Màn hình đăng nhập 61
Hình 6.5: Màn hình giảng viên 62
Hình 6.6 : Màn hình hệ thống quản lý 63
Hình 6.7: Màn hình học kỳ 64
Hình 6.8: Màn hình học hàm, học vị 65
Hình 6.9: Màn hình kết nối cơ sở dữ liệu 66
Hình 6.10: Màn hình Khoa .67
Hình 6.11: Màn hình khóa học 68
Hình 6.12: Màn hình lớp học 69
Hình 6.13: Màn hình môn học 70
Hình 6.14: Màn hình người dùng 71
Hình 6.15: Màn hình nhập điểm 72
Hình 6.16: Màn hình sinh viên 73
Hình 6.17: Màn hình tôn giáo 74
Hình 6.18: Màn hình loại giảng viên 75
Trang 9MỤC LỤC CÁC BẢNG
Bảng 1.1: Thành phần giao diện và những công nghệ cần thiết 16
Bảng 2.2: Danh sách các actor 34
Bảng 2.3: Danh sách các use-case 34
Bảng 3.1.3: Các lớp đối tượng và quan hệ 43
Bảng 3.1.4: Mô tả chi tiết các lớp đối tượng 45
Bảng 3.2.1: Danh sách các trạng thái 46
Bảng 3.2.2: Danh sách các biến cố 46
Bảng 4.2: Mô tả chi tiết các kiểu dữ liệu 49
Bảng 6.1: Danh sách các màn hình 57
Trang 101 Giới thiệu về công ty phần mềm Tre Việt
Tên giao dịch: TRE VIET SOFTWARE COMPANY LIMITED
Địa chỉ: 37 Cù Lao, Phường 02, Quận Phú Nhuận, Thành Phố Hồ Chí Minh
Giám đốc/Đại diện pháp luật: Nguyễn Xuân Huy
Giấy phép kinh doanh: 0309017778 | Ngày cấp: 10/02/2011
Ngày hoạt động: 01/07/2009
Hoạt động chính: Bán buôn máy vi tính, thiết bị ngoại vi và phần mềm
Công ty phần mềm TRE VIỆT được thành lập ngày 15 tháng 6 năm 2009 và làmột công ty thành viên của ABM Group, hoạt động trong lĩnh vực phần mềm TREVIỆT hoạt động với tiêu chí "đem những thành tựu tiên tiến nhất của Công NghệThông Tin và khoa học quản lý ứng dụng vào các doanh nghiệp Việt Nam" Với độingũ nhân viên kinh nghiệm có nền tảng công nghệ cũng như nghiệp vụ vững chắc,TRE VIỆT xây dựng phần mềm quản trị tổng thể các nguồn lực của doanh nghiệpmang tên TRE TRĂM ĐỐT Sản phẩm TRE TRĂM ĐỐT được thiết kế theo tinh thần
"khắc nhập, khắc xuất", bao gồm nhiều phân hệ quản lý mà có thể hoạt động độc lậphoặc tích hợp với nhau Những người xây dựng TRE TRĂM ĐỐT đã khai thác triệt đểthế mạnh của hệ quản trị cơ sở dữ liệu ORACLE và công cụ phát triển ứng dụngPowerbuilder của hãng SYSBASE để tạo ra một công cụ quản lý hiệu quả và linh hoạt,thích ứng với các giải pháp quản lý của doanh nghiệp trong môi canh tranh năng độnghiện nay
3.1 Ngôn ngữ thực tập:
PowerBuilder, cơ sở dữ liệu SQL Anywhere
Trang 11PowerBuilder là một hướng đối tượng ngôn ngữ lập trình Gần như tất cả các đối
tượng hình ảnh và hình ảnh không hỗ trợ thừa kế, đa hình, và đóng gói Các lập trìnhviên có thể sử dụng một mã chung khuôn khổ như PowerBuilder lớp Foundation , cònđược gọi là PFC, quyền thừa kế và các đối tượng từ các mã lệnh từ trước
Các DataWindow là thành phần quan trọng (và điểm bán hàng) của PowerBuilder CácDataWindow cung cấp một hình ảnh SQL họa sĩ hỗ trợ bên ngoài tham gia, các đoànthể và các hoạt động subquery Nó có thể chuyển đổi SQL để Visual đại diện và trở lại,
vì vậy các nhà phát triển có thể sử dụng SQL gốc nếu muốn Cập nhật DataWindow là
tự động, nó tạo ra các SQL thích hợp ở thời gian chạy dựa trên các DBMS mà hiệnđang được người sử dụng kết nối Tính năng này làm cho nó dễ dàng hơn cho các nhàphát triển không phải là người có kinh nghiệm với SQL
Các DataWindow cũng có được xây dựng trong khả năng để cả hai lấy dữ liệu và cậpnhật dữ liệu thông qua Thủ tục lưu trữ Người sử dụng chọn các thủ tục lưu trữ từ mộtdanh sách hình ảnh
Trong suốt quá trình thực tập chúng em đã được làm các bài tập sau :
- Tạo một ứng dụng đơn giản với PowerBuilder
- Tạo database bằng công cụ quản trị cơ sở dữ liệu SQL Anywhere
- Thiết kế cơ sở dữ liệu bằng PowerDesigner
- Tạo một Form quản lý bán hàng với PowerBuilder
- Tạo Report bằng PowerBuilder
Trang 13Chương I: PHÁT BIỂU BÀI TOÁN
1.1 Phát biểu bài toán
Công tác quản lý điểm (kết quả học tập) của sinh viên đóng vai trò hết sức quantrọng đối với hoạt động của một khoa trong các trường đại học và cao đẳng
Bài toán Quản lý điểm đặt ra các vấn đề cơ bản như sau:
+ Thể hiện được mô hình tổ chức quản lý sinh viên theo khóa, theo lớp, theo các loạihình đào tạo
+ Quản lý các môn học của các lớp theo học kỳ và kết quả học tập của sinh viên đốivới các môn học đó
Hệ thống còn phải cho phép tạo ra các báo cáo từ kết quả học tập của sinh viênnhằm phục vụ công tác điều hành huấn luyện như: Tổng kết kết quả học tập theo kỳ,theo năm, theo khóa; In Danh sách thi lại; In Bảng điểm học kỳ; In Bảng điểm cánhân…
Ngoài các chức năng chính như trên, hệ thống này còn cần thêm một số chức năngkhác như: cập nhật các loại danh mục dữ liệu (danh mục lớp, danh mục loại hình đàotạo, danh mục ngành học …); các chức năng sao lưu và phục hồi dữ liệu; các chứcnăng trợ giúp …
Cơ cấu tổ chức:
Một trường cao đẳng mỗi năm tiếp nhận nhiều sinh viên đến trường nhập học vàtrong quá trình học tập nhà trường sẽ quản lý các kết quả học tập của từng sinh viên.Trong trường có nhiều khoa ngành khác nhau, mỗi khoa có một phòng giáo vụ là nơicập nhật thông tin của sinh viên, lớp, môn học…
Trang 14- Mỗi khoa có một hay nhiều lớp học, thông tin lớp học gồm tên lớp, khóa học,năm bắt đầu, năm kết thúc và có duy nhất một mã lớp Mỗi lớp có một hay nhiều sinhviên, mỗi sinh viên khi nhập học sẽ cung cấp thông tin về họ tên, ngày sinh, nơi sinh,phái, địa chỉ và được cấp cho một mã sinh viên.
- Trong quá trình được đào tạo tại trường, sinh viên phải học các môn học mà khoaphân cho lớp, thông tin về môn học gồm mã môn học, tên môn học, số tín chỉ, giáoviên phụ trách môn học đó
- Sau khi hoàn thành các môn học được giao, sinh viên sẽ thi các môn thi tốt nghiệp
Chức năng:
- Chức năng người dùng : Người dùng là sinh viên họ có chức năng xem điểm và chỉ
có quyền xem điểm
- Chức năng quản trị: Có hai nhóm có vai trò quản trị viên , quản lý viên Họ phải đăngnhập vào hệ thống để sử dụng chức năng quản trị
- Người quản trị viên có chức năng quản trị sau:
- Được quyền xem thông tin, thêm , xóa sửa sinh viên
- Được quyền tạo thay đổi môn học
- Được quyền xóa thông tin người dùng
- Được quền tạo, xóa các lớp học
- Sao lưu và phục hồi cơ sở dữ liệu
CHƯƠNG II: TỔNG QUẢN VỀ WPF
WPF là viết tắt của Windows Presentation Foundation, là hệ thống API mới hỗtrợ việc xây dựng giao diện đồ hoạ trền nền Windows Được xem như thế hệ kế tiếpcủa WinForms WPF tăng cường khả năng lập trình giao diện của lập trình viên bằng
Trang 15cách cung cấp các API cho phép tận dụng những lợi thế về đa phương tiện hiện đại Làmột bộ phận của NET Framework 3.0 và sau này là 3.5, WPF đã được sử dụng trongWindows Vista, Windows Server 2008, Windows XP Service Pack 2 và trên các hệđiều hành sau này.
WPF được xây dựng nhằm vào ba mục tiêu cơ bản:
o Cung cấp một nền tảng thống nhất để xây dựng giao diện người dùng
o Cho phép người lập trình và người thiết kế giao diện làm việc cùng nhaumột cách dễ dàng
o Cung cấp một công nghệ chung để xây dựng giao diện người dùng trên
cả Windows và trình duyệt Web
Được xây dựng trên NET Framework, WPF cung cấp môi trường phát triển ứngdụng trên hệ điều hành Windows Lợi thế với những gì có sẵn trong NET Frameworkcủa Microsoft cho phép các lập trình viên đã làm quen với công nghệ NET có thểnhanh chóng phát triển ứng dụng với WPF
Dù đó là một hình ảnh 3D phức tạp hay một đơn giản cho là Button bình thườngđược xây dựng cho cả ứng dụng Windows và ứng dụng Web, tất cả chạy trên WindowsPlatform
WPF được coi như là công nghệ để tạo ra giao diện cho những ứng dụngWindow của thế hệ tiếp theo như Window 7
1.1 Nền tảng thống nhất để xây dựng giao diện người dùng
Trước khi WPF ra đời, việc tạo giao diện người dùng đòi hỏi sử dụng rất nhiềucông nghệ khác nhau (Xem bảng 1.1) Để tạo form, các control và các tính năngkhác của một giao diện đồ hoạ Windows, thông thường lập trình viên sẽ chọnWindows Forms, một phần của .NET Framework Nếu cần hiển thị văn bản,Windows Forms có một số tính năng hỗ trợ văn bản trực tiếp hoặc có thể sử dụng
Trang 16PDF của Adobe để hiển thị văn bản có khuôn dạng cố định Đối với hình ảnh và đồhoạ 2 chiều, lập trình viên sẽ dùng GDI+, một mô hình lập trình riêng biệt có thểtruy nhập qua Windows Forms Để hiển thị video hay phát âm thanh, lập trình viênlại phải sử dụng Windows Media Player và với đồ hoạ 3 chiều thì phải dùngDirect3D, một thành phần chuẩn khác của Windows Tóm lại, quá trình phát triểngiao diện người dùng theo yêu cầu trở nên phức tạp, đòi hỏi lập trình viên quánhiều kỹ năng công nghệ.
Bảng 1.1: Thành phần giao diện và những công nghệ cần thiết
Tuy nhiên, WPF ra đời không có nghĩa là tất cả những công nghệ nêu trên bị thaythế Windows Forms vẫn có giá trị, thậm chí trong WPF, một số ứng dụng mới vẫn
sẽ sử dụng Windows Forms Windows Media Player vẫn đóng một vai trò công cụđộc lập để chơi nhạc và trình chiếu video PDF cho văn bản vẫn tiếp tục được sửdụng Direct3D vẫn là công nghệ quan trọng trong games và các ứng dụng khác
Trang 17(Trong thực tế, bản thân WPF dựa trên Direct3D để thực hiện mọi biểu diễn đồhoạ).
Việc tạo ra một giao diện người dùng hiện đại không chỉ là việc hợp nhất cáccông nghệ sẵn có khác nhau Nó còn thể hiện ở việc tận dụng lợi điểm của card đồhoạ hiện đại Để giải phóng những hạn chế của đồ hoạ bitmap, WPF dựa hoàn toàntrên đồ hoạ vector, cho phép hình ảnh tự động thay đổi kích thước để phù hợp vớikích thước và độ phân giải của màn hình mà nó được hiển thị
Bẳng việc hợp nhất tất cả các công nghệ cần thiết để tạo ra một giao diện ngườidùng vào một nền tảng đơn nhất, WPF đơn giản hoá đáng kể công việc của lậptrình viên giao diện Với việc yêu cầu lập trình viên học một môi trường phát triểnduy nhất, WPF góp phần làm giảm chi phí cho việc xây dựng và bảo trì ứng dụng.Bằng việc cho phép tích hợp đa dạng nhiều cách biểu diễn thông tin trên giao diệnngười dùng, WPF góp phần nâng cao chất lượng và theo đó là giá trị công việcbằng cách thức người dùng tương tác với ứng dụng Windows
1.2 Khả năng làm việc chung giữa người thiết kế giao diện và lập trình viên
Thông thường, người thiết kế giao diện sử dụng một công cụ đồ họa để tạo ra những ảnh tĩnh về cách bố trí giao diện trên màn hình Những hình ảnh này sau đó được chuyển tới lập trình viên với nhiệm vụ tạo ra mã để hiện thực hóa giao diện
đã thiết kế Đôi lúc vẽ ra một giao diện thì đơn giản với người thiết kế, nhưng đểbiến nó thành hiện thực có thể là khó khăn hoặc bất khả thi với lập trình viên Hạnchế về công nghệ, sức ép tiến độ, thiếu kỹ năng, hiểu nhầm hoặc đơn giản là bấtđồng quan điểm có thể khiến lập trình viên không đáp ứng được đầy đủ yêu cầu từngười thiết kế Do vậy, điều cần thiết ở đây là một cách thức để hai nhóm công tácđộc lập này có thể làm việc với nhau mà không làm thay đổi chất lượng của giaodiện đã thiết kế
Để thực hiện được điều này, WPF đưa ra ngôn ngữ đặc tả eXtensibleApplication Markup Language (XAML) XAML định ra một tập các phần tử như
Trang 18Button, TextBox, Label…, nhằm định nghĩa các đối tượng đồ họa tương ứng như nút bấm, hộp thoại, nhãn…, và nhờ đó cho phép mô tả chính xác diện mạo của giaodiện người dùng Các phần tử XAML cũng chứa các thuộc tính, cho phép thiết lập nhiều tính chất khác nhau của đối tượng đồ họa tương ứng Ví dụ, đoạn mã sau sẽ tạo ra một nút bấm màu đỏ có nội dung là “No”.
<Button Background="Red">No</Button>
Mỗi phần tử XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của phần
tử đó lại tương ứng với thuộc tính hay sự kiện của lớp này Chẳng hạn, nút bấmmàu đỏ trong ví dụ trên có thể tạo bằng mã lệnh C# như sau:
Button btn = new Button();
btn.Background = Brushes.Red;
btn.Content = "No";
Nếu như mọi thứ có thể biểu diễn bằng XAML thì cũng có thể biểu diễn bằng đoạn
mã, thì câu hỏi đặt ra là XAML có ý nghĩa gì? Câu trả lời là việc xây dựng các ứngdụng và sử dụng các đặc tả bằng XAML dễ dàng hơn nhiều so với xây dựng mộtcông cụ tương tự làm việc với đoạn mã Bởi vậy, XAML mở ra một cách thức tốthơn để lập trình viên và người thiết kế làm việc với nhau Hình 1.1 minh họa quátrình này
Trang 19Hình 1.1: XAML hỗ trợ lập trình viên và người thiết kế làm việc chungXAML cho phép người thiết kế có thể tạo ra các giao diện độc lập trên các công
cụ thiết kế chuyên biệt như Microsoft Expression Blend (hình 1.2) Sau đó các giaodiện đó được xuất ra dưới dạng mã XAML và người lập trình chỉ cần mở fileXAML bằng tool như Visual Studio (hình 1.3) để tạo ra giao diện cho chươngtrình của mình Điều nãy rõ ràng làm giảm đi rất nhiều công sức và độ phức tạptrong quá trình thiết kế phần mềm Nó cho phép lập trình viên và người thiết kếgiao diện với vai trò khác nhau có thể tiến hành song song công việc
Trang 20Hình 1.2: Visual Studio 2010
Trang 21Hình1.3: Microsoft Expression Blend 2.
Thay vì lập trình viên phải tái tạo lại giao diện từ đầu dựa trên một ảnh tĩnh màngười thiết kế cung cấp, bản thân các đoạn XAML sẽ được Microsoft Visual Studiobiên dịch để tái tạo thành giao diện đồ họa đúng theo mô tả Lập trình viên chỉ tậptrung vào việc viết mã trình cho giao diện được sinh ra, chẳng hạn như xử lý các sựkiện, theo những chức năng đề ra của ứng dụng
Việc cho phép người thiết kế và lập trình viên làm việc chung như vậy sẽ hạnchế những lỗi phát sinh khi hiện thực hóa giao diện từ thiết kế Thêm vào đó, nócòn cho phép hai nhóm làm việc song song, khiến mỗi bước lặp trong quy trìnhphát triển phần mềm ngắn đi và việc phản hồi được tốt hơn Vì cả hai môi trườngđều có khả năng hiểu và sử dụng XAML, ứng dụng WPF có thể chuyển qua lạigiữa hai môi trường phát triển để sửa đổi hay bổ sung giao diện Với tất cả nhữnglợi điểm
Trang 22này, vai trò của người thiết kế trong việc xây dựng giao diện được đặt lên hàng đầu.
ra mã máy trực tiếp), millcore.dll là unmanaged code bởi vì milcore.dll tương tácchặt chẽ với Direct3D để tăng hiệu suất xử lí nhanh chóng Kiến trúc WPF hình1.4:
Hình 1.4: Kiến trúc WPF
PresentationFramework.dll gồm các loại WPF top-level như windows, panel
và các control khác
Trang 23 PresentationCore.dll nắm các loại như UIElement và Visual là các hình dạng
và dẫn xuất ra các control
WindowBase.dll nắm giữ các thành phần cơ bản để có khả năng bên ngoài
sử dụng lại WPF như DispatcherObject và DependencyObject
milcore.dll là nhân của hệ thống trình diễn (render) WPF, mặc dù là thànhphần của WPF, milcore còn là thành phần cốt yếu của Window Vista
Direct3D là API low-level mang tất cả các đồ họa trong WPF được trìnhdiễn ra
1.4 Các đặc điểm tạo nên sự khác biệt của WPF
Đồ họa phong phú: Thay vì làm việc với những điểm ảnh, bạn được có thể làmviệc trực tiếp với những đối tượng hình học cơ bản: hình chữ nhật, hình ellipese Bạn cũng có những đặc điểm mới như điều khiển độ trong suốt, độ mờ, cùng cáchiệu ứng 3D
Hiển thị văn bản linh hoạt: WPF có khả năng cung cấp những khả năng để hiệnthị văn bản một cách phong phú ở bất cứ đâu Bạn có thể kết hợp văn bản với cácđối tượng khác, hay có thể sử dụng các đặc điểm mới để hiện thị một lượng lớn vănbản một cách dễ đọc nhất
Các hiệu ứng Animation: Bạn có thể sử dụng bộ tính thời gian timer để vẽ lạihình, nhưng với WPF đặc điểm đã được tích hợp thành một phần của Framework,
từ đó bạn có thể định nghĩa những hiệu ứng chuyện động cho các đối tượng đồ họakhác nhau
Hỗ trợ video, audio: Không giống như các công nghệ trước đó như Winform có
sự hạn chế trong việc hỗ trợ để chạy các file Audio và Video WPF hỗ trợ chạy tấtcác file mà Window Meida Player có thể đọc được và cho phép bạn có thể chạyđồng thời một hoặc nhiều file Đặc biệt WPF cung cấp các tool cho phép bạn tíchhợp các các nội dung video vào giao diện và cả các hiệu ứng 3D (ví dụ hiển thịvideo trên các mặt của hình hộp 3D)
Trang 24Độ phân giải độc lập: cũng là một trong những đặc điểm khác tạo ra sự khác biệtcho công nghệ WPF Nếu như các giao diện được thiết kế bằng các công nghệtrước như Winform vốn dựa trên GDI/GDI+ sẽ gặp nhiều phiền phức khi làm việcvới những màn hình có độ phân giải khác nhau, hình vẽ sẽ lớn hơn với các mànhình có độ phân giải thập hay nhỏ đi với khi độ phân giải màn hình cao Nhưng đềTài: Nghiên Cứu Công Nghệ WPF và Xây Dựng Ứng Dụng Minh Họa 20 trongWPF điều đó không còn là vấn đề quan ngại với những người thiết kế bởi WPF chophép hiện thị các đối tượng với đúng kích cỡ khi thiết kế dưới các độ phân giảikhác nhau của màn hình.WPF sử dụng chính DirectX làm nền tảng cho bất cứ giaodiện nào được tạo, hiện thị text thì nó cũng được tạo thông qua DirectX
Điều đó đồng nghĩa với việc những ứng dụng thông thường cũng có thể có được những hiệu ứng đồ họa phực tạp, ví dụ như các hiệu ứng trong suốt, đổ bóng vàcũng nhờ thể mà có thể tăng tốc xử lý đồ họa thông qua sự tương tác giữa DirectX
và card màn hình
Hiển thị ảnh vector thay vì ảnh bitmap mang lại cho công nghệ WPF khả nănghiện thị linh hoạt với nhiều kích thước khác nhau mà không lo làm “vỡ” hình ảnhnhững đối tượng đồ họa
Sự độc lập giữa thiết kế và lập trình là một trong những bước tiến mà WPFmang lại Các đối tượng đồ họa trong WPF được thể hiện thông qua một loại mãđơn giản là XAML (Extention MakeUp Language) Đó là một loại mã đơn giản gầngiống như XML dùng để tạo và tinh chỉnh các đối tượng đồ họa Đó là một bướctiến lớn trong quá trình thiết kế và lập trình giao diện
Còn rất nhiều đặc điểm mạnh mẽ khác mà WPF cung cấp để hỗ trợ quá trìnhthiết kế và lập trình như : Stypes and Template, Command, Page Application…
1.5 Các ứng dụng được xây dựng trên WPF
Trang 25Hình 1.5: Yahoo Messsager 9
Trang 26Hình 1.6: AMD Live
Trang 27Hình 1.7: Lectra
Trang 28Hình 1.8: BBC Showcase 2007
Trang 29Hình 1.9: The New York Times
1.6 Cái GUI trước WPF
Với công nghệ giao diện cũ, không có cách nào dễ dàng để tách nội dung củaphần đồ họa khỏi mã lệnh Vấn đề chính với ứng dụng Windows Form là mỗi formngười dùng tạo ra được định nghĩa hoàn toàn bằng code C# Khi bạn kéo thả cáccontrol vào giao diện thiết kế và cấu hình chúng thì Visual studio lặng lẽ điều chỉnhcác code tương ứng từ các class Không có công cụ thiết kế (design) nào làm việcvới mã C# Các nhà thiết kế phải đưa kết quả của mình export thành định dạngbitmap, những bitmap này sẽ được dùng làm skin cho các window, button và cáccontrol khác Với cách làm việc này hiệu quả cho giao diện đơn giản mà không mấtnhiều thời gian, nhưng có giới hạn trong vài trường hợp, một số giới hạn:
Trang 30 Mỗi một yếu tố như background, button,… cần được export như một bitmapriêng biệt, hạn chế khả năng kết hợp các bitmap và sử dụng các hiệu ứngđộng như ntialiasing (khử răng cưa), transparency (trong suốt) và shadows(đổ bóng).
Giao diện được nhúng vào trong code bởi các lập trình viên và điều chỉnh nónhư kích cỡ button, vị trí, hiệu ứng chuột di chuyển, animation Các nhàthiết kế đồ hoạ không thể kiếm soát được bất kì chi tiết nào
Không có sự kết nối thực sự các yếu tố đồ họa với nhau, dễ dàng dẫn tới kếtquả không mong muốn của toàn bộ tập hợp các hình ảnh Việc theo dõi tất
cả các item được thêm vào rất phức tạp
Bitmap không thể thay đổi kích thước mà không ảnh hưởng tới chất lượng,
vì lí do đó, một bitmap trên UI có độ phân giải phụ thuộc, có nghĩa khôngthể điều tiết các màn hình có kích thước lớn hay có độ phân giải cao, đây là
sự khó khăn trong thiết kế giao diện
1.7 Kết chương
Qua chương 1, chúng em đã tìm hiểu cách WPF giải quyết những vấn đề về giaodiện với XAML, khi đang thiết kế một ứng dụng WPF trong Visual Studio, cửa sổđang thiết kế sẽ không sinh ra trong mã lệnh, thay vào đó, nó được sắp xếp vào trongtập các tag XAML Khi chạy ứng dụng, những tag này được sử dụng để tạo ra các đốitượng để tạo thành giao diện của ứng dụng
Hoàn thiện hơn luôn là một trong những khao khát của con người và làm cho sảnphẩm ngày một hoàn thiện hơn, hấp dẫn hơn với một giao diện tinh tế hấp dẫn luônmong muốn của bất cứ nhà thiết kế phần mềm nào Nối tiếp theo thời gian hàng loạtcông nghệ đã ra đời để tạo ra ngày càng nhiều công cụ, phương thức hỗ trợ mạnh mẽhơn, tạo nhiều sự tiện lợi cho người lập trình và nhà thiết kế WPF làcông nghệ mới,
Trang 31đầy tiềm năng và sức mạnh, WPF mới chỉ ở bước khởi đầu nhưng sẽ là công nghệ chongày mai.
Trang 32Qu n Lý ản Lý Sinh Viên
2.1 Sơ đồ Use-case2.2 Danh sách các Actor2.3 Danh sách các Use-case2.4 Đặc tả Use-case
Trang 332.1 Sơ đồ Use-case
Hình 2.1: Sơ đồ Use-case
xem thong tin sinh vien
Nhap thong tin ve Diem sinh vien Nhap thong tin Sinh vien
Xem Thong tin Giang vien
He thong quan ly Giang vien
Trang 342.2 Danh sách các Actor
Bảng 2.2: Bảng danh sách các actor 2.3 Danh sách các Use-case
STT Tên Actor Ý nghĩa / Ghi chú
1 HE THONG QUAN LY SINH VIEN QUẢN LÝ SINH VIÊN
2 NGUOI DUNG NGƯỜI SỬ DỤNG HỆ THỐNG
3 HE THONG QUAN LY
GIANG VIEN HỆ THỐNG QUẢNG LÝ GIẢNG VIÊN
STT Tên Use-case Ý nghĩa / Ghi chú
1 DANG NHAP NGƯỜI DÙNG ĐĂNG NHẬP VÀO HỆ THỐNG
2 NHAP THONG TIN SINH VIEN NGƯỜI DÙNG NHẬP THÔNG TIN SINH VIÊN
3 XEM THONG TIN SINH
VIEN NGƯỜI DÙNG XEM THÔNG TIN SINH VIÊN
4 NHAP THONG TIN DIEM NHẬP ĐIỂM CỦA TỪNG SINH VIÊN
5 CAP NHAT THONG TIN SINH VIEN CẬP NHẬT THÔNG TIN SINH VIÊN
6 XEM DANH SACH GIANG VIEN XEM DANH SÁCH GIẢNG VIÊN
7 XEM LOAI GIANG VIEN XEM LOẠI GIẢNG VIÊN
8 CAP NHAT THONG TIN
GIANG VIEN CẬP NHẬT THÔNG TIN GIẢNG VIÊN
9 XEM THONG TIN GIANG VIEN XEM THÔNG GIẢNG VIÊN
11 XEM KET QUA HOC TAP XEM KẾT QUẢ HỌC TẬP
Trang 35Bảng 2.3: Danh sách các Use-case 2.4 Đặc tả Use-case
2.4.1 Use-case “DANG NHAP”
Người dùng phải nhấp chọn nút “Đăng nhập” ở giao diện chính.
Yêu cầu người sử dụng phải đăng nhập mới vào được hệ thống.
o Nếu thành công người sử dụng sẽ được đưa đến trang quản lý hệ thống.
o Nếu thất bại người sử dụng sẽ phải đăng nhập lại tiếp tục hoặc hủy thao tác đăng nhập và thoát khỏi chương trình.
Không có.
2.4.2 Use-case “NHAP THONG TIN SINH VIEN”
Trang 36Nhập sinh viên mới không được trùng với sinh viên hiện có nếu đã có thì thao tác sẽ bị hủy.
Sinh viên sẽ được nhập vào cơ sở dữ liệu.
Trang 37Yêu cầu người dùng phải nhập điểm cho sinh viên.
Nhập điểm cho sinh viên thành công.
Chọn hoặc thêm một giảng viên.
Thao tác với giảng viên thành công.
Trang 38Hiển thị tất cả loại giảng viên có trong danh sách loại giảng viên.
Loại giảng viên được cập nhật cho giảng viên.
Xem điểm và kết quả học tập của mỗi sinh viên.
Trang 39Xem điểm và kết quả học tập của sinh viên.
Không có.
Trang 40Qu n Lý ản Lý Sinh Viên
3.1 Sơ đồ lớp3.1.1 Mô hình quan hệ thực thể (ERD)
3.1.2 Các lớp đối tượng và quan hệ3.1.3 Mô tả chi tiết các lớp đối tượng
3.2 Sơ đồ trạng thái