Quy trình làm thiết kế cơ bản khi triển khai dự án phát triển phần mềm (Thiết kế cơ bản bước 1)

Như đã hứa trong bài viết trước , hôm nay tôi sẽ viết tổng kết lại quy trình làm thiết kế cơ bản khi triển khai dự án phát triển phần mềm.
Ai đã làm về phần mềm , hoặc đã từng code thì đã từng biết hoặc nghe nói đến mô hình MVC . Và thiết kế cũng dựa trên nguyên lý này làm nền tảng thiết kế. Cụ thể M ( Module ) đại diện cho tầng thiết kế cơ sở dữ liệu database, V (View) đại diện cho tầng giao diện I/F màn hình, cuối cùng C ( Control ) đại diện cho tầng bussiness xử lý logic nghiệp vụ. Thường thì flow làm thiết kế mình đi từ V →M→C, lý do là luôn cần phải có sự review comfirm từ phía endUser . Khách hàng đồng ý mình đưa ý tưởng về style I/F màn hình, flow xử lý rồi mới triển khai tiếp các tầng, các lớp tiếp theo. Tuyệt đối cứ hùng hục làm, cuối cùng khách hàng không đồng ý , hoặc không thích một điểm nào đó ở tầng V thì công sức sửa, hay có thể phải đập đi toàn bộ làm lại, rất tốn cost, và gây stress .
Kinh nghiệm này cũng nên áp dụng cho Phase phát triển code, luôn cần có teamlead review lại source, đảm bảo code đúng theo ý tưởng của thiết kế chi tiết hay không? thực hiện đúng ý đồ của nhà thiết kế hay không?
Ấy là nguyên lý nền tảng khi viết thiết kế.
Tuy nhiên rất nhiều người khi bắt đầu viết, lại quên, hoặc không để ý đến step ban đầu là liệt kê chức năng, nghiệp vụ của hệ thống ( 業務一覧・機能一覧)Theo mình đánh giá bước này quan trọng bởi khi thực hiện viết step này, đảm bảo cho mình thực sự hiểu hệ thống, hiểu ý đồ của khách hàng. Nếu có thiếu, hay mô tả chưa đúng thì khách hàng sẽ feedback lại, mình sẽ sửa đến khi khách hàng gật đầu đồng ý, okie mày làm tiếp đi, thì đến lúc đó mới áp dụng mô hình MVC để làm thiết kế như trên.
Và đừng có quên là phải thống nhất được template khi viết thiết kế, bởi công ty nhật là những ông trùm sử dụng excel, nên mỗi công ty có thể sử dụng riêng template để làm thiết kế. Mình thì hay dùng template bên dưới

Ưu điểm của template này là nó bóc tách được các phân lớp chức năng nhỏ của hệ thống, giúp mình vừa dễ viết, và estimate sau này.
Khi nhìn vào cột 業務 bạn sẽ thấy được chia thành 3 phân lớp nhỏ LV1, LV2, LV3. Và từng ID chức năng sẽ được sắp xếp vào từng phân lớp nhỏ ( tùy vào hệ thống sẽ thêm hoặc bớt số phân lớp). Tiếp theo trong template có các cột thông tin cho phần mô tả nghiệp vụ ( tên nghiệp vụ , nội dung nghiệp vụ, bộ phận sử dụng màn hình này, điều kiện , và giới hạn tác vụ ).Mình sẽ dựa vào nội dung được mô tả trong file (概要定義) để mô tả cho màn hình, hay chức năng đó. Tiếp theo đến phần mô tả tính năng cho một màn hình, phần này sẽ dựa trên kinh nghiệm của người đã triển khai phase phát triển phần mềm. Nội dung viết sát kỹ thuật, gần phía tư duy của đội phát triển ( Developer ), ví dụ khi viết cho màn hình đăng nhập, ta phải lưu ý đến xử lý cookies, session, api,…cách mã hóa password như thế nào.Đây là tiền đề để sau này mình dựa vào đó để viết tài liệu mô tả màn hình xử lý nghiệp vụ.
Template này có ở phần dưới bài viết, ae nào muốn sử dụng thì tham khảo nhé.
【xxxxxxxシステム】業務一覧・機能一覧

No comments:

Post a Comment

The Ultimate XP Project

  (Bài chia sẻ của tác giả  Ryo Amano ) Trong  bài viết  số này, tôi muốn viết về dự án phát triển phần mềm có áp dụng nguyên tắc phát triển...