1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn môn Công Nghệ Phần Mềm

36 451 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 793,84 KB

Nội dung

Mục tiêu Mục tiêu của chương này là giới thiệu các khái niệm về phần mềm kiến trúc và thiết kế kiến trúc. Những việc cần làm khi đọc chương này : ■ hiểu được sự quan trọng các thiết kế kiến trúc của phần mềm ; ■ hiểu các quyết định được thực hiện về hệ thống kiến trúc trong quá trình thiết kế kiến trúc; ■ phải giới thiệu các ý tưởng của mô hình kiến trúc, chứng tỏ được cách thức tổ chức kiến trúc hệ thống, có thể sử dụng lại trong thiết kế hệ thống; ■hiểu các mô hình kiến trúc thường được sử dụng trong các loại hệ thống ứng dụng khác nhau, bao gồm hệ thống xử lý giao dịch và hệ thống xử lý ngôn ngữ Nội dung 6.1 Quyết định thiết kế kiến trúc 6.2 Quan điểm kiến trúc 6.3 Mô hình kiến trúc 6.4 Ứng dụng kiến trúc

1 Chapter ■ Architectural design Bài tââp lớn môn Công Nghêâ Phần Mềm Nhóm BLT : nhóm 04 Thành Viên : Đỗ Quốc Viê tâ Trần Anh Tuấn Nguyễn Thị Hoa Làm bài Chapter 6 Thiết kế kiến trúc Mục tiêu Mục tiêu chương giới thiệu khái niệm phần mềm kiến trúc thiết kế kiến trúc Những việc cần làm đọc chương : ■ hiểu quan trọng thiết kế kiến trúc phần mềm ; ■ hiểu định thực hệ thống kiến trúc trình thiết kế kiến trúc; ■ phải giới thiệu ý tưởng mô hình kiến trúc, chứng tỏ cách thức tổ chức kiến trúc hệ thống, sử dụng lại thiết kế hệ thống; ■hiểu mô hình kiến trúc thường sử dụng loại hệ thống ứng dụng khác nhau, bao gồm hệ thống xử lý giao dịch hệ thống xử lý ngôn ngữ Nội dung Chapter ■ Architectural design 6.1 Quyết định thiết kế kiến trúc 6.2 Quan điểm kiến trúc 6.3 Mô hình kiến trúc 6.4 Ứng dụng kiến trúc Thiết kế kiến trúc mối liên quan với hiểu biết làm hệ thống cần tổ chức thiết kế cấu trúc tổng thể hệ thống Trong mô hình trình phát triển phần mềm , diễn đạt Chương , thiết kế kiến trúc giai đoạn trình thiết kế phần mềm Đó liên kết quan trọng thiết kế yêu cầu kỹ thuật , xác định thành phần cấu trúc hệ thống quan hệ chúng Các đầu trình thiết kế kiến trúc mô hình kiến trúc mô tả cách hệ thống tổ chức tập hợp thành phần giao tiếp Trong quy trình nhanh nhẹn, công nhận giai đoạn đầu tiến trình phát triển nên có liên quan đến thiết lập kiến trúc hệ thống tổng thể Phát triển gia tăng kiến trúc thường không thành công Trong tái cấu trúc thành phần để phản ứng lại thay đổi thường dễ, tái cấu trúc kiến trúc hệ thống đắt Để giúp bạn hiểu kiến trúc hệ thống, xem hình 6.1 Điều cho thấy mô hình trừu tượng kiến trúc cho hệ thống rô – bốt đóng gói cho thấy thành phần phải phát triển Hệ thống người máy đóng gói nhiều loại đối tượng Nó sử dụng thành phần định hướng để chọn đối tượng băng tải, xác định loại đói tượng chọn loại bao bì Sau hệ thống di chuyển đối tượng từ băng tải giao hàng để đóng gói Nó đặt đối tượng đóng gói băng tải khác Mô hình kiến trúc cho thấy thành phần mối liên quan chúng Chapter ■ Architectural design Trên thực tế, thường có trùng lặp đáng kể trình kỹ thuật yêu cầu kiến trúc thiết kế Tốt là, đặc điểm kĩ thuật hế thống không nên bao gồm thông tin thiết kế Điều không thực tế, ngoại trừ hệ thống rát nhỏ Phân tích kiến trúc thường cần thiết để cấu trúc tổ chức đặc điểm kỹ thuật Do đó,như phần trình yêu cầu kĩ thuật, bạn đề xuất hệ thống kiến trúc trừu tượng mà bạn liên kết nhóm chức hệ thống tính với thành phần có quy mô lớn hệ thống phụ Sau bạn dùng phân tích để thảo luận yêu cầu đặc điểm hệ thống với bên tham gia Bạn thiết kế kiến trúc phần mềm hai lớp trừu tượng, gọi kiến trúc cỡ nhỏ kiến trúc cỡ lớn : Kiến trúc cỡ nhỏ có liên quan đến kiến trúc chương trình cá nhân Ở cấp độ này, quan tâm đến cách chương trình cá nhân phân hủy thành thành phần Chương chủ yếu liên quan kiến trúc chương trình Kiến trúc cỡ lớn có liên quan đến kiến trúc hệ thống doanh nghiệp phức tạp bao gồm hệ thống khác, chương trình, thành phần chương trình Hệ thống doanh nghiệp phân phối máy tính khác, sở hữu quản lý công ty khác Tôi nói lại kiến trúc cỡ lớn chương 18 19, nơi thảo luận phân phối hệ thống kiến trúc Chương ■ Thiết kế kiến trúc Hệ thống định hướng Hệ thống nhận dạng đối tượng Bộ điều khiển cánh tay Bộ điều khiển kìm Bộ điều khiển băng tải Hình 6.1 Kiến trúc gói hệ thống 149 Hệ thống lựa chọn gói Chapter ■ điều khiển robot Architectural design Hệ thống đóng gói Kiến trúc phần mềm quan trọng ảnh hưởng đến hiệu suất, độ bền, khả phân phối khả bảo trì hệt thống ( Bosch 2000 ) Khi thảo luận Bosch, thành phần riêng biệt triển khai yêu cầu hệ thống chức Các yêu cầu phi chức phụ thuộc vào kiến trúc hệ thống - cách thức mà thành phần tổ chức giao tiếp Trong nhiều hệ thống , yêu cầu phi chức bị ảnh hưởng thành phần cá nhân, chắn kiến trúc hệ thống ảnh hưởng chi phối Bass người khác (2003 ) thảo luận ba ưu điểm thiết kế tài liệu kiến trúc phần mềm cách rõ ràng : Giao tiếp bên tham gia Kiến trúc thuyết trình cấp cao hệ thống sử dụng trọng tâm thảo luận bên tham gia khác Phân tích hệ thống Làm kiến trúc hệ thống giai đoạn đầu phát triển hệ thống đòi hỏi số phân tích Quyết điịnh thiết kế kiến trúc có ảnh hưởng sâu sắc việc có hay không hệ thống đáp ứng yêu cầu quan trọng hiệu suất, độ tin cậy khả bảo trì Tái sử dụng quy mô lớn Mô hình kiến trúc hệ thống nhỏ gọn, dễ quản lý mô tả cách hệ thống tổ chức cách thành phần hoạt động liên thông Cấu trúc hệ thống thường nhau, cho hệ thống với yêu cầu tương tự hỗ trợ tái sử dụng phần mềm có quy mô lớn Như giải thích Chương 16 , phát triển dòng sản phẩm kiến trúc mà kiến trúc tương tự tái sử dụng loạt hệ thống liên quan Hofmeister người khác (2000) đề xuất kiến trúc phần mềm phục vụ trước hết kế hoạch thiết kế cho việc đàm phán yêu cầu hệ thống , thứ hai phương tiện thảo luận cấu với khách hàng , nhà phát triển , nhà quản lý Họ cho công cụ cần thiết cho việc quản lý phức tạp Nó ẩn thông tin chi tiết cho phép nhà thiết kế tập trung vào khái niệm trừu tượng hệ thống quan trọng Kiến trúc hệ thống thường mô sơ đồ khối đơn giản , hình 6.1 Mỗi hộp sơ đồ đại diện cho thành phần Hộp Chapter ■ Architectural design hộp cho thấy thành phần phân hủy để thành phần phụ Mũi tên nghĩa liệu tín hiệu điều khiển chuyển từ thành phần đến thành phần phía mũi tên Bạn thấy nhiều ví dụ kiểu mô hình kiến trúc danh mục kiến trúc phần mềm Booch ( Booch, 2009 ) Sơ đồ khối giới thiệu hình ảnh cao cấp cấu trúc hệ thống, người từ môn học khác, người liên can đến tiến trình phát triển hệ thống, dễ dàng hiểu Tuy nhiên, sử dụng rộng rãi chúng, Bass người khác( 2003 ) không thích sơ đồ khối thức để mô tả kiến trúc Họ cho sơ đồ thức đại diện kiến trúc nghèo, chúng cho thấy loại mối quan hệ thành phần hệ thống không thành phần thuộc tính thấy bên Những mâu thuẫn rõ ràng thực hành lý thuyết kiến trúc phát sinh có hai cách mà mô hình kiến trúc chương trình sử dụng: Như cách tạo điều kiện thuận lợi thảo luận thiết kế hệ thống Một quan điểm kiến trúc cấp cao hệ thống hữu ích cho giao tiếp với bên tham gia lập kế hoạch dự án , lộn xộn với chi tiết Các bên tham gia liên quan đến hiểu nhìn trừu tượng hệ thống Sau đó, họ thảo luận hệ thống toàn thể mà không bị nhầm lẫn chi tiết Mô hình kiến trúc xác định thành phần phát triển để quản lý bắt đầu phân công nhân viên để có kế hoạch phát triển hệ thống Như cách tài liệu kiến trúc thiết kế Mục đích để tạo mô hình hệ thống hoàn chỉnh cho thấy thành phần khác hệ thống, giao diện chúng, kết nối chúng Lập luận cho mô tả kiến trúc chi tiết, làm cho dễ dàng để hiểu phát triển hệ thống Sơ đồ khối cách thích hợp để mô tả kiến trúc hệ thống trình thiết kế, chúng cách tốt để hỗ trợ thông tin liên lạc bên tham gia trình Trong nhiều dự án , thường tài liệu kiến trúc tồn Tuy nhiên , cấu trúc hệ thống ghi chép kỹ lưỡng sau tốt để sử dụng ký hiệu với ngữ nghĩa rõ ràng để mô tả kiến trúc Tuy nhiên , thảo luận Phần 6.2 , số người nghĩ tài liệu chi tiết hữu ích, không thật đáng chi phí phát triển 6.1 ■ Quyết định thiết kế kiến trúc 151 6.1 Quyết định kiến trúc hệ thống Thiết kế kiến trúc trình sáng tạo nơi bạn thiết kế hệ thống tổ chức mà đáp ứng yêu cầu chức phi chức hệ thống Vì quy trình sáng tạo, hoạt động quy trình tùy vào loại hệ thống phát triển, tảng kinh nghiệm kiến trúc sư hệ thống, yêu cầu cụ thể cho hệ thống Do hữu ích để suy nghĩ thiết kế kiến trúc loạt định thực chuỗi hoạt động Trong quy trình thiết kế kiến trúc, kiến trúc sư hệ thống phải thực số định cấu trúc ảnh hưởng sâu sắc hệ thống tiến trình phát triển Dựa kiến thức kinh nghiệm họ , họ phải xem xét câu hỏi sau hệ thống: Có kiến trúc ứng dụng khái quát hoạt động khuôn mẫu cho hệ thống thiết kế? Làm hệ thống phân phối qua số lõi xử lý? Những mô hình kiến trúc, phong cách sử dụng? Điều phương pháp dùng để cấu trúc hệ thống? Làm thành phần cấu trúc hệ thống phân tách thành phần ? Chiến lược sử dụng để kiểm soát hoạt động thành phần hệ thống? Những tổ chức kiến trúc tốt để cung cấp yêu cầu phi chức hệ thống? Thiết kế kiến trúc đánh nào? Kiến trúc hệ thống lập tài liệu nào? Mặc dù hệ thống phần mềm độc đáo, hệ thống miền ứng dụng thường có kiến trúc tương tự phản ánh khái niệm tên miền Chẳng hạn như, dòng sản phẩm ứng dụng ứng dụng dựa kiến trúc lõi với biến thể đáp ứng yêu cầu khách hàng cụ thể Khi thiết kế kiến trúc hệ thống , bạn phải định hệ thống bạn lớp ứng dụng rộng lớn có điểm chung , định kiến thức từ kiến trúc ứng dụng mà bạn tái sử dụng Tôi thảo luận kiến trúc ứng dụng chung Mục 6.4 sản phẩm ứng dụng dòng Chương 16 Để nhúng hệ thống thiết kế hệ thống cho máy tính cá nhân, thường có xử lý bạn thiết kế kiến trúc phân phối cho hệ thống Tuy nhiên , hầu hết hệ thống lớn phân phối , hệ thống phần mềm phân phối nhiều máy tính khác Lựa chọn kiến trúc phân phối định then chốt ảnh hưởng hiệu độ tin cậy hệ thống Đây chủ đề lớn theo nghĩa bao gồm riêng Chương 18 Kiến trúc hệ thống phần mềm dựa đặc biệt kiến trúc mô hình kiểu cách Mô hình kiến trúc mô tả tổ chức hệ thống ( Garlan Shaw, 1993 ), máy khách - máy chủ tổ chức kiến trúc phân tầng Mô hình kiến trúc nắm bắt chất kiến trúc sử dụng hệ thống phần mềm khác Bạn cần phải nhận thức mô hình chung , nơi chúng sử dụng, ưu điểm khuyết điểm chúng đưa định kiến trúc hệ thống Tôi thảo luận số mô hình thường xuyên sử dụng phần 6.3 Khái niệm Garlan Shaw phong cách kiến trúc ( phong cách mô hình đến ý nghĩa giống ) bao gồm câu hỏi 4-6 danh sách trước Bạn phải chọn cấu trúc phù hợp nhất, máy khách - máy chủ tầng cấu trúc,điều giúp bạn đáp ứng yêu cầu hệ thống Để phân tách hệ thống cấu trúc, bạn định chọn chiến lược cho phân tách thành phần vào thành phần phụ Phương pháp bạn dùng cho phép loại kiến trúc khác triển khai Cuối , trình xây dựng mô hình điều khiển, bạn đưa định cách thức thực thành phần kiểm soát Bạn phát triển mối quan hệ mô hình tổng quát điều khiển phận khác hệ thống Do mối quan hệ chặt chẽ yêu cầu phi chức kiến trúc phần mềm, đặc biệt phong cách kiến trúc cấu trúc mà bạn chọn cho hệ thống cần phải phụ thuộc vào yêu cầu hệ thống không hoạt động : Hiệu suất Nếu hiệu suất yêu cầu quan trọng, kiến trúc nên thiết kế để định vị thao tác quan trọng vài thành phần, với thành phần tất triển khai máy tính thay phân phối qua mạng Điều nghĩa sử dụng vài thành phần tương đối lớn thành phần nhỏ , mịn hạt , làm giảm số lượng thông tin liên lạc thành phần Bạn xem xét tổ chức hệ thống thời gian thực để hệ thống nhân thi hành xử lý khác Bảo mật Nếu bảo mật yêu cầu quan trọng, cấu trúc phân lớp cho kiến trúc nên sử dụng , tài sản quan trọng bảo vệ lớp cùng, với mức độ cao việc xác nhận an ninh áp dụng cho lớp An toàn Nếu an toàn yêu cầu quan trọng , kiến trúc cần thiết kế để hoạt động an toàn liên quan đến tất nằm thành phần số lượng nhỏ thành phần Điều làm giảm chi phí vấn đề việc xác nhận an toàn làm cho cung cấp cho hệ thống bảo vệ liên quan mà an toàn tắt hệ thống trường hợp thất bại Tính sẵn sàng Nếu tính sẵn sàng yêu cầu quan trọng, kiến trúc nên thiết kế để bao gồm thành phần dư thừa cho thay cập nhật thành phần mà không cần dừng hệ thống Tôi mô tả hai kiến trúc hệ thống chịu lỗi cho hệ thống có tính sẵn sàng cao Chương 13 Bảo trì Nếu bảo trì yêu cầu quan trọng, kiến trúc hệ thống cần thiết kế sử dụng tinh hạt , thành phần tự chứa dễ dàng thay đổi Các nhà sản xuất liệu nên tách từ người tiêu dùng cấu trúc liệu dùng chung nên tránh Rõ ràng có mâu thuẫn tiềm ẩn vài kiến trúc Ví dụ, sử dụng thành phần lớn cải thiện hiệu suất sử dụng thành phần nhỏ , tinh hạt cải thiện khả bảo trì Nếu hiệu suất bảo trì yêu cầu hệ thống quan trọng, số thỏa hiệp phải tìm thấysau Điều đạt cách sử dụng mô hình kiến trúc khác phong cách cho phận khác hệ thống Đánh giá thiết kế kiến trúc khó khăn thử nghiệm thực kiến trúc cách tốt hệ thống đáp ứng yêu cầu thiết thực không thiết thực sử dụng Tuy nhiên , bạn làm số đánh giá cách so sánh thiết kế bạn kiến trúc tham khảo mẫu kiến trúc chung Bosch (2000 ) mô tả đặc tính phi chức mô hình kiến trúc sử dụng để giúp đánh giá kiến trúc 6.2 ■ Quan điểm kiến trúc 153 6.2 Quan điểm kiến trúc Tôi giải thích phần giới thiệu chương mô hình kiến trúc hệ thống phần mềm sử dụng để tập trung thảo luận yêu cầu phần mềm thiết kế Ngoài , chúng sử dụng để thiết kế tài liệu để sử dụng sở cho việc thiết kế thực chi tiết hơn, cho phát triển tương lai hệ thống Trong phần , thảo luận hai vấn đề có liên quan đến hai : Những điểm hay quan điểm hữu ích thiết kế tài liệu kiến trúc hệ thống? Những ký hiệu nên sử dụng để mô tả mô hình kiến trúc ? Không thể đại diện cho tất thông tin liên quan kiến trúc hệ thống mô hình kiến trúc, mô hình cho thấy nhìn hay quan điểm hệ thống Nó cho thấy cách hệ thống phân hủy thành mô-đun, tiến trình thời gian thực tương tác, cách khác thành phần hệ thống phân phát qua mạng Tất số hữu ích vào thời điểm khác nhau, thiết kế tài liệu, bạn thường cần phải trình bày nhiều quan điểm kiến trúc phần mềm Có nhiều ý kiến khác quan điểm cần thiết Krutchen (1995), mô hình 4+1 tiếng ông kiến trúc phần mềm, gợi ý nên có bốn điểm kiến trúc , đổi liên quan sử dụng trường hợp sử dụng kịch Những quan điểm mà ông gợi ý là: Một quan điểm hợp lý, cho thấy khái niệm trừu tượng chủ chốt hệ thống đối tượng lớp đối tượng Nó phải có khả liên quan yêu cầu hệ thống cho đối tượng theo quan điểm hợp lý Chapter 10 ■ Architectural design Một quan điểm trình , cho thấy nào, thời gian chạy , hệ thống bao gồm trình tương tác Quan điểm hữu ích cho việc nhận định hệ thống đặc điểm chức hiệu suất tính sẵn sàng Một quan điểm phát triển , cho thấy cách phần mềm phân hủy để phát triển, cho thấy phân hủy phần mềm vào thành phần thực nhà phát triển đơn lẻ nhóm phát triển Quan điểm hữu ích cho nhà quản lý phần mềm lập trình Một quan điểm vật lý , cho thấy hệ thống phần cứng cách thành phần phần mềm phân phối vi xử lý hệ thống Quan điểm hữu ích cho kỹ sư hệ thống có kế hoạch triển khai hệ thống Hofmeister người khác( 2000 ) đề nghị việc sử dụng quan điểm tương tự thêm vào khái niệm quan điểm lý thuyết Quan điểm nhìn trừu tượng hệ thống sở để phân hủy yêu cầu cấp cao vào thông số kỹ thuật chi tiết hơn, giúp kỹ sư đưa định thành phần tái sử dụng, đại diện cho dòng sản phẩm (được thảo luận chương 16 ) hệ thống Hình 6.1, mô tả kiến trúc robot đóng gói , ví dụ nhìn hệ thống khái niệm Trong thực tế , quan điểm khái niệm gần luôn phát triển suốt trình thiết kế sử dụng để hỗ trợ việc định kiến trúc Chúng cách để giao tiếp chất hệ thống để bên tham gia khác Trong trình thiết kế, số quan điểm khác phát triển khía cạnh khác hệ thống thảo luận , không cần mô tả hoàn toàn từ tất quan điểm Nó có thể liên kết mô hình kiến trúc , thảo luận phần tiếp theo, với quan điểm khác hệ thống Có nhiều quan điểm khác việc có hay không kiến trúc sư phần mềm nên sử dụng UML để mô tả kiến trúc ( Clements người khác, 2002) Khảo sát vào năm 2006 ( Lange người khác, 2006 ) cho thấy, UML sử dụng, hầu hết áp dụng cách lỏng lẻo Biên nhận vấn đề Đọc hóa đơn Biên nhận Xác định toán Tìm thuế toán Thanh toán vấn nhắc nhở Hóa đơn Nhắc nhở Thanh toán Hình 6.13 Một ví dụ kiến trúc đường ống lọc Chương trình khách hàng đơn giản giao diện người dùng tương tác , xây dựng sử dụng trình duyệt web , để truy cập dịch vụ Lợi quan trọng mô hình khách-chủ kiến trúc phân tán Sử dụng hiệu thực hệ thống mạng với nhiều xử lý phân tán Nó dễ dàng để thêm máy chủ tích hợp với phần lại hệ thống nâng cấp máy chủ rõ ràng mà không ảnh hưởng đến phận khác hệ thống Tôi thảo luận kiến trúc phân tán, có kiến trúc khách-chủ phân phối kiến trúc kiến trúc , Chương 18 6.3.4 Ống kiến trúc lọc Ví dụ cuối mô hình kiến trúc mô hình đường ống lọc.Đây mô hình tổ chức thời gian chạy hệ thống mà biến đổi chức xử lý đầu vào đầu sản phẩm Luồng liệu từ đến khác xuyên hình thành di chuyển qua trình tự Mỗi bước xử lý thực biến đổi Dữ liệu đầu vào chảy qua biến đổi chuyển đến đầu Các phép biến đổi thực song song Các liệu xử lý mục chuyển đổi theo khoản mục đợt Tên ' đường ống lọc ' đến từ hệ thống Unix gốc, nơi liên kết trình sử dụng ' ống ' Những thông qua dòng văn từ trình khác Hệ thống cho phù hợp với mô hình thực cách kết hợp lệnh Unix , sử dụng đường ống thiết bị kiểm soát vỏ Unix Thuật ngữ " lọc " sử dụng biến đổi ' lọc ' liệu xử lý từ dòng liệu đầu vào Các biến thể mô hình sử dụng từ máy tính lần sử dụng để xử lý liệu tự động Khi biến đổi với liệu xử lý theo lô , đường ống lọc mô hình kiến trúc trở thành mô hình hàng loạt, kiến trúc chung cho hệ thống xử lý liệu ( ví dụ , hệ thống toán ) Kiến trúc hệ thống nhúng tổ chức đường ống dẫn quy trình, với trình thực đồng thời Tôi thảo luận việc sử dụng mô hình hệ thống nhúng Chương 20 Một ví dụ loại kiến trúc hệ thống , sử dụng ứng dụng xử lý hàng loạt , thể hình 6.13 Một tổ chức phát hành hoá đơn cho khách hàng Mỗi tuần lần , toán thực hòa giải với hoá đơn Mô hình kiến trúc cho kiểm soát Có mô hình kiến trúc cụ thể phản ánh cách thường sử dụng để tổ chức kiểm soát hệ thống Chúng bao gồm điều khiển tập trung , dựa thành phần gọi thành phần khác , điều khiển dựa kiện , nơi mà hệ thống phản ứng với kiện bên http://www.SoftwareEngineering-9.com/Web/Architecture/ArchPatterns/ Đối với hoá đơn toán, hóa đơn phát hành Đối với hoá đơn chưa toán thời gian toán cho phép , lời nhắc nhở ban hành Hệ thống tương tác khó để sử dụng viết mô hình đường ống lọc cần thiết cho dòng liệu xử lý Mặc dù đầu vào văn đơn giản đầu mô tả theo cách , giao diện người dùng đồ họa có I / O định dạng phức tạp chiến lược kiểm soát dựa kiện cú click chuột lựa chọn menu Nó khó dịch thành dạng tương thích với mô hình dây chuyền 6.4 Kiến trúc ứng dụng Hệ thống ứng dụng nhằm đáp ứng doanh nghiệp nhu cầu tổ chức Tất ngành kinh doanh có nhiều điểm chung , họ cần phải thuê người, xuất hoá đơn , giữ tài khoản , vv Các doanh nghiệp hoạt động ngành sử dụng ứng dụng cụ thể khu vực chung Do , chức kinh doanh nói chung , tất công ty điện thoại cần hệ thống để kết nối gọi , quản lý mạng lưới họ , hóa đơn phát hành cho khách hàng, vv Do , hệ thống ứng dụng sử dụng doanh nghiệp có nhiều điểm chung Những điểm tương đồng dẫn đến phát triển kiến trúc phần mềm mô tả cấu trúc tổ chức loại hình cụ thể hệ thống phần mềm Kiến trúc ứng dụng đóng gói đặc tính chủ yếu lớp hệ thống Ví dụ , hệ thống thời gian thực , có mô hình kiến trúc chung loại hệ thống khác , chẳng hạn hệ thống thu thập liệu hệ thống giám sát Mặc dù trường hợp hệ thống khác chi tiết, kết cấu kiến trúc thông thường tái sử dụng phát triển hệ thống loại Các kiến trúc ứng dụng tái thực phát triển hệ thống mới, nhiều hệ thống kinh doanh , ứng dụng tái sử dụng mà không thực lại Chúng thấy điều phát triển hoạch định tài nguyên doanh nghiệp ( ERP ) hệ thống từ công ty SAP Oracle , gói phần mềm dọc ( COTS ) cho ứng dụng chuyên ngành lĩnh vực kinh doanh khác Trong hệ thống này, hệ thống chung cấu hình điều chỉnh để tạo ứng dụng kinh doanh cụ thể Ứng dụng kiến trúc Có số ví dụ kiến trúc ứng dụng trang web sách Chúng bao gồm mô tả hệ thống xử lý liệu hàng loạt , hệ thống phân bổ nguồn lực , hệ thống biên tập dựa kiện http://www.SoftwareEngineering-9.com/Web/Architecture/AppArch/ Ví dụ , hệ thống quản lý chuỗi cung ứng thích nghi với nhiều loại khác nhà cung cấp , hàng hóa , thỏa thuận hợp đồng Là nhà thiết kế phần mềm, bạn sử dụng mô hình kiến trúc ứng dụng số công cách: Như điểm khởi đầu cho trình thiết kế kiến trúc Nếu bạn không quen với loại ứng dụng mà bạn phát triển , bạn thiết kế ban đầu bạn kiến trúc ứng dụng chung Tất nhiên , điều phải chuyên môn cho hệ thống cụ thể phát triển , điểm khởi đầu tốt cho thiết kế Là danh sách kiểm tra thiết kế Nếu bạn phát triển thiết kế kiến trúc cho hệ thống ứng dụng , bạn so sánh điều với kiến trúc ứng dụng chung Bạn kiểm tra xem thiết kế bạn phù hợp với kiến trúc chung Là cách tổ chức công việc đội ngũ phát triển Các kiến trúc ứng dụng xác định đặc điểm cấu trúc ổn định kiến trúc hệ thống nhiều trường hợp , phát triển song song Bạn phân công công việc cho thành viên nhóm để thực thành phần khác kiến trúc Như phương tiện thành phần đánh giá để tái sử dụng Nếu bạn có thành phần có thể tái sử dụng , bạn so sánh chúng với cấu trúc chung để xem liệu có thành phần tương đương kiến trúc ứng dụng Là vốn từ vựng để nói chuyện loại ứng dụng Nếu bạn thảo luận ứng dụng đặc thù cố gắng để so sánh ứng dụng loại , sau bạn sử dụng khái niệm xác định kiến trúc chung để nói ứng dụng Có nhiều loại hệ thống ứng dụng , số trường hợp, họ khác Tuy nhiên , nhiều ứng dụng khác bề thực có nhiều điểm chung , đại diện kiến trúc việc áp dụng trừu tượng đơn Tôi minh họa điều cách mô tả kiến trúc sau hai loại ứng dụng : Các ứng dụng xử lý giao dịch ứng dụng xử lý giao dịch ứng dụng sở liệu trung tâm mà xử lý yêu cầu người dùng cho thông tin cập nhật thông tin sở liệu Đây loại phổ biến hệ thống kinh doanh hoạt động liên Chúng tổ chức theo cách mà hành động người dùng can thiệp với toàn vẹn sở liệu trì Các lớp hệ thống bao gồm hệ thống ngân hàng tương tác, hệ thống thương mại điện tử , hệ thống thông tin , hệ thống đặt phòng I/O Chế biến Logic ứng dụng Quản lý giao dịch Cơ sở liệu Hình 6.14 Cấu trúc ứng dụng xử lý giao dịch Hệ thống xử lý ngôn ngữ hệ thống xử lý ngôn ngữ hệ thống ý định người dùng thể ngôn ngữ thức ( chẳng hạn Java) Hệ thống xử lý ngôn ngữ xử lý ngôn ngữ sang định dạng nội sau giải thích biểu diễn bên Các hệ thống xử lý trình ngôn ngữ tiếng trình biên dịch, mà dịch chương trình ngôn ngữ cấp cao thành mã máy Tuy nhiên , hệ thống xử lý ngôn ngữ sử dụng để giải thích ngôn ngữ lệnh cho sở liệu hệ thống thông tin , ngôn ngữ đánh dấu XML ( Harold Means, 2002 ; Thợ săn người khác, 2007 ) Tôi chọn loại hình cụ thể hệ thống số lượng lớn web- hệ thống kinh doanh dựa hệ thống xử lý giao dịch , tất phần mềm triển triển dựa hệ thống xử lý ngôn ngữ 6.4.1 Hệ thống xử lý giao dịch Xử lý giao dịch hệ thống ( TP) thiết kế để xử lý yêu cầu người sử dụng để biết thông tin từ sở liệu , yêu cầu để cập nhật sở liệu (Lewis người khác , 2003) Về mặt kỹ thuật , giao dịch sở liệu chuỗi hoạt động xử lý đơn vị ( đơn vị nguyên tử ) Tất hoạt động giao dịch hoàn tất trước thay đổi sở liệu thực thường trú Điều đảm bảo thất bại hoạt động phạm vi giao dịch không dẫn đến mâu thuẫn sở liệu Từ góc độ người dùng , giao dịch trình tự chặt chẽ hoạt động đáp ứng mục tiêu , chẳng hạn "tìm thấy thời gian chuyến bay từ London đến Paris ' Nếu giao dịch người dùng không yêu cầu sở liệu phải thay đổi sau không cần thiết để đóng gói giao dịch sở liệu kỹ thuật Một ví dụ giao dịch yêu cầu khách hàng để rút tiền từ tài khoản ngân hàng sử dụng ATM Điều liên quan đến việc lấy thông tin tài khoản khách hàng, kiểm tra cân bằng, thay đổi cân số tiền rút gửi lệnh đến máy ATM để cung cấp tiền mặt Cho đến tất bước hoàn thành, giao dịch không đầy đủ tài khoản khách hàng sở liệu không thay đổi Hệ thống xử lý giao dịch hệ thống thường tương tác mà người dùng thực yêu cầu không đồng cho dịch vụ Hình 6.14 minh họa cấu trúc kiến trúc khái niệm ứng dụng TP Lần người dùng yêu cầu hệ thống thông qua thành phần xử lý I / O Các yêu cầu xử lý cụ thể số ứng dụng logic Một giao dịch tạo truyền cho người quản lý giao dịch, mà thường nhúng vào hệ thống quản lý sở liệu Sau người quản lý giao dịch đảm bảo giao dịch hoàn thành cách, báo hiệu cho ứng dụng chế biến hoàn thành Đầu vào Quá trình Nhận ID tài khoản khách hàng Đầu Chi tiết in Truy vấn tài khoản Xác nhân thẻ Thẻ trả lại Cập nhật tài khoản Phân phát tiền mặt Chọn dịch vụ Hình 6.15 Kiến trúc phần mềm hệ thống máy ATM ATM Cơ sở liệu ATM Hệ thống xử lý giao dịch tổ chức kiến trúc " đường ống lọc " với thành phần hệ thống chịu trách nhiệm cho đầu vào, xử lý , đầu Ví dụ , xem xét hệ thống ngân hàng cho phép khách hàng truy vấn tài khoản rút tiền mặt từ máy ATM Hệ thống bao gồm hai thành phần phần mềm hợp tác - phần mềm ATM phần mềm xử lý tài khoản máy chủ sở liệu ngân hàng Các thành phần đầu vào đầu thực phần mềm máy ATM thành phần xử lý phần máy chủ sở liệu ngân hàng Hình 6.15 cho thấy kiến trúc hệ thống , minh họa chức thành phần đầu vào, trình kết 6.4.2 Hệ thống thông tin Tất hệ thống có liên quan đến tương tác với sở liệu chia sẻ coi dựa hệ thống thông tin giao dịch Một hệ thống thông tin cho phép truy cập kiểm soát lượng lớn thông tin , chẳng hạn danh mục thư viện, lịch bay , hồ sơ bệnh nhân bệnh viện Càng ngày , hệ thống thông tin hệ thống dựa web truy cập thông qua trình duyệt web Hình 6.16 mô hình chung chung hệ thống thông tin Hệ thống mô sử dụng cách tiếp cận lớp (được thảo luận mục 6.3 ), nơi lớp đầu hỗ trợ giao diện người dùng lớp sở liệu hệ thống Các lớp truyền thông dùng xử lý tất đầu vào đầu từ giao diện người dùng, lớp truy vấn thông tin bao gồm ứng dụng logic cụ thể để truy cập cập nhật sở liệu Như thấy sau này, lớp mô hình đồ trực tiếp vào máy chủ hệ thống dựa Internet Như ví dụ cụ thể mô hình lớp , Hình 6.17 cho thấy kiến trúc MHC - PMS Nhớ lại hệ thống trì quản lý chi tiết bệnh nhân bác sĩ chuyên khoa tư vấn vấn đề sức khỏe tâm thần Giao diện người dùng Người dùng truyền thông Xác thực ủy quyền Thông tin thu hồi sửa đổi Cơ sở liệu Quản lý giao dịch Hình 6.16 Cấu trúc hệ thống thông tin chia nhánh Tôi thêm chi tiết cho nhánh mô hình cách xác định thành phần hỗ trợ truyền thông người sử dụng tìm kiếm thông tin truy cập: Lớp có trách nhiệm thực giao diện người dùng Trong trường hợp , giao diện người dùng thực cách sử dụng trình duyệt web Nhánh thứ hai cung cấp chức giao diện người dùng cung cấp thông qua trình duyệt web Nó bao gồm thành phần phép người dùng đăng nhập vào hệ thống thành phần kiểm tra để đảm bảo hoạt động mà họ sử dụng cho phép vai trò họ Lớp bao gồm hình thức quản lý đơn hợp phần mà trình bày thông tin cho người dùng, liệu thành phần xác nhận kiểm tra tính quán thông tin Nhánh thứ ba thực chức hệ thống cung cấp hợp phần mà thực an ninh hệ thống, tạo lập thông tin bệnh nhân cập nhật, nhập xuất liệu bệnh nhân từ sở liệu khác , máy phát điện báo cáo mà tạo báo cáo quản lý Trình duyệt web Đăng nhập Vai trò kiểm tra Quản lý mẫu menuXác nhận liệu Hình 6.17 Kiến trúc MHC PMS Quản lý giao dịch Cơ sở liệu bệnh nhân Quản lý an ninh Thông tin bệnh nhân Nhập xuất liệu Tạo báo cáo Người quản lý 32 Chapter ■ Architectural design Cuối , nhánh thấp , xây dựng cách sử dụng hệ thống quản lý sở liệu thương mại , cung cấp quản lý giao dịch liệu liên tục lưu trữ Thông tin hệ thống quản lý tài nguyên thường dựa hệ thống Internet nơi giao diện người dùng thực cách sử dụng trình duyệt web Ví dụ , hệ thống thương mại điện tử hệ thống quản lý tài nguyên Internet mà chấp nhận đơn đặt hàng điện tử hàng hóa , dịch vụ sau xếp giao hàng hàng hóa, dịch vụ cho khách hàng Trong hệ thống thương mại điện tử , lớp ứng dụng cụ thể bao gồm bổ sung chức hỗ trợ " giỏ hàng " người dùng đặt số mặt hàng giao dịch riêng biệt , sau trả tiền cho tất chúng lại với giao dịch Việc tổ chức máy chủ hệ thống thường phản ánh mô hình chung bốn lớp trình bày Hình 6.16 Những hệ thống thường thực máy chủ khách hàng nhiều tầng / kiến trúc , thảo luận Chương 18: Các máy chủ web chịu trách nhiệm cho tất thông tin liên lạc người dùng, với người sử dụng mặt tế thực cách sử dụng trình duyệt web ; Các máy chủ ứng dụng có trách nhiệm thực ứng dụng logic cụ thể thông tin lưu trữ phục hồi yêu cầu ; Các máy chủ sở liệu di chuyển thông tin đến từ sở liệu xử lý quản lý giao dịch Sử dụng nhiều máy chủ cho phép thông lượng cao làm cho xử lý hàng trăm giao dịch phút Khi nhu cầu tăng , máy chủ thêm vào cấp để đối phó với việc xử lý thêm tham gia 6.4.3 Hệ thống xử lý ngôn ngữ Hệ thống xử lý ngôn ngữ dịch ngôn ngữ tự nhiên nhân tạo thành đại diện ngôn ngữ , cho ngôn ngữ lập trình, thực thi mã kết Trong kỹ thuật phần 33 Chapter ■ Architectural design mềm , trình biên dịch dịch ngôn ngữ lập trình nhân tạo thành mã máy Hệ thống ngôn ngữ xử lý khác dịch mô tả liệu XML thành lệnh để truy vấn sở liệu đại diện XML thay hệ thống xử lý ngôn ngữ tự nhiên dịch ngôn ngữ tự nhiên để ví dụ khác , tiếng Pháp sang tiếng Na Uy Một kiến trúc cho hệ thống xử lý ngôn ngữ cho lập trình ngữ ngôn minh họa hình 6.18 Các hướng dẫn ngôn ngữ nguồn xác định chương trình thực thông dịch chuyển đổi chúng thành hướng dẫn cho máy trừu tượng Những hướng dẫn sau giải thích thành phần mà fetches hướng dẫn để thực thực thi chúng sử dụng ( cần thiết) liệu từ môi trường Các đầu trình kết việc giải thích hướng dẫn liệu đầu vào Người dịch Nguồn ngôn ngữ hướng dẫn Kiểm tra cú pháp Kiểm tra từ Tạo Trừu tượng hóa lệnh Trình tự thông dịch Dữ liệu Tìm nạp Thực Kết Hình 6.18 Kiến trúc hệ thống xử lý ngôn ngữ Đúng , người biên dịch cho nhiều trình , người phiên dịch phần cứng đơn vị xử lý hướng dẫn máy trừu tượng sử lý Tuy nhiên , ngôn ngữ gõ tự động Python trình thông dịch phần mềm Ngôn ngữ lập trình trình biên dịch phần môi trường lập trình tổng quát Chapter 34 ■ Architectural design có kiến trúc khái quát ( Hình 6.19 ) bao gồm thành phần sau : Dụng cụ phân tích từ vựng, lấy ngôn ngữ đầu vào thẻ chuyển chúng thành lập công thức bên Bảng biểu tượng, giữ thông tin tên thực thể ( biến, tên lớp, tên đối tượng, v.v ) dùng văn phiên dịch Dụng cụ phân tích cú pháp, kiểm tra cú pháp ngôn ngữ phiên dịch Nó sử dụng ngữ pháp định nghĩa ngôn ngữ xây dựng cú pháp Cây cú pháp, cấu trúc bên đại diện cho chương trình biên dịch Bảng biểu tượng Cây cú pháp Từ vựng Phân tích Cú pháp Phân tích Ngữ Từ Phân tích Hình 6.19 : Ống lọc trình biên dịch kiến trúc Một dụng cụ phân tích ngữ nghĩa sử dụng thông tin từ cú pháp bảng biểu tượng để kiểm tra tính xác ngữ nghĩa văn ngôn ngữ đầu vào Một tạo mã ' ' cú pháp tạo mã máy ảo Thành phần khác bao gồm mà phân tích biến đổi cú pháp để nâng cao hiệu suất đưa dư thừa khỏi mã máy tạo Ở loại hệ thống xử lý ngôn ngữ, chương trình dịch ngôn ngữ tự nhiên, có thành phần bổ sung từ điển, mã tạo thật văn đầu vào phiên dịch thành ngôn ngữ khác Có mẫu hình kiến trúc khác dùng hệ thống xử lý ngôn ngữ ( Garlan Shaw , 1993 ) Trình biên dịch triển khai sử dụng công - pô - dít (phức hợp) kho chứa ống lọc mô hình Ở kiến trúc trình biên dịch, bảng biểu tượng kho chứa cho liệu chia sẻ Giai đoạn từ vựng, cú pháp, phân tích ngữ nghĩa tổ chức liên tục, trình bày hình 6.19, truyền thông qua bảng biểu tượng chia sẻ Mã Thế hệ 35 Chapter ■ Architectural design Mô hình ống lọc biên dịch ngôn ngữ đạt hiệu môi trường bó nơi chương trình biên dịch thi hành tương tác với người dùng ; ví dụ như, dịch tài liệu XML khác Nó hiệu trình biên dịch tích hợp với công cụ xử lý ngôn ngữ khác hệ thống soạn thảo cấu trúc, trình gỡ lỗi tương tác prettyprinter chương trình Ở tình này, thay đổi từ thành phần cần phản ánh thành phần khác Nó tốt hơn, đó, để tổ chức hệ thống quanh kho chứa, trình bày hình 6.20 Hình vẽ minh họa cách hệ thống xử lý ngôn ngữ phần tích hợp tập hợp lập trình công cụ hỗ trợ Trong ví dụ này, bảng biểu tượng cú pháp hoạt động kho chứa thông tin trung ương Công cụ hay công cụ truyền thông qua Thông tin khác nhúng công cụ, định nghĩa ngữ pháp định nghĩa định dạng đầu cho chương trình, lấy công cụ đặt vào kho chứa Do đó, biên tập viên cú pháp - trực tiếp kiểm tra cú pháp chương trình so với gõ prettyprinter tạo danh mục chương trình định dạng dễ đọc Vấn đề : • Kiến trúc phần mềm mô tả cách hệ thống phần mềm tổ chức Thuộc tính hệ thống hiệu năng, bảo mật, tính sẵn sàng chịu ảnh hưởng kiến trúc sử dụng • Quyết định thiết kế kiến trúc bao gồm định loại ứng dụng, việc phân phối hệ thống, kiểu kiến trúc sử dụng, cách kiến trúc nên lập tài liệu đánh giá • Kiến trúc lập tài liệu từ nhiều phối cảnh góc nhìn khác Góc nhìn bao gồm góc nhìn lý thuyết, góc nhìn logic, góc nhìn quy trình, góc nhìn phát triển, góc nhìn vật lý • Mẫu hình kiến trúc phương tiện sử dụng lại kiến thức kiến trúc hệ thống tổng quát • Chúng mô tả kiến trúc, giải thích sử dụng, thảo luận ưu điểm nhược điểm • Mô hình khái quát kiến trúc hệ thống ứng dụng giúp hiểu thao tác ứng dụng, so sánh ứng dụng kiểu, xác nhận ứng dụng thiết kế hệ thống, đánh giá thành phần quy mô lớn cho sử dụng lại • Hệ thống xử lý giao dịch hệ thống tương tác cho phép thông tin sở liệu để truy cập từ xa sửa đổi số người dùng Hệ thống thông tin hệ thống quản lý nguồn lực ví dụ hệ thống xử lý giao dịch • Hệ thống xử lý ngôn ngữ dùng để phiên dịch văn từ ngôn ngữ sang ngôn ngữ khác để thực lệnh xác định ngôn ngữ đầu vào Chúng bao gồm máy dịch máy ảo thi hành ngôn ngữ tạo

Ngày đăng: 12/09/2016, 21:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w