MỤC LỤC LỜI CAM ĐOAN 3 LỜI CẢM ƠN 4 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 7 DANH MỤC BẢNG 8 DANH MỤC HÌNH ẢNH 9 LỜI MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI VÀ CÔNG CỤ PHÁT TRIỂN 4 1.1.Tổng quan đề tài 4 1.2. Công cụ phát triển 5 1.2.1. Ngôn ngữ lập trình PHP 5 1.2.2. Hệ quản trị cơ sở dữ liệu MySQL 7 1.2.3. Codeigniter Framework 8 1.3. Nghiệp vụ bài toán: 10 1.3.1. Người dùng: Ban Giám Hiệu, Giáo Vụ, Giáo Viên . 10 1.3.2. Tiêu chuẩn đánh giá: 10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 16 2.1. Tổng quan về UML: 16 2.2. Các biểu đồ (Diagrams) trong UML: 16 2.2.1. Biểu đồ lớp (Class Diagrams): 16 2.2.2. Biểu đồ đối tượng (Object Diagrams): 16 2.2.3. Biểu đồ Use Case (Use Case Diagrams): 17 2.2.4. Biểu đồ tuần tự (Sequence Diagrams): 17 2.2.5. Biểu đồ cộng tác (Collaboration Diagrams): 17 2.2.6. Biểu đồ trạng thái (Statechart Diagrams): 17 2.2.7. Biểu đồ hoạt động (Activity Diagrams): 17 2.2.8. Biểu đồ thành phần (Component Diagrams): 18 2.2.9. Biểu đồ triển khai (Deployment Diagrams): 18 2.3. Biểu đồ use case (Usecase Diagrams): 18 2.3.1. Một số lưu ý khi thiết kế usecase: 18 2.3.2. Vai trò của biểu đồ Usecase: 18 2.3.3. Lợi ích của biểu đồ usecase: 19 2.3.4. Các ký hiệu cơ bản: 19 2.4. Biểu đồ tuần tự 24 2.4.1. Các bước tạo một biểu đồ tuần tự: 24 2.4.2.Các thành phần của biểu đồ tuần tự: 24 2.4.3. Phương thức (procedure): 24 2.4.4. Thông điệp (Message): 25 2.4.5. Ví dụ biểu đồ tuần tự 25 CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 26 3.1. Sơ đồ use case: 26 3.1.1. Sơ đồ usecase tổng quát: 26 3.1.2. Sơ đồ cho actor “Ban Giám Hiệu”: 26 3.1.3. Sơ đồ cho ator “Giáo Vụ”: 27 3.1.4. Sơ đồ cho actor “Giáo Viên”: 27 3.2 Biểu đồ lớp: 46 3.2.1 Chi tiết các đối tượng: 46 3.2.2 Biểu đồ lớp tổng quát: 47 3.3 Thiết kế: 48 3.3.1Thiết kế cơ sở dữ liệu: 48 3.3.2 Thiết kế giao diện: 50 KẾT LUẬN VÀ KIẾN NGHỊ 52 TÀI LIỆU THAM KHẢO 53
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG WEBSITE QUẢN LÝ
HỌC SINH TIỂU HỌC
Hà Nội – 2017
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
NGÔ THỊ MAI ÁNH
XÂY DỰNG WEBSITE QUẢN LÝ
HỌC SINH TIỂU HỌC
Chuyên ngành : Công nghệ thông tin
Mã ngành : D480201
NGƯỜI HƯỚNG DẪN : THS TRẦN MẠNH TRƯỜNG
Hà Nội – 2017
Trang 3Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sựhướng dẫn khoa học của Ths Trần Mạnh Trường Các nội dung nghiên cứu,kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thứcnào trước đây.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu tráchnhiệm về nội dung đồ án của mình Trường đại học Tài nguyên và Môi trường
Hà Nội không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây
ra trong quá trình thực hiện (nếu có)
Hà Nội, tháng 02 năm 2017
Sinh viên Ngô Thị Mai Ánh
Trang 4Em xin chân thành cảm ơn các thầy cô đã tận tình giảng dạy và trang bịcho em nhiều kiến thức bổ ích trong suốt quá trình học tập tại trường vừa qua.Đây là quãng thời gian vô cùng hữu ích, đã giúp em trưởng thành lên rấtnhiều khi chuẩn bị ra trường Là những hành trang rất quan trọng trong côngviệc.
Ngoài ra, em xin chân thành cảm ơn thầy Trần Mạnh Trường đã luôn tậntình quan tâm, giúp đỡ và hướng dẫn em trong suốt quá trình thực hiện đồ án tốtnghiệp vừa qua
Mặc dù đã cố gắng trong suốt quá trình làm đồ án, nhưng do kinhnghiệm thực tế và trình độ chuyên môn chưa được nhiều nên em không tránhkhỏi những thiếu sót, em rất mong được sự chỉ bảo, góp ý chân thành từ cácthầy, cô giáo cùng tất cả các bạn để hoàn thiện phần kiến thức còn nhỏ bé củamình
Sau cùng, em xin kính chúc các thầy cô Khoa Công nghệ thông tin - Đạihọc Tài nguyên và Môi trường Hà Nội thật nhiều sức khỏe, niềm tin để tiếptục thực hiện sứ mệnh cao đẹp của mình là người dẫn bước, chỉ đường chochúng em
Em xin chân thành cảm ơn!
Hà Nội, tháng 02 năm 2017
Sinh viên Ngô Thị Mai Ánh
Trang 5LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
MỤC LỤC 5
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 6
DANH MỤC BẢNG 7
DANH MỤC HÌNH ẢNH 8
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI VÀ CÔNG CỤ PHÁT TRIỂN 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 16
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 27
TÀI LIỆU THAM KHẢO 55
Trang 6Viết tắt Thuật ngữ tiếng anh Thuật ngữ tiếng việt
HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn
bảnSQL Structured Query Language Ngôn ngữ truy vấn mang tính
cấu trúcCSS Cascading Style Sheet File có phần mở rộng là cssPHP Hypertext Preprocessor Ngôn ngữ lập trình
SEO Search engine optimization Tối ưu hóa tìm kiếm
URL Uniform Resource Locator Đường dẫn
nguồn mở
Trang 9LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển về mọi mặt của xã hội, ngành côngnghệ thông tin đã trở thành một nhu cầu không thể thiếu trong đời sống conngười
Nền khoa học máy tính ngày nay đang giữ một vị trí trung tâm hày hếtcác lĩnh vực trong đời sống của xã hội Với những lợi ích do công nghệ thôngtin mang lại, các nhà quản lý đã đưa những ứng dụng và phục vụ công tácquản lý cho học sinh
Đồ án nhằm giải quyết và đáp ứng một cách hiệu quả các nhu cầu về mặtquản lý thông tin học sinh Tin học hóa trong công tác quản lý nhằm giảm bớtsức lao động của con người, tiết kiệm được thời gian, độ chính xác cao, gọnnhẹ và tiện ích hơn nhiều so với việc làm thủ công trên giấy tờ Tin học hóagiúp thu hẹp không gian lưu trữ, tránh việc thất lạc dữ liệu, tự động hệ thốnghóa và cụ thể hóa thông tin theo nhu cầu của con người
Vì tính thiết yếu đó nên em đã “Xâu dựng website quản lý học sinh tiểuhọc” với đầy đủ các chức năng quản lý truyền thống
Tuy nhiên, website của em có thể chưa hoàn chỉnh và còn nhiều thiếu sót
em mong quý thầy, cô có thể tạo điều kiện giúp đỡ, cũng như đóng góp ý kiến
để em có thể hoàn thành đề tài một cách hiệu quả nhất, và hơn thế nữa, em cóthể rút ra những kinh nghiệm quý báu cho chính bản thân mình
Sau đây là một số thông tin chung của đề tài:
-Lý do chọn đề tài
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và cùng với sựxâm nhập nhanh chóng của tin học vảo mọi lĩnh vực của đởi sống xã hội thìviệc sử dụng máy tính trong công tác quản lý đã trở thành một nhu cầu cấpbách, nó lả một trong những yếu tố không thể thiếu nhằm nâng cao chất lượng
và hiệu quả trong công tác quản lý
Trong lĩnh vực quản lý học sinh việc điều chỉnh và bổ xung thông tin
Trang 10thực hiện rất khó khăn và không rõ ráng, việc tìm kiếm thông tin mất nhiềuthời gian, độ chính xác kém.
Do đố việc Tin học hoá các hoạt động trong nhà trưởng vào “Quản lýhọc sinh” ngày càng trở nên cẩn thiết Việc ứng dụng Tin học trong công tácquản lý giúp cho thầy cô thoát khỏi lao động thủ công, nâng cao hiệu quả củacông việc, tiết kiệm được rất nhiều thời gian
Vì vậy em muốn thực hiện đề tài này, tuy ở mức cơ bản, nhưng mongrằng có thể từ đó làm một phần mềm hoàn chỉnh hơn có thể ứng dụng thực tế
áp dụng cho việc quản lý
-Đối tượng và phương pháp thực hiện
Đối tượng thực hiện:
-Ngôn ngữ lập trình PHP
-Công cụ wampp, dreamweaver…
-Hệ quản trị cơ sở dữ liệu MySQL
Phương pháp thực hiện:
-Nghiên cứu tài liệu tham khảo
-Tham khảo 1 số phần mềm và website quản lý
-Trao đổi với giảng viên hướng dẫn
-Mục tiêu và nội dung của đề tài
Mục tiêu của đề tài:
-Vận dụng kiến thức đã học về phân tích và thiết kế hệ thống để giảiquyết bài toán trong thực tế
-Xây dựng CSDL
-Sử dụng thành thạo công cụ lập trình để xây dựng chương trình
-Vận dụng bài toán vào thực tế sử dụng
Nội dung của đề tài:
-Khảo sát thực tế
-Phân tích thiết kế hệ thống
-Xây dựng website phục vụ nhu cầu quản lý học sinh
Bố cục của đồ án.
Nội dung đồ án bao gồm 3 chương:
Chương 1: Tổng quan đề tài và công cụ phát triển
Trang 11Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích thiết kế hệ thống
Trang 12CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI VÀ CÔNG CỤ
PHÁT TRIỂN1.1.Tổng quan đề tài:
Tin học hoá công tác quản lý giáo dục và xây dựng hệ thống thông tinquản lý giáo dục là một nhiệm vụ trọng tâm của Bộ Giáo dục và Đào tạo(GDĐT) trong chương trình tin học hoá quản lý hành chính nhà nước vàchương trình xây dựng chính phủ điện tử Để triển khai công tác tin học hoáquản lý nhà nước về giáo dục phổ thông bao gồm cấp sở, cấp phòng và cấptrường, Cục Công nghệ thông tin (CNTT) - Bộ Giáo dục và Đào tạo đãnghiên cứu và triển khai xây dựng các hệ thống thông tin quản lý giáo dục vàphần mềm quản lý giáo dục cho các cấp quản lý khác nhau (trường phổ thông,phòng, sở, bộ) một cách hoàn chỉnh Hệ thống này không chỉ đơn thuần làmnhiệm vụ tổng hợp báo cáo thống kê, mà còn có thể quản lý cả những thôngtin chi tiết về học sinh, giáo viên ở mỗi cấp quản lý phòng và sở
Hệ thống quan trọng đầu tiên là hệ thống Quản lý học sinh trong một
trường tiểu học Ngoài việc hỗ trợ các trường học quản lý các hoạt động giáo
dục trong nhà trường hiệu quả, hệ thống này còn có thể cung cấp thông tingiáo dục cho các cấp quản lý giáo dục cao hơn (phòng, sở, Bộ) dưới dạngđiện tử đã được chuẩn hóa
PHP có một lịch sử phát triển lâu đời và được đông đảo lập trình viên đónnhận, ngày càng phát triển mạnh mẽ hơn Nhiều người bảo chọn PHP vì lí do mãnguồn mở, miễn phí, dễ triển khai, chạy nhanh, nhưng những ai đã làm việc vớiPHP và theo đuổi nó vì một lý do rất đơn giản, đó là làm việc với PHP rất thoảimái Ưu điểm “thoải mái” của PHP cũng chính là nhược điểm của nó Với nhữngkhối code nhỏ, bạn hoàn toàn có thể làm theo kiểu của riêng bạn; nhưng với cácphần mềm lớn, bạn sẽ bị lạc trong chính nó như các function name… Bạn sẽkhông thể nào tiếp tục phát triển lớn hơn, thời gian bảo trì sẽ gấp nhiều nhiều lầnthời gian phát triển… Cũng như nhiều ngôn ngữ lập trình khác, thấy được khó
Trang 13khăn này em đã tìm hiểu và ứng dụng PHP Codeigniter framework vào xâydựng website của mình [1].
Với sự phát triển mạnh mẽ của công nghệ thông tin và cùng với sự xâmnhập nhanh chóng của tin học vảo mọi lĩnh vực của đởi sống xã hội thì việc
sử dụng máy tính trong công tác quản lý đã trở thành một nhu cầu cấp bách,
nó lả một trong những yếu tố không thể thiếu nhằm nâng cao chất lượng vàhiệu quả trong công tác quản lý
Chính vì nguyên nhân đã nêu trên, em xin chọn đề tài nghiên cứu “xây dựng website quản lý học sinh tiểu học” với mục đích nghiên cứu, tìm hiểu
và xây dựng website để có thể đáp ứng nhu cầu quản lý học sinh dễ dàng,nhanh chóng và thuận tiện nhất
1.2 Công cụ phát triển
1.2.1 Ngôn ngữ lập trình PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữlập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triểncác ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do đượctối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú phápgiống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn
so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữlập trình web phổ biến nhất thế giới [5]
-Đặc điểm của PHP:
• PHP là một ngôn ngữ lập trình web rất được ưa chuộng, hiện là ngônngữ lập trình web phổ biến nhất Nhờ vào một số đặc điểm sau :
PHP dễ học và linh động
Rất nhiều hàm hỗ trợ và nhiều phần mở rộng phong phú
Đặc biệt mã nguồn mở, thường xuyên nâng cấp, chạy được trên nhiềumáy chủ web, nhiều hệ điều hành (đa nền tảng)
Cộng đồng sử dụng và hỗ trợ đông đảo
Trang 14Ngoài phần code chính (thường gọi là code thuần), các phần mở rộngcũng rất phong phú mà lại miễn phí như nhiều frame work
Các mã nguồn chia sẻ trên mạng tìm được rất nhiều và dễ dàng
Được tích hợp và sử dụng ổn định trong một mô hình
LAMP =Linux+Apache+Mysql+Php, mã nguồn mở, chi phí thấp
Các hosting hỗ trợ nhiều
-Các chức năng của PHP:
Trước hết và cũng là quan trọng nhất, nó đảm nhiệm vai trò của: ngôn
ngữ kịch bản phía máy chủ (Server Side script) - máy chủ sẽ tiếp nhận request
(yêu cầu) từ máy khách (client) - máy chủ web sẽ triệu gọi file mã nguồntương ứng Trong file mã nguồn này chứa các mã php để xử lý request - trìnhthông dịch sẽ dịch mã php sang mã HTML, CSS, XML, trả ra cho máy chủweb, máy chủ web trả lại thông tin (reponse) cho máy khách Dữ liệu nhậnđược từ máy khách là các đoạn mã dạng text như HTML, CSS, mà khôngthể thấy mã php (vì đã được thực thi thành dạng text) - đảm bảo được tính bảomật, đây cũng là chức năng cơ bản và quan trọng của một ngôn ngữ phía máychủ
• Ngoài ra PHP còn có thể:
Xử lý ảnh
Cho phép và xử lý file upload (tải file lên server)
Thiếp lập và xử lý cookie, session
(*) Thao tác tới cơ sở dữ liệu
Gửi email
(*) Xử lý dữ liệu nhận được từ form nhập liệu
Thông qua php, một trang web tĩnh (static webpage), thường chỉ phầngiao diện tại máy khách - tương tác tới máy chủ web, trở thành một trang webđộng (nội dung thay đổi, tùy biến theo các sự kiện, yêu cầu) - hay được gọi làdynamic webpage Học lập trình php vì thế cũng hay được gọi là: lập trìnhweb động với php, lập trình ứng dụng web, [2]
Trang 151.2.2 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trongnhóm LAMP (Linux – Apache -MySQL – PHP), vì MySQL được tích hợp sửdụng chung với apache, PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định
và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấpmột hệ thống lớn các hàm tiện ích rất mạnh (vì được nhiều người hỗ trợ mãnguồn mở) và MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự vớingôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ trợ của những lậptrình viên yêu thích mã nguồn mở Nhưng MySQL không bao quát toàn bộnhững câu truy vấn cao cấp như SQL Server Vì vậy MySQL chỉ đáp ứng việctruy xuất đơn giản trong quá trình vận hành của website, thích hợp cho các ứngdụng có truy cập CSDL trên internet và có thể giải quyết hầu hết các bài toántrong PHP, Perl, MySQL miễn phí hoàn toàn [1]
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữliệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữkhác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHPhay Perl,
- Một số đặc điểm của MySQL:
• MySQL là một phần mềm quản trị CSDL dạng server-based (gầntương đương với SQL Server của Microsoft)
• MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể cónhiều bảng quan hệ chứa dữ liệu
• MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng
có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có mộttên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL
• Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mậtkhẩu của tài khoản có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không
Trang 16làm được gì cả giống như quyền chứng thực người dùng trong SQL Server vậy[1].
1.2.3 Codeigniter Framework
a) Sơ lược về Codeigniter Framework
Codeigniter Framework (viết tắt là CI) là một trong những PHPframework được xem là phổ biến và dễ dàng tiếp cận nhất so với các PHPframework hiện hành và phổ biến như Laravel Framework, Zend Framework,Cake PHP Framework,Yii Framework, …Tuy là một framework dễ tiếp cận,nhưng CI cũng có đầy đủ sức mạnh như các framework phổ biến khác vàđược xem là một PHP framework nhanh nhất hiện nay
b) Ưu điểm, nhược điểm
• Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD
mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mãnguồn
• Hệ thống thư viện phong phú: CI cung cấp các thư viện phục vụ chonhững tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy xuất cơ
sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh,…đếnnhững chức năng nâng cao như mã hóa, bảo mật,…
• Bảo mật hệ thống: cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS vàSQL Injection của CI giúp giảm thiểu các nguy cơ bảo mật cho hệ thống
• Tối ưu hóa SEO: cấu trúc Url của CI rất thân thiện với các công cụ tìmkiếm, tốt cho SEO
Trang 17• Thiết kế theo mô hình M-V-C: giúp cho việc thiết kế, nâng cấp bảo trì
mã nguồn một cách dễ dàng vì thành phần hiển thị và thành phần xử lý dữliệu được tách biệt thành các phần độc lập
- Nhược điểm:
• Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,
CI không có các module thực thi một số tác vụ thường gặp trong quá trình xâydựng ứng dụng web như Chứng thực người dùng (User Authorization),trìnhphân tích RSS ( RSS Parser ) hay trình xử lý PDF,…
• Chưa hỗ trợ Object-Relational Mapping: Object Relational Mapping(ORM) là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu đượcánh xạ thành các đối tượng trong chương trình Kỹ thuật này giúp cho việcthực hiện các thao tác trong cơ sở dữ liệu (Create Read Update Delate –CRUD) dễ dàng, mã nguồn ngắn gọn hơn Hiện tại, CodeIgniter vẫn chưa hỗtrợ ORM
• Chưa hỗ trợ Event-Driven Programming: Event-Driven Programming(EDP) là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽdựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phím
-Bảo mật :
• Cơ chế bảo mật chặt chẽ của CodeIgniter giúp lập trình viên có thể yên tâm khi xây dựng ứng dụng Để phòng ngừa các phương thức tấn công phổ biến như XSS hay SQL Injection, CodeIgniter chỉ cho phép các ký tự sau xuất hiện trong URI:
Trang 181.3 Nghiệp vụ bài toán:
1.3.1 Người dùng: Ban Giám Hiệu, Giáo Vụ, Giáo Viên
-BGH đóng vai trò Admin: lập bảng phân công GV, thay đổi qui định.-Giáo Vụ đóng vai trò User: tiếp nhận học sinh, lập danh sách phân lớp.-Giáo Viên đóng vai trò User: nhập bảng điểm, lập báo cáo tổng kết
1.3.2 Tiêu chuẩn đánh giá:
-Loại Trung Bình: ĐTB các môn từ 5.0 trở lên (một trong hai môn Toán
và Ngữ Văn từ 5.0 trở lên), không có môn nào dưới 3.5
-Loại Yếu: ĐTB các môn từ 3.5 trở lên, không có môn nào dưới 2.0.-Loại Kém: các trường hợp còn lại
b, Đánh giá, xếp loại hạnh kiểm:
-Đánh giá hạnh kiểm của học sinh phải căn cứ vào biểu hiện cụ thể vềthái độ và hành vi đạo đức; ứng xử trong mối quan hệ với giáo viên, với bạn
bè và quan hệ XH; ý thức phấn đấu vươn lên trong học tập; kết quả tham gialao động, hoạt động tập thể của lớp, của trường và hoạt động XH; rèn luyệnthân thể, giữ gìn vệ sinh và bảo vệ môi trường
-Hạnh kiểm được xếp thành 4 loại: Tốt, Khá, Trung Bình, Yếu sau khikết thúc học kỳ, năm học Việc xếp loại hạnh kiểm cả năm học chủ yếu căn cứkết quả xếp loại hạnh kiểm học kỳ 2
Trang 19c, Sử dụng kết quả đánh giá xếp loại:
-Lên lớp:
• Hạnh kiểm và học lực từ Trung Bình trở lên
• Nghỉ không quá 45 buổi học trong một năm học (nghỉ có phép hoặckhông phép, nghỉ liên tục hoặc nghĩ nhiều lần cộng lại.)
-Lưu bang:
• Nghỉ quá 45 buổi học trong một năm học (nghỉ có phép hoặc khôngphép, nghỉ liên tục hoặc nghĩ nhiều lần cộng lại)
• Học lực cả năm loại Kém hoặc học lực và hạnh kiểm cả năm loại Yếu
• Sau khi đã được thi lại một số môn học có Điểm TB dưới 5.0 để xếploại lại học lực cả năm nhưng vẫn không đạt loại Trung Bình
• Hạnh kiểm cả năm xếp loại Yếu, nhưng không hoàn thành nhiệm vụrèn luyện trong hè nên vẫn không được xếp loại lại về hạnh kiểm
-Thi lại:
• Học sinh xếp loại hạnh kiểm cả năm học từ Trung Bình trở lên nhưnghọc lực cả năm học loại Yếu, được lựa chọn một số trong các môn học cóĐiểm TB cả năm học dưới 5.0 để kiểm tra lại Điểm kiểm tra lại thay choĐiểm TB cả năm học của môn học đó để tính lại Điểm TB các môn học cảnăm học và xếp loại lại về học lực; nếu đạt loại Trung Bình thì được lên lớp.-Rèn luyện trong hè:
• Học sinh xếp loại học lực cả năm từ Trung Bình trở lên nhưng hạnhkiểm cả năm học xếp loại Yếu thì phải rèn luyện thêm hạnh kiểm trong hè,hình thức rèn luyện do Hiệu Trưởng quy định Nhiệm vụ rèn luyện trong hèđược thông báo đến chính quyền, đoàn thể xã, phường, thị trấn (gọi chung làcấp xã) nơi học sinh cư trú Cuối hè, nếu được Ủy ban nhân dân cấp xã côngnhận đã hoàn thành nhiệm vụ thì giáo viên chủ nhiệm đế nghị Hiệu Trưởngcho xếp loại lại về hạnh kiểm; nếu đạt loại Trung Bình thì được lên lớp
Trang 20d, Quy định:
-Tuổi học sinh phải 10 đến 30
-Mỗi lớp không quá 50 học sinh
-Điểm số được lấy theo thang điểm 10, nếu môn nào lấy theo thang điểm
100 thì quy về thang điểm 10
-Điểm kiểm tra miệng và 15 phút hệ số 1, điểm kiểm tra 1 tiết và kiểmtra thực hành từ 1 tiết trở lên hệ số 2, điểm thi học kỳ hệ số 3
-Điểm trung bình môn học kỳ 1 hệ số 1, điểm trung bình môn học kỳ 2
Trang 21• Điểm trung bình môn học:
• Điểm trung bình môn học kỳ (ĐTBmhk) là trung bình cộng của điểmcác bài KTtx, KTđk, KThk với các hệ số theo quy định:
• Điểm trung bình môn học cả năm (ĐTBmcn) là trung bình cộng củaĐTBmhkI với ĐTBmhkII, trong đó ĐTBmhkII tính theo hệ số 2:
• Điểm trung bình các môn học kỳ, cả năm học:
• Điểm trung bình các môn học kỳ (ĐTBhk) là trung bình cộng củađiểm trung bình môn học kỳ của tất cả các môn với hệ số (a, b…) của từngmôn học:
• Điểm trung bình các môn cả năm (ĐTBcn) là trung bình cộng củađiểm trung bình cả năm của tất cả các môn học, với hệ số (a, b…) của từngmôn học:
• Điểm trung bình các môn học kỳ hoặc cả năm học là số nguyên hoặcthập phân được lấy đến chữ số thập phân thứ nhất sau khi đã làm tròn số
ĐKTtx + 2 * ĐKTđk + 3 * ĐKThk ĐTBmhk = Tổng các hệ số
ĐTBmhkI + 2 * ĐTBmhkII ĐTBmcn = 3
a * ĐTBmhk Toán +…+ b * ĐTBmhk Vật lí ĐTBhk = Tổng các hệ số
a * ĐTBmcn Toán +…+ b * ĐTBmcn Vật lí ĐTBcn = Tổng các hệ số
Bảng 1 1 Công thức tính điểm trung bình học kỳ môn
Bảng 1 2 Công thức tính điểm trung bình cả năm môn
Bảng 1 3 Công thức tính điểm trung bình học kỳ các môn
Bảng 1 4 Công thức tính điểm trung bình cả năm các môn
Trang 22-Kết quả: Dựa theo tiêu chuẩn đánh giá Thông tin lưu trữ: Mã kết quả,Tên kết quả.
-Học lực: Dựa theo tiêu chuẩn xếp loại học lực Thông tin cần lưu trữ:
Mã học lực, Tên học lực, Điểm cận trên, Điểm cận dưới, Điểm khống
-Hạnh kiểm: Dựa theo tiêu chuẩn xếp loại hạnh kiểm Thông tin cần lưutrữ: Mã hạnh kiểm, Tên hạnh kiểm
-Học sinh: Thông tin cần lưu trữ: Mã học sinh, Tên học sinh, Giới tính,Ngày sinh, Nơi sinh, Dân tộc, Tôn Giáo, Họ tên cha, Nghề nghiệp cha, Họ tên
f, Nghiệp vụ:
-Tiếp nhận học sinh: khi học sinh đến nhập học giáo vụ lưu thông tin họcsinh trong bảng Học sinh
-Lập bảng phân lớp: Giáo vụ phân bổ học sinh đến các lớp học
-Nhập bảng điểm môn: Giáo viên hoặc Giáo vụ sẽ nhập điểm cho họcsinh sau mỗi đợt kiểm tra hoặc thi học kỳ
-Lập bảng phân công giáo viên: BGH có nhiệm phân công giáo viên chủnhiệm hoặc giảng dạy từng lớp
-Tra cứu học sinh
-Tra cứu giáo viên
-Lập báo cáo tổng kết
-Thay đổi quy định: BGH: về sỉ số, về độ tuổi, về thang điểm
Trang 23g, Hệ thống báo cáo:
-Kết quả học kỳ theo lớp học.-Kết quả học kỳ theo môn học.-Kết quả cả năm theo lớp học.-Kết quả cả năm theo môn học
h, Quản lý hệ thống:
-BGH có quyền:
• Phân quyền người dùng
• Thiết lập đường dẫn tới CSDL
• Sao lưu và phục hồi dữ liệu
Trang 24CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về UML:
- UML được tạo ra nhằm chuẩn hóa ngôn ngữ mô hình hóa
- UML là ngôn ngữ dùng để đặc tả, trực quan hóa và tư liệu hóaphần mềm hướng đối tượng
- UML chứa tất cả các mức mô hình hóa khác nhau trong quitrình phát triển bao gồm 9 loại sơ đồ trong đó 5 dùng để biểu diễn khía cạnhtĩnh và 4 dùng để biểu diễn khía cạnh động của hệ thống
2.2 Các biểu đồ (Diagrams) trong UML:
2.2.1 Biểu đồ lớp (Class Diagrams):
- Là một mô hình tĩnh để biểu diễn các lớp đối tượng và mối quan
hệ giữa chúng, nó không thay đổi trong hệ thống theo thời gian Miêu tả cáclớp bao gồm cả hành vi và trạng thái, cùng với quan hệ giữa các lớp
2.2.2 Biểu đồ đối tượng (Object Diagrams):
- Chỉ chứa các đối tượng và giá trị dữ liệu Đối tượng là một thểhiện cụ thể của một thành phần hoặc toàn bộ sơ đồ lớp, thường được dùng khimuốn xem xét chi tiết của một lớp Thông qua đó có thể phát hiện sai lầm khithiết kế sơ đồ lớp
Models
Use Case Diagrams
Use Case Diagrams
Class Diagramsm
Class Diagramsm
Object Diagrams
Object Diagrams
Statechart Diagrams Activity
Diagrams
Activity Diagrams
Sequence Diagrams
Sequence Diagrams
Component Diagrams
Component Diagrams
Deployment Diagrams
Deployment Diagrams
Hình 2 1 Biểu đồ trong UML
Trang 252.2.3 Biểu đồ Use Case (Use Case Diagrams):
- Khái niệm actor: là những người dùng(tác nhân) hay hệ thốngkhác ở bên ngoài phạm vi của hệ thống mà có tương tác với hệ thống, có thể
là một người/nhóm người, một thiết bị hoặc một hệ thống khác, có thể traođổi thông tin với hệ thống với vai trò của người cung cấp lẫn người nhậnthông tin
- Biểu đồ Use case bao gồm một tập hợp các Use case, các actor
và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọngtrong việc tổ chức và mô hình hóa hành vi của hệ thống
2.2.4 Biểu đồ tuần tự (Sequence Diagrams):
- Biểu diễn sự tương tác giữa các đối tượng tham gia vào mộtusecase và thông điệp được truyền giữa các đối tượng trong usecase đó.Sơ đồtuần tự đặc biệt thích hợp để định nghĩa các tương tác phức tạp theo thời gian
Sơ đồ tuần tự thường thích hợp hơn sơ đồ công tác trong các trường hợp sau:
có rất nhiều tương tác trong một hành vi cụ thể, trình tự của tương tác kháphức tạp
2.2.5 Biểu đồ cộng tác (Collaboration Diagrams):
- Gần giống như biểu đồ tuần tự, biểu đồ cộng tác là một cáchkhác để thể hiện một tình huống có thể xảy ra trong hệ thống Nhưng nó chỉ
mô tả sự tương tác giữa các đối tượng mà không quan tâm đến trình tự thờigian xảy ra tương tác
2.2.6 Biểu đồ trạng thái (Statechart Diagrams):
- Là đồ thị có hướng với các nút là các trạng thái nối với nhau bởicác cung mô tả việc chuyển đổi trạng thái Mô tả chu trình sống của các đốitượng chính từ khi sinh ra, hoạt động và mất đi Mỗi đối tượng có thể cónhuều sơ đồ trạng thái theo các góc nhìn khác nhau
Trang 262.2.7 Biểu đồ hoạt động (Activity Diagrams):
- Được dùng để mô hình hóa các quá trình nghiệp vụ ở mức cao
Nó chỉ ra: các bước trong luồng công việc, các điểm quyết định, ai có tráchnhiệm thực hiện từng bước, các đối tượng ảnh hưởng đến luồng công việc.2.2.8 Biểu đồ thành phần (Component Diagrams):
- Chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component) Nó liên quan tới biểu đồ lớp, trong đó một thành phần thườngánh xạ tới một hay nhiều lớp, giao diện , cộng tác
2.2.9 Biểu đồ triển khai (Deployment Diagrams):
- Phân bố vật lý của hệ thống
2.3 Biểu đồ use case (Usecase Diagrams):
2.3.1 Một số lưu ý khi thiết kế usecase:
- Nên đơn giản và cô đọng
- Không viết ngay mọi usecase mà phát triển chúng dần dần
- Xem xét lại các usecase một cách thường xuyên
- Gán độ ưu tiên cho các usecase
- Bảo đảm chúng có duy nhất một mục tiêu hữu hình và có thể kiểm tra được
- Viết ra theo quan điểm của người dùng và dùng ngôn ngữ kinh doanh
- Thiết lập khung hệ thống rõ ràng và không đưa vào các chi tiết
- Sử dụng hiệu ứng để minh họa dòng usecase
- Không được chấp nhận usecase nếu chỉ mới đọc qua một lần
- Xem kĩ các dòng thay thế và các dòng ngoại lệ
2.3.2 Vai trò của biểu đồ Use-case:
- Mô hình hóa hệ thống sắp được xây dựng:
Cách sử dụng hệ thống (“use case”)
Trang 27 Các thực thể có liên quan: Ai sẽ tương tác với hệ thống (“actor”).
- Cung cấp một chuỗi hoạt động thống nhất trong quá trìnhphát triển hệ thống
- Mục tiêu: làm cho hệ thống đáp ứng được yêu cầu củakhách hàng
- Cùng một mô hình use-case được dùng trong các giai đoạnthu thập yêu cầu, phân tích - thiết kế, và kiểm tra
- Biểu đồ use-case là cầu nối giữa các chức năng và hành vicủa hệ thống với khách hàng/người dùng cuối
2.3.3 Lợi ích của biểu đồ use-case:
-Dễ hiểu:
• Sử dụng các thuật ngữ mà khách hàng/người tiêu dùnghiểu được
• Kiểm tra lại hiểu biết về hệ thống của người phát triển
- Cho biết ngữ cảnh của các yêu cầu:
• Nhận diện người dùng
• Nhận diện gia diện hệ thống
• Sắp xếp lại yêu cầu hệ thống theo một trình tự logic
• Giúp kiểm tra lại sự thiếu sót (nếu có) của các yêu cầu
- Giúp người dùng dễ dàng chấp nhận các yêu cầu hệ thống.2.3.4 Các ký hiệu cơ bản:
Trang 28Hình 2 2 Actor
- Actor không phải là một phần của hệ thống Đó là thực thể
có tương tác với hệ thống Một actor có thể:
• Là một người/nhóm người, một thiết bị hoặc một hệthống khác
• Trao đổi thông tin với hệ thống với vai trò của người cung cấp lẫn người nhận thông tin
Trang 29- Use – case:
Hình 2 3 Use-case
- Là một chuỗi các hành động mà hệ thống thực hiện mang lạimột kết quả quan sát được đối với actor
- Quan hệ giữa tác nhân và use case:
Hình 2 4 Quan hệ giữa tác nhân và use case
- Quan hệ giữa các use case:
• Quan hệ tổng quát hóa (generalization): chỉ ra
một vài tác nhân hay usecase có một số cái chung, giống nhau
• Kết hợp generalization giữa các use case:
Hình 2 5.Kết hợp generalization giữa các use case
• Kết hợp generalization giữa các actor:
Hình 2 6 Kết hợp generalization giữa các actor
- Quan hệ mở rộng <<extend>> giữa các usecase:
• Được dùng khi chúng ta có một use case tương tựnhưng cần thêm một vài xử lý đặc biệt (có thể có hoặc có thể không)
Hình 2 7 Quan hệ <<extend>> giữa các usecase (UseCase2 mở rộng của
UseCase1)
Trang 30- Quan hệ bao hàm <<include>> giữa các usecase:
Ký hiệu: một lớp được mô tả gồm 3 thành phần:
Tên, các thuộc tính, các thao tác
using System;
public class PhieuMuon
{ private DocGia _dg;
}
using System;
public class DocGia
{ private PhieuMuon _pm;
}
Trang 31Hình 2 11 Mối kết hợp giữa các lớp
- Tên mối kết hợp: Giải thích rõ bản chất của kết hợp
Hình 2 12 Bản chất mối kết hợp giữa các lớp
- Bản số: Cho biết số lượng các đối tượng ở bên kia so với 1
đối tượng của đầu bên này của kết hợp
Whole tạo à part tạo
Whole hủy à part hủy
Hình 2 15 Quan hệ hợp thành
Các bản số : 1 1 ~ 1 0 * ~ * 1 *
0 1 m n