Thiết Kế Kiến Trúc Phần Mềm Tại Đại Học Quốc Gia Hà Nội

Trường đại học

Đại Học Quốc Gia Hà Nội

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

luận văn

2011

80
0
0

Phí lưu trữ

30.000 VNĐ

Tóm tắt

I. Tổng Quan Về Thiết Kế Kiến Trúc Phần Mềm UET VNU 55

Trong phát triển phần mềm, có nhiều mô hình phát triển khác nhau. Hiện nay, mô hình phát triển phần mềm hình chữ V được sử dụng rộng rãi, được cải tiến từ mô hình thác nước. Trong mô hình phát triển phần mềm hình chữ V, các công việc được chia thành các giai đoạn khác nhau, mỗi giai đoạn sẽ thực hiện một số công việc cụ thể. Ví dụ giai đoạn thiết kế kiến trúc (Architecture Design - AD) sẽ thực hiện chuyển hóa các đặc tả yêu cầu phần mềm (Software Requirement Specification - SRS) thành các mô tả thiết kế kiến trúc được thể hiện thông qua các hình vẽ, tài liệu mô tả. Dựa vào kết quả thiết kế kiến trúc đó, các nhà thiết kế chi tiết có thể tạo ra các bản thiết kế chi tiết cho phần mềm, phục vụ cho quá trình cài đặt chương trình được dễ dàng, thuận tiện. Hình 1.1 cho thấy thiết kế kiến trúc chính là một giai đoạn trong mô hình phát triển phần mềm. Khi xây dựng và phát triển phần mềm nếu phát triển đúng và đầy đủ theo các giai đoạn của mô hình phần mềm đang áp dụng, đặc biệt là giai đoạn thiết kế, phần mềm sẽ tránh được sự rủi ro và có chất lượng tốt.

1.1. Tầm Quan Trọng của Thiết Kế Hệ Thống Phần Mềm

Trên thực tế chúng ta thường làm việc không có kế hoạch cụ thể, làm tới đâu nghĩ tới đó, xem nhẹ bước thiết kế, coi trọng cài đặt mã nguồn. Kết quả mà chúng ta thu được thường là một khối mã nguồn rối rắm hoặc nếu có thì cũng chỉ là một chương trình nhỏ với vài chức năng cần thiết, rất khó cho bảo trì và tái sử dụng. Đôi khi, chúng ta làm việc có phần chủ quan và mang tính tự phát, nhưng nếu bình tĩnh nghiên cứu, làm việc có kế hoạch và áp dụng các tiến trình thiết kế phần mềm vào trong bài toán của mình, chúng ta có thể thấy được nhiều hướng đi, nhiều cách giải quyết, mà có thể đó là những lời giải tối ưu mà trước đó chúng ta không thấy hoặc đã bỏ qua. Điều quan trọng hơn cả là chúng ta có thể theo dõi và kiểm soát được những gì đang xảy ra. Thiết kế là đồng nghĩa với việc tiết kiệm thời gian và tiền bạc. Nếu không có bản thiết kế hoặc thiết kế không tốt, khi có thay đổi yêu cầu một vài chức năng trong phần mềm hoặc nâng cấp, cải tiến các chức năng đó, chúng ta phải làm lại một chương trình hoàn toàn mới hoặc phải nghiên cứu lại toàn bộ mã nguồn, điều đó đồng nghĩa với tiêu tốn của chúng ta khá nhiều thời gian và tiền bạc.

1.2. Kiến Trúc Phần Mềm Trong Bối Cảnh Đại Học Quốc Gia Hà Nội

Với sự phát triển của công nghệ thông tin, ngày nay nhiều lĩnh vực trong đời sống đã được tin học hóa, giúp cho quá trình xử lý công việc nhanh và đơn giản hơn, giúp cho tiết kiệm rất nhiều thời gian và tiền bạc. Với sự phát triển của kinh tế, ngày nay cuộc sống con người được cải thiện rất nhiều. Nhu cầu về chăm sóc, khám chữa bệnh, phát hiện, chuẩn đoán và chữa trị bệnh sớm được tăng lên, khi đó tin học là cánh tay đắc lực giúp cho việc này. Năm 2009, khi tôi đang làm việc tại công ty phần mềm FPT, chúng tôi nhận được đơn đặt hàng của khách hàng bên Nhật Bản, yêu cầu nâng cấp, xây dựng chức năng mới cho hệ thống quản lý, xử lý ảnh trong y tế. Khi nhận được bài toán, chúng tôi đã tiến hành khảo sát và phân tích thấy hệ thống cũ có một số hạn chế như sau: Thứ nhất hệ thống là một chương trình hoàn chỉnh, với mã nguồn rất lớn, hỗn độn nhưng rất ít tài liệu mô tả về hệ thống. Kiến thức về các chức năng, xử lý nghiệp vụ của hệ thống không được viết thành tài liệu, mỗi người hiểu một phần rời rạc.

II. Thách Thức Thiết Kế Kiến Trúc Phần Mềm Tại VNU UET 58

Khi phát triển, phần mềm được phát triển dựa trên hai công nghệ, môi trường lập trình khác nhau. Phần giao diện giao tiếp với người dùng được viết bằng VB6, sử dụng nhiều thành phần sẵn có trong VB6. Ngoài ra sử dụng rất nhiều các thư viện của hãng thứ ba nên tính đồng nhất không cao, thường xuyên phải nâng cấp các phiên bản. Cùng với thời gian phần cứng được thay đổi nhiều, khi đó VB6 không thể đáp ứng với phần cứng với các phiên bản mới hơn. Mặt khác có nhiều loại mà hình kích thước khác nhau, chương trình phải đáp ứng sự tùy biến sao cho phù hợp với các loại màn hình đó, việc này VB6 làm rất khó khăn, gần như không thể. Hơn nữa, VB6 là ngôn ngữ lập trình hướng thủ tục nên khả năng mở rộng kém, khi thêm các chức năng mới rất khó khăn. Phần thuật toán xử lý, lưu trữ, thao tác với ảnh thì viết bằng C++. Các phần viết rời rạc, sự sử dụng lại kém, hình như không có.

2.1. Khó Khăn Trong Bảo Trì và Nâng Cấp Hệ Thống Phần Mềm

Hạn chế thứ hai là quá trình bảo trì và nâng cấp vô cùng khó khăn, khi mở rộng thì mất nhiều công sức, thậm chí làm ảnh hưởng tới chức năng đã có, có thể dẫn tới xử lý sai. Những khó khăn này đặt ra cho chúng tôi phải có phương pháp đánh giá, hướng tiếp cận phù hợp để có thể nâng cấp, xây dựng chức năng mới cho phù hợp và xử lý chính xác. Cuối cùng, sau một thời gian phân tích, đánh giá nghiêm túc, chúng tôi đã tìm ra được hướng đi phù hợp, đó là phải làm tốt ngay từ giai đoạn phân tích, thiết kế, đặc biệt là thiết kế kiến trúc phần mềm.

2.2. Nghiên Cứu Lý Thuyết Về Kiến Trúc Ứng Dụng Phần Mềm

Luận văn tập trung nghiên cứu lý thuyết về thiết kế kiến trúc phần mềm, các thành phần chính trong thiết kế kiến trúc phần mềm, đặc điểm của một số kiểu kiến trúc phần mềm tiêu biểu, các bước thiết kế kiến trúc phần mềm và đánh giá ưu nhược điểm của thiết kế kiến trúc phần mềm. Sau đó luận văn tập trung vào quá trình khảo sát, phân tích hệ thống quản lý, xử lý ảnh trong y tế. Từ kết quả khảo sát, phân tích đó, luận văn trình bày chi tiết quá trình áp dụng các bước thiết kế kiến trúc phần mềm vào bài toán quản lý, xử lý ảnh trong y tế. Luận văn cũng mô tả các cách thức cài đặt thiết kế kiến trúc phần mềm, đề xuất phương pháp, các bước đi từ thiết kế kiến trúc tới thiết kế chi tiết sau cho hiệu quả.

III. Phương Pháp Thiết Kế Kiến Trúc Phần Mềm Hiệu Quả Tại UET 59

Luận văn tập trung nghiên cứu lý thuyết về thiết kế kiến trúc phần mềm, các thành phần chính trong thiết kế kiến trúc phần mềm, đặc điểm của một số kiểu kiến trúc phần mềm tiêu biểu, các bước thiết kế kiến trúc phần mềm và đánh giá ưu nhược điểm của thiết kế kiến trúc phần mềm. Sau đó luận văn tập trung vào quá trình khảo sát, phân tích hệ thống quản lý, xử lý ảnh trong y tế. Từ kết quả khảo sát, phân tích đó, luận văn trình bày chi tiết quá trình áp dụng các bước thiết kế kiến trúc phần mềm vào bài toán quản lý, xử lý ảnh trong y tế. Luận văn cũng mô tả các cách thức cài đặt thiết kế kiến trúc phần mềm, đề xuất phương pháp, các bước đi từ thiết kế kiến trúc tới thiết kế chi tiết sau cho hiệu quả.

3.1. Tổng Quan Về Kiến Trúc Phần Mềm và Thiết Kế Chi Tiết

Chương 2 trình bày các khái niệm cơ bản về kiến trúc phần mềm, thiết kế kiến trúc phần mềm, một số kiểu kiến trúc phần mềm tiêu biểu. Sau đó trình bày các bước thiết kế kiến trúc phần mềm và đánh giá ưu nhược điểm của thiết kế kiến trúc phần mềm. Chương 3 mô tả về quy trình khám chữa bệnh trong y tế. Phân tích xử lý nghiệp vụ của hệ thống quản lý, xử lý ảnh trong y tế. Chi tiết quá trình áp dụng các bước thiết kế kiến trúc phần mềm đã nêu ở Chương 2 để thiết kế kiến trúc cho hệ thống quản lý, xử lý ảnh trong y tế được mô tả chi tiết trong Chương 4.

3.2. Cài Đặt Kiến Trúc Phần Mềm và Đề Xuất Phương Pháp

Chương 5 mô tả cách thức cài đặt kiến trúc phần mềm. Đề xuất phương pháp, các bước đi từ thiết kế kiến trúc tới thiết kế chi tiết sau cho hiệu quả. Tóm tắt kết quả đã đạt được, trình bày những hạn chế và hướng nghiên cứu phát triển trong tương lai sẽ được trình bày trong phần kết luận.

IV. Định Nghĩa và Thành Phần Thiết Kế Kiến Trúc Phần Mềm 57

Kiến trúc của hệ thống phần mềm là tập hợp các quyết định thiết kế cơ bản về hệ thống [2]. Có ba hiểu biết cơ bản về kiến trúc phần mềm là mỗi ứng dụng có một kiến trúc, mỗi ứng dụng có ít nhất một kiến trúc sư và kiến trúc không phải là một giai đoạn của phát triển phần mềm. Kiến trúc phần mềm là các kế hoạch chi tiết xây dựng một hệ thống phần mềm và tiến hóa. Các quyết định thiết kế bao gồm mọi khía cạnh của hệ thống được phát triển bao gồm: i. Kiến trúc hệ thống: Ví dụ các thành phần kiến trúc nên được bố trí và tổng hợp chính xác. Hành vi chức năng: Ví dụ tiến trình xử lý dữ liệu, lưu trữ, sự ảo hóa sẽ được thực hiện một cách tuần tự chính xác. Sự tương tác: Ví dụ sự giao tiếp bao quanh tất cả các phần tử hệ thống sẽ được phát tỏa chỉ cần dùng một sự kiện thông báo. Thuộc tính phi chức năng: Ví dụ sự phụ thuộc hệ thống sẽ được đảm bảo bởi sự nhân bản chức năng xử lý. Triển khai hệ thống: Ví dụ thành phần giao diện người dùng sẽ được xây dựng bởi công cụ Java Swing hay Visual C#.

4.1. Phạm Vi Rộng Lớn của Kiến Trúc Phần Mềm

Kiến trúc phần mềm có phạm vi rộng lớn, xuyên suốt trong quá trình phát triển phần mềm. Luận văn chỉ tập trung chủ yếu vào một thành phần quan trọng trong kiến trúc phần mềmthiết kế kiến trúc phần mềm. Thiết kế kiến trúc phần mềm gồm bốn thành phần chính là thành phần (component), kết nối (connector), giao diện (interface) và cấu hình (configuration). Hình 2.1 mô tả một ví dụ về kiến trúc của hệ thống quản lý thông tin bệnh nhân được thiết kế theo mô hình ba lớp gồm lớp trình diễn (Presentation), lớp xử lý nghiệp vụ (Business) và lớp truy cập, xử lý dữ liệu (Data Access Layer - ADL). Lớp trình diễn sẽ có nhiệm vụ giao tiếp với người dùng, nhận yêu cầu từ người dùng và hiển thị kết quả cho người dùng.

4.2. Các Lớp Trong Kiến Trúc Phần Mềm

Khi nhận được yêu cầu của người dùng (thêm mới thông tin về bệnh nhân), lớp trình diễn sẽ yêu cầu lớp xử lý nghiệp vụ xử lý và nhận kết quả trả về từ lớp nghiệp vụ, sau đó hiển thị kết quả cho người dùng. Lớp xử lý nghiệp vụ có nhiệm vụ xử lý nghiệp vụ của bài toán, lớp này sẽ nhận các yêu cầu của lớp trình diễn, xử lý các thao tác liên quan tới nghiệp vụ, gửi yêu cầu tới tầng truy cập dữ liệu để lấy, cập nhật dữ liệu nếu cần, sau đó trả kết quả về cho lớp trình diễn. Lớp truy cập dữ liệu có nhiệm vụ đọc, cập nhật dữ liệu từ các file hoặc cơ sở dữ liệu (CSDL). Sau đó trả về kết quả cho lớp xử lý nghiệp vụ.

V. Các Kiểu Kiến Trúc Phần Mềm Điển Hình Tại UET VNU 56

Một kiểu kiến trúc là một tập các quyết định thiết kế kiến trúc áp dụng trong một ngữ cảnh phát triển phần mềm hoặc dựa trên sự ràng buộc của các quyết định thiết kế kiến trúc cụ thể cho một hệ thống cụ thể trong phạm vi thiết kế đó. Tập các quyết định thiết kế cũng dựa trên sự suy luận lợi ích chất lượng trong mỗi kết quả hệ thống. Kiểu kiến trúc được trình bày trong [2], có tám kiểu kiến trúc cơ bản là: Main Program and Subroutines, Layered, Data-flow styles, Shared memory, Interpreter, Implicit invocation, Peer-to-peer, “Derived” styles. Trong khi đó, kiểu kiến trúc được trình bày trong [4] và [6], phân chia các kiểu kiến trúc theo nhóm dựa trên đặc điểm của kiểu kiến trúc.

5.1. Kiểu Kiến Trúc Gọi Trả Lại Main Program and Subroutines

Đây là kiểu kiến trúc truyền thống bao gồm: Mô hình gọi – trả lại (Main program and subroutines) và hướng đối tượng (Object-oriented).5 minh họa kiểu kiến trúc gọi – trả lại. Main program In: none In: IValue3 In: IValu2 Out: Ovalue1...

5.2. Đặc Điểm Của Kiểu Kiến Trúc Phân Tầng

Kiểu kiến trúc phân tầng (Layered) là một kiểu kiến trúc phổ biến. Trong kiểu kiến trúc này, hệ thống được chia thành các tầng (layer) khác nhau, mỗi tầng thực hiện một chức năng cụ thể. Các tầng được sắp xếp theo thứ tự, tầng trên sử dụng các dịch vụ của tầng dưới. Kiểu kiến trúc này giúp cho hệ thống dễ bảo trì, nâng cấp và tái sử dụng.

05/06/2025

TÀI LIỆU LIÊN QUAN

Luận văn nghiên cứu và thiết kế kiến trúc phần mềm cho các hệ thống lớn và phức tạp
Bạn đang xem trước tài liệu : Luận văn nghiên cứu và thiết kế kiến trúc phần mềm cho các hệ thống lớn và phức tạp

Để xem tài liệu hoàn chỉnh bạn click vào nút

Tải xuống

Tài liệu "Thiết Kế Kiến Trúc Phần Mềm Tại Đại Học Quốc Gia Hà Nội" cung cấp cái nhìn sâu sắc về quy trình thiết kế kiến trúc phần mềm, nhấn mạnh tầm quan trọng của việc áp dụng các nguyên tắc thiết kế trong phát triển phần mềm. Tài liệu này không chỉ giúp sinh viên và các chuyên gia trong ngành hiểu rõ hơn về các phương pháp và công cụ cần thiết để xây dựng phần mềm hiệu quả, mà còn mang lại những lợi ích thiết thực trong việc cải thiện khả năng làm việc nhóm và quản lý dự án.

Để mở rộng kiến thức của bạn về các chủ đề liên quan, bạn có thể tham khảo thêm tài liệu Đồ án hcmute xây dựng website tìm việc it trên nền tảng mean stack, nơi bạn sẽ tìm thấy thông tin về việc phát triển ứng dụng web trong lĩnh vực công nghệ thông tin. Ngoài ra, tài liệu Khoá luận tốt nghiệp xây dựng ứng dụng android xem video trực tuyến sẽ giúp bạn hiểu rõ hơn về việc thiết kế ứng dụng di động, một phần quan trọng trong kiến trúc phần mềm hiện đại. Cuối cùng, tài liệu Xây dựng website quản lý rạp chiếu phim đồ án tốt nghiệp sẽ cung cấp cho bạn cái nhìn thực tiễn về việc phát triển các ứng dụng web phức tạp.

Những tài liệu này không chỉ giúp bạn mở rộng kiến thức mà còn cung cấp những góc nhìn đa dạng về thiết kế và phát triển phần mềm, từ đó nâng cao kỹ năng và khả năng ứng dụng trong thực tế.