Detail design là gì
Tiếp nối phần trước về Basic Design, phần này tại hạ xin phép được đàm đạo với chư vị về Detail Design. Cách đây đúng 4 năm, giờ này mình đang đứng trên bục thành hôn chấm dứt đời đọc thân và trước đó vài ngày thì nhận được lệnh đi onsite1 dự án triệu đô để xây dựng hệ thống cho nhà mạng viễn thông của Nhật Bản. Đó cũng là dự án đầu tiên trải nghiệm độ xương xẩu của công đoạn BD vs DD là như nào, giờ nghĩ lại vẫn toát mồ hôi hột.Cũng may là 1 thằng oắt con vắt mũi chưa sạch như mình được kèm cặp bởi 2 đại ca lão làng cứng cả tech lẫn JP. Ngồi viết ra mấy dòng này bồi hồi nhớ lại giai đoạn pilot chông gai mà mỗi bản thiết kế 1 màn hình phải bị (được) chỉnh đi chỉnh lại hàng chục lần, và mỗi lần chỉnh là 1 lần nhục. Nhân đây giải thích qua từ pilot vì có thể 1 vài bạn còn chưa biết. Nôm na là làm thử, mục đích là coi tụi dân Nam có mần được trò trống gì không, được thì cho mần chính thức, còn ko thì tập xác định, về nhà chăn trâu Hình như hơi lạc đề Show Đây là bảng phân chia loại tài liệu nào thuộc BD, loại nào DD để mọi người phân biệt. Khi làm dự án thì cũng tuỳ đặc thù mà sẽ có thêm bớt 1 số thứ, nhưng nhìn chung những gì trên đây là đủ để code rồi. Vì đây là bài giới thiệu nên mình chỉ cưỡi ngựa xem hoa chứ không nói quá chi tiết (có viết dài cũng đếu ai thèm đọc) Event List (Action List)Quay lại ví dụ hôm trước trong bài Basic Design, up lại cái màn hình được vẽ ra từ mô tả mình nói vui là hoang đường của enduser :D. Từ đây chúng ta sẽ tạo được document có tên làイベント一覧(danh sách even sự kiện) bao gồm :
Đối với mô tả cho từng even thì phải mô tả chi tiết :
Business Logic ListBusiness logic processTài liệu này sẽ mô tả chi tiết event nào sẽ gọi hàm nào, CRUD lên table nào. Trong mô hình MVC thì BL sẽ có nhiệm vụ trung gian giữa giao diện database. Vậy nên khi tạo tài liệu BL thì phải hình dung được cơ bản nó sẻ xử lý như thế nào, và đối với từng Item trên màn hình dữ liệu sẽ được load từ field thuộc table nào, khi load thì có cần format lại nội dung hay không, hoặc khi update thì để nguyên vậy hay là thêm bớt gì không. Mấy cái đó phải tưởng tượng ra trước rồi vừa làm vừa sửa. Ví dụ minh hoạ BL list, thực tế thì phức tạp hơn như này nhiều. Define Function/Method List(メソッド定義書)Tài liệu này sẽ mô tả cụ thể chi tiếtfunction name,nội hàm. Phần này sẽ tuỳ thuộc vào khách hàng yêu cầu độ chi tiết đến đâu để mình viết cho hợp lý. Có nhiều khách khó tính thì 1 line design = 1 line of code. Nếu bạn bị rơi vào trường hợp này thì xin chúc mừng : bạn sắp trở thành 1 designer vĩ đại Ví dụ UpdateFunction() : Get giá trị từ màn hình vào Object, CheckValidate(), gọi dataUpdate(), xử lý lỗi. Về xử lý lỗi có 2 loại : Log + message. Tuỳ theo lỗi mà có trả message về client, nhưng chắc chắn là phải log lại để control hệ thống. Tốt nhất là nên có thêm 1 tài liệu để tổng hợp message メッセージ一覧 Gồm 3 mục :種類、メッセージID、内容. Processing detail (処理仕様書)Ứng với mỗi chức năng CRUD mà ta sẽ có 1 bản mô tả riêng. Nhìn vào hình bên dưới là ví dụ về chức năng update. Bên trái phần interface sẽ gom giá trị nhập vào từ màn hình, giữa là phần sẽ được gán vào biến khi gọi hàm xử lý, và bên phải chính là table/field database. Viết đến đây hoa mắt chóng mặt, đầu óc quay cuồng, bao ký ức lại ùa về như thuỷ điện xả lũ KếtCác tài liệu cần tạo trong detail design
BrSE cần :
Full Link : https://thinkit.co.jp/free/project/4/4/1.html https://thinkit.co.jp/free/project/4/5/1.html Bài này mình viết dựa vào kinh nghiệm chứ không phải dịch lại, bạn nào khá JP chút nên đọc thêm bài trong link trên sẽ biết thêm được nhiều cái hay của chuyên gia chia sẻ. Trong link dướicác bạn click vào download file excel tài liệu mẫu detaildesign_tigernguyenblog |