MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG I
TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM 2
I. GIỚI THIỆU CHUNG VỀ PHẦN MỀM 2
1.Định nghĩa 2
2.Tầm quan trọng của SW 2
2.1 Vai trò tiến hoá của SW 3
2.2 Vai trò của SW trong việc phát triển HTMT 4
3.Ứng dụng của SW 4
3.1 SW hệ thống 4
3.2 SW thời gian thực 5
3.3 SW nghiệp vụ 5
3.4 SW khoa học và công nghệ 6
3.5 SW nhúng 6
3.6 SW máy tính cá nhân 6
3.7 SW trí tụê nhân tạo(AI) 6
II. CÔNG NGHỆ PHẦN MỀM 7
1.Khái niệm 7
2.Lịch sử và xu hướng phát triển của CNPM 8
CHƯƠNG II
PHÂN TÍCH YÊU CẦU 10
I.KHÁI NIỆM 10
II.QUY TRÌNH PHÂN TÍCH YÊU CẦU 11
III.NGUYÊN LÍ PHÂN TÍCH 13
1. Miền thông tin của vấn đề phải được diễn đạt lại và hiểu rõ. 14
2.Miền thông tin 14
3.Mô hình hoá 15
4.Phân hoạch 16
5.Cái nhìn bản chất và cài đặt 16
CHƯƠNG III
CÁC KĨ THUẬT PHÂN TÍCH VÀ PHƯƠNG PHÁP HÌNH THỨC HOÁ TRONG CNPM 18
I KHÁI QUÁT CHUNG VỀ KĨ THUẬT VÀ PHƯƠNG PHÁP TRONG CNPM 18
II. KĨ THUẬT PHÂN TÍCH VÀ CÁC PHƯƠNG PHÁP HÌNH THỨC HOÁ TRONG CNPM 20
1.Phương pháp phân tích yêu cầu 20
1.1 Các đặc trưng chung 21
1.2 Sự khác biệt trong phương pháp phân tích 21
2. Phân tích có cấu trúc 22
2.1 Biểu đồ luồng dữ liệu DFD (data flow diagram) 23
2.2 Mở rộng cho các hệ thống thời gian thực 24
2.3 Cơ chế của phân tích có cấu trúc 27
2.3.1 Tạo ra mô hình luồng dữ liệu 27
2.3.2 Tạo ra mô hình luồng điều khiển 28
2.3.4 Đặc tả điều khiển và đặc tả tiến trình 28
2.4 Phân tích có cấu trúc và Case 29
3.Phân tích hướng sự vật 29
3.1 Khái niệm hướng sự vật 30
3.2 Mô hình hoá phân tích hướng sự vật 31
4. Phương pháp mô hình hoá dữ liệu 32
4.1 Khái niệm 32
4.2 Kĩ thuật mô hình hoá dữ liệu 32
5. Phương pháp hướng cấu trúc dữ liệu 34
5.1 Đặc điểm của phương pháp hướng cấu trúc dữ liệu 34
5.2 Phương pháp luận Warnier – Orr 35
5.3 Phát triển hệ thống JACKSON 37
6. Kĩ thuật phân tích và thiết kế có cấu trúc (SADT) 39
7. Kĩ thuật đặc tả hình thức 39
8. Kĩ thuật tự động hoá 40
8.1 Phương pháp luận kĩ nghệ yêu cầu phần mềm(SREM) 40
8.2 Ngôn ngữ phát biểu vấn đề/Bộ phân tích phát biểu vấn đề (PSL/PSA) 40
8.3 Công nghệ cho việc sinh tự động hệ thống (TAGS) 41
KẾT LUẬN 42
45 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1603 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề án Kĩ thuật phân tích và phương pháp hình thức hoá trong công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lại xem có đủ tiêu chuẩn hay không,có đúng với mô tả khách hàng không.
Việc phân tích yêu cầu có thể tiến hành theo 2 cách như sau:
Phân tích hướng quan điểm
Đối với các hệ thống cỡ trung và cỡ lớn, có các người dùng cuối khác nhau về phân loại. Do vậy, có nhiều quan điểm khác nhau về cùng một hệ thống, quan điểm quan trọng nhất cần được xác định làm cơ sở cho việc cấu trúc các phân tích yêu cầu.
Phân tích hướng phương pháp
Phân tích hướng phương pháp có thể coi là cách tiếp cận phổ biến nhất.Kết quả của phương pháp được biểu diễn bởi một số phương pháp cấu trúc để mô hình hoá hệ thống.
III.nguyên lí phân tích
Trên hai thập kỉ qua, người ta đã xây dựng ra một số phương pháp phân tích và đặc tả SW.Những người nghiên cứu đã xác định ra các vấn đề và nguyên nhân của chúng và đã xây dựng ra các quy tắc và thủ tục để vượt qua chúng.Mỗi phương pháp đều có ki pháp và quan điểm duy nhất.Tuy nhiên tất cả các phương pháp này đều có quan hệ với một tập các nguyên lí cơ bản:
1. Miền thông tin của vấn đề phải được diễn đạt lại và hiểu rõ.
Các mô hình mô tả cho thông tin, chức năng và hành vi hệ thống cần phải được xây dựng.
Các mô hình phải được phân hoạch theo cách để lộ ra các chi tiêt theo kiểu phân tầng .
Tiến trình phân tích phải đi từ thông tin bản chất hướng tới chi tiết cài đặt.
Bằng cách áp dụng những nguyên lí này, người phân tích tiếp cận vấn đề một cách hệ thống.Miên thông tin cần được xem xét sao cho người ta có thể hiểu rõ chức năng một cách đầy đủ. Các mô hình được dùng cho việc trao đổi thông tin một cách rõ ràng, ngắn gọn.Việc phân hoạch được dùng để làm giảm độ phức tạp...
2.Miền thông tin
SW được xây dựng ra để xử lí dữ liệu : biến đổi dữ liệu từ dạng này sang dạng khác.Tuy nhiên SW cũng xử lí cả sự kiện nữa.Mọi sự kiện biểu thị cho một khía cạnh nào đó của hệ thống.Dữ liệu và sự kiện đều nằm trong miền thông tin của vấn đề.
Miền thông tin chứa ba cách nhìn khác nhau về dữ liệu và điều khiển khi chúng được máy tính xử lí : (1) luồng thông tin, (2) nội dung thông tin, (3) cấu trúc thông tin.
Luồng thông tin biểu thị cho cách thức mà dữ liệu và điều khiển thay đổi khi chúng chuyển qua hệ thống. Trong quá trình này các thông tin phụ có thể được bổ xung từ kho dữ liệu.Phép biến đổi được áp dụng cho dữ liệu chính là chức năng hay chức năng con mà chương trình phải thực hiện.Dữ liệu và điều khiển di chuyển giữa hai phép biến đổi xác định giao diện cho từng chức năng.
biến đổi 1
biến đổi 2
Hình 2. Luồng thông tin
Nội dung thông tin biểu thị cho từng khoản mục dữ liệu và điều khiển có chứa một khoản mục thông tin lớp nào đó.
Cấu trúc thông tin biểu thị cho cách tổ chức bên trong của các khoản mục dữ liệu và điều khiển khác nhau.
3..Mô hình hoá
Mô hình tạo ra nhằm mục đích hiểu rõ hơn về thực thể thực tế cần xây dựng.Khi thực thể là một vật vật lí thì ta có thể xây dựng một mô hình giống hệt về hình dạng, nhưng nhỏ hơn về quy mô.Nhưng khi thực thể xây dựng là SW thì mô hình của chúng ta phải mang dạng khác.Nó phải có khả năng mô hình hoá thông tin mà SW biến đổi,các chức năng làm cho phép biến đổi đó thực hiện được, và hành vi của hệ thống khi phép biến đổi được xảy ra.
Trong khi phân tích yêu cầu phần mềm, chúng ta tạo ra các mô hình về hệ thống cần xây dựng. Các mô hình tập trung vào điều hệ thống phải thực hiện, không chú ý đến cách thức nó thực hiện. Các mô hình được tạo ra khi phân tích yêu cầu còn đóng một số vai trò quan trọng:
Trợ giúp cho người phân tích trong việc hiểu về thông tin, chức năng và hành vi của hệ thống, do đó làm cho nhiệm vụ phân tích yêu cầu được dễ dàng và hệ thống hơn.
Mô hình trở thành tiêu điểm cho việc xem xét và do đó trở thành phần mấu chốt cho việc xác định tính đầy đủ, nhất quán và chính xác của đặc tả.
Mô hình trở thành nền tảng cho thiết kế,cung cấp cho người thiết kế một cách biểu diễn chủ yếu về SW.
Các phương pháp phân tích trong xác định yêu cầu cũng chính là các phương pháp mô hình hoá.
4.Phân hoạch
Các vấn đề trong thực tế thường rất lớn và phức tạp.Việc phân hoạch những vấn đề như vậy thành các bộ phận giúp chúng ta hiểu và dễ dàng thiết lập mối giao diện giữa chúng để có thể thực hiện được chức năng toàn bộ.
Về bản chất, việc phân hoạch là phân rã một vấn đề thành các bộ phận hợp thành.Về mặt quan niệm, chúng ta thiết lập một biểu diễn có cấp bậc về chức năng hay thông tin và phân hoạch phần tử phía trên nhất theo : (1) để lộ ngày một nhiều chi tiết theo khi đi theo chiều đứng của cấp bậc hay (2) phân rã vấn đề về mặt chức năng bằng cách đi theo chiều ngang của cấp bậc. Sau khi đã phân rã, các chức năng con liên kết với chức năng chính. Trong thực tế, việc phân hoạch luồng thông tin và hành vi của hệ thống sẽ cung cấp cái nhìn phụ về yêu cầu hệ thống.
5.Cái nhìn bản chất và cài đặt
Cái nhìn bản chất về yêu cầu phần mềm trình bày các chức năng cần được thực hiện và thông tin cần được xử lí không tính tới các chi tiết cài đặt.Bằng cách tập trung sự chú ý vào bản chất của của vấn đề ngay những giai đoạn đầu của phân tích yêu cầu, chúng ta để các tuỳ chọn vẫn còn mở để xác định những chi tiết cài đặt trong các giai đoạn đặc tả yêu cầu và thiết kế phần mềm về sau.
Cái nhìn cài đặt về yêu cầu phần mềm trình bày cách biểu diễn trong thế giới thực các chức năng xử lí và cấu trúc thông tin.Trong một số trường hợp, biểu diễn vật lí được xây dựng xem như bước đầu tiên trong thiết kế phần mềm.Tuy nhiên, phần lớn các hệ thống tin học hoá lại được xác định theo cách thức áp chế việc sắp xếp những chi tiết cài đặt nào đó.
Cần lưu ý rằng việc phân tích yêu cầu phần mềm nên tập trung vào việc phần mềm phải thực hiện cái gì, chứ không nên tập trung vào việc cài đặt cách xử lí như thế nào.Hơn nữa một mô hình cài đặt biểu thị cho mốt vận hành hiện tại, tức là , việc cấp phát hiện có hay được đề nghị cho mọi phần tử hệ thống.Mô hình bản chất là tổng quát theo nghĩa việc thực hiện chức năng không được chỉ là tường minh.
Chương III
Các kĩ thuật phân tích và phương pháp hình thức hoá trong CNPM
I. khái quát chung về kĩ thuật và phương pháp trong CNPM
Như chúng ta đã biết, SW gồm 3 nhóm tạo nên: Nhóm các kĩ thuật, phương pháp luận; Nhóm các chương trình và nhóm các tư liệu.Có thể nhận thấy vai trò quan trọng không thể thiếu của các kĩ thuật và phương pháp khi đi vào nghiên cứu về chúng.
Nhóm các kĩ thuật và phương pháp luận gồm có:
Các khái niệm và trình tự cụ thể hoá một hệ thống
Các phương pháp tiếp cận giải quyết vấn đề
Các trình tự thiết kế và phát triển được chuẩn hoá
Các phương pháp đặc tả yêu cầu, thiết kế hệ thống, thiết kế chương trình, kiểm thử, toàn bộ quy trình quản lí phát triển SW
Khi chế tác SW cần nhiều kĩ thuật, chúng ta xem xét hai khái niệm : phương pháp luận và phương pháp kĩ thuật.
Phương pháp luận (Methodology) : là những chuẩn mực cơ bản để chế tạo phần mềm với các chỉ tiêu định tính.
Các phương pháp kĩ thuật (Techniques): là những trình tự cụ thể để chế tạo phần mềm và là cách tiếp cận khoa học mang tính định lượng.
Trong CNPM, cùng với sự tiến triển của các phương pháp thiết kế, các kĩ thuật và phương pháp luận cũng có nhiều biến đổi và ngày càng đa dạng hơn. Tuỳ từng giai đoạn, từng pha trong quá trình phát triển phần mềm mà các nhà khoa học ứng dụng các kĩ thuật và phương pháp hợp lí và hiệu quả.
Tên pha
Nội dung nghiệp vụ
Phương pháp kĩ thuật
Xác định yêu cầu
Đặc tả yêu cầu người dùng
Xác định yêu cầu phần mềm
Phân tích cấu trúc hoá
Thiết kế hệ thống
Thiết kế cơ bản của phần mềm
Thiết kế cấu trúc ngoài của phần mềm
Thiết kế cấu trúc hoá
Thiết kế chương trình
Thiết kế chi tiết: là thiết kế cấu trúc bên trong của phần mềm( đơn vị chương trình hoặc modun)
Lập trình cấu trúc
Phương pháp Giăcson
Phương pháp Warnier
Lập trình
Mã hoá bởi ngôn ngữ lập trình
Mã hoá cấu trúc hoá
Đảm bảo chất lượng
Kiểm tra chất lượng phần mềm đã phát triển
Phương pháp kiểm thử chương trình
Vận hành bảo trì
Sử dụng, vận hành phần mềm đã phát triển.Biến đổi ,điều chỉnh phần mềm.
Chưa cụ thể
Hình 3. Các giai đoạn và các phương pháp, kĩ thuật phân tích.
Tuy nhiên, đây chỉ là sự xác định mang tính khái quát, điển hình cho từng pha.Trong thực tế, phụ thuộc vào tính chất của công việc và yêu cầu cần có mà có cách sử dụng kĩ thuật và phương pháp một cách linh hoạt , đạt hiệu quả cao nhất chứ không nhất thiết tuân theo bảng trên.
II. Kĩ thuật phân tích và các phương pháp hình thức hoá trong CNPM
Để phân tích vấn đề một cách tập trung nhất và rõ nét nhất về kĩ thuật phân tích và các phương pháp hình thức hoá trong CNPM, chúng ta hãy nghiên cứu nội dung này đối với hoạt động phân tích yêu cầu phần mềm.
Như chúng ta đã nêu trên, phân tích yêu cầu là một quy trình đặc biệt quan trọng, nó có tính chất quyết định, ảnh hưởng lớn tới sự thành công hay thất bại của giai đoạn sau này.Đây cũng chính là quy trình đã áp dụng khá nhiều các kĩ thuật phân tích và phương pháp trong CNPM.Bất kì phương pháp phân tích yêu cầu nào cũng đều tổ hợp một tập các trực cảm và một kí pháp duy nhất để phân tích thông tin, chức năng và hành vi cho hệ thống dựa trên máy tính.Qua việc áp dụng các nguyên lí phân tích cơ bản, mỗi phương pháp lại tạo ra một mô hình cho vấn đề và các yêu cầu về giải pháp cho nó.Phần lớn các phương pháp phân tích đều ngả theo thông tin, tức là phương pháp cung cấp một cơ chế để biểu diễn miền thông tin của vấn đề.Từ cách biểu diễn này, người ta suy ra chức năng và hành vi, thiết lập các đặc trưng phần mềm khác.
Likov và Berxin đã phát biểu:
Mọi chương trình đều thực hiện một nhiệm vụ nào đó đúng đắn.Điều mà nhà tin học quan tâm là liệu nhà chương trình có thực hiện đúng nhiệm vụ đã dự kiến cho nó không.Để xác định điều này, cần có việc mô tả chính xác và độc lập cho hành vi chương trình mong muốn.
Vai trò của phân tích yêu cầu là trợ giúp cho người phân tích trong việc đưa ra một mô tả chính xác và độc lập của phần tử phần mềm của hệ thống dựa trên máy tính.
1.Phương pháp phân tích yêu cầu
Các phương pháp phân tích yêu cầu làm cho người phân tích có khả năng áp dụng nguyên lí phân tích nền tảng một cách có hệ thống.Các phương pháp có những sự tương đồng nền tảng nhưng cũng có những sự khác biệt cơ bản.
1.1 Các đặc trưng chung
Mỗi phương pháp đều hỗ trợ tạo ra cách biểu diễn có cấp bậc về hệ thống;mỗi phương pháp đều yêu cầu xem xét cẩn thận các giao diện bên ngoài và bên trong;mỗi phương pháp đều cung cấp một nền tảng cho các bước thiết kế và cài đặt theo sau.
Mặc dù các phương pháp đều đưa ra kí pháp mới và trực cảm phân tích, ta vẫn có thể đánh giá mọi phương pháp trong các đặc trưng sau : (1) cơ chế cho phân tích miền thông tin, (2) cách tiếp cận cho biểu diễn chức năng hoặc hành vi, (3) xác định giao diện, (4) cơ chế phân hoạch vấn đề, (5) hỗ trợ cho trừu tượng hoá, (6) biểu diễn các quan điểm bản chất và cài đặt.
Tất cả các phương pháp đều đề cập trực tiếp hoặc gián tiếp tới luồng thông tin và nội dung hay cấu trúc thông tin.
Chức năng được mô tả điển hình như các phép biến đổi hay tiến trình thông tin. Mỗi chức năng có thể được biểu diễn bằng cách dùng kí pháp đặc biệt.Mô tả cho chức năng có thể dùng ngôn ngữ văn bản tự nhiên, ngôn ngữ giả thủ tục với quy tắc với quy tắc cú pháp phi hình thức, hay ngôn ngữ đặc tả hình thức.
Mô tả cho giao diện là sự phát triển kế tiếp của biểu diễn thông tin và chức năng.Giao diện được dẫn ra từ việc xem xét luồng thông tin.
1.2 Sự khác biệt trong phương pháp phân tích
Mỗi phương pháp để phân tích các hệ thống dựa trên máy tính đều có quan điểm của riêng nó, kí pháp riêng và cách tiếp cận riêng tới việc mô hình hoá.Mỗi phương pháp có cách nói và thuật ngữ của riêng nó.
Trong một số trường hợp, mô hình phân tích có thể được ánh xạ trực tiếp vào một chương trình làm việc.Trong các trường hợp khác, phương pháp phân tích chỉ thiết lập một điểm bắt đầu và người thiết kế tự suy ra cách thiết kế với ít sự giúp đỡ từ mô hình phân tích.
Mức độ sử dụng các công cụ CASE hỗ trợ cho các phương pháp cũng thay đổi rất lớn.Phân tích có cấu trúc là phương pháp được sử dụng rộng rãi nhất.
2. Phân tích có cấu trúc
Nhà khoa học Tom DeMarco đã mô tả về phân tích có cấu trúc như sau:
Sản phẩm của phân tích phải mang tính bảo trì cao độ.Điều này đặc biệt được áp dụng cho tài liệu đích bản Đặc tả các yêu cầu phần mềm.
Vấn đề kích cỡ phải xử lí với việc dùng một phương pháp có hiệu quả để phân hoạch.
Phải dùng đồ hoạ bất kì lúc nào có thể được.
Chúng ta phải phân biệt giữa các xem xét logic và vật lí.
Một cái gì đó giúp chúng ta phân hoạch các yêu cầu và làm tài liệu cho việc phân hoạch đó trước khi đặc tả...
Những phương tiện nào đó theo dõi dấu vết và đánh giá giao diện...
Các công cụ mới để mô tả logic và chính sách, một cái gì đó tốt hơn là lời tường thuật...
DeMarco đã thiết lập ra các mục tiêu chủ chốt của phương pháp phân tích có cấu trúc. Phương pháp này đã thu hút được nhiều mối quan tâm, được thử nghiệm bởi nhiều người và được sử dụng rộng rãi trong toàn bộ cộng đồng kĩ nghệ phần mềm.Phương pháp phân tích có cấu trúc dùng một kí pháp duy nhất để tạo ra các mô hình mô tả cho luồng và nội dung thông tin, phân hoạch hệ thống theo chức năng hành vi và mô tả bản chất của điều cần xây dựng.
Phân tích có cấu trúc là một kĩ thuật mô hình hoá luồng và nội dung thông tin.Một hệ thống tin học hoá được biểu diễn như một phép biến đổi thông tin.Chức năng của hệ thống được biểu diễn như một phép biến đổi duy nhất, được kí hiệu bằng một hình tròn.Các thông tin vào được biểu diễn bằng các mũi tên,xuất phát từ các thực thể bên ngoài được biểu diễn bằng các hình hộp. Các thông tin vào qua phép biến đổi tạo ra các thông tin ra được biểu diễn bởi các mũi tên có nhãn.Quá trình trên được biểu diễn bởi sơ đồ sau:
Thực thể ngoài
Thực thể ngoài
Thực thể ngoài
Thực thể ngoài
Thực thể ngoài
Hình 4. Mô hình luồng thông tin
2.1 Biểu đồ luồng dữ liệu DFD (data flow diagram)
Biểu đồ luồng dữ liệu (DFD) là một kĩ thuật vẽ ra luồng thông tin và những biến đổi được áp dụng khi dữ liệu được đi từ đầu vào đến đầu ra.Trong thực tế DFD được phân hoạch thành nhiều mức biểu diễn chi tiết khi chức năng ngày càng phức tạp và các luồng thông tin ngày càng tăng.
DFD mức 0 hay mô hình hệ thống nền tảng (mô hình hoàn cảnh) biểu diễn cho toàn bộ phần tử phần mềm như một hình tròn với dữ liệu vào và ra được chỉ ra bởi các mũi tên tương ứng.DFD mức 1 có thể chứa nhiều hình tròn với các mũi tên nối lẫn nhau.Chúng ta có thể xem xét các kí pháp được sử dụng trong sơ đồ DFD.
Thực thể ngoài
Người sản xuất hay tiêu thụ thông tin vốn nằm ngoài biên giới hệ thống được mô hình.
Phép biến đổi thông tin nằm bên trong biên giới của hệ thống được mô hình.
Luồng thông tin vào hay ra của một chức năng xử lí.
Các thông tin cần lưu giữ lại trong một khoảng thời gian để sau đó các tiến trình hoặc tác nhân đưa vào sử dụng.
Sự phân hoạch của biểu đồ luồng dữ liệu thành các mức chi tiết hơn nhằm mục đích làm mịn thông tin. Các chức năng tiến trình xử lí được mô tả ngày càng rõ nét hơn.Quá trình làm mịn phải được diễn ra theo những quy định nhất định. Nó phải đảm bảo quá trình làm mịn một cách liên tục không bị gián đoạn.Phải duy trì sự liên tục luồng thông tin tức là ,cái vào và cái ra cho từng việc làm mịn phải còn như cũ.
Mặc dù các kí pháp trên là những khái niệm cơ bản để xây dựng một DFD , rất cần thiết trong xác định yêu cầu phần mềm, tuy nhiên nó không đủ để mô tả cho yêu cầu phần mềm.Một thành phần khác của kí pháp cơ bản cho phân tích có cấu trúc đó là từ điển dữ liệu. Khi một mô hình dữ liệu hệ thống được xác định, các thực thể quan hệ sẽ được xác định và đặt tên . Các tên này nên được chọn lọc để cho người đọc các gợi ý về ngữ nghĩa. Tuy nhiên cần mô tả chi tiết hơn cho mỗi tên gọi , các tên gọi cần được lưu trữ trong một kho dữ liệu duy nhất gọi là từ điển dữ liệu.Từ điển dữ liệu có thể hiểu là một danh sách sắp theo thứ tự các tên và các mô tả chi tiết. Các ưu điểm của việc tạo ra từ điển dữ liệu là : Cách hữu hiệu để quản lí tên, đảm bảo sự thống nhất và duy nhất của tên; Là kho thông tin có tổ chức cho phép liên kết các phần phân tích, thiết kế, triển khai và tiến triển .
Một đoạn văn mô tả cho vòng tròn tiến trình có thể được dùng để xác định các chi tiết xử lí được hình tròn ngụ ý trong DFD.Lời thuật xử lí mô tả cái vào của vòng tròn và chỉ ra các hạn chế áp đặt lên tiến trình.
Kí pháp ban đầu cho phân tích có cấu trúc đã được phát triển cho các ứng dụng xử lí dữ liệu quy ước, nhưng các mở rộng làm cho các phương pháp này được áp dụng cho hệ thống thời gian thực.
2.2 Mở rộng cho các hệ thống thời gian thực
Những kí pháp cơ bản của phương pháp phân tích có cấu trúc chưa đáp ứng yêu cầu biểu diễn thông tin, nhất là các ứng dụng phần mềm phụ thuộc thời gian và xử lí thông tin hướng điều khiển.Dựa trên nền tảng cũ,Ward và Mellor, Hatley và Pirbhai đã mở rộng các kí pháp cơ bản đối với phân tích có cấu trúc để phù hợp với phân tích phần mềm thời gian thực.
Ward và Mellor mở rộng các kí pháp phân tích có cấu trúc cơ bản để thích hợp với các yêu cầu sau của hệ thống thời gian thực :
Luồng thông tin được thu thập hay tạo ra trên cơ sở thời gian liên tục.
Thông tin điều khiển được truyền qua hệ thống và được liên kết với việc xử lí điều khiển.
Nhiều thể nghiệm của cùng một biến đổi đôi khi gặp phải các tình huống đa nhiệm.
Trạng thái hệ thống và cơ chế gây ra việc chuyển trạng.
Khoản mục dữ liệu là cái vào hay ra từ một tiến trình trên cơ sở liên tục.
Phép biến đổi hay điều khiển chấp nhận điều khiển và cái vào rồi tạo ra điều khiển và cái ra.
Khoản mục điều khiển hay sự kiện, nhận giá trị bun hay rời rạc, mũi tên chỉ ra hướng của luồng điều khiển.
Khi các khoản mục điều khiển được
lưu trữ để dùng bởi một hay nhiều tiến trình.
Nhiều thể nghiệm tương đương của cùng tiến trình.Được dùng khi nhiều tiến trình được tạo ra trong hệ thống đa nhiệm.
Hình 5. Kí pháp phân tích có cấu trúc mở rộng cho hệ thống
thời gian thực do Ward và Mellor phát triển
Sự phân biệt giữa luồng dữ liệu rời rạc và liên tục theo thời gian có ảnh hưởng quan trọng cho cả người kĩ sư hệ thống lẫn người thiết kế phần mềm. Đối với kĩ sư hệ thống, trong khi tạo ra mô hình hệ thống, họ sẽ có khả năng cô lập tốt hơn các tiến trình mà có hiệu năng chủ chốt.Còn đối với người thiết kế phần mềm, khi mô hình vật lí hay cài đặt được tạo ra, họ phải thiết lập một cơ chế để thu thập dữ liệu liên tục theo thời gian. Trong biểu đồ luồng dữ liệu quy ước, điều khiển hay luồng sự kiện không được biểu thị tường minh. Trong thực tế, người phân tích được báo trước phải đặc biệt loại trừ việc biểu diễn luồng điều khiển ra khỏi biểu đồ luồng dữ liệu.Việc loại trừ này là sự hạn chế quá mức khi các ứng dụng thời gian thực được xem xét tới, và bởi lí do này mà người ta đã phát triển một kí pháp đặc biệt để biểu diễn luồng sự kiện và xử lí điều khiển.Luồng điều khiển thì được biểu diễn bằng mũi tên với đường đứt đoạn còn tiến trìng điều khiển được biểu diễn tương tự thông qua việc dùng hình tròn đứt đoạn.
Khác với Mard và Mellor, Hatley và Pirbhai cho rằng kí pháp nét liền và nét đứt đoạn nên biểu diễn tách biệt.Cần định nghĩa ra biểu đồ luồng điều khiển (CFD). CFD chỉ ra luồng điều khiển chứ không phải luồng dữ liệu. Thay vì biểu diễn các tiến trình điều khiển trực tiếp bên trong mô hình luồng, người ta dùng một tham chiếu kí pháp tới đặc tả điều khiển.Về bản chất,bảng hướng dẫn có thể được xem như một cửa sổ mở ra việc thực hiện để điều khiển tiến trình được biểu diễn trong DFD.Đặc tả điều khiển được dùng để chỉ ra cách phần mềm hành xử khi một sự kiện hay tín hiệu điều khiển được cảm nhận và tiến trình nào được kích hoạt như hậu quả của việc xuất hiện sự kiện.Dùng kí pháp mô tả và bản đặc tả , Hatley và Pirbhai đã tạo ra mô hình về hệ thống thời gian thực.Biểu đồ luồng dữ liệu được dùng để biểu diễn cho dữ liệu và tiến trình thao tác nó. Biểu đồ luồng điều khiển chỉ ra cách thức sự kiện chảy qua các tiến trình và minh hoạ cho các sự kiện bên ngoài có thể gây cho nhiều tiến trình khác được kích hoạt.
Khoản mục điều khiển hay sự kiện; nhận giá
trị bun hay rời rạc; mũi tên chỉ hướng của luồng thông tin.
Vạch đứng là một tham khảo tới đặc tả điều
khiển mô tả cho hành vi của hệ thống và xác
định cách tiến trình được kích hoạt như hậu
quả của các sự kiện.
Hình 6. Kí pháp phân tích có cấu trúc mở rộng cho hệ thống
thời gian thực do Hatley và pirbhai phát triển.
2.3 Cơ chế của phân tích có cấu trúc
2.3.1 Tạo ra mô hình luồng dữ liệu
Mô hình luồng dữ liệu (DFD) làm cho người kĩ sư phần mềm phát triển được các mô hình về miền thông tin và lĩnh vực chức năng đồng thời.Khi DFD được làm mịn tới các mức chi tiết lớn hơn thì người phân tích thực hiện một sự phân rã chức năng không tường minh về hệ thống.Đồng thời việc làm mịn DFD làm phát sinh ra một sự làm mịn tương ứng về dữ liệu khi nó chuyển qua các tiến trình nằm trong ứng dụng.
Khi xây dựng DFD cần chú ý
Biểu đồ luồng dữ liệu mức 0 nên mô tả cho chỉ một vòng tròn phần mềm/hệ thống.
Cái vào và cái ra chính cần được chú thích cẩn thận.
Việc làm mịn nên bắt đầu từ việc cô lập các tiến trình, khoản mục dữ liệu và kho ứng cử viên cần được biểu diễn ở mức tiếp.
Tất cả các mũi tên và hình tròn nên được gắn nhãn bằng những tên có ý nghĩa.
Phải duy trì được tính liên tục luồng thông tin từ mức nọ sang mức kia.
Mỗi lúc chỉ nên làm mịn một hình tròn.
Sinh viên
P.Đào tạo
Hình 7. Sơ đồ DFD mức 0 tính và lên bảng điểm thi cho sinh viên
2.3.2 Tạo ra mô hình luồng điều khiển
Với sự phát triển của các ứng dụng phần mềm, được điều khiển bởi các sự kiện thay vì bởi dữ liệu, tạo ra thông tin điều khiển chứ không chỉ là báo cáo hay hiển thị, xử lí thông tin với mối quan tâm chủ yếu là về thời gian và hiệu năng.Chính vì vậy, việc ra đời mô hình luồng điều khiển là cần thiết.Để xét duyệt cách tiếp cận tạo ra CFD, mô hình luồng dữ liệu được lột bỏ mọi mũi tên luồng dữ liệu.Các sự kiện và các khoản mục điều khiển được bổ sung vào biểu đồ và một cửa sổ được vẽ trong đặc tả điều khiển.
2.3.4 Đặc tả điều khiển và đặc tả tiến trình
Đặc tả điều khiển(CSPEC) biểu diễn cho hành vi của hệ thống theo hai cách khác nhau. Nó có thể chứa một biểu đồ chuyển trạng cũng có thể chứa một bảng kích hoạt chương trình.CSPEC mô tả hành vi của hệ thống, nhưng nó không cho bất kì thông tin nào về cách làm việc bên trong của các tiến trình được kích hoạt xem như kết quả của hành vi này.
Đặc tả tiến trình(PSPEC) được dùng để mô tả cho mọi tiến trình mô hình luồng xuất hiện ở mức cuối của việc làm mịn.Nó có thể bao gồm đoạn văn tường thuật, ngôn ngữ thiết kế chương trình mô tả cho thuật toán, phương trình toán học, bảng , biểu đồ.
2.4 Phân tích có cấu trúc và Case
Phân tích có cấu trúc được hỗ trợ bởi các công cụ Case với mục đích tạo ra từng phần tử mô hình và đảm bảo tính nhất quán, đúng đắn.Khi tin học phát triển và chúng ta phải đi vào xây dựng các hệ thống lớn thì việc sử dụng các kí pháp mô hình hoá rất khó có thể thực hiện được.Thật khó khăn khi thể hiện các mức khác nhau của mô hình luồng một cách thủ công; Việc liên kết các CSPEC và PSPEC với các CFD và DFD tương ứng quả là một thách thức.Chính vì vậy công cụ Case đã trở thành cách tiếp cận được ưa thích.Người kĩ sư phần mềm dùng tính năng vẽ hình của công cụ Case để tạo ra từng mô hình luồng.Chuột,đơn kéo xuống, đa cửa sổ và các bộ kí hiệu mô hình hoá là các phần tử chủ chốt của cách tiếp cận này.
Công cụ Case còn có thể liên kết tự động các CSPEC và PSPEC với các CFD và DFD tương ứng.Dùng các lệnh đơn, người phân tích có thể hoàn chỉnh PSPEC hay CSPEC cho mô hình luồng và gắn chúng vào các mô hình luồng hay CFD thích hợp.
3.Phân tích hướng sự vật
Phương pháp hướng sự vật cho việc phân tích yêu cầu
phần mềm làm cho người phân tích có thể mô hình hoá vấn đề bằng cách biểu diễn các lớp,các sự vật, thuộc tính và các thao tác như các thành phần mô hình hoá chính.Ngày nay, phân tích hướng sự vật(Object – oriented analysis, OOA) đang ngày càng trở thành một phương pháp phân tích yêu cầu theo đúng nghĩa riêng của nó và là một phần bổ sung cho các phương pháp phân tích khác.
3.1 Khái niệm hướng sự vật
Coad và Yourdon đã có định nghĩa hướng sự vật theo cách sau:
Hướng sự vật = Sự vật + phân lớp +kế thừa +truyền thông.
Việc xác định sự vật trong không gian mà chúng ta đang sống là điều đơn giản, song trong không gian của vấn đề ứng dụng phần mềm, sẽ khó xác định sự vật hơn.Các sự vật có thể là:
Các vật vốn là một phần của miền thông tin cho vấn đề.
Sự xuất hiện hay biến cố vốn xuất hiện bên trong hoàn cảnh vận hành hệ thống.
Vai trò do những người có tương tác với hệ thống đảm nhiệm.
Đơn vị tổ chức có liên quan tới một ứng dụng.
Nơi chốn tạo nên hoàn cảnh của vấn đề và toàn bộ chức năng của hệ thống.
Cấu trúc xác định ra lớp các sự vật hay các lớp sự vật có liên quan.
Coad và Yourdon đã gợi ý ra sáu đặc trưng cho chọn lựa nên sử dụng khi người phân tích xem xét từng sự vật tiềm năng sẽ đưa vào trong mô hình phân tích.
Thông tin được sử dụng.Sự vật tiềm năng sẽ có ích trong khi phân tích chỉ nếu thông tin về nó được ghi nhớ sao cho hệ thống có thể vận hành.
Dịch vụ cần tới.Sự vật tiềm năng phải có một tập hợp các th
Các file đính kèm theo tài liệu này:
- 33769.doc