intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Kỹ nghệ phần mềm phòng sạch_Nhập môn công nghệ phần mềm

Chia sẻ: Tiendat Nguyen | Ngày: | Loại File: DOCX | Số trang:30

162
lượt xem
29
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

CNPM ở Việt Nam được xem là một ngành công nghiệp đặc thù với sản phẩm trí tuệ là phần mềm và là một ngành công nghiệp đầy tiềm năng, ngành mũi nhọn trong chiến lược trong công cuộc công nghiệp hóa hiện đại hóa đất nước. Từ trước tới nay Việt Nam vẫn được đánh giá là nước có tốc độ phát triển công nghiệp phần mềm cao và ổn định, khoảng 30-40% 1 năm, nhờ vào công cuộc đổi mới và ngồn lao động giá rẻ. Chính nhờ nguồn lao động giá rẻ mà chúng ta thu hút được...

Chủ đề:
Lưu

Nội dung Text: Kỹ nghệ phần mềm phòng sạch_Nhập môn công nghệ phần mềm

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN   BÀI TẬP LỚN MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Đề tài: Kỹ nghệ phần mềm phòng sạch Giáo viên hướng dẫn: Th.s Nguyễn Thanh Bình Sinh viên thực hiện: Nhóm 10-Lớp CĐ Tin2-K11 1:Lê Huy Lân 2: Nguyễn Tiến Đạt 3: Đặng Thị Hà Hà Nội 05/2011 1
  2. LỜI GIỚI THIỆU CNPM ở Việt Nam được xem là một ngành công nghiệp đặc thù với sản phẩm trí tuệ là phần mềm và là một ngành công nghiệp đầy tiềm năng, ngành mũi nhọn trong chiến lược trong công cuộc công nghiệp hóa hiện đại hóa đất nước. Từ trước tới nay Việt Nam vẫn được đánh giá là nước có tốc độ phát triển công nghiệp phần mềm cao và ổn định, khoảng 30-40% 1 năm, nhờ vào công cuộc đổi mới và ngồn lao động giá rẻ. Chính nhờ nguồn lao động giá rẻ mà chúng ta thu hút được một số dự án đầu tư của nước ngoài. Tuy nhiên khác với những nghành công nghiệp đặc thù khác, công nghiệp phần mềm lại cần một nguồn nhân lực có trình độ, tư duy lôgic tốt, am hiểu ngoại ngữ và các nền tảng công nghệ. Nguồn nhân lực như vậy chúng ta đang thiếu rất nhiều. Thêm nữa công nghiệp phần mềm Việt Nam chủ yếu vẫn là gia công phần mềm chưa thực sự nắm được một nền tảng công nghệ nào, tức là chúng ta chỉ đang làm mướn mà thôi. Chính vì vậy nhiệm vụ của chúng ta hiện nay để vực dậy nền công nghiệp phần mềm non trẻ là thứ nhất: đào tạo đội ngũ nhân lực có đầy đủ năng lực trình độ ngoại ngữ, thứ hai: các viện nghiên cứu, các trường đại học phải là những nơi tiên phong trong việc nghiên cứu áp dụng những nền tảng công nghệ, để giúp cho Việt Nam không chỉ còn là “kẻ làm mướn” mà còn có thể làm chủ, phát huy tính chủ động sáng tạo trong mỗi trí thức trẻ. Đó chính là giá trị thực mà chúng ta cần vươn tới. Góp phần nhỏ bé vào mục tiêu cao cả ấy, nhóm sinh viên số 10 lớp tin2_k11 trường Đại Học Công Nghiệp Hà Nội chúng tôi đã tiến hành tiến hành tìm hiểu và báo về đề tài Công nghệ phần mềm phòng sạch(hay còn gọi là mô hình hình thức). Đây là một công nghệ mới ở Việt Nam và cũng chỉ được áp dụng ở một vài nước tiên tiến nhất trên thế giới. Đúng như tên gọi của nó mục tiêu của phương pháp này là tạo ra những phần mềm “cực kỳ sạch” tức là không có bất kỳ một lỗi nào. Điều này cực kỳ hữu ích bởi chúng ta đều biết 70% chi phí cho một phần mềm dùng vào việc bảo trì sửa chữa. Thặng dư tạo ra sẽ cực kỳ lớn. Bài báo cáo sau đây sẽ đem lại cho các bạn cái nhìn tổng quan nhất về Công nghệ phần mềm phòng sạch, là hướng mở cho sinh viên CNTT chúng ta nghiên cứu và phát triển. Nhóm chúng tôi xin chân thành cảm ơn cô giáo Nguyễn Thanh Bình cũng như các bạn đồng nghiệp gần xa đã tận tình giúp đỡ chúng tôi hoàn thành bản báo cáo này. Tuy đã cố gắng hết sức nhưng do thời gian, kinh nghiệm và năng lực còn hạn chế nên trong bản báo cáo không thể tránh khỏi những thiếu sót. Rất mong nhận được sự đóng góp phản hồi từ các bạn để chúng tôi ngày càng hoàn thiện hơn! Một lần nữa Chúng em xin chân thành cảm ơn! 2
  3. Mục lục LỜI GIỚI THIỆU ................................................................................................... 1 DANH MỤC TỪ VIẾT TẮT ................................................................................. 4 BẢNG DANH MỤC CÁC HÌNH VẼ .................................................................... 5 I. PHẦN MỞ ĐẦU ................................................................................................ 6 1. Tầm quan trọng của mô hình hình thức (phần mềm phòng sạch)................... 6 2. Phạm vi liên quan.......................................................................................... 6 3. Quá trình phát triển và hiện trạng .................................................................. 7 4. Vai trò và ý nghĩa của đề tài trong vấn đề chung nói riêng và CNPM nói chung ..................................................................................................................... 8 II. Nội dung ............................................................................................................ 9 1. Phương pháp phòng sạch .............................................................................. 9 2. Chức năng đặc điểm kỹ thuật ...................................................................... 12 3. Thiết kế phòng sạch.......................................................................................... 16 4. Kiểm thử phòng sạch ........................................................................................ 22 5. Tìm hiểu sơ qua về khái niệm phòng sạch trong thực tế ................................... 26 III. Kết luận .......................................................................................................... 31 IV. Tài liệu tham khảo .......................................................................................... 32 3
  4. DANH MỤC TỪ VIẾT TẮT Từ viết tắt Nghĩa CNPM Công nghệ phần mềm CNTT Công nghệ thông tin SQA Software Quality Assurance 4
  5. BẢNG DANH MỤC CÁC HÌNH VẼ Hình Nội dung 1.1 Mô hình qui trình phòng sạch 1.2 Cơ cấu đặc tả hộp 1.3 Đặc tả hộp đen 1.4 Đặc tả hộp trạng thái 1.5 Nhận dạng hộp sáng 1.6 Thiết kế đặc tả chính xác 1.7 Thuật toán tính phần số nguyên của một căn bậc 1.8 Thiết kế chính xác 1.9 Phòng sạch 1.10 Phin lọc 5
  6. I. PHẦN MỞ ĐẦU 1. Tầm quan tr ọng c ủa mô hình hình thứ c (phầ n mề m phòng s ạch) Đã bao giờ bạn nghe ai đó nói: “Làm đúng ngay lần đầu tiên”? Đó là triết lý thay thế của phần mề m phòng sạch– một qui trình nhấn mạnh chứng nhận toán học chính xác trước khi chương trình khởi tạo và chứng nhận của phần mề m được thực thi như một phần của hoạt động kiể m thử. Điể m mấu chốt là cực kỳ thấp tỷ lệ thất bại điều mà rất khó khăn hoặc không thể đạt nếu bằng cách sử dụng phương pháp không chính thức. Ai sẽ được điều đó? Chính là những kỹ sư phần mềm huấn luyện đặc biệt. Tại sao nó lại quan trọng? Lỗi thì phải làm làm lại, làm lại thì mất thời gian và tăng chi phí. Thật là một điều lý tưởng nếu chúng ta có thể giảm đáng kể số lượng sai lầm (lỗi) và đưa ra phần mềm như đã được thiết kế và xây dựng 2. P hạm v i liên quan Mô hình phân tích và thiết kế được sáng tạo và sử dụng hộp cơ cấu đại diện. Một “hộp” đóng gói hệ thống(hoặc là một số khía cạnh của hệ thống) ở mức độ cụ thể của trừu tượng. Xác minh tính đúng đắn là được áp dụng một thiết kế cấu trúc hộp hoàn chỉnh. Một sự đúng đắn được xác định cho mỗi cấu trúc hộp, thống kê thường bắt đầu kiểm tra. Phần mềm được kiểm tra bởi định nghĩa sử dụng kịch bản, xác định xác suất sử dụng cho mỗi kịch bản, và sau đó xác định các xét nghiệm ngẫu nhiên mà phù hợp với các xác suất. Những bản ghi lỗi kết quả của sự phân tích cho phép những tính toán toán học trong định hướng độ tin cậy cho các thành phần phần mềm. Sản phẩm làm việc là gì? Hộp đen, hộp trạng thái và hộp rỗng đặc biệt được phát triển. Kết quả của những bắng cớ chính xác chính thức và những thống kê kiểm thử là các bản ghi. Làm thế nào để đảm bảo rằng bạn đã làm đúng? Bằng cớ thông thường của sự chính xác được chấp nhận cho cấu trúc hộp đen đặc biệt. Sự thống kê sử dụng các bài kiểm tra gồm các kịch bản để đảm bảo rằng những lỗi lệnh của người dùng được phát hiện và xử lý cho đúng. Kiểm tra dữ liệu được sử dụng để đưa ra một chỉ số của tính tiện lợi của phần mềm. 6
  7. Khi một phần mềm thất bại trên thị trường, đầy rẫy rủi ro tức thì và rủi ro lâu dài. Những rủi ro có thể liên quan đến an toàn con người, mất mát kinh tế, hay là hệ quả của hoạt động kinh doanh và cơ sở hạ tầng xã hội. Công nghệ phần mềm phòng sạchlà một qui trình hiện đại nó có thể khắc phục những nhược điểm trước khi chúng có thể trở thành những rủi ro nghiêm trọng. 3. Q uá trình phát triể n và hiệ n tr ạ ng Học thuyết của phòng sạch trong công nghệ sản xuất phần cứng khá là đơn giản : Nó là chi phí hiệu quả và thời gian hiệu quả để đưa ra một phương pháp ngăn ngừa và giới thiệu những nhược điểm của sản phầm. Hơn là chế tạo một sản phẩm và sau đó làm việc để gỡ bỏ nhược điểm. Phương pháp phòng sạchđòi hỏi sự kỷ luật để loại trừ những nhược điểm trong quá trình định rõ và thiết kế và sau đó chế tạo trong một kiểu « sạch ». Triết lý phòng sạchđược lần đầu tiên đề xuất cho công nghệ phần mềm bởi Mills, Dyer và Linger trong thập kỷ 80. Mặc dù những kinh nghiệm trước đó với những phương pháp kỷ luật trong công nghệ phần mềm được đưa ra chữ ký đảm bảo, nó không có lợi ích sử dụng rộng rãi, Henderson đưa ra 3 lý do cơ bản sau: 1. Một niềm tin rằng phương pháp phòng sạch quá lý thuyết, quá toán học và quá cơ bản để sử dụng vào trong thực tế phát triển phần mềm 2. Nó chủ trương không một đơn vị kiểm tra bởi người phát triển nhưng thay vì thay thế nó với xác minh chính xác và công cụ thống kê chất lượng, ý tưởng rằng thay thế một khởi đầu chủ đạo từ cách mà hầu hết những phần phần mềm được phát triển ngày nay. 3. Tính kỹ càng của công nghiệp phát triển phần mềm. Việc sử dụng qui trình phòng sạchyêu cầu ứng dụng nghiêm nghặt trong từng bước của qui trình. Từ khi phần lớn nền công nghiệp hoạt động theo chuẩn AD HOC (được định nghĩa bởi SEI CMM) nền công nghiệp sẵn sáng áp dụng những ký thuật đó Mặc dù các yếu tố của sự thật trong mỗi những quan ngại này, tiềm năng lợ i ích của công nghệ phần mềm phòng sạch xa quan trọng hơn đầu tư cần thiết để khắc phục cản trở lúc đó là cốt lõi của những quan ngại này. 7
  8. 4. Vai trò và ý nghĩa c ủa đề tài trong v ấ n đề c hung nói riêng và CNPM nói c hung Sự kết hợp sử dụng tính tiện lợi của công nghệ phần mềm hiện đại (những phương pháp chính thức), chương trình kiểm thử (bằng cớ chính xác), và thống kê SQA đã được kết hợp trong một công nghệ có thể dẫn dắt hoàn toàn phần mềm chất lượng cao. Công nghệ phần mề m phòng sạch là một phương pháp, nó nhấn mạnh việc cần thiết phải xây dựng tính chính xác trong phần mề m. Thay cho những phân tích, thiết kế, tạo mã, kiể m thử, chu trình gỡ lỗi truyền thống, phương pháp phòng sạch gợi ý một quan điể m mới. Triết lý ẩn chứa trong công nghệ phòng sạch là ngăn ngừa sự phụ thuộc vào nhược điểm tai hại tăng lên trong qui trình di chuyển bằng viết mã ngay lần đầu tiên và xác nhận tính chính xác của chúng trước khi kiể m thử. Mô hình quá trình của nó kết hợp các chứng nhận chất lượng thống kê của gia số mã như chúng tích lũy thành một hệ thống.Trong nhiều cách, phương pháp phòng sạch nâng cao công nghệ phần mề m lên một cấp độ khác. Các qui trình phòng sạch nhấn mạnh sự chặt chẽ trong quá trình đặc điểm kỹ thuật và thiết kế, và xác minh chính thức của mỗ i yếu tố thiết kế bằng cách sử dụng chứng minh đúng đắn được dựa trên toán học 8
  9. II. Nội dung 1. P hương pháp phòng s ạch 1.1 Chiến lược phòng sạch Phương pháp phòng sạch làm cho việc sử dụng chỉ một phiên bản của phầ n mề m gia tăng. Một “luồng của phần mềm tăng lên” là được phát triển bởi nhóm nhỏ kỹ sư phần mề m. Như mỗi sự tiến triển từng được chứng nhận, nó được tích hợp trong tất cả. Do đó, chức năng của hệ thống phát triển theo thời gian. Chuỗ i nhiệ m vụ phòng sạch tăng lên được minh họa trên sơ đồ 1.1. Hệ thống tổng thể hoặc sản phẩm yêu cầu được phát triển bằng cách sử dụng các hệ thống kỹ thuật. Một chức năng đã được phân công trong thành phần phần mềm của hệ thống, những đường ống của phòng sạch tăng lên được khởi tạo. Những công việc sau xảy ra: Tăng qui hoạch. Một dự án dự định rằng thông qua chiến lược gia tăng để được phát triển. Chức năng của mỗi gia lượng, kích cỡ dự án của nó và một lịch phát triển phòng sạch được tạo ra. Chăm sóc đặc biệt phải được đưa đến đảm bảo rằng số gia chứng nhận sẽ được tích hợp một cách kịp thời. Yêu cầu thu thập Sử dụng kỹ nghệ tương tự như đã được giới thiệu trong phần 11. Một chi tiết mô tả thêm vào của khách hàng yêu cầu(cho mỗi gia lượng) Thiết kế chính thức Đặc điểm cấu trúc hộp, thiết kế phòng sạch là một mở rộng liền mạch của tự nhiên Một phương pháp đặc điểm kỹ thuật mà làm cho việc sử dụng hộp cấu trúc [HEV93] được sử dụng để mô tả các đặc tả chức năng. Tuân thủ các nguyên tắc phân tích hoạt động thảo luận trong Chương 11, cấu trúc hộp "Cô lập và sáng tạo riêng biệt định nghĩa của hành vi, dữ liệu, thủ tục ở mỗi cấp độ khác nhau của sàng lọc Thiết kế chính thức 9
  10. Sử dụng phương pháp cấu trúc hộp, thiết kế phòng sạch là mở rộng tự nhiên và liền mạch của đặc tả.Mặc dù có thể thực hiện một sự phân biệt rõ ràng giữa hai hoạt động, chi tiết kỹ thuật (gọi là hộp đen) là iteratively tinh chế (trong vòng một tăng) để trở thành kiến trúc tương tự và thành phần thiết kế trình độ (gọi là hộp trạng thái và các hộp rỗng, tương ứng). Kiể m chứng chính xác Nhóm Phòng sạch tiến hành một loạt các hoạt động kiểm định nghiêm ngặt đúng đắn về thiết kế và sau đó mã hóa. Mã xác nhận (phần 1,3 và 1,4) bắt đầu với cấu trúc hộp cao cấp (đặc điểm kỹ thuật) và di chuyển về hướng thiết kế chi tiết và mã hóa. Mức độ đầu tiên của xác minh đúng đắn xảy ra bằng cách áp dụng một tập hợp các “câu hỏi đúng đắn”. Nếu chúng không chứng minh rằng các đặc điểm k ỹ thuật là chính xác, thì sẽ có thêm những phương pháp hình thức (toán học) được sử dụng cho kiể m chứng. Sinh mã, kiểm tra, xác minh Cấu trúc hộp chuyên môn, đại diện cho một ngôn ngữ chuyên ngành, được dịch sang các ngôn ngữ lập trình thích hợp. Hướng tiêu chuẩn hoặc kiểm tra kỹ thuật (Chương 8) sau đó được sử dụng để đảm bảo sự phù hợp ngữ nghĩa của mã và cấu trúc hộp và đúng đắn cú pháp của mã. Sau đó tiến hành xác minh là đúng đắn cho mã nguồn. Thống kê kiểm tra quy hoạch Việc sử dụng dự kiến của phần mề m là một bộ phân tích và các trường hợp kiể m tra rằng sự thực hiện một phân bố xác suất về cách sử dụng đang lên kế hoạch và được thiết kế (mục 1.4). Đề cập trong hình 1.1, Phòng sạch hoạt động này được tiến hành song song với đặc điểm kỹ thuật, xác minh, và thế hệ mã. Thống kê sử dụng thử nghiệm. Nhắc lại rằng thử nghiệm đầy đủ của phần mềm máy tính là không thể (Chương 17), nó là luôn luôn cần thiết để thiết kế một số hữu hạn các trường hợp thử nghiệm. Thống kê sử dụng các kỹ thuật [POO88] thực hiện một loạt các bài kiểm tra bắt nguồn từ một mẫu thống kê (các phân bố xác suất ghi nhận trước đó) 10
  11. của tất cả các chương trình xử tử có thể có của tất cả người dùng từ một số mục tiêu (mục 1.4) Chứng nhận. Sau khi xác minh, kiểm tra, và kiể m tra việc sử dụng đã được hoàn thành (và tất cả các lỗi được sửa chữa), gia lượng được chứng nhận là đã sẵn sàng cho tích hợp. Giống như các mô hình quy trình phần mềm khác(thác nước, tiến hóa…), mô hình phòng sạch dựa chủ yếu vào sự cần thiết để sản xuất phân tích chất lượng cao và các mô hình thiết kế. 1.2 Điều gì tạo nên sự khác biệt ở phòng sạch Dyer ám chỉ đến những khác biệt trong cách tiếp cận phòng sạch khi ông định nghĩa quá trình: Phòng sạch đại diện cho các nỗ lực đầu tiên thực hiện ở việc đưa tiến trình phát triển phần mềm kiểm soát chất lượng thống kê với một chiến lược cũng xác định cho quá trình liên tục cải thiện. Để đạt được mục tiêu này, một cuộc sống độc đáo phòng sạch chu kỳ đã được định nghĩa trong đó tập trung vào toán học dựa trên công nghệ phần mềm cho các thiết kế phần mềm và chính xác về số liệu thống kê dựa trên phần mềm thử nghiệm để xác nhận độ tin cậy phần mềm. Công nghệ phần mềm phòng sạch khác với thông thường và hướng đối tượng xem trình bày trong phần ba và bốn của cuốn sách này bởi vì: 1. Nó làm cho việc sử dụng rõ ràng của kiểm soát chất lượng thống kê. 2. Nó thẩm tra thiết kế đặc tả bằng cách sử dụng một chứng minh toán học dựa trên các đúng đắn. 3. Nó dựa chủ yếu vào thử nghiệ m sử dụng thống kê để phát hiện sai sót tác động cao Rõ ràng, các phương pháp tiếp cận phòng sạch áp dụng nhất, nếu không phải tất cả, các phần mềm cơ bản kỹ thuật nguyên tắc và khái niệ m được trình bày trong suốt cuốn sách này. Phân tích tốt và các thủ tục thiết kế là rất cần thiết nếu chất lượng cao là kết quả. Nhưng công nghệ phòng sạch phân kỳ từ thực tiễn phần mề m 11
  12. thông thường được nhấn mạnh (một số xin nói, loại bỏ) với vai trò của đơn vị kiể m tra và gỡ lỗi và đáng kể giả m (hoặc loại bỏ) số lượng thử nghiệm được thực hiệ n bởi các nhà phát triển của các phần mề m Trong phát triển phần mềm thông thường, các lỗi được chấp nhận như là một thực tế của cuộc sống. Bởi vì lỗi được coi là không thể tránh khỏi, mỗi mô- đun chương trình nên được đơn vị được kiểm tra (để phát hiện lỗi) và sau đó sửa lỗi (để loại bỏ các lỗi). Khi phần mềm này là cuối cùng phát hành, sử dụng khám phá lĩnh vực khuyết tật vẫn còn nhiều hơn và chu kỳ kiể m tra khác và gỡ lỗi bắt đầu. Các Rework liên kết với các hoạt động này là tốn kém và mất thời gian. Tệ hơn nữa,nó có thể thoái hóa, có thể sửa lỗi (vô tình) dẫn đến việc giới thiệu vẫ n còn nhiều sai sót. Trong công nghệ phần mềm phòng sạch, đơn vị thử nghiệ m và gỡ lỗi được thay thế bằng xác minh tính chính xác và thống kê dựa trên thử nghiệm. Những hoạt động này, cùng với việc giữ kỷ lục cần thiết cho việc cải tiến liên tục, làm cho phòng sạch là phương pháp duy nhất. 2. C hức năng đặ c điểm kỹ thuậ t Bất kể các phương pháp đó là lựa chọn ,các nguyên tắc được trình bày trong chương 11.Dữ liệu ,chức năng và các hành vi được mô phỏng.Các mô hình kết quả phải được phân vùng để đáp ứng các chi tiết ngày càng lớn.Tất cả các mục tiêu trên là để chuyển từ tài liệu đặc tả sang đặc tả kỹ thuật mà cung cấp chi tiết thực hiện. Kỹ nghệ phần mềm phòng sạch tuân thủ các nguyên tắc phân tích hệ thống bằng cách sử dụng một phương pháp gọi là phuơng pháp đặc tả hộp.Một “hộp” đóng gói hệ thống (hoặc một phần của hệ thống)tại một số mức của hệ thống.Thông qua một quá trình sàng lọc như bậc thang,”hộp “ được chia thành các phân cấp nơi mà mỗi hộp đều có tham chiếu rõ ràng. Đó là,”nội dung thông tin của mỗi hộp đủ dể xác dịnh thông tin về nó,mà không phụ thuộc vào hộp khác”. Điều này cho phép người phân tích hệ thống có thẻ phân vùng hệ thống theo các mức cấp,đi từ các phần đại diện chủ yếu ở trên tớ i những phần chi tiết.Có 3 kiểu hộp được sử dụng: Hộp đen 12
  13. Các hộp đen xác định hành vi phương thức của hệ thống hoặc một phần hệ thống. Hệ thống (hoặc 1 phần của nó) sẽ trả lời các kích thích(sự kiện)xảy ra bằng cách áp dụng một tập các quy tắc chuyển tiếp các kích đó vào trong 1 sự đáp lại. Hộp trạng thái Hộp này đóng gói các dữ liệu trạng thái và những dịch vụ (hoạt động) trong một thái độ mà tương tự đối với những đối tượng. Các đặc điểm trong này, đầu vào tới kích thích hộp trạng thái và nhận được trả lời ở đầu ra. Hộp trạng thái cũng đại diện cho “lịch sử kích thích” của hộp đen,nghĩa là dữ liệu được đóng gói trong hộp trạng thái phải được giữ lại giữa quá trình chuyển tiếp bao hàm. Hộp sáng Các chức năng chuyển tiếp bao hàm trong hộp trạng thái được định nghĩa rõ ràng trong hộp sáng. Đơn giản,đây là cái hộp chứa các thủ tục rõ ràng được thiết kế cho hộp trạng thái. Hình 1.2 là hình minh họa cho phương pháp sàng lọc sử dụng cơ cấu đặc tả hộp đen.một hộp đen (BB1) định nghĩa cho một bộ đầy đủ các kích thích.BB1 có thể tách re thành một bộ các hộp đen từ BB1.1 tới BB1.n,mối hộp con xác định một lớp hành vi.tiếp tục sàng lọc cho đến khi một lớp cố kết của hành vi được xác định (ví dụ BB1.1.1). Một hộp trạng thái SB1.1.1 định nghĩa cho các hộp đen(BB1.1.1). Trong trường hợp này, SBB1 chứa mọi dữ liệu và các dịch vụ để thực hiện các hành vi được yêu cầu bởi BB1.1.1. Cuối cùng SB1.1.1 được chia 13
  14. thành các hộp sáng(CB1.1.1) và các chi tiết thiết kế thủ tục được quy định. 1.2 Cơ cấu đặc tả hộp Đặc điểm của Hộp đen Một hộp đen đặc tả một mô tả trừu tượng, kích thích, phản ứng bằng cách sử dụng các ký hiệu thể hiện trong hình 1.3. Hàm F được ứng dụng vào một chuỗi, S*, đầu vào(kích thích), S, phản ứng biến chúng thành đầu ra, R. Đối với những phần mềm cơ bản, F có thể là một chức năng toán học, nhưng nói chung S được mô tả bằng ngôn ngữ tự nhiên (hoặc một ngôn ngữ đặc tả chính thức) Nhiều khái niệm được giới thiệu cho những hệ thông hướng đối tượng cũng thích hợp cho hộp đen. Sự trừu tượng hóa dữ liệu và các hoạt động mà các thao tác trừu tượng được đóng gói bởi hộp đen. Giống như một hệ thống phấn lớp, các đặc điểm phân cấp của hộp đen có thể được trưng bày, trong đó phân cấp sử dụng hộp bậc thấp kế thừa những thuộc tính của hộp bậc cao trong cấu trúc cây 1.3 Đặc tả hộp đen 2.2 Đặc điểm của hộp trạng thái Hộp trạng thái là “một sự khái quát đơn giản của một máy trạng thái”. Nhắc lại về mô hình hóa hành vi và sơ đồ chuyển tiếp trạng thái trong chương 12. Một trạng thái là kiểu dễ thấy của hành vi hệ thống. Như việc xử lý xuất hiện, hệ thống trả lời các kích thích, sự kiện bằng cách thay đổi trạng thái hiện thời sang trạng thái mới. 14
  15. Khi quá trình chuyển đổi được thực hiện,một hành động có thể xảy ra. Hộp trạng thái sử dụng dữ liệu đã được trừu tượng hóa để xác định sự chuyển tiếp tớ i trạng thái tiếp theo và hoạt động phản ứng khác xuất hiện như một hệ quả của sự chuyển trạng thái. Hình 1.4, một hộp trạng thái kết hợp với một hộp đen.Việc kích thích, S, mã được nhập vào tới hộp đen từ bên ngoài và một thiết lập các quy tắc bên trong, T.Mills cung cấp một mô tả toán học của hàm, F, của hộp đen chứa bên trong hộp trạng thái:trong đó g là một hàm thay thế gắn với trạng thái cụ thể, t. khi xem xét chung các cặp thay thế trạng thái (t,g)xác định chức năng của hộp đen F. g: S* T* R T 1.4 Đặc tả hộp trạng thái 2.3 Đặc điểm của Hộp sáng. Đặc điểm của hộp sáng là liên kết chặt chẽ với các thủ tục thiết kế và lập trình cấu trúc. Về bản chất, các hàm thay thế trong hộp trạng thái được thay thế bở i các lập trình cấu trúc, lập trình mà thực hiện g Ví dụ xem xét các hộp sáng trong hình 1.5,các hộp đen, g, trong hình 1.4 được thay thế bằng một trình tự cấu trúc kết hợp với một điều kiện. Những cái này, đến lượt nó, có thể được phân chia thành các hộp cấp nhỏ hơn. Điều quan trọng cần lưu ý là thủ tục đặc tả trong các hộp phân cấp rõ ràng được chứng minh là đúng. Vấn đề này được nói trong phần kế tiếp. 15
  16. 3. Thi ết kế phòng s ạch Phương pháp thiết kế trong công nghệ phòng sạch sử dụng nguyên lý của lập trình có cấu trúc . Trong trường hợp này thì lập trình có cấu trúc được áp dụng một cách nghiêm túc. Phương pháp lập trình có cấu trúc có thể được sử dụng hiệu quả để tinh chỉnh các chức năng, nhưng thiết kế dữ liệu về những gì? Dưới đây là một số khái niệ m cơ bản. Dữ liệu chương trình được đóng gói trừu tượng hóa bởi các chức năng phụ. Những khái niêm về đóng gói dữ liệu ,thông tin ẩn và dữ liệu đánh máy được dùng để thiết kế dữ liệu. 16
  17. 1.5 Nhận dạng hộp sáng 3.1 Thiết kế xử lý dữ liệu và kiểm thử Mỗi hộp sáng đại diện cho cá thiết kế thủ tục (hàm phụ)để thực hiện quá trình chuyển tiếp của hộp trạng thái. Với hộp sáng , cơ cấu của lập trình có cấu trúc và xử lý dữ liệu theo bậc được minh họa trong hình 1.6 17
  18. 1.6 Thiết kế đặc tả chính xác Chức năng xử lý cơ bản (được mô tả trong quá trình sàng lọc trước đó của đặc tả)là xử lý bằng cách sử dụng “các chức năng mở rộng có bậc của toán học,cấu trúc kết nối logic hợp lý (như :if-then-else)và vận hành, sự mở rộng các [is]được kết thúc khi các chức năng đều có thể phát biểu trực tiếp bằng các ngôn ngư lập trình để thực hiện. Tại mỗi mức độ sàng lọc thì nhóm phòng sạch 2 thực hiện thẩ m định một cách đúng đắn . Để thực hiên điều này, một tập các điều kiên chích xác,đúng đắn được gắn vào cấu trúc của chương trình. Nếu một hàm F được mở rộng thành các chuỗ i G, H thì điều kiên đầu vào để gắn với F là: G được đi sau bởi H tạo ra F? Khi một hàm p là điều kiện của hình thức, nếu là C thì sau đó là Q,còn lại thì là R, điều kiện đúng để tất cả đầu vào P là: Khi nào C đúng thì không làm Q P, còn nếu C là sai thì không làm R P. Khi hàm M được thiết kế như một vòng lặp thì điều kiện cho các đầu vào của M là: Việc kết thúc phải được đảm bảo? Khi C đúng thì làm N sau khi làm M, nếu C vẫn sai thì tiếp tục vòng lặp làm M 18
  19. Mỗi hộp sáng được thiết kế đến mức tiếp theo của chi tiết, những điều kiện chính xác.này được áp dụng. Điều quan trọng cần chú ý của việc sử dụng lập trình có cấu trúc là tiến hành một số việc kiểm tra hàm chính xác. Thứ nhất là kiểm tra các chuỗi , hai là kiểm tra hàm điều kiện if-then-else, thứ 3 là kiểm tra vòng lặp. Để minh họa việc kiểm thử tính đúng đắn cho một thiết kế theo thủ tục, chúng ta xét ví dụ đơn giản được giơi thiệu bởi Linger, Mills, và Witt. Mục đích là thiết kế và kiểm thử một chương trình nhỏ tìm mộ t phần số nguyên y, trong căn bậc hai của số nguyên cho trước x. việc thiết kế thủ tục được biểu diễn trong hình 1.7 1.7 Thuật toán tính phần số nguyên của một căn bậc 19
  20. Để kiểm thử sự đúng đắn của thiết kế này,ta phải xác định điều kiên nhập vào và dữ liệu được xuất ra như trong hình 1.8 1.8. Thiết kế chính xác 3.2 Ưu điểm của thiết kế mã xác nhận Tính chính xác của các sang lọc kiể m thử của thiết kế hộp là một ưu điểm rõ rệt.Linger phát biểu như sau: Nó làm giảm bớt việc xác minh cho một quá trình hữu hạn. Bằng cách sử dụng các cấu trúc điều khiển lồng nhau được tổ chức trong hộp sáng. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2