Tiến trình thiết kế hướng đối tượng

Một phần của tài liệu Giáo trình Nhập môn công nghệ phần mềm (Nghề Công nghệ thông tin Cao đẳng) (Trang 44 - 50)

CHƯƠNG 4 : THIẾT KẾ PHẦN MỀM

1. Tổng quan về thiết kế phần mềm

4.2. Tiến trình thiết kế hướng đối tượng

Với các hệ thống hướng đối tượng chúng ta có thể xác định ra 4 tầng thiết kế như

sau

• Tầng hệ thống con: Chứa mô tả của mỗi hệ thống con cho phép hệ thống đạt

được các yêu cầu của khách hàng và thực hiện các hạ tầng kĩ thuật hỗ trợ yêu cầu

khách hàng.

• Tầng lớp và đối tượng: Chứa phân lớp cho phép hệ thống được tạo ra bằng cách

sử dụng tổng qt hóa và tính tăng dần đặc tả đích

• Tầng thơng điệp: Chứa các chi tiết cho phép các đối tượng giao tiếp.

• Tầng trách nhiệm: Chứa các cấu trúc dữ liệu và các thuật tốn thiết kế cho mọi thuộc tính và phương thức của lớp.

Các hoạt động trong pha thiết kế

• Định nghĩa hình thức về các kiểu dữ liệu và các dịch vụ. Các dịch vụ có thể chuyển thành chức năng trong pha thiết kế.

• Thiết kế giao diện người dùng. • Thiết kế cơ sở dữ liệu.

Ưu điểm của thiết kế hướng đối tượng

• Dễ dàng bảo trì. Các đối tượng được hiểu như là các thực thể đứng một mình. • Đối tượng là các thành phần tái sử dụng.

• Với một số HT, có thể ánh xạ ngay từ thực thể thực sang thực thể của hệ thống.

Các phương pháp thiết kế

• Phương pháp Booch: Quy trình gồm các bước:

− Lập kế hoạch kiến trúc. − Chiến lược thiết kế. − Lập kế hoạch phát hành.

• Phương pháp Coad and Yourdon • Phương pháp Jacobson:

Quy trình phát triển so Jacobson đề nghị:

− Xem xét sự thích nghi để mơ hình phân tích lí tưởng phù hợp với môi trường thế

giới thực.

− Tạo ra các khối như các đối tượng thiết kế cơ bản.

− Tạo ra một biểu đồ tương tác cho biết cách các kích thích được chuyển đổi giữa

các khối.

− Tổ chức các khối trong hệ thống con. − Xem xét lại cơng việc thiết kế.

• Phương pháp Rambaugh:

Quy trình phát triển so Jacobson đề nghị:

− Thực hiện thiết kế hệ thống. − Thiết kế đối tượng quản lí.

− Điều chỉnh các cấu trúc lớp để tăng sức mạnh kế thừa. − Thiết kế thông điệp để thực hiện các mối quan hệ đối tượng. − Đóng gói các lớp và các liên kết trong một module.

• Phương pháp Wirfs – Brock:

Quy trình phát triển do Wirfs – Brock đề xuất:

− Xây dựng giao thức cho mỗi lớp.

− Tạo ra đặc tả thiết kế cho mỗi hệ thống con.

− Mô tả mỗi hệ thống con theo cách mà nó thực hiện. − Thiết kế đối tượng.

− Thiết kế thơng điệp.

Quy trình thiết kế hướng đối tượng

• Thiết kế hệ thống

+ Đặt tên cho các hệ thống con và các thành phần cơ bản + Định danh các hệ thống con cho bộ xử lí.

+ Lựa chọn chiến lược quản trị cơ sử dữ liệu. + Xác định chuẩn cho phát triển.

+ Xác định các yêu cầu cài đặt. • Xác định đối tượng

− Một mơ tả của đối tượng có thể là một trong 2 dạng sau:

+ Mô tả giao thức: Thiết lập giao diện của đối tượng bằng cách xác định mỗi thơng điệp mà đối tượng có thể nhận và các phương thức liên quan đối tượng thực hiện khi nhận được thông điệp.

+ Mô tả thực hiện: Chỉ ra chi tiết thực hiện cho mỗi phương thức bằng cách chuyển thông điệp giữa các đối tượng. Chi tiết thực hiện bao gồm thông tin về các phần riêng của đối tượng.

− Giao thức mô tả là một tập các thông điệp và các chú thích tương ứng với mỗi

thơng điệp.

− Một mơ tả thực hiện của một đối tượng cung cấp các chi tiết bên trong được yêu cầu để thực hiện nhưng không cần thiết cho viện dẫn. Người thiết kế đối tượng

phải cung cấp mơ tả thực hiện và do đó phải tạo ra chi tiết bên trong của đối

tượng.

• Thiết kế thuật toán và cấu trúc dữ liệu Một thuật toán được tạo ra để thực hiện

một đặc tả cho mỗi phương thức. Trong nhiều trường hợp, thuật toán chỉ là tính

tốn đơn giản hoặc dãy các thủ tục được thực hiện như một module phần mềm tự chứa.

− Cấu trúc dữ liệu được thiết kế đồng thời với thuật tốn. Do các phương thức

thao tác các thuộc tính của lớp, thiết kế cấu trúc dữ liệu phản ánh tốt nhất thuộc tính sinh ra trong thiết kế thuật tốn của các phương thức tương ứng.

− Các kiểu phương thức chia làm 3 loại chính:

+ Phương thức thao tác dữ liệu. + Phương thức thực hiện tính tốn.

+ Phương thức điều khiển đối tượng cho sự kiện điều khiển.

− Để tối ưu hóa thiết kế hướng đối tượng. Rambaugh đã đưa ra các gợi ý sau:

+ Xem lại mơ hình đối tượng

– quan hệ để đảm bảo rằng các thiết kế được thực hiện sử dụng tài nguyên hiệu quả và nới lỏng các ràng buộc thực hiện thêm vào các dư thừa nếu thấy cần thiết. + Xem lại thuộc tính cấu trúc dữ liệu và các thuật toán tương ứng để tăng cường

hiệu quả xử lí.

+ Tạo ra thuộc tính mới để giữ thơng tin thừa kế, do đó tránh được việc tính tốn

lại.

• Thiết kế lớp đối tượng

+ Q trình thiết kế lớp bao gồm các công đoạn sau: Xác định tên lớp đối tượng, xác định các quan hệ, xác định các thuộc tính, xác định các phương thức, xác định

lớp cha của nó ( nếu có ).

+ Tên lớp tuân theo một số quy tắc: - Tên lớp phải là danh từ.

- Tên lớp phải có chu trình sống của mình, phải có thời điểm sinh ra, chết đi của

đối tượng đó.

- Nó độc lập tương đối với các đối tượng khác (tức là nó sẽ độc lập hơn đối tượng khác một cách tương đối, về các mặt khác nó có thể phụ thuộc lẫn nhau giữa các

đối tượng, nhưng nó là một thể thức ngồi đời có.).

+ Phần xác định các quan hệ . Việc xác định các quan hệ giữa các lớp là việc phải

lập ra một từ điển quan hệ giữa các lớp ví như: lớp A là con lớp B chẳng hạn. Nó cũng có một số qui tắc sau để qui ước là: tên quan hệ phải là động từ,... Nó nói lên sự phụ thuộc lẫn nhau của các đối tượng.

+ Việc xác định các thuộc tính nó có một số qui định như sau: tên thuộc tính phải là danh từ, nó phải có sự lệ thuộc duy nhất vào đối tựng đang xét. Trong khi xác

định thuộc tính cần chú ý: nếu thuộc tính đó phụ thuộc một đối tượng thì thuộc

tính đó là thuộc tính của đối tượng, thuộc tính phụ thuộc vào nhiều đối tượng thì thuộc tính đó là thuộc tính quan hệ.

+ Việc xác định phương thức thực chất đó là các hành động, cơng việc, của các phương thức đó, nên tên phương thức có nhiều loại phương thức trong xây dựng

một lớp đối tượng:

- Các phương thức thuộc nhóm khởi tạo: gồm phương thức khởi tạo mặc định, phương thức khởi tạo khi biêt một số thuộc tính của nó, phương thức phá hủy. - Phương thức thuộc nhóm cung cấp (phương thức get)

- Các phương thức thuộc nhóm thiết lập (phương thức set) 22

- Các phương thức xử lý tính tốn: các phương thức này sẽ đóng vai trị là nơi thực thi các tính tốn của từng class tương ứng trước khi thêm, hay làm gì đó với

hệ thống dữ liệu.

- Các phương thức thc nhóm kiểm tra. Đây là nơi kiểm tra các ràng buộc về dữ liệu cho class tương ứng của bạn.

• Một số quy ước để thiết kế một class.

+ Để thiết kế một class trước tiên bạn phải đưa ra tên của nó là gì. + Xác định các phương thức, thuộc tính cho class đó như đã nói ở trên

+ Nếu các thuộc tính có cấu trúc phức tạp hoặc có các thuộc tính liên hệ với nhau và nó có ngữ nghĩa cụ thể (ngồi đời có nó) thì nên tách nó ra thành một lớp độc

lập với nhau.

+ Khi 2 hay nhiều lớp có các thuộc tính chung thì nên tách thành một lớp cha của các lớp đó và các lớp đó được kế thừa từ lớp cha của nó.

+ Khi gặp các thuộc tính có khả năng phân loại trong một số trường hợp thì ta tách các thc tính con của nó thành thuộc tính con tương ứng.

• Thiết kế một mơ hình class.

+ B2: Xác định quan hệ giữa các class.

+ B3: Xác định các quan hệ và bảng số của nó. • Thiết kế thành phần chương trình và giao diện

− Đây là khía cạnh quan trọng của chất lượng thiết kế phần mềm.

− Cách tiếp cận hướng đối tượng xác định đối tượng như một thành phần chương

trình, bản thân nó liên kết với các thành phần khác. Chúng ta phải xác định được giao diện tồn tại giữa các đối tượng và toàn bộ cấu trúc của đối tượng.

− Giao diện yêu cầu phải dễ sử dụng

5.Thiết kế giaodiện

5.1.Các nguyên tắc thiết kế

Dễ học: Phần mềm cần phải dễ học cách sử dụng, do đó người dùng có thể nhanh

chóng bắt đầu làm việc sử dụng phần mềm đó

Quen thuộc với người sử dụng: Giao diện nên dùng các thuật ngữ và khái niệm

rút ra từ kinh nghiệm của những người sẽ dùng hệ thống nhiều nhất

Tính nhất quán: giao diện cần nhất quán sao cho các thao tác gần giống nhau có

thể được kích hoạt theo cùng kiểu.

Ngạc nhiên tối thiểu: Người dùng không bao giờ bị bất ngờ về hành vi của hệ

thống

Khơi phục được: Giao diện nên có các cơ chế cho phép người dùng khơi phục lại

tình trạng hoạt động bình thường sau khi gặp lỗi

Hướng dẫn người dùng: Giao diện nên có phản hồi có nghĩa khi xảy ra lỗi và

cung cấp các tiện ích trợ giúp theo ngữ cảnh

Người dùng đa dạng: Giao diện nên cung cấp các tiện ích tương tác thích hợp

cho các loại người dùng hệ thống khác nhau

5.2.Tiến trình thiết kế

Vấn đề trong thiết kế giao diện

Hai vấn đề cần xem xét:

Người dùng cung cấp thông tin cho hệ thống bằng cách nào?

Hệ thống nên trình bày thơng tin (output) cho người dùng như thế nào?

Các kiểu tương tác

Các kiểu tương tác phổ biến:

Thao tác trực tiếp – Direct manipulation Chọn lựa bằng menu – Menu selection

Điền form – Form fill-in

Dịng lệnh – Command language Ngơn ngữ tự nhiên – Natural language

Kiểu

tương

tác

Ưu điểm chính Nhược điểm chính Ví dụ

Kiểu

tương

tác

Ưu điểm chính Nhược điểm chính Ví dụ tác trực tiếp quan, nhanh chóng và dễ hiểu thích hợp khi có ẩn dụ hình ảnh cho các tác vụ và đối tượng và các ứng dụng có drag & drop Chọn lựa bằng menu Tránh lỗi cho người dùng, không phải làm nhiều thao tác Chậm chạp với người sử dụng có kinh nghiệm. Có thể phức

tạp nếu có nhiều lựa

chọn menu Đa số các hệ thống thông dụng Điền form Nhập dữ liệu đơn giản, dễ học, có thể

kiểm tra được

Tốn khơng gian hiển

thị, rắc rối khi lựa chọn của người dùng không khớp với kiểu

dữ liệu của form

Đăng kí thơng tin cá nhân, khai thuế Dịng lệnh Mạnh và linh động Khó học, xử lý lỗi kém Terminal, Autocad Ngôn ngữ tự nhiên Đáp ứng được người dùng không chuyên, dễ mở rộng Cần gõ nhiều, các hệ thống hiểu ngôn ngữ tự nhiên không đáng tin cậy Trợ lý ảo

Biểu diễn thơng tin

Thơng tin có thể được trình bày trực tiếp (ví dụ text trong một trình soạn thảo) hoặc được biến đổi thành một dạng biểu diễn khác (ví dụ dạng đồ họa)

Model-View-Controller là cách tiếp cận hỗ trợ nhiều kiểu biểu diễn dữ liệu Có 2 loại thông tin cần được biểu diễn:

Thông tin tĩnh: Tạo ở lúc bắt đầu và không thay đổi trong phiên làm việc.

Thông tin động: Thay đổi trong phiên làm việc và phải thông báo cho người sử

dụng

Các kĩ thuật hiển thị lượng lớn thơng tin:

Hình ảnh: có thể cho thấy quan hệ giữa các thực thể và các xu hướng của dữ liệu

Màu sắc: thường dùng đểhighlight các thông tin đặc biệt

Hướng dẫn về việc sử dụng màu sắc: Hạn chế số màu và mức độ sặc sỡ

Dùng sự thay đổi màu để báo hiệu thay đổi trạng thái hệ thống.

Dùng kí hiệu màu (color coding) để hỗ trợ công việc người dùng đang cố làm. Highlight những điểm người dùng cần chú ý.

Dùng kí hiệu màu một cách cẩn trọng và nhất quán

Cẩn thận về hiệu ứng cặp đôi của màu sắc. Một số tổ hợp màu gây khó đọc, ví dụ

như người ta không thể cùng lúc chú ý cả hai màu đỏ và xanh lam

Quy trình thiết kế giao diện

Thiết kế giao diện là một quy trình lặp đi lặp lại với sự liên lạc chặt chẽ giữa người dùng và người thiết kế. Ba hoạt động chính trong quy trình:

User analysis: Tìm hiểu người dùng sẽ làm gì với hệ thống;

System prototyping: phát triển một loạt các bản mẫu để thử nghiệm Interface evaluation: thử nghiệm các bản mẫu cùng với người dùng

Quốc tế hóa và địa phương hóa

Trong q trình thiết kế cần phải xem xét đến việc ngôn ngữ theo chuẩn quốc tế và chuẩn địa phương. Tức là giao diện phần mềm có thể thích ứng với sự khác nhau về khu vực, ngôn ngữ và yêu cầu kĩ thuật của thị trường. Quốc tế hóa là q trình thiết kế một ứng dụng bao gồm nhiều ngôn ngữ để có thể thích nghi với những khu vực khơng có sự thay đổi quan trọng về quy trình. Địa phương hóa là

sự thích ứng của quốc tế hóa với một khu vực hoặc ngôn ngữ cụ thể bằng cách

thêm vào các thành phần của địa phương và dịch văn bản. Các yếu tố cần được quan tâm như biểu tượng, số, tiền tệ, thời gian và các đơn vị đo lường.

Biểu tượng và khái niệm quen thuộc

Người thiết kế giao diện sử dụng các biểu tượng và khái niệm để tạo được sự quen thuộc giữa các phần mềm với những hệ thống đã được biết đến trên thế giới. Như vậy người dùng sẽ dễ dàng hơn trong việc tìm hiểu và sử dụng giao diện.

Ví dụ: Chức năngxóa tập tin có thể gắn vào biểu tượng thùng rác.

Khi thiết kế giao diện, nhà thiết kế không được sử dụng nhiều hơn một ý nghĩa, hay chức năng trong một biểu tượng. Bằng cách sử dụng những biểu tượng và khái niệm quen thuộc, hỗ trợ biểu diễn tốt hơn các thông tin cần được quốc tế hóa, nhưng cần phải chú ý khơng nên áp dụng theo cùng một cách với tất cả các

địa phương và khu vực khác nhau.

CÂU HỎI VÀ BÀI TẬP

1. Trình bày tổng quan về thiết kế phần mềm.? 2. Trình bày thiết kế kiến trúc phần mềm?

3. Trình bày thiết kế hệ thống hướng chức năng phần mềm.? 4. Trình bày thiết kế hệ thống hướng đối tượng phần mềm.? 5. Trình bày thiết kế giao diện người dùng ?

Một phần của tài liệu Giáo trình Nhập môn công nghệ phần mềm (Nghề Công nghệ thông tin Cao đẳng) (Trang 44 - 50)

Tải bản đầy đủ (PDF)

(63 trang)