BÀI tập KIỂM THỬ CHƯƠNG TRÌNH mô PHỎNG THANG máy

21 511 0
BÀI tập KIỂM THỬ CHƯƠNG TRÌNH mô PHỎNG THANG máy

Đ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 BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP-KIỂM THỬ CHƯƠNG TRÌNH MÔ PHỎNG THANG MÁY BÀI TẬP NHÓM MÔN HỌC IT3104 –MÔN KỸ THUÂT LẬP TRÌNH Giảng viên hướng dẫn : TS Vũ Thị Hương GIang Nhóm học viên PE08 : Trần Kim Lân Nguyễn Văn Phúc Lê Văn Hiếu Lê Nhâm Hưng Lớp : HTTT-KSCLC-K54 HÀ NỘI 2012 Mục lục IT3104 –MÔN KỸ THUÂT LẬP TRÌNH Giảng viên hướng dẫn : TS Vũ Thị Hương GIang Mục lục Kiểm thử chương trình 3.1Danh sách chức cần có .7 3.2Kiểm thử cho chức 3.3Kiểm thử cho chức 3.4Kiểm thử cho chức 4.Tinh chỉnh mã nguồn 4.1.Danh sách chức cần tinh chỉnh 4.2.Tinh chỉnh cho chức chọn thang .9 Báo cáo kiểm thử chương trình Của nhóm PE08: Trần Kim Lân 20091568 Lê Nhâm Hưng 20091365 Nguyễn Văn Phúc 20092037 Lê Văn Hiếu 20091031 (Hệ thống thông tin truyền thông) Cho nhóm PE12 : Nguyễn Văn Thương 20092669 Nguyễn Công Vượng 20093344 Đỗ Thế Vương 20093334 Trần Đức Thuận 20092634 (Cơ khí hàng không) Thiết kế chương trình 1.1 Thiết kế liệu • Cấu trúc liệu chính: - Cấu trúc :thang máy gồm thuộc tính: o Mã TM:TM1,TM2 => Chuẩn o Vị trí( từ tầng đến tầng 6) => Chuẩn o Trạng thái (-1 xuống, đứng yên, lên) => Chuẩn o Số người tối đa (5 người) => Chưa tối ưu, nên đưa trọng lượng tối đa - Cấu trúc tầng:gồm thuộc tính: o Mã tầng(tầng đến tầng 6) =>Chuẩn o Trạng thái( 0không có khách,-1 khách xuống,1 khách lên) => Chuẩn o Thang1 (0: thang1 đứng yên tầng này,-1: thang1 xuống khỏi tầng này,1: thang1 lên khỏi tầng này) => Chuẩn o Thang2 tương tự o Số khách trả thang => Chuẩn - Cấu trúc khách: gồm thuộc tính: o Vị trí(tầng 1,2, ,6) o Trạng thái(0,-1,1) => Chuẩn o Tầng đến(1,2, ,6) 1.2 Thiết kế giải thuật • Giải thuật 1: Hàm chọn thang máy o Nếu vị trí khách tầng thang: o Nếu vị trí khách tầng thang: o Nếu vị trí khách tầng thang: =>Chuẩn • Giải thuật 2: Gọi thang máy o Kiểu đường thang máy di chuyển, dừng lại đón khách o Kiểu đường thang máy di chuyển, không dừng lại đón khách, đến tầng cuối cùng, quay lại đón khách (nếu thang gọi kiểu 2, sau đến tầng cuối lượt đi, kiểu gọi đổi thành Kiểu 1) =>Chuẩn 1.3 Thiết kế giao diện - Mô tốt hoạt động thang máy đôi - Đồ họa đẹp, dễ hình dung - Giao diện thang chưa thật trực quan (Hướng mũi tên di chuyển, phím chọn…) =>Chưa thật chuẩn 1.4 Kết luận Nhìn chung, thiết kế nhóm ổn, chấp nhận có số sai sót cần ý 8/10 điểm Cài đặt chương trình 2.1 Các kĩ thuật làm việc với biến - Khai báo biến => Chuẩn - Đặt tên biến => Chuẩn - Sử dụng kiểu liệu hợp lí => Chuẩn 2.2 Các kĩ thuât xây dựng hàm, thủ tục Có chương trình dài khiến người đọc khó quan sát nắm bắt chức năng: tính toán, đánh giá hay biến đổi biểu thức Cần đưa vào tham số cho hàm để xét nhiều trường hợp tương tự 2.3.Các kĩ thuật viết mã nguồn hiệu - Các cặp dấu đóng mở ngoặc nhiều chỗ ko going đúng, hang câu lệnh sau dấu đóng mở ngoặc - Cấu trúc rẽ nhánh chưa tốt việc so sánh điều kiện 2.4.Các kỹ thuật bẫy lỗi lập trình phòng ngừa  Kỹ thuật bẫy lỗi: • Mã nguồn rõ ràng, dễ hiểu, thích chi tiết • Các hàm đảm bảo tốt tính quán • Mục tiêu, nhiệm vụ hàm thống hóa, tốt • Chương trình cấu trúc tốt (các cấu trúc struct)  Lập trình phòng ngừa: • Giải thuật có logic, hoạt động tốt (C++) • Chia rõ phần chương trình kèm thích • Đảm bảo mối liên kết phần chương trình 2.5 Kỹ thuật viết tài liệu chương trình - Khá tốt, đầy đủ chức phần mềm - Nên trình bày khoa học để người đọc dễ quan sát 2.6 Phong cách lập trình - Trình bày chưa thật khoa học, nhiều thích => thích chức cần thiết không nên thích nhỏ - Việc căng chỉnh dòng, lệnh đôi chỗ chưa hợp lí (chưa thẳng hàng, khoảng cách…) 2.7 Kết luận Nhìn chung việc cài đặt chương trình tốt Điểm 7/10 Kiểm thử chương trình 3.1Danh sách chức cần có _Gọi thang máy từ bên thang máy 1,2 _Gọi thang máy từ bên _Thang máy di chuyển _Đóng mở cửa _Hiển thị kết di chuyển thang máy 3.2Kiểm thử cho chức * Gọi thang máy từ bên thang máy 1,2 _Liệt kê chiến lược kỹ thuật áp dụng: +Kỹ thuật làm việc với biến:đặt tên biến(có tính chất gợi nhớ),kiểu liệu biến phù hợp +Kỹ thuật viết mã nguồn hiệu quả:sử dung nguyên tắc chung(gióng hang hợp lý,khoảng cách đủ để đọc ) +Kỹ thuật xây dựng hàm ,thủ tục(Dặt tên hàm ngắn gọn ,có tính gợi nhớ…) + Phong cách lâp trình:Viết thích rõ ràng Các TH kiểm thử: Chức năng: Gọi thang máy từ bên thang máy 1,2 Bảng 1: Kết kiểm thử S input Output Excepti TT on Kết Ok 1 Nhập tầng muon _Thang máy di chyển xử lý dược đến:1, xuống tầng OK 2 Nhâp tầng muốn Thang máy di chyển xử lý đến xuống tầng Nhập tầng muốn Thang máy di chuyển đến 2và Đến hai tầng lúc Fail Ko xử lýđược 3.3Kiểm thử cho chức *Gọi thang máy từ bên _Liệt kê chiến lược kỹ thuật áp dụng: +Kỹ thuật làm việc với biến:đặt tên biến(có tính chất gợi nhớ),kiểu liệu biến phù hợp +Kỹ thuật viết mã nguồn hiệu quả:sử dung nguyên tắc chung(gióng hang hợp lý,khoảng cách đủ để đọc ) +Kỹ thuật xây dựng hàm ,thủ tục(Dặt tên hàm ngắn gọn ,có tính gợi nhớ…) + Phong cách lâp trình:Viết thích rõ ràng Chức năng: Gọi thang máy từ bên Bảng 2: Kết kiểm thử STT input Output Excep tion Nhạp vị trí mà Thang máy di chuyển Xử lý ban dang dến tầng5 hướng di hướng: xuống Kết Ok VT:5 di xuong Nhập VT tầng hướng lên Thông báo sai hướng Xử lý Nhập đồng thời _thang máy di chuyển Ko xử lý hai VT đến tầng sau di dược 2,5.Hướng lên chuyển đến tang OK Fail 3.4Kiểm thử cho chức * Hiển thị kết di chuyển khách _Liệt kê chiến lược kỹ thuật áp dụng: +Kỹ thuật làm việc với biến:đặt tên biến(có tính chất gợi nhớ),kiểu liệu biến phù hợp +Kỹ thuật viết mã nguồn hiệu quả:sử dung nguyên tắc chung(gióng hang hợp lý,khoảng cách đủ để đọc,sử dụng câu lệnh if ,for,,.) +Kỹ thuật xây dựng hàm ,thủ tục(Dặt tên hàm ngắn gọn ,có tính gợi nhớ…) + Phong cách lâp trình:Viết thích rõ ràng Chức năng: Hiển thị kết di chuyển khách Bảng 3: Kết kiểm thử S TT input Output Exc eption Từ tầng đến tấng Di qua tầng tầng Xử lý 2.3.4 Di từ tầng tầng Đi qua tầng 5,4,3 Kết OK Xử lý dược OK Thang tầng 1, Thang di chuyển lên Xử lý dược OK thang tầng tầng Có lệnh gọi từ từ tầng 3.5 Kết luận _Đánh giá chương trình: chạy ổn định, không bắt hết trường hợp,mỗi lần di nhập nhập dược giá trị.Theo ý kiến nhóm :cho nhóm PE12 diểm(theo thang điểm 10) Tinh chỉnh mã nguồn 4.1 Danh sách chức cần tinh chỉnh a Chọn thang b Gọi thang đến c Chuyển khách d Thao tác khách e Di chuyển 4.2.Tinh chỉnh cho chức chọn thang a Các kĩ thuật sử dụng - Tinh chỉnh biểu thức logic - Tinh chỉnh việc biến đổi liệu b Đoạn code sau tinh chỉnh void ChonThang() { int KC1,KC2,KCC1,KCC2; KC1=abs(TM1.vitri-khach.vitri); KC2=abs(TM2.vitri-khach.vitri); KCC1=abs(TM1.tangcuoi-khach.vitri); KCC2=abs(TM2.tangcuoi-khach.vitri); //neu khach o tren thang may if((khach.vitri>TM1.vitri)) { if(khach.vitri>TM2.vitri) { if((TM1.trangthai*TM2.trangthai)==1) { if((khach.trangthai==1)) { if(khach.vitri!=6) { …………… } } else …………… }; if((TM1.trangthai*TM2.trangthai)==-1) { if((khach.trangthai==1)) { if(khach.vitri!=6) { ……………… } } else ………… }; if((TM1.trangthai==0)) { if(TM2.trangthai!=0) { 10 if(khach.trangthai==1) { if(khach.vitri!=6) { ………… } } else ………… } }; if(TM2.trangthai==0) { if(TM1.trangthai!=0) { if(khach.trangthai==1) { if(khach.vitri!=6) { ……………… } } else …………… } }; }; }; if(khach.vitri[...]... được phép vi phạm các lỗi trình bày cơ bản) 2 Đầy đủ các phần quy định Chương trình không có các lỗi chính tả Các trình bài gây khó khăn cho việc quan sát chương trình: Các câu lệnh không lùi vào hợp lí, có các chú thích không cần thiết Chương trình chạy ổn định nhưng không bắt hết các trường hợp,mỗi lần di nhập chỉ nhập dược 1 giá trị cho một thang một 3 Nội dung trình bày Cách trình bày khá tốt Nhưng... nguồn, số lượng dòng code của chương trình nhiều hơn Đồng thời, việc quan sát và công việc soát lỗi cũng trở nên khó khăn hơn nếu có lỗi xảy ra Nhưng tốc độ thực hiện của chương trình được cải thiện Tốc độ được cải thiện không nhiều do chương trình không quá lớn nên nằm trong khả năng thực hiện tốt của trình dịch 20 5.Đánh giá báo cáo S Tiêu chí Nhận xét TT 1 Ít (không có) lỗi trình bày/lỗi chính tả (Không... thức logic -Tinh chỉnh việc biến đổi dữ liệu b.Đoạn code sau khi tinh chỉnh void DiChuyen() { int a,b; ………… if(T[a] .thang1 ==1) 18 if(T[a].sokhachtra1==0) { ……………… }; if(T[a] .thang1 ==-1) if(T[a].sokhachtra1==0) { ………………… }; if(T[b] .thang2 ==1) if(T[b].sokhachtra2==0) { ………………… }; if(T[b] .thang2 ==-1) if(T[b].sokhachtra2==0) { ………………… }; if(((TM1.trangthai*khach.trangthai)==1)||(TM1.trangthai==0)) if(TM1.vitri==khach.vitri)... Do không sử dụng các tham số của hàm nên trong chương trình con phải xét tất cả các trường hợp riêng lẻ 4 Phân chia công Việc phân chia công việc của nhóm việc hợp lý PE12 là khá hợp lí, công việc khá rõ ràng cho từng thành viên 5 Nội dung báo cáo Nôi dung báo cáo của nhóm PE12 khá chi tiết, đầy đủ các nội dung theo yêu cầu Đánh giá của nhóm là chương trình viết khá tốt Nhóm đánh giá tầm 7 điểm 21... if(TM1.trangthai!=0) { …………… }; } 4.3 Tinh chỉnh cho chức năng di chuyển a Các kĩ thuật sử dụng -Tinh chỉnh các biểu thức logic -Tinh chỉnh việc biến đổi dữ liệu b Đoạn code sau khi tinh chỉnh void GoiThangDen() { if(TM1.duocchon==1) if(TM1.vitri!=khach.vitri) 16 { ……………… int m,n; m=abs(TM1.tangcuoi-TM1.vitri); n=abs(TM1.vitri-khach.vitri); ……… }; if(TM2.duocchon==1) if(TM2.vitri!=khach.vitri) { ………

Ngày đăng: 14/06/2016, 16:19

Từ khóa liên quan

Mục lục

  • Giảng viên hướng dẫn : TS. Vũ Thị Hương GIang

  • IT3104 –MÔN KỸ THUÂT LẬP TRÌNH

  • Mục lục

  • 3. Kiểm thử chương trình

  • 3.1Danh sách các chức năng cần có

    • 3.2Kiểm thử cho chức năng 1

    • 3.3Kiểm thử cho chức năng 2

    • 3.4Kiểm thử cho chức năng 3

    • 4. Tinh chỉnh mã nguồn

      • 4.1. Danh sách các chức năng cần tinh chỉnh

      • 4.2. Tinh chỉnh cho chức năng chọn thang

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

Tài liệu liên quan