Thiết kế hệ thống là giai đoạn thiết kế vật lý nhằm chuyển các đặc tả logic của hệ thống (như đặc tả logic về chức năng, về dữ liệu) thành các đặc tả vật lý của hệ thống, có tính tới các yêu cầu và ràng buộc vật lý. Như vậy nếu phân tích hệ thống nhằm mục đích trả lời câu hỏi “Hệ thống làm gì?”, thì thiết kế hệ thống nhằm trả lời câu hỏi “Làm như thế nào?”.
Đầu vào của công việc thiết kế hệ thống bao gồm:
+Các đặc tả logic về hệ thống có được từ giai đoạn phân tích hệ thống. +Các yêu cầu và ràng buộc về các điều kiện vật lý cụ thể,như các tình trạng về phần cứng,phần mềm,các tài nguyên,các dung lượng có thể, các yêu cầu về thời gian thực hiện ….
Đầu ra của công việc thiết kế hệ thống sẽ là các quyết định về: +Một kiến trúc tổng thể của hệ thống.
+Tổ chức vật lý của cơ sở dữ liệu theo các phương án sử dụng (dùng tệp (File) hay dùng hệ quản trị cơ sở dữ liệu)
+Các mẫu thu thập, các tài liệu in ra, các giao diện… +Tổ chức chương trình theo các module.
Ghi chú: Thứ tự trình bày trên đây không nhất thiết là thứ tự thực hiện, vì thực ra các công việc này thường đan xen, níu kéo nhau, không thể thực hiện một cách tuyến tính được
Với đặc thù bài toán nhằm xây dựng một hệ thống hỗ trợ người dùng lập kế hoạch, hệ thống này cũng làm nền tảng để mô phỏng thuật toán lập lịch tự động bằng kỹ thuật CriticalPath, do đó việc thiết kế hệ thống của ta sẽ bao gồm hai phần: Phần thứ nhất sẽ thiết kế hệ thống tổng quát. Phần thứ hai sẽ đi vào thiết kế thuật toán cho chức năng lập lịch tự động.
Chương VI: Thiết kế tổng thể