Kiến trúc hệ thống

GS John Vu27/03/2026 13:00
Kiến trúc hệ thống

Theo nhiều nghiên cứu, dự án phần mềm càng lớn, cơ hội thành công sẽ càng ít bởi vì độ phức tạp vượt quá khả năng của người phát triển để hiểu nó.

Chìa khoá cho thành công phụ thuộc vào khả năng của kiến trúc sư hệ thống phân rã các yêu cầu thành các nhiệm vụ nhỏ hơn để cho những người phát triển có thể hiểu và có khả năng thực hiện chúng. Khi người phát triển đã hoàn thành, những việc này có thể được tích hợp vào trong hệ thống lớn tương ứng với kiến trúc đã xác định.

Kiến trúc tốt phải làm chi tiết mọi giao diện, chức năng, và cơ chế kiểm soát tách biệt để cho nó có thể linh hoạt, dễ dàng thay đổi. Nếu được thực hiện đúng, nó cho phép người phát triển tập trung vào nhiệm vụ riêng mà không cần hội tụ vào giao diện, luồng dữ liệu, và các chức năng hệ thống khác. Nếu được làm tài liệu tốt, nó giảm nhu cầu điều phối giữa các chức năng tổ khác nhau (người phát triển, người kiểm thử, đảm bảo chất lượng, quản lí cầu hình) nhưng nếu được thực hiện kém, nó sẽ là những biện luận không bao giờ dứt, lẫn lộn, và nhiều vấn đề tích hợp.

Kiến trúc chảy từ yêu cầu tới đặc tả chức năng. Do đó, yêu cầu phải đúng đắn, đầy đủ và không mơ hồ. Yêu cầu được xác định kém sẽ dẫn tới kiến trúc kém và kiến trúc kém sẽ làm tăng vấn đề trong các dự án lớn. Thu lấy yêu cầu là trách nhiệm then chốt của kiến trúc sư hệ thống. Người đó phải làm việc với đại diện khách hàng như người quản lí kinh doanh để nhận diện nhu cầu và mục đích của hệ thống. Kiến trúc sư hệ thống là giao diện giữa người dùng và người phát triển bởi vì người dùng không biết cách giải thích nhu cầu của mình theo cách người phát triển hiểu, và người phát triển không biết về qui trình nghiệp vụ để hỏi câu hỏi đúng. Để giảm rủi ro trong dự án lớn, kiến trúc sư hệ thống phải xây dựng bản mẫu để kiểm nghiệm các yêu cầu với khách hàng. Làm bản mẫu là qui trình xây dựng “mô hình hệ thống” bởi vì nó chuyển các yêu cầu vô hình thành mô hình làm việc hữu hình nhưng bị giới hạn của hệ thông tin mong muốn. Kiến trúc sư hệ thống trao đổi với người phát triển bằng việc xác định các mô tả “hộp đen” về các nhiệm vụ. Hộp đen là các thực thể trừu tượng có thể được hiểu, và được thực hiện một cách độc lập với phần còn lại của hệ thống. Qui trình xây dựng mô hình hộp đen được gọi là “trừu tượng hoá”. Trừu tượng hoá được dùng để đơn giản hoá thiết kế của hệ thống phức tạp bằng việc giảm bớt số chi tiết phải được xét tới. Về căn bản, kiến trúc sư giải thích cho người phát triển cái gì cần thực hiện, nhưng không nói về làm sao thực hiện nó.

Người phát triển phải hội tụ vào xây dựng phần mềm tin cậy được và không có lỗi. Để giảm thiếu số lỗi, họ phải tuân theo qui trình được xác định bằng việc dùng các thực hành và công cụ tốt nhất có thể giúp cho họ tìm ra các lỗi sớm trong kiểm điểm và kiểm thử. Người phát triển cũng cần đo công việc của họ để đảm bảo chất lượng phần mềm. Bằng việc có cách đo, người phát triển có phản hồi hữu dụng về công việc của mình và cung cấp tái đảm bảo cho kiến trúc sư hệ thống, người quản lí dự án và người dùng rằng phần mềm có chất lượng cao.

Phát triển dự án lớn có chất lượng là không dễ dàng. Nó yêu cầu kỉ luật mạnh, làm việc tổ và nhiều phối hợp. Nó cũng yêu cầu sự hỗ trợ quản lí mạnh trong việc hiểu công việc gian nan và cho người phát triển nhiều thời gian hơn để thiết kế và kiểm thử công việc của họ. Phần lớn các dự án lớn đều rất phức tạp cho nên yếu tố then chốt là kiến trúc tốt và quản lí dự án chắc. Những kĩ năng này khó tìm được bởi vì đào tạo ngày nay vẫn hội tụ vào khía cạnh lập trình chứ KHÔNG vào khía cạnh thiết kế và khía cạnh quản lí. Rất ít trường dạy kiến trúc, thiết kế và quản lí dự án mà chỉ dạy ngôn ngữ lập trình và đó là lí do tại sao nhiều công ti thành công với các dự án nhỏ nhưng KHÔNG thành công với các dự án lớn. Kiến trúc phần mềm và hệ thống là khó dạy vì nó yêu cầu nhiều kinh nghiệm trong thế giới thực. Bạn không thể học được nó từ sách vở hay theo lớp học mà phải thực nghiệm nó trong thế giới thực, đặc biệt trong các dự án lớn. Cách tốt nhất để học về kiến trúc là trở thành phụ tá cho kiến trúc sư hệ thống, việc “đào tạo trong công việc” này sẽ là tốt cho người phát triển có vài năm kinh nghiệm. Một khi bạn kinh nghiệm điều đó và có tri thức cơ sở nào đó về nó thì bạn có thể lấy vài lớp học để làm mạnh thêm tri thức của bạn và học thêm về các phong cách khác, các cách tiếp cận khác. Chỉ khi bạn đã làm chủ những kĩ thuật này thì bạn mới có thể xin vào làm chức vụ kiến trúc sư. Nhớ rằng người phát triển xây dựng công việc của họ dựa trên kiến trúc và chính kiến trúc xác định liệu dự án có thành công hay không.

English version

System Architecture

According to several studies, the larger the software project, the less chance of success it will have because the complexity exceeds the developer’ ability to comprehend it. The key for success depends on the ability of the system architect to decompose requirements into smaller tasks so that developers can understand and be able to implement them. When developers finished, these tasks can be integrated into the large system according to the defined architecture.

A good architecture must detail all interfaces, functions, and control mechanisms separately so it can be flexible, easy to change. If done correctly, it allows developers to concentrate on specific task without the need to focus on interfaces, data flow, and other system functions. If documented well, it reduces the need for coordination between different team functions (Developers, testers, quality assurance, configuration management) but if done poorly, it will be a never-ending arguments, confusions, and lots of integration problems.

Architecture flows from the requirements to functional specification. Therefore, requirements must be correct, complete, and unambiguous. A poorly defined requirements will lead to bad architecture and bad architecture will increase problems in large projects. Obtaining requirements is the key responsibility of the system architect. He must work with the customers representative such as the Business manager to identify the needs and the system’s goals. The system architect is the interface between users and developers because users do not know how to explain their needs in the way that developers understand, and developers do not know about business process to ask the right questions. To reduce the risk in large project, the system architect must build prototypes to validate the requirements with customers. Prototyping is the process of building a “model of the system” because it converts the intangible requirements into a tangible but limited working model of the desired information system.The system architect communicates to developers by specifying “black-box” descriptions of the tasks. Black boxes are abstract entities that can be understood, and implemented independently from the rest of the system. The process of building black-box models is called “abstraction”. Abstraction is used to simplify the design of a complex system by reducing the number of details that must be considered. Basically, the architect explain to developers what to implement, but not how to implement it.

Developers must focus on building software that are dependable and free from defects. To minimize number of defects, they must follow the project’s defined process using best practices and tools that can help them to find defects early during reviews and tests. Developers also need to measure their works to ensure software quality. By having measurements, developers are having useful feedback on their works and provides reassurance to the system architect, project manager and users that the software is of high quality.

Developing large project with quality is not easy. It requires strong discipline, teamwork, and lot of coordination. It also require a strong management supports in understanding the hard works and giving developers more time to design and test their works. Most large projects are very complex so the key factor is a good architecture and strong project management. These skills are hard to find because the training today is still focusing on the programming aspect NOT the designing aspect and management aspect. Very few schools teach architecture, design and project management but only programming languages and that is why many companies are successful with small projects but NOT large projects. Software and system architecture are difficult to teach as it requires a lot of experiences in real works. You can not learn it from books or take a class but must experiencing it in real projects, especially large projects. The best way to learn about architecture is to be an assistant to the system architect, this “On the job training” would be good to developers that have several years of experiences. Once you experiencing it and have some basic knowledge about it then you can take few classes to strengthen your knowledge and learn more about different styles, different approaches. Only when you have mastered these techniques then you could apply for the system architect position. Remember that developers build their works upon the architecture and it is the architecture that determines whether the project will be successful or not.

 


Gửi bình luận
(0) Bình luận
1

Nhu cầu cấp bách

Tuần trước, tôi đã viết về vài “khu vực nóng” trong thị trường công nghệ và tôi tin nền di động sẽ là một trong chúng trong vài năm tới.
2

Phần mềm di động

Phát triển ứng dụng di động là qui trình qua đó phần mềm được phát triển cho điện thoại di động hay thiết bị cầm tay tương tự.
3

Kinh nghiệm của kỹ sư phần mềm

“Em đã làm năm việc trong ba năm. Chẳng có gì để tự hào nhưng hồi tưởng lại, em đã học được bài học tốt và đó là lí do tại sao em quay lại thăm thầy.”
4

Lời khuyên từ bạn bè

Năm ngoái, một sinh viên năm thứ nhất nói với tôi trong ngày đầu tiên lên lớp: “Thầy nói cứ như là bố mẹ em nói, học, học và học nữa. Cuộc sống KHÔNG chỉ là học tập và là sinh viên đại học, em KHÔNG cần những lời khuyên có vẻ như của bố mẹ thế.”
5

Khu vực nào sẽ nóng

Tuần trước, một sinh viên năm thứ nhất ở Trung Quốc hỏi tôi: “Công nghệ thông tin là lĩnh vực lớn với nhiều miền đặc biệt. Em nên tập trung vào miền nào để khi em tốt nghiệp trong bốn năm nữa kể từ bây giờ, em sẽ có khả năng có việc làm tốt? Nếu em muốn làm việc ở Mĩ hay châu Âu tôi cần làm gì khác nữa?”

Kỹ sư phần mềm Ấn Độ

Tuần trước, tôi đã ở Ấn Độ và đã có cơ hội thảo luận về giáo dục và đào tạo phần mềm với nhiều bạn bè ở đó.

Công nghiệp công nghệ của Ấn Độ

Tuần trước tôi đã ở Ấn Độ để tiến hành nghiên cứu về xu hướng phần mềm toàn cầu.

Phương pháp quản lý dự án mới

Có nhiều nghiên cứu chỉ ra rằng phần lớn các dự án phần mềm thất bại KHÔNG phải bởi vì vấn đề công nghệ mà bởi vấn đề quản lí.

Thay đổi công nghệ

Sự phát triển của công nghệ thông tin trong ba mươi năm qua đã tạo ra thay đổi lớn trong nhiều công ti nhưng cũng đặt ra thách thức khi họ cần đảm bảo rằng người của họ có kĩ năng đúng để chuyển giao sản phẩm và dịch vụ có chất lượng.

Lãnh đạo kỹ thuật

Lãnh đạo kĩ thuật là một kĩ năng KHÔNG được dạy trong đại học. Nó là một trong những kĩ năng bạn phát triển chỉ theo thời gian và kinh nghiệm.

Trường dạy quản lý hệ thông tin

Tôi nhận được một email người gửi viết: “Tôi rất quan tâm tới một chương trình mới có tên là Quản lý hệ thông tin (ISM). Thầy có thể nói thêm cho tôi về nó được không và trường nào là tốt nhất trong lĩnh vực này?”

Chất lượng phần mềm

Tôi nhận được một email hỏi: “Ai chịu trách nhiệm về chất lượng phần mềm? Điều đó phải thuộc về người đảm bảo chất lượng phần mềm bởi vì đó là việc của họ hay thuộc về người kiểm thử, người phải kiểm tra chất lượng? Làm sao tôi đo được chất lượng của sản phẩm phần mềm?”

Tìm việc

Trong thị trường việc làm đầy cạnh tranh ngày nay, tri thức và kĩ năng là quan trọng hơn bao giờ hết.

“Sách xa hoa” trở thành cơn sốt mới: Khi độc giả chi hàng nghìn USD để săn các ấn bản đặc biệt

Những cuốn sách với cạnh in màu, bìa dập nổi, minh họa độc quyền và thiết kế cầu kỳ đang tạo nên một cơn sốt mới trong cộng đồng yêu sách toàn cầu. Từ một thị trường ngách dành cho người sưu tầm, các “special edition” (ấn bản đặc biệt) giờ đây đã trở thành xu hướng bùng nổ, đặc biệt trong dòng sách romance và fantasy.

Thị trường việc làm ngày nay

Blog GS John VU - GS John Vu - 31/05/2026 12:00
Theo tin tức mới nhất, phần lớn các công ti đều tin tưởng về phục hồi kinh tế và bắt đầu thuê người.

Giờ tôi mới phát hiện Google Maps có tính năng chỉ đường hay đến vậy

Kỹ năng - Quốc Vinh - 31/05/2026 11:00
Google Maps không chỉ là xem bản đồ mà có vô vàn các tính năng hữu ích giúp bạn tiết kiệm được thời gian.

Cú điện thoại theo hướng dẫn của ChatGPT và sự nghiệp đổ sập của huyền thoại bóng chày Nhật Bản

Suy ngẫm - Đồng An - 31/05/2026 10:00
Một cuộc cãi vã trong bữa tối, một cú nhấc cổ áo, một câu hỏi gõ vội cho ChatGPT - và 25 năm sự nghiệp của Shinnosuke Abe, huyền thoại đội Yomiuri Giants, kết thúc trong nước mắt giữa buổi họp báo từ chức. Cô con gái 18 tuổi, người đã vô tình kích hoạt chuỗi sự kiện đó, sau này thú nhận: "Người sốc nhất khi cảnh sát đến chính là tôi."

Trào lưu Birdwatching khiến giới trẻ Trung Quốc dõi theo, kéo cả các thương hiệu lớn vào cuộc

Phong cách sống - Yên Yên - 31/05/2026 09:00
Từ một trào lưu 820 triệu lượt xem trên Xiaohongshu, birdwatching (ngắm chim) đang đặt ra câu hỏi thực sự cho các thương hiệu: Làm sao tiếp cận một thế hệ chủ động thoát khỏi vòng lặp nội dung?

“Sách xa hoa” trở thành cơn sốt mới: Khi độc giả chi hàng nghìn USD để săn các ấn bản đặc biệt

Từ sách - Phim - TĐ - 31/05/2026 08:00
Những cuốn sách với cạnh in màu, bìa dập nổi, minh họa độc quyền và thiết kế cầu kỳ đang tạo nên một cơn sốt mới trong cộng đồng yêu sách toàn cầu. Từ một thị trường ngách dành cho người sưu tầm, các “special edition” (ấn bản đặc biệt) giờ đây đã trở thành xu hướng bùng nổ, đặc biệt trong dòng sách romance và fantasy.

Một số sự kiện về cách tiếp cận Agile

Blog GS John VU - GS John Vu - 30/05/2026 12:00
Một sinh viên hỏi tôi: “Nếu Agile là cách tiếp cận tốt để phát triển phần mềm thì tại sao chúng ta phải học cách tiếp cận khác?”

Anthropic ra mắt "trợ lý AI ngành luật", thu hút hơn 20.000 người đăng ký

Kỹ năng - Lại Dịu - 30/05/2026 11:00
Anthropic đang biến Claude thành “trợ lý pháp lý AI” có thể kết nối trực tiếp với các phần mềm luật chuyên dụng, làm nóng thêm cuộc đua AI trong ngành pháp lý.

“Thần kinh doanh” Kazuo Inamori: Nếu không tài năng, cần biết 1 con đường “lợi hại” này để làm giàu

Suy ngẫm - Kim Linh - 30/05/2026 10:00
Theo tỷ phú Nhật Bản Inamori Kazuo, muốn trở thành một người giàu có và thành công cần có sự kiên nhẫn phi thường trong công việc.

Từ chiếc máy tính cũ, nam sinh Bách khoa thắng lớn với “Tiệm phở anh Hai”

Truyền cảm hứng - Mỹ Hà - 30/05/2026 09:00
Từ chiếc máy tính cũ và những dự án trò chơi âm thầm suốt nhiều năm, nam sinh Đại học Bách khoa Hà Nội tạo nên “cơn sốt” với “Tiệm phở anh Hai”, đồng thời thắng lớn hai giải thưởng.

Làm chủ ai -  Sách dành cho người muốn tìm hiểu về trí tuệ nhân tạo

Từ sách - Phim - Thu An - 30/05/2026 08:00
Kể từ khi ChatGPT ra mắt, dường như ngày nào chúng ta cũng nghe nhắc đến AI và cách nó làm thay đổi thế giới xung quanh. Vậy rốt cuộc những công cụ này hoạt động ra sao? Và một người bình thường có thể sử dụng AI như thế nào? Quyển sách này sẽ giúp bạn trả lời những câu hỏi đó.

Hệ thống giáo dục mới

Blog GS John VU - GS John Vu - 29/05/2026 12:00
Tôi để ba tuần giảng dạy ở Trung Quốc.

Lời khuyên cho tất cả những ai hay dùng ChatGPT tìm kiếm thông tin

Kỹ năng - Nhật Hạ - 29/05/2026 11:00
Để tận dụng AI hiệu quả mà vẫn an toàn, người dùng nên lưu ý một số điều dưới đây.

6 cách giúp bạn tăng cường từ trường cá nhân nhanh nhất, càng thực hiện đều may mắn đổ về càng nhiều

Suy ngẫm - Diêu Dương - 29/05/2026 10:00
Muốn gặp người tốt, cơ hội đẹp và chuyện thuận lợi hơn. Hãy bắt đầu bằng việc chỉnh lại từ trường cá nhân của chính mình. Sáu thói quen sau đây dễ làm, chi phí gần như bằng không nhưng hiệu quả thì thấy rõ từng ngày.

Hà Nội, một gia đình chi hơn 2 tỷ đồng làm “nhà di động” xuyên Việt 3-5 lần/năm

Phong cách sống - Mộc Khải - 29/05/2026 09:00
Năm 2022, khi mô hình du lịch bằng "nhà di động" còn khá mới ở Việt Nam, anh Nguyễn Ngọc Thắng (Hà Nội) đã bắt đầu tự cải tạo một chiếc xe 16 chỗ thành “nhà di động” đầu tiên của gia đình.

Không khóc giữa nhân gian

Tủ sách - FN - 29/05/2026 08:00
Đau khổ vốn không trừ một ai, và nó có trăm hình vạn trạng: một sự mất mát, cảm giác cô độc giữa đám đông, hay đơn giản là nỗi thất vọng khi không đạt được thứ mà mình mong chờ. Vậy phải làm sao để ta hết khổ? Đau khổ có thực sự đáng sợ như người ta vẫn nghĩ? Hay chúng ta vẫn có thể nhìn đau khổ dưới một góc độ bao dung hơn?
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS