Tôi thích câu trả lời của William Pietri rất nhiều (+1), nhưng tôi tin rằng nó cần được thêm vào. Ngay cả giả định rằng những gì bạn có ý nghĩa của các hệ thống chỉ bao gồm phần mềm.
Nhưng trước khi đi vào phần thịt của nó, tôi không biết về một cuốn sách để giúp đỡ. Tất cả những gì tiếp theo, tôi học được từ kinh nghiệm (có nghĩa là ba điểm mà William đã thực hiện).
Những gì bạn đang nói về nhịp ở tối thiểu bốn vai trò rộng. Đôi khi một người có thể điền vào tất cả các vai trò đó, cho các dự án vừa và nhỏ, nhưng khi bạn bắt đầu vào các dự án lớn, bạn cần ít nhất tách biệt các vai trò đó ra. Khó có ai có thể trở thành chuyên gia về tất cả chúng theo bất kỳ cách có ý nghĩa nào.
Phân tích kinh doanh
Đó là người nói chuyện với khách hàng và chuyển các yêu cầu của họ thành thứ mà một kiến trúc sư có thể hiểu được. Về cơ bản một danh sách các yêu cầu công thức đúng. Điều này bao gồm các yêu cầu chức năng rõ ràng (hệ thống này phải cung cấp những gì?), Nhưng cũng yêu cầu phi chức năng (các đặc điểm chung mà hệ thống phải đáp ứng là gì? Điều này có thể bao gồm bảo mật, độ tin cậy, tính sẵn sàng, khả năng phục hồi, hiệu suất, hiệu suất, độ bền các yêu cầu khác như vậy từ quan điểm người dùng).
Đây là lần đầu tiên vượt qua những gì hệ thống phải làm, sự khởi đầu của suy nghĩ nghiêm túc.
Kiến trúc hệ thống
Người này sản xuất khung kỹ thuật cấp cao để làm việc. Họ đưa ra kế hoạch phù hợp với phác thảo. Các công cụ chung, kỹ thuật, cấu trúc. Họ chia nhỏ toàn bộ hệ thống thành các thành phần nhỏ hơn, cách chúng phù hợp với nhau, cách chúng phù hợp với thế giới bên ngoài ...
Điều này giúp theo nhiều cách tinh chỉnh những gì cần phải suy nghĩ. Rất thường các vấn đề sẽ được phát hiện ở giai đoạn đó về các yêu cầu được viết bởi nhà phân tích kinh doanh. Quay lại với họ cho một số lần lặp lại để cải thiện sự hiểu biết của họ về những gì họ muốn và biểu hiện của họ về nó.
Thiết kế hệ thống
Vai trò này là về cách làm cho tất cả hoạt động. Đây có thể là công việc nhóm nhiều hơn một chương trình một người đàn ông. Nhưng có khả năng một nhà thiết kế chính sẽ giám sát toàn bộ thiết kế hệ thống. Người này phải đi sâu vào chi tiết và đảm bảo tầm nhìn của kiến trúc sư là thứ thực sự có thể được xây dựng.
Mong đợi tinh chỉnh hơn nữa kiến trúc của hệ thống, và do đó có khả năng phân tích kinh doanh.
Quản lý kiểm tra
Vai trò này rất thường bị lãng quên. Nhưng vào cuối ngày nếu bạn không thể kiểm tra nó, làm thế nào bạn có thể chứng minh rằng bạn có thể xây dựng nó? Phải có đánh giá về kết quả của tất cả các giai đoạn: phân tích kinh doanh, kiến trúc và thiết kế bởi một người có thẩm quyền trong thử nghiệm, người sẽ có thể làm nổi bật các thiếu sót và do đó cho phép sửa chữa sớm, trước khi bất kỳ mã nào được viết.
Đó là một bản tóm tắt ngắn.
Những kẻ / cô gái đó chỉ là người điều hành chung của các nhà máy trong chuỗi để suy nghĩ về những gì phải suy nghĩ.
Đối với các dự án phức tạp như ngân hàng lớn hoặc ứng dụng không gian chỉ cần lấy hai ví dụ (nghĩ nhiều hàng trăm đến hàng nghìn ngày), có nhiều chuyên gia về chủ đề khi chúng tôi gọi họ để xem xét và hỗ trợ các dự án ở mọi giai đoạn. Những vai trò này bao gồm phân tích bảo mật, kích thước hệ thống, năng lực, hiệu suất, cơ sở dữ liệu, phân cụm và nhiều lĩnh vực chuyên môn hẹp khác, bao gồm các lĩnh vực kinh doanh chính xác. Sự đa dạng của các vai trò phụ thuộc vào quy mô và độ phức tạp của các hệ thống.
Tất cả điều đó để nói rằng bạn không nên thử và biết tất cả, bạn sẽ không. Tuy nhiên, bạn có thể nắm bắt được bức tranh tổng thể và trong các dự án nhỏ, bạn có thể đi sâu vào nhiều hơn so với các dự án lớn, đơn giản vì mức độ phức tạp cho phép bạn trở nên tròn trịa hơn.
Nếu bạn muốn biết cách thiết kế hệ thống, thì bạn cần bắt đầu đặt câu hỏi bằng cách suy nghĩ bên ngoài hộp. Đặt mình đủ vào đôi giày của khách hàng và thử và nghĩ xem điều gì có thể sai, điều gì cần thử nghiệm. Sau đó, cùng với một khách hàng thực sự và thúc đẩy họ giải thích các phạm vi và giới hạn của hệ thống mà họ hình dung họ cần. Ngoài ra, bất cứ khi nào tôi nói 'khách hàng', bạn phải hiểu rằng điều này bao gồm một số người rất khác nhau. Có người sử dụng hệ thống hàng ngày cho những gì nó được thiết kế để làm. Có nhà điều hành, hỗ trợ kỹ thuật, người quản lý cần một số báo cáo hoặc người khác, kiểm toán viên, nhóm cơ sở hạ tầng, các bên liên quan đã trả tiền cho nó, người quản lý chất lượng cần phương tiện để kiểm tra hệ thống của bạn ... Hãy hỏi tất cả họ (và nếu họ là một người, yêu cầu họ đặt tất cả những chiếc mũ này cùng một lúc), vì vậy hãy hỏi họ tất cả những gì họ cần và bạn sẽ có một khởi đầu tốt khi biết yêu cầu hệ thống của bạn là gì. Từ đó bạn có thể rút ra kiến trúc, và từ đó thiết kế.
Đối với các hệ thống phức tạp (dù chỉ là phần mềm hoặc tích hợp với phần cứng theo nghĩa chung nhất), không chỉ một người không đủ cho mỗi bốn vai trò tôi liệt kê ở trên, mà bạn cần quản lý dự án ngay cả định nghĩa về hệ thống phải làm, hãy để một mình các giai đoạn khác.
HPH, asm.