Đánh giá chất lượng thiết kế Phần mềm_Kỹ Nghệ Phần Mềm MỤC LỤC A. MỞ ĐẦU.................................................2 I. LÝ DO CHỌN ĐỀ TÀI.....................................2 II. MỤC ĐÍCH NGHIÊN CỨU...................................3 III. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU......................3 IV. PHƯƠNG PHÁP NGHIÊN CỨU................................3 B. PHẦN NỘI DUNG..........................................4 I. THẾ NÀO LÀ THIẾT KẾ CÓ CHẤT LƯỢNG ?...................4 II. ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ.............................4 1. Thế nào là độ kết dính thành phần trong module (cohesion) ?............................................ 4 a. Kết dính gom góp :.................................5 b. Kết dính lôgic (logical cohesion)..................5 c. Kết dính thời điểm (temporal cohesion).............7 d. Kết dính thủ tục (procedural cohesion).............8 e. Kết dính truyền thông(communicational cohesion)....9 f. Kết dính tuần tự (sequential cohesion).............9 g. Kết dính chức năng (functional cohesion)..........10 2. Thế nào là mức ghép nối giữa các module (coupling) ? 11 a. Ghép nối chuẩn....................................12 b. Ghép nối dữ liệu (data coupling)..................12 c. Ghép nối nhãn (stamp coupling)....................13 d. Ghép nối điều khiển (control coupling)............14 e. Ghép nối chung (content coupling).................14 f. Ghép nối nội dung (content coupling)..............14 3. Tính hiểu được (Understandability):.................14 a. Tính kết dính:....................................14 b. Đặt tên:.......................................... 16 c. Soạn tư liệu:..................................... 16 d. Độ phức tạp:...................................... 16 4. Tính thích nghi được (adaptability).................17 III. CÁC GIẢI PHÁP CHO MỘT THIẾT KẾ TỐT..................17 1. Những hướng dẫn cần được vận dụng trong thiết kế....18 2. Những nguyên lý thiết kế cần vận dụng...............18 C. TỔNG KẾT..............................................19 TÀI LIỆU THAM KHẢO........................................20 Email: dangthiphuongsptin.gmail.com _Tin07B_ĐHSP Huế 1
31
Embed
ĐÁNH GIÁ CHẤT LƯỢNG THIẾT KẾ PHẦN MỀM-KỸ NGHỆ PHẦN MỀM
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Đánh giá chất lượng thiết kế Phần mềm_Kỹ Nghệ Phần Mềm
MỤC LỤCA. MỞ ĐẦU......................................................................................................................2I. LÝ DO CHỌN ĐỀ TÀI...............................................................................................2II. MỤC ĐÍCH NGHIÊN CỨU.......................................................................................3III. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU.........................................................3IV. PHƯƠNG PHÁP NGHIÊN CỨU............................................................................3B. PHẦN NỘI DUNG......................................................................................................4I. THẾ NÀO LÀ THIẾT KẾ CÓ CHẤT LƯỢNG ?...................................................4II. ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ.........................................................................4
1. Thế nào là độ kết dính thành phần trong module (cohesion) ?.....................4a. Kết dính gom góp :...........................................................................................5b. Kết dính lôgic (logical cohesion).....................................................................5c. Kết dính thời điểm (temporal cohesion).........................................................7d. Kết dính thủ tục (procedural cohesion).........................................................8e. Kết dính truyền thông(communicational cohesion)......................................9f. Kết dính tuần tự (sequential cohesion)...........................................................9g. Kết dính chức năng (functional cohesion)....................................................10
2. Thế nào là mức ghép nối giữa các module (coupling) ?................................11a. Ghép nối chuẩn...............................................................................................12b. Ghép nối dữ liệu (data coupling)..................................................................12c. Ghép nối nhãn (stamp coupling)...................................................................13d. Ghép nối điều khiển (control coupling)........................................................14e. Ghép nối chung (content coupling)...............................................................14f. Ghép nối nội dung (content coupling)..........................................................14
3. Tính hiểu được (Understandability):................................................................14a. Tính kết dính:.................................................................................................14b. Đặt tên:............................................................................................................16c. Soạn tư liệu:....................................................................................................16d. Độ phức tạp:....................................................................................................16
4. Tính thích nghi được (adaptability).................................................................17III. CÁC GIẢI PHÁP CHO MỘT THIẾT KẾ TỐT..................................................17
1. Những hướng dẫn cần được vận dụng trong thiết kế.....................................182. Những nguyên lý thiết kế cần vận dụng...........................................................18
C. TỔNG KẾT................................................................................................................19TÀI LIỆU THAM KHẢO.................................................................................................20
Private Sub sua_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sua.Click If DataGridView1.CurrentRow Is Nothing Then Exit Sub ‘trước tiên,
kiểm tra xem chưa có dữ liệu trong bảng DataGridView1(hiện tại) thì không thực hiện sửa gì cả (thoát).
Dim frm As New hoso frm.MS = DataGridView1.CurrentRow.Cells("maso").Value ‘khai
báo biến frm bằng bảng hồ sơ để thực hiện sửa frm.Show() ‘ mở bảng frm Do
NhanSu * NS ;int chon;…For (i=0; i<n; i++)Cout<<”bạn nhập dữ liệu cho giáoviên, sinhviên hay ngườigiúpviệc thứ”<<i +1;Cout << ”1. Nếu la giao vien \n”; Cout << ”2. Nếu la Sinh Viên \n”; Cout <<”3. Nếu la Người giúp việc \n”; Cin >> chon;Switch (chon){ case 1: {GiaoVien p; NS[i]=&p ; NS[i]-> nhap() ; } case 2: {SinhVien p; NS[i]=&p ; NS[i]-> nhap() ; } case 3: {GiupViec p; NS[i]=&p ; NS[i]-> nhap() ; }}
Theo tôi, với 3 trường hợp case, con trỏ NS[i] trỏ đến hàm nhập của các class cho phù hợp,để thêm Nhân Sự vào hệ thống.-> Các câu lệnh ở 3 trường hợp đều thực hiện tương tự nhau -> có sự Kết dính lôgic
Đánh giá chất lượng thiết kế Phần mềm_Kỹ Nghệ Phần Mềm
Hay một ví dụ khác trong phần thiết kế Nút sửa dữ liệu ở bảng
Cap_Nhat_Ho_So viết bằng ngôn ngữVb.net, Phần mềm quản lý tin 3b
h.Tables("hoso").Rows(0)("maso") DataGridView1.CurrentRow.Cells("hoten").Value = h.Tables("hoso").Rows(0)("hoten") ‘ cập nhật dữ liệu với mã số, họ tên mới khi khách hàng đồng ý lưu
frm.Dispose() ‘ đóng bảng frm End Sub
Đánh giá chất lượng thiết kế Phần mềm_Kỹ Nghệ Phần Mềm
Ở đây các câu lệnh đưa ra để kiểm tra các trường hợp để có thể sửa dữ liệu
hay không. Cụ thể các lệnh được giải thích rõ ở trên. Các lệnh if và do - loop
while ở trên đều có chức năng là kiểm tra các điều kiện để sửa dữ liệu hay
không. Vì vậy ở đây có sự kết dính logic.
Qua đây ta cũng thấy mức kết dính này được đánh giá chất lượng thiết kế
của nó vẫn tốt.
c. Kết dính thời điểm (temporal cohesion).
Các thành phần hoạt động cùng thời điểm.
Ở ví dụ thêm nhân sự tôi đưa ra trên, các câu lệnh trong trường hợp
Private Sub Button2_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click DG.ReadOnly = False Dim frm As New SUAPHONG frm.MdiParent = Me.MdiParent frm.maphong = DG.CurrentRow.Cells("maPB").Value frm.tenphong = DG.CurrentRow.Cells("tenPB").Value frm.sta = DG.CurrentRow.Cells("status").Value frm.Show() Do My.Application.DoEvents() Loop While frm.Visible = True Dim h As New DataSet Query("SELECT maPB,tenPB,status FROM bv_PHONGBENH", h, "a") DG.DataSource = h.Tables("a") End Sub
Class HinhChuNhat{int x,y;Public:int DienTich (int &x, int &y)