Tài liệu Kỹ nghệ phần mềm 06 docx

61 337 2
Tài liệu Kỹ nghệ phần mềm 06 docx

Đ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

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 6: Các hot đng thit k ̈ ThiÕt kÕ kiÕn tróc ̈ ThiÕt kÕ giao diÖn B môn Công ngh phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B mụn Cụng ngh phn mm HCN 4 NguynVnV Thiết kế kiến trúc phần mềm software achitecture design Khái niệm kiến trúc Kiến trúc phần mềm chỉ cấu trúc tổng thể của 1 phần mềm và cách thừc t chc qua đó cho ta 1 sự tích hợp về mặt khái niệm của 1 hệ thống [SHA95a] Thông thờng: thể hiện bằng một biểu đồ phân cấp của các thnh phần v quan hệ giữa chúng Đầy đủ: thể hiện cầu trúc hệ thống theo nhiều góc nhìn khác nhau: tĩnh, động, dữ liệu, triển khai [SHA95a] Shaw,M and D.Garlan, Formulation and formalisms in software achitecture, volume 100-lecture Notes in computer Science, Springer-verlag,1995 B mụn Cụng ngh phn mm HCN 5 NguynVnV Vai trò kiến trúc phần mềm giúp kĩ s hệ thống: Phân tích tính hiệu quả của thiết kế đáp ứng đợc yêu cầu của phần mềm Tìm các giải pháp thay thế cấu trúc ở giai đoạn sớm Giảm các rủi ro liên quan tới cấu trúc Không phải l mô hình hoạt động l mô hình phân hoạch theo nhng cách nhìn khác nhau (chức năng, dữ liệu, tiến trình, tĩnh hay động ) B mụn Cụng ngh phn mm HCN 6 NguynVnV Khái niệm thiết kế kiến trúc ạ Quá trình xác định các hệ con lập thành hệ thống và khung làm việc để điều khiển & giao tiếp giữa các hệ con với nhau ạ Bắt đầu sớm ngay từ giai đoạn đầu của thiết kế hệ thống, tiến hnh cùng với một số hoạt động đặc tả ạ Nó bao gồm việc xác các thnh phần chính của hệ thống sự truyền thống giữa chúng B mụn Cụng ngh phn mm HCN 7 NguynVnV Các bớc thiết kế kiến trúc 1. Cấu trúc hóa hệ thống: phân chia hệ thống thnh các hệ con (sub-system) độc lập v xác định trao đổi thông tin giữa các hệ con xác nh các giao diện của chúng 2. Mô hinh hóa điều khiển: xác lập mô hinh điều khiển giữa các phần khá nhau của hệ thống đã đợc xác định 3. Phân rã thnh các module: phân rã các hệ con thnh các module. ơ Hệ con: phần hệ thống hoạt động độc lập với các dịch vụ m các hệ con khác cung cấp ơ Môdun: phần hệ thống cung cấp dịch vụ v tơng tác cùng phần khác để tạo ra dịch vụ hay sản phẩm B mụn Cụng ngh phn mm HCN 8 NguynVnV Các mô hình kiến trúc Các mô hình kiến trúc khác nhau đợc tạo ra trong quá trình thiết kế Mỗi mô hình biểu diễn một cách nhìn của kiến trúc Mô hình kiến trúc tĩnh chỉ ra các thnh phần chính của hệ thống (biểu đồ phân rã) Mô hình động chỉ ra cấu trúc tiến trình của hệ thống (biểu đồ luồng dữ liệu) Mô hình giao diện xác định hệ thống giao diện của hệ thống (hệ thống giao diện tơng tác) Mô hình mối quan hệ nh mô hình kháI niệm thực thể miền dữ liệu của hệ thống B mụn Cụng ngh phn mm HCN 9 NguynVnV Một số mô hình kiến trúc 1.Kiến trúc dữ liệu tập trung (Data-centered architectures) 2.Kiến trúc khách/dịch vụ (Client-server architectures) 3.Kiên trúc phân tầng (Layered architectures) 4.Kiến trúc gọi v trả lại (Call and return architectures) 5.Kiến trúc luồng dữ liệu (Data flow architectures) 6.Kiến trúc hớng đối tợng (Object-oriented architectures) B môn Công ngh phn mm – HCN 10 NguynVnV Kho d÷ liÖu (repository) PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch KiÕn tróc d÷ liÖu tËp trung [...]... Kho dữ liệu của dự án (prọject repository) Bộ dịch thiết kế B mụn Cụng ngh ph n m m Bộ biên tập ch ơng trình HCN Bộ tạo sinh mã Bộ tạo sinh báo cáo 11 Kiến trúc dữ liệu trung tâm(t) Nguy nV nV Ưu điểm Tiện lợi cho chia sẻ dữ liệu lớn Phân hệ không cần biết dữ liệu đ ợc quản lý v tạo ra nh thế n o (sao l u, bảo mật, ) Nh ợc điểm Các hệ con phải theo mô hình dữ liệu của kho Việc tiến hoá dữ liệu. .. chuyển dữ liệu đến nơi cần gọi l trung tâm giao dịch B mụn Cụng ngh ph n m m HCN 30 Ví dụ: kiến trúc luồng giao dịch Nguy nV nV e d b i J t f g h a K m Luồng giao dich ánh xạ luồng giao dịch x1 t b x3 x2 a d e f x4 g l K x3.1 h m i J B mụn Cụng ngh ph n m m HCN 31 Thiết kế giao diện Nguy nV nV Vai trò, tầm quan tr ng một khâu không thể thiếu trong thiết kế phần mềm ng ời dùng đánh giá phần mềm qua... sao cần phân hoạch kiến trúc Nguy nV nV Tạo ra phần mềm dễ kiểm thử dễ bảo trì hạn chế hiệu ứng phụ khi sửa đổi dễ mở rộng B mụn Cụng ngh ph n m m HCN 25 Thiết kế cấu trúc ch ơng trình Nguy nV nV Mục tiêu: tạo ra module có kiến trúc tốt: đ ợc phân hoạch hợp lý, liên kết qua điều khiến Cách tiếp cận: chuyển đổi (mapping) DFD th nh kiến trúc phần mềm Ký pháp: biểu đồ có cấu trúc (structure chart)... diện Thiết kế giao diện: h ớng ng ời dùng che dấu chi tiết kỹ thuật bên trong kết hợp 3 măt: ng ời dùng, chức năng, công nghệ B mụn Cụng ngh ph n m m HCN 32 Vai trò, tầm quan trọng Nguy nV nV ạ L ph ơng tiện để ng ời dùng sử dụng hệ thống Giao diện thiết kế nghèo n n ng ời dùng dễ mắc lỗi Giao diện thiết kế tồi l lý do nhiều phần mềm không đ ợc sử dụng ạ Giao diện trợ giúp ng ời dùng l m việc... thêm dịch vụ Nh ợc điểm Các hệ con dùng cấu trúc dữ liệu khác nhau không chia sẻ đ ợc, trao đổi dữ liệu có thể không hiệu quả Quản lý ở mỗi server l d thừa Không l u giữ chung tên v dịch vụ -> khó tìm server hay dịch vụ rỗi Đang l mô hình phát triển ứng dụng phổ biến B mụn Cụng ngh ph n m m HCN 14 Kiến trúc phân tầng Layered Architecture Các th nh phần Nguy nV nV tầng giao diện ng ời dung tầng ứng... điều khiến Cách tiếp cận: chuyển đổi (mapping) DFD th nh kiến trúc phần mềm Ký pháp: biểu đồ có cấu trúc (structure chart) B mụn Cụng ngh ph n m m HCN 26 Đặc tính của luồng dữ liệu Nguy nV nV Luồng chuyển đổi 2 loại luồng dữ liệu tiêu biểu: Luồng chuyển đổi: xử lý tập trung Luồng giao dịch: định tuyến phân phối B mụn Cụng ngh ph n m m HCN Luồng giao dich 27 Kiên trúc luồng chuyển đổi Nguy nV nV... n m m HCN 17 Kiến trúc gọi & trả lại Call and Return Architecture Nguy nV nV sô mô đun ra độ sâu sô mô đun v o độ rộng B mụn Cụng ngh ph n m m HCN 18 Kiến trúc luồng dữ liệu Data Flow Architecture Lập hoá đơn Đơn hàng Hoá đơn Tìm tàI khoản TT đọc đơn hàng Lập giấy nhắc t.toán Nguy nV nV Kiểm tra thanh toán Giấy nhắc Phiếu thanh toán Hệ thống xử lý đơn h ng B mụn Cụng ngh ph n m m HCN 19 Kiến trúc... quản lý riêng cho các hệ con Khó phân bố dữ liệu một cách hiệu quả B mụn Cụng ngh ph n m m HCN 12 Kiến trúc client-server Nguy nV nV Máy khách 1 Máy khách 2 Máy khách 3 Máy khách 4 Mạng băng thông rộng server server server server Danh mục fim ảnh số web HTML B mụn Cụng ngh ph n m m HCN 13 Kiến trúc client-server (t) Nguy nV nV Ưu điểm Phân phối dữ liệu trực tiếp Sử dụng hiệu quả mạng, dùng thiết... issue () sendReminder () acceptPayment () sendReceipt () invoice# date amount customer# Hệ thống xử lý đơn h ng B mụn Cụng ngh ph n m m HCN 20 Xây dựng kiến trúc ch ơng trình Nguy nV nV Biểu đồ luồng dữ liệu Kiến trúc ch ờng trình B mụn Cụng ngh ph n m m HCN 21 Phân hoạch kiến trúc Nguy nV nV Cần phân hoạch kiến trúc theo chiều: ngang v dọc B mụn Cụng ngh ph n m m HCN 22 Phân hoạch kiến trúc dọc Nguy... trung Chuyển chúng th nh các module kiến trúc t ơng ứng Thêm các module điều khiển nếu cần thiết Vi chỉnh (refining) kiến trúc để nâng cao tính module ơ Luồng chuyển đổi tập trung l luồng m có các dữ liệu đầu v o đ ợc tập trung xử lý ở một số tiến trình rồi cho kết quả đầu ra l các tiến trình thực hiện l u trữ, truyền đi hay biểu diễn thông tin B mụn Cụng ngh ph n m m HCN 28 Ví dụ: kiến trúc luồng . HCN 4 NguynVnV Thiết kế kiến trúc phần mềm software achitecture design Khái niệm kiến trúc Kiến trúc phần mềm chỉ cấu trúc tổng thể của 1 phần mềm và cách thừc t chc qua. HCN 5 NguynVnV Vai trò kiến trúc phần mềm giúp kĩ s hệ thống: Phân tích tính hiệu quả của thiết kế đáp ứng đợc yêu cầu của phần mềm Tìm các giải pháp thay

Ngày đăng: 19/02/2014, 00:20

Từ khóa liên quan

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

Tài liệu liên quan