Thiết kế hệ thống (system design) được chia thành basic design (hay còn gọi là external design) và detail design (hay còn gọi là internals design). Basic design là bản thiết kết theo nội dung spec đã chốt, còn detail design là bản thiết kế quyết định cách triển khai chương trình hệ thống.

Basic design quyết định các chi tiết về phần giao diện đứng từ góc nhìn của user, bao hồm cách triển khai trên màn hình, cách thức thao tác, data input và output, dựa trên tài liệu định nghĩa yêu cầu. Nó cũng là giai đoạn đặt ra các quy định về bảo mật và quy định vận hành của hệ thống.

Trong khi đó, giai đoạn định nghĩa yêu cầu tập trung vào việc xác định “cần cái gì”, còn basic design sẽ là công đoạn “cụ thể là làm thế nào để hiện thực hoá những nội dung yêu cầu trong spec”. Đây là giai đoạn quan trọng để đảm bảo hệ thống trở nên thân thiện với người dùng, và nó chủ yếu quyết định các nội dung sau:

 

1. Infrastructure, Middleware, and Framework Selection

・Chọn framework và infra phù hợp với yêu cầu, chẳng hạn như xử lý batch và job, push notifications,..

 

2. Screen layout and common functions

  • Common layout như là header, footer
  • Common function như là login, logout, phân quyền

3. Database design (những khía cạnh cơ bản)

・Tạo data model để có thể quản lý data thông qua database

 

4. ER (Entity Relationship Diagram)

・Thiết cơ cấu trúc xử lý giữa data và data hệ thống

 

5. State transition diagram

 

6. System configuration diagram

 

7. Network configuration diagram

 

8. Architecture

 

Dưới đây là basic design của màn hình login dùng trong dự án Supertrans.

 

 

※Giải thích các mục chi tiết trên màn hình login

 

 

※ Giải thích events trên màn hình login

 

 

※ Flow xử lý của màn hình login

 

 

Hội thoại mẫu 

斎藤:以前、要件定義のときにアクセス権についての要望をいくつか出して、それについてご提案もいただきました。今回はもう少しそのあたりの話を詰めていきたいと思います。

Saito: Trước đây tôi đã đưa ra một số yêu cầu về việc phân quyền khi định nghĩa yêu cầu, và các bạn cũng đã đưa ra đề xuất liên quan đến chức năng đó. Lần này tôi muốn bàn sâu hơn về vấn đề đó một chút.

アン:はい。いただいたご要望からすると、アクセス権限は、ユーザが所属する企業や部門、関連する翻訳プロジェクトやドキュメントごとに設定するということでした。

An: Vâng. Theo như yêu cầu của anh, việc phân quyền sẽ được thiết lập theo từng công ty, từng bộ phận mà user trực thuộc, cũng như là dự án và tài liệu dịch thuật liên quan.

斎藤:そうですね。御社より翻訳メモリや用語集のアクセス権限についてもご提案いただきました。

Saito: Đúng thế. Các bạn cũng đã đề xuất cho chúng tôi về quyền truy cập vào bộ nhớ dịch thuật và từ điển chuyên ngành.

カイン:それらに加えて、翻訳プロジェクトの中での役割、例えばPLやサブPL、翻訳者などによっても権限をつけることが可能です。それぞれに割り当てられた権限はユーザがログインするときに判断します。

流れとしては、ログイン画面でユーザがIDとパスワードを入力して、ログインボタンを押下すると、プログラムはその情報を受け取り、データベースに登録されているユーザのリストからIDとパスワードに一致するユーザを検索します。

Khanh: Ngoài ra, chúng tôi cũng có thể thiết lập quyền cho từng vai trò trong dự án dịch thuật, như PL, sub PL, hay translator. Quyền truy cập đã được gán cho mỗi user sẽ được xác định khi user thực hiện login.

Quy trình là, user sẽ nhập ID và password tại màn hình login, khi nhấn button login thì chương trình sẽ tiếp nhận thông tin đó và tìm kiếm user trong list user được đăng ký trong Database với ID và password trùng hợp.

斎藤:事前にユーザー人ひとりの所属先や役割をユーザ登録画面で入力しますが、管理者権限で、登録ユーザのアクセス権限の設定もできますね。それらの情報をデータベースに登録しておいて、ログイン時にチェックするということですね。

Saito: Trước đó, tôi sẽ nhập thông tin về tổ chức và vai trò của từng user tại màn hình đăng ký user, nhưng với quyền admin thì tôi cũng có thể setting phân quyền cho user được đăng ký nhỉ. Và những thông tin đó sẽ được đăng ký vào database trước, khi user thực hiện login thì sẽ thực hiện check/đối chiếu với thông tin đó (thông tin đã lưu trong DB).

カイン:おっしゃる通りです。基本設計書のログイン画面の処理フローにある通り、該当のユーザが見つかった場合は、ログイン成功として、ユーザの情報をセッションに保存し、そのユーザ向けのホーム画面を表示します。見つからなかった場合は、ログイン失敗として、エラーメッセージを表示します。

Khanh: Đúng như anh nói. Theo như mô tả trong flow xử lý màn hình login trong file basic design, trường hợp tìm thấy user tương ứng thì sẽ lưu thông tin user vào session, rồi hiển thị màn hình home dành cho user đó. Nếu không tìm thấy user, thì sẽ hiển thị thông báo lỗi để báo login thất bại.

斎藤:そのユーザ向けの画面というのは、ログインのときにユーザを特定して、表示させるプロジェクトやドキュメントも出し分けるということですか。

Saito: Màn hình dành cho user đó tức là khi user login, chúng ta phải xác định user và hiển thị dự án hoặc tài liệu tương ứng với user đó phải không?

カイン:はい。プロジェクトやドキュメントの出し分け。もさることながら、該当のユーザの役割によって、使える機能も異なりますので、機能を表示したり、非表示にしたりといった切り替えもします。

Khanh: Chính xác. Chúng tôi sẽ phân loại dự án và tài liệu. Không chỉ vậy, tùy thuộc vào vai trò cụ thể của user, chức năng có thể sử dụng cũng sẽ khác nhau bằng cách hiển thị hoặc ẩn hiển thị chức năng đó đi.

斎藤:セッションに保存というのは、どういった目的でするのですか。

Saito: Mục đích lưu vào session là để làm gì?

カイン:ログイン画面以降の画面では、セッションにログイン情報を保持しておいて、画面遷移した場合は、プログラムがセッションにログイン情報があるかどうかをチェックし、あればログインされているものと判断します。ユーザがログアウトボタンを押下すると、このセッション情報は破棄される仕組みなので、その際はログイン画面に遷移します。

Khanh: Ở màn hình sau khi login, chúng tôi sẽ giữ thông tin login vào sesion, khi user thực hiện di chuyển màn hình, hệ thống sẽ check xem thông tin login đó có tồn tại trong sesion hay không, nếu có thì xem như user đó đã được login. Khi user nhấn vào button logout, thông tin session này sẽ bị huỷ bỏ và khi đó sẽ di chuyển về lại màn hình login.

斎藤:はい、承知いたしました。

Saito: OK tôi đã hiểu rồi.

Từ vựng 

  • エンドユーザ:End user - người sử dụng sản phẩm.
  • ジョブ:Job - là một hoặc một nhóm công việc mà máy tính sẽ thực hiện, thường theo lịch trình. Job có thể chạy trên một hoặc nhiều máy chủ. Phía máy chủ tính toán tài nguyên hay thời gian cần thiết cho từng xử lý công việc, điều chỉnh lịch và chạy.
  • バッチ処理:Batch processing - xử lý hàng loạt - là quá trình máy tính xử lý hàng loạt công việc, thường là không ngừng, theo lịch trình và không có sự can thiệp thủ công. Máy tính tự ghi lại các cảnh báo khi có ngoại lệ. Phương thức này thường được áp dụng trong các trường hợp khối lượng dữ liệu lớn, công việc lặp lại,…
  • トリガー:Trigger - là trình kích hoạt để thực thi một chương trình phần mềm. Ví dụ, trong cơ sở dữ liệu, trình kích hoạt là một thủ tục được thực thi khi thêm hoặc bớt bản ghi.
  • 洗い出す:tìm ra, liệt kê
  • プッシュ通知:thông báo đẩy/push
  • 共通機能:chức năng dùng chung
  • 構成図:biểu đồ cấu trúc
  • 関連づける:gán
  • フレームワーク:framework, nền tảng
  • レイアウト:layout, bố cục, sắp xếp
  • ER図:mô hình quan hệ thực thể
  • 且つ: và, AND
  • エラーメッセージ:thông báo lỗi
  • 特定:xác định
  • (〜を)表示する:xử lý cho hiển thị
  • (〜を)非表示する:xử lý không cho hiển thị
  • 切り替え:sự chuyển đổi
  • 保持:lưu
  • 判断:phán đoán
  • 破棄:loại bỏ
  • 仕組み:cơ chế
  • 遷移:di chuyển
  • (改めて詳細の実現に向けて)話を詰める:thảo luận chi tiết thêm …
  • に〜一致する:trùng/khớp với…
  • 〜もさることながら:không chỉ… mà …
  • どういった目的で〜:… nhằm mục đích gì ~