CƠ SỞ LÝ THUYẾT
2.1 Quy trình xây dựng phần mềm
Phân tích yêu cầu là quá trình xác định các yêu cầu cho hệ thống mới hoặc đã thay đổi, dựa trên nhu cầu sử dụng thực tế Công việc này đóng vai trò quan trọng trong sự thành công của dự án, vì các yêu cầu cần phải có tính đo được, có thể kiểm thử, liên quan đến các nhu cầu hoặc cơ hội kinh doanh đã xác định, và được định nghĩa với mức độ chi tiết đủ để phục vụ cho thiết kế hệ thống.
Quá trình phát triển phần mềm bao gồm việc giải quyết vấn đề và lập kế hoạch cho giải pháp phần mềm Sau khi xác định các mục tiêu và đặc điểm kỹ thuật, lập trình viên sẽ thiết kế hoặc thuê chuyên gia để phát triển kế hoạch cho phần mềm Quy trình này bao gồm các thành phần cấp thấp, giải quyết các vấn đề thuật toán và xây dựng khung kiến trúc.
Lập trình máy tính, hay còn gọi là lập trình, là quá trình cài đặt các thuật toán trừu tượng bằng ngôn ngữ lập trình để phát triển phần mềm Nó kết hợp yếu tố nghệ thuật, khoa học, toán học và kỹ thuật, tạo nên một lĩnh vực đa dạng và sáng tạo.
Các ngôn ngữ lập trình khác nhau hỗ trợ các phong cách lập trình đa dạng, và việc lựa chọn ngôn ngữ phù hợp là rất quan trọng để giải quyết bài toán cụ thể Mỗi ngôn ngữ yêu cầu lập trình viên xử lý các chi tiết ở mức độ khác nhau khi cài đặt thuật toán Sự thống nhất trong cách xử lý này không chỉ giúp tăng cường hiệu quả lập trình mà còn nâng cao hiệu suất của chương trình.
Kiểm thử phần mềm là quá trình đánh giá chất lượng sản phẩm hoặc dịch vụ, cung cấp thông tin hữu ích cho các bên liên quan Qua việc kiểm thử, doanh nghiệp có thể nhận được cái nhìn độc lập về phần mềm, từ đó đánh giá và hiểu rõ hơn về những rủi ro có thể xảy ra trong quá trình triển khai.
Việc kiểm thử phần mềm có thể diễn ra ở nhiều giai đoạn khác nhau, tùy thuộc vào phương pháp phát triển Trong phương pháp truyền thống, kiểm thử thường được thực hiện sau khi hoàn tất lập trình và xác định yêu cầu Ngược lại, trong phát triển Agile, kiểm thử diễn ra liên tục trong suốt quá trình xây dựng phần mềm, cho thấy sự linh hoạt và tích hợp của kiểm thử vào quy trình phát triển Mỗi phương pháp kiểm thử đều gắn liền với một quy trình phát triển phần mềm cụ thể.
Sau khi phần mềm được kiểm thử và sửa lỗi, nó sẽ được triển khai vào thực tế Đối với phần mềm thiết kế theo yêu cầu khách hàng, việc triển khai chủ yếu là hướng dẫn khách hàng sử dụng hiệu quả Đối với phần mềm thông dụng, triển khai bao gồm các chương trình giới thiệu và ra mắt sản phẩm Trong suốt quá trình triển khai, việc đánh giá hiệu quả sử dụng và xác định nhược điểm là rất quan trọng để lên kế hoạch cải tiến thiết kế phần mềm trong tương lai.
Bảo trì phần mềm là quá trình điều chỉnh các lỗi chưa phát hiện và nâng cấp tính năng, an toàn vận hành của phần mềm, chiếm 65%-75% công sức trong chu kỳ sống của nó Quá trình phát triển phần mềm bao gồm các giai đoạn như thu thập yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, triển khai và bảo trì Nhiệm vụ chính của giai đoạn bảo trì là giữ cho phần mềm luôn được cập nhật theo sự thay đổi của môi trường và yêu cầu người sử dụng.
2.2 Một số cấu trúc dữ liệu
Các cấu trúc dữ liệu thường sử dụng trong ứng dụng:
2.3 Nguyên lý lập trình hướng đối tượng
Bốn đặc trưng của lập trình hướng đối tượng:
Tính đóng gói là phương pháp bảo vệ các đặc tính xử lý bên trong của đối tượng, ngăn chặn việc các đối tượng khác tác động trực tiếp để thay đổi trạng thái Thay vào đó, chúng chỉ có thể tương tác thông qua các phương thức công khai (public methods) của đối tượng đó.
Kế thừa là một kỹ thuật quan trọng trong lập trình, cho phép một đối tượng nhận lại các tính năng từ một đối tượng khác Điều này giúp giảm thiểu việc lặp lại mã nguồn, đồng thời tối ưu hóa quy trình xử lý các công việc tương tự.
Tính đa hình : Là một đối tượng thuộc các lớp khác nhau có thể hiểu cùng một thông điệp theo cách khác nhau.
- Tính trừu tượng : Là phương pháp trừu tượng hóa định nghĩa lên những hành động, tính chất của loại đối tượng nào đó cần phải có.
2.4 Xử lý dữ liệu với tệp văn bản
- Cách nhập/xuất tệp tin trong C#:
Giúp thao tác với tập tin
2 FileStream: Được sử dụng để đọc và ghi vào bất kì vị trí nào trong File.
3 StreamReader: Được sử dụng để đọc các ký tự từ một luồng byte.
4 StreamWriter: Được sử dụng để ghi các ký tự cho một luồng.
5 MemoryStream: Được sử dụng để truy cập ngẫu nhiên vào luồng dữ liệu được lưu trữ trong bộ nhớ.
Open Text Mở Tệp Văn Bản
Create Tạo Tệp Văn Bản
Create Text Tạo Tệp Mới
Append Ghi Thêm Vào Cuối Tệp (Tạo tệp mới nếu chưa tồn tại).
Append Text Ghi Thêm Vào Cuối têp Văn Bản (Tạo tệp mới nêu chưa tồn tại.
Read Đọc dữ liệu một biến (Đối tượng).
ReadLine Đọc dữ liệu trên cùng một dòng.
Write Ghi Dữ Liệu Vào Tếp.
WriteLine Ghi Dữ Liệu Vào Tệp Rồi Xuống Dòng.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Mô tả các chức năng
Quản Lí Sinh Viên ( Mã SV,Tên SV,Ngày Sinh,SĐT, )
Tên Chức Năng Mô Tả
Nhập Thông Tin Cho phép nhập thông tin sinh viên cho sinh viên khoa CNTT.
Sửa Thông Tin Cho phép thay đổi cập nhật lại thông tin cho sinh viên cho khoa CNTT.
Hiển Thị Thông Tin Cho phép hiển thị thông tin sinh viên cho khoa
Tiếm Kiếm Sinh Viên Cho phép tìm kiếm thông tin thông qua mã sinh viên hoặc tên của sinh viên cho sinh viên khoa CNTT.
Xóa Sinh Viên Cho phép xóa thông tin sinh viên nếu sai sót hay thừa bỏ cho sinh viên khoa CNTT.
Quản Lí Giảng Viên ( Mã GV,Tên GV,Ngày Sinh,SĐT, )
Tên Chức Năng Mô Tả
Nhập Thông Tin Cho phép nhập thông tin giảng viên của khoa
Sửa Thông Tin Cho phép thay đổi cập nhật lại thông tin cho giảng viên của khoa CNTT.
Hiển Thị Thông Tin Cho phép hiển thị thông tin giảng viên của khoa
Tiếm Kiếm Sinh Viên Cho phép tìm kiếm thông tin thông qua mã giảng viên hoặc tên giảng viên của khoa CNTT.
Xóa Sinh Viên Cho phép xóa thông tin giảng viên nếu sai sót hay thừa bỏ cho sinh viên khoa CNTT.
Quản Lí Lớp ( Mã Lớp,Tên Lớp,MãGVCN ,MãLT, )
Tên Chức Năng Mô Tả
Nhập Thông Tin Cho phép nhập thông tin lớp của khoa CNTT.
Sửa Thông Tin Cho phép thay đổi cập nhật lại thông tin lớp của khoa CNTT.
Hiển Thị Thông Tin Cho phép hiển thị thông tin lớp của khoa CNTT.
Tiếm Kiếm Sinh Viên Cho phép tìm kiếm thông tin thông qua mã lớp hoặc tên lớp của khoa CNTT.
Xóa Sinh Viên Cho phép xóa thông tin lớp nếu sai sót hay thừa bỏ của khoa CNTT.
Quản Lí Học Phần( Mã HP,Tên HP, )
Tên Chức Năng Mô Tả
Nhập Thông Tin Cho phép nhập thông tin học phần
Sửa Thông Tin Cho phép thay đổi cập nhật lại thông tin học phần
Hiển Thị Thông Tin Cho phép hiển thị thông tin học phần
Tiếm Kiếm Sinh Viên Cho phép tìm kiếm thông tin học phần qua mã học phần hay tên học phần
Xóa Sinh Viên Cho phép xóa thông tin học phần nếu sai sót hay thừa bỏ.
Quản Lí Điểm ( Mã SV,MãHP,ĐiểmHK1 , )
Tên Chức Năng Mô Tả
Nhập Thông Tin Cho phép nhập thông tin điểm
Sửa Thông Tin Cho phép thay đổi cập nhật lại điểm
Hiển Thị Thông Tin Cho phép hiển thị điểm
Xóa Sinh Viên Cho phép xóa thông tin điểm nếu sai sót hay thừa bỏ cho sinh viên khoa CNTT.
3.2 Thiết kế cấu trúc dữ liệu a) Đối tượng và thuộc tính của đối tượng Đối Tượng Thuộc Tính
Giảng Viên Mã Giảng Viên
Học Phần Mã Học Phần
Số Tín Chỉ Điểm Mã Sinh Viên
Học Lực b) Thiết kế cấu trúc dữ liệu
Tên Trường Kiểu Dữ Liệu Kích Thước Ràng Buộc Chú Thích
Mã Sinh Viên string 10 Primary key Duy nhất
Giới Tính string 3 Not null “Nam” or”Nữ”
Ngày Sinh string 10 Not null Dd/mm/yyyy Địa Chỉ string 30 Not null
Số Điện Thoại string 10 Not null
Mã Lớp string 10 Primary key
Tên Lớp string 20 Not null
Mã LT string 10 Not null
Mã GVCN string 10 Not null
Mã GV string 19 Primary key
Tên GV string 20 Not null Địa Chỉ string 30 Not null
Số Điện Thoại string 10 Not null
Mã HP string 10 Primary key
Tên HP string 20 Not null
Số TC int 2 Not null Điểm HK1 double 2 Not null 0 => 10 Điểm HK2 double 2 Not null 0 => 10
Học Lực string 2 Not null Y/TB/K/T/SX
Hạnh Kiểm string 2 Not null Y/TB/K/T
Ta dùng giao diện Console App để thiết kế
XÂY DỰNG ỨNG DỤNG
Kiểm thử
Thực thi và kiểm tra tất cả các chức năng để đảm bảo đáp ứng yêu cầu là rất quan trọng Quá trình này bao gồm việc xây dựng và mô tả dữ liệu, cũng như hành động cho các đầu vào và kết quả đầu ra.