Bài tập lớn Nhập môn công nghệ phần mềm. Contribute to ngocdon0127/it4080 development by creating an account on GitHub.
chương 0. giới thiệu môn học (thường),chương 01,chương 08-01-a. xác định và mô hình hóa yêu cầu,chương 08-01-b. hệ thống các yêu cầu phần mềm,chương 08-03. thiết kế dữ liệu,chương 08-04-a. thiết kế màn hình,chương 08-04-c. thiết kế màn hình tra cứu,chương 08-04-d. thiết kế màn hình thực đơn,chương 08-05-minh
Nhập môn Công nghệ phần mềm. Tìm kiếm trang web này. Trang chủ. Bài giảng. Bài tập lý thuyết. Bài tập thực hành. Tài liệu tham khảo.
Đề học sinh giỏi Toán 9 năm 2022 – 2023 trường THCS Nghi Thủy – Nghệ An. THCS.TOANMATH.com giới thiệu đến quý thầy, cô giáo và các em học sinh lớp 9 đề thi chọn học sinh giỏi môn Toán 9 năm học 2022 – 2023 trường THCS Nghi Thủy, huyện Cửa Lò, tỉnh Nghệ An. Unexpected server
Kỹ Năng Mềm; Mẫu Slide; Kinh Doanh - Tiếp Thị; Kinh Tế - Quản Lý; Tài Chính - Ngân Hàng; Biểu Mẫu - Văn Bản; Giáo Dục - Đào Tạo; Giáo án - Bài giảng; Công Nghệ Thông Tin; Kỹ Thuật - Công Nghệ; Ngoại Ngữ; Khoa Học Tự Nhiên; Y Tế - Sức Khỏe; Văn Hóa - Nghệ Thuật; Nông - Lâm
mình dùng case study của thầy Nguyễn Mạnh Hùng ôn tập cho chuẩn: https://softwaredesign.home.blog/tutorials/hotel-reservation-management-application
OhXl3y. Nội dung Text Bài tập thực hành Nhập môn Công nghệ phần mềm Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm NỘI DUNG THỰC HÀNH Ngôn ngữ C.NET Môi trường lập trình Visual studio .NET Hệ quản trị CSDL SQL Server. Đánh giá Hình thức Nộp đồ án báo cáo + source code của phần mềm + thi vấn đáp trực tiếp trên máy dựa trên các đề tài mà giáo viên lý thuyết đề nghị hoặc các em tự đề xuất. Tiêu chí Phần mềm của các bạn phải thoả các tính chất sau 1. Tính đúng đắn 2. Tính tiện dụng 3. Tính hiệu quả 4. Tính tiến hóa 5. Tính bảo mật Nội dung 1. Thiết kế dữ liệu Tạo bảng, khóa, quan hệ. 2. Thiết kế giao diện a. Màn hình chính + thực đơn b. Màn hình đăng nhập, thay đổi qui định c. Màn hình nhập Danh mục, 1- Nhiều và Nhiều - nhiều d. Màn hình tra cứu 3. Kết nối CSDL 4. Debug Chương trình. 5. Cài đặt các hàm xử lý a. Thêm, Xóa, Cập nhật và Lấy dữ liệu. b. Tính toán theo nghiệp vụ bài toán. 6. Tạo report Crystal report 7. Tạo help 8. Đóng gói chương trình. Thời gian thực hành - Trong 2 tuần đầu giáo viên hướng dẫn sinh viên làm bài tập phần căn bản. - Trong 7 tuần tiếp theo giáo viên hướng dẫn sinh viên xây dựng phần mềm quản lý thư viện các phần tương tự sinh viên tự thực hiện. - Tuần cuối cùng sinh viên nạp bài và giáo viên hỏi vấn đáp trực tiếp. 1 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Phần 1. bài tập căn bản Bài 1. Viết chương trình theo yêu cầu sau Thực hiện các yêu cầu sau - Khi nhấn nút “Tính”, chương trình sẽ giải phương trình bậc 2, và hiển thị kết qủa trong textbox kết quả X1 hoặc X2. - Khi nhấn nút “Bỏ qua” các textbox sẽ được xóa trắng, con trỏ sẽ chuyển về textbox A. - Khi nhấn nút “Thoát” chương trình sẽ kết thúc. Bài 2. Xây dựng chương trình thao tác với Listbox như sau Yêu cầu - Chỉ cho nhập số vào textbox Nhập số - Khi nhập dữ liệu vào textbox Nhập số và nhấn Enterhoặc click vào Cập Nhật thì số mới nhập này được thêm vào Listbox đồng thời dữ liệu trong textbox bị xóa và focus được chuyển về textbox - Khi nhấn vào các phím chức năng, yêu cầu sẽ được thực hiện trên listbox 2 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm *Bài 3 Bài tập làm thêm Xây dựng chương trình nhập danh sách sinh viên theo yêu cầu Yêu cầu - Nút > dùng để di chuyển các mụccòn gọi là item được chọn từ listbox trái qua listbox phải và ngược lại cho > dùng để di chuyển tất cả các mụckể cả không được chọn từ listbox trái qua listbox phải và ngược lại cho Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm * Bài 5 Bài tập làm thêm. Xây dựng chương trình xử lý chuỗi sau Yêu cầu - Khi vừa mở form chỉ có nút Thoát là sử dụng được, textbox nhập dữ liệu nhận focus - Khi textbox nhập dữ liệu vừa được nhập thì các nút sáng lên, đồng thời nếu xóa hết dữ liệu trong textbox nhập thì các nút cũng mờ đi ngoại trừ nút Thoát=> viết trong sự kiện change của textbox - Khi các nút chức năng được nhấn thì kết quả sẽ hiển thị bên textbox Kết quả Hướng dẫn Tìm kiếm Instrvị trí bắt đầu tìm, chuỗi chứa, chuỗi cần tìm, phân biệt hoa thường hay ko Thay thế Replacechuỗi chứa, chuỗi tìm, chuỗi thay thế, vị trí bắt đầu, số lần tìm và thay thế, phân biệt hoa thường Trả về chuổi mới đã được thay thế 4 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Bài 6 Thao tác với listview STT Tên Control Loại Tên hàm xử lý 1 lsvNhanVien ListView lsvNhanVien_SelectedIndexChanged 2 txtHoTen TextBox 3 dtpNgaySinh DateTimePicker 4 txtDiaChi TextBox 5 txtDienThoai TextBox 7 btnThem Button btnThem_Click 8 btnXoa Button btnXoa_Click 9 btnLuu Button btnLuu_Click 10 btnSua Button btnSua_Click 11 btnHuy Button btnHuy_Click 12 btnThoat Form btnThoat_Click 13 frmNhanVien Form frmNhanVien_Load Yêu cầu Nhập thông tin vào phần “thông tin chi tiết”, khi nhấn các nút lệnh sẽ thực hiện như sau 5 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm 1. Nút Thêm Thêm các thông tin vào listview Chú ý kiểm tra thông tin họ tên nhân viên không được rỗng, nếu rỗng thì không cho thêm 2. Nút Xóa Xóa 1 dòng trên listview chú ý nếu người dùng chưa chọn 1 dòng trên listview thì yêu cầu người dùng phải chọn rồi mới xóa 3. Nút Sửa Sửa 1 dòng trên listview 4. Thoát thoát khỏi chương trình Khi chọn 1 dòng trên listview thì nội dung của dòng được chọn sẽ được thể hiện trên các ô “Thông tin chi tiết” Chú ý kiểm tra thông tin họ tên nhân viên không được rỗng, nếu rỗng thì không cho thêm Hướng dẫn Bấm vào để hiện ra menu tùy chỉnh của listview, chọn Edit Columns Thêm các tiêu đề cột cho listview 1. Thiết lập các tham số cho listview a. FullRowSelect = true;//cho phép chọn 1 dòng b. View = phép hiển thị thông tin chi tiết, bao gồm các tiêu đề c. Columns[“Tên Cột”].AutoResize //cho phép tự động resize cột khi nội dung dài 2. Thêm vào 1 dòng cho listview sử dụng ListViewItem ListViewItem lvi = 6 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm 3. Chọn 1 dòng trên listview sử dụng sự kiện lsvNhanVien_SelectedIndexChanged Chú ý dùng 1 biến index để lưu lại dòng đang chọn if > 0//kiểm tra listview đã có dòng được chọn hay chưa? { = = = = } 4. Nhấn nút xóa Dùng phương thức remove hoặc removeAt của listview if > 0//kiểm tra listview đã có dòng được chọn hay chưa? { } 5. Nhấn nút sửa Cập nhật lại thông tin cho listview if > 0 { = = = = } 7 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Phần 2. LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU BÀI 1. LÀM VIỆC VỚI MICROSOFT SQL SERVER 2005 2008 Lưu ý o Để cài đặt SQL Server 2005 chạy trên HĐH Window XP các bạn mua version SQL Server 2005 Developer Edition hoặc sử dụng version SQL Server 2005 Express Edition kèm theo đĩa cài đặt Visual Studio 2005. o Để có thể đăng nhập vào SQL Server bằng 2 cách Windows Authentication và SQL Server Authentication các bạn phải chọn chế độ Mixed Mode khi cài đặt. Các bạn xem file “Sams Teach Yourself Microsoft SQL Server™ 2005 Express in 24 để học cách cài đặt cũng như làm việc với SQL Server 2005. 1. Tạo Database Mở “SQL Server Management Studio” & Kết nối SQL Server Khi cài đặt các bạn chọn Mixed Mode thì bây giờ các bạn có thể “Connect to Server” bằng 2 cách Windows Authentication và SQL Server Authentication. Trong bài tập, chúng ta sẽ sử dụng chế độ Windows Authentication để dễ dàng thực hiện, tuy nhiên trong thực tế, các bạn phải luôn luôn chọn SQL Server Authentication để tăng độ bảo mật cho Phần mềm. Database có sơ đồ như sau 8 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Lệnh SQL để tạo Database CREATE DATABASE QLTHUVIEN USE QLTHUVIEN GO -Tạo bảng Tham số CREATE TABLE [THAMSO] [TenThamSo] [nvarchar]40 NOT NULL, [GiaTri] [int] NULL, CONSTRAINT [PK_THAMSO] PRIMARY KEY TenThamSo -Tạo bảng Bằng cấp CREATE TABLE [BANGCAP] [MaBangCap] int Identity1,1, [TenBangCap] [nvarchar]40 NULL, CONSTRAINT [PK_BANGCAP] PRIMARY KEY MaBangCap -Tạo bảng Nhân viên CREATE TABLE [NHANVIEN] [MaNhanVien] int Identity1,1, [HoTenNhanVien] [nvarchar]50 NULL, [NgaySinh] [datetime] NULL, [DiaChi] [nvarchar]50 NULL, [DienThoai] [nvarchar]15 NULL, [MaBangCap] [int] NULL, CONSTRAINT [PK_NHANVIEN] PRIMARY KEY MaNhanVien -Tạo bảng Độc giả 9 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm CREATE TABLE [DOCGIA] [MaDocGia] int Identity1,1, [HoTenDocGia] [nvarchar]40 NULL, [NgaySinh] [datetime] NULL, [DiaChi] [nvarchar]50 NULL, [Email] [nvarchar]30 NULL, [NgayLapThe] [datetime] NULL, [NgayHetHan] [datetime] NULL, [TienNo] [float] NULL, CONSTRAINT [PK_DOCGIA_1] PRIMARY KEY MaDocGia -Tạo bảng Phiếu thu tiền CREATE TABLE [PHIEUTHUTIEN] [MaPhieuThuTien] int Identity1,1, [SoTienNo] [float] NULL, [SoTienThu] [float] NULL, [MaDocGia] [int] NULL, [MaNhanVien] [int] NULL, CONSTRAINT [PK_PHIEUTHUTIEN] PRIMARY KEY MaPhieuThuTien -Tạo bảng Sách CREATE TABLE [SACH] [MaSach] int Identity1,1, [TenSach] [nvarchar]40 NULL, [TacGia] [nvarchar]30 NULL, [NamXuatBan] [int] NULL, [NhaXuatBan] [nvarchar]40 NULL, [TriGia] [float] NULL, [NgayNhap] [datetime] NULL, CONSTRAINT [PK_SACH] PRIMARY KEY MaSach -Tạo bảng Phiếu mượn sách CREATE TABLE [PHIEUMUONSACH] [MaPhieuMuon] int Identity1,1, [NgayMuon] [datetime] NOT NULL, [MaDocGia] [int] NULL, CONSTRAINT [PK_PHIEUMUONSACH] PRIMARY KEY MaPhieuMuon -Tạo bảng Chi tiết phiếu mượn CREATE TABLE [CHITIETPHIEUMUON] [MaSach] [int] NOT NULL, [MaPhieuMuon] [int] NOT NULL, CONSTRAINT [PK_CHITIETPHIEUMUON] PRIMARY KEY MaSach,MaPhieuMuon -Tạo khoá ngoại ALTER TABLE [NHANVIEN] WITH NOCHECK ADD CONSTRAINT [FK_NHANVIEN_BANGCAP] FOREIGN KEY[MaBangCap] REFERENCES [BANGCAP] [MaBangCap] ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [NHANVIEN] CHECK CONSTRAINT [FK_NHANVIEN_BANGCAP] GO ALTER TABLE [PHIEUTHUTIEN] WITH CHECK ADD CONSTRAINT [FK_PHIEUTHUTIEN_DOCGIA] FOREIGN KEY[MaDocGia] REFERENCES [DOCGIA] [MaDocGia] GO ALTER TABLE [PHIEUTHUTIEN] CHECK CONSTRAINT [FK_PHIEUTHUTIEN_DOCGIA] GO ALTER TABLE [PHIEUTHUTIEN] WITH CHECK ADD CONSTRAINT [FK_PHIEUTHUTIEN_NHANVIEN] FOREIGN KEY[MaNhanVien] REFERENCES [NHANVIEN] [MaNhanVien] 10 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [PHIEUTHUTIEN] CHECK CONSTRAINT [FK_PHIEUTHUTIEN_NHANVIEN] GO ALTER TABLE [PHIEUMUONSACH] WITH CHECK ADD CONSTRAINT [FK_PHIEUMUONSACH_DOCGIA] FOREIGN KEY[MaDocGia] REFERENCES [DOCGIA] [MaDocGia] ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [PHIEUMUONSACH] CHECK CONSTRAINT [FK_PHIEUMUONSACH_DOCGIA] GO ALTER TABLE [CHITIETPHIEUMUON] WITH CHECK ADD CONSTRAINT [FK_CHITIETPHIEUMUON_PHIEUMUONSACH] FOREIGN KEY[MaPhieuMuon] REFERENCES [PHIEUMUONSACH] [MaPhieuMuon] GO ALTER TABLE [CHITIETPHIEUMUON] CHECK CONSTRAINT [FK_CHITIETPHIEUMUON_PHIEUMUONSACH] GO ALTER TABLE [CHITIETPHIEUMUON] WITH CHECK ADD CONSTRAINT [FK_CHITIETPHIEUMUON_SACH] FOREIGN KEY[MaSach] REFERENCES [SACH] [MaSach] ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [CHITIETPHIEUMUON] CHECK CONSTRAINT [FK_CHITIETPHIEUMUON_SACH] 2. Nhập dữ liệu cho các bảng a. Cách 1 Thực hiện câu lệnh Insert insert into BANGCAP valuesN'TIẾN SĨ' insert into BANGCAP valuesN'THẠC SĨ' insert into BANGCAP valuesN'ẠI HỌC' insert into BANGCAP valuesN'CAO ẲNG' insert into BANGCAP valuesN'TRUNG CẤP' insert into NHANVIEN valuesN'PHẠM ĐÀO MINH VŨ','01/24/1980',N'163/30 Thành Thái TPHCM','0905646162',1 insert into NHANVIEN valuesN'NGUYỄN MINH THÀNH','04/05/1983',N'41/4 CALMETTE Q1 TPHCM','0908373612',2 insert into NHANVIEN valuesN'NGUYỄN HÀ MY','04/13/1985',N'178 NAM KỲ KHỞI NGHĨA Q4 TPHCM','0908783274',3 insert into DOCGIA valuesN'NGUYỄN HOÀNG MINH','02/23/1990',N'41/4 CALMETTE Q1 TPHCM',N'hoangminh insert into DOCGIA valuesN'TRẦN VÃN CHÂU','08/29/1992',N'TRẦN HÝNG ẠO Q1 TPHCM',N'vanchau insert into SACH valuesN'NHAP MON CNPM',N'PHẠM ÀO MINH VŨ',2007,N'NXB THỐNG KÊ',70000,'12/18/2008' insert into SACH valuesN'KỸ THUẬT LẬP TRÌNH',N'TRẦN MINH THÁI',2005,N'NXB GIÁO DỤC',50000,'02/12/2006' insert into SACH valuesN'CÔNG NGHỆ WEB',N'PHẠM ÀO MINH VŨ',2009,N'NXB TRẺ',90000,'12/01/2009' Làm tương tự cho các bảng còn lại dựa theo file đính kèm. 11 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Chú ý Chúng ta luôn luôn sử dụng lệnh để tạo Database và Dữ liệu phòng khi có vấn đề thì ta sẽ nhanh chóng tạo dựng lại được b. Cách 2 Tạo database QLThuVien mới rỗng. Right click lên database ThuVien chọn Task\Import Data… Chọn Data Source, File name và click Next. Chọn Destination, Server name nếu bạn dùng máy local có thể đánh vào dấu „.‟ Connect bằng Windows hay SQL Server Authentication là tuỳ bạn và click Next. 12 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Chọn Copy data from…click Next. Chọn Select All…và click Next. Click Next, Finish. 13 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Kết quả như sau 3. Backup & Restore Database Việc mang 1 database từ máy này sang máy khác rất thường xuyên xảy ra ví dụ chép bài từ trường về nhà và chép bài từ nhà lên trường,…. Có 2 cách để làm việc này 1. Attach database a. Chép 2 file C\Program files\Microsoft SQL Server\ C\Program files\Microsoft SQL Server\ b. Attach 2 file trên vào SQL Server khác máy khác. 2. Backup & Restore Backup o Right click lên database QLThuVien cần backup, chọn Task\Back Up… 14 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm o SQL Server sẽ mặc định backup database thư viện vào file theo đường dẫn mặc định sau C\Program files\Microsoft SQL Server\ o Nhấn Ok để backup, sau đó chép file sang máy mới SQL Server khác để Restore. o Trong trường hợp muốn back up với 1 đường dẫn khác thì remove đường dẫn trên và Add lại đường dẫn mới muốn back up đến. Restore o Đầu tiên tạo database QLThuVien trong SQL Management Studio o Right click lên database vừa tạo, chọn Task\Restore\Database 15 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm o Chọn From device chỉ đến file 16 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm 17 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Bài 2. GIAO TIẾP CƠ SỞ DỮ LIỆU Bài Giao tiếp CSDL với mô hình 1 lớp Để load thông tin của nhân viên từ table NHANVIEN cũng như là thêm, cập nhật, xóa,.. thì ta cần thực hiện như sau public partial class frmNhanVien Form { SqlConnection sqlConn;//khai báo biến connection SqlDataAdapter da; //khai báo biến dataAdapter DataSet ds = new DataSet;//khai báo 1 dataset public string srvName = "."; //chỉ định tên server public string dbName = "QLTHUVIEN";//chỉ định tên CSDL void KetnoiCSDL//thực hiện kết nối bằng chuỗi kết nối { string connStr = "Data source=" + srvName + ";database=" + dbName + ";Integrated Security = True"; sqlConn = new SqlConnectionconnStr; } DataTable layDanhSachNhanVien//lấy danh sách nhân viên { string sql = "Select * from NhanVien"; da = new SqlDataAdaptersql, sqlConn; return } 18 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm void LoadListview { = true;//cho phép chọn 1 dòng = phép hiển thị thông tin chi tiết, bao gồm các tiêu đề DataTable dt = layDanhSachNhanVien; for int i = 0; i < i++ { ListViewItem lvi = thứ i, tên cột là nhân viên chỉ số cột dòng thứ i,cột thứ 1 } } private void btnThem_Clickobject sender, EventArgs e { string sql = into NhanVien values{0},{1},{2},{3},{4},{5}", 1; SqlCommand cmd = new SqlCommandsql, sqlConn; } …. Qua đây, chúng ta thấy rằng khi dùng mô hình 1 lớp kết nối CSDL thì không có sự phân loại trong khi cài đặt. Code xử lý lưu trữ sql, code xử lý nghiệp vụ và code xử lý thể hiện nằm chung với nhau, làm chương trình rất khó quản lý. Để khắc phục các nhược điểm trên, chúng ta chuyển sang mô hình 3 lớp. Chúng ta sẽ thực hiện ở phần kế tiếp. 19 Bài tập thực hành Nhập Môn Công Nghệ Phần Mềm Bài Tạo Form MDI màn hình quản lý chính 1. Tạo màn hình chính Có thể thực hiện theo 2 cách sau o Từ menu, chọn project Add Windows Form… o Right-Click project thư viện trong Solution Explorer, chọn Add Windows Form. Chọn Templates MDIParent và đặt tên form là 2. Thiết ế giao diện cho màn hình chính Kéo thả control Panel vào frmMDI. 20
bài tập nhập môn công nghệ phần mềm