Slide bài giảng nhập môn công nghệ phần mềm

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.

pdf874 trang | Chia sẻ: Mr Hưng | Lượt xem: 1137 | Lượt tải: 0download
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:

  • pdfbaigiangnhapmoncongnghephanmem_7876.pdf
Tài liệu liên quan