Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,27 MB
Nội dung
Software Architecture Design Chủ đề bao gồm : o o o o Các định thiết kế kiến trúc ( Architecture Design Decisions ) Các quan điểm kiến trúc ( Architecture Views ) Các mơ hình kiến trúc ( Architecture patterns ) Kiến trúc ứng dụng ( Application architectures) Software Architecture : kế hoạch chi tiết cho xây dựng phát triển hệ thống phần mềm , tổ chức hệ thống , thể thành phần , mối quan hệ tổ chức với môi trường , nguyên tắc điều chỉnh thiết kế phát triển tổ chức kiến trúc sư phần mềm phải làm a Architecture Design : trình thiết kế cho việc xác định sub-systems tạo nên hệ thống ( system ) framwork cho việc điều khiển truyền thông tin liên lạc sub-systems( hệ thống ) Kết đạt trình thiết kế ( design proccess ) mô tả cho Software Architecture b Tính chất Architecture Design : Là giai đoạn đầu thiết kế hệ thống ( the system design proccess ) Đại diện cho mối liên hệ đặc tả kỹ thuật trình thiết kế Thường tiến hành song song với vài hoạt động đặc tả kỹ thuật Bao gồm ( liên quan ) đến việc xác định thành phần hệ thống quan trọng thông tin liên lạc giữ thành phần c Cần phải có Software Architecture : Giống cấu trúc phức tạp khác, phần mềm phải xây dựng tảng vững Hệ thống cần thiết kế với việc xem xét cho người sử dụng, hệ thống (cơ sở hạ tầng CNTT), mục tiêu kinh doanh Đối với lĩnh vực, cần có phác thảo xác định thuộc tính quan trọng Kiến trúc tập trung vào cách yếu tố thành phần ứng dụng sử dụng , tương tác với yếu tố lớn khác thành phần bên ứng dụng xây dựng giải pháp kiến trúc nhằm giải tất vấn đề có liên quan, triển khai sở hạ tầng bạn lựa chọn, cung cấp kết đáp ứng mục tiêu mục tiêu ban đầu Architectural abstraction (trừu tượng hóa kiến trúc ): Kiến trúc cho phần mềm sử dụng trừu tượng hóa phong phú để mơ tả thành phần hệ thống, chất tương tác thành phần, mơ hình để hướng dẫn thành phần thành phần vào hệ thống Các khái niệm trừu tượng cao cấp so với yếu tố thường hỗ trợ ngôn ngữ lập trình cơng cụ Các khái niệm trừu tượng sử dụng thực hành nhà thiết kế phần mềm Nó phân biệt khác loại thành phần cách thức khác thành phần tương tác Hỗ trợ thực khía cạnh cao cấp khía cạnh cao cấp hệ thống tổ chức tổng thể, phân hủy thành thành phần , phân công chức cho thành phần, cách thành phần tương tác a Đối với kiến trúc nhỏ : có liên quan với kiến trúc chương trình cá nhân Ở cấp độ này, quan tâm với cách mà chương trình cá nhân bị phân hủy thành thành phần b Đối với kiến trúc lớn : quan tâm đế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 Các hệ thống doanh nghiệp phân phối máy tính khác nhau, sở hữu công ty khác quản lý Decomposition ( Phân hủy ) OR Modularizing: Đề cập đến trình hệ thống chia thành phần từ dễ dàng để hiểu chương trình, trì hệ thống ( độ phức tạp cao ) = tập hợp chương trình nhỏ ( phức tạp ) a Mục tiêu : Tối đa hóa gắn kết Hạn chế tối đa khớp nối ( coupling ) Cohesion : mức độ thông tin liên lạc yếu tố đưa module Coupling : mức độ giao tiếp module Begin Selecting a Basic Architecture : a B1: Xây dựng mơ hình mental ứng dụng cấp cao thể ứng dụng nhỏ Ví dụ : ứng dụng tài cá nhân : hoạt động cách nhận khoản tiền trả tiền mặt , theo thứ tự , kiểm sốt thơng qua giao diện người dùng Metal model : hiểu mơ hình đại diện thực tế mà người sử dụng để hiểu tượng cụ thể , mơ hình đại diện cho ứng dụng cấp cao để hiểu rõ ứng dụng b B2: Phân hủy thành thành phần cần thiết : tìm liên kết cao ( high cohesion ) low coupling Ví dụ : ứng dụng tài cá nhân : phân hủy ( phân chia ) thành tài sản , nhà cung cấp giao diện c B3: lặp lại trình cho thành phần Advantages of explicit architecture ( ưu điểm kiến trúc rõ ràng ) : a Stakeholder communication ( thông tin liên lạc bên liên quan ) : Kiến trúc sử dụng tiêu điểm thảo luận bên liên quan đến hệ thống b System analysis ( phân tích hệ thống ) : phân tích xem liệu hệ thống đáp ứng u cầu phi chức hay khơng ? c Large – scale reuse ( tái sử dụng quy mơ lớn ) : Các kiến trúc tái sử dụng loạt hệ thống Architectural representations ( kiến trúc đại diện ) : đại diện cho kiến trúc phần mềm quan trọng, đại diện ảnh hưởng kiến trúc phục vụ phương tiện truyền thơng, chuyển tải định thiết kế ban đầu, cách xác mơ tả trừu tượng quan trọng hệ thống Như vậy, rõ ràng, đầy đủ, độ xác đại diện kiến trúc có tầm quan trọng then chốt Nói cách đơn giản : sơ đồ khối khơng thức cho thấy thực thể mối quan hệ phương pháp thường sử dụng cho tài liệu kiến trúc phần mềm Tuy nhiên, điều bị trích thiếu ngữ nghĩa, khơng hiển thị loại mối quan hệ thực thể khơng nhìn thấy đơn vị kiến trúc Phụ thuộc vào việc sử dụng mô hình kiến trúc Các yêu cầu ngữ nghĩa mơ hình phụ thuộc vào mơ hình sử dụng Cần phải có Kiến trúc đại diện cho kiến trúc phần mềm Box and line diagrams : Rất trừu tượng , sơ đồ không hiển thị chất mối quan hệ thành phần thuộc tính bên ngồi nhìn thấy Sub – Systems Tuy nhiên, sơ đồ hữu ích cho việc giao tiếp với bên liên quan lập kế hoạch cho dự án Use of architectural models ( Sử dụng mô hình kiến trúc ) : a Như cách để tạo điều kiện thảo luận thiết kế hệ thống b Một quan điểm kiến trúc cấp cao hệ thống hữu ích cho việc giao tiếp với bên liên quan hệ thống lập kế hoạch dự án chi tiết thể rõ ràng không lộn xộn , rối rắm Các bên liên quan hiểu nhìn trừu tượng hệ thống Sau họ thảo luận hệ thống tồn thể mà khơng bị nhầm lẫn chi tiết cụ thể c Như cách để ghi lại kiến trúc thiết kế d Mục đích để tạo mơ hình hệ thống hồn chỉnh cho thấy thành phần khác hệ thống, giao diện kết nối thành phần Architectural design decisions ( định thiết kế kiến trúc ) : Thiết kế kiến trúc trình sáng tạo nên trình khác tùy thuộc vào loại hệ thống phát triển.Tuy nhiên, số định chung rộng tất trình thiết kế định ảnh hưởng đến đặc tính phi chức hệ thống a Lý có định kiến trúc : Một kiến trúc phần mềm coi tập hợp định quan trọng liên quan đến việc thiết kế phần mềm hệ thống Kiến thức thiết kế này, tức kiến thức kiến trúc, chìa khóa cho hiểu biết kiến trúc phần mềm thân phần mềm Kiến thức kiến trúc chủ yếu tồn đầu người sáng tạo Một vấn đề loại kiến thức dễ dàng bị Để giải vần đề cần tập trung vào hình thức quan trọng kiến trúc: định thiết kế kiến trúc ( Architectural design decisions ) Hình thức quan trọng, trình kiến trúc , tất việc đưa định quan trọng b Một hệ thống hóa, kiến trúc phần mềm xem tập hợp định kiến trúc (thiết kế) Đặt kiến trúc phần mềm vào viễn cảnh làm sâu sắc thêm hiểu biết bên liên quan Như cơng việc tương lai, có kế hoạch để điều tra loại kiến thức cần cho kiến trúc mối quan hệ kiến thức để định thiết kế kiến trúc c Khi đưa định kiến trúc ta xem xét câu hỏi sau : Làm hệ thống phân phối? Những phong cách kiến trúc phù hợp? Phương pháp sử dụng để cấu trúc hệ thống? Làm hệ thống chia thành mô-đun? Chiến lược kiểm sốt nên sử dụng? Làm để đánh giá thiết kế kiến trúc? Nên tạo document cho kiến trúc ? 10 Architecture reuse (tái sử dụng kiến trúc ) : a Hệ thống tên miền thường có kiến trúc tương tự phản chiếu chất tên miền ( tạo nét đặc trưng riêng ) b Những dòng sản phẩm ứng dụng xây dựng dựa kiến trúc cốt lõi với biến thể ( biến thể thứ bên cạnh có khả tiện dụng , dễ dàng thay đổi ) đáp ứng yêu cầu khách hàng cụ thể c Các kiến trúc hệ thống thiết kế theo mơ hình kiến trúc phong cách kiến trúc khác Những phải nắm chất kiến trúc khởi tạo cách khác 11 ): Architecture and system characteristics ( đặc điểm kiến trúc hệ thống a Hiệu suất : Xác định hoạt động quan trọng giảm thiểu thông tin liên lạc b Bảo mật : Sử dụng kiến trúc lớp với tài nguyên quan trọng lớp bên c An tồn : Xác định tính an tồn - quan trọng số hệ thống phụ d Sẵn sàng : Bao gồm thành phần chế cho khả chịu lỗi khơng cần thiết e Bảo trì : Sử dụng thành phần thay 12 Choosing an Architecture ( chọn kiến trúc ) : Chọn kiến trúc tổng điểm cao 13 Architectural views ( Quan điểm kiến trúc ) : Để đưa quan điểm kiến trúc hợp lý ta cần trả lời câu hỏi sau : a Những quan điểm hay quan điểm hữu ích thiết kế lập tài liệu kiến trúc hệ thống? b Những ký hiệu nên sử dụng để mơ tả mơ hình kiến trúc? c Mỗi mơ hình kiến trúc cho thấy nhìn hay quan điểm hệ thống Nó hiển thị hệ thống phân rã thành mơ-đun, làm q trình thời gian chạy tương tác cách khác nhau, thành phần hệ thống phân phối qua mạng Đối với hai thiết kế tài liệu hướng dẫn, 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 4+1 view model of software architecture gồm Bốn điểm hợp lý ( logical view ) , phát triển( development view ), trình( process view ) vật lý( physical view ) Ngoài lựa chọn use cases or scenarios sử dụng để minh họa cho kiến trúc “+1” view : o A logical view : Quan điểm hợp lý liên quan đến chức mà hệ thống cung cấp cho người dùng cuối cho thấy khái niệm trừu tượng quan trọng hệ thống đối tượng lớp đối tượng Biểu đồ UML sử dụng để đại diện cho quan điểm hợp lý bao gồm Class diagram , Communication diagrams , Sequence diagram o A process view : Quan điểm trình với khía cạnh động hệ thống, bao gồm q trình tương tác, giải thích quy trình hệ thống cách giao tiếp, tập trung vào hành vi thời gian chạy hệ thống Quan điểm trình giải đồng thời, phân phối, tích hợp, hiệu suất khả mở rộng, ,v.v… Biểu đồ UML để đại diện cho quan điểm trình bao gồm Activity diagram o A development view : Quan điểm phát triển minh họa hệ thống từ quan điểm lập trình viên liên quan đến phần mềm quản lý hay nói cách khác tách để phát triển Nó sử dụng UML Component diagram để mô tả thành phần hệ thống Biểu đồ UML sử dụng để đại diện cho quan điểm phát triển bao gồm Package diagram o A physical view : : Quan điểm vật lý mô tả hệ thống từ kỹ sư hệ thống , cho thấy hệ thống phần cứng làm thành phần phần mềm phân phối vi xử lý hệ thống Nó liên quan với cấu trúc liên kết thành phần phần mềm lớp vật lý, kết nối vật lý thành phần Quan điểm biết đến điểm triển khai Biểu đồ UML sử dụng để đại diện cho quan điểm vật lý bao gồm Deployment diagram Use-case or Scenarios : Các mô tả kiến trúc minh họa tập nhỏ use-case , Scenarios mà trở thành điểm thứ năm Các Scenarios mô tả trình tự tương tác đối tượng, trình Chúng sử dụng để xác định yếu tố kiến trúc để minh họa xác nhận thiết kế kiến trúc Nó phục vụ điểm khởi đầu cho kiểm tra nguyên mẫu kiến trúc Quan điểm biết đến sử dụng use-case 14 a b c d 15 Architectural patterns ( Mơ hình kiến trúc ) : Pattern ( Mơ hình ) phương tiện đại diện, chia sẻ tái sử dụng kiến thức Một mơ hình kiến trúc mô tả cách điệu thực hành thiết kế tốt, thử thử nghiệm mơi trường khác Các mơ hình nên bao gồm thơng tin họ có khơng hữu ích Các mơ hình đại diện cách sử dụng bảng mô tả đồ họa The Model-View-Controller (MVC) pattern : Ngăn cách trình bày tương tác từ hệ thống liệu Hệ thống kết cấu thành ba thành phần logic mà tương tác với Các thành phần mơ hình quản lý hệ thống liệu hoạt động liên quan đến liệu Các thành phần View xác đị nh quản lý liệu trình bày cho người dùng Các thành phần điều khiển quản lý tương tác người dùng (ví dụ, bấm phím, chuột nhấp chuột, v v….) vượt qua tương tác cho View Model Ví dụ bên cho thấy kiến trúc hệ thống ứng dụng web dựa tổ chức cách sử dụng mơ hình MVC Được sử dụng có nhiều cách để xem tương tác với liệu Cũng sử dụng yêu cầu tương lai cho tương tác trình bày liệu khơng rõ Cho phép liệu để thay đổi cách độc lập đại diện ngược lại Hỗ trợ trình bày liệu theo cách khác với thay đổi thực đại diện thể tất chúng Có thể liên quan đến việc bổ sung mã mã phức tạp mà mơ hình liệu tương tác đơn giản 16 MVC pattern : mơ hình phần mềm để thực giao diện người dùng Nó chia phần mềm ứng dụng cho thành ba phần liên kết với nhau, để phân biệt đại diện nội thông tin từ cách mà thơng tin trình bày chấp nhận từ người sử dụng Các thành phần trung tâm, mơ hình, bao gồm liệu ứng dụng , quy tắc kinh doanh, logic, chức Một quan điểm đại diện đầu thông tin, chẳng hạn biểu đồ sơ đồ Nhiều quan điểm thông tin tương tự xảy ra, chẳng hạn biểu đồ để quản lý xem bảng cho kế toán Phần thứ ba, điều khiển, chấp nhận đầu vào chuyển đổi để lệnh cho mơ hình xem Một hợp tác điển hình thành phần MVC Ngồi cách chia ứng dụng thành ba loại thành phần, ModelView-Controller (MVC) thiết kế xác định tương tác chúng o Một điều khiển ( Controller ) gửi lệnh đến mơ hình để cập nhật trạng thái mơ hình (ví dụ, chỉnh sửa tài liệu) Nó gửi lệnh để xem liên quan để thay đổi trình bày quan điểm mơ hình (ví dụ, cách di chuyển thông qua tài liệu) o Một mơ hình ( Model ) thơng báo quan liên quan điều khiển có thay đổi trạng thái Thơng báo điều cho phép quan điểm để sản xuất cập nhật, điều khiển để thay đổi thiết lập có sẵn lệnh Một thực thụ động MVC bỏ qua thơng báo, ứng dụng khơng địi hỏi họ tảng phần mềm không hỗ trợ họ o Một quan điểm ( View ) yêu cầu thơng tin từ mơ hình mà cần để tạo đại diện đầu cho người sử dụng MVC hiểu biết sâu sắc tinh lĩnh vực đầu giao diện người dùng đồ họa 17 Layered architecture ( kiến trúc Layered ) : Tổ chức hệ thống vào lớp với chức liên quan liên kết với lớp Một lớp cung cấp dịch vụ cho lớp để lớp mức thấp đại diện cho dịch vụ cốt lõi có khả sử dụng toàn hệ thống a Sử dụng để mơ hình interfacing sub – systems b Tổ chức hệ thống vào tập hợp lớp (hoặc máy trừu tượng) số cung cấp tập hợp dịch vụ c Hỗ trợ phát triển gia tăng tiểu hệ thống lớp khác Khi giao diện lớp thay đổi, có lớp kế cận bị ảnh hưởng d Thường nhân tạo cấu trúc hệ thống theo cách Tổ chức hệ thống vào lớp với chức liên quan liên kết với lớp Một lớp cung cấp dị ch vụ cho lớp để lớp mức thấp đại diện cho dị ch vụ cốt lõi có khả sử dụng tồn hệ thống Một mơ hình lớp hệ thống chia sẻ tài liệu quyền tổ chức thư viện khác nhau, Được sử dụng xây dựng sở hệ thống có, phát triển lan truyền số team với team chị u trách nhiệm cho lớp chức năng, có yêu cầu an ninh đa cấp Cho phép thay toàn lớp, miễn giao diện trì Cơ sở vật chất dư thừa (ví dụ, xác thực) cung cấp lớp để tăng độ tin cậy hệ thống Trong thực tế, cung cấp riêng biệt lớp thường khó lớp cao cấp tương tác trực tiếp với lớp cấp thông qua lớp bên Hiệu suất vấn đề nhiều cấp độ giải thích yêu cầu dị ch vụ xử lý lớp Mơ hình Respository: Mơ tả: Tất liệu hệ thống quản lý kho lưu trữ trung tâm truy cập đến tất thành phần hệ thống Thành phần khơng tương tác trực tiếp, có thơng qua kho lưu trữ Khi cần sử dụng: Khi hệ thống chứa lượng lớn thông tin tạo lưu trữ thời gian dài, bạn sử dụng hệ thống hệ thống điều khiển liệu nơi bao gồm liệu đc tạo hành động hay công cụ Ưu điểm: - Các thành phần độc lập với - Khi thay đổi thự thành phần truyền đến thành phần lại - Tất liệu quản lý thống Nhược điểm: - Tất thành phần lưu trữ kho nên có xảy cố ảnh hưởng đến tồn hệ thống - Có thể không hiệu việc tổ chức thông tin liên lạc thông qua kho lưu trữ - Phân phối kho lưu trữ máy tính gặp khó khăn Kiến trúc Client-server Là mơ hình hệ thống phân phối cho thấy cách mà data process đc phân phối thông qua nhiều thành phần(chả hiểu khỉ khơ j hết) Có thể thực máy tính Thiết lập máy chủ độc lập cung cấp dịch vụ in ấn, quản lí liệu… - thiết lập khách hàng vào dịch vụ - hệ thống mạng cho khách hàng truy cập vào máy chủ Mơ hình Client-server: Mô tả: kiến trúc client-server, chức hệ thống đc tổ chức vào dịch vụ, dịch vụ đc cung cấp từ máy chủ riêng biệt Khách hàng người sử dụng dịch vụ server để truy cập sử dụng chúng Lúc sử dụng mơ hình này: Khi liệu từ sở liệu đc truy cập từ nhiều địa điểm khác nhau, máy chủ đc nhân rộng, đc sử dụng tải hệ thống Ưu điểm: Các máy chủ đc phân phối qua mạng Chức chung (ví dụ, dịch vụ in ấn) cung cấp cho tất khách hàng không cần phải thực tất dịch vụ Nhược điểm: Mỗi dịch điểm suy nên dễ bị server từ chối truy cập hay bị lỗi từ máy chủ Hiệu suất ko tính tốn đc cịn phải phụ thuộc vào mạng hệ thống Có thể vấn đề quản lý máy chủ sở hữu tổ chức khác Pipe and filter architecture Các hàm chuyển đổi xử lý đầu vào kết quả( đầu ra) Các biến thể phương pháp đc dùng chung, chuyển đổi đc thực cách loạt mơ hình đc sử dụng rộng rãi hệ thống xử lý liệu Không thực phù hợp cho hệ thống tương tác Mô tả: Việc xử lý liệu hệ thống tổ chức thành phần xử lý (lọc) rời rạc thực cho loại hình chuyển đổi liệu Các luồng liệu (như đường ống) từ thành phần đc thành phần khác xử lý Khi sử dụng mơ hình này: đc sử dụng ứng dụng xử lý liệu, đầu vào đc xử lý giai đoạn riêng biệt để tạo đầu liên quan ưu điểm: Dễ hiểu, hỗ trợ tái sử dụng Phong cách công việc phù hợp với cấu trúc nhiều quy trình kinh doanh Tiến hóa cách thêm phép biến đổi đơn giản Có thể thực hệ thống hay đồng thời Nhược điểm: Định dạng cho việc chuyển liệu phải đc đồng ý việc giao tiếp biến đổi Mỗi chuyển đổi phải phân tích đầu vào đầu unparse mẫu đồng ý Khơng thể tái sử dụng việc chuyển đổi chức sử dụng cấu trúc liệu ko tương thích Kiến trúc ứng dụng Được thiết kế nhằm đáp ứng nhu cầu tổ chức Theo doanh nghiệp có nhiều điểm chung, hệ thống ứng dụng họ có xu hướng có kiến trúc phổ biến mà yêu cầu ứng dụng Một kiến trúc ứng dụng chung chung kiến trúc cho loại hệ thống phần mềm cấu hình điều chỉnh để tạo hệ thống đáp ứng yêu cầu cụ thể Sử dụng kiến trúc ứng dụng: - Như điểm khởi đầu cho thiết kế kiến trúc Như danh sách kiểm tra thiết kế Như cách thức tổ chức công việc đội ngủ phát triển Như phương tiện đánh giá thành phần tái sử dụng Như vốn từ vựng để nói ứng dụng Một số loại ứng dụng: - Data processing applications( ứng dụng xử lý liệu): ứng dụng liệu động xử lý liệu theo lơ mà khơng có can thiệp rõ ràng người sử dụng trình xử lý - Transaction processing applications( ứng dụng xử lý giao dịch): ứng dụng liệu trung tâm, xử lý yêu cầu người sử dụng cập nhật thông tin sở liệu hệ thống - Event processing systems( hệ thống xử lý kiện): ứng dụng mà hành động hệ thống phụ thuộc vào việc giải thích kiện từ môi trường hệ thống - Language processing systems( hệ thống xử lý ngôn ngữ): ứng dụng mà ý định người sử dụng quy định ngơn ngữ thức xử lý giải thích hệ thống Application type examples Tập trung xử lý giao dịch hệ thống xử lý ngôn ngữ Hệ thống xử lý giao dịch: Q trình người dùng u cầu cho thơng tin từ sở liệu yêu cầu để cập nhật sở liệu Từ góc độ người dùng giao dịch là: - Bất trình tự chặt chẽ hoạt động thỏa mãn mục tiêu Người sử dụng có u cầu khơng đồng cho dịch vụ mà sau xử lý người quản lý giao dịch Cấu trúc ứng dụng xử lý giao dịch: Kiến trúc hệ thống thơng tin: Hệ thống thơng tin có kiến trúc chung chung mà tổ chức kiến trúc lớp Đây hệ thống giao dịch dựa tương tác với hệ thống thường liên quan đến giao dịch sở liệu Các lớp bao gồm: • Giao diện người dùng • thông tin liên lạc người dùng • Thông tin thu hồi • Hệ thống sở liệu The architecture of the MHC-PMS( tự xem hình nhá, chả biết vẻ j) Hệ thống thơng tin dựa web: Hệ thống quản lý thông tin tài nguyên thường hệ thống dựa web nơi mà 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 có trụ sở 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 chức bổ sung 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 họ tất giao dịch Việc thực máy chủ:Các hệ thống thường thực nhiều mơ hình khách chủ / kiến trúc 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 giao diện người dùng 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 logic ứng dụng cụ thể lưu trữ thông tin yêu cầu thu hồi; 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 Hệ thống xử lý ngôn ngữ: Chấp nhận ngôn ngữ tự nhiên nhân tạo đầu vào tạo số đại diện khác ngơn ngữ Có thể bao gồm thông dịch viên để hoạt động hướng dẫn ngôn ngữ xử lý Được sử dụng tình mà cách dễ để giải vấn đề để mơ tả thuật tốn mô tả hệ thống liệu Những công cụ Meta-case mơ tả quy trình giớ thiệu cơng cụ, quy định phương pháp, tạo công cụ Kiến trúc hệ thống xử lý ngơn ngữ( xem hình nhá) Thành phần biên dịch: Một phân tích từ vựng, có thẻ ngơn ngữ đầu vào chuyển đổi chúng sang hình thức nội Một bảng biểu tượng, nắm giữ thông tin tên thực thể (biến, tên lớp, tên đối tượng, vv) sử dụng văn dịch Một phân tích cú pháp, kiểm tra cú pháp ngôn ngữ dịch Một cú pháp, mà cấu trúc nội đại diện cho chương trình biên soạn Một phân tích ngữ nghĩa có 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 A code generator that „walks‟ the syntax tree and generates abstract machine code.(Một máy phát điện mã 'đi' cú pháp tạo mã máy trừu tượng.) không hiểu A pipe and filter compiler architecture Một kiến trúc kho lưu trữ cho hệ thống xử lý ngơn ngữ TĨM TẮT: Một kiến trúc phần mềm mô tả cách hệ thống phần mềm tổ chức Quyết định thiết kế kiến trúc bao gồm định loại ứng dụng, phân phối hệ thống, phong cách kiến trúc sử dụng Kiến trúc ghi lại từ quan điểm khác quan điểm nhìn khái niệm, nhìn hợp lý, trình xem, xem phát triển Mơ hình kiến trúc phương tiện tái sử dụng kiến thức kiến trúc hệ thống chung Họ mô tả kiến trúc, giải thích sử dụng mơ tả ưu điểm nhược điểm Mơ hình kiến trúc hệ thống ứng dụng giúp hiểu so sánh ứng dụng, xác nhận thiết kế hệ thống ứng dụng đánh giá thành phần quy mô lớn để tái sử dụng 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 sửa đổi từ xa số lượng người dùng Hệ thống xử lý ngôn ngữ sử dụng để dịch văn từ ngôn ngữ sang ngôn ngữ khác thực hướng dẫn quy định ngôn ngữ đầu vào Chúng bao gồm phiên dịch máy trừu tượng dùng để thực ngôn ngữ tạo ... trúc phần mềm coi tập hợp định quan trọng liên quan đến việc thiết kế phần mềm hệ thống Kiến thức thiết kế này, tức kiến thức kiến trúc, chìa khóa cho hiểu biết kiến trúc phần mềm thân phần mềm. .. , cho thấy hệ thống phần cứng làm thành phần phần mềm phân phối vi xử lý hệ thống Nó liên quan với cấu trúc liên kết thành phần phần mềm lớp vật lý, kết nối vật lý thành phần Quan điểm biết... đơn giản 16 MVC pattern : mơ hình phần mềm để thực giao diện người dùng Nó chia phần mềm ứng dụng cho thành ba phần liên kết với nhau, để phân biệt đại diện nội thông tin từ cách mà thông tin