.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích thiết kế hệ thống thông tin quản lý kết quả đào tạotheo hướng đối tượng trường cao đẳng hải dương (Trang 90)

4.6 Biểu đồ thành phần

Biểu đồ thành phần (Component Diagram) là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống. Các thành phần của hệ thống có thể là:

- Thành phần mã nguồn, có ý nghĩa vào thời điểm dịch chƣơng trình. Thông thƣờng nó là tập các chƣơng trình cài đặt các lớp. Ví dụ, trong C++, mỗi tệp .cpp và .h là một thành phần. Trƣớc khi phát sinh mã chƣơng trình, phải thực hiện ánh xạ từng tệp vào thành phần tƣơng ứng, thông thƣờng mỗi lớp đƣợc ánh xạ vào hai tệp (.cpp, và .h). - Thành phần mã nhị phân là mã trình nhị phân đƣợc dịch từ mã chƣơng trình nguồn. Nó có thể là tệp mã đích (.obj), tệp thƣ viện tĩnh (.lib) hay tệp thƣ viện động (.dll). Thành phần nhị phân đƣợc sử dụng để liên kết, hoặc để thực thi chƣơng trình (đối với thƣ viện động). [3]

- Thành phần thực thi là tệp chƣơng trình có thể thực thi đƣợc (các tệp .exe). Nó là kết quả của chƣơng trình liên kết các thành phần nhị phân.

Với biểu đồ thành phần, ngƣời phát triển hệ thống thực hiện dịch, triển khai hệ thống sẽ biết thƣ viện mã trình nào tồn tại và những tệp có thể thực thi (.exe) khi dịch và liên kết thành công. Giữa các thành phần chỉ có một loại quan hệ phụ thuộc đƣợc biểu diễn bằng đƣờng mũi tên đứt nét. Kết nối phụ thuộc cho biết thành phần phụ thuộc phải dịch sau thành phần kia. Lƣu ý, nên tránh phụ thuộc vòng trong biểu đồ thành phần.

Quan ly diem Quan ly ho so sinh vien Giao dien nguoi quan ly Quan ly tot nghiep Co so du lieu Hình 4.28 Biểu đồ thành phần chƣơng trình 4.7 Biểu đồ triển khai

Biểu đồ triển khai (Deployment Diagram) chỉ ra cấu hình các phần tử xử lý lúc chƣơng trình chạy, các nút trên mạng và các tiến trình phần mềm thực hiện trên những phần tử đó. Nó chỉ ra mối quan hệ giữa các phần cứng và phần mềm của hệ thống. Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng. Mỗi nút là một đối tƣợng vật lý (các thiết bị) có tài nguyên tính toán.

Các phần tử (nút) của biểu đồ triển khai:

- Bộ xử lý (Processor): bộ xử lý của máy tính, máy chủ, trạm làm việc,... Các bộ xử lý đƣợc đặc tả chi tiết bằng cách bổ sung thêm các thông tin:

- Thiết bị: là máy móc hay bộ phận phần cứng nhƣng không phải là bộ xử lý trung tâm, nhƣ: màn hình, máy in, máy vẽ, v.v. Thiết bị cũng có thể đặc tả một số thông tin chi tiết nhƣ: Stereotype và một số tính chất vật lý.

- Tiến trình (Process) là luồng thực hiện của một chƣơng trình trong một bộ xử lý. Một chƣơng trình thực thi đƣợc xem nhƣ là một tiến trình. Các tiến trình thƣờng đƣợc gán các mức ƣu tiên và bộ xử lý sẽ thực hiện những tiến trình có mức ƣu tiên cao hơn.

Giao vien Server Phong dao tao Application

Database

CHƢƠNG 5

CÀI ĐẶT CHƢƠNG TRÌNH QUẢN LÝ KẾT QUẢ ĐÀO TẠO 5.1 Ngôn ngữ lập trình C#.

Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mƣời mấy kiểu dữ liệu đƣợc xây dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. 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. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Và ngôn ngữ C# hội đủ những điều kiện nhƣ vậy, hơn nữa nó đƣợc xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.

Ngôn ngữ C# đƣợc phát triển bởi đội ngũ kỹ sƣ của Microsoft, trong đó ngƣời dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai ngƣời này điều là những ngƣời nổi tiếng, trong đó Anders Hejlsberg đƣợc biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến. Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trƣờng phát triển tích hợp (IDE) cho lập trình client/server.

Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều đƣợc tìm thấy trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống nhƣ trong ngôn ngữ C++. Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp.

C# cũng hỗ trợ giao diện, nó đƣợc xem nhƣ một cam kết với một lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa nhƣ trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện.

Trong ngôn ngữ C#, những cấu trúc cũng đƣợc hỗ trợ, nhƣng khái niệm về ngữ nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc đƣợc giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp. Một cấu trúc thì không thể kế thừa từ một lớp hay đƣợc kế thừa nhƣng một cấu trúc có thể thực thi một giao diện.

Ngôn ngữ C# cung cấp những đặc tính hƣớng thành phần (component oriented), nhƣ là những thuộc tính, những sự kiện. Lập trình hƣớng thành phần đƣợc hỗ trợ bởi CLR cho phép lƣu trữ metadata với mã nguồn cho một lớp. Metadata mô tả cho một lớp, bao gồm những phƣơng thức và những thuộc tính của nó, cũng nhƣ những sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó.. Do vậy, một lớp đƣợc biên dịch nhƣ là một khối self-contained, nên môi trƣờng hosting biết đƣợc cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác

để sử dụng nó.

Một lƣu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử. Các mã nguồn này là không an toàn (unsafe). Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tƣợng đƣợc tham chiếu bằng sử dụng con trỏ cho đến khi chúng đƣợc giải phóng.

Tại sao phải sử dụng ngôn ngữ C#

Nhiều ngƣời tin rằng không cần thiết có một ngôn ngữ lập trình mới. Java, C++, Perl, Microsoft Visual Basic, và những ngôn ngữ khác đƣợc nghĩ rằng đã cung cấp tất cả những chức năng cần thiết.

Ngôn ngữ C# là một ngôn ngữ đƣợc dẫn xuất từ C và C++, nhƣng nó đƣợc tạo từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại ở đó, Microsoft đƣa ra một số mục đích khi xây dựng ngôn ngữ này. Những mục đích này đƣợc đƣợc tóm tắt nhƣ sau:

- C# là ngôn ngữ đơn giản - C# là ngôn ngữ hiện đại

- C# là ngôn ngữ hƣớng đối tƣợng - C# là ngôn ngữ mạnh mẽ và mềm dẻo

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). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các ngƣời phát triển C++. Nếu chúng ta là ngƣời học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó! Nhƣng khi đó ta sẽ không biết đƣợc hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên.

Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta 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. Một vài trong các sự cải tiến là loại bỏ các dƣ thừa, hay là thêm vào những cú pháp thay đổi. Ví dụ nhƣ, trong C++ có ba toán tử làm việc với các thành viên là ::, . , và ->. Để biết khi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn. Trong C#, chúng đƣợc thay thế với một toán tử duy nhất gọi là . (dot). Đối với ngƣời mới học thì điều này và những việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn.

Đ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. Nếu là ngƣời mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và khó hiểu. Tuy nhiên, cũng đừng lo lắng chúng ta sẽ dần dần đƣợc tìm hiểu những đặc tính qua các chƣơng trong cuốn sách này.

C# là ngôn ngữ hướng đối tượng

Những đặc điểm chính của ngôn ngữ hƣớng đối tƣợng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả những đặc tính trên.

C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo

Nhƣ đã đề cập trƣớc, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tƣởng tƣợng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C# đƣợc sử dụng cho nhiều các dự án khác nhau nhƣ là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác.

5.2 Hệ quản trị CSDL SQL 5.2.1 Các module chƣơng trình 5.2.1 Các module chƣơng trình

- Modul cập nhật dữ liệu : cập nhật các dữ liệu đầu vào ( tạo nguyên liệu cho hệ thống) gồm các loại cập nhật sau

+ Cập nhật thông tin sinh viên : Cập nhật khi công tác tuyển sinh đã hoàn thành, có đƣợc bản danh sách sinh viên trúng tuyển với một số thông tin cơ bản về sinh viên nhƣ : Tên, NS, Quê quán...Hệ, Ngành... vv. Thông tin sinh viên đƣợc nhập vào hệ thống qua chức năng Quản lý hồ sơ.

+ Cập nhật điểm TBC và phân loại rèn luyện các học kỳ và kỳ thực tập : định kỳ các học kỳ, tất cả các GVCN phải căn cứ vào điểm các môn học với các hệ số quy định để tính ra điểm trung bình chung của học kỳ cho mỗi sinh viên và họp lớp chủ nhiệm để đánh giá phân loại rèn luyện (A,B,C) và nhập vào hệ thống qua chức năng Quản lý học tập và rèn luyện.

+ Cập nhật điểm thi tốt nghiệp : kết thúc khoá học, căn cứ vào điểm TBC và kết quả rèn luyện các học kỳ và kỳ thực tập để xét điều kiện dự thi tốt nghiệp. Kết quả xét điều kiện dự thi tốt nghiệp sẽ đƣợc chuyển cho Phòng Khảo thí tổ chức thi, chấm. Kết quả các môn thi (tối đa 3 môn) sẽ đƣợc cán bộ Phòng Khảo thí nhập vào hệ thống qua chức năng Quản lý tốt nghiệp.

+ Các cập nhật khác : Các dữ liệu phục vụ cho quá trình nhập liệu và xử lý nhƣ : cập nhật mã và tên các tỉnh, TP; cập nhật họ và tên, số điện thoại GVCN; cập nhật mã và tên của hệ, ngành, lớp, học kỳ, năm học

- Modul xử lý dữ liệu : Các dữ liệu đầu vào ở trên sẽ đƣợc xử lý qua chức năng này (chế biến) để trở thành các thông tin đầu ra có ý nghĩa đối với công tác quản lý.

+ Xét học bổng theo học kỳ : nhập các tiêu chuẩn xét học bổng, đối chiếu với điểm TBC và phân loại rèn luyện của học kỳ : nếu đủ điều kiện thì lấy mức học phí phải đóng để xác định mức học bổng. Về khía cạnh quản lý chúng ta không quan tâm tới số sinh viên không đƣợc học bổng.

+ Xét lên lớp theo năm học : nhập các tiêu chuẩn xét lên lớp, đối chiếu với điểm TBC và phân loại rèn luyện của năm học : nếu đủ điều kiện thì đánh "dấu tích" vào cột lên lớp. Số sinh viên lƣu ban sẽ đƣợc lƣu trữ để đƣa vào danh sách khoá sau.

+ Xét điều kiện dự thi tốt nghiệp : nhập các tiêu chuẩn xét điều kiện dự thi tốt nghiệp, đối chiếu với kết quả xét lên lớp các năm học. Nếu đủ điều kiện thi tốt nghiệp thì đánh "dấu tích" vào cột điều kiện thi TN. Số sinh viên không đủ điều kiện sẽ đƣợc lƣu trữ để thi lại cùng khoá sau.

+ Xét tốt nghiệp : nhập tiêu chuẩn xét tốt nghiệp, đối chiếu với điểm TB của các môn thi và điểm TBC của các năm học để phân loại kết quả tốt nghiệp "Giái"; "Khá"; "TB Khá"...Những sinh viên không tôt nghiệp sẽ đƣợc luu trữ để chuyển thi lại cùng khoá sau.

- Modul tìm kiếm dữ liệu và xem, in : Tìm kiếm các loại thông tin, dữ liệu về sinh viên, điểm số, giáo viên chủ nhiệm, các kết quả xét duyệt. Có thể xem trên màn hình hoặc in các kết quả tìm kiếm.

+ Tìm kiếm sinh viên theo Mã số sinh viên

+ Tìm kiếm sinh viên theo tên hoặc tên kết hợp với lớp

+ Xem, in hồ sơ lý lịch của 1 sinh viên hoặc của một lớp sinh viên,1 ngành, 1 hệ... + Xem, in điểm TBC của 1 sinh viên, 1 lớp theo từng học kỳ, từng năm học.

+ Xem, in các kết quả xét duyệt (lên lớp, đƣợc học bổng, loại tốt nghiệp) của 1 sinh viên, 1 lớp.

5.2.1 Hệ quản trị CSDL SQL

Mỗi một database trong SQL Server đều chứa ít nhất một data fiele chính (primary), có thể có thêm một hay nhiều data file phô (Secondary) và một transaction log file.

- Primary data file (thƣờng có phần mở rộng là: .mdf) đây là file chính chứa data và những system tables.

- Secondary data file (thƣờng có phần mở rộng .ndf) đây là file phô thƣờng chỉ sử dụng khi database đƣợc phân chia để chứa trên nhiều đĩa.

- Transaction log file ( thƣờng có phần mở rộng là : .ldf ) đây là file ghi lại tất cả những thay đổi diễn ra trong một database và chứa đầy đủ thông tin để có thể roll back hay roll forward khi cần.

Trƣớc khi SQL Server muốn lƣu data vào một table nó cần phải dành riêng một khoảng trống trong data file cho table đó. Những khoảng trống đó chính là các extents. Có 2 loại extents : mixed extents ( loại hỗn hợp ) dùng để chứa data của nhiều tables trong cùng một extent và uniform extent ( loại thuần nhất ) dùng để chứa data của một

table. Đầu tiên SQL Server dành các page trong mixed extent để chứa data cho một table, sau đó khi data tăng trƣởng thì SQL dành hẳn một uniform extent cho table đó.

5.3. Thiết kế các Form

KẾT LUẬN I. Những kết quả đạt đƣợc của đề tài :

- Nắm đƣợc phƣơng pháp luận trong phân tích và thiết kế hệ thống thông tin theo hƣớng đối tƣợng. Các quy trình của kỹ nghệ phần mềm hƣớng đối tƣợng.

- Đã cơ bản hoàn thành các bƣớc trong phân tích và thiết kế hệ thống. Xây dựng đƣợc hệ thống thông tin quản lý kết quả đào tạo tại trƣờng Cao đẳng Hải Dƣơng với một số chức năng chính.

- Hệ thống về cơ bản đã đáp ứng đƣợc yêu cầu tăng cƣờng đƣa công nghệ thông tin vào quản lý kết quả đào tạo trong nhà trƣờng. Đảm bảo xử lý nhanh, chính xác và thuận tiện trong một số tra cứu và một số nghiệp vụ quản lý kết quả đào tạo.

II. Những hạn chế :

- Các thông tin, dữ liệu về hồ sơ sinh viên còn hạn chế, chƣa có một số thuộc

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích thiết kế hệ thống thông tin quản lý kết quả đào tạotheo hướng đối tượng trường cao đẳng hải dương (Trang 90)