Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

CNPM_Thietke

NGÂN HÀNG CÂU HỎI CÔNG NGHỆ PHẦN MỀM + BTL

NHÓM CÂU HỎI 4 ĐIỂM

 ĐÁP ÁN NHÓM CÂU HỎI 4 ĐIỂM – PHẦN II

Câu 1

Câu hỏi:Trình bày khái niệm và vai trò của thiết kế phần mềm 4đ

*Là quá trình chuyển hóa các đặc tả yêu cầu phần mềm thành 1 biểu diễn thiết kế của hệ thống PM cần xây dựng, sao cho người lập trình có thể ánh xạ nó thành 1 chương trình

- Một số hoạt động chính:

+Nghiên cứu để hiểu vấn đề

+Chọn 1 số giải pháp thiết kế và xác định các đặc điểm thô của nó

+Mô tả trừu tượng cho mỗi giải pháp thiết kế, các sai sót cần phát hiện và chỉnh sửa trước khi lập tài liệu TK chính thức

*Vai trò:

+ Là cách duy nhất để chuyển hóa 1 cách chính xác các yêu cầu của khách hàng thành mô hình thiết kế hệ thống phần mềm cuối cùng làm cơ sở cho việc triển khai chương trình PM

+ Là công cụ giao tiếp giữa các nhóm cùng tham gia phát triểm phần mềm, quản lý rủi ro, đạt được PM hiệu quả

+Là tài liệu cung cấp đầy đủ các thông tin cần thiết cho để bảo trì HT

+Nếu không có TK thì hệ thống không tin cậy -> nguy cơ thất bại cao

+Thiết kế tốt là chìa khóa làm cho PM hữu hiệu

- Các khái niệm trong thiết kế:

+ Trừu tượng hóa (abstraction): chia ra 3 mức cao nhất, mức vừa, mức thấp, có các dạng trừu tượng như trừu tượng thủ tục, trừu tượng DL, trừu tượng điều khiển

+ Phân rã (Decomposition): Chia nhỏ đối tượng

+ Làm mịn (refinement): Chiến lược thiết kế từ trên xuống

+ Modul: Chia thành các phần riêng có tên và địa chỉ

+ Thủ tục phần mềm (software procedure)

+ Che dấu thông tin (information hidding)

 Câu 2

Câu hỏi:Các giai đoạn trong thiết kế phần mềm? Các hình thức biểu diễn thiết kế? 4đ

* Các giai đoạn cần trải qua

- Thiết kế kiến trúc: Xác định các hệ con tạo nên hệ thống tổng thể và mối quan hệ giữa chúng

- Đặc tả trừu tượng: Mô tả trừu tượng các dịch vụ của hệ con

- Thiết kế giao diện thành phần

- Thiết kế cấu trúc dữ liệu

- Thiết kế hệ thống giao diện người dùng

- Thiết kế các thành phần

- Thiết kế thủ tục

* Các hình thức biểu diễn thiết kế

Có 3 hình thức biểu diễn thiết kế:

- Các biểu đồ: Biểu diễn các mối quan hệ giữa các TP của hệ thống, vừa là mô hình mô tả thế giới thực

- Ngôn ngữ mô tả chương trình: Dùng để kiểm tra và cấu trúc các cơ cấu thiết kế dựa trên các cấu trúc của một ngôn ngữ lập trình

- Dạng văn bản không hình thức hóa: Mô tả các thông tin không thể hình thức hóa được như thông tin phi chức năng bên cạnh cách mô tả khác

Câu 3

Câu hỏi: Phương pháp thiết kế phần mềm: hướng cấu trúc, hướng đối tượng, hệ thống tương tranh. Cách tiếp cận chung và đặc trưng của các phương pháp thiết kế?  4đ

- Có nhiều phương pháp tiếp cận khác nhau cho việc thiết kế, có 2 cách tiếp cận phổ biến là tiếp cận định hướng cấu trúc và  định hướng đối tượng, tương ứng với chúng là 1 chiến lược cho việc phát triển hệ thống phần mềm

- Có phương pháp chỉ dùng riêng cho 1 cách tiếp cận nhưng có phương pháp dùng chung cho cả 2 chiến lược như phương pháp thiết kế giao diện, máy trạng thái hữu hạn

* Chiến lược và phương pháp hướng cấu trúc

- Hệ thống được phân chia thành các chức năng, bắt đầu ở mức cao nhất, và được làm mịn dần

- Thường có 2 hoạt động độc lập: thiết kế dữ liệu và thiết kế xử lý

- 3 cấu trúc chuẩn là Tuần tự, chọn và lặp

* Chiến lược và phương pháp hướng đối tượng

- Hệ thống được nhìn nhận như 1 bộ các đối tượng tương tác với nhau, đ/tượng gồm d/liệu + thao tác

- Một lớp được xác định = thuộc tính+phương thức, có tính kế thừa cao

- Các đối tượng liên lạc với nhau bằng các thông điệp

- Một số công cụ hỗ trợ mạnh như: Rational Rose, Jbuilder

* Chiến lược thiết kế hệ thống tương tranh

- Được thực hiện với các hệ thống thời gian thực, các tính toán đồng thời

- Đảm bảo việc chia sẻ tài nguyên dùng chung

- Thường sử dụng phương pháp máy trạng thái hữu hạn làm công cụ biểu diễn thiết kế cho hệ thời gian thực

*Cách tiếp cận chung của các p/pháp t/kế thường được nhìn nhận dưới các góc độ

- Cách nhìn cấu trúc – thông qua lược đồ cấu trúc

- Cách nhìn quan hệ thực thể - mô tả cấu trúc dữ liệu logic được dùng

- Cách nhìn luồng dữ liệu – thể hiện quá trình vận động của dữ liệu

- Cách nhìn vận động – Lược đồ chuyển sang trạng thái để bổ sung cho các phương pháp trên

*Các phương pháp đều có các đặc trưng:

-Một cơ chế để chuyển hóa b/diễn đặc tả->b/diễn t/kế

-Các ký pháp để biểu diễn các t/phần chức năng và giao diện

-Cách trực cảm để phân hoạch và làm mịn vấn đề

Câu 4

Câu hỏi:Việc thiết kế phải đảm bảo những tiêu chí nào?Các giải pháp cho một thiết kế tốt? Thiết kế phải vận dụng những nguyên lý nào? 4đ

*Thiết kế phải đảm bảo các tiêu chí

- Sự kết dính của các thành phần, được chia ra các mức theo thứ tự tăng dần: kết dính gom góp, kết dính hội hợp logic, theo thời điểm, thủ tục, truyền thông, tuần tự, chức năng, đối tượng

- Sự ghép nối: chỉ ra mức độ độc lập giữa các đơn vị thành phần của một chương trình. Có 5 loại kết nối được xếp theo thứ tự từ tốt đến xấu: Ghép nối dữ liệu, ghép nối nhãn, ghép nối điều khiển, ghép nối chung, ghép nối nội dung

- Tính hiểu được - liên quan đến các đặc trưng: Tính kết dính, đặt tên, soạn tư liệu, độ phức tạp

- Tính thích nghi được cho quá trình bảo trì – được ghép nối lỏng lẻo

*Các giải pháp cho một thiết kế tốt

- Một thiết kế sẽ tốt nếu thực hiện đúng tiến trình t/kế PM thông qua việc áp dụng các nguyên lý thiết kế cơ bản, các phương pháp luận hệ thống, các công cụ trợ giúp và việc xét duyệt nghiêm túc

-Những hướng dẫn cần được vận dụng trong thiết kế

+ Tổ chức phân cấp

+ Tổ chức theo các modul

+ Biểu diến phân biệt và tách biệt dữ liệu và thủ tục

+ Hình thành giao diện

+ Sử dụng lại các thành phần phần mềm đã có

*Những nguyên lý thiết kế cần được vận dụng:

- Cần tính đến mọi cách tiếp cận khác nhau thay vì 1 cách

- Có thể lần vết trở lại mô hình hay bước trước đó

- Không nên giải quyết vấn đề đã được giải quyết mà nên sử dụng lại

- Phải rút ngắn khoảng cách phần mềm và vấn đề tồn tại hệ thực

- Thể hiện được tính nhất quán và tích hợp

- Cần được cấu trúc để dễ thay đổi

- Thiết kế không phải là mã hóa và ngược lại

- Cần được theo dõi ngay từ đầu để tránh lỗi

- Cần được đánh giá và rà soát chất lượng

Câu 5

Câu hỏi:Khái niệm kiến trúc phần mềm và vai trò của nó 4đ

*Kiến trúc phần mềm (Software Architecture) chỉ một cấu trúc phần mềm và qua đó cung cấp một sự tích hợp chặt về mặt khái niệm của hệ thống

*Có vai trò quan trọng trong p/triển PM, gồm 3 vai trò (theo BASS):

+ Công cụ giao tiếp giữa những người liên quan

+ Để phân tích hệ thống

+ Sử dụng lại ở quy mô lớn

*Kiến trúc không phải là thành phần hoạt động nhưng nó có tác động sâu rộng đến quá trình phát triển PM, nó là 1 mô tả PM cho phép các kỹ sư PM thực hiện công việc:

+Tăng cường hiểu biết về hệ thống cần xây dựng

+Phân tích hiệu quả

+Xem xét, sửa đổi kiến trúc từ sớm, giảm rủi ro

Câu 6

Câu hỏi:Trình bày các mô hình kiến trúc theo: cách tổ chức dữ liệu, mô hình điều khiển 4đ

- Có nhiều mô hình khác nhau, thường được nhìn nhận dưới một số mặt:

+Mô hình kiến trúc tĩnh – các hệ con hay các thành phần được phát triển độc lập

+Mô hình tiến trình động- hệ thống được tổ chức thành các tiến trình vận hành

+Mô hình giao diện – xác định giao diện đưa ra các dịch vụ

+Mô hình liên kết – chỉ ra mối liên kết giữa các hệ con hay giữa các thành phần

*Các kiến trúc theo cách tổ chức dữ liệu

Trong hệ thống các hệ con cần trao đổi dữ liệu với nhau để làm việc hiệu quả. Có 2 cách để tổ chức thực hiện: t/chức dữ liệu tập trung và phân tán

-Mô hình kho dữ liệu – tổ chức dữ liệu tập trung

+Tất cả các dữ liệu chia sẻ được lưu trữ tại kho trung tâm, các hệ con đều có thể truy cập

+Thích hợp với ứng dụng khi DL của các hệ con sinh ra độc lập và có thể sử dụng lại

-Mô hình server/client –tổ chức dữ liệu phân tán:

+Dữ liệu và xử lý được phân bổ trên các máy khác nhau. Thành phần chính bao gồm:

Các máy dịch vụ - cung cấp dịch vụ cho hệ con khác

Các máy khách gọi để sử dụng dịch vụ từ các máy dịch vụ

Mạng liên kết cho phép máy khách truy cập đến máy d/ vụ

+Có lợi thế là có thể dễ dàng thêm vào, nâng cấp và tích hợp máy dịch vụ mà không ảnh hưởng đến hệ thống

*Các mô hình điều khiển

Các mô hình này ở mức kiến trúc liên quan đến luồng điều khiển giữa các hệ con, có 2 phương thức điều khiển:

- Điều khiển tập trung: Một hệ con có trách nhiệm điều khiển, khởi động hay dừng hệ con khác. Gồm có:

+Mô hình gọi –trả lại

+Mô hình quản lý

- Điều khiển dựa trên sự kiện: Thông tin điều khiển được chuyển đến một số hệ con khác, mỗi hệ con có thể đáp ứng sự kiện từ bên ngoài. Gồm có:

+Mô hình điều khiển quảng bá

+Mô hình điều khiển ngắt

Câu 7

Câu hỏi:Trình bày về thiết kế dữ liệu và thiết kế xử lý? Ưu và nhược điểm 4đ

*Thiết kế dữ liệu

-Gồm 2 bước: Thiết kế DL logic và TK CSDL vật lý

-Thiết kế DL logic:

+ Đầu vào của bước này là mô hình thực thể quan hệ, được mô tả

-Thiết kế CSDL vật lý:

+Thực hiện trên CS mô hình quan hệ nhận được, lựa chọn hệ quản trị CSDl tiến hành phi chuẩn hóa, thiết kế tệp

*Thiết kế xử lý

- Gồm 2 bước: TK xử lý logic & TK kiến trúc modul

- Thiết kế xử lý logic:  Xuất phát từ luồng DL vật lý , bỏ đi các y/tố vật lý và cấu trúc lại để mô hình vẫn đảm bảo thực hiện đúng các chức năng

- Thiết kế kiến trúc modul:

+Trước hết cần xác định luồng hệ thống từ biểu đồ luồng DL bằng cách chọn các tiến trình máy thực hiện và phương thức thực hiện

*Ưu và nhược điểm

- Đã có thời gian phát triển lâu dài nên các phương pháp và các công cụ cũng đã hoàn thiện

- Có các hệ q/trị CSDL mạnh: SQLServer, Oracle trợ giúp việc lưu trữ và tự động hóa cao

- Thích hợp với các bài toán xử lý trên các DL có thể mô tả ở dạng bảng

- Tuy nhiên hạn chế với các bài toán DL đa dạng và đòi hỏi nhiều đối tượng tương tác với nhau

- Nếu HT sử dụng CSDL dùng chung nên khó SD lại và sai sót ở một số bộ phận thì ảnh hưởng đến toàn hệ thống

Câu 8

Câu hỏi:Trình bày về UML và thiết kế hướng đối tượng? Ưu và nhược điểm? 4đ

*Một số khái niệm của UML

- UML là ngôn ngữ mô hình hóa thống nhất, là ngôn ngữ chuẩn cho phát triển phần mềm hướng ĐT

-Lớp (class) để đặc tả các đối tượng được biểu diên bằng hình vuông có tên và các thuộc tính cũng như phương thức

- Các lớp có mối quan hệ với nhau: quan hệ phục thuộc, quan hệ kế thừa, quan hệ kết hợp (giữa toàn thể và bộ phận), quan hệ kết tập(đối tượng và thành phần cấu thành của nó)

*Thiết kế hướng đối tượng là 1 phần của của chiến lược phát triển định hướng ĐT

- Đầu vào là các mô hình nhận được ở giai đoạn phân tích

- Gồm các bước:

+ Xác định kiến trúc của hệ thống

+ Sắp thứ tự ưu tiên các gói

+ Với mỗi gói thiết kế ca sử dụng tương ứng

+ Xây dựng biểu đồ tương tác

+ Thiết kế chi tiết các lớp

+ Phân tích và hoàn thiện biểu đồ lớp dựa trên mẫu TK

*Ưu và nhược điểm

- Dễ bảo trì, mọi thay đổi của đối tượng không làm ảnh hưởng đến các đối tượng khác

- Các đối tượng có thể SD lại được

- Có thể phản ánh được thế giới thực một cách cụ thể

-Tuy nhiên có nhược điểm như: khó thực hiện vì khó xác định đối tượng của hệ thống. Thường cách nhìn tự nhiên là nhìn chức năng

Câu 9

Câu hỏi:Trình bày về tiến trình thiết kế giao diện? 4đ

-Bao gồm các hoạt động:

+Bắt đầu với việc tạo ra các mô hình khác nhau về chức năng hệ thống

+Phác họa ra các nhiệm vụ hướng con người và máy tính để đạt tới chức năng hệ thống

+Xem xét các giải pháp t/kế được áp dụng cho mọi t/kế giao diện

+Sử dụng các công cụ làm bản mẫu

+Cài đặt cho mô hình t/kế và đánh giá kết quả về chất lượng

-Các mô hình thiết kế giao diện:

+Mô hình t/kế do KS PM xây dựng: tổ hợp b/diễn dữ liệu, k/trúc và thủ tục của PM để th/hiện được c/năng

+Mô hình người dùng: do KS PM/ KS con người XD, nó mô tả sơ lược hệ thống cho người dùng cuối

+Mô hình người dùng cảm nhận hệ thống do người dùng cuối cùng xây dựng

+Hình ảnh hệ thống do người cài đặt hệ thống xây dựng, nó tổ hợp các biểu lộ bên ngoài của hệ thống dựa trên máy tính.

-Phân tích mô hình hóa hệ thống, tương tự như phân tích chức năng các đối tượng nội thất, được áp dụng cho đối tượng con người

-Các bước của tiến trình TK G/diện thực hiện theo các cách:

+Thiết lập mục tiêu và ý đồ cho nhiệm vụ

+Ánh xạ thành dãy các hành động

+X/định dãy hành động khi nó thực hiện ở mức g/diện

+Chỉ ra trạng thái của hệ thống

+Xác định cơ chế điều khiển

+Chỉ ra cách thức cơ chế điều khiển

+Chỉ ra cách người dùng diễn giải trạng thái của HT từ thông tin được cung cấp qua giao diện

-Tiến hóa thiết kế và đánh giá:

+Sau khi có bản mẫu giao diện người dùng thì phải đánh giá sự đáp ứng nhu cầu NSD

+Sử dụng phương pháp làm bản mẫu cho cho tiến trình tiến hóa thiết kế GD NSD

+Khi phát triển giao diện chú ý đến các  thuộc tính như: khả năng học, tốc độ thao tác, sự vững chắc, khả năng phục hồi, khả năng thích nghi thường được đánh giá

+Một số phương pháp để thu thập thông tin phục vụ việc phân tích đánh giá GD: Làm bảng hỏi điều tra, quan sát người dùng, khai thác băng VIDEO, vv…

Câu 10

Câu hỏi:Trình bày Thiết kế hệ thống thời gian thực? 4đ

*Tiến trình hệ thống thời gian thực

- Hệ thống thời gian thực là hệ thống mà sự hoạt động đúng đắn của nó phụ thuộc vào kết quả được tạo ra và thời gian kết quả được xuất ra

- Thường là hệ thống nhúng

- Có thể được xem là hệ kích thích/đáp ứng. Có 2 loại kích thích: Định kỳ và không định kỳ

- Phần mềm thời gian thực bao gồm:

+Một thành phần thu thập DL

+Một thành phần phân tích

+Một thành phần kiểm soát đáp ứng

-Thường gồm các bước:

+Xác định các tác nhân kích thích mà hệ phải đáp ứng

+Với mỗi kích thích tương ứng xác định các ràng buộc

+Phân tích các kích thích và quá trình xư lý đáp ứng thành 1 tiến trình song song

+Với mỗi cặp kích thích/đáp ứng thiết kế các thuật toán tương ứng

+Thiết kế hệ thống lập lịch đảm bảo các quá trình được bắt đầu ở đúng thời điểm thích hợp

+Tích hợp hệ thống dưới sự điều khiển của một bộ điều phối thời gian thực

*Mô hình hoá máy trạng thái

-Được sử dụng rộng rãi cho việc thiết kế thời gian thực

-Gồm một bộ chức năng Khống chế, hàm, dữ liệu

-Cái vào gây kích thích, khi đó chuỗi hành vi được kích hoạt và đáp ứng yêu cầu

*Bộ điều phối không gian thực

-Chịu trách nhiệm quản lý quá trình và định vị tài nguyên trong hệ thời gian thực

-Tương tự hệ điều hành trong máy tính với mục đích khái quát hóa

-Với các h/thống cần cung cấp dịch vụ liên tục thì cần thêm bộ quản lý cấu hình và bộ quản lý lỗi

-Các kích thích tùy theo mức độ quan trọng mà có mức ưu tiên khác nhau, gồm 2 mức

+Mức ngắt: Là mức ưu tiên cao nhất

+Mức đồng hồ: Mức sau

*Hệ giám sát và điều khiển, hệ thu nhận dữ liệu

-Hệ giám sát và khống chế là 1 lớp quan trọng của hệ thời gian thực, Nó liên tục kiểm tra các kích thích đầu vào

-Hệ giám sát sẽ có hoạt động tương ứng khi có cảm biến ngoại lệ

-Thiết kê này dựa trên sự phân tích cụ thể từng cặp kích thích/ đáp ứng của thiết bị giám sát

-Hệ thu nhận dữ liệu là lớp khác của hệ thời gian thực. Hệ này thu thập DL từ các cảm biến cho việc phân tích và xử lý nối tiếp nhau

Câu 11

Câu hỏi:Thế nào là một thiết kế tốt? Chất lượng của thiết kế được thể hiện qua các yếu tố gì? 4đ

a) Một thiết kế tốt:

- Thiết kế phần mềm được gọi là tốt nếu nó sản sinh ra một chương trình tối ưu. Càng chặt chẽ, gọn ngàng và nhẹ càng tốt, đồng thời thiết kế dễ bảo dưỡng thích nghi, bổ sung cải tiến. Dễ đọc, dễ hiểu, các thành phần của thiết kế phải gắn kết với nhau theo một quan hệ logic chặt chẽ.

- Giữa các thành phần của thiết kế được ghép nối một cách dễ dàng.

b) Các yếu tố đo chất lượng của thiết kế:

* Sự kết dính:

- Sự kết dính của một thành phần là độ đo về tính khớp lại với nhau giữa các phần tử trong thành phần đó.

 - Độ kết dính giữa các phần tử trong một thành phần được chia thành các loại theo mức kết dính tăng dần như sau:

+ Kết dính gom góp: Các phần của thành phần không liên quan với nhau, song lại bị bó vào một thành phần.

+ Kế dính hỗn hợp logic: Các thành phần cùng thực hiện chức năng tương tự, chẳng hạn như vào, xử lý lỗi… là được đặt vào trong một thành phần.

+ Kết dính theo thời điểm: Tất cả các thành phần cùng hoạt hoá một lúc, chẳng hạn như khởi sự và kết thúc… là được bó vào với nhau.

+ Kết dính thủ tục: Các phần tử trong thành phần được ghép lại trong một dãy điều khiển.

+ Kết dính truyền thông: Các phần trong thành phần cùng thao tác trên cùng một dữ liệu và và đưa ra cùng một dữ liệu ra.

+ Kết dính tuần tự: Trong một thành phần, “ra” của phần tử này là “vào” của phần tử khác.

+ Kết dính chức năng: Mỗi phần của thành phần đều cần thiết để thi hành một chức năng nào đó.

* Sự ghép nối:

- Thể hiện tính độc lập cao giữa các thành phần của thiết kế.

- Việc ghép nối là khó khăn nếu các thành phần (modul) dùng chung nhiều biến tổng thể (hoặc dùng chung nhiều lệnh chuyển quyền điều khiển)

- Việc ghép nối dễ dàng nếu thông tin của các thành phần nằm trọn trong thành phần đó và việc liên hệ giữa các thành phần thông qua việc truyền tham số.

* Độ dễ hiểu: Để đánh giá chúng ta dựa vào các yếu tố:

- Để hiểu được một thành phần này chúng ta có phải tham khảo các thành phần khác hay không?

- Tên gọi của hàm, biến, hằng, chương trình con có lột tả được ý nghĩa của nó hay không?

- Các thực thể của thế giới thực có quan hệ rõ ràng với các thành phần của thiết kế hay không?

* Độ phức tạp của thuật toán:

- Độ phức tạp của thuật toán càng cao thể hiện mối quan hệ giữa các thành phần.

- Độ phức tạp của thuật toán chỉ đánh giá một phần độ dễ hiểu của thuật toán, ngoài ra nó còn phụ thuộc vào việc chọn lựa dữ liệu và cách mô tả thiết kế.

* Tính dễ thích nghi: Thuận tiện cho bảo dưỡng và bảo trì hệ thống.

Câu 12

Câu hỏi:Phân tích ưu nhược điểm của các phương pháp thiết kế hướng đối tượng và phương pháp thiết kế hướng chức năn 4đ

Phương pháp thiết kế phần mềm gồm:

a) Phương pháp thiết kế hướng chức năng:

- Thiết kế hướng chức năng là một cách tiếp cận thiết kế phần mềm do bản thiết kế được phân giải thành một bộ các đơn thể tác động qua lại lẫn nhau, mà mỗi đơn thể có một chức năng được xác định rõ ràng. Các chức năng có trạng thái cục bộ nhưng chia sẻ nhau trạng thái hệ thống. Trạng thái này là tập trung và mọi chức năng đều có thể truy cập được.

- Có người nghĩ rằng, thiết kế hướng chức năng đã lỗi thời và nên được thay đổi bằng cách tiếp cận hướng đối tượng. Thế nhưng, trên thực tế nhiều tổ chức đã phát triển các chuẩn và các phương pháp dựa trên sự phân rã các chức năng. Nhiều phương pháp thiết kế kết hợp với các công cụ CASE đều là hướng chức năng. Vô khối hệ thống đã được phát triển bằng cách sử dụng phương pháp tiếp cận hướng chức năng. Bởi vậy thiết kế hướng chức năng vẫn còn được sử dụng rộng rãi.

* Ưu điểm:

- Quen thuộc.

- Xây dựng hệ thống thông qua biểu đồ luồn dữ liệu, mô tả việc biến đổi dữ liệu một cách logic. Đây là kết quả hợp nhất của nhiều phương pháp diễn tả dữ liệu vào ra qua một dãy biến đổi. Ngoài ra người ta còn phải xây dựng các bảng biểu dữ liệu, các mỗi liên kết cũng như lược đồ cấu trúc để thể hiện cấu trúc của hệ thống.

* Nhược điểm:

- Do chung nhau trạng thái hệ thống nên việc thay đổi một chức năng nào đó thì sẽ ảnh hưởng đến các chức năng khác.

=> Phương pháp này chỉ được sử dụng tốt khi các biến dùng chung, các trạng thái chung ít và phải được xác định một cách rõ ràng.

b) Phương pháp thiết kế hướng đối tượng:

- Phương pháp thiết kế hướng đối tượng là dựa trên việc che dấu thông tin, nhìn hệ phần mềm như một bộ các đối tượng tương tác với nhau chứ không phải là bộ các chức năng như cách tiếp cận chức năng. Các đối tượng có một trạng thái được che dấu và các phép toán trên trạng thái đó. Thiết kế biểu thị các dịch vụ được yêu cầu cùng với những hỗ trợ cung cấp bởi các đối tượng có tương tác với nó.

- Không có vùng dữ liệu dùng chung. Các đối tượng trao đổi với nhau bằng trao đổi thông báo (message) chứ  không phải bằng các biến dùng chung.

- Các đối tượng là các thực thể độc lập, dễ thay đổi vì rằng tất cả các trạng thái và các thông tin biểu diễn chỉ ảnh hưởng trong phạm vi chính đối tượng đó thôi. Các thay đổi về biểu diễn thông tin có thể được thực hiện không cần tham khảo (tham chiếu) tới các đối tượng hệ thống khác.

- Các đối tượng có thể phân tán và có thể hành động tuần tự hoặc song song.

* Ưu điểm:

- Dễ bảo trì vì các đối tượng là độc lập. Các đối tượng có thể hiểu và cải biến như là một thực thể độc lập. Thay đổi trong thực hiện một đối tượng hoặc thêm vào các dịch vụ sẽ không làm ảnh hưởng đến các đối tượng hệ thống khác.

- Các đối tượng là rất tốt cho việc sử dụng lại (do tính độc lập của chúng). Một thiết kế sau có thể dùng lại các đối tượng đã có trong bản thiết kế trước đó.

- Có một vài lớp hệ thống thể hiện phản ánh quan hệ rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần dùng chung) với các đối tượng điều khiển trong hệ thống. Điều này làm cho thiết kế trở lên dễ hiểu, dễ tiếp cận hơn.

* Nhược điểm:

- Sự nhận định về các đối tượng trong hệ thống một cách hợp lý là một điều khó. Cách nhìn nhận tự nhiên nhiều hệ thống là cách nhìn chức năng và thích nghi với cách nhìn hướng đối tượng đôi khi là khó khăn. Đây là một phương thức còn khá mới mẻ trong phân tích và thiết kế hệ thống thông tin.

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: