Cung cấp các kiến thức cơ sở liên quan đến các
đối tượng chính trong CNPM: phần mềm, công
nghệ phần mềm, đặc trưng của phần mềm, tiến
trình, các phương pháp kỹ thuật thực hiện, các
phương pháp tổ chức quản lý, công cụ và môi
trường triển khai phần mềm.
• Giúp sinh viên hiểu biết các kiến thức nền tảng
để học tiếp các môn chuyên ngành CNPM.
• Phần thực hành giúp SV hiểu và biết tiến hành
xây dựng phần mềm (đơn giản) một cách có hệ
thống và có phương pháp.
874 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1273 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Slide bài giảng nhập môn công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
• Quan hệ giữa các component
Web site (ASPX) SMS Service (Windows Service)
Model/Info
Data AccessSQLClient
Business Process
Model/Info
COMP1026 – Introduction to Software Engneering CH4 – Part 4 - 87 HIENLTH
Các thành phần trong Component
Diagram
• Component
– Là một thành phần của hệ thống
– Thành phần có thể:
• Source code
• Lớp đối tượng (Class)
• Giao diện
• Web application
• Web Service
• Windows App (EXE)
• Thư viện liên kết (DLL)
• Cơ sở dữ liệu
• Table
•
Web site (ASPX)
SMS Service (Windows Service)
Oracle DB
COMP1026 – Introduction to Software Engneering CH4 – Part 4 - 88 HIENLTH
Các thành phần trong Component
Diagram
• Component
– Thuộc tính của Component:
• Interface
• Classes
• Port
• Part
• File
• Operation
Web site (ASPX)
SMS Service (Windows Service)
Oracle DB
COMP1026 – Introduction to Software Engneering CH4 – Part 4 - 89 HIENLTH
Các thành phần trong Component
Diagram
• Interface
– Tập hợp một số hành động của một lớp đối
tượng
– Tập các hàm dùng chung trong nhiều lớp
khác nhau
• Thành phần của Interface
– Property
– Operation
COMP1026 – Introduction to Software Engneering CH4 – Part 4 - 90 HIENLTH
Các thành phần trong Component
Diagram
• Quan hệ giữa các thành phần
– Quan hệ giữa component và interface
– Quan hệ giữa component và component
• Các loại quan hệ
– Generalization
– Realization
– Dependency
Data AccessSQLClient
Business Process
Model/Info
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 1 HIENLTH
Chủ đề 4: Thiết kế Phần mềm (tt)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 2 HIENLTH
USER INTERFACE DESIGN
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 3 HIENLTH
Nội dung
• Khái niệm giao diện
• Các thành phần giao diện
• Phân loại màn hình
• Một số tiêu chí thiết kế màn hình
• Sơ đồ màn hình, sitemap
• Mô tả chi tiết màn hình
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 4 HIENLTH
Thiết kế
giao diện
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 5 HIENLTH
Khái niệm giao diện
• Giao diện là gì?
– Phần mềm không hoạt động độc lập mà luôn
giao tiếp với:
• Người sử dụng
• Các hệ thống liên quan
cần thành phần chuyên trách giao tiếp:
Giao diện
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 6 HIENLTH
Khái niệm giao diện
• Đặc điểm:
– Nơi diễn ra tương tác
– Định nghĩa cách thức giao tiếp
– Tiếp nhận thông tin
– Phản hồi thông tin
• Phân loại:
– Giao diện người dung (User interface)
– Giao diện lập trình (Programming interface)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 7 HIENLTH
Khái niệm giao diện
• Thiết kế giao diện người dùng:
– Lập danh sách màn hình
• Xác định ngữ cảnh giao tiếp
• Dựa vào tình huống sử dụng (Use Case)
– Xây dựng sơ đồ màn hình
• Chuyển tiếp giữa các ngữ cảnh
• Mối quan hệ giữa các màn hình
– Bố trí các thành phần màn hình
• Sắp xếp các đơn vị giao diện màn hình
– Đặc tả màn hình
• Mô tả các thành phần màn hình
• Mô tả kịch bản sử dụng
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 8 HIENLTH
Multimedia
Tìm kiếm thông tin
Giao dịch điện tử
Xử lý thông tin
Tài liệu điện tử
Giao diện
Các thành phần của giao diện
Giao diện
nhập liệu Giao diện
kết xuất
Giao diện
tương tác
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 9 HIENLTH
Các thành phần giao diện
• Thành phần tiếp nhận thông tin
– Ra lệnh: Button
– Nhập liệu: TextBox
– Lựa chọn: ComboBox, ListBox, CheckBox,
RadioButton
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 10 HIENLTH
Các thành phần giao diện
• Thành phần phản hồi thông tin
– Thông tin đơn: Label, Textbox, MessageBox
– Thông tin phức: ListView, GridView, Report
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 11 HIENLTH
Phân loại giao diện
• Giao diện DOS
• Giao diện Windows
• Giao diện Web
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 12 HIENLTH
Các thành phần giao diện đồ họa - GUI
Dialog
SDI – Single Document Interface
MDI – Multiple Document Interface
Có một cửa sổ làm việc
Thường có kích thước cố định
Thường không có menu bar
Có một cửa sổ làm việc
Cho phép thay đổi kích thước cửa sổ (Resizeable)
Không có cửa sổ con
Có một cửa sổ làm việc chính (Main frame) và nhiều cửa sổ con (Child
Frame)
Cho phép thay đổi kích thước cửa sổ (Resizeable)
Cho phép Minimize/Maximize/Close/Arrange/Cascade cửa sổ con
The linked image cannot be displayed. The file may have been mov ed, renamed, or deleted. Verify that the link points to the cor rect file and location.
Calculator Paint Workflow Editor
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 13 HIENLTH
Phân loại màn hình
• Màn hình đăng nhập
• Màn hình giới thiệu
• Màn hình chính
• Màn hình tác giả
• Màn hình danh mục
• Màn hình nhập liệu
– Nhập liệu trực tiếp
– Nhập liệu gián tiếp (import)
• Màn hình tra cứu
• Màn hình xử lý tính toán
• Màn hình thể hiện báo biểu/thống kê
• Màn hình thể hiện đối tượng: sơ đồ, cây, biểu tượng
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 14 HIENLTH
Màn hình đăng nhập
• Hình thức thể hiện
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 15 HIENLTH
Màn hình đăng nhập
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 16 HIENLTH
Màn hình chính
• Hình thức thể hiện (Windows)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 17 HIENLTH
Màn hình chính (Windows)
• Ví dụ minh họa
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 18 HIENLTH
Màn hình chính (Windows)
• Ví dụ minh họa
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 19 HIENLTH
Màn hình tra cứu
• Tiêu chuẩn tra cứu (Search/Filter)
– Thiết kế cố định
• Dễ thiết kế/lập trình
• Không có tính mở rộng
– Cho phép người dùng thêm/xóa các tiêu chuẩn trong
quá trình tìm kiếm
• Dễ dụng, mở rộng, tùy biến
• Khó thiết kế/lập trình
• Tham khảo: Microsoft Outlook 2007,
– Đối với danh sách (Grid, Sheet), cho phép người dùng
chọn trực tiếp từ thanh filter (tương tự như Excel)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 20 HIENLTH
Màn hình tra cứu
• Hình thức thể hiện
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 21 HIENLTH
Quy tắc thiết kế giao diện
• Quy tắc về màu sắc:
– Dùng màu nhất quán
– Giới hạn số lượng màu
– Không dùng màu sặc sỡ
– Cẩn trọng các màu tương phản
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 22 HIENLTH
Quy tắc thiết kế giao diện
• Tính nhất quán
– Màu sắc
– Vị trí của các đối tượng
– Sử dụng ký hiệu
• Tính trực quan
– Hình thức thể hiện
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 23 HIENLTH
Quy tắc thiết kế giao diện
• Tính nhất quán:
– Vị trí của đối tượng
Không nhất quán
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 24 HIENLTH
Quy tắc thiết kế giao diện
• Tính nhất quán:
Không nhất quán vì:
•Màn hình 1: sử dụng màu sắc để biểu diễn các thuộc tính bắt buộc.
•Màn hình 2: sử dụng ký hiệu (*) để biểu diễn các thuộc tính bắt buộc.
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 25 HIENLTH
Quy tắc thiết kế giao diện
• Tính trực quan
– Hình thức thể hiện: sử dụng sơ đồ, biểu
tượng, hình ảnh, cây để biểu diễn dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 26 HIENLTH
Quy tắc thiết kế giao diện
• Tính trực quan
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 27 HIENLTH
Quy tắc thiết kế giao diện
• Tính trực quan
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 28 HIENLTH
Quy tắc thiết kế giao diện
• Tính trực quan
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 29 HIENLTH
Quy tắc thiết kế giao diện
• Quy tắc về thông báo:
– Nhất quán
– Lịch sự
– Cô đọng nhưng dễ hiểu
– Nên kèm diễn giải, gợi ý
– Không dùng ngôn ngữ: đại chúng, chuyên
dụng, kỹ thuật
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 30 HIENLTH
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 31 HIENLTH
Quy tắc thiết kế giao diện
• Quy tắc về kiểm tra nhập liệu
– Kiểm tra tất cả dữ liệu nhập
– Dựa trên:
• Ràng buộc tự nhiên
• Ràng buộc nghiệp vụ
– “Phòng bệnh hơn chữa bệnh”
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 32 HIENLTH
Quy trình
1. Mục đích màn hình
2. Vẽ giao diện màn hình. Trong đó có ghi
chú các control đặc biệt dạng
,,,, và đánh dấu rõ các sự kiện
dạng (1), (2),
3. Mô tả các control
4. Mô tả các sự kiện (biến cố) và cách xử lý
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 33 HIENLTH
Mô tả các control
STT Tên Kiểu Ý nghĩa Ghi chú
1 txtHoTen TextBox Tên học sinh Không được rỗng
2 txtDiemThi TextBox Điểm thi Chỉ cho nhập số
nguyên từ 0 đến 10
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 34 HIENLTH
Mô tả sự kiện
STT Điều kiện kích hoạt Xử lý
0 Khởi động màn hình ???
1 Chọn lớp ???
(0)
(1)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 35 HIENLTH
Câu hỏi và thảo luận
•
?
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 36 HIENLTH
THIẾT KẾ MENU
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 37 HIENLTH
Hệ thống thực đơn (Menu)
• Hệ thống thực đơn chính
– Hệ thống thực đơn trong màn hình chính của
mỗi phân hệ (module)
• Hệ thống thực đơn ngữ cảnh
– Thực đơn sử dụng khi click chuột phải lên một
hoặc một nhóm đối tượng trên màn hình
– Thực đơn sử dụng khi click chuột phải lên một
dòng trong lưới (Grid)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 38 HIENLTH
Giới thiệu Menu
Menu Bar
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 39 HIENLTH
Giới thiệu Menu
Popup Menu
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 40 HIENLTH
Các thành phần trên Menu bar
Popup Menu
Popup Menu
Menu Bar
Menu Item
Separator
Popup Menu
Popup Menu
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 41 HIENLTH
Tổ chức hệ thống thực đơn chính
• Hệ thống
• Danh mục
• Nhóm chức năng 1 (nghiệp vụ 1)
• Nhóm chức năng 2 (nghiệp vụ 2)
• Tra cứu
• Báo cáo (Report)
• Công cụ/tiện ích (Tools/Utilities)
• Trợ giúp (Help)
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 42 HIENLTH
Tổ chức hệ thống thực đơn
(Menu)
• Hệ thống thực đơn Microsoft Word 2003
• Hệ thống thực đơn Microsoft PowerPoint 2003
• Hệ thống thực đơn Total Commander
• Hệ thống thực đơn chương trình QL thư viện
• Hệ thống thực đơn chương trình QL nhân sự
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 43 HIENLTH
Hệ thống thực đơn
• Hệ thống
– Cấu hình hệ thống
– Đăng nhập
– Đổi mật khẩu
– Thoát
• Danh mục
– Danh mục nhân viên
– Danh mục quận huyện
– Danh mục tỉnh thành
– Danh mục hàng hóa
– .
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 44 HIENLTH
Hệ thống thực đơn
• Nhóm chức năng 1
– Chức năng 1.1
– Chức năng 1.2
– Chức năng 1.3
– Chức năng 1.4
• Nhóm chức năng 2
– Chức năng 2.1
– Nhóm chức năng 2.2
– Chức năng 2.3
– Chức năng 2.4
– .
DEMO
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 45 HIENLTH
Biểu diễn hệ thống thực đơn
• Ví dụ: hệ thống
chức năng ứng
dụng quản lý
học sinh
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 46 HIENLTH
Thiết kế báo cáo (Report)
• Phân loại Report
– Report theo mẫu qui định
– Report không theo mẫu
• Công cụ sử dụng
– Sử dụng Tools và Controls
– Sử dụng excel/word,
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 47 HIENLTH
Ví dụ minh họa report
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 48 HIENLTH
Thiết kế báo cáo
• Công cụ sử dụng
– MS Access 2000/XP/2003
– Crystal Report 8.5/9/10/11
– ActiveReport - DataDynamics
– C1Report – ComponentOne
– MS Excel, Word,
–
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 49 HIENLTH
Công cụ tạo Report
• MS Access 2000/XP/2003/2007
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 50 HIENLTH
Công cụ tạo Report
• Crystal Report 8.5/9/10/11
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 51 HIENLTH
Công cụ tạo Report
• ActiveReport – DataDynamics
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 52 HIENLTH
Công cụ tạo Report
• C1Report - ComponentOne
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 53 HIENLTH
References
Bài giảng này tham khảo từ nguồn:
• Slide CNPM, Nguyễn Minh Huy, ĐH KHTN
TpHCM.
• Slide CNPM, Trần Ngọc Bảo, ĐH Sư phạm
TpHCM
• Slide Thiết kế PM hướng đối tượng, Trần
Minh Triết, ĐH KHTN TpHCM.
COMP1026 – Introduction to Software Engneering CH4 – Part 3 - 54 HIENLTH
Câu hỏi và thảo luận
?
1Nhập môn Công nghệ Phần mềm
Chủ đề 5: CÀI ĐẶT PHẦN MỀM
Lương Trần Hy Hiến, Khoa CNTT, ĐHSP TpHCM
Textbook
• Pressman, Software Engineering, chapter 16
• Sommerville, Software Engineering, chapter 19
2
Cảm ơn
Bài giảng này tham khảo từ các nguồn sau:
• Slide bài giảng CNPM, Trần Ngọc Bảo, ĐH
Sư phạm TpHCM
• Slide bài giảng CNPM, Trần Anh Dũng, ĐH
CNTT, ĐHQG TpHCM.
3
Khảo sát
Phân tích
Thiết kế
Cài đặt
Kiểm tra
Triển khai
Bảo trì
Kết quả:
Nội dung: • Tạo CSDL
• Tạo giao diện
• Cài đặt các xử lý
• Source code:
Giao diện
DLL
ActiveX Control
Sample Database
• Chương trình: EXE, Web App
Giai đoạn cài đặt
4
Cài đặt
• Mục tiêu:
– Biết cách sử dụng môi trường phát triển để xây
dựng chương trình phần mềm
– Biết cách quản lý chia sẽ Source Code
• Nội dung
– Tổng quan
– Phương pháp lập trình
– Một số qui tắc lập trình
– Kiến trúc mô hình 1 lớp, 2 lớp, 3 lớp
– Sử dụng công cụ Visual Source Safe để tổ chức,
quản lý, chia sẻ source code.
5
Tổng quan
• Cài đặt: Là quá trình chuyển đổi từ thiết kế
chi tiết sang mã lệnh.
• Thế nào là ngôn ngữ lập trình tốt?
– Tập trung vào nhu cầu xác định dự án phát triển của
từng phần mềm riêng.
– Có thể thiết lập được một tập hợp tổng quát những
yêu cầu như sau:
• Dễ dịch thiết kế sang chương trình
• Có trình biên dịch hiệu quả,
• Khả chuyển chương trình gốc
• Có sẵn công cụ phát triển
– Dễ bảo trì
6
Ngôn ngữ lập trình tốt
• Dễ dịch thiết kế sang chương trình
– Về lý thuyết, việc sinh chương trình gốc từ
một đặc tả chi tiết nên là trực tiếp.
– Tính dễ dịch thiết kế sang chương trình sẽ cho
phép một ngôn ngữ cài đặt trực tiếp cho các
kết cấu có cấu trúc, các cấu trúc dữ liệu phức
tạp, các vào/ra đặc biệt, khả năng thao tác bit
và các đối tượng.
– Làm cho việc dịch từ thiết kế sang chương
trình gốc dễ hơn nhiều.
7
Ngôn ngữ lập trình tốt
• Có trình biên dịch hiệu quả
– Mặc dầu những tiến bộ nhanh chóng trong
tốc độ xử lý và mật độ nhớ đã bắt đầu làm
giảm nhẹ nhu cầu chương trình siêu hiệu quả,
nhiều ứng dụng vẫn còn đòi hỏi các chương
trình chạy nhanh, gọn (yêu cầu bộ nhớ thấp).
– Các ngôn ngữ với trình biên dịch tối ưu có thể
là hấp dẫn nếu hiệu năng phần mềm là yêu
cầu chủ chốt.
8
Lựa chọn NNLT
• Phụ thuộc vào cấu hình máy
• Phụ thuộc vào số lượng ngôn ngữ lập
trình sẵn có
• Phụ thuộc vào thói quen sử dụng ngôn
ngữ lập trình
• Phụ thuộc vào khách hàng
•
Cần đánh giá rủi ro khi chọn ngôn ngữ
lập trình
9
Kỹ năng lập trình
• Hiểu rõ ngôn ngữ (language-specific)
• Sử dụng tên biến thích hợp và có nghĩa
– Tên biến phải rõ ràng, tránh nhầm lẫn
• Nên có các chú thích bên trong mô-đun
• Mã lệnh chuẩn
– Thống nhất về cách đặt tên Mô-đun, tên hàm,
tên biến,
• Khả năng tái sử dụng 10
Kỹ năng lập trình
• Thông tin tối thiểu của một mô-đun:
– Tên mô-đun
– Mô tả vắn tắt các công việc mô-đun phải thực
hiện
– Tên lập trình viên
– Ngày viết
– Ngày chỉnh sửa
– Danh sách các tham số
– Danh sách các biến
– 11
Lựa chọn phương pháp lập
trình?
• Lập trình tuyến tính (tuần tự)
– Khó sửa, dễ sinh lỗi
• Lập trình có cấu trúc (thủ tục)
– Dễ hiểu hơn, an toàn hơn
• Lập trình hướng chức năng
– Trao đổi dữ liệu bằng tham số
– Loại bỏ hoàn toàn dữ liệu dùng chung
• Lập trình hướng đối tượng
– Tái sử dụng, thuận tiện cho các ứng dụng lớn
• Lập trình Logic
– Mô tả tri thức (Prolog)
12
Lập trình tuyến tính
• Khi các phần mềm còn rất đơn giản:
– Chương trình được viết tuần tự với các câu
lệnh thực hiện từ đầu đến cuối.
• Tuy nhiên:
– Khoa học máy tính ngày càng phát triển.
– Các phần mềm đòi hỏi ngày càng phức tạp và
lớn hơn rất nhiều.
• Phương pháp lập trình tuyến tính kém
hiệu quả?
13
Lập trình cấu trúc
• Phương pháp lập trình thủ tục hay lập
trình cấu trúc
– Hệ thống chia các chức năng (hàm) thành các
chức năng nhở hơn.
– Chương trình được tổ chức thành các chương
trình con
– Chương trình = Cấu trúc dữ liệu + giải thuật
• Tổ chức dữ liệu như thế nào?
• Khi thay đổi cấu trúc dữ liệu?
14
Lập trình Hướng đối tượng
• Lập trình hướng đối tượng – Lập trình định
hướng đối tượng - OOP
– Là phương pháp lập trình lấy đối tượng làm
nền tảng để xây dựng thuật giải, xây dựng
chương trình.
– Dữ liệu + Hành vi của dữ liệu = Đối tượng
• Cách tiếp cận gần gũi và thực tế
15
CSDL trong ứng dụng quản lý
Kết nối
CSDL
CT Kế toán CT Nhân sự CT Tiền lương
CSDL CSDL CSDL
Kết nối
CSDL
Kết nối
CSDL
16
CSDL trong ứng dụng quản lý
CT Nhân sự
CSDL
Kết nối
CSDL
Thành phần dữ liệu
Thành phần giao diện
Giao tiếp dữ liệu
17
CSDL trong ứng dụng quản lý
CT Nhân sự
CSDL
Kết nối
CSDL
Thành phần dữ liệu: MS
Access, SQL Server,
Oracle,
Thành phần giao diện:
Visual Basic, Visual C++,
C#, VB.NET, Delphi
Giao tiếp dữ liệu: ODBC,
DAO, ADODB, ADO.NET,..
18
MÔ HÌNH ĐA LỚP (Multi-Layers)
19
Nội dung
• Mô hình 1 tầng, 2 tầng, 3 tầng
• Phân biệt 3-tier, 3-layer
• Vai trò và nhiệm vụ của mỗi layer
• Quản lý ngoại lệ trong mô hình 3-layer
20
Mô hình kiến trúc 1 tầng (1 layer)
Người dùng
Dữ liệu của X
Màn hình nhiệm vụ f
I/O
Xử lý biến cố
Xử lý chính
Xử lý trên dữ liệu
21
Mô hình kiến trúc 1 tầng (1 layer)
Người dùng 1 Người dùng 3Người dùng 2
Màn hình 1 Màn hình 2 Màn hình 3 Màn hình 4
Dữ liệu 1 Dữ liệu 2 Dữ liệu 3
Người
sử
dụng
Phần
mềm
Bộ nhớ
phụ
22
Mô hình kiến trúc 1 tầng (1 layer)
• Hệ thống trên bao gồm:
– 3 người sử dụng
– 4 đơn vị xử lý
– 3 đơn vị lưu trữ
• Đặc điểm: Không có sự phân loại các xử lý
• Ưu điểm: Thiết kế và lập trình nhanh
• Khuyết điểm:
– Mỗi đơn vị xử lý phức tạp
– Khó bảo trì
– Không có tính tái sử dụng
Để khắc phục những
khuyết điểm
??? 23
Người dùng
Dữ liệu của X
Màn hình nhiệm vụ f
I/O
Xử lý biến cố
X
I/O
Xử lý biến cốXử lý chính
Xử lý trên dữ liệu
Mô hình kiến trúc 2 tầng (2 layer)
24
Mô hình kiến trúc 2 tầng (2 layer)
Hệ thống Người dùng
Hệ thống đơn vị xử lý thể hiện
Hệ thống đơn vị xử lý nghiệp vụ và lưu trữ
Hệ thống đơn vị lưu trữ
25
• Đặc điểm: Các đơn vị xử lý được phân
thành 2 loại
– Loại 1: Các đơn vị xử lý chuyên biệt về giao
tiếp người dùng
– Loại 2: Các đơn vị xử lý nghiệp vụ (kiểm tra,
tính toán), lưu trữ (đọc, ghi)
• Ưu điểm, khuyết điểm ?
Mô hình kiến trúc 2 tầng (2 layer)
26
Người dùng
X
Dữ liệu của X
Màn hình nhiệm vụ f
DL_X
I/O
Xử lý biến cố
Xử lý chính
Xử lý trên dữ liệuXử lý trên dữ liệu
Mô hình kiến trúc 3 tầng (3 layer)
27
Mô hình kiến trúc 3 tầng (3 layer)
Hệ thống Người dùng
Hệ thống đơn vị xử lý thể hiện
Hệ thống đơn vị xử lý nghiệp vụ
Hệ thống đơn vị lưu trữ
Hệ thống đơn vị xử lý lưu trữ
28
3-tier vs 3-layer
29
Vai trò của các layer
• GUI (Presentation) Layer:
– Thu thập và hiển thị thông tin cho người dùng
cuối.
– Không sử dụng trực tiếp các dịch vụ của lớp
Data Acces.
– Sử dụng các dịch vụ do lớp Business Logic
cung cấp.
– Ở lớp này, chúng ta có thể bỏ qua các ràng
buộc, các logic nghiệp vụ của ứng dụng.
30
Vai trò của các layer
• Business Logic Layer:
– Lớp này thực hiện các nghiệp vụ chính của hệ
thống (Ví dụ: kiểm tra các yêu cầu nghiệp vụ
trước khi cập nhật dữ liệu)
– Sử dụng các dịch vụ do lớp Data Access cung cấp.
– Cung cấp các dịch vụ cho lớp Presentation
31
Vai trò của các layer
• Data Access Layer:
– Lớp này thực hiện các công việc liên quan đến lưu
trữ và truy xuất dữ liệu của ứng dụng.
– Cung cấp các dịch vụ cho lớp Business Logic sử
dụng.
– Sử dụng các dịch vụ của các hệ quản trị cơ sở dữ
liệu như MySql, SQL Server, Oracle, để thực hiện
nhiệm vụ của mình.
32
Các lưu ý quan trọng
• Phân biệt vai trò Business Layer và khái
niệm “xử lý”
• Mỗi Layer vẫn có xử lý riêng, đặc trưng
của Layer đó
• Đôi khi việc quyết định 1 xử lý nằm ở layer
nào chỉ mang tính chất tương đối
33
Việc trao đổi liên lạc giữa các
layer
Data Transfer Object (DTO)
Các giá trị, dòng, bảng
34
Sự phụ thuộc giữa các layer
Data Transfer Object
(DTO)
35
Tính chất của mô hình 3-layer
• Giảm sự kết dính giữa các thực thể phần
mềm (decoupling)
• Tái sử dụng
• Chia sẻ trách nhiệm
36
Quản lý ngoại lệ
• Ngoại lệ có thể xảy ra ở bất kỳ layer nào
• Khi ngoại lệ xảy ra ở một layer thì:
– Xử lý nội bộ trong layer đó
– “Quăng” ngoại lệ lên layer “cao hơn”
– Không xử lý
• Khi một layer nhận ngoại lệ từ một layer
“thấp hơn”
– Xử lý nội bộ
– “Quăng” ngoại lệ lên layer “cao hơn”
– Không xử lý
37
Phát triển ứng dụng
38
Phát triển ứng dụng
Business Logic Layer
Data Access Layer
Data Transfer Object
39
Phát triển ứng dụng
• Các lớp DTO
– Nội dung mỗi lớp gồm:
• Fields
• Các phương thức khởi tạo.
• Các phương thức set, get
– VD: SanPhamDTO, LoaiSanPhamDTO
40
Phát triển ứng dụng
• Các lớp DAL
– Ứng với mỗi bảng trong database tạo một class DAL
tương ứng.
– VD: SanPhamDAL, LoaiSanPhamDAL
41
Phát triển ứng dụng
• Các lớp BLL
– Tạo các class giao tiếp với lớp Presentation
– Sử dụng các dịch vụ ở lớp DAL để xử lý
nghiệp vụ.
– VD: SanPhamBLL, LoaiSanPhamBLL
42
Phát triển ứng dụng
• Các lớp PL
– Giao tiếp với người dùng.
– Sử dụng các dịch vụ do lớp Business cung cấp.
– VD: Xuất ra màn hình.
43
Phát triển ứng dụng
44
Phát triển ứng dụng
DEMO
45
Câu hỏi và thảo luận
?
46
Thank you!!!
47
1Nhập môn Công nghệ Phần mềm
Chủ đề 6: KIỂM THỬ PHẦN MỀM
Lương Trần Hy Hiến, Khoa CNTT, ĐHSP TpHCM
Tài liệu – Textbook
• Pressman, Kỹ nghệ phần mềm, chương
18~19.
• Sommerville: Software Engineering,
chương 22~23.
References
Bài giảng này tham khảo từ các nguồn sau:
• Slide bài giảng CNPM, Trần Ngọc Bảo, ĐH
Sư phạm TpHCM
• Slide bài giảng CNPM, Trần Anh Dũng, ĐH
CNTT, ĐHQG TpHCM.
3
Khảo sát
Phân tích
Thiết kế
Cài đặt
Kiểm tra
Triển khai
Bảo trì
Kết quả:
Nội dung:
• Kiểm lỗi
• Kiểm lỗi phân hệ
• Kiểm lỗi hệ thống
• Roadmap
• Test plan
• Test case
• Bug
• Test report
Giai đoạn kiểm tra
Mục tiêu
• Biết được quy trình kiểm thử phần mềm
• Biết được các khái niệm liên quan đến
kiểm thử (testing)
• Biết được các bước kiểm thử
• Biết sử dụng một số công cụ hỗ trợ
testing
• Biết viết sưu liệu kiểm thử
Nội dung
• Khái niệm kiểm thử phần mềm
• Một số đặc điểm của kiểm thử phần mềm
• Tại sao kiểm thử lại cần thiết?
• Qui trình kiểm thử
• Tổ chức và vai trò của các thành viên trong
nhóm test
• Công cụ hỗ trợ test:
• Công cụ theo dõi quá trình test
• Công cụ hỗ trợ test tự động
• Sưu liệu kiểm thử: Test plan, test case, test log,
test report,
• Kiểm thử là gì?
that can
cause a failure
in operation
A person makes
an error ... that creates
a fault (bug,
defect) in the
software ...
Khái niệm kiểm thử phần mềm
Khái niệm kiểm thử phần mềm
• Kiểm thử phần mềm là quá trình thực thi
phần mềm với mục tiêu tìm ra lỗi
Glen Myers, 1979
Khẳng định được chất lượng của phần
mềm đang xây dựng
Hetzel, 1988
Một số đặc điểm kiểm thử PM
• Kiểm thử phần mềm giúp tìm ra được sự hiện diện của
lỗi nhưng không thể chỉ ra sự vắng mặt của lỗi
Dijkstra
• Mọi phương pháp được dùng để ngăn ngừa hoặc tìm ra
lỗi đều sót lại những lỗi khó phát hiện hơn
Beizer
• Điều gì xảy ra nếu việc kiểm thử không tìm được lỗi
trong phần mềm hoặc phát hiện quá ít lỗi
– Phần mềm có chất lượng quá tốt
– Quy trình/Đội ngũ kiểm thử hoạt động không hiệu quả
Tại sao kiểm thử lại cần thiết?
• Thông thường thì phần mềm không hoạt động như
mong muốn lãng phí tiền bạc, thời gian, uy tín của
doanh nghiệp, thậm chí có thể gây nên thương tích hay
cái chết.
• Ví dụ:
– Website công ty có nhiều lỗi chính tả trong câu chữ
Khách hàng có thể lãng tránh công ty với lý do
công ty trông có vẻ không chuyên nghiệp.
– Một phần mềm tính toán lượng thuốc trừ sâu dùng
cho cây trồng, vì lý do tính sai số lượng lên gấp 10 lần
Nông dân phải bỏ nhiều tiền mua, cây trồng hư hại,
môi trường sống, nguồn nước bị ảnh hưởng,.
Tại sao kiểm thử lại cần thiết?
• Kiểm thử phần mềm chất lượng phần mềm
được nâng cao.
• Chúng ta có thể đánh giá chất lượng phần mềm
dựa vào số lượng lỗi tìm thấy và các đặc tính
như: tính đúng đắn, tính dễ sử dụng, tính dễ bảo
trì,
• Kiểm thử có thể đem lại sự tin tưởng đối với chất
lượng phần mềm nếu có ít lỗi hoặc
Các file đính kèm theo tài liệu này:
- baigiangnhapmoncongnghephanmem_7876.pdf