Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
660,81 KB
Nội dung
Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 6: Các hot đng thit k ̈ ThiÕt kÕ kiÕn tróc ̈ ThiÕt kÕ giao diÖn B môn Công ngh phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 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. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B mụn Cụng ngh phn mm HCN 4 NguynVnV Thiếtkế 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ếtkế đá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ếtkế 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ếtkế 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ếtkế 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ếtkế 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 phn mm – HCN 10 NguynVnV 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 [...]... bản mẫu thiếtkế Cài đătđánh giá, hoàn thiện 34 Tiến trình thiếtkế giao diện l m mẫu Nguy nV nV Phân tích, hiểu hoạt động ng ời dùng Tạo mẫu thiếtkế trên giấy mẫu thiếtkế Ng ời dùng đánh gia thiếtkế Tạo mẫu thiết kếđộng mẫu thực hiện đ ợc B mụn Cụng ngh ph n m m HCN Ng ời dùng đánh gia thiếtkế Tạo giao diện ng ời dùng 35 Nguyên tắc thiếtkế giao diện Nguy nV nV Cần phản ảnh v o thiết kế: Kinh... 31 Thiếtkế 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 giao diện Thiếtkế 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. .. Nguy nV nV Cô lập, xác định biên của các module v o/ra; xác định các module xử lý tập 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... 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 với khả năng của họ Giao diện trợ giúp tốt ng ời dùng th nh công Giao diện trợ giúp tồi, ng ời dùng khó khăn, thất bại B mụn Cụng ngh ph n m m HCN 33 Tiến trình thiếtkế giao diện chung Nguy nV nV Tạo mô hình nghiệp vụ hệ thống chọn thiết bị, cách t... (t) Nguy nV nV Dùng để mô hinh hóa giao diện của các phân hệ (sub-systems) Phân rã hệ thống th nh các tầng, mỗi tầng l một tập các dịch vụ Hỗ trợ sự phát triển tăng tr ởng của các tầng, khi giao diện mỗi tầng thay đổi thi chỉ ảnh h ởng tới các tầng liền kề Không phải hệ thống n o cũng dễ d ng phân chia theo mô hinh n y B mụn Cụng ngh ph n m m HCN 16 Kiến trúc phân tầng tham khảo OSI Nguy nV nV t... Phân hoạch kiến trúc dọc Nguy nV nV Xác định các nhánh rẽ riêng cho các chức năng chủ chốt Sử dụng các module điều khiển để điều phối thông tin giữa các chức năng Chức năng 3 Chức năng1 Chức năng 2 B mụn Cụng ngh ph n m m HCN 23 Phân hoạch kiến trúc ngang Nguy nV nV phân tầng các module th nh từng mức: ra quyết định (điều khiển) v module thao tác các module ra quyết định cần đ ợc xếp ở tầng cao... nV nV Bộ phân tích thiếtkê Bộ biên tập thiếtkế Kho dữ liệu của dự án (prọject repository) Bộ dịch thiếtkế 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... ứng phụ khi sửa đổi dễ mở rộng B mụn Cụng ngh ph n m m HCN 25 Thiếtkế 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) 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... B mụn Cụng ngh ph n m m HCN x4 x3 d e f g i h j 29 Kiến trúc luồng giao dịch Nguy nV nV Xác định các luồng v o Xác định các luồng thực hiện Xác định trung tâm giao dich (module phân phối) Biến đổi riêng rẽ từng luồng h nh động ơ Luồng giao dịch l luồng m mỗi đầu vào đ ợc nhận dạng và chuyển cho các tiến trình xử lý t ơng ứng với với nó Tiến trình l m nhiệm vụ nhận dạng v chuyển dữ liệu đến nơi... 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 bị rẻ