Môn công nghệ phần mềm đề tài xây dựng phần mềm quản lý tiệm bánh sinh nhật

78 2 0
Môn công nghệ phần mềm đề tài xây dựng phần mềm quản lý tiệm bánh sinh nhật

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN MÔN CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: XÂY DỰNG PHẦN MỀM QUẢN LÝ TIỆM BÁNH SINH NHẬT Sinh viên thực : TRẦN BẢO KHANH ĐẶNG ĐÌNH QUỲNH PHẠM VĂN ĐỨC Giảng viên hướng dẫn : NGUYỄN ĐỨC GIANG Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM Lớp : DV3 Khóa : 2019-2024 Hà Nội, tháng năm 2022 Mơ tả tóm tắt đề tài • Xây dựng hệ thống phần mềm quản tiệm bánh bao gồm chức sau: • Quản lý sản phẩm • Quản lý khách hàng Quản lý nhân viên Quản lí kho • • Nội dung thực • Chương 1: Giới thiệu dự án phần mềm • Chương 2: Quản lý dự án • Chương 3: Phân tích hệ thống • Chương 4: Thiết kế • Chương 5: Lập trình • Chương 6: Kiểm thử phần mềm • Chương 7: Đóng gói bảo trì phần mềm Kết đạt Hoàn thành đề cương chuyên đề học phần môn: “Công nghệ phần mềm” Xây dựng phần mềm hoàn chỉnh với đầy đủ chức năng, đơn giản phù hợp với doanh nghiệp vừa nhỏ Hà Nội, tháng năm 2021 Giảng viên hướng dẫn Sinh viên thực (ký ghi rõ họ tên) (ký ghi rõ họ tên) Khanh Trần Bảo Khanh Quỳnh Đặng Đình Quỳnh Đức Phạm Văn Đức PHIẾU CHẤM ĐIỂM STT Họ tên sinh viên Trần Bảo Khanh Điểm Chữ ký 19810310567 Đặng Đình Quỳnh 19810310584 Phạm Văn Đức 19810310560 Họ tên giảng viên Chữ ký Ghi Giảng viên chấm 1: Giảng viên chấm 2: DANH MỤC BẢNG Bảng Bảng Diagram 41 Bảng Bảng user 41 Bảng Bảng sản phẩm .41 Bảng 4 Bảng nhân viên .42 Bảng Bảng khách hàng 42 Bảng Bảng thống kê hóa đơn bán hàng 42 Bảng Bảng thống kê phiếu nhập sản phẩm 42 DANH MỤC HÌNH ẢNH Hình 1 Ảnh giới thiệu tiệm bánh Hình Use Case tổng quát 16 Hình Biểu đồ chức quản lí đăng nhập, đăng xuất 17 Hình 3 Biểu đồ hoạt động chức đăng nhập 18 Hình Biểu đồ hoạt động chức đăng xuất 19 Hình Biểu đồ trình tự chức đăng nhập 20 Hình Biểu đồ trình tự chức đăng xuất 21 Hình Biểu đồ use case chức quản lý sản phẩm .21 Hình Biểu đồ hoạt động chức quản lí sản phẩm .23 Hình Biểu đồ trình tự chức thêm sản phẩm 24 Hình 10 Biểu đồ trình tự chức sửa sản phẩm 24 Hình 11 Biểu đồ trình tự chức xóa sản phẩm 25 Hình 12 Biểu đồ trình tự chức tìm kiếm sản phẩm .25 Hình 13 Use case chức quản lí nhân viên 26 Hình 14 biểu đồ hoạt động chức quản lý nhân viên 27 Hình 15 Biểu đồ trình tự chức thêm nhân viên 28 Hình 16 Biểu đồ trình tự chức sửa nhân viên 29 Hình 17 Biểu đồ trình tự chức xóa nhân viên 29 Hình 18 Biểu đồ Use case quản lý khách hàng 30 Hình 19 biểu đồ hoạt động chức quản lý khách hàng 31 Hình 20 Biểu đồ trình tự chức thêm khách hàng .32 Hình 21 Biểu đồ trình tự chức sửa khách hàng 33 Hình 22 Biểu đồ trình tự chức xóa khách hàng 33 Hình 23 Biểu đồ use case chức quản lý kho .34 Hình 24 biểu đồ hoạt động chức quản lý thống kê kho 35 Hình 25 Biểu đồ trình tự chức thống kê hóa đơn .36 Hình 26 Biểu đồ trình tự chức tổng doanh thu hóa đơn 36 Hình 27 Biểu đồ trình tự thống kê phiếu nhập sản phẩm 37 Hình Giao diện đăng nhập,đăng xuất 39 Hình Giao diện quản lý sản phẩm 39 Hình Giao diện quản lý nhân viên 40 Hình 4 Giao diện quản lý khách hàng 40 Hình Giao diện thống kê hóa đơn bán hàng 41 Hình Giao diện thống kê phiếu nhập .41 MỤC LỤC CHƯƠNG I: GIỚI THIỆU PHẦN MỀM .9 1.1 Khảo sát hệ thống 1.2.Xác định toán cần giải 11 1.2.1 Với nhân viên 11 1.2.2 Với khách hàng 11 1.2.3 Với sản phẩm .11 1.2.4 Với kho hàng .11 1.3 Phân tích đặc tả nghiệp vụ hệ thống 11 1.3.1 Sản phẩm 11 1.3.2 Nhân viên .11 1.3.3 Khách hàng 12 1.3.4 Kho hàng .12 1.4 Xác định yêu cầu hệ thống .12 1.4.1 Yêu cầu chức 12 1.4.2 Yêu cầu phi chức 13 CHƯƠNG 2: QUẢN LÝ DỰ ÁN 13 2.1 Ước lượng dự án 13 2.1.1 Ước lượng chi phí 13 2.1.2 Ước lượng thời gian 15 2.1.2 Ước lượng số lượng người tham gia .16 2.2 Lập lịch theo dõi dự án 16 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18 3.1 Xác định Actor Use Case tổng quát hệ thống 18 3.1.1 Các Actor .18 3.1.2 Các Use Case tổng quát hệ thống 19 3.2 Phân tích chức hệ thống .19 3.2.1 Chức đăng nhập, đăng xuất 19 3.2.2.Chức quản lý sản phẩm 24 3.3.3.Chức quản lí nhân viên 29 3.3.4.Chức quản lý khách hàng 33 3.3.5 Chức quản lý kho 37 CHƯƠNG 4: THIẾT KẾ 41 4.1 Thiết kế giao diện 41 4.1.1 Giao diện đăng nhập, đăng xuất 41 4.1.2 Giao diện quản lý sản phẩm 41 4.1.3 Giao diện quản lý nhân viên 42 4.1.4 Giao diện quản lý khách hàng .42 4.1.5 Giao diện thống kê hóa đơn bán hàng 43 4.1.6 Giao diện thống kê phiếu nhập sản phẩm 43 4.2 Thiết kế lưu trữ 44 4.2.1 Bảng user 44 4.2.2 Bảng sản phẩm 44 4.2.3 Bảng nhân viên 45 4.2.4 Bảng khách hàng 45 4.2.5 Bảng thống kê hóa đơn 45 4.2.6 Bảng thống kê phiếu nhập 45 CHƯƠNG LẬP TRÌNH 46 5.1 Code chức đăng nhập 46 5.2 Code Chức đăng xuất 47 5.3 Code chức quản lý sản phẩm 48 5.4.Code Chức quản lý khách hàng 51 5.5 Code Chức quản lý nhân viên 55 5.6 Code chức thống kê hóa đơn .58 5.7.Code chức thống kê phiếu nhập 62 CHƯƠNG KIỂM THỬ PHẦN MỀM .64 6.1 Kiểm thử chức năng: đăng nhập 64 CHƯƠNG 7: ĐĨNG GĨI VÀ BẢO TRÌ PHẦN MỀM .66 7.1 Các bước đóng gói phần mềm .66 7.2 Khái niệm bảo trì phần mềm 67 7.3 Lý cần bảo trì phần mềm .67 LỜI CẢM ƠN Trên thực tế, khơng có thành cơng mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường Đại học đến nay, em nhận nhiều quan tâm, giúp đỡ thầy cơ, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi đến thầy cô Khoa Công Nghệ Thông Tin - trường Đại Học Điện Lực với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, kỳ này, em tiếp cận với môn học hữu ích sinh viên ngành Cơng Nghệ Thơng Tin Đó mơn: “Cơng nghệ phần mềm” Em xin chân thành cảm ơn cô Trịnh Hiền Anh tận tâm hướng dẫn chúng em qua buổi học lớp buổi nói chuyện, thảo luận môn học Trong thời gian học tập thực hành hướng dân cô, em thu nhiều kiến thức bổ ích, mà cịn truyền say mê thích thú mơn “Cơng nghệ phần mềm” Nếu khơng có lời hướng dẫn, dạy bảo em nghĩ báo cáo khó hồn thành Xin gửi lời cảm ơn chân thành đến gia đình, bạn bè nguồn động viên to lớn, giúp em vượt qua khó khăn q trình học tập thực báo cáo Mặc dù cố gắng hoàn thiện báo cáo với tất nỗ lực, nhiên, bước đầu vào thực tế, tìm hiểu xây dựng báo cáo thời gian có hạn, kiến thức cịn hạn chế, nhiều bỡ ngỡ, nên báo cáo “xây dựng phần mềm quản lý Tiệm Bánh Sinh Nhật ” chắn tránh khỏi thiếu sót Em mong nhận quan tâm, thơng cảm đóng góp q báu thầy cô bạn để báo cáo hoàn thiện Một lần nữa, em xin chân thành cảm ơn mong nhận đóng góp người Trân trọng! LỜI MỞ ĐẦU Trong thời đại ngày nay, công nghệ thông tin phát triển mạnh mẽ, nhanh chóng xâm nhập vào nhiều lĩnh vực khoa học, kĩ thuật nhiều lĩnh vực khác sống Nó trở thành công cụ đắc lực nhiều ngành nghề giao thông, y tế, quân đặc biệt công quản lý nói chung có quản lý nhà hàng nói riêng Trước đây, máy tính chưa ứng dụng rộng rãi cơng việc quản lý làm thủ công nên thời gian tốn nhân lực tài Ngày với phát triển công nghệ thông tin mà máy tính sử dụng rộng rãi quan, nhà máy, trường học… giúp cho công việc tốt Việc sử dụng máy tính vào công quản lý nhà hàng việc cần thiết nhằm xóa bỏ phương pháp quản lý lạc hậu, lỗi thời tốn nhiều mặt Đối với phủ cơng ti, doanh nghiệp việc xây dựng website riêng ngày trở nên cấp thiết Thông qua website này, thông tin họ đến với khách hàng, người quan tâm cách nhanh chóng xác Vì em xây dựng đề tài “Quản lý tiệm bánh sinh nhật Thu Hường Bakery” với mong muốn giúp việc quản lý trở nên dễ dàng thuận tiện mang đến dịch vụ tốt cho khách hàng Em xin chân thành cảm ơn! CHƯƠNG I: GIỚI THIỆU PHẦN MỀM 1.1 Khảo sát hệ thống Đề tài : “Quản lý tiệm bánh sinh nhật Thu Hường” Thu Hường Bakery thương hiệu bánh sinh nhật Á Âu lâu đời Hà Nội có lẽ người u thích bánh ngọt, đặc biệt bánh làm theo phong cách Á Âu khơng cịn xa lạ.Tiệm Bánh Ngọt Thu Hường Bakery tạo bánh theo yêu cầu sở thích riêng q khách khơng ngừng sáng tạo cho mẫu bánh theo xu hướng phát triển nét đẹp đại kết hợp truyền thống với nhiều kiểu bánh mang nét đẹp khác Ngoài mẫu bánh sinh nhật cịn có nhiều loại bánh đa dạng, trang trí ưng mắt chất lượng khẳng định Ngoài qn cịn có nhiều loại bánh kem, bánh nướng, socola tươi ngon bắt mắt Bánh kem sinh nhật cốt gato có nhiều cách trang trí, từ trang trí cổ điển kiểu Pháp đến bánh vẽ chibi dễ thương đến bánh hình 3D độc đáo Tiệm bánh với diện tích 30m2 nằm trung tâm thành phố số lượng khách hàng đông ngày nên trang bị nhân viên : nhân viên thu ngân, nhân viên bán hàng,2 nhân viên thủ kho.Thời gian hoạt động full ngày tuần sáng 7h30 kết thúc 21h ngày để đảm bảo việc bán hàng xuyên suốt hoạt động.Để đáp ứng tốt công việc bán hàng cách hiệu cửa hàng trang bị sô trang thiết bị thiết yếu như: Máy pos mã vạch, máy in hóa đơn KH,camera an ninh, máy làm bánh, Hiện cửa hàng cài đặt phần mềm quản lí cửa hàng theo cách quản lý thủ công cũ lạc hậu , nhiều thời gian quản lí nhân viên ,quản lí sản phẩm, quản lí khách hàng chưa tối ưu, hiệu Và vấn đề đặt cần phải có hệ thống đáp ứng yêu cầu Tên tiệm bánh : Tiệm Bánh Ngọt Thu Hường Bakery • Địa chỉ: 11A, phố Dịch Vọng, Cầu Giấy, Hà Nội • SDT: 0982 811 096 10 @"' WHERE (IDNHANVIEN = N'" + txtidnv.Text + @"') "; thuchien = new SqlCommand(sql, ketnoi); thuchien.ExecuteNonQuery(); ketnoi.Close(); hienthi(); MessageBox.Show("Nhân viên cập nhật thành công !", "Thơng báo"); } else { MessageBox.Show("Đã có lỗi xin thử lại !", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } private void btnxoa_Click(object sender, EventArgs e) { if (CheckIDNV()) { listViewNV.Items.Clear(); ketnoi.Open(); sql = @"DELETE FROM NHANVIEN WHERE (IDNHANVIEN= N'" + txtidnv.Text + @"')"; thuchien = new SqlCommand(sql, ketnoi); thuchien.ExecuteNonQuery(); ketnoi.Close(); hienthi(); MessageBox.Show("Xóa nhân viên thành cơng ", "Thơng báo", MessageBoxButt ons.OK); } else { MessageBox.Show("Đã có lỗi xin thử lại !", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } private void btnnhapmoi_Click(object sender, EventArgs e) { txtidnv.Clear(); txttennv.Clear(); 64 txtdc.Clear(); cbGT.Text = string.Empty; txtcalam.Clear(); txthsluong.Clear(); hienthi(); } } } 5.6 Code chức thống kê hóa đơn using System; using System.Collections.Generi c; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Task s; using System.Windows.Form s; using System.Data.SqlClient; namespace btaplonCNPM { public partial class frmhoadon : Form { public frmhoadon() { InitializeComponent(); } private void button4_Click(object sender, EventArgs e) { this.Close(); } string chuoiketnoi = @"Data Source=NHATLONG;Initial Catalog=TIEMBANH;Persist Security Info=True;User ID=sa;Password=123456"; 65 string sql; SqlConnection ketnoi; SqlCommand thuchien; SqlDataReader docdulieu; int i = 0; private void frmhoadon_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'tIEMBANHDataSet4.SANPHAM' table You can move, or remove it, as needed this.sANPHAMTableAdapter.Fill(this.tIEMBANHDataSet4.SANPHAM); // TODO: This line of code loads data into the 'tIEMBANHDataSet3.KHACHHANG' table You can move, or remove it, as needed this.kHACHHANGTableAdapter.Fill(this.tIEMBANHDataSet3.KHACHHA NG); // TODO: This line of code loads data into the 'tIEMBANHDataSet2.NHANVIEN' table You can move, or remove it, as needed this.nHANVIENTableAdapter.Fill(this.tIEMBANHDataSet2.NHANVIEN); // TODO: This line of code loads data into the 'tIEMBANHDataSet1.HOADON' table You can move, or remove it, as needed this.hOADONTableAdapter1.Fill(this.tIEMBANHDataSet1.HOADON); // TODO: This line of code loads data into the 'tIEMBANHDataSet.HOADON' table You can move, or remove it, as needed this.hOADONTableAdapter.Fill(this.tIEMBANHDataSet.HO ADON); ketnoi = new SqlConnection(chuoiketnoi); hienthi(); } public void hienthi() { listViewhd.Items.Clear(); ketnoi.Open(); sql = @"Select * from HOADON"; thuchien = new SqlCommand(sql, ketnoi); docdulieu = thuchien.ExecuteReader(); i = 0; while (docdulieu.Read()) { 66 listViewhd.Items.Add(docdulieu[0].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[1].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[2].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[3].ToString()); listViewhd.Items[i].SubItems.Add(Convert.ToDateTime(docdulieu[4]).ToShort DateString()); ; listViewhd.Items[i].SubItems.Add(docdulieu[5].ToString()); i++; } ketnoi.Close(); } private void listViewhd_Click(object sender, EventArgs e) { txtid.Text = listViewhd.SelectedItems[0].SubItems[0].Text; cbsp.Text = listViewhd.SelectedItems[0].SubItems[1].Text; cbidnv.Text = listViewhd.SelectedItems[0].SubItems[2].Text; cbkh.Text = listViewhd.SelectedItems[0].SubItems[3].Text; dateTimePicker1.Value = Convert.ToDateTime(listViewhd.SelectedItems[0].SubItems[4].Text) ; txttien.Text = listViewhd.SelectedItems[0].SubItems[5].Text; } public bool CHECKIDHD() { if (String.IsNullOrEmpty(txtid.Text)) { MessageBox.Show(" Bạn chưa chọn ID hóa đơn ", "Thơng báo", MessageBoxButtons.OK, MessageBoxIcon.Information); txtid.Focus(); return false; } if (String.IsNullOrEmpty(txttien.Text)) { MessageBox.Show(" Bạn chưa nhập giá hóa đơn ", "Thơng báo", MessageBoxButtons.OK, MessageBoxIcon.Information); txttien.Focus(); return false; } if (String.IsNullOrEmpty(cbsp.Text)) { MessageBox.Show(" Bạn chưa chọn ID sản phẩm ", "Thông báo", 67 MessageBoxButtons.OK, MessageBoxIcon.Information); cbsp.Focus(); return false; } if (String.IsNullOrEmpty(cbidnv.Text)) { MessageBox.Show(" Bạn chưa chọn ID nhân viên ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); cbidnv.Focus(); return false; } if (String.IsNullOrEmpty(cbkh.Text)) { MessageBox.Show(" Bạn chưa chọn tên khách hàng ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); cbkh.Focus(); return false; } if (String.IsNullOrEmpty(dateTimePicker1.Text)) { MessageBox.Show(" Bạn chưa chọn ngày ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); dateTimePicker1.Focus(); return false; } return true; } private void btntk_Click(object sender, EventArgs e) { if (CHECKIDHD()) { listViewhd.Items.Clear(); sql = @"Select * from HOADON where IDHOADON = '" + txtid.Text + "'"; ketnoi.Open(); thuchien = new SqlCommand(sql, ketnoi); docdulieu = thuchien.ExecuteReader(); i = 0; if (docdulieu.Read()) { 68 listViewhd.Items.Add(docdulieu[0].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[1].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[2].ToString()); listViewhd.Items[i].SubItems.Add(docdulieu[3].ToString()); listViewhd.Items[i].SubItems.Add(Convert.ToDateTime(docdulieu[4]).ToShort DateString()); ; listViewhd.Items[i].SubItems.Add(docdulieu[5].ToString()); i++; } else { MessageBox.Show("Khơng có hóa đơn cửa hàng", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); } ketnoi.Close(); } } private void button1_Click(object sender, EventArgs e) { hienthi(); } private void btntinh_Click(object sender, EventArgs e) { ketnoi.Open(); sql = @"SELECT SUM(SOTIEN) AS tong FROM HOADON"; thuchien = new SqlCommand(sql, ketnoi); docdulieu = thuchien.ExecuteReader(); while (docdulieu.Read()) { txtBox.Text = docdulieu["tong"].ToString(); } ketnoi.Close(); } private void btnthem_Click(object sender, EventArgs e) { if (CHECKIDHD()) { listViewhd.Items.Clear(); ketnoi.Open(); 69 sql = "INSERT INTO HOADON(IDHOADON,IDSANPHAM, IDNHANVIEN, TENKHACHHANG, NGAY, SOTIEN) VALUES (N'" + txtid.Text + @"' ,N'" + cbsp.Text + @"',N'" + cbidnv.Text + @"',N'" + cbkh.Text + @"',N'" + dateTimePicker1.Value.ToString("yyyy - MM - dd") + "',N'" + txttien.Text + @"' ) "; thuchien = new SqlCommand(sql, ketnoi); thuchien.ExecuteNonQuery(); ketnoi.Close(); hienthi(); MessageBox.Show("Thêm hóa đơn thành cơng !", "Thơng báo"); } else { MessageBox.Show("Đã có lỗi xin thử lại !", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } }} 5.7.Code chức thống kê phiếu nhập using System; using System.Collections.Generi c; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace btaplonCNPM { public partial class frmphieu : Form { 70 public frmphieu() { InitializeComponent(); } string chuoiketnoi = @"Data Source=NHATLONG;Initial Catalog=TIEMBANH;Persist Security Info=True;User ID=sa;Password=123456"; string sql; SqlConnection ketnoi; SqlCommand thuchien; SqlDataReader docdulieu; int i = 0; private void button2_Click(object sender, EventArgs e) { this.Close(); } private void frmphieu_Load(object sender, EventArgs e) { ketnoi = new SqlConnection(chuoiketnoi); hienthi(); } public void hienthi() { listViewPN.Items.Clear(); ketnoi.Open(); sql = @"Select * from PHIEUNHAP"; thuchien = new SqlCommand(sql, ketnoi); docdulieu = thuchien.ExecuteReader(); i = 0; while (docdulieu.Read()) { listViewPN.Items.Add(docdulieu[0].ToString()); listViewPN.Items[i].SubItems.Add(docdulieu[1].ToString()); listViewPN.Items[i].SubItems.Add(docdulieu[2].ToString()); listViewPN.Items[i].SubItems.Add(Convert.ToDateTime(docdulieu[3]).ToSh ortDateString()); i++; } ketnoi.Close(); } private void listViewPN_Click(object sender, EventArgs e) { 71 textBox1.Text = listViewPN.SelectedItems[0].SubItems[0].Text; } public bool CHECKID() { if (String.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show(" Bạn chưa nhập ID phiếu ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); textBox1.Focus(); return false; } return true; } private void button1_Click(object sender, EventArgs e) { if (CHECKID()) { listViewPN.Items.Clear(); sql = @"Select * from PHIEUNHAP where IDPHIEUNHAP = '" +textBox1.Text+ "'"; ketnoi.Open(); thuchien = new SqlCommand(sql, ketnoi); docdulieu = thuchien.ExecuteReader(); i = 0; if (docdulieu.Read()) { listViewPN.Items.Add(docdulieu[0].ToString()); listViewPN.Items[i].SubItems.Add(docdulieu[1].ToString()); listViewPN.Items[i].SubItems.Add(docdulieu[2].ToString()); listViewPN.Items[i].SubItems.Add(Convert.ToDateTime(docdulieu[3]).ToSh ortDateString()); i++; } else { MessageBox.Show("Khơng có phiếu cửa hàng", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); } ketnoi.Close(); } } private void button3_Click(object sender, EventArgs e) 72 { } } } hienthi(); CHƯƠNG KIỂM THỬ PHẦN MỀM 6.1 Kiểm thử chức năng: đăng nhập TestcaseI D Small function Pre_conditio n Test operation Expected Actual result Result 73 Login_1 Login_2 Login_3 Login_4 Login_5 Login_6 Login_7 Login_8 Login_9 Login_10 Double click file CSM Kiểm tra giao diện đăng nhập Ấn nút Tab Vị trí biểu mẫu Hiển thị giao diện đăng nhập Thứ tự tab từ xuống từ trái qua phải Thành công Biểu mẫu hiển thị hình Thay đổi kích Khơng thể thay đổi Thành thước biểu mẫu kích thước biểu cơng mẫu Di chuyển biểu Biểu mẫu Thành mẫu di chuyển công Xem trạng thái Trạng thái Thành công nút đăng nút hoạt động nhập nút đóng Labels Button : Xem tất -Tên đăng fields nhập -Mật Thành biểu mẫu đăng -2 nút: cơng nhập Đăng nhập,Thốt Kiểm tra Phải hiển thị ‘*’ liệu hiển thị Thành thay liệu field mật công đưa vào Textbox Tên đăng Xem textbox Thành nhập:sẵn sàng mặc định công trống Textbox Mật khẩu: sẵn sàng trống 1.Nhập liệu xác Kiểm tra Hiển thị field Tên thơng báo 2.Nhập liệu đăng nhập “Đăng xác cho tất nhập field Thành công Thành công Thành công 74 3.Nhấp đăng nhập ấn enter Login_11 Login_12 Login_13 Kiểm tra field Mật Login_14 Login_15 Login_16 Kiểm tra button Login_17 Login_18 1.Không nhập Hiển thị thông báo Thành liệu “Hãy nhập tài công Nhấp đăng khoản mật nhập ấn khẩu” enter 1.Nhập liệu Hiển thị thông báo sai Thành “Tài khoản công mật sai” Nhấp đăng nhập ấn enter 1.Nhập liệu Hiển thị xác thơng báo 2.Nhấp đăng nhập “Đăng ấn enter nhập thành công” 1.Không nhập Hiển thị thông báo Thành liệu công Nhấp đăng “Hãy nhập mật nhập ấn khẩu” enter 1.Nhập liệu sai Hiển thị thông báo Thành công “Tài khoản Nhấp đăng mật sai” nhập ấn enter Nhấn nút Đăng Hiển thị xuất form login 1.Nhấn exit 2.Chọn “ok” “cancel” Mất kết nối thành công” Ngắt kết nối với máy chủ Thành công Thành công Thành công Hiển thị “Không kết nối với máy chủ” Thành công 75 CHƯƠNG 7: ĐĨNG GĨI VÀ BẢO TRÌ PHẦN MỀM 7.1 Các bước đóng gói phần mềm +Bước 1: Tải download gói Setup Projects + Bước 2: Mở Project lên nhấn phải chuột chọn vào Solution => Add => New Project + Bước 3: Nhấn chọn vào Visual Studio Installer => Setup Project Sau đặt tên chọn vị trí lưu cho File Exe sau 76 + Bước 4: Nhấn phải chuột vào Application Folder => Add => Project Outout + Bước 5: Chọn tên Project sau nhấn chọn Primary ouput nhấn OK + Bước 6: Tiếp tục nhấn phải chuột vào Primary output tạo chọn Create Shortcut to Primary output + Bước 7: Tiếp theo di chuyển Shortcut vừa tạo thư mục Application Folder vào thư mục User’s Desktop + Bước 8: Bước bước thiết lập icon cho File Exe Nhấn phải chuột vào Shortcut chọn Properties Window + Bước 9: Nhấp chọn vào thư mục User’s Programs Menu Nhấn phải chuột vào khoảng trắng bên phải chọn Create New Shortcut + Bước 10: Tương tự thiết lập icon cho Shortcut + Bước 11: Vào mục Properties => Author để chỉnh tên tác giả mục Manufacturer để chỉnh tên nhà sản xuất + Bước 12: Tiến hành Rebuild lại File Setup 7.2 Khái niệm bảo trì phần mềm Bảo trì phần mềm điều chỉnh lỗi mà chưa phát giai đoạn xây dựng q trình sử dụng phần mềm có nhiều thay đổi, nâng cấp tính sử dụng an tồn vận hành phần mềm Việc bảo trì phần mềm định kỳ chiếm tới 65- 75% công sức chu kỳ sống phần mềm Quá trình phát triển phần mềm bao gồm nhiều giai đoạn: thu thập yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, triển khai bảo trì phần mềm Nhiệm vụ giai đoạn bảo trì phần mềm giữ cho phần mềm cập nhật môi trường thay đổi yêu cầu người sử dụng thay đổi Thích ứng (adaptative): việc chỉnh sửa phần mềm cho phù hợp với môi trường thay đổi sản phẩm Môi trường có nghĩa tất yếu tố bên ngồi sản phẩm quy tắc kinh doanh, luật pháp, phương thức làm việc,… 77 Hoàn thiện: chỉnh sửa để đáp ứng yêu cầu thay đổi người sử dụng Loại tập trung vào nâng cao chức hệ thống, hoạt động tăng cường hiệu hệ thống, đơn giản cải thiện giao diện Nguyên nhân với phần mềm thành công, người sử dụng bắt đầu khám phá yêu cầu mới, yêu cầu mà họ đề ban đầu, đó, cần cải tiến chức Bảo vệ (preventive): mục đích làm hệ thống dễ dàng bảo trì lần 7.3 Lý cần bảo trì phần mềm Sử dụng phần mềm không bị gián đoạn: Thử nghĩ ví dụ nhỏ thơi, điện thoại dùng bị hết pin hẳn khiến bực Khi phần mềm đến giai đoạn bảo trì vậy, khơng thể nói phần mềm “hết pin” được, việc định kỳ để kiểm tra lỗi khắc phục điều cần phải làm, có tránh rủi ro Rút ngắn tối đa thời gian phần mềm hỏng hóc, ngưng hoạt động, đồng thời giảm thiểu chi phí bảo trì Trước hết hạn bảo hành phần mềm, bạn nên chuẩn bị cho việc bảo trì, lẽ việc bảo trì sớm việc bạn phát bệnh sớm, nhờ mà sửa chữa kịp thời hay nâng cấp phần mềm nhằm đảm bảo trì phần mềm chạy ổn định Việc bảo trì nên thực tối thiểu lần/ năm Duy trì độ an toàn, bảo mật phần mềm Chắc bạn nghe qua, dù công nghệ tiên tiến đến có lúc có lỗ hổng Dù đại suy cho máy móc, mà máy móc cần phải bảo trì, sửa chữa nâng cấp để hoạt động tốt Ở lĩnh vực phần mềm, việc bảo trì lại cần đề cao lượng liệu lớn, độ bảo mật an toàn cần trì 78

Ngày đăng: 14/05/2023, 09:09

Tài liệu cùng người dùng

Tài liệu liên quan