Bài giảng Phân tích và thiết kế hệ thống thông tin - Phần 1: Nguyên lý cung cấp cho người học các kiến thức: Vấn đề phân tích và thiết kế hệ thống thông tin, hệ thống, phương pháp luận phân tích và thiết kế HTTT, các hướng tiếp cận phổ biến, các phương pháp phát triển hệ thống phần mềm. Mời các bạn cùng tham khảo.
Phân tích & thiết kế H.T.T.T Phần 1: Nguyên lý Nguyễn Anh Hào Khoa CNTT2 – HV CNBCVT Cơ sở Tp.HCM 0913609730 – nahao@ptithcm.edu.vn Nội dung giảng Vấn đề phân tích & thiết kế HTTT – Đặt vấn đề (xem video) Hệ thống – – Hệ thống ? Hệ thống & mơi trường hoạt động Phương pháp luận phân tích thiết kế HTTT Các hướng tiếp cận phổ biến – Cấu trúc, đối tượng Các phương pháp phát triễn hệ thống phần mềm Đặt vấn đề (CLICK on Video) Khái niệm PT & TK hệ thống • PT-TK hệ thống : chuỗi công việc tìm giải vấn đề hệ thống hữu, gồm: • Phân tích hệ thống: Là q trình tư dựa chứng (dữ kiện thu từ thực tế) để xác định vấn đề hệ thống • Thiết kế hệ thống: Là trình thêm thay đổi phần hệ thống hữu để giải vấn đề biết • Ý nghĩa : tạo thay đổi tích cực lên hệ thống hữu (cải tiến cho hệ thống) • Để làm điều này, trước hết ta cần hiểu hệ thống Hệ thống (system) • Có nhiều thứ gọi hệ thống: hệ thống điện, hệ thống giao thông, hệ thống giáo dục,… Vậy hệ thống có đặc điểm giống ? – Đều người ta cố tình tạo → có mục đích – Có nhiều phận hợp thành theo quy luật • Khác với túi chứa nhiều vật dụng • Nếu tách phận khỏi hệ thống, vơ dụng • Cơng cụ (vd: tủ lạnh) có phải hệ thống ? – Khơng: người ta cần sử dụng chức – Có: bị hư hỏng, muốn sửa → phải tìm phận hư để sửa → coi hệ thống Định nghĩa hệ thống • Hệ thống : tập hợp gồm nhiều thành phần cộng tác thực vài chức chung, để đạt mục đích – Mục đích hệ thống (do người tạo ra) để thực chức cần thiết (cho người) – Mỗi thành phần (bộ phận, hệ thống con) hệ thống có lực riêng, khơng đủ để tự thực chức mong đợi (nó thực phần chức năng) – Khi đó, cộng tác thành phần hệ thống giúp cho hệ thống đạt mục đích Ví dụ: Máy ATM hệ thống Ví dụ: Nhà hàng hệ thống Tiền trả Nguyên liệu Nhà bếp (chế biến) Chính phủ (luật pháp) Đối thủ (cạnh tranh) Kho (lưu trữ) Hàng hóa, Dịch vụ Khách hàng (tiêu thụ) Tiền trả Văn phòng (điều khiển) Thông tin, mệnh lệnh Thức ăn Quầy phục vụ (bán) Tiền thu Ranh giới nhà hàng Môi trường Nhà cung câp (cung ứng) Nguyên liệu Các thuộc tính hệ thống Thành phần Hệ thống Giao tiếp Đầu A B Đầu vào C2 C1 Quan hệ nội Môi trường Ranh giới Các thuộc tính hệ thống 10 • Một hệ thống tồn có lý để tồn tại; mục đích hệ thống Mục đích thừa nhận có giá trị mơi trường (có người) Mơi trường tồn bên ngồi ranh giới hệ thống có liên quan tới hệ thống (chức ràng buộc) • Giá trị hệ thống có từ cộng tác bên hệ thống (quan hệ nội thành phần/hệ thống con), bộc lộ môi trường thành chức hệ thống (đầu vào, đầu ra, giao tiếp) OMT-Các loại mơ hình 33 Object & Object Relation Ship model – – Diển tả đặc tính tĩnh miền đối tượng mơ hình hóa Mơ tả lớp: thuộc tính hành vi riêng, quan hệ: liên kết (association), kết tập (aggregation) tổng quát hóa (generalization) Functional model – Diễn tả cách phối hợp hoạt động đối tượng hệ thống – Mô tả dịng thơng điệp: lđ tuần tự, hợp tác; dịng xử lý: lđ hoạt động – Các tình tương tác với bên hệ thống: use-cases Dynamic model – Diễn tả trạng thái thay đổi trạng thái mơ hình – Mơ tả trạng thái, chuyễn trạng thái, kiện kích hoạt chuyễn trạng thái hành động gây chuyển trạng thái (lđ trạng thái) • Ngữ pháp cho OMT: UML (UML Reference Manual 2nd.pdf) OMT-Các công đoạn 34 Phân tích hệ thống (xác định yêu cầu → đặc tả) – Coi toàn hệ thống đối tượng lớn, tương tác hữu ích môi trường (use-case) – Phân biệt biên & vai trị đối tượng mơi trường Thiết kế hệ thống (kiến trúc liên kết hệ thống) – Xem xét, tìm đối tượng liên kết thành hệ thống – Object Relationship, Dynamic model, Functinal model Thiết kế đối tượng (đặc tả nội dung chi tiết) – Dựa models, định nghĩa dịch vụ & tương tác mong đợi từ đối tượng thuộc hệ thống Hiện thực (cài đặt ý tưởng thiết kế) Mơ hình phát triễn hệ thống phần mềm35 • SDLC chuẩn (water-fall) phương pháp xây dựng hệ thống cổ điển áp dụng trực tiếp phương pháp luận giải vấn đề, gồm công đoạn giai đoạn: Khảo sát, Phân tích, Thiết kế, Hiện thực, Kiễm thử, Bảo trì • Khó thực trình tự này, yêu cầu bị thay đổi nhận thức gây làm lại nhiều • Thay dùng mơ hình water-fall địi hỏi bất biến cao đ/v yêu cầu ban đầu, SE tìm mơ hình linh hoạt hơn, cho phép cải tiến dần hệ thống, mơ hình làm mẫu thử, tiến hóa (xoắn ốc), đối tượng, hợp nhất,… Ý nghĩa mơ hình làm PM 36 • Các mơ hình phát triễn phần mềm tập hợp công đoạn hổ trợ với để qua đó, sản phẩm phần mềm làm theo cách tối ưu có kiễm sốt (tránh thiếu sót) • Phần mềm khơng áp dụng lần; cịn phải tiếp tục phát triễn ứng dụng (ie, cách làm phải hổ trợ cho thay đổi * lên phần mềm) Như vậy, có mục tiêu mà mơ hình hướng đến: Chuyễn giao phần mềm đạt chất lượng Tạo điều kiện thuận lợi cho phần mềm phát triễn liên tục sau chuyển giao (ie, làm thêm, không làm lại) * Hổ trợ thay đổi cách làm PM37 • Sự thay đổi PM sửa đổi ấn phẩm phần mềm (bản đặc tả yêu cầu, thiết kế, mã nguồn,…) • Như vậy, q trình phát triễn PM thực chất trình nhận biết thực thay đổi cần thiết cho tất ấn phẩm sử dụng cho PM; đó, dự định thay đổi cần xem xét nhiều khía cạnh, ví dụ: Nó gây khác biệt lên PM ? (ie, phiên tại) Nó có đáng làm hay khơng ? (lợi ích/thiệt hại) Nó thực vào PM ? (khó hay dể) • Sự xem xét thực thay đổi đưa đến nhu cầu hợp tác nhóm phát triễn: trao đổi thơng tin, có cơng nghệ hổ trợ (phương pháp, kỹ thuật, cơng cụ, kinh nghiệm,…) Mơ hình thác nước (tuyến tính) (User) Khảo sát (Developer) Phân tích Thiết kế Hiện thực Sửa lại (rework) 38 Có ấn phẩm cơng đoạn người phát triễn tạo chuyển giao Người sử dụng tiếp cận với sản phẩm sau làm theo yêu cầu ban đầu Kiễm thử Bảo trì (User) Mơ hình làm mẫu thử (mơ hình lặp)39 u cầu (User) Người sử dụng điều khiển trình phát triễn mẫu, dựa yêu cầu kết thực yêu cầu (mẫu) Mô hình khơng u cầu tạo đặc tả để truyền đạt cách làm Tạo mẫu (Developer) Mẫu ban đầu Mẫu cải tiến Kiễm thử mẫu (User) Mẫu hoàn chỉnh Ứng dụng mẫu Cải tiến mẫu (Developer) Yêu cầu cải tiến mẫu Mơ hình xoắn ốc (mơ hình tiến hóa)40 Planning Customer Communication Lập kế hoạch Yêu cầu & thay đổi Kiểm tra Đánh giá Customer Evaluation Risks Ước lượng rủi ro Tạo mẫu thử Xây dựng Thiết kế Design Cài đặt Construction 40 Đặc điểm mơ hình xoắn ốc 41 • Là mơ hình kết hợp thác nước làm mẫu thử – Mơ hình thác nước: Hổ trợ nhóm người phát triễn hệ thống làm việc chung với tài liệu đặc tả – Mơ hình mẫu thử: Hổ trợ người sử dụng tham gia (tư vấn) vào trình phát triễn sản phẩm từ đầu • Là mơ hình hổ trợ cho nhận thức từ chất đến chi tiết (từ bất biến đến tùy biến) – Cho phép cập nhật ấn phẩm công đoạn chu kỳ trước, thay phải tạo 41 – Cho phép tiếp tục phát triễn sản phẩm phần mềm giai đoạn ứng dụng Mơ hình hướng đối tượng (mơ phỏng) 42 Khảo sát hệ thống Phân tích yêu cầu & tương tác Obj Obj Obj Tìm đối tượng Thư viện Fail Kiễm thử Passed Ứng dụng Có sẵn ? No Phát triễn đối tượng Yes Xây dựng phần mềm Obj Đặc điểm mơ hình hướng đối tượng43 • Mơ hình mơ đối tượng thực tế giải pháp từ thực tế, để tạo phần mềm – Dùng UML (Unified Modeling Language) để lập mô hình • Bản chất mơ hình xây dựng thư viện đối tượng mô từ thực tế, để sử dụng lại cho việc cập nhật, nâng cấp phần mềm – Việc cập nhật phần mềm = tháo lắp đối tượng • Mơ hình có tính trực quan cao (dể hiểu, dể truyền đạt) đặc tả gần gủi với thực tế • Sự thay đổi thực tế có giải pháp thực tế đối tượng, nên dể mô (tháo lắp) Mơ hình hợp (UP/RUP) Luồng công việc Chu kỳ phát triễn (Introduction to RUP.pdf) 44 Các giai đoạn mơ hình UP 45 • Có giai đoạn để phát triễn version PM – – – – Inception (nhận thức): xác định vai trị PM, cách làm Elaboration(tinh chỉnh): mơ tả chi tiết cho PM Construction(xây dựng): làm phiên PM Transistion(chuyễn giao): đánh giá để sử dụng phiên làm • Mỗi giai đoạn gồm có vài chu kỳ phát triễn – Mỗi chu kỳ dùng mơ hình thác nước/mẫu thử/hướng đối tượng,… ; kết thúc mẫu thử (hoặc phần mềm) cho người sử dụng xem xét đánh giá sử dụng – Mỗi chu kỳ đưa vấn đề, giải pháp, biện pháp ứng xử rủi ro cho chu kỳ Luồng cơng việc UP • • 46 UP có loại luồng cơng việc (work-flow): tạo ấn phẩm (6 luồng đầu) quản lý (3 luồng cuối) Mỗi luồng công việc chuỗi hành động nhận thức, hiệu chỉnh, xây dựng chuyễn giao cho công đoạn làm phần mềm (6 luồng đầu), hổ trợ (3 luồng cuối) – – Mỗi luồng công việc không nằm gọn giai đoạn, mà trãi rộng suốt q trình phát triễn version Mỗi chu kỳ phát triễn giai đoạn tiếp tục thực hiện, bổ sung thêm hiệu chỉnh cho luồng công việc Đặc điểm mơ hình UP 47 • UP cải tiến linh hoạt mơ hình xoắn ốc – giai đoạn hổ trợ từ nhận thức đến thực tiễn – công đoạn (luồng công việc) phát triễn song song – Sử dụng tiếp cận hướng đối tượng • Mơ hình giúp nhận thức sớm nhiều vấn đề phát triễn hệ thống để chuẩn bị trước – Bằng cách phân tích nguyên nhân-hậu vấn đề thực tế minh họa giải pháp mẫu thử (demo) để test – Ví dụ: từ việc đánh giá mẫu thử, mơ hình giúp người phát triễn nhận biết trước vấn đề xuất việc thiết kế, cài đặt, vận hành,… để định nghĩa thêm xử lý luồng công việc ... PPL phân tích thiết kế hệ thống ? Phương pháp luận PT-TK - HTTT Thế giới ý niệm Hệ thống củ hoạt động Phân tích Yêu cầu hệ thống “Phát triễn” Thế giới thực Hệ thống phải làm Thiết kế Khảo sát Hệ. .. ranh giới hệ thống có liên quan tới hệ thống (chức ràng buộc) • Giá trị hệ thống có từ cộng tác bên hệ thống (quan hệ nội thành phần /hệ thống con), bộc lộ môi trường thành chức hệ thống (đầu vào,... thuộc tính hệ thống Thành phần Hệ thống Giao tiếp Đầu A B Đầu vào C2 C1 Quan hệ nội Môi trường Ranh giới Các thuộc tính hệ thống 10 • Một hệ thống tồn có lý để tồn tại; mục đích hệ thống Mục đích